72 lines
1.7 KiB
Markdown
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.
|