website/README.md

1.7 KiB

ADMStaff website

https://students.cs.unibo.it

This project uses Vue.js.

Content

The site content lives in content. Markdown files are used directly by the site, while archetypes contains the Hugo-style templates used to create new content consistently.

Create a new page from the archetype with:

pnpm new-content events/my_new_event

The command creates content/events/my_new_event.md and fills front matter defaults:

  • title: derived from the file name.
  • date: current local timestamp with timezone.
  • author: ADMStaff.

Any kind of attachment (images, PDFs, etc.) can be placed in static/img, and referenced in markdown with /img/filename.ext.

Optional overrides:

pnpm new-content content/projects/my_tool.md --title "My Tool" --date "2026-04-14T10:00:00+02:00" --author "ADMStaff"

Commands

pnpm install
pnpm dev
pnpm build
pnpm preview
pnpm new-content events/my_new_event
pnpm format
  • pnpm dev: starts the local development server.
  • pnpm build: creates the production build and generates OG images.
  • pnpm preview: previews the generated build locally.
  • pnpm new-content: creates a new Markdown file in content/ from archetypes/default.md.
  • pnpm format: formats the project code and markdown files.

Wiki

The wiki is a git submodule in content/wiki/adm.wiki.

To sync it:

git submodule update --init --recursive
cd content/wiki/adm.wiki
git pull
cd ../../..
python format_wiki.py

The format_wiki.py script adapts the wiki files to the format used by the site.

Deploy

Deployment starts from the local build:

pnpm build

The build generates the dist folder, which contains the static files to publish.