find the source code for https://aron.petau.net here https://aron.petau.net
  • HTML 82.8%
  • JavaScript 15.3%
  • SCSS 0.9%
  • CSS 0.6%
  • Python 0.3%
  • Other 0.1%
Find a file
2026-04-14 12:20:51 +02:00
.github Refine CV presentation, print output, and link styling 2026-04-14 12:20:51 +02:00
backups/tags_20251010_144459/project more translation, add unity for defences 2025-10-13 17:20:06 +02:00
content Refine CV presentation, print output, and link styling 2026-04-14 12:20:51 +02:00
i18n add zola 2025-05-18 18:23:16 +02:00
public Refine CV presentation, print output, and link styling 2026-04-14 12:20:51 +02:00
sass fix buttons 2025-05-16 12:22:51 +02:00
scripts Refine CV presentation, print output, and link styling 2026-04-14 12:20:51 +02:00
static Refine CV presentation, print output, and link styling 2026-04-14 12:20:51 +02:00
templates Refine CV presentation, print output, and link styling 2026-04-14 12:20:51 +02:00
themes ds 2025-04-30 18:09:51 +02:00
.gitignore more translation 2025-10-06 15:04:55 +02:00
.gitmodules ds 2025-04-30 18:09:51 +02:00
.markdownlint.json Refine CV presentation, print output, and link styling 2026-04-14 12:20:51 +02:00
config.toml Add automated bilingual CV PDF generation with logo 2026-04-03 17:26:12 +02:00
LICENSE more translation, add unity for defences 2025-10-13 17:20:06 +02:00
README.md Refine CV presentation, print output, and link styling 2026-04-14 12:20:51 +02:00

Personal Website (aron.petau.net)

A multilingual personal website and blog built with Zola and the Duckquill theme.

Features

  • 🌍 Multilingual content (English/German)
  • 📝 Blog posts and project documentation
  • 🎨 Custom theme modifications
  • 🖼️ Image processing and optimization
  • 📊 Support for math equations via KaTeX
  • 🔍 Full-text search functionality

Project Structure

.
├── content/           # Content files (markdown)
│   ├── _index.md     # Main landing page (EN)
│   ├── _index.de.md  # Main landing page (DE)
│   ├── pages/        # Static pages
│   └── project/      # Project posts
├── static/           # Static assets
├── sass/            # SCSS source files
├── templates/       # Custom templates
├── themes/          # Duckquill theme
└── public/          # Generated site (do not edit)

Setup

  1. Install Zola

  2. Clone this repository:

    
    

git clone https://forgejo.petau.net/aron/awebsite.git cd awebsite


3. Run the development server:

```bash
zola serve
  1. Visit http://localhost:1111 to see the site

Content Management

Adding New Content

  • Pages: Create .md (English) and .de.md (German) files in content/pages/
  • Projects: Create new folder in content/project/ with index.md and index.de.md

Frontmatter Structure

+++
title = "Page Title"
date = 2025-10-06
authors = ["Aron Petau"]
description = "Page description"

[taxonomies]
tags = ["tag1", "tag2"]

[extra]
show_copyright = true
show_shares = true
+++

Custom Shortcodes

The site includes several custom shortcodes for enhanced content formatting:

{% gallery() %}
[
  {"file": "image1.jpg", "alt": "Description", "title": "Optional Caption"},
  {"file": "image2.jpg", "alt": "Description"}
]
{% end %}

Creates a responsive image gallery with lightbox support. Images should be in the same directory as the content file.

Mermaid

{% mermaid() %}
graph TD
    A[Start] --> B[End]
{% end %}

Renders Mermaid diagrams for visualizing flowcharts, sequences, and more.

Skills

{% skills() %}
[
  {
    "name": "Category Name",
    "skills": [
      {"name": "Skill Name", "icon": "fa-icon-class", "link": "optional-url"},
      {"name": "Another Skill"}
    ]
  }
]
{% end %}

Displays a formatted skills section with optional icons and links.

Timeline

{% timeline() %}
[
  {
    "from": "2025-01",
    "to": "2025-12",
    "title": "Event Title",
    "location": "Optional Location",
    "icon": "optional-icon-class",
    "body": "Event description",
    "link": "optional-url"
  }
]
{% end %}

Creates a vertical timeline for events, experiences, or history.

Assets

  • Place images in static/images/
  • CSS modifications go in sass/
  • JavaScript files go in static/js/

Building

To build the site for production:

./scripts/build_site.sh

The generated site will be in the public/ directory. In this project, public/ is version controlled and should be committed together with source changes.

This build script also regenerates bilingual CV PDFs from the built pages:

  • static/documents/cv-en.pdf
  • static/documents/cv-de.pdf
  • public/documents/cv-en.pdf
  • public/documents/cv-de.pdf

If needed, you can run only the PDF step after a manual build:

zola build
./scripts/generate_cv_pdfs.sh

CV source files are:

  • content/pages/cv.md (English)
  • content/pages/cv.de.md (German)

Development Tools

  • scripts/add_update_frontmatter.sh: Update frontmatter in content files
  • scripts/build_site.sh: Build site and regenerate CV PDFs
  • scripts/create_german_stubs.sh: Create German translation stubs
  • scripts/generate_cv_pdfs.sh: Generate EN/DE CV PDFs from built pages
  • scripts/organize.sh: Content organization helper
  • scripts/youtube_rewrite.sh: YouTube embed helper

Project Conventions

  1. Multilingual Content

    • English files: .md
    • German files: .de.md
    • Keep filenames matching between languages
  2. Tags

    • Always use English tags for consistency
    • Maintain uniform tag naming across all content
  3. Theme Customization

  • Never modify files in themes/duckquill/ directly
  • Use templates/, sass/, and static/ for customizations
  • Avoid editing Zola core files

Contributing

  1. Fork the repository
  2. Create your feature branch
  3. Commit your changes
  4. Push to the branch
  5. Create a new Pull Request

License

This project's content and code (except theme) is licensed under Creative Commons Attribution-NonCommercial 4.0 International License (CC BY-NC 4.0). This means you can:

  • Share and copy the content
  • Adapt and transform it
  • Use it non-commercially

As long as you provide appropriate attribution and indicate any changes made. Commercial use is not permitted without explicit permission.

The Duckquill theme is under its original MIT license.