New ADMStaff website
  • Vue 60.3%
  • JavaScript 34.9%
  • CSS 4.3%
  • HTML 0.5%
Find a file
2026-10-21 10:50:26 +02:00
archetypes chore: clean archeotypes/default.md 2026-09-05 15:29:45 +02:00
content add: new lfp 2026-10-21 10:50:26 +02:00
scripts add: new content on new what we do page with tools + fix: wiki bugs on sidepanel toc and routing 2026-09-26 15:10:15 +02:00
src add: openday content + fix typos in translations 2026-09-26 16:12:58 +02:00
static/img add: new lfp 2026-10-21 10:50:26 +02:00
.gitattributes track jpg with lfs 2024-05-04 12:07:34 +02:00
.gitignore refactor: new script prebuild to compile wiki 2026-09-06 15:28:11 +02:00
.gitmodules new vue website 2026-04-14 17:07:49 +02:00
index.html format 2026-04-22 10:14:28 +02:00
og_base.png new vue website 2026-04-14 17:07:49 +02:00
package-lock.json add: new content on new what we do page with tools + fix: wiki bugs on sidepanel toc and routing 2026-09-26 15:10:15 +02:00
package.json add: new content on new what we do page with tools + fix: wiki bugs on sidepanel toc and routing 2026-09-26 15:10:15 +02:00
pnpm-lock.yaml add: new content on new what we do page with tools + fix: wiki bugs on sidepanel toc and routing 2026-09-26 15:10:15 +02:00
pnpm-workspace.yaml new vue website 2026-04-14 17:07:49 +02:00
postcss.config.js new vue website 2026-04-14 17:07:49 +02:00
README.md chore: add meta title to pages + readme + format 2026-09-09 12:50:26 +02:00
tailwind.config.js new vue website 2026-04-14 17:07:49 +02:00
vite.config.js chore: last fix on wiki 2026-09-22 10:33:28 +02:00

ADMStaff website

https://students.cs.unibo.it

The site is now a Vue 3 single-page application built with Vite, Vue Router, Vue I18n, Tailwind CSS and DaisyUI.

Project layout

  • src/: Vue application, routes, views, components and composables.
  • content/: Markdown source files for pages, events, projects and the wiki.
  • generated/wiki/: JSON generated from the wiki Markdown files.
  • static/: public files copied unchanged to dist/ (for example static/img).
  • public/og/: generated Open Graph images.
  • scripts/: content creation, wiki compilation and OG image generation scripts.
  • dist/: production build output; it is generated and should be deployed, not edited manually.

The application uses HTML5 history routing. The production web server must serve dist/index.html as a fallback for client-side routes such as /projects/sasso and /wiki/home.

Content

Content is stored in content as Markdown. Localized English content lives under content/en/; when an English translation is missing, the default content is used as a fallback.

Create a new page from the default archetype with:

pnpm new-content events/my_new_event

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

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

Optional overrides are supported:

pnpm new-content projects/my_tool --title "My Tool"

Attachments that should be part of the build belong in static/img and can be referenced from Markdown with /img/filename.ext.

Wiki

The wiki is a Git submodule at content/wiki/adm.wiki. Its Markdown pages are compiled into generated/wiki/ before development and production builds.

Initialize or update the submodule with:

git submodule update --init --recursive
git -C content/wiki/adm.wiki pull

To compile the wiki manually:

node scripts/compile-wiki.js

Wiki images referenced by the generated HTML use paths under /content/wiki/adm.wiki/images/. They must therefore be made available by the production server in addition to the dist/ files, or be moved to static/ and referenced from /img/.

Commands

pnpm install
pnpm dev
pnpm build
pnpm preview
pnpm new-content events/my_new_event
pnpm format
  • pnpm dev: runs the Vite development server. The predev hook first generates OG images and compiles the wiki.
  • pnpm build: generates OG images, compiles the wiki, then creates dist/.
  • pnpm preview: serves the generated dist/ build for local verification.
  • pnpm new-content: creates a Markdown file from archetypes/default.md.
  • pnpm format: formats source code, Markdown and configuration files.

Deploy

Build locally and publish the resulting dist/ directory on the production server:

pnpm install
pnpm build