Department of Physics and Astronomy

The Forbes Group

Nikola Website

$\newcommand{\vect}[1]{\mathbf{#1}} \newcommand{\uvect}[1]{\hat{#1}} \newcommand{\abs}[1]{\lvert#1\rvert} \newcommand{\norm}[1]{\lVert#1\rVert} \newcommand{\I}{\mathrm{i}} \newcommand{\ket}[1]{\left|#1\right\rangle} \newcommand{\bra}[1]{\left\langle#1\right|} \newcommand{\braket}[1]{\langle#1\rangle} \newcommand{\op}[1]{\mathbf{#1}} \newcommand{\mat}[1]{\mathbf{#1}} \newcommand{\d}{\mathrm{d}} \newcommand{\pdiff}[3][]{\frac{\partial^{#1} #2}{\partial {#3}^{#1}}} \newcommand{\diff}[3][]{\frac{\d^{#1} #2}{\d {#3}^{#1}}} \newcommand{\ddiff}[3][]{\frac{\delta^{#1} #2}{\delta {#3}^{#1}}} \DeclareMathOperator{\erf}{erf} \DeclareMathOperator{\Tr}{Tr} \DeclareMathOperator{\order}{O} \DeclareMathOperator{\diag}{diag} \DeclareMathOperator{\sgn}{sgn} \DeclareMathOperator{\sech}{sech} $

Nikola for Websites

In this post we describe how to we use Nikola for hosting research websites. Note: this is not a comprehensive discussion of Nikola's features but a streamlined explanation of the assumptions we make for simplified organization.

Synopsis

The basic idea is to use Nikola to manage a collection of posts and pages which form the core for a research website. To facilitate the documentation of research, we generally use Jupyter notebooks for posts, which allows one to include math, references, source-code, and generated output. We use a custom theme based on the WSU Spine to maintain a consistent look and feel that integrates with the WSU environment.

We offer two options for deployment: A private server and GitHub. The former allows more control (for example, limiting access to certain pages behind a password) but requires maintaining that server.

Organization

As of Nikola 8.0, posts are organized by tags and categories:

  • Tags: Posts can have many tags: these are specified in the post metadata.
  • Categories: Posts can have only one category: we do not specify this in the metadata but instead use the location of the post to set the category by default.

To organize the site, we provide a mapping from input directory to output directories with the following semantic meaning:

References

Nikola Documentation:

In [ ]: