open file later to remove risk of emptying config file
[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..), normally they should all go in the 'root'
15   subdirectory, so that they are only copied in the root
16   directory of the final webalbum and avoid wasting too much
17   hosting space; they can be referred from the skeleton by
18   prepending ~~pathtobase~~, which will be the relative path
19   to the root directory of the final webalbum
20
21 - a metadata/parameters.rb file holding information about images
22   sizes that will fit the best the html pages layout
23
24 - three metadata/screenshot-?.png files used to select theme in
25   the GUI
26
27
28                   [[ Skeleton files ]]
29
30 The skeleton files contain keywords used in the backend to fill
31 them up with images. There is no precise documentation about
32 them, the best is to look at the 'simple' theme and learn from it
33 directly. Most of them are just a simple replace, and there are
34 two special cases:
35
36 - conditionals:
37
38     ~~iffoo?~~bar~~fi~~
39
40   indicates that if foo is true, put bar at this position, else
41   put nothing; there are a few existing conditions tested, have a
42   look in skeletons of the 'simple' theme
43
44 - loops:
45
46    ~~iterate1_open~~
47      foo
48      ~~image_iteration~~
49      bar
50    ~~iterate1_close~~
51
52    is used to put "foo" before each image (index and thumbnails
53    pages only), and bar after each image
54
55    It can be nested:
56
57    ~~iterate1_open~~
58       foo
59        ~~iterate2_open_max4~~
60          bar
61          ~~image_iteration~~
62          baz
63        ~~iterate2_close~~
64       qux
65    ~~iterate1_close~~
66
67    The character after "max" can be hardcoded, or can be "N" to
68    represent the configurable number of images per rows in the
69    thumbnails page. It indicates the amount of times iterate2
70    will be performed before another iterate1 is needed.
71
72
73                      [[ Screenshots ]]
74
75 Each theme must export three screenshots, used to select theme in
76 the GUI. First screenshot demonstrates the "index" page, second
77 one the "thumbnails" page, and third one the "image" page.
78
79 To keep a correct ratio between themes, to do your screenshot, be
80 sure to use the correct images sizes for your resolution; then
81 take the screenshot, crop for 1.55 aspect ratio and resize to 192
82 of width (thus 124 of height).
83
84 It would be best if the screenshots would show the same contents,
85 so just send me your theme if you create a new one and I'll do
86 the screenshots.