Link Search Menu Expand Document

The library’s documentation relies on a modified version of just-the-docs as its jekyll theme.

The modification allows the documentation to have infinite nesting on the navigation bar, and a more centralised navigation structure management.

A new just-the-docs version has implemented infinite nesting levels. This fork of just-the-docs will no longer be maintained. The documentation won’t be switched over to the new version and will be archived instead along with the library repository.

The centralised file structure management

The structure is stored in a file docsStructure.yml. It should look something like

FileSystem:
  - Ev3Wrap:
    no_page: true
    display_text: "AAA_BRANCH_NAME_AAA"
    child_folder_reqs:
      - "ev3wrap"
      - "AAA_BRANCH_NAME_AAA"
    children:
    - quickstart:
      tag: "quickstart"
      children:
      - index:
        tag: "introduction"
      - troubleshooting:
        tag: "troubleshooting"

    - documentation:
      tag: "documentation"
      child_folder_reqs:
        - "documentation"
      children:
      - Blockable:
        tag: "Blockable"
      - Button:
        tag: "Button"
      - ColorSensor:
        tag: "ColorSensor"
    - contributing:
      tag: "contribute"
      child_folder_reqs:
        - "contributing"
      children:
      - libraryStructre:
        tag: "libraryStructure"
        child_folder_reqs:
          - "libraryStructure"
        children:
        - CMakeSpecifics:
          tag: "CMakeSpecifics"
        - CMakeExamples:
          tag: "CMakeExamples"
      - writingDocumentation:
        tag: "writingDocumentation"

(some files are removed to shorten this wall of text)

each - <namehere> represents 1 md file (or page). for example,

- Blockable:
    tag: "Blockable"

represents the file with the tag “Blockable”. This tag is stored in the front matter of the md file, something like

---
layout: default
title: "Blockable"
tag: "Blockable"
---

This front matter is processed by jekyll using instructions stored in our modified just-the-docs theme. The instructions in the theme tells jekyll to read through docStructure.yml to decide how to construct the navigation bar.


page urls

are decided based on the folder structure (e.g. /docs/documentation/Blockable.md will show up in https://rshs-robotics-club.github.io/ev3wrap/unstable/documentation/BlockableDocumentation.html)


There is a lot more detail we haven’t gone through in this guide, which will be added later.