Skip to content

Commit 4eeee34

Browse files
authored
Merge pull request #21 from kitware-resonant/build
Refactor build system
2 parents 320c833 + 80ce2db commit 4eeee34

37 files changed

+758
-13636
lines changed

.github/workflows/doc.yml

Lines changed: 0 additions & 45 deletions
This file was deleted.

.github/workflows/pages.yml

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
name: pages
2+
on:
3+
pull_request:
4+
push:
5+
branches:
6+
- master
7+
concurrency:
8+
# Only run the latest workflow per-branch
9+
group: "${{ github.workflow }}-${{ github.ref_name }}"
10+
cancel-in-progress: true
11+
jobs:
12+
build:
13+
runs-on: ubuntu-latest
14+
steps:
15+
- name: Checkout
16+
uses: actions/checkout@v4
17+
- name: Set up Python
18+
uses: actions/setup-python@v5
19+
with:
20+
python-version: "3.x"
21+
- name: Install Poetry
22+
run: |
23+
pip install --upgrade pip
24+
pip install poetry
25+
- name: Install project
26+
run: |
27+
poetry install
28+
- name: Build docs
29+
run: |
30+
poetry run task build
31+
- name: Upload GitHub Pages artifact
32+
uses: actions/upload-pages-artifact@v3
33+
with:
34+
path: "build/html"
35+
deploy:
36+
needs: build
37+
if: github.event_name == 'push' && github.ref == 'refs/heads/master'
38+
permissions:
39+
pages: write
40+
id-token: write
41+
environment:
42+
name: github-pages
43+
url: ${{ steps.deployment.outputs.page_url }}
44+
runs-on: ubuntu-latest
45+
steps:
46+
- name: Deploy to GitHub Pages
47+
id: deployment
48+
uses: actions/deploy-pages@v4

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
1-
resonant_docs/build
1+
/build
2+
23
.DS_Store

CNAME

Whitespace-only changes.

README.md

Lines changed: 6 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,8 @@
1-
# resonant
1+
# Resonant
2+
Resonant marketing website.
23

3-
Resonant documentation materials.
4-
5-
## Build instructions
6-
7-
You can use `poetry` to build and view the documentation locally. There are two
8-
ways to do it.
9-
10-
11-
### Static build
12-
13-
1. Run `poetry install` to build the dependencies.
14-
2. Run `poetry run task build` to build the documentation.
15-
3. Run `poetry run task serve` to serve the docs on port 8000 (or `poetry run
16-
task serve 8001` to use a different port of your choice).
17-
18-
### Watch mode build.
19-
20-
1. Run `poetry install` to build the dependencies.
21-
2. Run `poetry run task watch` to build and serve the docs on port 8000 (or
22-
`poetry run task watch PORT=8001` to use a different port of your choice).
4+
## Development instructions
5+
1. [Install Poetry](https://python-poetry.org/docs/#installation)
6+
2. Run `poetry install` to build the dependencies.
7+
2. Run `poetry run task watch` to build and serve the docs.
238
Changes to the documentation source code will cause an automatic rebuild.

poetry.lock

Lines changed: 575 additions & 311 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pyproject.toml

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,26 @@
11
[tool.poetry]
22
name = "resonant_docs"
33
version = "0.1.0"
4-
description = "Documentation for Resonant"
4+
description = "Resonant marketing website"
55
authors = ["Kitware D&A Team <[email protected]>"]
66

77
[tool.poetry.dependencies]
8-
python = "^3.8"
8+
python = "^3.12"
99

10-
[tool.poetry.dev-dependencies]
11-
Sphinx = "^4.5.0"
12-
sphinx-copybutton = "^0.5.0"
13-
sphinx-notfound-page = "^0.8"
14-
sphinx-panels = "^0.6.0"
15-
furo = "^2022.4.7"
16-
taskipy = "^1.10.2"
17-
sphinx-autobuild = "^2021.3.14"
10+
[tool.poetry.group.docs.dependencies]
11+
sphinx = "^7.4.5"
12+
sphinx-copybutton = "^0.5.2"
13+
sphinx-design = "^0.6.0"
14+
furo = "^2024.5.6"
15+
16+
[tool.poetry.group.dev.dependencies]
17+
taskipy = "^1.13.0"
18+
sphinx-autobuild = "^2024.4.16"
1819

1920
[tool.taskipy.tasks]
20-
build = { cmd = "make html -C doc", help = "Build the HTML documentation" }
21-
serve = { cmd = "python -m http.server --bind 127.0.0.1 -d doc/build/html", help = "Serve the built docs (supply an optional port number, 8000 by default)" }
22-
watch = { cmd = "make livehtml -C doc", help = "Build the HTML documentation in watch mode" }
21+
pre_build = "rm -rf ./build"
22+
build = "sphinx-build -M html resonant_docs build"
23+
watch = "sphinx-autobuild --port 0 resonant_docs build"
2324

2425
[build-system]
2526
requires = ["poetry-core>=1.0.0"]

requirements_doc.txt

Lines changed: 0 additions & 5 deletions
This file was deleted.

resonant_docs/Makefile

Lines changed: 0 additions & 24 deletions
This file was deleted.

resonant_docs/conf.py

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
# -- Project information -----------------------------------------------------
2+
project = "Resonant"
3+
copyright = "2024, Kitware, Inc."
4+
author = "Kitware, Inc."
5+
6+
# -- General configuration ---------------------------------------------------
7+
extensions = [
8+
"sphinx_copybutton",
9+
"sphinx_design",
10+
]
11+
12+
# List of patterns, relative to source directory, that match files and
13+
# directories to ignore when looking for source files.
14+
# This pattern also affects html_static_path and html_extra_path.
15+
exclude_patterns = ["_build", "Thumbs.db", ".DS_Store", "**.ipynb_checkpoints"]
16+
17+
# The name of the Pygments (syntax highlighting) style to use.
18+
pygments_style = "friendly"
19+
20+
smartquotes = True
21+
22+
# -- Options for HTML output -------------------------------------------------
23+
24+
# The theme to use for HTML and HTML Help pages. See the documentation for
25+
# a list of builtin themes.
26+
html_theme = "furo"
27+
28+
html_title = project
29+
html_logo = "_static/img/resonant.png"
30+
html_favicon = "_static/img/favicon.png"
31+
html_extra_path = [
32+
"../CNAME",
33+
]
34+
35+
html_theme_options = {
36+
"footer_icons": [
37+
{
38+
"name": "Kitware",
39+
"url": "https://kitware.com/",
40+
"html": "Kitware",
41+
"class": "",
42+
},
43+
{
44+
"name": "Resonant",
45+
"url": "https://github.com/kitware-resonant",
46+
"html": "Resonant",
47+
"class": "",
48+
},
49+
],
50+
}
51+
52+
# Copy button customization
53+
# exclude traditional Python prompts from the copied code
54+
copybutton_prompt_text = r">>> ?|\.\.\. "
55+
copybutton_prompt_is_regexp = True

resonant_docs/source/explanation/resonant.rst renamed to resonant_docs/explanation/resonant.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ applications with Django, Django Rest Framework (DRF), PostgreSQL, and Celery.
88
Ecosystem
99
---------
1010

11-
Functionality is broken into `many tagged repositories on GitHub <https://github.com/orgs/kitware-resonant/repositories?`_.
11+
Functionality is broken into `many repositories on GitHub <https://github.com/kitware-resonant>`_.
1212
Each does one thing well and can generally be used on its own.
1313

1414
* `django-s3-file-field <https://github.com/kitware-resonant/django-s3-file-field>`_

resonant_docs/index.rst

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
Resonant
2+
========
3+
4+
.. toctree::
5+
:caption: Contents
6+
:hidden:
7+
8+
self
9+
10+
11+
.. toctree::
12+
:caption: Explanation
13+
:hidden:
14+
15+
explanation/index
16+
17+
18+
*Resonant* is the Kitware Data and Analytics team’s framework we use to create
19+
rich web applications and APIs tailored to specific kinds of data and tasks.
20+
21+
22+
Core Values
23+
-----------
24+
.. grid:: 1 2 2 2
25+
:gutter: 2
26+
27+
.. grid-item-card:: Customer Intimacy
28+
29+
We work closely with our customers to understand their business and needs
30+
to properly model their domain in the web solutions we build for them.
31+
32+
.. grid-item-card:: Tailored Solutions
33+
34+
We develop custom, bespoke applications for our customers' needs and
35+
circumstances, maximizing the chance of customer success.
36+
37+
.. grid-item-card:: Operational Efficiency
38+
39+
We focus on the most pressing and important problems, and we leave the more
40+
common problems to the open source software we build upon.
41+
42+
.. grid-item-card:: Software Sustainability
43+
44+
We value collaborative, long term, mutually beneficial customer
45+
relationships and we let that reflect in our desire to make maintainable,
46+
long-lived projects.
47+
48+
49+
Key Advantages
50+
--------------
51+
* Web framework with a focus on specialized (scientific) applications
52+
* Boilerplate decisions are made for you
53+
* Focus on the choices that are most relevant for your project’s requirements
54+
* Rich set of out-of-the box features: user management, authentication, etc.
55+
* File upload/download management to S3
56+
* Initial solutions to data processing
57+
* Template for front-end projects

resonant_docs/make.bat

Lines changed: 0 additions & 35 deletions
This file was deleted.

0 commit comments

Comments
 (0)