Skip to content

Commit 6118e54

Browse files
authored
Merge pull request #36 from osg-htc/feat/persona-site-management
feat(site): web-site-management doc, persona CSS & banners, jinja partial
2 parents a1aa6b3 + 2e6ddcf commit 6118e54

File tree

7 files changed

+103
-0
lines changed

7 files changed

+103
-0
lines changed

docs/css/extra.css

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,3 +102,24 @@ background-color: #1f2326;
102102
.md-nav__source {
103103
background-color: #1f2326;
104104
}
105+
106+
/* Persona banner styles */
107+
.persona-banner {
108+
border-left: 4px solid #2E86AB;
109+
background-color: #f4f8fb;
110+
padding: 12px 16px;
111+
margin: 12px 0 18px 0;
112+
border-radius: 4px;
113+
}
114+
.persona-banner .title {
115+
font-weight: 600;
116+
color: #1b3765;
117+
margin: 0 0 4px 0;
118+
}
119+
.persona-banner .meta {
120+
font-size: 0.9rem;
121+
color: #244358;
122+
}
123+
.persona-quick-deploy { border-left-color: #2E86AB; }
124+
.persona-troubleshoot { border-left-color: #E07A5F; }
125+
.persona-research { border-left-color: #9B59B6; }

docs/personas/quick-deploy/landing.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,10 @@ tags: [quickstart, perfSONAR, testpoint]
1414
---
1515

1616
# Quick Deploy — perfSONAR Testpoint
17+
<div class="persona-banner persona-quick-deploy">
18+
<p class="title">Quick Deploy</p>
19+
<p class="meta">Owners: networking-team@osg-htc.org</p>
20+
</div>
1721

1822
This landing page links to minimal, tested instructions and automation to get a perfSONAR testpoint running quickly.
1923

docs/personas/research/landing.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,11 @@ tags: [architecture, research]
99

1010
# Research — Architecture & Rationale
1111

12+
<div class="persona-banner persona-research">
13+
<p class="title">Researcher</p>
14+
<p class="meta">Owners: networking-team@osg-htc.org</p>
15+
</div>
16+
1217
This area is for readers who want to understand system architecture, data pipelines, and development notes. See `architecture.md` and `data-pipeline.md` for diagrams and ingestion details.
1318

1419
Key pages:

docs/personas/troubleshoot/landing.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,11 @@ tags: [troubleshoot, playbook]
1010

1111
# Troubleshooter — Triage and Playbooks
1212

13+
<div class="persona-banner persona-troubleshoot">
14+
<p class="title">Troubleshooter</p>
15+
<p class="meta">Owners: networking-team@osg-htc.org</p>
16+
</div>
17+
1318
This landing page points you to triage checklists, playbooks, and common issue pages. Start with the triage checklist and follow the relevant playbook.
1419

1520
- `triage-checklist-v2.md`

docs/web-site-management.md

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
---
2+
title: Website Management & Ops
3+
description: Guidance for maintaining the OSG networking site and personae workflow
4+
---
5+
6+
# Website Management & Operations
7+
8+
This page outlines recommended processes for building, publishing and managing the OSG Networking site (MkDocs) with a focus on persona-based documentation. The goal is to maintain `docs/` as the single source of truth and manage generated `site/` through CI.
9+
10+
## Overview
11+
- Use `docs/` as canonical source of content.
12+
- Build & verify with `mkdocs build` locally or via CI.
13+
- Use CI to deploy to `gh-pages` or a hosted platform; avoid committing generated `site/` to the repo when possible.
14+
15+
## Local development & testing
16+
1. Create a Python virtualenv and install dependencies:
17+
~~~bash
18+
python3 -m venv .venv
19+
source .venv/bin/activate
20+
pip install -U pip
21+
pip install mkdocs mkdocs-material pymdown-extensions
22+
~~~
23+
2. Run a local preview server:
24+
~~~bash
25+
mkdocs serve -a 0.0.0.0:8000
26+
~~~
27+
3. Build the site for local verification:
28+
~~~bash
29+
mkdocs build --clean -d site
30+
~~~
31+
32+
## CI & Publishing
33+
1. CI should run the following steps on PRs and pushes to `master`:
34+
- `mkdocs build --clean` (fail on build errors)
35+
- Run link checks and the `verify-site-scripts.sh` script to assert docs/site parity for changed files (optional if not keeping `site/` in repo)
36+
- Run `autoupdate-scripts-sha.sh` to update `*.sha256` files when scripts change in docs.
37+
2. CI publish step (if you want to auto-deploy): use `peaceiris/actions-gh-pages` or `JamesIves/github-pages-deploy-action` to publish the `site/` directory to the `gh-pages` branch or a host.
38+
39+
## Keep `docs/` canonical
40+
- Prefer editing and reviewing changes to files under `docs/`.
41+
- If you must edit `site/` (e.g., for manual content patches), follow the same review process and back-propagate changes into `docs/`.
42+
43+
## Persona content & operational workflow
44+
- Persona pages live under `docs/personas/<persona>/` and should include the canonical `landing.md`, `intro.md`, and other materials.
45+
- Owners and status metadata should be included in frontmatter (owner email or team, status: proposed/draft/stable). This helps review and governance.
46+
47+
## Actions we automated
48+
- CI verification: `.github/scripts/verify-site-scripts.sh` — verifies `docs/` script copies and `site/` parity for changed scripts.
49+
- Autoupdate: `.github/scripts/autoupdate-scripts-sha.sh` — updates per script `*.sha256` and `scripts.sha256` when a script in `docs/` changes in a PR.
50+
51+
## Migration / Next steps
52+
1. Consider removing `site/` from the repo if CI deployment is configured and stable; commit `site/` removal with a PR that updates CI to publish built site to `gh-pages`.
53+
2. Add a `web-site-management.md` page (this page) with step-by-step instructions for maintainers.
54+
3. Add code owners for `docs/` and `personas` to ensure consistent review.
55+
56+
---
57+
58+
If anything in this workflow should be changed (e.g., we continue to check in site), we can adapt the CI accordingly to keep both the ease of `site/` updates and code reviewing safeguards.

mkdocs.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ nav:
4848
- 'LS registration updater (script)': 'perfsonar/tools_scripts/perfSONAR-update-lsregistration.sh'
4949
- 'LS registration helpers (README)': 'perfsonar/tools_scripts/README-lsregistration.md'
5050
- 'Link-check tools': 'tools/README.md'
51+
- 'Site management': 'web-site-management.md'
5152

5253
markdown_extensions:
5354
- admonition
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{# Persona banner partial - Displays if page.meta.persona exists #}
2+
{% if page.meta.persona %}
3+
<div class="persona-banner persona-{{ page.meta.persona | lower | replace(' ', '-') }}">
4+
<p class="title">Persona: {{ page.meta.title or page.meta.persona }}</p>
5+
{% if page.meta.owners %}
6+
<p class="meta">Owners: {{ page.meta.owners | join(', ') }}</p>
7+
{% endif %}
8+
</div>
9+
{% endif %}

0 commit comments

Comments
 (0)