| ------- | -------- |
| title | Sets the title for the content that follows |
| menu_title | Sets the title for the content that follows which will appear in the menu link sidebar. If this is not specified, it defaults to the value of the `title` keyword |
-| part | Sets the hierarchy for the content that follows. It must be one of the following (listed in order of lowering hierarchy): part, chapter, subchapter, section, subsection. |
+| part | Sets the hierarchy for the content that follows. It must be one of the following (listed in order of lowering hierarchy): part, chapter, subchapter, section, subsection |
| link | Sets the unbreakable link to the content that follows. Links in the *content* should be prefixed with a double at-sign (@@) to tell the build system that the link is an internal one |
| include | Tells the build system that the content lives in an external file; these normally live in the `include/` directory. Note that the filename should **not** be prefixed with `include/` |
| exclude | Tells the `implode` and `explode` scripts that file referred to by the `include` keyword should be ignored. Note that the value of this keyword is ignored |
+| pdf-exclude | Does not include the content in the generated PDF, but links to its online contents. The value is also ignored. |
| style | Sets an alternate CSS stylesheet; the name should match the one referred to (sans the `.css` suffix) in the `source/css` directory |
| uri | Sets an absolute URI where this page will go in the hierachy of the created website. It does *not* change the document structure |
### CSS
The manual uses [Bootstrap](http://getbootstrap.com/) for its global layout, and
-a custom CSS (`source/css/app.css`) that contains classes used for keys, menus,
+a few custom CSS files that contains classes used for keys, menus,
tables, etc... so it is recommanded to have a look at it first, or at least see
-how other pages are made to keep the manual consistent in its appearance.
+how other pages are made to keep the manual consistent in its appearance:
+
+- `source/css/common.css` contains shared classes between all media and is included everywhere
+- `source/css/screen.css` adds classes used for screen display (html)
+- `source/css/pdf.css` adds classes used for print (pdf)
+- `source/css/luadocs.css` adds classes used in the Lua script documentation
## More Advanced Stuff
### Run it locally
You may want the manual available on a machine that doesn't have constant
-internet access. You will need `git`, and `python3` installed.
+internet access. You will need `git`, `python3` and `cherrypy` python module installed.
1. Download code and build manual
./build.py
```
-2. Install and configure a web server on your machine. Any web server should
-work, Apache, nginx, etc... The following steps are for nginx, using another
-server means following the same procedure for the server you decide to use.
-
-3. Install [nginx](http://wiki.nginx.org/Install)
-
-4. Configure nginx server block in `/etc/nginx/sites-available/default`
-
+2. Run the following:
```
- server {
- listen 80;
- server_name localhost;
-
- root ...path_to_.../ardour-manual/website;
- index index.html;
- }
+ ./servit.py
```
-5. Restart nginx server
-
- service nginx restart
+3. The manual will now be available at http://127.0.0.1:8080
-6. The manual will now be available at http://localhost
+ (Ctrl-c to quit the server).
### Helper scripts: `implode` and `explode`
- '-q', or '--quiet', to suppress all output (overrides -v)
- '-d', or '--devmode', to add content to pages to help developers debug them
(link, file name, URL)
+- '-n', or '--nopdf', to prevent the build script from generate a PDF from the content