TL;DR: Run these commands to download the project, and build the first time.
git clone git@github.com:lmu-osc/lmu-osc.github.io.git
cd lmu-osc.github.io
R -e "renv::restore()"
quarto previewThe renv:restore() and quarto preview processes might take a bit to run the first time so go brew a ☕.
This repository contains the source for the LMU Open Science Center website.
The site is built with Quarto as a multi-page website and combines hand-authored content, reusable templates, custom styling, and a small amount of automation for publishing and maintenance.
At a high level, this repository contains the public-facing OSC website content, the navigation and page structure across the main site sections, the reusable templates and styling that support them, and the automation used for publishing and lightweight repository checks.
The site is built with Quarto and uses R with renv for reproducible dependency management. Content is primarily authored in YAML, Markdown, and .qmd files, with styling handled through SCSS and CSS. Deployment and repository checks are automated through GitHub Actions. The main Quarto configuration lives in _quarto.yml, rendered output is written to _site/, and Quarto caching is stored in _freeze/.
The most important top-level directories are:
about/: About pages and organizational informationassets/: shared images, JavaScript, Bootstrap, and Font Awesome assetsevents/: event pages, templates, and helper scriptsfooter/: footer markup and footer-specific stylingnews/: news pages and metadatapartners/: partner and institutional member pagespeople/: people pages, profile data, and listing templatestraining/: training catalog, tutorials, and training-track contentscripts/: helper scripts used during site maintenancerenv/: project-local R environment management- *
_site/: rendered website output - *
_freeze/: Quarto execution cache
The main entry point for the site is index.qmd.
* These files will appear locally, but do not and should not be on the GitHub repo.
Most pages in the repository are written as .qmd files. Section folders typically contain a landing page such as index.qmd, individual content pages, and any templates, metadata files, stylesheets, or helper scripts that are specific to that section. Some areas have their own internal documentation or specialized workflows. For example, people/ contains profile pages, listing templates, and its own README for the people-page data model, while events/ and news/ include helper scripts for creating, migrating, or transferring content. In general, source content should be edited in the section folders rather than in _site/.
To work on this site locally, you should have Quarto, R, the project dependencies restored via renv, and curl available on your system. An IDE such as RStudio or VS Code is helpful, but not required.
Clone the repository, open the project, and restore the R dependencies.
In R:
renv::restore()This project uses a project-local renv library so builds are reproducible across machines and CI.
To preview the site locally, run:
quarto previewThis starts a local preview server so you can inspect changes before committing them. Quarto writes the rendered output to _site/.
When contributing to the site, edit source files such as .qmd, .yml, .css, and templates—not directly in _site/, which is rendered output and should not be treated as the source of truth. Changes made directly to _site/ will not be reflected in the final published website.
Preview the affected pages locally using quarto preview before opening a pull request, and keep section-specific changes inside the relevant folder when possible. If working on structured sections such as people/, check whether that directory already has its own README or templates before inventing a new pattern.
On pushes to main, the publish.yml workflow restores dependencies, renders the site, and publishes to GitHub Pages. The repository also includes automated checks for links, profile naming conventions, and other maintenance tasks.