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-extensions
These 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 build
Visit 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 pandoc
sudo apt-get update
sudo apt-get install pandoc
sudo dnf install pandoc
Then, 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.md
Note: 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