Skip to content

DHBern/dhbern.github.io

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

19 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

dhbern.github.io

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.

GitHub issues GitHub forks GitHub stars Code license Data license

Repository Structure

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.

πŸ“ Content Structure and Categorization

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"]
Loading

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).

Folder Structure of Content

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
Loading

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 include categories: [Services] in the YAML header.

  • content/posts/YYYYMMDD-shortname/index.qmd News/blog posts require categories: [Post].

  • content/events/YYYYMMDD-shortname/index.qmd Event entries require categories: [Event].

Categorization Logic

  • 🏷 News posts: categories: [Post]
  • πŸ“† Events: categories: [Event]
  • πŸ›  Services: categories: [Services]

All must be named index.qmd and reside in correctly named folders.

πŸš€ Getting Started

We recommend using GitHub Codespaces for a quick and reproducible setup.

Quick Start with GitHub Codespaces

  1. Fork this repository to your GitHub account (if needed).

    Fork the repository
  2. Click the green <> Code button at the top right of this repository.

  3. 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
    Create Codespace
  4. Once the Codespace is ready, open a terminal and preview the documentation:

    uv run quarto preview
    Terminal window showing command
πŸ‘©β€πŸ’» Setup Locally (Advanced Users)

Prerequisites

Note: uv installs and manages the correct Python version automatically.

Setup Steps

# 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

πŸ›  Usage

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

🧰 Support

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

πŸ—Ί Roadmap

TBA

🀝 Contributing

Contributions are welcome! Report problems, propose changes, or submit new features via issues or pull requests. See CONTRIBUTING.md for details.

🧾 Versioning

We use SemVer. See tags for available versions.

✍️ Authors and Acknowledgment

  • Moritz MΓ€hr – Initial work – @maehr

See also the list of contributors.

πŸͺͺ License

  • 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.

About

Resources

License

AGPL-3.0, CC-BY-4.0 licenses found

Licenses found

AGPL-3.0
LICENSE-AGPL.md
CC-BY-4.0
LICENSE-CCBY.md

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 5