|
|
(79 intermediate revisions by 4 users not shown) |
Line 1: |
Line 1: |
− | = How Do I File a New Bug? =
| + | #REDIRECT [[Newbie_Guide:_How_to_Patch_Styles_and_Themes]] |
− | | + | |
− | * In Bugzilla, click on New. Select Dreamwidth Development. In Component, select Style System. Enter a Summary and a Description. Mention style and theme names in the summary if needed. If you're adding a style or a color theme, indicate style name, theme name(s), the name of the author and the Dreamscapes submission URL in the description.
| + | |
− | | + | |
− | * Click on Show Advanced Fields. Set Initial State to ASSIGNED and enter your Bugzilla e-mail address in Assign To.
| + | |
− | | + | |
− | | + | |
− | = Where Are Style Files? =
| + | |
− | | + | |
− | * core2.s2 is in <code>~/dw/cs/dw-free/bin/upgrading/s2layers/</code>
| + | |
− | | + | |
− | * Theme and layout .s2 files are in <code>~/dw/cs/dw-free/bin/upgrading/s2layers/LAYERNAME/</code> or <code>~/dw/cs/dw-nonfree/bin/upgrading/s2layers/LAYERNAME/</code>
| + | |
− | | + | |
− | * .pm layout files are in <code>~/dw/cvs/dw-free/cgi-bin/LJ/S2Theme/</code> or <code>~/dw/cs/dw-nonfree/bin/upgrading/s2layers/LAYERNAME/</code>
| + | |
− | | + | |
− | * S2Theme.pm is in <code>~/dw/cvs/dw-free/cgi-bin/LJ/</code>
| + | |
− | | + | |
− | * S2Theme_local.pm is in <code>~/dw/cvs/dw-nonfree/cgi-bin/LJ/</code>
| + | |
− | | + | |
− | * s2layers.dat is in <code>~/dw/cs/dw-free/bin/upgrading/</code>
| + | |
− | | + | |
− | * s2layers-local.dat is in <code>~/dw/cs/dw-nonfree/bin/upgrading/</code>
| + | |
− | | + | |
− | | + | |
− | = Adding a New Style =
| + | |
− | | + | |
− | == Edit s2layers.dat ==
| + | |
− | | + | |
− | * If this is a new Core2 layout, add:
| + | |
− | <syntaxhighlight lang="perl">layoutname/layout layout core2
| + | |
− | layoutname/themes theme+ layoutname/layout</syntaxhighlight>
| + | |
− | | + | |
− | * If this is a child of Tabula Rasa, add:
| + | |
− | <syntaxhighlight lang="perl">layoutname/layout layout(core2base/layout) core2
| + | |
− | layoutname/themes theme+ layoutname/layout</syntaxhighlight>
| + | |
− | | + | |
− | | + | |
− | == Edit S2Theme.pm ==
| + | |
− | | + | |
− | * Scroll down to <code>%default_themes</code> and add the layout and default theme:
| + | |
− | <syntaxhighlight lang="perl">layoutname => 'layoutname/defaulttheme',</syntaxhighlight>
| + | |
− | | + | |
− | | + | |
− | == Create LAYOUTNAME.pm ==
| + | |
− | | + | |
− | * Create LAYOUTNAME.pm in <code>~/dw/cvs/dw-free/cgi-bin/LJ/S2Theme/</code>.
| + | |
− | | + | |
− | * Add:
| + | |
− | <syntaxhighlight lang="perl">package LJ::S2Theme::layoutname;
| + | |
− | use base qw( LJ::S2Theme );
| + | |
− | | + | |
− | sub layouts { ( "1" => "one-column", "2l" => "two-columns-left", "2r" => "two-columns-right", "3" => "three-columns-sides", "3r" => "three-columns-right", "3l" => "three-columns-left" ) }
| + | |
− | sub layout_prop { "layout_type" }
| + | |
− | | + | |
− | sub designer { "name" }
| + | |
− | | + | |
− | 1;</syntaxhighlight>
| + | |
− | | + | |
− | Remove display options that don't apply to the layout, of course.
| + | |
− | | + | |
− | | + | |
− | == Create the LAYOUTNAME directory ==
| + | |
− | | + | |
− | * Create a directory with the name of the layout in <code>~/dw/cs/dw-free/bin/upgrading/s2layers/</code> or <code>~/dw/cs/dw-nonfree/bin/upgrading/s2layers/</code>.
| + | |
− | | + | |
− | | + | |
− | == Create layout.s2 ==
| + | |
− | | + | |
− | * In the directory you've created, create a file named <code>layout.s2</code>.
| + | |
− | <syntaxhighlight lang="perl">layerinfo type = "layout";
| + | |
− | layerinfo name = "layoutname";
| + | |
− | layerinfo redist_uniq = "layoutname/layout";
| + | |
− | layerinfo author_name = "someuser";
| + | |
− | layerinfo lang = "en";
| + | |
− | | + | |
− | set layout_authors = [ { "name" => "someuser", "type" => "user" } ];</syntaxhighlight>
| + | |
− | | + | |
− | * Add the layout code.
| + | |
− | | + | |
− | * If the layout has custom properties, they should be sorted into existing groups (presentation, colors, fonts, images, modules, text, other) by appending <code>_child</code> to the group name. For example:
| + | |
− | | + | |
− | <syntaxhighlight lang="perl">propgroup images_child
| + | |
− | property string image_module_list { des = "Module list image"; }</syntaxhighlight>
| + | |
− | | + | |
− | | + | |
− | == Create themes.s2 ==
| + | |
− | | + | |
− | * In the directory you've created, create a file named <code>themes.s2</code>.
| + | |
− | | + | |
− | * Follow the steps outlined in [[#Adding a New Color Theme|the next section]].
| + | |
− | | + | |
− | | + | |
− | = Adding a New Color Theme =
| + | |
− | | + | |
− | | + | |
− | == Edit themes.s2 ==
| + | |
− | | + | |
− | * Make sure the color theme has the right header. As Afuna explained [http://dw-dev-training.dreamwidth.org/9656.html here] in <dwcomm>dw_dev_training</dwcomm>, it should look like this:
| + | |
− | <syntaxhighlight lang="perl">#NEWLAYER: layoutname/themename
| + | |
− | layerinfo type = "theme";
| + | |
− | layerinfo name = "Theme Name";
| + | |
− | layerinfo redist_uniq = "layoutname/themename";
| + | |
− | layerinfo author_name = "someuser";</syntaxhighlight>
| + | |
− | | + | |
− | * If the color theme author is not the style author, add this this line below, separated by a blank line:
| + | |
− | <syntaxhighlight lang="perl">set layout_authors = [ { "name" => "someuser", "type" => "user" } ];</syntaxhighlight>
| + | |
− | | + | |
− | * If the theme has any images, name them like this: <code>themename_imagename.xxx</code>. Keep the image name used in other themes if there are any. If they're generic images used in other themes, simply use <code>imagename.xxx</code>. In the theme, use <code>layoutname/themename_imagename.xxx</code> or <code>layoutname/imagename.xxx</code> for the URLs.
| + | |
− | | + | |
− | * If you need to add theme-specific CSS, use:
| + | |
− | <syntaxhighlight lang="perl">function Page::print_theme_stylesheet() {
| + | |
− | """
| + | |
− | CSS HERE
| + | |
− | """;
| + | |
− | }</syntaxhighlight>
| + | |
− | | + | |
− | * Make sure to add the theme code in the right place (themes should be alphabetically sorted).
| + | |
− | | + | |
− | | + | |
− | == Edit LAYOUTNAME.pm ==
| + | |
− | | + | |
− | You must include the theme into the general layout file. Otherwise, people wouldn't be able to select it at Customize.
| + | |
− | | + | |
− | * Find the correct place in the file so that themes stay alphabetically sorted.
| + | |
− | | + | |
− | * Add the following code:
| + | |
− | <syntaxhighlight lang="perl">package LJ::S2Theme::layoutname::themename;
| + | |
− | use base qw( LJ::S2Theme::layoutname );
| + | |
− | sub cats { qw() }</syntaxhighlight>
| + | |
− | | + | |
− | * If the color theme author is not the style author, add this line:
| + | |
− | <syntaxhighlight lang="perl">sub designer { "someuser" }</syntaxhighlight>
| + | |
− | | + | |
− | | + | |
− | = On PuTTY =
| + | |
− | | + | |
− | * Type <code>hg addremove</code> if this patch adds or delete files then <code>hg refresh</code>.
| + | |
− | | + | |
− | | + | |
− | = On your Dreamhack =
| + | |
− | | + | |
− | * Test, test and test. Make sure styles/themes are correctly listed in Customize and that names are correct. Make sure you can select the layouts working with your style. Make sure you can customize your style. On your test account, check general colors and link colors for themes. For styles, make sure all types of layouts, all pages, all sorts of entries and comments display correctly and display correctly in various screen resolutions and font sizes. Also make sure community journals look fine.
| + | |
− | | + | |
− | * Make preview pictures if you can. Their size is 150x114 pixels. You may need to add/edit/remove entries, add/edit/remove modules, change screen resolution and font size so that your screen cap can be resized to this exact size.
| + | |
− | | + | |
− | | + | |
− | = On Bugzilla =
| + | |
− | | + | |
− | * Don't forget to zip images and attach them to your bug if there are any. Also set them to review ? and commit ?
| + | |
− | | + | |
− | * If you can't do the preview pictures mention it so that someone can do them for you.
| + | |
− | | + | |
− | [[Category:Development]]
| + | |
− | [[Category:Styles]]
| + | |
− | [[Category:Getting Started]] | + | |