Skip to content

Repository files navigation

Lynhaven

A digital public history project exploring the history of the Lynhaven neighborhood in Alexandria, Virginia. Hosted by the Roy Rosenzweig Center for History and New Media (RRCHNM) at George Mason University.

Project lead: Dr. Meredith Lair, GMU History Department, mlair@gmu.edu

Quick Start

Prerequisites: Hugo Extended (tested with 0.147.8).

make serve     # dev server with drafts/future content visible

The dev server runs at http://localhost:1313/ with live reload.

Production Build

make build     # minified, fingerprinted build to public/
make check     # build and fail on any template/config error, without writing public/

Tech Stack

  • Hugo — static site generator, no build step beyond Hugo itself (no Node, no package manager)
  • Plain CSS (assets/css/) — no framework
  • Vanilla JS (assets/js/) — the image lightbox and Neighbor Corner gallery

Project Structure

content/          Markdown content: exhibits, oral-histories, neighbor-corner, about
layouts/          Hugo templates, partials, and shortcodes
layouts/shortcodes/  figure, quote, gallery, timeline — used in exhibit body Markdown
assets/css/       Site styles (base.css, pages.css)
assets/js/        Lightbox and gallery interactivity
static/images/    Exhibit images and site logos
static/neighbor-corner/  Uploaded community photos and documents
archetypes/       Scaffolding templates used by `hugo new` (see Makefile)

Content Authoring

Content is authored as flat Markdown files with YAML front matter under content/ (no page bundles — images live in static/, referenced by filename).

For a step-by-step guide aimed at editing through the GitHub web interface (no local setup required), see CONTRIBUTING.md.

Updating the Home Page

Edit content/_index.mdtitle and the body text are the welcome heading/paragraph. The tiles front-matter block controls the four navigation tiles' labels and optional thumbnail images (filename only; images live in static/images/home/). Tile URLs and order are fixed in layouts/index.html.

Adding an Exhibit

make new NAME=corner-grocery

This scaffolds content/exhibits/corner-grocery.md from archetypes/exhibits.md. Front matter is simple metadata (title, period, dek, date, weight, thumbnail); the body is normal prose Markdown. Use shortcodes for embeds:

  • {{< figure id="..." image="..." alt="..." caption="..." />}} for a full-width image (add position="left"/"right" in block form to run text beside it — see the archetype comment for the exact syntax)
  • {{< quote quote="..." attribution="..." >}} for a pull quote
  • {{< gallery >}}...{{< /gallery >}} for a photo set
  • {{< timeline >}}...{{< /timeline >}} for a dated event list

Citations use standard Markdown footnotes ([^1] / [^1]: citation text) — Hugo numbers, links, and back-links them automatically. See content/exhibits/sample.md for a full worked example.

Adding an Oral History

Add a Markdown file to content/oral-histories/ with title, photo, quote, interviewLabel, interviewURL, and date in front matter; the body is the interview narrative in prose.

Adding a Neighbor Corner Submission

make new-submission NAME=house-on-elm-street

Fill in title, submitter, and caption, put the file's exact filename in file, and copy the actual file into static/neighbor-corner/. Leave draft: true until it's reviewed — draft items are invisible on the live site. Flip draft: false and rebuild/redeploy to publish.

Updating the About Page

Edit content/about.mdstakeholders, acknowledgements, and contact are front-matter fields; the body is the page's intro paragraph.

Updating Navigation

Edit the [[menus.main]] entries in hugo.toml.

About

No description or website provided.

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages