Skip to content

Commit

Permalink
✨ build website based on notebooks for documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
Henry Webel committed May 29, 2024
1 parent ff83c17 commit 7cd7979
Show file tree
Hide file tree
Showing 4 changed files with 135 additions and 3 deletions.
25 changes: 22 additions & 3 deletions .github/workflows/test_tutorial.yaml
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
name: Test tutorial
name: Test tutorial and publish website

on:
- push

jobs:
format:
test_tutorial:
name: Check tutorial
runs-on: ubuntu-latest
steps:
Expand All @@ -24,4 +24,23 @@ jobs:
run: |
cd scripts
papermill 0_Tutorial.ipynb 0_Tutorial_out.ipynb -p epochs 4
website:
name: Publish notebooks as website
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Install dependencies
run: |
pip install sphinx sphinx-book-theme myst-nb
- name: Build website
run: |
cd docs
sphinx-build -n --keep-going -b html ./ ./_build/
- name: Publish workflow as website
uses: peaceiris/actions-gh-pages@v4
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: docs/_build
98 changes: 98 additions & 0 deletions docs/conf.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
# Configuration file for the Sphinx documentation builder.
#
# This file only contains a selection of the most common options. For a full
# list see the documentation:
# https://www.sphinx-doc.org/en/master/usage/configuration.html

# -- Path setup --------------------------------------------------------------

# If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here.

# -- Project information -----------------------------------------------------

project = 'CLASTER'
copyright = '2022, Marc Pielies Avelli'
author = 'Marc Pielies Avelli'
version = '2024.05.29'

# -- General configuration ---------------------------------------------------

# Add any Sphinx extension module names here, as strings. They can be
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
# ones.
extensions = [
'sphinx.ext.autodoc',
'sphinx.ext.autodoc.typehints',
'sphinx.ext.viewcode',
'sphinx.ext.intersphinx',
'myst_nb',
'sphinx.ext.napoleon',
# 'sphinx_new_tab_link',
]

# https://myst-nb.readthedocs.io/en/latest/computation/execute.html
nb_execution_mode = "off"

myst_enable_extensions = ["dollarmath", "amsmath"]

# Plolty support through require javascript library
# https://myst-nb.readthedocs.io/en/latest/render/interactive.html#plotly
# html_js_files = ["https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.4/require.min.js"]

# https://myst-nb.readthedocs.io/en/latest/configuration.html
# Execution
nb_execution_raise_on_error = True
# Rendering
nb_merge_streams = True

# Add any paths that contain templates here, relative to this directory.
templates_path = ['_templates']

# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
# This pattern also affects html_static_path and html_extra_path.
exclude_patterns = ['_build', 'Thumbs.db', 'jupyter_execute','.DS_Store']


# Intersphinx options
intersphinx_mapping = {
"python": ("https://docs.python.org/3", None),
"pandas": ("https://pandas.pydata.org/pandas-docs/stable/", None),
"scikit-learn": ("https://scikit-learn.org/stable/", None),
"matplotlib": ("https://matplotlib.org/stable/", None),
}

# -- Options for HTML output -------------------------------------------------

# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
# See:
# https://github.com/executablebooks/MyST-NB/blob/master/docs/conf.py
html_title = "CLASTER"
html_theme = "sphinx_book_theme"
# html_logo = "_static/logo-wide.svg"
# html_favicon = "_static/logo-square.svg"
html_theme_options = {
"github_url": "https://github.com/RasmussenLab/CLASTER",
"repository_url": "https://github.com/RasmussenLab/CLASTER",
"repository_branch": "master",
"home_page_in_toc": True,
"path_to_docs": "docs",
"show_navbar_depth": 1,
"use_edit_page_button": True,
"use_repository_button": True,
"use_download_button": True,
"launch_buttons": {
"colab_url": "https://colab.research.google.com"
# "binderhub_url": "https://mybinder.org",
# "notebook_interface": "jupyterlab",
},
"navigation_with_keys": False,
}

# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css".
# html_static_path = ["_static"]
14 changes: 14 additions & 0 deletions docs/index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
Claster
=======
Modeling nascent RNA transcription from chromatin landscape and structure


.. include:: ../Readme.md
:parser: myst_parser.sphinx_
:start-line: 3

.. toctree::
:maxdepth: 2
:caption: Tutorial:

nbs/0_Tutorial.ipynb
1 change: 1 addition & 0 deletions docs/nbs/0_Tutorial.ipynb

0 comments on commit 7cd7979

Please sign in to comment.