awebsite/README.md
2025-10-06 15:04:55 +02:00

195 lines
No EOL
4.4 KiB
Markdown

# Personal Website (aron.petau.net)
A multilingual personal website and blog built with [Zola](https://www.getzola.org/) and the [Duckquill](https://duckquill.daudix.one) 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
```text
.
├── 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](https://www.getzola.org/documentation/getting-started/installation/)
2. Clone this repository:
```bash
git clone https://github.com/arontaupe/awebsite.git
cd awebsite
```
3. Run the development server:
```bash
zola serve
```
4. 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
```toml
+++
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
```md
{% 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
```md
{% mermaid() %}
graph TD
A[Start] --> B[End]
{% end %}
```
Renders Mermaid diagrams for visualizing flowcharts, sequences, and more.
#### Skills
```md
{% 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
```md
{% 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:
```bash
zola build
```
The generated site will be in the `public/` directory.
## Development Tools
- `scripts/add_update_frontmatter.sh`: Update frontmatter in content files
- `scripts/create_german_stubs.sh`: Create German translation stubs
- `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**
- Modify only files in `themes/duckquill/` or `templates/`
- 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)](http://creativecommons.org/licenses/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.