Books
Book project
Book01 consists of 6 pages. Each page is associated with one of title, page A, page B, page C of Book Shelf Master
Book01 | Master | Layers , audacity/mp3 |
---|---|---|
page1 | title | bg, title |
Page2 | pageA | p2_Text1.txt, p2_Text1.mp3, Shape1, Shape2 |
Page3 | pageB | bg, Shape1 |
Page4 | pageB | bg, Shape1 |
Page5 | pageA | p5_Text1.txt, p5_Text1.mp3, Shape1, Shape2 |
Page6 | pageC | bg, gotoTOC, gotoTitle, gotoPreviousBook, gotoNextBook |
for instance, page1 - title

- bg layer
- tile layer
for instance, page2 - page A

- bg layer
- Shape1
- Shape2
- p2_Text1.mp3
- p2_Text1.txt
for instance, page6 uses page C

- gotoTOC
- gotoTitle
- gotoNextBook
- gotoPreviousBook
Page Properties

Before publishing, you associate a book’s page with a page of master project. Set the alias in Page properties

- Loading options > Alias
For instance, page1 is associated with title
Now you can publish the pages.
mp3 and txt files
page2 and page5 use sync audio&text files. The following files are also zipped by copy_books script of BookServer. Please put the files the root folder of Book{Num} project.
- p2_Text1.mp3
- p2_Text1.txt
- p5_Text1.mp3
- p5_Text1.txt
build4/model.json
Before zipping, the model.json should be reviewed. Check the alias values to the correct ones.
Wrong (Without alias setting in Page Properties)
[
{
"page":1, "alias":"page1", "isTmplt":false,
"bg":{ "x":960, "y":640, "width":1920, "height":1280, "alpha" :1 , "ext":"png" },
"title":{ "x":501, "y":462, "width":755, "height":245, "alpha" :1 , "ext":"png" },
},
{
"page":2, "alias":"page2", "isTmplt":false,
"bg":{ "x":960, "y":640, "width":1920, "height":1280, "alpha" :1 , "ext":"png" },
...
Correct
[
{
"page":1, "alias":"title", "isTmplt":false,
"bg":{ "x":960, "y":640, "width":1920, "height":1280, "alpha" :1 , "ext":"png" },
"title":{ "x":501, "y":462, "width":755, "height":245, "alpha" :1 , "ext":"png" },
},
{
"page":2, "alias":"pageA", "isTmplt":false,
"bg":{ "x":960, "y":640, "width":1920, "height":1280, "alpha" :1 , "ext":"png" },
"Shape1":{ "x":1050, "y":1058, "width":240, "height":235, "alpha" :1 , "ext":"png" },
"Shape2":{ "x":667, "y":388, "width":767, "height":505, "alpha" :1 , "ext":"png" },
"Text1":{ "x":419, "y":1018, "width":600, "height":155, "alpha" :1 , "ext":"png" },
},
{
"page":3, "alias":"pageB", "isTmplt":false,
"bg":{ "x":960, "y":640, "width":1920, "height":1280, "alpha" :1 , "ext":"png" },
"Shape1":{ "x":960, "y":639, "width":462, "height":571, "alpha" :1 , "ext":"png" },
},
{
"page":4, "alias":"pageB", "isTmplt":false,
"bg":{ "x":960, "y":640, "width":1920, "height":1280, "alpha" :1 , "ext":"png" },
"Shape1":{ "x":961, "y":658, "width":587, "height":576, "alpha" :1 , "ext":"png" },
},
{
"page":5, "alias":"pageA", "isTmplt":false,
"bg":{ "x":960, "y":640, "width":1920, "height":1280, "alpha" :1 , "ext":"png" },
"Shape1":{ "x":470, "y":344, "width":418, "height":378, "alpha" :1 , "ext":"png" },
"Shape2":{ "x":1189, "y":776, "width":683, "height":604, "alpha" :1 , "ext":"png" },
"Text1":{ "x":419, "y":1018, "width":600, "height":155, "alpha" :1 , "ext":"png" },
},
{
"page":6, "alias":"pageC", "isTmplt":false,
"bg":{ "x":960, "y":640, "width":1920, "height":1280, "alpha" :1 , "ext":"png" },
"gotoPreviousBoo":{ "x":1401, "y":680, "width":874, "height":81, "alpha" :1 , "ext":"png" },
"gotoNextBook":{ "x":1314, "y":303, "width":701, "height":81, "alpha" :1 , "ext":"png" },
"gotoTitle":{ "x":590, "y":442, "width":652, "height":103, "alpha" :1 , "ext":"png" },
"gotoTOC":{ "x":477, "y":166, "width":427, "height":78, "alpha" :1 , "ext":"png" },
},
]
Book02
You need to repeat the same steps as book01 above and create book2’s assets.zip

Book2 | Master | |
---|---|---|
page1 | title | bg, title |
Page2 | pageB | bg, Shape1 |
Page3 | pageC | bg, gotoTOC, gotoTitle, gotoPreviousBook, gotoNextBook |