add "dark" theme, work on themes
[booh] / THEMES
1                    [[ Themes in booh ]]
2
3 Each theme is made of:
4
5 - one index.html skeleton, used for the "index" page, the page
6   showing the available subalbums (no such page in the generated
7   album, if you don't have any subalbum)
8
9 - one thumbnails.html skeleton, used for the thumbnails page
10
11 - one image.html skeleton, used for fullscreen images
12
13 - any number of resource files these html pages depend on
14   (images, css..)
15
16 - a metadata/parameters.rb file holding information about images
17   sizes that will fit the best the html pages layout
18
19 - three metadata/screenshot-?.png files used to select theme in
20   the GUI
21
22
23                   [[ Skeleton files ]]
24
25 The skeleton files contain keywords used in the backend to fill
26 them up with images. There is no precise documentation about
27 them, the best is to look at the `simple' theme and learn from it
28 directly. Most of them are just a simple replace, and there are
29 two special cases:
30
31 - conditionals:
32
33     ~~iffoo?~~bar~~fi~~
34
35   indicates that if foo is true, put bar at this position, else
36   put nothing; there are a few existing conditions tested, have a
37   look in skeletons of the `simple' theme
38
39 - loops:
40
41    ~~iterate1_open~~
42      foo
43      ~~image_iteration~~
44      bar
45    ~~iterate1_close~~
46
47    is used to put "foo" before each image (index and thumbnails
48    pages only), and bar after each image
49
50    It can be nested:
51
52    ~~iterate1_open~~
53       foo
54        ~~iterate2_open_max4~~
55          bar
56          ~~image_iteration~~
57          baz
58        ~~iterate2_close~~
59       qux
60    ~~iterate1_close~~
61
62    The character after "max" can be hardcoded, or can be "N" to
63    represent the configurable number of images per rows in the
64    thumbnails page. It indicates the amount of times iterate2
65    will be performed before another iterate1 is needed.
66
67
68                      [[ Screenshots ]]
69
70 Each theme must export three screenshots, used to select theme in
71 the GUI. First screenshot demonstrates the "index" page, second
72 one the "thumbnails" page, and third one the "image" page.
73
74 To keep a correct ratio between themes, to do your screenshot, be
75 sure to use the correct images sizes for your resolution; then
76 take the screenshot, crop for 1.55 aspect ratio and resize to 192
77 of width (thus 124 of height).
78
79 It would be best if the screenshots would show the same contents,
80 so just send me your theme if you create a new one and I'll do
81 the screenshots.
82