Presentation
The
Bracetax Project is:
- Bracetax: a simple and deterministic text-processing syntax;
- bracetax: an OCaml library manipulating the syntax (convert to HTML, LaTeX …);
- brtx: a command-line application using the bracetax library;
- tools: a few small tools related to the syntax (VIM syntax highlighting …).
The code is available under a permissive MIT license.
Download
You can get a snapshot of the
stable sources from Github:
github.com/smondet/bracetax. The head of the
master branch will always be considered as the most up-to-date and
usable/stable version, binaries will become available if there is enough demand.
Build & Install
Bracetax follows the
standard OASIS setup (with OCamlfind and OCamlbuild):
ocaml setup.ml -configure [--prefix /where/you/want]
ocaml setup.ml -build
ocaml setup.ml -install (may require root privileges)
Documentation
For now the documentations are:
Examples
Git Log
One of the key features of this syntax is that there are only 3 special characters, hence you can sanitize any output with a simple `sed' filter:
| sed -e 's/\([{}#]\)/{\1}/g' |
For example, this HTML
git-log has been generated with the command:
git log | sed -e 's/\([{}#]\)/{\1}/g' | awk '\
/^commit / {print "{p}{t|{b|Commit:} "$2"}{br}"} \
/^Author/ {print " {t|{b|Author:} " $2 " " $3 "}{br}"} \
/^Date/ {print " {t|{b|Date:}" substr($0,6,length($0) - 3) "}{br}"} \
/^ .+/ { print "{t|{i|" $0 "}}{br}" } \
' | brtx -html -link-css brtxdoc.css -doc \
-title "Bracetax - git-log" -o git_log.html
Complete example of core bracetax
We use the
Bracetax syntax document as a complete example, here we can see:
- the source (colored by Vim, c.f. tools);
- the generated raw HTML;
- the generated PDF from LaTeX export;
- the generated PDF from LaTeX export with a style.
One example of authoring
Using M4 (
wikipedia), we get a “self-documenting document”:
Links
Authors