This repository contains the website of the Digital Humanities at the University of Bern. The data in this repository is openly available to everyone and is intended to support reproducible research.
The structure of this repository follows the Advanced Structure for Data Analysis of The Turing Way and is organized as follows:
.github/
- GitHub configuration files (issue templates, workflows)..husky/
- Husky configuration (pre-commit hooks)..venv/
- Python virtual environment for website build.assets/
- Images, stylesheets, JavaScript files.docs/
- Documentation assets for README.md.content/
- Website content (main and additional pages).renv/
- R environment for website build.
The site is available under two main domains:
graph TD
A["dhbern.github.io"] --> A1["News Blog"]
A --> A2["Events"]
A --> A3["Projects"]
A --> A4["Services"]
B["dh.unibe.ch"] --> B1["Studies"]
B --> B2["Team"]
Diagram: Overview of content domains for the public site and official university site.
-
Content at https://dhbern.github.io/ includes:
- π° News and blog posts
- π Events
- π§ͺ Projects
- π Services
-
The official DH Bern university pages at https://www.dh.unibe.ch/ cover:
- π Study programs
- π₯ Team information
- β€ Changes to the team page are made via this Office form (contact: Dominik Kilchmann).
graph TD
root(content/)
sub1[projects/] --> pj1[project-shortname/]
pj1 --> pjindex[index.qmd]
pj1 --> pjpost[YYYYMMDD-shortname-post/index.qmd]
pj1 --> pjevent[YYYYMMDD-shortname-event/index.qmd]
sub2[services/] --> sv1[service-shortname/]
sv1 --> svindex[index.qmd]
sv1 --> svpost[YYYYMMDD-shortname-post/index.qmd]
sv1 --> svevent[YYYYMMDD-shortname-event/index.qmd]
sub3[posts/] --> pst1[YYYYMMDD-shortname/]
pst1 --> pstindex[index.qmd]
sub4[events/] --> ev1[YYYYMMDD-shortname/]
ev1 --> evindex[index.qmd]
root --> sub1
root --> sub2
root --> sub3
root --> sub4
Diagram: Folder layout for the content/
directory, reflecting the siteβs hierarchical structure.
-
content/projects/project-shortname/index.qmd
Projects live here and can contain nested posts or events. -
content/services/service-shortname/index.qmd
Services must includecategories: [Services]
in the YAML header. -
content/posts/YYYYMMDD-shortname/index.qmd
News/blog posts requirecategories: [Post]
. -
content/events/YYYYMMDD-shortname/index.qmd
Event entries requirecategories: [Event]
.
- π· News posts:
categories: [Post]
- π Events:
categories: [Event]
- π Services:
categories: [Services]
All must be named index.qmd
and reside in correctly named folders.
We recommend using GitHub Codespaces for a quick and reproducible setup.
-
Fork this repository to your GitHub account (if needed).
-
Click the green
<> Code
button at the top right of this repository. -
Select the βCodespacesβ tab and click βCreate codespace on
main
β. GitHub will now build a container that includes:- β
Node.js (via
npm
) - β
Python with
uv
- β
R with
renv
- β Quarto
- β
Node.js (via
-
Once the Codespace is ready, open a terminal and preview the documentation:
uv run quarto preview
π©βπ» Setup Locally (Advanced Users)
- Node.js
- R and Rtools (on Windows)
- uv (Python manager)
- Quarto
Note:
uv
installs and manages the correct Python version automatically.
# 1. Install Node.js dependencies
npm install
# 2. Setup Python environment
uv sync
# 3. Setup R environment
Rscript -e 'install.packages("renv"); renv::restore()'
# 4. Preview documentation
uv run quarto preview
Check file formatting:
npm run check
Format all files:
npm run format
Generate conventional commits:
npm run commit
Generate CHANGELOG.md
:
npm run changelog
Preview the documentation:
uv run quarto preview
This project is maintained by @DHBern. We encourage open support channels, so others can benefit.
Type | Platforms |
---|---|
π¨ Bug Reports | GitHub Issues |
π Report Bad Data | GitHub Issues |
π Docs Issues | GitHub Issues |
π Feature Requests | GitHub Issues |
π‘ Security Vulnerabilities | See SECURITY.md |
π¬ General Questions | GitHub Discussions |
TBA
Contributions are welcome! Report problems, propose changes, or submit new features via issues or pull requests. See CONTRIBUTING.md for details.
We use SemVer. See tags for available versions.
- Moritz MΓ€hr β Initial work β @maehr
See also the list of contributors.
- Data: Creative Commons Attribution 4.0 International (CC BY 4.0) β see LICENSE-CCBY.
- Code: GNU Affero General Public License v3.0 β see LICENSE-AGPL.