Skip to content

Make and publish extensions.

License

Notifications You must be signed in to change notification settings

annaesvensson/yellow-publish

Repository files navigation

Deutsch   English   Svenska

Publish 0.9.5

Make and publish extensions.

Screenshot

How to install an extension

Download ZIP file and copy it into your system/extensions folder. Learn more about extensions.

How to make an extension

Start with an experimental extension for developers. It's best to have a look at the source code of some extensions in your system/workers folder. Make yourself familiar with our coding and documentation standards. Then you can dive into any extension and find a well-known structure in which you can quickly find your way around. For sophisticated extensions there's an API for developers. Typically an extension consists of the code and additional files. The extension settings are stored in file extension.ini. The extension settings contain information about all files that need to be installed. Did you make an extension? Create a repository and upload your files to GitHub.

How to announce an extension

Tell others about your extension and make an announcement. This is a great way to get feedback, to experiment with features and improve your extension. Most extensions start as experimental. Over time you get a better understanding of what people need and can improve experimental extensions. Good technology is made for people. Review your extension from the perspective of the user. Imagine what the user wants to do and what would make life easier. Focus on people and their everyday lives. Not on technical details and lots of features.

If you want others to discover your extension, add the topic datenstrom-yellow to your repository.

How to publish an extension

You can publish your extension at the command line. Increase the version number in your source code. You can choose between different status values, to control how to make your extension available. Make sure you have completed the self-review checklist before making your extension available to everyone. Are you ready to publish your extension? Open a terminal window. Go to your installation folder, where the file yellow.php is. Type php yellow.php publish all. You can optionally add the name of a folder. This will update the necessary files. Upload your changes to GitHub and create a pull request for the repository datenstrom/yellow.

If you want to mention developers/designers/translators, add co-authors to the commit message.

Examples

Extension settings for a feature:

# Datenstrom Yellow extension settings

Extension: Helloworld
Version: 0.9.1
Description: Experimental extension for Datenstrom Yellow developers.
Developer: Steffen Schultz
Tag: example, feature
DownloadUrl: https://github.com/schulle4u/yellow-helloworld/archive/refs/heads/main.zip
DocumentationUrl: https://github.com/schulle4u/yellow-helloworld
Published: 2024-04-05 10:35:30
Status: experimental
system/workers/helloworld.php: helloworld.php, create, update
system/workers/helloworld.js: helloworld.js, create, update
system/workers/helloworld.css: helloworld.css, create, update

Extension settings for a language:

# Datenstrom Yellow extension settings

Extension: English
Version: 0.9.1
Description: English language.
Translator: Mark Seuffert
Tag: language
DownloadUrl: https://github.com/annaesvensson/yellow-language/raw/main/downloads/english.zip
DocumentationUrl: https://github.com/annaesvensson/yellow-language/tree/main/translations/english
Published: 2024-04-04 15:20:39
Status: available
system/workers/english.php: english.php, create, update

Extension settings for a theme:

# Datenstrom Yellow extension settings

Extension: Stockholm
Version: 0.9.1
Description: Stockholm is a clean theme.
Designer: Anna Svensson
Tag: default, theme
DownloadUrl: https://github.com/annaesvensson/yellow-stockholm/archive/refs/heads/main.zip
DocumentationUrl: https://github.com/annaesvensson/yellow-stockholm
DocumentationLanguage: en, de, sv
Published: 2024-04-04 15:00:52
Status: available
system/workers/stockholm.php: stockholm.php, create, update
system/themes/stockholm.css: stockholm.css, create, update, careful
system/themes/stockholm.png: stockholm.png, create
system/themes/stockholm-opensans-bold.woff: stockholm-opensans-bold.woff, create, update, careful
system/themes/stockholm-opensans-light.woff: stockholm-opensans-light.woff, create, update, careful
system/themes/stockholm-opensans-regular.woff: stockholm-opensans-regular.woff, create, update, careful

Showing available folders at the command line:

php yellow.php publish

Publishing all folders at the command line:

php yellow.php publish all

Publishing extensions at the command line:

php yellow.php publish yellow-language
php yellow.php publish yellow-stockholm

Settings

The following settings can be configured in file system/extensions/yellow-system.ini:

PublishSourceDirectory = directory with source code

The following settings can be configured in file extension.ini:

Extension = extension name
Version = extension version number
Description = extension description, one line maximum
Developer = responsible developer(s) of a feature, comma separated
Designer = responsible designer(s) of a theme, comma separated
Translator = responsible translator(s) of a language, comma separated
Tag = extension tag(s) for categorisation, comma separated
DownloadUrl = extension download address
DocumentationUrl = extension documentation
DocumentationLanguage = extension documentation language(s), comma separated
Published = extension publication date, YYYY-MM-DD format
Status = extension status, supported status values

The following extension status values are supported:

experimental = extension is still experimental, use at your own risk
unmaintained = extension is no longer maintained, use at your own risk
unassembled = extension is assembled by toolchain, use when needed
available = extension is available to everyone and shown on the official website

The following file actions are supported:

create = create file if not exists
update = overwrite file if exists
delete = delete file if exists
optional = only for first installation
additional = only after first installation
careful = only if not modified
compress = make ZIP file from specified directory
multi-language = use content file from corresponding directory

The update settings can be found in file system/extensions/update-available.ini.

Developer

Anna Svensson. Get help.

About

Make and publish extensions.

Topics

Resources

License

Security policy

Stars

Watchers

Forks

Languages