A curated list of Textpattern CMS themes listed in the Textpattern themes website.
Each theme has a JSON-formatted 'library card', located within the library-of-themes
directory of this repository.
The Textpattern themes website digests the information for each card to provide the relevant details of the theme. Each card expects a set of required entries plus any optional entries as appropriate. It is recommended that you complete as many fields as possible in the JSON file, as this helps provide the most information to users within the Textpattern themes site and assists with ongoing maintenance.
{
"name": "example",
"repositories": [
{
"repoType": "homepage",
"repoUrl": "https://example.com/example-theme/"
},
{
"repoType": "github",
"repoUrl": "https://github.com/exampleuser/example-theme"
},
{
"repoType": "bitbucket",
"repoUrl": "https://bitbucket.org/exampleuser/example-theme"
},
{
"repoType": "gitlab",
"repoUrl": "https://gitlab.com/exampleuser/example-theme"
}
],
"version": "2.2.0",
"datePublished": "2020-09-04",
"downloadUrl": "https://example.com/example-theme/download.zip",
"demoUrl": "https://example.com/example-theme/demo/",
"require": {
"abc_example1": ">=2.0.0",
"abc_example2": "1.5.1"
}
}
A JSON template is provided as a useful starting point.
name
:
The name of the theme.version
:
Latest theme version number insemver
format (e.g.1.3.8
).downloadUrl
:
A URL endpoint to download the latest theme version’s source code (in.zip
format).
This is the minimum that is required in each JSON file:
{
"name": "example",
"version": "2.2.0",
"downloadUrl": "https://example.com/example-theme/download.zip"
}
repositories
:
One or more code repositories where the the project is maintained. For each entry, arepoType
andrepoUrl
must be provided. ForrepoType
expected values are eitherhomepage
(i.e. page on an author's website specifically about the plugin),github
,bitbucket
orgitlab
.datePublished
:
Release date (in ISO 8601yyyy-mm-dd
format) of latest theme version.require
:
If this theme requires one or more specific plugins to be installed in order to work, state the plugins and version requirements.
You can run a linter over the JSON files to check validity as follows (requires Node.js):
$ cd textpattern-curated-themes-list
$ npm install
$ npm run jsonlint
Licensed under MIT license.