Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
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
33 changes: 33 additions & 0 deletions .github/workflows/docs-build-check.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: Docs Build Check

on:
pull_request:
push:
branches:
- master
- admincom/docs-improvements

permissions:
contents: read

jobs:
build-check:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Install uv
uses: astral-sh/setup-uv@v6
with:
enable-cache: true
cache-dependency-glob: "uv.lock"
python-version: "3.11"

- name: Install dependencies
run: uv sync --locked

- name: Build docs (strict)
run: uv run mkdocs build --strict
54 changes: 54 additions & 0 deletions .github/workflows/docs-deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
name: Deploy Docs Preview

on:
push:
branches:
- master
- admincom/docs-improvements
workflow_dispatch:

permissions:
contents: write

concurrency:
group: docs-deploy
cancel-in-progress: false

jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Install uv
uses: astral-sh/setup-uv@v6
with:
enable-cache: true
cache-dependency-glob: "uv.lock"
python-version: "3.11"

- name: Install dependencies
run: uv sync --locked

- name: Configure git identity for the gh-deploy commit
run: |
git config user.name "github-actions[bot]"
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"

# This fork's preview serves at a dedicated dev domain, docs-dev.peeringdb.dk,
# distinct from upstream production's docs.peeringdb.com. The domain is set
# as a repo variable (Settings -> Secrets and variables -> Actions ->
# Variables -> SITE_URL_OVERRIDE) rather than hardcoded here, so it can be
# changed without editing this file. It feeds both scripts/generate_cname.py
# (writes docs/CNAME) and scripts/generate_blog_atom_feed.py (the feed's
# self-link), so both stay in sync with wherever this deploy actually serves
# from. Safe by default if this branch is ever merged upstream: with no
# variable set there, both hooks fall back to mkdocs.yml's site_url
# (docs.peeringdb.com), so no manual CNAME edit is needed at merge time.
- name: Deploy to gh-pages
env:
SITE_URL_OVERRIDE: ${{ vars.SITE_URL_OVERRIDE }}
run: uv run mkdocs gh-deploy --clean --force --no-history
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,8 @@ site/
.DS_Store
venv/
.venv/
docs/blog/atom.xml
docs/release_notes/atom.xml
docs/CNAME
__pycache__/
*.pyc
1 change: 0 additions & 1 deletion docs/CNAME

This file was deleted.

2 changes: 2 additions & 0 deletions docs/blogs.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

PeeringDB blogs provide deeper insight into the releases and product roadmap.

Subscribe via [Atom feed](blog/atom.xml) to get notified of new posts.

## 2026
- [Do We Still Need Public Beta?](blog/public_beta.md) - July 26, 2026
- [Data Quality for Networks](blog/data_quality_for_networks.md) - July 1, 2026
Expand Down
42 changes: 42 additions & 0 deletions docs/extra.css
Original file line number Diff line number Diff line change
Expand Up @@ -169,4 +169,46 @@ a:hover {
.note .admonition-title {
color: #00203e;
background-color: #f1f1f1;
}

/* 3.5rem matches the nav bar's own documented height (see mkdocs's base.css:
`scroll-padding-top: calc(3.5rem + 20px)`), which is exactly what .nav-link's
1rem top + 1rem bottom padding plus Bootstrap's 1.5rem default line-height add
up to. Setting the banner to the same value keeps it visually equal-height
without measuring anything at runtime. */
.fork-banner {
background-color: #e6e6fa;
color: #ff69b4;
font-family: "Comic Sans MS", "Comic Sans", cursive;
display: flex;
align-items: center;
justify-content: center;
height: 3.5rem;
font-size: 1.1rem;
padding: 0 8px;
box-sizing: border-box;
overflow: hidden;
position: -webkit-sticky;
position: sticky;
top: 0;
z-index: 1031; /* above Bootstrap's .navbar.fixed-top (1030), so it stays on top when both stick */
}

/* The nav bar normally sticks at the very top (base.css's .navbar.fixed-top
override). With the banner also stuck at top:0 above it, offset the nav down
by the banner's own height so they stack together instead of overlapping. */
body.has-fork-banner .navbar.fixed-top {
top: 3.5rem;
}

.fork-banner-text {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
max-width: 100%;
}

.fork-banner a {
color: #ff1493;
text-decoration: underline;
}
2 changes: 2 additions & 0 deletions docs/release_notes/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ The release notes list the GitHub issues and a summary of what has changed in Pe

Each new release has a one week beta test period on the [beta server](https://beta.peeringdb.com/) before it goes live. The beta and new releases are announced on the [PeeringDB Announce Mailing List](https://lists.peeringdb.com/cgi-bin/mailman/listinfo/pdb-announce) and on [Facebook](https://www.facebook.com/peeringdb), [LinkedIn](https://www.linkedin.com/company/peeringdb) and [X](https://x.com/PeeringDB).

Subscribe via [Atom feed](atom.xml) to get notified of new releases.

## Release schedule

This schedule provides planned dates for PeeringDB’s future releases. We are sharing these dates to help PeeringDB users plan ahead for testing new and improved features in beta. We also want to help volunteer developers know the date on which their code changes are needed for internal testing before beta release.
Expand Down
6 changes: 6 additions & 0 deletions mkdocs.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
site_name: PeeringDB Docs
site_url: https://docs.peeringdb.com/

hooks:
- scripts/generate_blog_atom_feed.py
- scripts/generate_release_notes_atom_feed.py
- scripts/generate_cname.py
- scripts/generate_banner.py
# This line adds the "Edit on GitHub" link
#repo_url: https://github.com/peeringdb/docs
theme:
Expand Down
Loading
Loading