Update README.md
This commit is contained in:
parent
b8f143e350
commit
6e9c7edd1d
183
README.md
183
README.md
|
@ -5,23 +5,26 @@ deployment
|
|||
|
||||
### Install the dependencies
|
||||
|
||||
1. flex (for hmmlib)
|
||||
2. curl (for cinera)
|
||||
1. curl
|
||||
|
||||
### Download, and prepare the parser
|
||||
### Download, and copy the parser into place
|
||||
|
||||
1. `git clone git@gitssh.handmade.network:Annotation-Pushers/Annotation-System.git`
|
||||
2. `cd Annotation-System/hmmlib`
|
||||
3. `make`
|
||||
4. `cp hmml.a hmmlib.h ../cinera/`
|
||||
5. `cd ../cinera/`
|
||||
2. `cd Annotation-System/cinera`
|
||||
3. `cp ../hmmlib2/hmmlib.h .`
|
||||
|
||||
Note: For each parser update, remember to make and copy it into place.
|
||||
Note: For each parser update, remember to copy it into place.
|
||||
|
||||
### Build
|
||||
|
||||
1. `$SHELL cinera.c`
|
||||
|
||||
### Configure
|
||||
|
||||
cinera -h
|
||||
|
||||
This documents the configuration file format and default settings.
|
||||
|
||||
### Configure the server
|
||||
|
||||
If you enforce a strict Content Security Policy and X-Frame-Options in your
|
||||
|
@ -38,56 +41,24 @@ and [Hardening your HTTP response headers](https://scotthelme.co.uk/hardening-yo
|
|||
|
||||
### Run
|
||||
|
||||
#### Single Edition operation
|
||||
|
||||
cinera test.hmml
|
||||
|
||||
This simply generates an HTML file (and updates `cinera_topics.css` if needed)
|
||||
from `test.hmml` and outputs to `out.html` (configurable with -o).
|
||||
|
||||
#### Project Edition operation
|
||||
|
||||
cinera -p ProjectID
|
||||
|
||||
Setting the ProjectID with the `-p` flag triggers Project Edition. In this
|
||||
edition _Cinera_ monitors the Project Input Directory for new, edited and
|
||||
deleted .hmml files, and generates one table of contents / search page and a
|
||||
player page each for valid sets of annotations (or removes them, if needed).
|
||||
|
||||
By default all directories - input and output - are set to the current working
|
||||
directory. Typical operation will involve setting these flags:
|
||||
|
||||
-d Project Input Directory, the directory where the .hmml files reside
|
||||
-r Asset Root Directory, path shallower than or equal to the CSS, Images and
|
||||
JS directories
|
||||
-R Asset Root URL, corresponding to the Root Directory
|
||||
-c CSS Directory, relative to Root
|
||||
-i Images Directory, relative to Root
|
||||
-j JS Directory, relative to Root
|
||||
-b Output Base Directory, location of the table of contents / search page
|
||||
-B Output Base URL, corresponding to the Output Base Directory
|
||||
-t Template Directory
|
||||
-x Search Template Location, relative to Template Directory
|
||||
-y Player Template Location, relative to Template Directory
|
||||
cinera -c /path/to/config.conf
|
||||
|
||||
#### Templates
|
||||
|
||||
*Search Template*
|
||||
*(Global) Search Template*
|
||||
- `<!-- __CINERA_INCLUDES__ -->` _to put inside your own `<head></head>`_
|
||||
- `<!-- __CINERA_SEARCH__ -->` _the table of contents and search functionality_
|
||||
|
||||
*Player Template*
|
||||
- `<!-- __CINERA_INCLUDES__ -->` _to put inside your own `<head></head>`_
|
||||
- `<!-- __CINERA_MENUS__ -->`
|
||||
- `<!-- __CINERA_PLAYER__ -->`
|
||||
- `<!-- __CINERA_SCRIPT__ -->` _must come after `<!-- __CINERA_MENUS__ -->` and `<!-- __CINERA_PLAYER__ -->`_
|
||||
|
||||
*Optional tags available for use in your Player Template*
|
||||
- `<!-- __CINERA_TITLE__ -->`
|
||||
- `<!-- __CINERA_VIDEO_ID__ -->`
|
||||
- `<!-- __CINERA_VOD_PLATFORM__ -->`
|
||||
|
||||
*Other tags available for use in either template*
|
||||
*Other tags available for use in any template*
|
||||
- Asset tags:
|
||||
- `<!-- __CINERA_ASSET__ path.ext -->`
|
||||
General purpose tag that outputs the URL of the specified asset
|
||||
|
@ -113,8 +84,29 @@ All these asset tags additionally perform revving, appending a query
|
|||
string (-Q) and the file's checksum to the URL. Changes to a file
|
||||
trigger a rehash and edit of all HTML pages citing this asset.
|
||||
|
||||
- Navigation / Menu tags:
|
||||
- `<!-- __CINERA_NAV__ -->`
|
||||
This menu will contain only the current project, its siblings and
|
||||
subprojects of both the aforementioned
|
||||
- `<!-- __CINERA_GLOBAL_NAV__ -->`
|
||||
This menu will contain every project in the configuration
|
||||
These navigation tags additionally take one parameter, e.g.
|
||||
`<!-- __CINERA_NAV__ horizontal -->`:
|
||||
- `dropdown`
|
||||
A dropdown menu, that opens on hover
|
||||
- `horizontal`
|
||||
More-or-less the same as `dropdown`, but always open
|
||||
- `plain`
|
||||
A straightforward `<ul>` for you to style how you like
|
||||
|
||||
- `<!-- __CINERA_PROJECT__ -->`
|
||||
The project's `html_title` if configured, otherwise its `title`
|
||||
- `<!-- __CINERA_PROJECT_PLAIN__ -->`
|
||||
The project's `title`
|
||||
- `<!-- __CINERA_PROJECT_ID__ -->`
|
||||
- `<!-- __CINERA_PROJECT_LINEAGE__ -->`
|
||||
The IDs of all projects from the root to the current project, separated
|
||||
by a spaced-slash
|
||||
- `<!-- __CINERA_SEARCH_URL__ -->`
|
||||
- `<!-- __CINERA_THEME__ -->`
|
||||
- `<!-- __CINERA_URL__ -->` _Only really usable if BaseURL is set (-B)_
|
||||
|
@ -135,106 +127,15 @@ invalid, _Cinera_ will tell you what's wrong.
|
|||
|
||||
#### Arguments
|
||||
|
||||
Usage: ./cinera [option(s)] filename(s)
|
||||
Usage: ./cinera [option(s)]
|
||||
|
||||
Options:
|
||||
Paths: (advisedly universal, but may be set per-(sub)project as required)
|
||||
-r <assets root directory>
|
||||
Override default assets root directory (".")
|
||||
-R <assets root URL>
|
||||
Override default assets root URL ("")
|
||||
IMPORTANT: -r and -R must correspond to the same location
|
||||
UNSUPPORTED: If you move files from RootDir, the RootURL should
|
||||
correspond to the resulting location
|
||||
|
||||
-c <CSS directory path>
|
||||
Override default CSS directory (""), relative to root
|
||||
-i <images directory path>
|
||||
Override default images directory (""), relative to root
|
||||
-j <JS directory path>
|
||||
Override default JS directory (""), relative to root
|
||||
-Q <revved resources query string>
|
||||
Override default query string ("r")
|
||||
To disable revved resources, set an empty string with -Q ""
|
||||
|
||||
Project Settings:
|
||||
-p <project ID>
|
||||
Set the project ID, triggering PROJECT EDITION
|
||||
-m <default medium>
|
||||
Override default default medium ("programming")
|
||||
Known project defaults:
|
||||
bitwise: programming
|
||||
book: research
|
||||
coad: research
|
||||
reader: research
|
||||
riscy: programming
|
||||
risc: speech
|
||||
chat: speech
|
||||
code: programming
|
||||
intro-to-c: programming
|
||||
misc: admin
|
||||
ray: programming
|
||||
hmdshow: speech
|
||||
lecture: speech
|
||||
stream: programming
|
||||
special: programming
|
||||
obbg: programming
|
||||
sysadmin: admin
|
||||
-s <style>
|
||||
Set the style / theme, corresponding to a cinera__*.css file
|
||||
This is equal to the "project" field in the HMML files by default
|
||||
|
||||
Project Input Paths
|
||||
-d <annotations directory>
|
||||
Override default annotations directory (".")
|
||||
-t <templates directory>
|
||||
Override default templates directory (".")
|
||||
|
||||
-x <search template location>
|
||||
Set search template file path, either absolute or relative to
|
||||
template directory, and enable integration
|
||||
-y <player template location>
|
||||
Set player template file path, either absolute or relative
|
||||
to template directory, and enable integration
|
||||
|
||||
Project Output Paths
|
||||
-b <base output directory>
|
||||
Override project's default base output directory (".")
|
||||
-B <base URL>
|
||||
Override default base URL ("")
|
||||
NOTE: This must be set, if -n or -a are to be used
|
||||
|
||||
-n <search location>
|
||||
Override default search location (""), relative to base
|
||||
-a <player location>
|
||||
Override default player location (""), relative to base
|
||||
NOTE: The PlayerURLPrefix is currently hardcoded in cinera.c but
|
||||
will be configurable in the full configuration system
|
||||
|
||||
Single Edition Output Path
|
||||
-o <output location>
|
||||
Override default output player location ("out.html")
|
||||
|
||||
-1
|
||||
Open search result links in the same browser tab
|
||||
NOTE: Ideal for a guide embedded in an iframe
|
||||
-f
|
||||
Force integration with an incomplete template
|
||||
-g
|
||||
Ignore video privacy status
|
||||
NOTE: For use with projects whose videos are known to all be public,
|
||||
to save us having to check their privacy status
|
||||
-q
|
||||
Quit after syncing with annotation files in project input directory
|
||||
UNSUPPORTED: This is likely to be removed in the future
|
||||
-w
|
||||
Force quote cache rebuild (memory aid: "wget")
|
||||
|
||||
-l <n>
|
||||
Override default log level (0), where n is from 0 (terse) to 7 (verbose)
|
||||
-u <seconds>
|
||||
Override default update interval (4)
|
||||
|
||||
-c <config file path>
|
||||
Set the main config file path
|
||||
Defaults to: $XDG_CONFIG_HOME/cinera/cinera.conf
|
||||
-0
|
||||
Dry-run mode. Parse and print the config, but do not modify the
|
||||
filesystem
|
||||
-e
|
||||
Display (examine) database and exit
|
||||
-v
|
||||
|
|
Loading…
Reference in New Issue