Documentation for the Stan language and CmdStan
43
stars
2,217
commits
TeX
primary language
Sep 8, 2026
updated
docsRepository for the sources and published documentation set, versioned for each Stan minor release.
src : directory of source files for Stan and CmdStan guides and reference manuals, each in its own named subdirectory:
src/cmdstan-guide - CmdStan Guidesrc/functions-reference - Stan Functions Referencesrc/reference-manual - Stan Reference Manualsrc/stan-users-guide - Stan Users Guidesrc/quarto-config - A submodule of the stan-dev/quarto-config repository for shared files between the docs and Stan websitedocs: the directory docs on branch master is the publishing source for the project pages site. Whenever a verified member of the Stan organization pushes to docs on branch master,
GitHub (re)builds and (re)deploys the website.
We use Quarto to build the HTML website and standalone pdfs; previously, we used bookdown. Download quarto To build the pdf version of the docs, you will need to install LaTeX as well.
Quarto accepts .qmd source files
and uses the Pandoc conversion engine.
Both the Stan website (repository: stan-dev.github.io) and the docs use the same quarto theming from the repository quarto-config.
Checking out the repository
In order to ensure the quarto-config folder is present, when cloning the repository, use the --recursive flag
git clone --recursive https://github.com/stan-dev/docs.git
If you already have a clone without this submodule, or if it falls out of date, you can run
git submodule update --init --recursive
To initialize or refresh it.
build.py
The program build.py convert the markdown files under src to html and pdf and populates the
docs dir with the generated documentation.
This script should be run from the top-level directory of this repository.
Requires Python 3.7 or higher, due to call to subprocess.run, kwarg capture_output.
2 28website or pdf. The document name corresponds to the name of the src subdirectory or all.Build script examples
pwd # check that you're in the top-level directory of this repository, path should end in "/stan-dev/docs"
python build.py 2 35 # creates directory docs/2_35 as needed; populates it will all generated documentation
python build.py 2 35 website # builds the docs website in docs/2_35
python build.py 2 35 pdf functions-reference # builds only the pdf version of the Stan functions reference, resulting document is docs/2_35/functions-reference-2_35.pdf
python build.py 2 35 pdf all # builds all pdfs from the Stan documentation set, resulting pdfs are in docs/2_35
Additional scripts
The release process generates a new documentation set and adds links and redirects across the docset.
add_redirects.py manages the redirects from unversioned links to the latest version.link_to_latest.py adds the "latest version" link into a docset.The Stan Functions Reference contains HTML comments which describe the function signature for all functions. The script extract_function_sigs.py is used to scrape these signatures into a plain text file.
.qmd file in the correct src directory._quarto.yml file for that manual (in the same directory).src/_quarto.yml file; this controls the website navigation for that manual.This repository uses
GitHub Pages
to serve the
project pages site
with URL https://mc-stan.org/docs.
The publishing strategy is to serve the contents of the directory docs on branch master.
The docs directory contains an empty file named .nojekyll so that GitHub will treat the contents
as pre-generated HTML instead of trying to run jekyll.
(top 30 of 96)
TeX
80.6%
Python
15.7%
Lua
2.8%
Documentation for the Stan language and CmdStan
43
stars
2,217
commits
TeX
primary language
Sep 8, 2026
updated
docsRepository for the sources and published documentation set, versioned for each Stan minor release.
src : directory of source files for Stan and CmdStan guides and reference manuals, each in its own named subdirectory:
src/cmdstan-guide - CmdStan Guidesrc/functions-reference - Stan Functions Referencesrc/reference-manual - Stan Reference Manualsrc/stan-users-guide - Stan Users Guidesrc/quarto-config - A submodule of the stan-dev/quarto-config repository for shared files between the docs and Stan websitedocs: the directory docs on branch master is the publishing source for the project pages site. Whenever a verified member of the Stan organization pushes to docs on branch master,
GitHub (re)builds and (re)deploys the website.
We use Quarto to build the HTML website and standalone pdfs; previously, we used bookdown. Download quarto To build the pdf version of the docs, you will need to install LaTeX as well.
Quarto accepts .qmd source files
and uses the Pandoc conversion engine.
Both the Stan website (repository: stan-dev.github.io) and the docs use the same quarto theming from the repository quarto-config.
Checking out the repository
In order to ensure the quarto-config folder is present, when cloning the repository, use the --recursive flag
git clone --recursive https://github.com/stan-dev/docs.git
If you already have a clone without this submodule, or if it falls out of date, you can run
git submodule update --init --recursive
To initialize or refresh it.
build.py
The program build.py convert the markdown files under src to html and pdf and populates the
docs dir with the generated documentation.
This script should be run from the top-level directory of this repository.
Requires Python 3.7 or higher, due to call to subprocess.run, kwarg capture_output.
2 28website or pdf. The document name corresponds to the name of the src subdirectory or all.Build script examples
pwd # check that you're in the top-level directory of this repository, path should end in "/stan-dev/docs"
python build.py 2 35 # creates directory docs/2_35 as needed; populates it will all generated documentation
python build.py 2 35 website # builds the docs website in docs/2_35
python build.py 2 35 pdf functions-reference # builds only the pdf version of the Stan functions reference, resulting document is docs/2_35/functions-reference-2_35.pdf
python build.py 2 35 pdf all # builds all pdfs from the Stan documentation set, resulting pdfs are in docs/2_35
Additional scripts
The release process generates a new documentation set and adds links and redirects across the docset.
add_redirects.py manages the redirects from unversioned links to the latest version.link_to_latest.py adds the "latest version" link into a docset.The Stan Functions Reference contains HTML comments which describe the function signature for all functions. The script extract_function_sigs.py is used to scrape these signatures into a plain text file.
.qmd file in the correct src directory._quarto.yml file for that manual (in the same directory).src/_quarto.yml file; this controls the website navigation for that manual.This repository uses
GitHub Pages
to serve the
project pages site
with URL https://mc-stan.org/docs.
The publishing strategy is to serve the contents of the directory docs on branch master.
The docs directory contains an empty file named .nojekyll so that GitHub will treat the contents
as pre-generated HTML instead of trying to run jekyll.
(top 30 of 96)
TeX
80.6%
Python
15.7%
Lua
2.8%