Skip to content

Commit

Permalink
Initial setup for Sphinx site and build workflows
Browse files Browse the repository at this point in the history
  • Loading branch information
kberzinch committed Jun 19, 2024
1 parent 231ac0c commit 3fb8b1b
Show file tree
Hide file tree
Showing 11 changed files with 1,130 additions and 0 deletions.
16 changes: 16 additions & 0 deletions .github/matchers.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"problemMatcher": [
{
"owner": "sphinx-build",
"pattern": [
{
"regexp": "^\\/home\\/runner\\/work\\/business-process-manual\\/business-process-manual\\/([a-zA-Z-\\.\\/]+):(\\d+):\\s+([a-zA-Z]+):\\s+(.+)$",
"file": 1,
"line": 2,
"severity": 3,
"message": 4
}
]
}
]
}
42 changes: 42 additions & 0 deletions .github/workflows/build-artifact.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
---
name: Build Artifact

on:
workflow_call:

jobs:
build-artifact:
name: Build Artifact
runs-on: ubuntu-24.04

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Register problem matchers
run: echo "::add-matcher::.github/matchers.json"

- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: '3.12'

- name: Setup Poetry
uses: abatilo/actions-poetry@v3

- name: Cache the virtualenv
uses: actions/cache@v4
with:
path: ~/.cache/pypoetry
key: venv-${{ hashFiles('poetry.lock') }}

- name: Install Poetry dependencies
run: poetry install

- name: Build Sphinx docs
run: poetry run sphinx-build -M dirhtml . _build

- name: Upload GitHub Pages artifact
uses: actions/upload-pages-artifact@v3
with:
path: _build/
12 changes: 12 additions & 0 deletions .github/workflows/build-main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
name: Build

on:
push:
branches:
- main

jobs:
build-artifact:
name: Build Artifact
uses: ./.github/workflows/build-artifact.yml
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -160,3 +160,5 @@ cython_debug/
# and can be added to the global gitignore or merged into this file. For a more nuclear
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
#.idea/

_build/
20 changes: 20 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Minimal makefile for Sphinx documentation
#

# You can set these variables from the command line, and also
# from the environment for the first two.
SPHINXOPTS ?=
SPHINXBUILD ?= sphinx-build
SOURCEDIR = .
BUILDDIR = _build

# Put it first so that "make" without argument is like "make help".
help:
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)

.PHONY: help Makefile

# Catch-all target: route all unknown targets to Sphinx using the new
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
%: Makefile
poetry run $(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
83 changes: 83 additions & 0 deletions conf.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
# Configuration file for the Sphinx documentation builder.
#
# For the full list of built-in configuration values, see the documentation:
# https://www.sphinx-doc.org/en/master/usage/configuration.html

# -- Project information -----------------------------------------------------
# https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information

project = 'Business Process Manual'
copyright = '2024 RoboJackets, Inc.'
author = 'Kristaps Berzinch'

# -- General configuration ---------------------------------------------------
# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration

extensions = [
"sphinx.ext.todo",
"sphinx.ext.extlinks",
"sphinx.ext.autosectionlabel",
"sphinxext.opengraph",
]

templates_path = ['_templates']
exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']

nitpicky = True

todo_include_todos = True
todo_emit_warnings = True

extlinks = {
'slack': ('https://robojackets.slack.com/app_redirect?channel=%s', '#%s')
}
extlinks_detect_hardcoded_links = True

ogp_site_url = "https://bpm.robojackets.org"
ogp_social_cards = {
"enable": False
}
ogp_use_first_image = False
ogp_enable_meta_description = False

# -- Options for HTML output -------------------------------------------------
# https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output

html_theme = 'furo'
html_static_path = ['_static']
html_theme_options = {
"source_repository": "https://github.com/RoboJackets/business-process-manual/",
"source_branch": "main",
"source_directory": "/",
"footer_icons": [
{
"name": "Slack",
"url": "https://robojackets.slack.com/app_redirect?channel=business-process-manual",
"html": """
<svg stroke="currentColor" fill="currentColor" stroke-width="0" version="1.1" viewBox="0 0 122.8 122.8" xmlns="http://www.w3.org/2000/svg" style="padding-right: 0.25rem">
<g transform="translate(-73.6,-73.6)">
<path d="m99.4 151.2c0 7.1-5.8 12.9-12.9 12.9s-12.9-5.8-12.9-12.9 5.8-12.9 12.9-12.9h12.9z"/>
<path d="m105.9 151.2c0-7.1 5.8-12.9 12.9-12.9s12.9 5.8 12.9 12.9v32.3c0 7.1-5.8 12.9-12.9 12.9s-12.9-5.8-12.9-12.9v-32.3z"/>
<path d="m118.8 99.4c-7.1 0-12.9-5.8-12.9-12.9s5.8-12.9 12.9-12.9 12.9 5.8 12.9 12.9v12.9z"/>
<path d="m118.8 105.9c7.1 0 12.9 5.8 12.9 12.9s-5.8 12.9-12.9 12.9h-32.3c-7.1 0-12.9-5.8-12.9-12.9s5.8-12.9 12.9-12.9h32.3z"/>
<path d="m170.6 118.8c0-7.1 5.8-12.9 12.9-12.9s12.9 5.8 12.9 12.9-5.8 12.9-12.9 12.9h-12.9z"/>
<path d="m164.1 118.8c0 7.1-5.8 12.9-12.9 12.9s-12.9-5.8-12.9-12.9v-32.3c0-7.1 5.8-12.9 12.9-12.9s12.9 5.8 12.9 12.9z"/>
<path d="m151.2 170.6c7.1 0 12.9 5.8 12.9 12.9s-5.8 12.9-12.9 12.9-12.9-5.8-12.9-12.9v-12.9z"/>
<path d="m151.2 164.1c-7.1 0-12.9-5.8-12.9-12.9s5.8-12.9 12.9-12.9h32.3c7.1 0 12.9 5.8 12.9 12.9s-5.8 12.9-12.9 12.9z"/>
</g>
</svg>
""",
"class": "",
},
{
"name": "GitHub",
"url": "https://github.com/RoboJackets/business-process-manual",
"html": """
<svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 16 16">
<path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0 0 16 8c0-4.42-3.58-8-8-8z"></path>
</svg>
""",
"class": "",
},
],
}
21 changes: 21 additions & 0 deletions index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
.. Business Process Manual documentation master file, created by
sphinx-quickstart on Wed Jun 19 09:30:53 2024.
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.
Welcome to Business Process Manual's documentation!
===================================================

.. toctree::
:maxdepth: 2
:caption: Contents:

nested-directory/index


Indices and tables
==================

* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`
35 changes: 35 additions & 0 deletions make.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
@ECHO OFF

pushd %~dp0

REM Command file for Sphinx documentation

if "%SPHINXBUILD%" == "" (
set SPHINXBUILD=sphinx-build
)
set SOURCEDIR=.
set BUILDDIR=_build

%SPHINXBUILD% >NUL 2>NUL
if errorlevel 9009 (
echo.
echo.The 'sphinx-build' command was not found. Make sure you have Sphinx
echo.installed, then set the SPHINXBUILD environment variable to point
echo.to the full path of the 'sphinx-build' executable. Alternatively you
echo.may add the Sphinx directory to PATH.
echo.
echo.If you don't have Sphinx installed, grab it from
echo.https://www.sphinx-doc.org/
exit /b 1
)

if "%1" == "" goto help

%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
goto end

:help
%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%

:end
popd
2 changes: 2 additions & 0 deletions nested-directory/index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
This is a nested directory index
================================
Loading

0 comments on commit 3fb8b1b

Please sign in to comment.