Hubzilla:Extending a Theme
Most themes so far are derived from the 'redbasic' theme - they take its basic properties and skin it, basically. The redbasic theme is defined in the core repository, under view/theme/redbasic, so you can get a feel for what it contains there.
Getting Started
- You will need to be a little bit familiar with git. See the Git Primer for more details.
- You should also be a little familiar with php. You do not need to be a programmer, but just be able to avoid running screaming into the night at the sight of a few lines of code.
- You probably will want an installed copy of Hubzilla to test your theme on.
Setting up your theme
First, create a folder with your theme's name (all the existing themes have lowercase names, but I'm not sure if that is a requirement or not). You'll need to create a php folder inside this folder, and a new php file named theme.php
. You will want this file to look something like this:
<?php
/**
* * Name: Demitas Test
* * Description: A test theme so I can make sure I'm not giving crap instructions. :)
* * Version: 1.0
* * MinVersion: 2.3.1
* * MaxVersion: 4.0
* * Author: demitas
* * Compat: Hubzilla [*]
*/
function demitas_test_init(&$a) {
App::$theme_info['extends'] = 'redbasic';
}
Replace the name, description, and author fields with your own info, and rename the function so it's [your project folder name]_init
.
You might also want to change these if you know they are different:
- Version: The version your theme is at - probably 1.0 at this point
- MinVersion: This is the minimum version of Hubzilla that your theme will be compatible with
- MaxVersion: This is the maximum version of Hubzilla that your theme will be compatible with.
To be continued...