Styles and Themes Checklist

= Patch Check List =

General Coding Standards on Dreamwidth:

-- Usage rights (resource credits, credits in HTML or CSS comments, dw-free or nonfree)

-- No tabs

-- No trailing spaces

Styles (general):

-- Always set layout_authors

-- Tabula Rasa child whenever possible

-- Supports all column modes whenever possible and at least one one-column

-- Supports all options from Tabula Rasa

-- Custom props sorted into existing propgroups using _child

-- Custom props also sorted into existing /customize cats in the style.pm file.

-- Custom props follow naming standards

-- Check everything, everywhere. In particular don't forget:
 * non-default column modes
 * modules in every available position
 * community accounts
 * unusually short or long elements
 * subjects
 * Maxed-out subject length, very short subject, no subject
 * tags
 * Very long tags, lots of short tags, no tags
 * titles
 * entries
 * Especially one-line entries
 * comments
 * usernames
 * "mytwentyfivecharactername" is 25 characters
 * userpic stuff
 * no userpic
 * non-square userpics
 * smaller userpics
 * transparent element userpics
 * collapsed comments
 * bottomcomment area
 * reply page
 * quick reply
 * icon page
 * pagination links
 * reading
 * archive
 * comments
 * icon page
 * contextual pop-ups
 * navigation strip
 * page text
 * sometimes only visible when there are no entries on the reading page

Themes (general):

-- Alphabetized themes

-- Two blank lines between each theme

-- theme_authors if theme author is NOT style author. Otherwise no.

-- Props separated by headers (Presentation, Page Colors, Entry Colors, Module Colors, Fonts and Images, in this order. )

-- Alphabetized props within each cat.

-- No empty props

CSS (general):

-- If TR child goes into function print_stylesheet for styles. Otherwise goes into function Page::print_default_stylesheet.

-- Theme-specific CSS goes into function Page::print_theme_stylesheet

-- No broad resets

-- Comment headers

-- Indents

-- Shorthand

Colors:

-- color_page_text in every theme

-- No half foreground/background combos (e.g. text color without background color)

-- Matching foreground/background combos (such as entry text color on entry background color)

-- Order in props for link colors: alphabetical so _link, _link_active, _link_hover, _link_visited

-- BUT order in CSS for link colors: hierarchical so a, a:visited, a:hover, a:active

-- Shorthand for color hex codes

Fonts:

-- Single quotes around font names with multiple words; no quotes otherwise.

-- No font_units settings if no font_size too.

-- No hardcoded font names

-- No hardcoded font sizes (some exceptions allowed)

Images:

-- No color profiles

-- Color-indexed PNGs whenever possible. JPGs with a lower res are sometimes a good alternative.

-- Common images in /commons

-- Follows file naming standards