This is a sample project that you can use to get started with the OurBigBook Project and learn the basics of the OurBigBook Markup language. The full documentation is present at: docs.ourbigbook.com
This sample project is rendered live at: ourbigbook.github.io/template
The source of this template is present at: github.com/ourbigbook/template
This template can be generated from the OurBigBook CLI with:and this onu was generated with OurBigBook version 0.9.21.
ourbigbook --generate default
Here's the table of contents:
Here is a link to a header present in another file: h2 not in the index.
Explicit macro equivalent, but with a "Section" prefix: Section 1.1.1. "h2 not in the index".
And below this line, we actually include the toplevel header of the other file.
My first paragraph is amazing!
Implicit link with body equals URL: examle.com This works because we automatically recognize the
https://
prefix.Implicit link with custom body: example website
Implicit link immediately followed by a period by using an empty argument: examle.com. After period.
Explicit link with
\a[]
: example websiteAnd the second one with inline code
f(){}
and inline server-side rendered maths with KaTeX: .But if we want block code here it isand here is some block maths:
f() {
return 1;
}
OurBigBook loves maths, and so equations can have titles, and references to math equations just work! See e.g.: my favorite equation>
We try to make anything escapable with a backslash, e.g.:
- literal backslash \notmacro
- code and math: ` and $
If you want more than three backticks in your insane code block, you can add more to the open:or you can also use the equivalent sane macro literals. When you open and close a macro argument with more than one square bracket
Here are three backticks:
```
Nice!
[
or curly brackets {
, it becomes a literal string and does not get parsed further:Here are three backticks:
```
Nice!
And here's an example of named
title=
argument with multiple curly brackets {
which makes its content literal:Ourbigbook TemplateMeh, the usual. Insane list:Sane list with explicit
- first item
- second item
- some nesting
- and some more
- third item
Ul
:- first item
- second item
And now for tables, see this one: Table 1. "My table title". Try clicking next to the headers to sort the columns!
String col | Integer col | Float col |
---|---|---|
ab | 2 | 10.1 |
a | 10 | 10.2 |
c | 2 | 3.4 |
c | 3 | 3.3 |
To escape the insane lists and tables just backslash them as usual:
* not a list
| not a table
And a quotation:
To be or not to be!Ourbigbook is the answer.
OurBigBook loves headers and headers!
Reference to a header: paragraphs, links, code, math.
Reference to a header with custom text shown: bla bla bla bla.
We can also specify the actual ID explicitly: paragraphs, links, code, math, but this is only useful in some edge cases.
With topic links, we can link to OurBigBook Web topics directly for topics you haven't yet written about yourself:
In mathematics I really like the fundamental theorem of calculus.
Make it show the section number as well with
{full}
: Section 2. "Paragraphs, links, code, math".Make it uppercase and plural: OurBigBook loves Bananas!
Reference to the following image: Figure 1. "Xi Chrysanthemum is a very nice image".
An YouTube video: Video 1. "Sample YouTube video.".
The parent of this header is determined by specifying it's ID with:rather than by the number of
{parent=my-h9}
=
signs of this header.This means that you don't need to worry about counting equal signs anymore!
And it is much easier to move large chunks of headers around! You only need to change the
{parent=}
of the toplevel one.This is why when creating large documents, you should use
parent
exclusively.These will show up on the metadata of a given header.
Note that metadata is only visible when the header is the toplevel header of a page, otherwise it would clutter your headers too much, so it is not very easy to see in this single page example.
But all headers get their own toplevel pages when using split headers: docs.ourbigbook.com/split-headers
Oh, and cows are also mammals.
Bats can fly.
But cats can't.
Sometimes, nested header names would really start getting too long.
For this we have scopes, which add a prefix to the ID of all descendants.
E.g.:so both "Equipment" sections can coexist in the same project.
Cow thermometer.
Put cow thermometer in cow mouth.
The cow was cold.
Pig thermometer.
Put pig thermometer in pig ear.
The pig was cold.