Skip to content
Open
Show file tree
Hide file tree
Changes from 19 commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
4e83e3d
initial commit for myst port
brianhawthorne Oct 21, 2025
145fd85
continue port to myst
brianhawthorne Oct 21, 2025
7e0a4b6
remove hugo theme git submodule
brianhawthorne Oct 23, 2025
e4aec42
remove .gitmodules
brianhawthorne Oct 23, 2025
a621f50
move static css and image assets under content
brianhawthorne Oct 23, 2025
8986616
clean up .gitignore
brianhawthorne Oct 23, 2025
e6760be
simplify content file/directory structure
brianhawthorne Oct 23, 2025
2aee3e1
consolidate myst site source under site/ directory
brianhawthorne Oct 23, 2025
de77e43
remove irrelevant pre-commit items (python stuff)
brianhawthorne Oct 23, 2025
846a8b9
add super minimal info to README.md
brianhawthorne Oct 23, 2025
028c639
convert /about page with tools team avatars
brianhawthorne Oct 23, 2025
e1913ee
configuration for circleci PR previews
brianhawthorne Oct 25, 2025
a36e8a3
pre-commit made some changes
brianhawthorne Oct 25, 2025
19a35c2
remove netlify config
brianhawthorne Oct 25, 2025
c7c85f6
remove Makefile
brianhawthorne Oct 25, 2025
2e22e1c
update Makefile; add team-query to generate team gallery
brianhawthorne Oct 25, 2025
df5a8fc
update team-query script to output mystmd format
brianhawthorne Oct 26, 2025
4b21e54
convert remaining pages
brianhawthorne Oct 27, 2025
10f36d3
tweak layout; add footer links
brianhawthorne Oct 27, 2025
bac88a4
implement PR feedback
brianhawthorne Nov 5, 2025
00cd0ff
fix make target that runs team-query
brianhawthorne Nov 5, 2025
73cc248
simplify sticky footer css
brianhawthorne Dec 4, 2025
4df23ca
simplify internal links
brianhawthorne Dec 5, 2025
87c8e78
fix top nav logo rendering in dark mode
brianhawthorne Dec 5, 2025
98383eb
remove site dir from .gitignore
brianhawthorne Dec 5, 2025
ba1454f
fix grid spacing
brianhawthorne Dec 13, 2025
83d1cc6
hide top nav hamburger menu button at smaller screen widths
brianhawthorne Dec 16, 2025
7f51e11
remove unnecessary "about" subdirectory
brianhawthorne Dec 16, 2025
940f817
remove unused table of contents config from myst.yml
brianhawthorne Dec 16, 2025
a293356
get social icons rendering in footer via scienceicons plugin with mod…
brianhawthorne Jan 7, 2026
c49ce64
proper footer styling (make it like hugo theme)
brianhawthorne Jan 8, 2026
60a67de
add top nav links
brianhawthorne Jan 9, 2026
ac8a800
use real social link urls
brianhawthorne Jan 10, 2026
96f7ac1
merge main into mystmd-port
brianhawthorne Jan 10, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
51 changes: 51 additions & 0 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
version: 2.1

jobs:
build-site:
docker:
- image: cimg/python:3.13
environment:
SITE_SRC: site
SITE_PATH: ${SITE_SRC}/_build/html

steps:
- checkout

- restore_cache:
keys:
- node-cache-v1

- run:
name: Install Node.js
command: |
curl -fsSL https://deb.nodesource.com/setup_24.x | sudo -E bash -
sudo apt-get install -y nodejs

- run:
name: Install mystmd
command: |
npm install mystmd

- save_cache:
key: node-cache-v1
paths:
- node_modules

- run:
name: Build site
command: |
export BASE_URL="/output/job/$CIRCLE_WORKFLOW_JOB_ID/artifacts/0/${SITE_PATH}"

(cd ${SITE_SRC} && npx myst build --html)

## Temporary hack to remove unused thebe JS
rm ${SITE_PATH}/*thebe*.js

- store_artifacts:
path: ${SITE_PATH}

workflows:
version: 2
build-and-site:
jobs:
- build-site
22 changes: 22 additions & 0 deletions .github/workflows/circleci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name: circleci

on: [status]
permissions: read-all

jobs:
circleci_artifacts_redirector_job:
runs-on: ubuntu-latest
if: "${{ github.event.context == 'ci/circleci: build-site' }}"
permissions:
statuses: write
name: Run CircleCI artifacts redirector
steps:
- name: GitHub Action step
uses: scientific-python/circleci-artifacts-redirector-action@839631420e45a08af893032e5a5e8843bf47e8ff
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
api-token: ${{ secrets.CIRCLECI_ARTIFACT_REDIRECTOR_TOKEN }}
artifact-path: 0/site/_build/html/index.html
circleci-jobs: build-site
job-title: "--> site preview <--"
domain: circle.scientific-python.dev
166 changes: 5 additions & 161 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,167 +1,11 @@
# Standard
.hugo*
*~
resources/
public/
.DS_Store

# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class
# Vim swap files
*.swp

# C extensions
*.so
# MyST build artifacts
_build

# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST

# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
*.py,cover
.hypothesis/
.pytest_cache/
cover/

# Translations
*.mo
*.pot

# Django stuff:
*.log
local_settings.py
db.sqlite3
db.sqlite3-journal

# Flask stuff:
instance/
.webassets-cache

# Scrapy stuff:
.scrapy

# Sphinx documentation
docs/_build/

# PyBuilder
.pybuilder/
target/

# Jupyter Notebook
.ipynb_checkpoints

# IPython
profile_default/
ipython_config.py

# pyenv
# For a library or package, you might want to ignore these files since the code is
# intended to run in multiple environments; otherwise, check them in:
# .python-version

# pipenv
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
# However, in case of collaboration, if having platform-specific dependencies or dependencies
# having no cross-platform support, pipenv may install dependencies that don't work, or not
# install all needed dependencies.
#Pipfile.lock

# poetry
# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
# This is especially recommended for binary packages to ensure reproducibility, and is more
# commonly ignored for libraries.
# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
#poetry.lock

# pdm
# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
#pdm.lock
# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
# in version control.
# https://pdm.fming.dev/#use-with-ide
.pdm.toml

# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
__pypackages__/

# Celery stuff
celerybeat-schedule
celerybeat.pid

# SageMath parsed files
*.sage.py

# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/

# Spyder project settings
.spyderproject
.spyproject

# Rope project settings
.ropeproject

# mkdocs documentation
/site

# mypy
.mypy_cache/
.dmypy.json
dmypy.json

# Pyre type checker
.pyre/

# pytype static type analyzer
.pytype/

# Cython debug symbols
cython_debug/

# PyCharm
# JetBrains specific template is maintained in a separate JetBrains.gitignore that can
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
# 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/
node_modules
3 changes: 0 additions & 3 deletions .gitmodules

This file was deleted.

22 changes: 3 additions & 19 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: 3e8a8703264a2f4a69428a0aa4dcb512790b2c8c # frozen: v6.0.0
rev: v6.0.0
hooks:
- id: check-added-large-files
- id: check-ast
Expand All @@ -19,30 +19,14 @@ repos:
- id: trailing-whitespace

- repo: https://github.com/pre-commit/mirrors-prettier
rev: f12edd9c7be1c20cfa42420fd0e6df71e42b51ea # frozen: v4.0.0-alpha.8
rev: v4.0.0-alpha.8
hooks:
- id: prettier
files: \.(css|md|yml|yaml)
args: [--prose-wrap=preserve]

- repo: https://github.com/psf/black-pre-commit-mirror
rev: fe95161893684893d68b1225356702ca71f8d388 # frozen: 25.9.0
hooks:
- id: black

- repo: https://github.com/asottile/blacken-docs
rev: dda8db18cfc68df532abf33b185ecd12d5b7b326 # frozen: 1.20.0
hooks:
- id: blacken-docs

- repo: https://github.com/asottile/pyupgrade
rev: 37bfa06d791fd38fb4e54910b36a2ff57641b074 # frozen: v3.20.0
hooks:
- id: pyupgrade
args: [--py38-plus]

- repo: https://github.com/codespell-project/codespell
rev: "63c8f8312b7559622c0d82815639671ae42132ac" # frozen: v2.4.1
rev: "v2.4.1"
hooks:
- id: codespell
args: ["-L", "ist,cant,connexion,multline"]
Expand Down
56 changes: 19 additions & 37 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -4,43 +4,25 @@
help:
@grep ": ##" Makefile | grep -v grep | tr -d '#'

themes/scientific-python-hugo-theme:
@if [ ! -d "$<" ]; then \
echo "*** ERROR: missing theme" ; \
echo ; \
echo "It looks as though you are missing the themes directory."; \
echo "You need to add the scientific-python-hugo-theme as a submodule."; \
echo ; \
echo "Please see https://theme.scientific-python.org/user_guide/getstarted/"; \
echo ; \
exit 1; \
fi

themes: themes/scientific-python-hugo-theme

TEAMS_DIR = content/about
TEAMS = tools-team
TEAMS_QUERY = python themes/scientific-python-hugo-theme/tools/team_query.py

$(TEAMS_DIR)/%.toml:
$(TEAMS_QUERY) --org scientific-python --team "$*" > $(TEAMS_DIR)/$*.toml

teams-clean:
for team in $(TEAMS); do \
rm -f $(TEAMS_DIR)/$${team}.toml ;\
done

teams: ## generates team gallery pages
teams: | teams-clean $(patsubst %,$(TEAMS_DIR)/%.toml,$(TEAMS))

html: ## Build site in `./public`
html: themes
hugo

serve: ## Serve site, typically on http://localhost:1313
serve: themes
@hugo --printI18nWarnings server
TEAM_DIR = site/about

$(TEAM_DIR)/team.md:
$(TEAM_DIR)/team-query --org scientific-python --team "tools-team" > $(TEAM_DIR)/team.md

team-clean:
rm -f $(TEAM_DIR)/team.md ;\

team: ## generates team gallery
team: | team-clean $(TEAM_DIR)/team.md

html: ## Build site in `./site/_build`
html:
(cd site; myst build --html;)

serve: ## Serve site, typically on http://localhost:3000
serve:
(cd site; myst start;)

clean: ## Remove built files
clean:
rm -rf public
rm -rf site/_build
11 changes: 11 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1 +1,12 @@
# tools.scientific-python.org

This repository hosts the source code for the website https://tools.scientific-python.org.

The site is implemented with the mystmd book template.

To run locally:

```
cd site
myst start
```
3 changes: 0 additions & 3 deletions assets/css/custom.css

This file was deleted.

Loading