4.6 KiB
Features
The basic book builder template integrates feature from many systems including Pandoc, MathJax, Obsidian, and Zotero. The following list covers these features from a functional point of view.
Metadata
Metadata for the project is managed in metadata.yaml. Edit this file to make global changes to variables for your document. Definitions in metadata.yaml will propagate to all format builds.
Front-matter
Front-Matter documents control the Title Page, Metadata and other pages before the Title of Contents. Front matter content is manged in these files:
templates/frontmatter.textemplates/frontmatter.htmltemplates/frontmatter-md.html
Unfortunately when you edit one, you need to edit the respective changes to the other front-matter formats.
Title Page
Edit the Front-matter files to modify the formatting of the Title Page. You'll need to modify the HTML / LaTex code.
Meta Data Page
Edit the Front-matter files to modify the 2nd page Metadata format and fields to display.
Cover Illustration
Edit the Front-matter files to optionally un-comment the Cover Art Acknowledgement.
- This is disabled by default
Dedication
Edit the Front-matter files to modify un-comment the Book Dedication.
- This is disabled by default
Table of Contents
The table of contents is auto generated. But can be disabled in template\pandoc.yaml by setting:
toc: false
Chapters
Chapter Markdown source files are located in the chapters directory. To edit which chapter files are included the document:
- Edit the
input-file:section of thetemplate\pandoc.yaml
Appendixes
TBD
Glossary
TBD
Index
TBD
Markdown Indexes
TBD
Bibliography
TBD
Zotero Integration
TBD
Obsidian Citations
TBD
Images
You can use basic Markdown Images

LaTeX Equations
You can embed LaTeX equations directly in your Markdown pages.
Left Justified / Inline
To left justify LaTex surround the code inside single $:
[!code] Left Justified Equation
$x = \frac{1}{2}$
x = \frac{1}{2}
[!code] Inline
Or inline, $x = \frac{1}{2}$, in a sentence.
Or inline, x = \frac{1}{2}, in a sentence.
Centered
To center justify LaTex surround the code inside double $$:
[!code] Centered Equation
$$x = \frac{1}{2}$$
x = \frac{1}{2}
Custom Markdown
Call-outs
A few call-out box styles have been custom added to easily highlight certain types of content.
[!code] Markdown Example
[!established] Green Call-out Title A green box
Will render:
[!established] Green Call-out Title A green box
[!code] Markdown Example
[!proposed] Blue Call-out Title A blue box
Will render:
[!proposed] Blue Call-out Title A blue box
[!code] Markdown Example
[!speculative] Purple Call-out Title A purple box
Will render:
[!speculative] Purple Call-out Title A purple box
[!code] Markdown Example
[!caution] Caution Note Beware of this section. AKA a orange box.
Will render:
[!caution] Caution Note Beware of this section. AKA a orange box.
[!code] Markdown Example
[!warning] Warning Note Same as the Caution Box
Will render:
[!warning] Warning Note Same as the Caution Box
[!code] Markdown Example
[!danger] Alert A slightly stronger warning. AKA a red box.
Will render:
[!danger] Alert A slightly stronger warning. AKA a red box.
[!code] Markdown Example
[!code] Code Block ''' if [ true ]; do echo "The Cow Jumps over the Moon" fi '''
Will render:
[!code] Code Block
if [ true ]; do echo "The Cow Jumps over the Moon" fi
[!code] Markdown Example
[!cli] Command line A command line example ''' $ ls build chapters conf filters lib LICENSE.md Makefile metadata.yaml >README.md scripts templates '''
Will render:
[!cli] Command line A command line example
$ ls build chapters conf filters lib LICENSE.md Makefile metadata.yaml README.md scripts templates
Advanced
Changing Fonts
It is possible to change fonts by editing templates/pandoc.yaml, and templates\styles.css, but you will have to make sure you have the proper font's installed on your system first.
Adding Filters
Custom filters can be created. This is complicated and typically needs done in 3 places for:
- obsidian
- LaTeX
- HTML
