Crowdsourcing an index of all available Genesis child themes.
The purpose is to gather a list of all themes, and their feature attributes, which can then be used as a datasource for those wanting to create a filterable showcase. Since the data comes from (or on behalf of) the theme authors, it should be more accurate and up to date.
Once there are enough individual datafiles, I'll find a way to automatically concatenate them into a single file.
- Each theme has it's own file inside the
themes
directory. - Each file is named in the format of
{vendor-name}_{theme-name}.json
e.g.studiopress_parallax-pro.json
. - Populate the properties as required. Check with JSONLint that your file is valid JSON.
Here's an example file:
{
"name": "Incipio",
"author": "Gary Jones, Gamajo Tech",
"purchaseUrl": "http://shop.example.com/incipio/",
"demoUrl": "http://demo.example.com/incipio/",
"free": false,
"html5": true,
"responsive": true,
"mobileMenu": true,
"layouts": 6,
"accessibilityReady": false,
"customBackground": true,
"customColors": false,
"editorStyle": true,
"featuredImageHeader": true,
"grunt": true,
"parallax": false,
"postFormats": [
"aside",
"gallery"
],
"psds": false,
"rtlLanguageSupport": true,
"starter": true,
"translationReady": true,
"browsersSupported": {
"IE": 8,
"Chrome": 22,
"Safari": 6,
"Firefox": 12
},
"pluginsSupported": [
"WooCommerce",
"bbPress",
"Simple Social Icons"
]
}
Name of the theme. Required
Name of the individual or company who is credited as the author of the theme. Required
The URL of the page where the theme can be purchased from, or in the case of being free, downloaded from. Required
The URL where a live demo of the theme can be found.
true
if the theme is free, false
if a premium theme.
true
if the theme supports HTML5, false
if it outputs XHTML instead.
true
if the theme displays well at various screen sizes, false
if it is fixed width.
true
if the theme displays a mobile-specific menu at small screen sizes, false
if it doesn't.
The number of layouts the theme supports (Genesis default is 6 but child theme may register or register others).
true
if the theme meets all of the guidelines at http://make.wordpress.org/themes/guidelines/guidelines-accessibility/, false
if not.
true
if the theme supports the WordPress custom background feature, false
if it doesn't.
true
if the theme allows a user to choose custom colors via an interface, false
if it doesn't.
true
if the theme includes styles for the post editor that match the front-end, false
if it doesn't.
true
if the theme displays a featured image as a header, false
if it doesn't.
true
if the theme includes support for grunt to allow development tasks to be automated, false
if it doesn't.
true
if the theme design includes a parallax feature, false
if it doesn't.
List of post formats the theme supports, false
if it doesn't support any.
"postFormats": [
"aside",
"gallery"
],
or
"postFormats": false,
true
if the theme includes PhotoShop (PSD) files of the original design, false
if it doesn't.
true
if the theme includes right-to-left (RTL) style sheets, false
if it doesn't.
true
if the theme author considers this theme to be a starter theme, false
if not.
true
if the theme has all strings internationalised, loads a child theme text domain, and includes a .pot file, false
if it doesn't.
Key-value pairs of browser names and their minimum supported versions. Browsers currently recognised are Chrome, Firefox, IE, Opera and Safari.
List of plugins names that the theme explicitly includes styles for, false if none.
"pluginsSupported": [
"Gravity Forms",
"Simple Social Icons"
]
or
"pluginsSupported": false
- Fork this project.
- Edit your fork to create new theme data files in the
theme/
directory. You can use the empty data file as a starting template. - Ensure your files are named as
{vendor-name}
_{theme_name}
.json - Commit (and push back to your GitHub repo if editing locally).
- Submit a pull request.
Please do separate commits for each theme file. Multiple themes files can be sent in one pull request.
In the future, I may accept screenshots as well.
The project includes grunt support for checking the validity of your theme data file if you clone this repo locally.
- Open terminal and navigate to your repo.
- Type
npm install
. - Type
grunt
.
That will check the validity of all of the theme data files, including the one(s) you've just added.
If your theme gets retired and is no longer available, then submit a pull requests which deletes the respective theme file.
As mentioned, the intent of this project is to collect data for each available Genesis child theme, into one central location. That data can then be used, by anyone who wants it, without having to go and do their own research for hours and hours. They could:
- import it into posts or custom post types in their own site and create a review of each one, with affiliate links
- create a simple interface interface to help themselves or someone else filter down the best theme for a particular project.
- collect some interesting statistics about the state of the Genesis child theme ecosystem, and potentially use that to influence their own theme-building decisions.
Yes, to some extent:
- GenesisThemes.ca 316 entries, but some are pro packs of themes, or plugins, and at least one links to a dead end so not all entries are available themes. Very good list of features, all filterable, though things like "Developer License" and "Genesis Theme Options" are redundant.
- Genesis Themes Guide - 70 themes, no filters, without finding a theme that has the feature you're looking for and clicking the taxonomy term link. Doesn't include all features (Winning Agent has one feature, one category).
- Genesis Designr - 76 themes, only HTML5. Some filters avaible, but limited.
- Genesis StudioPress Themes - 220+ themes, some filters, but mostly for categories and authors, not features.
I'd like to work with the creators of these sites in two ways - to have them help establish the "standard" (schema) by which themes can be indexed, and then to find a way to have this data power their sites, for the benefit of everyone.
Built by Gary Jones, inspired by remy's work on mit-license.