website/README.md

72 lines
1.7 KiB
Markdown

# ADMStaff website
https://students.cs.unibo.it
This project uses Vue.js.
## Content
The site content lives in [content](content). Markdown files are used directly by the site, while [archetypes](archetypes) contains the Hugo-style templates used to create new content consistently.
Create a new page from the archetype with:
```bash
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:
```bash
pnpm new-content content/projects/my_tool.md --title "My Tool" --date "2026-04-14T10:00:00+02:00" --author "ADMStaff"
```
## Commands
```bash
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:
```bash
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:
```bash
pnpm build
```
The build generates the `dist` folder, which contains the static files to publish.