first commit
This commit is contained in:
commit
585a6927f6
19 changed files with 432 additions and 0 deletions
28
.github/workflow/ci.yml
vendored
Normal file
28
.github/workflow/ci.yml
vendored
Normal file
|
@ -0,0 +1,28 @@
|
|||
name: ci
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
permissions:
|
||||
contents: write
|
||||
jobs:
|
||||
deploy:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Configure Git Credentials
|
||||
run: |
|
||||
git config user.name github-actions[bot]
|
||||
git config user.email 41898282+github-actions[bot]@users.noreply.github.com
|
||||
- uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: 3.x
|
||||
- run: echo "cache_id=$(date --utc '+%V')" >> $GITHUB_ENV
|
||||
- uses: actions/cache@v4
|
||||
with:
|
||||
key: mkdocs-material-${{ env.cache_id }}
|
||||
path: .cache
|
||||
restore-keys: |
|
||||
mkdocs-material-
|
||||
- run: pip install mkdocs-material
|
||||
- run: mkdocs gh-deploy --force
|
43
.gitignore
vendored
Normal file
43
.gitignore
vendored
Normal file
|
@ -0,0 +1,43 @@
|
|||
# Dependencies
|
||||
node_modules
|
||||
__pycache__
|
||||
venv
|
||||
.venv
|
||||
|
||||
# Build files
|
||||
build
|
||||
site
|
||||
|
||||
# Distribution files
|
||||
dist
|
||||
mkdocs_material.egg-info
|
||||
|
||||
# Caches and logs
|
||||
*.cpuprofile
|
||||
*.log
|
||||
*.tsbuildinfo
|
||||
.cache
|
||||
.eslintcache
|
||||
__pycache__
|
||||
|
||||
# Examples
|
||||
example
|
||||
example.zip
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# General
|
||||
# -----------------------------------------------------------------------------
|
||||
|
||||
# Never ignore .gitkeep files
|
||||
!**/.gitkeep
|
||||
|
||||
# macOS internals
|
||||
.DS_Store
|
||||
|
||||
# Temporary files
|
||||
TODO
|
||||
tmp
|
||||
|
||||
# IDEs & Editors
|
||||
.idea
|
||||
*~
|
0
README.md
Normal file
0
README.md
Normal file
BIN
docs/assets/images/background.png
Normal file
BIN
docs/assets/images/background.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 84 KiB |
BIN
docs/assets/logo.png
Normal file
BIN
docs/assets/logo.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 66 KiB |
5
docs/blog/.authors.yml
Normal file
5
docs/blog/.authors.yml
Normal file
|
@ -0,0 +1,5 @@
|
|||
authors:
|
||||
stephan:
|
||||
name: Stephan Hadan
|
||||
description: Senior IT Operations Engineer
|
||||
avatar: assets/logo.png
|
5
docs/blog/index.md
Normal file
5
docs/blog/index.md
Normal file
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
pdf: false
|
||||
---
|
||||
# Blog
|
||||
|
10
docs/blog/posts/test.md
Normal file
10
docs/blog/posts/test.md
Normal file
|
@ -0,0 +1,10 @@
|
|||
---
|
||||
pdf: false
|
||||
date: 2024-01-31
|
||||
authors:
|
||||
- stephan
|
||||
---
|
||||
|
||||
# Hello world!
|
||||
|
||||
Hi ho!
|
0
docs/cv/index.md
Normal file
0
docs/cv/index.md
Normal file
BIN
docs/images/favicon.png
Normal file
BIN
docs/images/favicon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 66 KiB |
17
docs/index.md
Normal file
17
docs/index.md
Normal file
|
@ -0,0 +1,17 @@
|
|||
# Willkommen
|
||||
|
||||
For full documentation visit [mkdocs.org](https://www.mkdocs.org).
|
||||
|
||||
## Commands
|
||||
|
||||
* `mkdocs new [dir-name]` - Create a new project.
|
||||
* `mkdocs serve` - Start the live-reloading docs server.
|
||||
* `mkdocs build` - Build the documentation site.
|
||||
* `mkdocs -h` - Print help message and exit.
|
||||
|
||||
## Project layout
|
||||
|
||||
mkdocs.yml # The configuration file.
|
||||
docs/
|
||||
index.md # The documentation homepage.
|
||||
... # Other markdown pages, images and other files.
|
0
docs/projects/index.md
Normal file
0
docs/projects/index.md
Normal file
2
docs/robots.txt
Normal file
2
docs/robots.txt
Normal file
|
@ -0,0 +1,2 @@
|
|||
User-agent: *
|
||||
Disallow: /
|
86
mkdocs.yml
Normal file
86
mkdocs.yml
Normal file
|
@ -0,0 +1,86 @@
|
|||
site_name: Stephan Hadan
|
||||
site_url: http://localhost:8000/
|
||||
theme:
|
||||
name: material
|
||||
palette:
|
||||
primary: black
|
||||
accent: indigo
|
||||
logo: assets/logo.png
|
||||
favicon: images/favicon.png
|
||||
language: de
|
||||
features:
|
||||
- navigation.instant
|
||||
- navigation.instant.progress
|
||||
- navigation.tracking
|
||||
- navigation.tabs
|
||||
- navigation.sections
|
||||
- navigation.expand
|
||||
- navigation.footer
|
||||
- toc.follow
|
||||
# - toc.integrate
|
||||
- navigation.top
|
||||
- search.suggest
|
||||
- search.highlight
|
||||
- search.share
|
||||
copyright: Copyright © 2024 Stephan Hadan
|
||||
|
||||
plugins:
|
||||
- search
|
||||
- blog:
|
||||
archive: false
|
||||
# - social
|
||||
- exporter:
|
||||
formats:
|
||||
pdf:
|
||||
enabled: !ENV [MKDOCS_EXPORTER_PDF_ENABLED, true]
|
||||
stylesheets:
|
||||
- resources/stylesheets/pdf.scss
|
||||
covers:
|
||||
front: resources/templates/covers/front.html.j2
|
||||
back: resources/templates/covers/back.html.j2
|
||||
# browser:
|
||||
# debug: false
|
||||
aggregator:
|
||||
enabled: !ENV [MKDOCS_EXPORTER_PDF_AGGREGATOR, true]
|
||||
output: documentation.pdf
|
||||
covers: front
|
||||
buttons:
|
||||
- title: Download as PDF
|
||||
icon: material-file-download-outline
|
||||
enabled: !!python/name:mkdocs_exporter.formats.pdf.buttons.download.enabled
|
||||
attributes: !!python/name:mkdocs_exporter.formats.pdf.buttons.download.attributes
|
||||
|
||||
extra:
|
||||
social:
|
||||
- icon: fontawesome/brands/github
|
||||
link: https://github.com/stiebke
|
||||
- icon: fontawesome/brands/bluesky
|
||||
link: https://bsky.app/profile/stiebke.bsky.social
|
||||
- icon: fontawesome/brands/mastodon
|
||||
link: https://freiburg.social/@stiebke
|
||||
|
||||
markdown_extensions:
|
||||
- abbr
|
||||
- pymdownx.betterem
|
||||
- pymdownx.blocks.caption
|
||||
- pymdownx.caret
|
||||
- pymdownx.mark
|
||||
- pymdownx.tilde
|
||||
- pymdownx.critic
|
||||
- pymdownx.details
|
||||
- pymdownx.highlight
|
||||
- pymdownx.superfences
|
||||
- pymdownx.keys
|
||||
- pymdownx.smartsymbols
|
||||
- pymdownx.tabbed
|
||||
- pymdownx.tasklist
|
||||
|
||||
# Page tree
|
||||
nav:
|
||||
- Über mich: index.md
|
||||
- Lebenslauf: cv/index.md
|
||||
- Projekte: projects/index.md
|
||||
|
||||
- Blog:
|
||||
- blog/index.md
|
||||
|
15
overrides/partials/integrations/analytics/custom.html
Normal file
15
overrides/partials/integrations/analytics/custom.html
Normal file
|
@ -0,0 +1,15 @@
|
|||
<script>
|
||||
/* Add custom analytics integration here, e.g. */
|
||||
var property = "{{ config.extra.analytics.property }}"
|
||||
|
||||
|
||||
|
||||
/* Wait for page to load and application to mount */
|
||||
document.addEventListener("DOMContentLoaded", function() {
|
||||
location$.subscribe(function(url) {
|
||||
/* Add custom page event tracking here */
|
||||
|
||||
|
||||
})
|
||||
})
|
||||
</script>
|
14
requirements.txt
Normal file
14
requirements.txt
Normal file
|
@ -0,0 +1,14 @@
|
|||
# Requirements for core
|
||||
jinja2~=3.0
|
||||
markdown~=3.2
|
||||
mkdocs~=1.6
|
||||
mkdocs-material-extensions~=1.3
|
||||
pygments~=2.16
|
||||
pymdown-extensions~=10.2
|
||||
|
||||
# Requirements for plugins
|
||||
babel~=2.10
|
||||
colorama~=0.4
|
||||
paginate~=0.5
|
||||
regex>=2022.4
|
||||
requests~=2.26
|
73
resources/stylesheets/pdf.scss
Normal file
73
resources/stylesheets/pdf.scss
Normal file
|
@ -0,0 +1,73 @@
|
|||
:root {
|
||||
--width: 21cm;
|
||||
--margin: 1.20cm;
|
||||
--height: 29.7cm;
|
||||
--offset: calc(var(--margin) * 2);
|
||||
}
|
||||
|
||||
@page {
|
||||
size: A4;
|
||||
margin: 1.20cm;
|
||||
}
|
||||
|
||||
hr:has(+ div.md-source-file), .md-source-file {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
summary::after {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.front-cover {
|
||||
margin: var(--margin);
|
||||
height: calc(var(--height) - var(--offset));
|
||||
page-break-after: always;
|
||||
border: 1px solid #fff;
|
||||
position: relative;
|
||||
|
||||
img {
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
image-rendering: optimizeQuality;
|
||||
}
|
||||
|
||||
> section {
|
||||
color: #fff;
|
||||
padding: 0.635cm;
|
||||
max-width: 10.25cm;
|
||||
word-wrap: break-word;
|
||||
margin-top: calc(var(--height) / 2 - var(--offset) - 2cm);
|
||||
font-size: 13pt;
|
||||
|
||||
> .title {
|
||||
font-size: 26pt;
|
||||
font-weight: 500;
|
||||
line-height: 1.1;
|
||||
color: #fff;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
h1, h2, h3 {
|
||||
string-set: chapter content();
|
||||
}
|
||||
|
||||
body {
|
||||
print-color-adjust: exact;
|
||||
text-rendering: geometricPrecision;
|
||||
}
|
||||
|
||||
.md-main .md-main__inner {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.md-content .md-content__inner {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
|
||||
&::before {
|
||||
height: 0;
|
||||
}
|
||||
}
|
43
resources/templates/covers/back.html.j2
Normal file
43
resources/templates/covers/back.html.j2
Normal file
|
@ -0,0 +1,43 @@
|
|||
<style data-teleport="head">
|
||||
.back-cover {
|
||||
page: last;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.back-cover img {
|
||||
top: 0;
|
||||
left: 0;
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
.back-cover section {
|
||||
.title {
|
||||
color: #fff;
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 0;
|
||||
vertical-align: middle;
|
||||
font-size: 24pt;
|
||||
text-align: center;
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
@page last {
|
||||
margin: 0;
|
||||
background: var(--md-primary-fg-color);
|
||||
|
||||
@top-center {
|
||||
content: none;
|
||||
}
|
||||
|
||||
@bottom-center {
|
||||
content: none;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
<div class="back-cover">
|
||||
<section>
|
||||
<div class="title">{{ config.site_name }}</div>
|
||||
</section>
|
||||
</div>
|
91
resources/templates/covers/front.html.j2
Normal file
91
resources/templates/covers/front.html.j2
Normal file
|
@ -0,0 +1,91 @@
|
|||
<style data-teleport="head">
|
||||
.front-cover {
|
||||
margin: var(--margin);
|
||||
height: calc(var(--height) - var(--offset));
|
||||
page-break-after: always;
|
||||
border: 1px solid #fff;
|
||||
position: relative;
|
||||
|
||||
img {
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
image-rendering: optimizeQuality;
|
||||
}
|
||||
|
||||
.logo {
|
||||
position: absolute;
|
||||
top: calc(2cm);
|
||||
fill: white;
|
||||
left: 50%;
|
||||
transform: translateX(-50%);
|
||||
|
||||
> div {
|
||||
width: 3cm;
|
||||
text-align: center;
|
||||
height: 3cm;
|
||||
}
|
||||
}
|
||||
|
||||
section {
|
||||
color: #fff;
|
||||
padding: 0.635cm;
|
||||
max-width: 10.25cm;
|
||||
word-wrap: break-word;
|
||||
margin-top: calc(var(--height) / 2 - var(--offset) - 2cm);
|
||||
font-size: 13pt;
|
||||
|
||||
> .title {
|
||||
font-size: 32pt;
|
||||
font-weight: 500;
|
||||
line-height: 1.1;
|
||||
margin-top: 1em;
|
||||
color: #fff;
|
||||
string-set: title content(text);
|
||||
}
|
||||
|
||||
> .version {
|
||||
line-height: 1;
|
||||
font-size: 10pt;
|
||||
font-family: monospace;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@page {
|
||||
@top-center {
|
||||
font-size: 9pt;
|
||||
color: #7f7f7f;
|
||||
content: '{{ config.site_name }}' ' — ' string(title);
|
||||
}
|
||||
}
|
||||
|
||||
@page :first {
|
||||
margin: 0;
|
||||
background: var(--md-primary-fg-color);
|
||||
|
||||
@top-center {
|
||||
content: none;
|
||||
}
|
||||
|
||||
@bottom-center {
|
||||
content: none;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
<div class="front-cover">
|
||||
<img src="/assets/images/background.png">
|
||||
<div class="logo">
|
||||
<div>
|
||||
<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m23 19-3-3v2h-4v2h4v2l3-3m-10 0c0-.3 0-.7.1-1H6v-2h7.8c.5-.8 1.1-1.5 1.9-2H6v-2h12v1.1c.3-.1.7-.1 1-.1s.7 0 1 .1V8l-6-6H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h7.8c-.5-.9-.8-1.9-.8-3m0-15.5L18.5 9H13V3.5Z"></path>
|
||||
</svg>
|
||||
</div>
|
||||
</div>
|
||||
<section>
|
||||
<div class="brand">{{ config.site_name }}</div>
|
||||
<div class="version">{{ version }}</div>
|
||||
<div class="title">{{ page.title }}</div>
|
||||
</section>
|
||||
</div>
|
Loading…
Add table
Add a link
Reference in a new issue