No description https://docs.marwan.ma
  • HTML 91.8%
  • CSS 3.1%
  • JavaScript 2.5%
  • Python 2.4%
  • Shell 0.2%
Find a file
MARWAN docs c1cd0cfe02 Publish the Campus Networks design concepts deck
New page tech/campus-networks-design-concepts.md with the slide viewer, added
to site.yml and to the overview course list as part 2.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-12 23:15:46 +00:00
build Parse slides blocks line by line so titles may contain a colon 2026-11-12 15:33:00 +00:00
deploy Go-live fixes: 403 for unsigned hooks, header-safe caching, no local preview docs 2026-11-12 18:09:39 +00:00
image Move HARICA chain certificates next to harica-ca.md so its links resolve 2026-11-12 15:30:26 +00:00
tech Publish the Campus Networks design concepts deck 2026-11-12 23:15:46 +00:00
theme Update builder: slide viewer, media folder, tracked files only 2026-11-12 15:29:47 +00:00
.gitignore Update builder: slide viewer, media folder, tracked files only 2026-11-12 15:29:47 +00:00
docs.png Import existing Quarto docs source 2026-11-11 14:30:05 +00:00
eduroam-setup-el9.pdf Import existing Quarto docs source 2026-11-11 14:30:05 +00:00
eduroam-sp-el9.pdf Import existing Quarto docs source 2026-11-11 14:30:05 +00:00
README.md Go-live fixes: 403 for unsigned hooks, header-safe caching, no local preview docs 2026-11-12 18:09:39 +00:00
requirements.txt Add Python builder, theme and deploy scripts 2026-11-12 14:55:57 +00:00
site.yml Publish the Campus Networks design concepts deck 2026-11-12 23:15:46 +00:00

MARWAN docs

Source of https://docs.marwan.ma. Every push to main rebuilds and publishes the site within a few seconds. No Quarto, no manual render.

Writing a page

  1. Add tech/<name>.md. It is published at https://docs.marwan.ma/tech/<name>.html. Never rename an existing file: its URL is indexed by search engines.

  2. Start it with front matter:

    ---
    title: Install Unbound DNS on Rocky Linux 9
    description: One sentence for search results and the page intro.
    author: Your Name
    date: 2026-11-12
    tags: [dns, unbound]
    ---
    
  3. Use ## and ### for sections (they build the "On this page" menu). The title is the only #.

  4. Add the page to a section in site.yml so it appears in the sidebar and on the home page.

  5. Commit and push to main.

Markdown you can use

  • Code: ```bash, ```nginx, ```console (for $ prompts), and ```{.bash filename="/etc/raddb/clients.conf"} to show a file name.

  • Notes: ::: note, ::: tip, ::: warning, ::: important, ::: caution, closed by :::. Add a title after the kind: ::: warning Keep secrets out of git.

  • Diagrams: ```mermaid (prefer flowchart TD).

  • Slide decks: a viewer with download buttons. Copy the PDF (and PPTX) to the server folder /srv/marwan-docs/media/tech/, not to git, then write:

    ```slides
    pdf: 4-layer2-switching.pdf
    pptx: 4-layer2-switching.pptx
    title: Layer 2 switching
    ```
    
  • Tables, links to other pages ([text](other-page.md) or other-page.html), images next to the page.

Layout

Path What it is
tech/ the pages, plus images and files they link to
site.yml site title, description and the navigation
theme/ Jinja2 templates and CSS/JS/fonts (Teal design)
build/build.py the renderer
deploy/ server side: deploy and rollback scripts, webhook and nginx config

Server

The site runs on the docs VM. A Forgejo push webhook calls /hooks/marwan-docs, which runs deploy/deploy.sh as user docs. That pulls main into /srv/marwan-docs/repo, builds into /srv/marwan-docs/releases/<time>-<commit>, and repoints the /srv/marwan-docs/live symlink that nginx serves. A failed build leaves the site as it was. deploy/rollback.sh switches back to the previous release. Files in /srv/marwan-docs/media/ are served under the same URLs as the site and survive every deploy.