More details on writing DocOnce documents with Bootstrap layout

Navigation

A multiple-page document is as usual created by inserting !split at desired places, usually before selected sections. doconce split_html splits the document and inserts navigation button (previous and next page) at the bottom of each page. The option --pagination can be specified as part of the doconce split_html command to get a different navigation bar at the bottom where also the page number is seen.

Terminal> doconce format html mydoc --html_style=bootstrap_bluegray
Terminal> doconce split_html mydoc --pagination

The top navigation bar has two links. The title to the left brings you back to the first page of the document. The Content link to the right has a table of contents pull down menu. For large documents, the table of contents can be very long, and in those cases, subsections are dropped to make the pull down menu shorter than the page height. The navigation bar on top can be turned off by the option --html_bootstrap_navbar=off to the doconce format command.

Themes

DocOnce supports the following themes from the Bootstrap family:

You write Bootstrap HTML files as normal DocOnce documents, but there are some additional features:

Quick generation of websites

To make a typical website with Bootstrap layout and different type of pages for different things, just

  • write a main document in DocOnce, insert a !split before the first section
  • write other documents and store their HTML versions in subdirectory static_*
  • link the documents (locally) to each other (link directly to the HTML version in static_*)

1: "Admon" is a short form for admonition: a box that highlights some text, e.g., as extra material or as particularly important material. DocOnce supports different types of admonitions: notice, question, summary, and warning. These can have an optional title, and some admonition styles will also include an icon image. In addition, there is a block admonition without any icon, but with an optional title.

Demonstrations of admons

The Bootstrap/Bootswatch styles support two kinds of admons:

Typical commands for producing Bootstrap or Bootswatch layouts are

Terminal> doconce format html mydoc --html_style=bootstrap
Terminal> doconce format html mydoc --html_style=bootswatch
Terminal> doconce format html mydoc --html_style=bootstrap --admon_style=bootstrap_panel
Terminal> doconce format html mydoc --html_style=bootswatch_superhero --admon_style=bootstrap_panel

Below are some examples on admons.

Warning: recall to prefix module functions

In [1]: import numpy as np

In [2]: x = np.linspace(0, 4*np.pi, 11)

In [3]: y = exp(-0.1*x)*sin(x)
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-3-c1040545fa6c> in <module>()
----> 1 y = exp(-0.1*x)*sin(x)

NameError: name 'exp' is not defined

In [4]: y = np.exp(-0.1*x)*np.sin(x)

In [5]: y
Out[5]:
array([  0.00000000e+00,   8.38747563e-01,   4.57160372e-01,
        -4.03174933e-01,  -5.75315545e-01,  -1.30666897e-16,
         4.47461836e-01,   2.43889614e-01,  -2.15089026e-01,
        -3.06923992e-01,  -1.39418467e-16])

This is the admon for warnings or paying attention.

Question

How many admon styles are supported by the DocOnce Bootstrap and Bootswatch styles?

Summary

DocOnce supports the following elements of Bootstrap elements:

  • Admons
  • Panels (via admons)
  • Jumbotron for title and intro
  • Columns of content (grid structure via the slidecell environment)
  • Tooltips via footnotes

Tables often get a fancy typesetting:

\( i \) \( h_i \) \( \bar T_i \) L_i
0 0 288 -0.0065
1 11,000 216 0.0
2 20,000 216 0.001
3 32,000 228 0.0028
4 47,000 270 0.0
5 51,000 270 -0.0028
6 71,000 214 NaN