Jean-Sébastien Caux af3b9155f6 Debug script line giving single-page output | il y a 5 mois | |
---|---|---|
css | il y a 5 mois | |
scripts | il y a 5 mois | |
src | il y a 5 mois | |
.gitignore | il y a 5 mois | |
license.txt | il y a 5 mois | |
readme.org | il y a 5 mois | |
requirements.txt | il y a 5 mois |
Org mode (orgmode.org) is objectively the most flexible, advanced and adaptable authoring markup language available today.
HTML is undoubtedly the most widespread display markup language, with the best perspectives for long-term availability.
Specially tailored for academics looking to easily author electronic versions of books, lecture notes or similar material, snac (snippets of academe) offers a bridge between Org and HTML: from a single Org source file, it provides split, interlinked and directly publishable web-ready documents.
snac
makes use of python and shell scripts.
Create a virtual environment (here: named snac-venv
) and activate it:
python -m venv snac-venv
source snac-venv/bin/activate
Install the requirements:
pip install -r requirements.txt
The source file is index.org
in the src
directory.
Sections are defined through Org mode headlines. Each headline should have a CUSTOM_ID
whose format is contrained to the form [id]
for a first-level section, [id]_[subid]
for second-level, etc.
Plunging into the sections hierarchy, any nth-level section's CUSTOM_ID
must have the n-1th-level section's CUSTOM_ID
as prefix (in order for later page splitting and interlinking to work).
Block equations are displayed including a label, permalink and optional alternative labels.
Full example:
#+begin_eqlabel
<<tau>>
#+begin_alteqlabels
- KBI V.1.33
#+end_alteqlabels
#+end_eqlabel
\begin{equation}
\tau (\lambda) = \mbox{exp}~ \sum_{n=0}^\infty \frac{i_n}{n!} Q_n (\lambda - \xi)^n
\tag{tau}\label{tau}
\end{equation}
To include simple figures, simply use a link to the corresponding file. For example,
#+begin_eqlabel
<<fig-your_label>>
#+end_eqlabel
#+caption: Your caption.
#+attr_html: :width 100%
[[./fig/your_figure.jpg]]
A search box is included in each output HTML page.
Edit the searchbox_string
in the src/split.py
script, making sure you set your site as the value
of the sites
input element.
The main style file is css/snac.css
.
C-c C-e h h
from the Emacs buffer for your index.org
source fileexport.sh
script (invoking ./scripts/export.sh
from the base directory)export/html/index.html
to see the resultsThis codebase is released under the terms of the GNU Affero General Public License (Version 3, 19 November 2007).