Download the PHP package studioespresso/craft-standard-site without Composer

On this page you can find all versions of the php package studioespresso/craft-standard-site. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package craft-standard-site

Standard.site for Craft CMS

Publish your Craft CMS content to the AT Protocol using the Standard.site lexicons.

Screenshot

TL;DR — This plugin puts your Craft CMS articles on AT Protocol (the network behind Bluesky). Your content gets its own place on the decentralized web, discoverable by readers like Frontpage and any future app that speaks AT Protocol. Think of it as RSS for a new, open internet — except your content lives on infrastructure you control, tied to an identity you own.

What is AT Protocol?

The AT Protocol is the decentralized social networking protocol behind Bluesky. Unlike traditional platforms, your content lives on your own Personal Data Server (PDS) and your identity is portable through decentralized identifiers (DIDs). Applications are built on open, shared schemas called lexicons — meaning your data isn't locked into any single platform.

What is standard.site?

standard.site defines a set of lexicons that extend AT Protocol for long-form website content. It introduces two main record types:

These lexicons bridge traditional websites with the decentralized AT Protocol ecosystem, making your content discoverable by AT Protocol readers and applications.

What does this plugin do?

This plugin connects your Craft CMS site to AT Protocol through the standard.site lexicons. It:

Why use it?

Requirements

Installation

You can install this plugin from the Plugin Store or with Composer.

From the Plugin Store

Go to the Plugin Store in your project's Control Panel and search for "Standard.site". Then press "Install".

With Composer

Setup

The plugin separates configuration into two parts: plugin settings (stored in project config, configured in development) and the CP section page (writes to the database, works on production with allowAdminChanges = false).

Plugin Settings (development)

These are configured in Settings > Plugins > Standard.site and deploy with your project config:

  1. AT Protocol Handle — Your handle for each site (e.g. yourname.bsky.social or your custom domain)
  2. Publication Name & Description — How your publication appears on AT Protocol
  3. Enabled Sections — Which sections should be synced
  4. Field Mappings — Per section, which field to use for content and cover image (or auto-detect)
  5. Publish on Save — Toggle automatic syncing when entries are saved

CP Section Page (production)

These actions happen on the Standard.site page in the CP sidebar and work regardless of allowAdminChanges:

  1. Connect to AT Protocol — Authenticates with your PDS via OAuth 2.1. Connection data (tokens, DID, PDS URL) is stored in the database, not project config.
  2. Create Publication Record — Pushes a site.standard.publication record to your PDS. This must be done on each environment separately since it registers your site with your PDS.

The typical workflow is: configure everything in development via plugin settings, deploy to production, then connect and create the publication record on production.

Multi-site

All settings are per-site. Each site can have its own AT Protocol handle, publication record, enabled sections, and field mappings. Use the site switcher in the breadcrumbs (CP section page) or the site selector buttons (settings page) to switch between sites.

The OAuth connection is shared across sites (one AT Protocol identity per installation).

Publishing entries

Automatic

With Publish on Save enabled, entries in enabled sections are automatically synced to your PDS when saved. Edited entries update the existing record; deleted entries are removed from the PDS.

Manual

Each entry in an enabled section shows a Standard.site widget in the sidebar with:

Well-known endpoint

The plugin registers a /.well-known/site.standard.publication route that returns the publication AT-URI for the current site. This is a dynamic route — no file is written to disk.

Console commands

Backfill

Sync all existing published entries in enabled sections to AT Protocol:

For example:

Run the command once per site if you have multiple sites configured.

Debug

Preview the site.standard.document record that would be generated for an entry, without pushing anything to AT Protocol:

Outputs the full document record as formatted JSON. Cover images show asset metadata instead of uploading.

Content extraction

Every Craft site is different — content might live in a top-level CKEditor field, inside Matrix blocks, or be assembled from multiple fields. The plugin handles this in two layers:

Field selector (simple)

In plugin settings, you can select which field to use for content and cover image per section. This works well when your content lives in a single top-level field.

Event (advanced)

For complex field layouts, the DocumentTransformer::EVENT_TRANSFORM_DOCUMENT event lets you take full control of what content gets published. The event fires after the built-in extraction, passing the entry and the extracted values. Your listener can override any of them.

Available properties on the event:

Property Type Description
entry Entry The entry being transformed (read-only)
textContent ?string Plain text content (HTML stripped)
htmlContent ?string Rich HTML content
description ?string Short description / excerpt
tags ?array Array of tag strings
coverImage ?array Cover image blob reference

If you don't set a property, the plugin's built-in extraction (field selector or auto-detect) is used.

Content format

Each document record includes:

The content type is configurable via the contentType property in site settings.


Credits

This plugin was inspired by ATmosphere, the AT Protocol plugin for WordPress by Automattic.

Built with Claude Code.


All versions of craft-standard-site with dependencies

PHP Build Version
Package Version
Requires php Version >=8.4
craftcms/cms Version ^5.9.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package studioespresso/craft-standard-site contains the following files

Loading the files please wait ...