Skip to content
Snippets Groups Projects
README.md 1.67 KiB
Newer Older
  • Learn to ignore specific revisions
  • # Documentation Website Files and Assets
    
    This directory contains extra files for modifying the look and functionality of 
    [mdbook](https://github.com/rust-lang/mdBook), the documentation software that's
    used to generate Synapse's documentation website.
    
    The configuration options in the `output.html` section of [book.toml](../../book.toml)
    point to additional JS/CSS in this directory that are added on each page load. In
    addition, the `theme` directory contains files that overwrite their counterparts in
    each of the default themes included with mdbook.
    
    Currently we use these files to generate a floating Table of Contents panel. The code for
    which was partially taken from
    [JorelAli/mdBook-pagetoc](https://github.com/JorelAli/mdBook-pagetoc/)
    before being modified such that it scrolls with the content of the page. This is handled
    by the `table-of-contents.js/css` files. The table of contents panel only appears on pages
    that have more than one header, as well as only appearing on desktop-sized monitors.
    
    We remove the navigation arrows which typically appear on the left and right side of the
    screen on desktop as they interfere with the table of contents. This is handled by
    the `remove-nav-buttons.css` file.
    
    Finally, we also stylise the chapter titles in the left sidebar by indenting them
    slightly so that they are more visually distinguishable from the section headers
    (the bold titles). This is done through the `indent-section-headers.css` file.
    
    More information can be found in mdbook's official documentation for
    [injecting page JS/CSS](https://rust-lang.github.io/mdBook/format/config.html)
    and
    [customising the default themes](https://rust-lang.github.io/mdBook/format/theme/index.html).