Templates
Creating and Publishing a Theme for Minniark
Minniark is a lightweight and customizable platform that supports theming. By creating your own theme, you can completely control the look and feel of your site or application. This guide walks you through the steps required to build and publish a Minniark-compatible theme that others can install and update using Composer.
You find a detailed filestructure here https://dev.minniark.app/templates/file-structure
Theme Metadata
Every theme must include a theme.json
file that defines basic metadata. This metadata is used by Minniark to identify and display available themes. The file should contain fields like:
{
"name": "mytheme",
"version": "1.0",
"author": "Your Name",
"url": "https://yourdomain.com"
}
Alternatively, the file can be formatted as a JSON array containing a single object. Both formats are supported by Minniark's theme engine.
In addition to the metadata, include a image.png file (300x200 px) that serves as a visual preview for the theme in the Minniark dashboard.
Create a Composer Package
To make your theme installable and updatable via Minniark, it must be packaged using Composer. This means including a composer.json
file that defines the package name, dependencies, and author information.
Here’s a sample composer.json
:
{
"name": "yourvendor/mytheme",
"type": "project",
"description": "A custom theme for Minniark",
"license": "MIT",
"authors": [
{
"name": "Your Name",
"email": "your@email.com",
"homepage": "https://yourdomain.com"
}
],
"require": {
"minniark/minniark": "^2025.7.0"
}
}
The "name"
field is important: Minniark will convert it into a folder name by replacing slashes (/) with underscores (_), so yourvendor/mytheme
becomes yourvendor_mytheme
.
Publish on GitHub
Push your theme to a public GitHub repository. Once committed, tag a release version that follows semantic versioning (e.g., v1.0.0). This is required for Packagist to recognize your package version.
git tag v1.0.0
git push origin v1.0.0
Submit to Packagist
Go to https://packagist.org/packages/submit and submit the URL of your GitHub repository. Packagist will read your composer.json and register the theme.
After submission, your theme becomes available to all Minniark users and can be discovered through the dashboard or updated automatically if you release new versions.
Updating Your Theme
To release updates, simply tag a new version in your Git repository (e.g., v1.1.0). Minniark will detect new versions via Packagist and notify users if an update is available.
- Next
- File Structure