Repository with the documentation for the ND CMS T3 Infrastructure, which is automatically built and deployed to GitHub Pages at https://crcresearch.github.io/ndcmsT3/.
To build the documentation locally, you'll need the following Python packages:
# Install MkDocs and the Material theme
pip install mkdocs \
mkdocs-git-revision-date-localized-plugin \
pymdown-extensionsThese packages provide:
mkdocs: The core documentation generatormkdocs-git-revision-date-localized-plugin: For showing last update datespymdown-extensions: For enhanced Markdown features (code highlighting, admonitions, etc.)
Modify the mkdocs.yml configuration file according to any new pages you might have.
The initial and current document structure is:
.
├── .github/
│ └── workflows/
│ └── ci.yml
├── docs/
│ ├── index.md
│ ├── research/
│ │ ├── projects.md
│ │ └── publications.md
│ └── resources/
│ ├── computing.md
│ └── data.md
└── mkdocs.yml
GitHub actions have been defined for automatic build and deployment into GitHub Pages
# Serve documentation locally
mkdocs serve
# Build documentation
mkdocs buildVisit http://localhost:8000 to preview your documentation.
Your documentation will be available at https://YOUR-USERNAME.github.io/ndcmsT3/
First, install pandoc on your system:
brew install pandocsudo apt-get update
sudo apt-get install pandocsudo dnf install pandocThen, run the following command to convert an .rst file to .md.
# Basic conversion
pandoc -f rst -t gfm input.rst -o output.md
# With additional options for better GitHub-Flavored Markdown compatibility
pandoc --wrap=none -f rst -t gfm input.rst -o output.md
# For handling Sphinx documentation
pandoc --wrap=none --from=rst --to=gfm-raw_html input.rst -o output.mdNote: After conversion, you will likely need to manually adjust the following elements:
-
Sphinx-specific directives:
.. toctree::directives (table of contents).. note::,.. warning::, etc. (admonitions).. code-block::with complex options- Custom Sphinx directives
-
Cross-references and links:
:ref:references:doc:references- Internal document links
- Custom role references
-
Advanced formatting:
- Complex tables with merged cells
- Sidebar content
- Figure directives with options
- Math equations (may need reformatting)
-
Code blocks:
- Language specifications
- Line highlighting
- Line number references
- Code block captions
-
Extensions and custom roles:
- Domain-specific roles (e.g.,
:py:class:) - Custom extension directives
- Substitutions and replacements
- Domain-specific roles (e.g.,
-
Meta information:
- Document metadata
- Version information
- Copyright notices in special formats