Conventions
Conventions
Style and structure conventions for this site, kept here so they survive across editors and sessions.
Writing
- No em-dashes anywhere on the site: prose, lists, everything. Use a period, comma, or parenthesis instead.
- Prefer short, direct sentences over long compound ones.
- No PhD-recruitment call to action anywhere (About, Projects, Teaching). There’s no internal funding for PhD students, only external. Don’t imply otherwise.
Projects (_projects/)
status:front matter is"Completed"or"Ongoing", rendered as a tag next to the title on the listing page.- When a project’s budget and duration are known, add them in parentheses at the end of the
excerpt:front matter (what shows on/projects/) and again in the matching sentence in the body, e.g.(€500,000 budget, 20 months)or(€2.22M total budget). header.teaser(notheader.image) for any social-share image: see “Share images” below.
Listing pages (News, Projects, Publications, Teaching, Blog)
These collections share one timeline visual: a vertical line with a dot per entry, defined once in _includes/head/custom.html (.projects-timeline, .teaching-timeline, .publications-timeline, .blog-timeline, .news-timeline). Date-first layout (date, then title, then body) is handled in _includes/archive-single.html. Keep new listing pages consistent with this pattern rather than introducing a new layout.
Share images (Open Graph / Twitter Card)
Set header.teaser, not header.image, in a post/project’s front matter. header.image also triggers the theme’s full-width hero banner in _layouts/single.html (via _includes/page__hero.html), which breaks the sidebar layout. _includes/seo.html reads header.teaser as an OG/Twitter fallback without that side effect.
Architecture diagrams (images/*-architecture.svg)
Hand-authored SVGs, not exported from a diagramming tool, matching one visual language across MAS4TE, MAI-HOME, and Landslide Hunter:
viewBox, Helvetica/Arial font, one<marker id="arrow">triangle arrowhead reused for every line.- Rounded rects (
rx="6"), color-coded by role:- gray
#f5f5f5fill /#999stroke: infrastructure or physical components - orange
#fde3cc/#c76b2c: models or trainable components - blue
#dce8f5/#4a6fa5: pipeline/process steps or dashboards - purple
#ece3f5/#8a5fc7: stakeholders
- gray
- Dashed containers (
stroke-dasharray) for conceptual groupings (a house, a digital twin, a models frame) rather than a legend. - Routing: simple, minimal-turn orthogonal paths that exit a box’s own edge cleanly. Avoid diagonal lines and avoid paths that graze along an unrelated box’s border. A smooth bezier curve is acceptable for a single long-range connection that would otherwise cut across the whole diagram.
Local dev
See README.md for the Ruby 3.1 / vendored-gems setup and the stale-build fix.
