SHA256
Separation as Tool
This commit is contained in:
@@ -0,0 +1,12 @@
|
||||
:root { color-scheme: light dark; }
|
||||
body { font-family: system-ui, sans-serif; margin: 0; color: #1a1a1a; }
|
||||
.container { max-width: 760px; margin: 0 auto; padding: 1.5rem; }
|
||||
.skip-link { position: absolute; left: -999px; }
|
||||
.skip-link:focus { left: 1rem; top: 1rem; background: #0b5fff; color: #fff; padding: .5rem; }
|
||||
.site-header { display: flex; gap: 1rem; align-items: center; padding: .75rem 1.5rem; border-bottom: 1px solid #ddd; }
|
||||
.site-nav { display: flex; gap: 1rem; }
|
||||
.brand { font-weight: 700; text-decoration: none; color: #0b5fff; }
|
||||
.lang-dropdown__menu { list-style: none; display: flex; gap: .5rem; }
|
||||
.site-footer { border-top: 1px solid #ddd; padding: 1.5rem; margin-top: 2rem; color: #555; }
|
||||
.muted { color: #777; }
|
||||
.page-nav { display: flex; justify-content: space-between; margin-top: 2rem; }
|
||||
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><rect width="32" height="32" rx="6" fill="#0b5fff"/><text x="16" y="22" font-size="16" text-anchor="middle" fill="#fff" font-family="sans-serif">G</text></svg>
|
||||
|
After Width: | Height: | Size: 220 B |
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"name": "Meine Website",
|
||||
"short_name": "Website",
|
||||
"icons": [
|
||||
{ "src": "/assets/favicon/favicon.svg", "sizes": "any", "type": "image/svg+xml" }
|
||||
],
|
||||
"start_url": "/",
|
||||
"display": "standalone"
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
// GCBoK.WebStaticBuilder example theme script.
|
||||
(function () {
|
||||
var t = localStorage.getItem('gc-theme') || 'light';
|
||||
document.documentElement.setAttribute('data-theme', t);
|
||||
var btn = document.getElementById('themeToggle');
|
||||
if (btn) btn.addEventListener('click', function () {
|
||||
var cur = document.documentElement.getAttribute('data-theme');
|
||||
var next = cur === 'light' ? 'dark' : 'light';
|
||||
document.documentElement.setAttribute('data-theme', next);
|
||||
localStorage.setItem('gc-theme', next);
|
||||
});
|
||||
})();
|
||||
@@ -0,0 +1,34 @@
|
||||
=== Build Started: 2026-07-11 12:00:07.845 ===
|
||||
ENV: work
|
||||
BASE_URL: http://localhost:8000
|
||||
CDN_ASSETS: /assets
|
||||
ROOT: /mnt/brx5/work/OSS/build_webstatic/webstatic.example
|
||||
|
||||
Assets copied to: /mnt/brx5/work/OSS/build_webstatic/webstatic.example/dist/assets
|
||||
Legal: /mnt/brx5/work/OSS/build_webstatic/webstatic.example/dist/de/impressum.html
|
||||
Legal: /mnt/brx5/work/OSS/build_webstatic/webstatic.example/dist/en/impressum.html
|
||||
Legal: /mnt/brx5/work/OSS/build_webstatic/webstatic.example/dist/vi/impressum.html
|
||||
Pagefind (exit 0): Running Pagefind v1.5.2 (Extended)
|
||||
Running from: "/mnt/brx5/work/OSS/build_webstatic/webstatic.example"
|
||||
Source: "dist"
|
||||
Output: "dist/pagefind"
|
||||
|
||||
[Walking source directory]
|
||||
Found 10 files matching **/*.{html}
|
||||
|
||||
[Parsing files]
|
||||
Found a data-pagefind-body element on the site.
|
||||
↳ Ignoring pages without this tag.
|
||||
|
||||
[Reading languages]
|
||||
Discovered 3 languages: vi, en, de
|
||||
|
||||
[Building search indexes]
|
||||
Total:
|
||||
Indexed 3 languages
|
||||
Indexed 9 pages
|
||||
Indexed 337 words
|
||||
Indexed 0 filters
|
||||
Indexed 0 sorts
|
||||
|
||||
Finished in 0.036 seconds
|
||||
@@ -0,0 +1,14 @@
|
||||
---
|
||||
section: hero
|
||||
order: 0
|
||||
title: "Banner"
|
||||
eyebrow: "Beispiel"
|
||||
description: "Banner-Block für die Startseite"
|
||||
href: /
|
||||
render: true
|
||||
navbar: false
|
||||
---
|
||||
|
||||
# Willkommen bei GCBoK.WebStaticBuilder
|
||||
|
||||
Dies ist der Banner-Block (order 0), der auf der Startseite (Hero/Landing) eingebettet wird.
|
||||
@@ -0,0 +1,27 @@
|
||||
---
|
||||
section: start
|
||||
order: 1
|
||||
eyebrow: "Startseite"
|
||||
title: "Startseite"
|
||||
description: "Die Landing-Page dieser Beispiel-Website"
|
||||
href: /
|
||||
render: true
|
||||
navbar: true
|
||||
---
|
||||
|
||||
## Einführung
|
||||
|
||||
Diese Seite wurde mit **GCBoK.WebStaticBuilder** erzeugt — einem statischen, mehrsprachigen
|
||||
Generator für compliance-freundliche Websites (MIT, OSS).
|
||||
|
||||
## Funktionen
|
||||
|
||||
- Markdown mit YAML-Frontmatter
|
||||
- Mehrsprachigkeit (de / en / vi)
|
||||
- SEO-Kopf, Sitemap, robots.txt
|
||||
- Client-Suche via Pagefind
|
||||
- UI-Lokalisierung über `{{ i18n.* }}`
|
||||
|
||||
## Nächste Schritte
|
||||
|
||||
Siehe `docs/` im Repository für die Einrichtung.
|
||||
@@ -0,0 +1,22 @@
|
||||
---
|
||||
section: about
|
||||
order: 2
|
||||
eyebrow: "Über"
|
||||
title: "Über das Projekt"
|
||||
description: "Hintergrund zum Beispiel-Projekt"
|
||||
href: /ueber/
|
||||
render: true
|
||||
navbar: true
|
||||
---
|
||||
|
||||
## Über
|
||||
|
||||
GCBoK.WebStaticBuilder ist ein eigenständiges OSS-Tool der GitCover Commons.
|
||||
Es erzeugt statische Websites ohne Server, Datenbank oder Build-Service.
|
||||
|
||||
```mermaid
|
||||
graph TD
|
||||
A[Markdown] --> B(Builder)
|
||||
B --> C[HTML]
|
||||
C --> D[Pagefind Index]
|
||||
```
|
||||
@@ -0,0 +1,16 @@
|
||||
---
|
||||
section: legal
|
||||
order: 10
|
||||
eyebrow: "Rechtliches"
|
||||
title: "Impressum"
|
||||
description: "Impressum der Beispiel-Website"
|
||||
href: /impressum/
|
||||
render: true
|
||||
navbar: false
|
||||
---
|
||||
|
||||
## Impressum
|
||||
|
||||
Beispiel-Website · Ansprechpartner: webmaster@example.org
|
||||
|
||||
© 2026 Beispiel-Website. Erstellt mit GCBoK.WebStaticBuilder (MIT).
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
:root { color-scheme: light dark; }
|
||||
body { font-family: system-ui, sans-serif; margin: 0; color: #1a1a1a; }
|
||||
.container { max-width: 760px; margin: 0 auto; padding: 1.5rem; }
|
||||
.skip-link { position: absolute; left: -999px; }
|
||||
.skip-link:focus { left: 1rem; top: 1rem; background: #0b5fff; color: #fff; padding: .5rem; }
|
||||
.site-header { display: flex; gap: 1rem; align-items: center; padding: .75rem 1.5rem; border-bottom: 1px solid #ddd; }
|
||||
.site-nav { display: flex; gap: 1rem; }
|
||||
.brand { font-weight: 700; text-decoration: none; color: #0b5fff; }
|
||||
.lang-dropdown__menu { list-style: none; display: flex; gap: .5rem; }
|
||||
.site-footer { border-top: 1px solid #ddd; padding: 1.5rem; margin-top: 2rem; color: #555; }
|
||||
.muted { color: #777; }
|
||||
.page-nav { display: flex; justify-content: space-between; margin-top: 2rem; }
|
||||
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><rect width="32" height="32" rx="6" fill="#0b5fff"/><text x="16" y="22" font-size="16" text-anchor="middle" fill="#fff" font-family="sans-serif">G</text></svg>
|
||||
|
After Width: | Height: | Size: 220 B |
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"name": "Meine Website",
|
||||
"short_name": "Website",
|
||||
"icons": [
|
||||
{ "src": "/assets/favicon/favicon.svg", "sizes": "any", "type": "image/svg+xml" }
|
||||
],
|
||||
"start_url": "/",
|
||||
"display": "standalone"
|
||||
}
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
// GCBoK.WebStaticBuilder example theme script.
|
||||
(function () {
|
||||
var t = localStorage.getItem('gc-theme') || 'light';
|
||||
document.documentElement.setAttribute('data-theme', t);
|
||||
var btn = document.getElementById('themeToggle');
|
||||
if (btn) btn.addEventListener('click', function () {
|
||||
var cur = document.documentElement.getAttribute('data-theme');
|
||||
var next = cur === 'light' ? 'dark' : 'light';
|
||||
document.documentElement.setAttribute('data-theme', next);
|
||||
localStorage.setItem('gc-theme', next);
|
||||
});
|
||||
})();
|
||||
+73
@@ -0,0 +1,73 @@
|
||||
<!doctype html>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Impressum</title>
|
||||
<meta name="description" content="Eine mehrsprachige, statische Website.">
|
||||
<link rel="icon" type="image/svg+xml" href="/assets/favicon/favicon.svg">
|
||||
<link rel="icon" type="image/png" sizes="96x96" href="/assets/favicon/favicon-96x96.png">
|
||||
<link rel="icon" href="/assets/favicon/favicon.ico">
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/assets/favicon/apple-touch-icon.png">
|
||||
<link rel="manifest" href="/assets/favicon/site.webmanifest">
|
||||
<meta name="msapplication-TileColor" content="#da532c">
|
||||
<meta name="theme-color" content="#ffffff">
|
||||
<meta property="og:title" content="Impressum">
|
||||
<meta property="og:description" content="Eine mehrsprachige, statische Website.">
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:url" content="http://localhost:8000/impressum/">
|
||||
<meta property="og:locale" content="">
|
||||
<meta property="og:image" content="/assets/favicon/web-app-manifest-512x512.png">
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:title" content="Impressum">
|
||||
<meta name="twitter:description" content="Eine mehrsprachige, statische Website.">
|
||||
<link rel="canonical" href="http://localhost:8000/impressum/">
|
||||
|
||||
<link rel="stylesheet" href="/assets/css/main.css">
|
||||
<link rel="icon" type="image/svg+xml" href="/assets/favicon/favicon.svg">
|
||||
<link rel="manifest" href="/assets/favicon/site.webmanifest">
|
||||
</head>
|
||||
<body>
|
||||
<a href="#main" class="skip-link">Zum Hauptinhalt springen</a>
|
||||
|
||||
<header class="site-header">
|
||||
<a href="index.html" class="brand" aria-label="Zur Startseite">Meine Website</a>
|
||||
<nav class="site-nav" aria-label="Hauptnavigation">
|
||||
<a class="nav-gcbok__link" href="ueber.html">Über</a>
|
||||
</nav>
|
||||
<div class="lang-dropdown" aria-label="Sprachumschalter">
|
||||
<ul class="lang-dropdown__menu">
|
||||
<li><a href="/de/" hreflang="de"><span>Deutsch</span> <span class="lang-dropdown__code">DE</span></a></li>
|
||||
<li><a href="/en/" hreflang="en"><span>English</span> <span class="lang-dropdown__code">EN</span></a></li>
|
||||
<li><a href="/vi/" hreflang="vi"><span>Tiếng Việt</span> <span class="lang-dropdown__code">VI</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<main id="main" tabindex="-1" data-pagefind-body>
|
||||
<div class="container">
|
||||
<h2 id="impressum">Impressum</h2>
|
||||
<p>Beispiel-Website · Ansprechpartner: webmaster@example.org</p>
|
||||
<p>© 2026 Beispiel-Website. Erstellt mit GCBoK.WebStaticBuilder (MIT).</p>
|
||||
|
||||
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<footer class="site-footer">
|
||||
<div class="container">
|
||||
<h4>MEINE WEBSITE</h4>
|
||||
<p class="muted">Ein Beispiel für GCBoK.WebStaticBuilder</p>
|
||||
<ul>
|
||||
<li><a href="glossar.html">Glossar</a></li>
|
||||
<li><a href="impressum.html">Impressum</a></li>
|
||||
</ul>
|
||||
<p>© 2026 Meine Website</p>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<script src="/assets/js/gcbok-theme.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
Vendored
+85
@@ -0,0 +1,85 @@
|
||||
<!doctype html>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Startseite</title>
|
||||
<meta name="description" content="Die Landing-Page dieser Beispiel-Website">
|
||||
<link rel="icon" type="image/svg+xml" href="/assets/favicon/favicon.svg">
|
||||
<link rel="icon" type="image/png" sizes="96x96" href="/assets/favicon/favicon-96x96.png">
|
||||
<link rel="icon" href="/assets/favicon/favicon.ico">
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/assets/favicon/apple-touch-icon.png">
|
||||
<link rel="manifest" href="/assets/favicon/site.webmanifest">
|
||||
<meta name="msapplication-TileColor" content="#da532c">
|
||||
<meta name="theme-color" content="#ffffff">
|
||||
<meta property="og:title" content="Startseite">
|
||||
<meta property="og:description" content="Die Landing-Page dieser Beispiel-Website">
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:url" content="http://localhost:8000/">
|
||||
<meta property="og:locale" content="">
|
||||
<meta property="og:image" content="/assets/favicon/web-app-manifest-512x512.png">
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:title" content="Startseite">
|
||||
<meta name="twitter:description" content="Die Landing-Page dieser Beispiel-Website">
|
||||
<link rel="canonical" href="http://localhost:8000/">
|
||||
|
||||
<link rel="stylesheet" href="/assets/css/main.css">
|
||||
<link rel="icon" type="image/svg+xml" href="/assets/favicon/favicon.svg">
|
||||
<link rel="manifest" href="/assets/favicon/site.webmanifest">
|
||||
</head>
|
||||
<body>
|
||||
<a href="#main" class="skip-link">Zum Hauptinhalt springen</a>
|
||||
|
||||
<header class="site-header">
|
||||
<a href="index.html" class="brand" aria-label="Zur Startseite">Meine Website</a>
|
||||
<nav class="site-nav" aria-label="Hauptnavigation">
|
||||
<a class="nav-gcbok__link" href="ueber.html">Über</a>
|
||||
</nav>
|
||||
<div class="lang-dropdown" aria-label="Sprachumschalter">
|
||||
<ul class="lang-dropdown__menu">
|
||||
<li><a href="/de/" hreflang="de"><span>Deutsch</span> <span class="lang-dropdown__code">DE</span></a></li>
|
||||
<li><a href="/en/" hreflang="en"><span>English</span> <span class="lang-dropdown__code">EN</span></a></li>
|
||||
<li><a href="/vi/" hreflang="vi"><span>Tiếng Việt</span> <span class="lang-dropdown__code">VI</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<main id="main" tabindex="-1" data-pagefind-body>
|
||||
<div class="container">
|
||||
<h1 id="willkommen-bei-gcbok.webstaticbuilder">Willkommen bei GCBoK.WebStaticBuilder</h1>
|
||||
<p>Dies ist der Banner-Block (order 0), der auf der Startseite (Hero/Landing) eingebettet wird.</p>
|
||||
<h2 id="einfuhrung">Einführung</h2>
|
||||
<p>Diese Seite wurde mit <strong>GCBoK.WebStaticBuilder</strong> erzeugt — einem statischen, mehrsprachigen
|
||||
Generator für compliance-freundliche Websites (MIT, OSS).</p>
|
||||
<h2 id="funktionen">Funktionen</h2>
|
||||
<ul>
|
||||
<li>Markdown mit YAML-Frontmatter</li>
|
||||
<li>Mehrsprachigkeit (de / en / vi)</li>
|
||||
<li>SEO-Kopf, Sitemap, robots.txt</li>
|
||||
<li>Client-Suche via Pagefind</li>
|
||||
<li>UI-Lokalisierung über <code>{{ i18n.* }}</code></li>
|
||||
</ul>
|
||||
<h2 id="nachste-schritte">Nächste Schritte</h2>
|
||||
<p>Siehe <code>docs/</code> im Repository für die Einrichtung.</p>
|
||||
|
||||
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<footer class="site-footer">
|
||||
<div class="container">
|
||||
<h4>MEINE WEBSITE</h4>
|
||||
<p class="muted">Ein Beispiel für GCBoK.WebStaticBuilder</p>
|
||||
<ul>
|
||||
<li><a href="glossar.html">Glossar</a></li>
|
||||
<li><a href="impressum.html">Impressum</a></li>
|
||||
</ul>
|
||||
<p>© 2026 Meine Website</p>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<script src="/assets/js/gcbok-theme.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
Vendored
+81
@@ -0,0 +1,81 @@
|
||||
<!doctype html>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Über das Projekt</title>
|
||||
<meta name="description" content="Hintergrund zum Beispiel-Projekt">
|
||||
<link rel="icon" type="image/svg+xml" href="/assets/favicon/favicon.svg">
|
||||
<link rel="icon" type="image/png" sizes="96x96" href="/assets/favicon/favicon-96x96.png">
|
||||
<link rel="icon" href="/assets/favicon/favicon.ico">
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/assets/favicon/apple-touch-icon.png">
|
||||
<link rel="manifest" href="/assets/favicon/site.webmanifest">
|
||||
<meta name="msapplication-TileColor" content="#da532c">
|
||||
<meta name="theme-color" content="#ffffff">
|
||||
<meta property="og:title" content="Über das Projekt">
|
||||
<meta property="og:description" content="Hintergrund zum Beispiel-Projekt">
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:url" content="http://localhost:8000/ueber/">
|
||||
<meta property="og:locale" content="">
|
||||
<meta property="og:image" content="/assets/favicon/web-app-manifest-512x512.png">
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:title" content="Über das Projekt">
|
||||
<meta name="twitter:description" content="Hintergrund zum Beispiel-Projekt">
|
||||
<link rel="canonical" href="http://localhost:8000/ueber/">
|
||||
|
||||
<link rel="stylesheet" href="/assets/css/main.css">
|
||||
<link rel="icon" type="image/svg+xml" href="/assets/favicon/favicon.svg">
|
||||
<link rel="manifest" href="/assets/favicon/site.webmanifest">
|
||||
</head>
|
||||
<body>
|
||||
<a href="#main" class="skip-link">Zum Hauptinhalt springen</a>
|
||||
|
||||
<header class="site-header">
|
||||
<a href="index.html" class="brand" aria-label="Zur Startseite">Meine Website</a>
|
||||
<nav class="site-nav" aria-label="Hauptnavigation">
|
||||
<a class="nav-gcbok__link" href="ueber.html">Über</a>
|
||||
</nav>
|
||||
<div class="lang-dropdown" aria-label="Sprachumschalter">
|
||||
<ul class="lang-dropdown__menu">
|
||||
<li><a href="/de/" hreflang="de"><span>Deutsch</span> <span class="lang-dropdown__code">DE</span></a></li>
|
||||
<li><a href="/en/" hreflang="en"><span>English</span> <span class="lang-dropdown__code">EN</span></a></li>
|
||||
<li><a href="/vi/" hreflang="vi"><span>Tiếng Việt</span> <span class="lang-dropdown__code">VI</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<main id="main" tabindex="-1" data-pagefind-body>
|
||||
<div class="container">
|
||||
<h2 id="uber">Über</h2>
|
||||
<p>GCBoK.WebStaticBuilder ist ein eigenständiges OSS-Tool der GitCover Commons.
|
||||
Es erzeugt statische Websites ohne Server, Datenbank oder Build-Service.</p>
|
||||
<div class="mermaid">graph TD
|
||||
A[Markdown] --> B(Builder)
|
||||
B --> C[HTML]
|
||||
C --> D[Pagefind Index]
|
||||
</div>
|
||||
|
||||
<nav class="page-nav" aria-label="Seitennavigation">
|
||||
<span class="page-nav__link"> </span>
|
||||
<span class="page-nav__link page-nav__link--next"> </span>
|
||||
</nav>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<footer class="site-footer">
|
||||
<div class="container">
|
||||
<h4>MEINE WEBSITE</h4>
|
||||
<p class="muted">Ein Beispiel für GCBoK.WebStaticBuilder</p>
|
||||
<ul>
|
||||
<li><a href="glossar.html">Glossar</a></li>
|
||||
<li><a href="impressum.html">Impressum</a></li>
|
||||
</ul>
|
||||
<p>© 2026 Meine Website</p>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<script src="/assets/js/gcbok-theme.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
+73
@@ -0,0 +1,73 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Impressum</title>
|
||||
<meta name="description" content="A multilingual, static website.">
|
||||
<link rel="icon" type="image/svg+xml" href="/assets/favicon/favicon.svg">
|
||||
<link rel="icon" type="image/png" sizes="96x96" href="/assets/favicon/favicon-96x96.png">
|
||||
<link rel="icon" href="/assets/favicon/favicon.ico">
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/assets/favicon/apple-touch-icon.png">
|
||||
<link rel="manifest" href="/assets/favicon/site.webmanifest">
|
||||
<meta name="msapplication-TileColor" content="#da532c">
|
||||
<meta name="theme-color" content="#ffffff">
|
||||
<meta property="og:title" content="Impressum">
|
||||
<meta property="og:description" content="A multilingual, static website.">
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:url" content="http://localhost:8000/impressum/">
|
||||
<meta property="og:locale" content="">
|
||||
<meta property="og:image" content="/assets/favicon/web-app-manifest-512x512.png">
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:title" content="Impressum">
|
||||
<meta name="twitter:description" content="A multilingual, static website.">
|
||||
<link rel="canonical" href="http://localhost:8000/impressum/">
|
||||
|
||||
<link rel="stylesheet" href="/assets/css/main.css">
|
||||
<link rel="icon" type="image/svg+xml" href="/assets/favicon/favicon.svg">
|
||||
<link rel="manifest" href="/assets/favicon/site.webmanifest">
|
||||
</head>
|
||||
<body>
|
||||
<a href="#main" class="skip-link">Skip to main content</a>
|
||||
|
||||
<header class="site-header">
|
||||
<a href="index.html" class="brand" aria-label="Back to home">My Website</a>
|
||||
<nav class="site-nav" aria-label="Main navigation">
|
||||
<a class="nav-gcbok__link" href="ueber.html">Über</a>
|
||||
</nav>
|
||||
<div class="lang-dropdown" aria-label="Language switcher">
|
||||
<ul class="lang-dropdown__menu">
|
||||
<li><a href="/de/" hreflang="de"><span>Deutsch</span> <span class="lang-dropdown__code">DE</span></a></li>
|
||||
<li><a href="/en/" hreflang="en"><span>English</span> <span class="lang-dropdown__code">EN</span></a></li>
|
||||
<li><a href="/vi/" hreflang="vi"><span>Tiếng Việt</span> <span class="lang-dropdown__code">VI</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<main id="main" tabindex="-1" data-pagefind-body>
|
||||
<div class="container">
|
||||
<h2 id="impressum">Impressum</h2>
|
||||
<p>Beispiel-Website · Ansprechpartner: webmaster@example.org</p>
|
||||
<p>© 2026 Beispiel-Website. Erstellt mit GCBoK.WebStaticBuilder (MIT).</p>
|
||||
|
||||
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<footer class="site-footer">
|
||||
<div class="container">
|
||||
<h4>MY WEBSITE</h4>
|
||||
<p class="muted">An example for GCBoK.WebStaticBuilder</p>
|
||||
<ul>
|
||||
<li><a href="glossary.html">Glossary</a></li>
|
||||
<li><a href="impressum.html">Imprint</a></li>
|
||||
</ul>
|
||||
<p>© 2026 My Website</p>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<script src="/assets/js/gcbok-theme.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
Vendored
+85
@@ -0,0 +1,85 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Startseite</title>
|
||||
<meta name="description" content="Die Landing-Page dieser Beispiel-Website">
|
||||
<link rel="icon" type="image/svg+xml" href="/assets/favicon/favicon.svg">
|
||||
<link rel="icon" type="image/png" sizes="96x96" href="/assets/favicon/favicon-96x96.png">
|
||||
<link rel="icon" href="/assets/favicon/favicon.ico">
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/assets/favicon/apple-touch-icon.png">
|
||||
<link rel="manifest" href="/assets/favicon/site.webmanifest">
|
||||
<meta name="msapplication-TileColor" content="#da532c">
|
||||
<meta name="theme-color" content="#ffffff">
|
||||
<meta property="og:title" content="Startseite">
|
||||
<meta property="og:description" content="Die Landing-Page dieser Beispiel-Website">
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:url" content="http://localhost:8000/">
|
||||
<meta property="og:locale" content="">
|
||||
<meta property="og:image" content="/assets/favicon/web-app-manifest-512x512.png">
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:title" content="Startseite">
|
||||
<meta name="twitter:description" content="Die Landing-Page dieser Beispiel-Website">
|
||||
<link rel="canonical" href="http://localhost:8000/">
|
||||
|
||||
<link rel="stylesheet" href="/assets/css/main.css">
|
||||
<link rel="icon" type="image/svg+xml" href="/assets/favicon/favicon.svg">
|
||||
<link rel="manifest" href="/assets/favicon/site.webmanifest">
|
||||
</head>
|
||||
<body>
|
||||
<a href="#main" class="skip-link">Skip to main content</a>
|
||||
|
||||
<header class="site-header">
|
||||
<a href="index.html" class="brand" aria-label="Back to home">My Website</a>
|
||||
<nav class="site-nav" aria-label="Main navigation">
|
||||
<a class="nav-gcbok__link" href="ueber.html">Über</a>
|
||||
</nav>
|
||||
<div class="lang-dropdown" aria-label="Language switcher">
|
||||
<ul class="lang-dropdown__menu">
|
||||
<li><a href="/de/" hreflang="de"><span>Deutsch</span> <span class="lang-dropdown__code">DE</span></a></li>
|
||||
<li><a href="/en/" hreflang="en"><span>English</span> <span class="lang-dropdown__code">EN</span></a></li>
|
||||
<li><a href="/vi/" hreflang="vi"><span>Tiếng Việt</span> <span class="lang-dropdown__code">VI</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<main id="main" tabindex="-1" data-pagefind-body>
|
||||
<div class="container">
|
||||
<h1 id="willkommen-bei-gcbok.webstaticbuilder">Willkommen bei GCBoK.WebStaticBuilder</h1>
|
||||
<p>Dies ist der Banner-Block (order 0), der auf der Startseite (Hero/Landing) eingebettet wird.</p>
|
||||
<h2 id="einfuhrung">Einführung</h2>
|
||||
<p>Diese Seite wurde mit <strong>GCBoK.WebStaticBuilder</strong> erzeugt — einem statischen, mehrsprachigen
|
||||
Generator für compliance-freundliche Websites (MIT, OSS).</p>
|
||||
<h2 id="funktionen">Funktionen</h2>
|
||||
<ul>
|
||||
<li>Markdown mit YAML-Frontmatter</li>
|
||||
<li>Mehrsprachigkeit (de / en / vi)</li>
|
||||
<li>SEO-Kopf, Sitemap, robots.txt</li>
|
||||
<li>Client-Suche via Pagefind</li>
|
||||
<li>UI-Lokalisierung über <code>{{ i18n.* }}</code></li>
|
||||
</ul>
|
||||
<h2 id="nachste-schritte">Nächste Schritte</h2>
|
||||
<p>Siehe <code>docs/</code> im Repository für die Einrichtung.</p>
|
||||
|
||||
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<footer class="site-footer">
|
||||
<div class="container">
|
||||
<h4>MY WEBSITE</h4>
|
||||
<p class="muted">An example for GCBoK.WebStaticBuilder</p>
|
||||
<ul>
|
||||
<li><a href="glossary.html">Glossary</a></li>
|
||||
<li><a href="impressum.html">Imprint</a></li>
|
||||
</ul>
|
||||
<p>© 2026 My Website</p>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<script src="/assets/js/gcbok-theme.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
Vendored
+81
@@ -0,0 +1,81 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Über das Projekt</title>
|
||||
<meta name="description" content="Hintergrund zum Beispiel-Projekt">
|
||||
<link rel="icon" type="image/svg+xml" href="/assets/favicon/favicon.svg">
|
||||
<link rel="icon" type="image/png" sizes="96x96" href="/assets/favicon/favicon-96x96.png">
|
||||
<link rel="icon" href="/assets/favicon/favicon.ico">
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/assets/favicon/apple-touch-icon.png">
|
||||
<link rel="manifest" href="/assets/favicon/site.webmanifest">
|
||||
<meta name="msapplication-TileColor" content="#da532c">
|
||||
<meta name="theme-color" content="#ffffff">
|
||||
<meta property="og:title" content="Über das Projekt">
|
||||
<meta property="og:description" content="Hintergrund zum Beispiel-Projekt">
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:url" content="http://localhost:8000/ueber/">
|
||||
<meta property="og:locale" content="">
|
||||
<meta property="og:image" content="/assets/favicon/web-app-manifest-512x512.png">
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:title" content="Über das Projekt">
|
||||
<meta name="twitter:description" content="Hintergrund zum Beispiel-Projekt">
|
||||
<link rel="canonical" href="http://localhost:8000/ueber/">
|
||||
|
||||
<link rel="stylesheet" href="/assets/css/main.css">
|
||||
<link rel="icon" type="image/svg+xml" href="/assets/favicon/favicon.svg">
|
||||
<link rel="manifest" href="/assets/favicon/site.webmanifest">
|
||||
</head>
|
||||
<body>
|
||||
<a href="#main" class="skip-link">Skip to main content</a>
|
||||
|
||||
<header class="site-header">
|
||||
<a href="index.html" class="brand" aria-label="Back to home">My Website</a>
|
||||
<nav class="site-nav" aria-label="Main navigation">
|
||||
<a class="nav-gcbok__link" href="ueber.html">Über</a>
|
||||
</nav>
|
||||
<div class="lang-dropdown" aria-label="Language switcher">
|
||||
<ul class="lang-dropdown__menu">
|
||||
<li><a href="/de/" hreflang="de"><span>Deutsch</span> <span class="lang-dropdown__code">DE</span></a></li>
|
||||
<li><a href="/en/" hreflang="en"><span>English</span> <span class="lang-dropdown__code">EN</span></a></li>
|
||||
<li><a href="/vi/" hreflang="vi"><span>Tiếng Việt</span> <span class="lang-dropdown__code">VI</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<main id="main" tabindex="-1" data-pagefind-body>
|
||||
<div class="container">
|
||||
<h2 id="uber">Über</h2>
|
||||
<p>GCBoK.WebStaticBuilder ist ein eigenständiges OSS-Tool der GitCover Commons.
|
||||
Es erzeugt statische Websites ohne Server, Datenbank oder Build-Service.</p>
|
||||
<div class="mermaid">graph TD
|
||||
A[Markdown] --> B(Builder)
|
||||
B --> C[HTML]
|
||||
C --> D[Pagefind Index]
|
||||
</div>
|
||||
|
||||
<nav class="page-nav" aria-label="Seitennavigation">
|
||||
<span class="page-nav__link"> </span>
|
||||
<span class="page-nav__link page-nav__link--next"> </span>
|
||||
</nav>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<footer class="site-footer">
|
||||
<div class="container">
|
||||
<h4>MY WEBSITE</h4>
|
||||
<p class="muted">An example for GCBoK.WebStaticBuilder</p>
|
||||
<ul>
|
||||
<li><a href="glossary.html">Glossary</a></li>
|
||||
<li><a href="impressum.html">Imprint</a></li>
|
||||
</ul>
|
||||
<p>© 2026 My Website</p>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<script src="/assets/js/gcbok-theme.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
Vendored
+30
@@ -0,0 +1,30 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Meine Website</title>
|
||||
<script>
|
||||
(function() {
|
||||
var supported = ["de","en","vi"];
|
||||
var defaultLang = "de";
|
||||
var lang = defaultLang;
|
||||
if (navigator.languages && navigator.languages.length) {
|
||||
for (var i = 0; i < navigator.languages.length; i++) {
|
||||
var pref = navigator.languages[i].toLowerCase().split("-")[0];
|
||||
if (supported.indexOf(pref) !== -1) { lang = pref; break; }
|
||||
}
|
||||
} else if (navigator.language) {
|
||||
var pref = navigator.language.toLowerCase().split("-")[0];
|
||||
if (supported.indexOf(pref) !== -1) lang = pref;
|
||||
}
|
||||
window.location.replace("/" + lang + "/");
|
||||
})();
|
||||
</script>
|
||||
<meta http-equiv="refresh" content="0; url=/de/">
|
||||
<link rel="canonical" href="http://localhost:8000/de/">
|
||||
</head>
|
||||
<body>
|
||||
<p>Redirecting to <a href="/de/">Deutsch</a> | <a href="/en/">English</a> | <a href="/vi/">Tiếng Việt</a></p>
|
||||
</body>
|
||||
</html>
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
{"version":"1.5.2","languages":{"de":{"hash":"de_8987bfa9ae","wasm":"de","page_count":3},"vi":{"hash":"vi_2270a45bad","wasm":null,"page_count":3},"en":{"hash":"en_9b2654cc0d","wasm":"en","page_count":3}},"include_characters":["_","‿","⁀","⁔","︳","︴","﹍","﹎","﹏","_"]}
|
||||
+1070
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,214 @@
|
||||
:root {
|
||||
--pagefind-ui-scale: 0.8;
|
||||
--pagefind-ui-primary: #034AD8;
|
||||
--pagefind-ui-fade: #707070;
|
||||
--pagefind-ui-text: #393939;
|
||||
--pagefind-ui-background: #ffffff;
|
||||
--pagefind-ui-border: #eeeeee;
|
||||
--pagefind-ui-tag: #eeeeee;
|
||||
--pagefind-ui-border-width: 2px;
|
||||
--pagefind-ui-border-radius: 8px;
|
||||
--pagefind-ui-image-border-radius: 8px;
|
||||
--pagefind-ui-image-box-ratio: 3 / 2;
|
||||
--pagefind-ui-font: system, -apple-system, ".SFNSText-Regular",
|
||||
"San Francisco", "Roboto", "Segoe UI", "Helvetica Neue",
|
||||
"Lucida Grande", sans-serif;
|
||||
}
|
||||
|
||||
[data-pfmod-hidden] {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
[data-pfmod-suppressed] {
|
||||
opacity: 0 !important;
|
||||
pointer-events: none !important;
|
||||
}
|
||||
|
||||
[data-pfmod-sr-hidden] {
|
||||
-webkit-clip: rect(0 0 0 0) !important;
|
||||
clip: rect(0 0 0 0) !important;
|
||||
-webkit-clip-path: inset(100%) !important;
|
||||
clip-path: inset(100%) !important;
|
||||
height: 1px !important;
|
||||
overflow: hidden !important;
|
||||
overflow: clip !important;
|
||||
position: absolute !important;
|
||||
white-space: nowrap !important;
|
||||
width: 1px !important;
|
||||
}
|
||||
|
||||
[data-pfmod-loading] {
|
||||
color: var(--pagefind-ui-text);
|
||||
background-color: var(--pagefind-ui-text);
|
||||
border-radius: var(--pagefind-ui-border-radius);
|
||||
opacity: 0.1;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
/* Input */
|
||||
|
||||
.pagefind-modular-input-wrapper {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.pagefind-modular-input-wrapper::before {
|
||||
background-color: var(--pagefind-ui-text);
|
||||
width: calc(18px * var(--pagefind-ui-scale));
|
||||
height: calc(18px * var(--pagefind-ui-scale));
|
||||
top: calc(23px * var(--pagefind-ui-scale));
|
||||
left: calc(20px * var(--pagefind-ui-scale));
|
||||
content: "";
|
||||
position: absolute;
|
||||
display: block;
|
||||
opacity: 0.7;
|
||||
-webkit-mask-image: url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.7549 11.255H11.9649L11.6849 10.985C12.6649 9.845 13.2549 8.365 13.2549 6.755C13.2549 3.165 10.3449 0.255005 6.75488 0.255005C3.16488 0.255005 0.254883 3.165 0.254883 6.755C0.254883 10.345 3.16488 13.255 6.75488 13.255C8.36488 13.255 9.84488 12.665 10.9849 11.685L11.2549 11.965V12.755L16.2549 17.745L17.7449 16.255L12.7549 11.255ZM6.75488 11.255C4.26488 11.255 2.25488 9.245 2.25488 6.755C2.25488 4.26501 4.26488 2.255 6.75488 2.255C9.24488 2.255 11.2549 4.26501 11.2549 6.755C11.2549 9.245 9.24488 11.255 6.75488 11.255Z' fill='%23000000'/%3E%3C/svg%3E%0A");
|
||||
mask-image: url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.7549 11.255H11.9649L11.6849 10.985C12.6649 9.845 13.2549 8.365 13.2549 6.755C13.2549 3.165 10.3449 0.255005 6.75488 0.255005C3.16488 0.255005 0.254883 3.165 0.254883 6.755C0.254883 10.345 3.16488 13.255 6.75488 13.255C8.36488 13.255 9.84488 12.665 10.9849 11.685L11.2549 11.965V12.755L16.2549 17.745L17.7449 16.255L12.7549 11.255ZM6.75488 11.255C4.26488 11.255 2.25488 9.245 2.25488 6.755C2.25488 4.26501 4.26488 2.255 6.75488 2.255C9.24488 2.255 11.2549 4.26501 11.2549 6.755C11.2549 9.245 9.24488 11.255 6.75488 11.255Z' fill='%23000000'/%3E%3C/svg%3E%0A");
|
||||
-webkit-mask-size: 100%;
|
||||
mask-size: 100%;
|
||||
z-index: 9;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.pagefind-modular-input {
|
||||
height: calc(64px * var(--pagefind-ui-scale));
|
||||
padding: 0 calc(70px * var(--pagefind-ui-scale)) 0 calc(54px * var(--pagefind-ui-scale));
|
||||
background-color: var(--pagefind-ui-background);
|
||||
border: var(--pagefind-ui-border-width) solid var(--pagefind-ui-border);
|
||||
border-radius: var(--pagefind-ui-border-radius);
|
||||
font-size: calc(21px * var(--pagefind-ui-scale));
|
||||
position: relative;
|
||||
appearance: none;
|
||||
-webkit-appearance: none;
|
||||
display: flex;
|
||||
width: 100%;
|
||||
box-sizing: border-box;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.pagefind-modular-input::placeholder {
|
||||
opacity: 0.2;
|
||||
}
|
||||
|
||||
.pagefind-modular-input-clear {
|
||||
position: absolute;
|
||||
top: calc(2px * var(--pagefind-ui-scale));
|
||||
right: calc(2px * var(--pagefind-ui-scale));
|
||||
height: calc(60px * var(--pagefind-ui-scale));
|
||||
border-radius: var(--pagefind-ui-border-radius);
|
||||
padding: 0 calc(15px * var(--pagefind-ui-scale)) 0 calc(2px * var(--pagefind-ui-scale));
|
||||
color: var(--pagefind-ui-text);
|
||||
font-size: calc(14px * var(--pagefind-ui-scale));
|
||||
cursor: pointer;
|
||||
background-color: var(--pagefind-ui-background);
|
||||
border: none;
|
||||
appearance: none;
|
||||
}
|
||||
|
||||
/* ResultList */
|
||||
|
||||
.pagefind-modular-list-result {
|
||||
list-style-type: none;
|
||||
display: flex;
|
||||
align-items: flex-start;
|
||||
gap: min(calc(40px * var(--pagefind-ui-scale)), 3%);
|
||||
padding: calc(30px * var(--pagefind-ui-scale)) 0 calc(40px * var(--pagefind-ui-scale));
|
||||
border-top: solid var(--pagefind-ui-border-width) var(--pagefind-ui-border);
|
||||
}
|
||||
|
||||
.pagefind-modular-list-result:last-of-type {
|
||||
border-bottom: solid var(--pagefind-ui-border-width) var(--pagefind-ui-border);
|
||||
}
|
||||
|
||||
.pagefind-modular-list-thumb {
|
||||
width: min(30%,
|
||||
calc((30% - (100px * var(--pagefind-ui-scale))) * 100000));
|
||||
max-width: calc(120px * var(--pagefind-ui-scale));
|
||||
margin-top: calc(10px * var(--pagefind-ui-scale));
|
||||
aspect-ratio: var(--pagefind-ui-image-box-ratio);
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.pagefind-modular-list-image {
|
||||
display: block;
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
transform: translateX(-50%);
|
||||
font-size: 0;
|
||||
width: auto;
|
||||
height: auto;
|
||||
max-width: 100%;
|
||||
max-height: 100%;
|
||||
border-radius: var(--pagefind-ui-image-border-radius);
|
||||
}
|
||||
|
||||
.pagefind-modular-list-inner {
|
||||
flex: 1;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: flex-start;
|
||||
margin-top: calc(10px * var(--pagefind-ui-scale));
|
||||
}
|
||||
|
||||
.pagefind-modular-list-title {
|
||||
display: inline-block;
|
||||
font-weight: 700;
|
||||
font-size: calc(21px * var(--pagefind-ui-scale));
|
||||
margin-top: 0;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.pagefind-modular-list-link {
|
||||
color: var(--pagefind-ui-text);
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.pagefind-modular-list-link:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.pagefind-modular-list-excerpt {
|
||||
display: inline-block;
|
||||
font-weight: 400;
|
||||
font-size: calc(16px * var(--pagefind-ui-scale));
|
||||
margin-top: calc(4px * var(--pagefind-ui-scale));
|
||||
margin-bottom: 0;
|
||||
min-width: calc(250px * var(--pagefind-ui-scale));
|
||||
}
|
||||
|
||||
/* FilterPills */
|
||||
|
||||
.pagefind-modular-filter-pills-wrapper {
|
||||
overflow-x: scroll;
|
||||
padding: 15px 0;
|
||||
}
|
||||
|
||||
.pagefind-modular-filter-pills {
|
||||
display: flex;
|
||||
gap: 6px;
|
||||
}
|
||||
|
||||
.pagefind-modular-filter-pill {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
border: none;
|
||||
appearance: none;
|
||||
padding: 0 calc(24px * var(--pagefind-ui-scale));
|
||||
background-color: var(--pagefind-ui-background);
|
||||
color: var(--pagefind-ui-fade);
|
||||
border: var(--pagefind-ui-border-width) solid var(--pagefind-ui-border);
|
||||
border-radius: calc(25px * var(--pagefind-ui-scale));
|
||||
font-size: calc(18px * var(--pagefind-ui-scale));
|
||||
height: calc(50px * var(--pagefind-ui-scale));
|
||||
cursor: pointer;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.pagefind-modular-filter-pill:hover {
|
||||
border-color: var(--pagefind-ui-primary);
|
||||
}
|
||||
|
||||
.pagefind-modular-filter-pill[aria-pressed="true"] {
|
||||
border-color: var(--pagefind-ui-primary);
|
||||
color: var(--pagefind-ui-primary);
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Binary file not shown.
Binary file not shown.
+6
File diff suppressed because one or more lines are too long
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Vendored
+3
@@ -0,0 +1,3 @@
|
||||
User-agent: *
|
||||
Allow: /
|
||||
Sitemap: http://localhost:8000/sitemap.xml
|
||||
Vendored
+15
@@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
||||
<url><loc>http://localhost:8000/de/</loc></url>
|
||||
<url><loc>http://localhost:8000/</loc></url>
|
||||
<url><loc>http://localhost:8000/</loc></url>
|
||||
<url><loc>http://localhost:8000/ueber/</loc></url>
|
||||
<url><loc>http://localhost:8000/en/</loc></url>
|
||||
<url><loc>http://localhost:8000/</loc></url>
|
||||
<url><loc>http://localhost:8000/</loc></url>
|
||||
<url><loc>http://localhost:8000/ueber/</loc></url>
|
||||
<url><loc>http://localhost:8000/vi/</loc></url>
|
||||
<url><loc>http://localhost:8000/</loc></url>
|
||||
<url><loc>http://localhost:8000/</loc></url>
|
||||
<url><loc>http://localhost:8000/ueber/</loc></url>
|
||||
</urlset>
|
||||
+73
@@ -0,0 +1,73 @@
|
||||
<!doctype html>
|
||||
<html lang="vi">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Impressum</title>
|
||||
<meta name="description" content="Một trang web tĩnh, đa ngôn ngữ.">
|
||||
<link rel="icon" type="image/svg+xml" href="/assets/favicon/favicon.svg">
|
||||
<link rel="icon" type="image/png" sizes="96x96" href="/assets/favicon/favicon-96x96.png">
|
||||
<link rel="icon" href="/assets/favicon/favicon.ico">
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/assets/favicon/apple-touch-icon.png">
|
||||
<link rel="manifest" href="/assets/favicon/site.webmanifest">
|
||||
<meta name="msapplication-TileColor" content="#da532c">
|
||||
<meta name="theme-color" content="#ffffff">
|
||||
<meta property="og:title" content="Impressum">
|
||||
<meta property="og:description" content="Một trang web tĩnh, đa ngôn ngữ.">
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:url" content="http://localhost:8000/impressum/">
|
||||
<meta property="og:locale" content="">
|
||||
<meta property="og:image" content="/assets/favicon/web-app-manifest-512x512.png">
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:title" content="Impressum">
|
||||
<meta name="twitter:description" content="Một trang web tĩnh, đa ngôn ngữ.">
|
||||
<link rel="canonical" href="http://localhost:8000/impressum/">
|
||||
|
||||
<link rel="stylesheet" href="/assets/css/main.css">
|
||||
<link rel="icon" type="image/svg+xml" href="/assets/favicon/favicon.svg">
|
||||
<link rel="manifest" href="/assets/favicon/site.webmanifest">
|
||||
</head>
|
||||
<body>
|
||||
<a href="#main" class="skip-link">Đến nội dung chính</a>
|
||||
|
||||
<header class="site-header">
|
||||
<a href="index.html" class="brand" aria-label="Về trang chủ">Trang web của tôi</a>
|
||||
<nav class="site-nav" aria-label="Điều hướng chính">
|
||||
<a class="nav-gcbok__link" href="ueber.html">Über</a>
|
||||
</nav>
|
||||
<div class="lang-dropdown" aria-label="Chuyển ngôn ngữ">
|
||||
<ul class="lang-dropdown__menu">
|
||||
<li><a href="/de/" hreflang="de"><span>Deutsch</span> <span class="lang-dropdown__code">DE</span></a></li>
|
||||
<li><a href="/en/" hreflang="en"><span>English</span> <span class="lang-dropdown__code">EN</span></a></li>
|
||||
<li><a href="/vi/" hreflang="vi"><span>Tiếng Việt</span> <span class="lang-dropdown__code">VI</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<main id="main" tabindex="-1" data-pagefind-body>
|
||||
<div class="container">
|
||||
<h2 id="impressum">Impressum</h2>
|
||||
<p>Beispiel-Website · Ansprechpartner: webmaster@example.org</p>
|
||||
<p>© 2026 Beispiel-Website. Erstellt mit GCBoK.WebStaticBuilder (MIT).</p>
|
||||
|
||||
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<footer class="site-footer">
|
||||
<div class="container">
|
||||
<h4>TRANG WEB CỦA TÔI</h4>
|
||||
<p class="muted">Một ví dụ cho GCBoK.WebStaticBuilder</p>
|
||||
<ul>
|
||||
<li><a href="b-ng-thu-t-ng.html">Bảng thuật ngữ</a></li>
|
||||
<li><a href="impressum.html">Thông tin pháp lý</a></li>
|
||||
</ul>
|
||||
<p>© 2026 Trang web của tôi</p>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<script src="/assets/js/gcbok-theme.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
Vendored
+85
@@ -0,0 +1,85 @@
|
||||
<!doctype html>
|
||||
<html lang="vi">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Startseite</title>
|
||||
<meta name="description" content="Die Landing-Page dieser Beispiel-Website">
|
||||
<link rel="icon" type="image/svg+xml" href="/assets/favicon/favicon.svg">
|
||||
<link rel="icon" type="image/png" sizes="96x96" href="/assets/favicon/favicon-96x96.png">
|
||||
<link rel="icon" href="/assets/favicon/favicon.ico">
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/assets/favicon/apple-touch-icon.png">
|
||||
<link rel="manifest" href="/assets/favicon/site.webmanifest">
|
||||
<meta name="msapplication-TileColor" content="#da532c">
|
||||
<meta name="theme-color" content="#ffffff">
|
||||
<meta property="og:title" content="Startseite">
|
||||
<meta property="og:description" content="Die Landing-Page dieser Beispiel-Website">
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:url" content="http://localhost:8000/">
|
||||
<meta property="og:locale" content="">
|
||||
<meta property="og:image" content="/assets/favicon/web-app-manifest-512x512.png">
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:title" content="Startseite">
|
||||
<meta name="twitter:description" content="Die Landing-Page dieser Beispiel-Website">
|
||||
<link rel="canonical" href="http://localhost:8000/">
|
||||
|
||||
<link rel="stylesheet" href="/assets/css/main.css">
|
||||
<link rel="icon" type="image/svg+xml" href="/assets/favicon/favicon.svg">
|
||||
<link rel="manifest" href="/assets/favicon/site.webmanifest">
|
||||
</head>
|
||||
<body>
|
||||
<a href="#main" class="skip-link">Đến nội dung chính</a>
|
||||
|
||||
<header class="site-header">
|
||||
<a href="index.html" class="brand" aria-label="Về trang chủ">Trang web của tôi</a>
|
||||
<nav class="site-nav" aria-label="Điều hướng chính">
|
||||
<a class="nav-gcbok__link" href="ueber.html">Über</a>
|
||||
</nav>
|
||||
<div class="lang-dropdown" aria-label="Chuyển ngôn ngữ">
|
||||
<ul class="lang-dropdown__menu">
|
||||
<li><a href="/de/" hreflang="de"><span>Deutsch</span> <span class="lang-dropdown__code">DE</span></a></li>
|
||||
<li><a href="/en/" hreflang="en"><span>English</span> <span class="lang-dropdown__code">EN</span></a></li>
|
||||
<li><a href="/vi/" hreflang="vi"><span>Tiếng Việt</span> <span class="lang-dropdown__code">VI</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<main id="main" tabindex="-1" data-pagefind-body>
|
||||
<div class="container">
|
||||
<h1 id="willkommen-bei-gcbok.webstaticbuilder">Willkommen bei GCBoK.WebStaticBuilder</h1>
|
||||
<p>Dies ist der Banner-Block (order 0), der auf der Startseite (Hero/Landing) eingebettet wird.</p>
|
||||
<h2 id="einfuhrung">Einführung</h2>
|
||||
<p>Diese Seite wurde mit <strong>GCBoK.WebStaticBuilder</strong> erzeugt — einem statischen, mehrsprachigen
|
||||
Generator für compliance-freundliche Websites (MIT, OSS).</p>
|
||||
<h2 id="funktionen">Funktionen</h2>
|
||||
<ul>
|
||||
<li>Markdown mit YAML-Frontmatter</li>
|
||||
<li>Mehrsprachigkeit (de / en / vi)</li>
|
||||
<li>SEO-Kopf, Sitemap, robots.txt</li>
|
||||
<li>Client-Suche via Pagefind</li>
|
||||
<li>UI-Lokalisierung über <code>{{ i18n.* }}</code></li>
|
||||
</ul>
|
||||
<h2 id="nachste-schritte">Nächste Schritte</h2>
|
||||
<p>Siehe <code>docs/</code> im Repository für die Einrichtung.</p>
|
||||
|
||||
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<footer class="site-footer">
|
||||
<div class="container">
|
||||
<h4>TRANG WEB CỦA TÔI</h4>
|
||||
<p class="muted">Một ví dụ cho GCBoK.WebStaticBuilder</p>
|
||||
<ul>
|
||||
<li><a href="b-ng-thu-t-ng.html">Bảng thuật ngữ</a></li>
|
||||
<li><a href="impressum.html">Thông tin pháp lý</a></li>
|
||||
</ul>
|
||||
<p>© 2026 Trang web của tôi</p>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<script src="/assets/js/gcbok-theme.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
Vendored
+81
@@ -0,0 +1,81 @@
|
||||
<!doctype html>
|
||||
<html lang="vi">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Über das Projekt</title>
|
||||
<meta name="description" content="Hintergrund zum Beispiel-Projekt">
|
||||
<link rel="icon" type="image/svg+xml" href="/assets/favicon/favicon.svg">
|
||||
<link rel="icon" type="image/png" sizes="96x96" href="/assets/favicon/favicon-96x96.png">
|
||||
<link rel="icon" href="/assets/favicon/favicon.ico">
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/assets/favicon/apple-touch-icon.png">
|
||||
<link rel="manifest" href="/assets/favicon/site.webmanifest">
|
||||
<meta name="msapplication-TileColor" content="#da532c">
|
||||
<meta name="theme-color" content="#ffffff">
|
||||
<meta property="og:title" content="Über das Projekt">
|
||||
<meta property="og:description" content="Hintergrund zum Beispiel-Projekt">
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:url" content="http://localhost:8000/ueber/">
|
||||
<meta property="og:locale" content="">
|
||||
<meta property="og:image" content="/assets/favicon/web-app-manifest-512x512.png">
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:title" content="Über das Projekt">
|
||||
<meta name="twitter:description" content="Hintergrund zum Beispiel-Projekt">
|
||||
<link rel="canonical" href="http://localhost:8000/ueber/">
|
||||
|
||||
<link rel="stylesheet" href="/assets/css/main.css">
|
||||
<link rel="icon" type="image/svg+xml" href="/assets/favicon/favicon.svg">
|
||||
<link rel="manifest" href="/assets/favicon/site.webmanifest">
|
||||
</head>
|
||||
<body>
|
||||
<a href="#main" class="skip-link">Đến nội dung chính</a>
|
||||
|
||||
<header class="site-header">
|
||||
<a href="index.html" class="brand" aria-label="Về trang chủ">Trang web của tôi</a>
|
||||
<nav class="site-nav" aria-label="Điều hướng chính">
|
||||
<a class="nav-gcbok__link" href="ueber.html">Über</a>
|
||||
</nav>
|
||||
<div class="lang-dropdown" aria-label="Chuyển ngôn ngữ">
|
||||
<ul class="lang-dropdown__menu">
|
||||
<li><a href="/de/" hreflang="de"><span>Deutsch</span> <span class="lang-dropdown__code">DE</span></a></li>
|
||||
<li><a href="/en/" hreflang="en"><span>English</span> <span class="lang-dropdown__code">EN</span></a></li>
|
||||
<li><a href="/vi/" hreflang="vi"><span>Tiếng Việt</span> <span class="lang-dropdown__code">VI</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<main id="main" tabindex="-1" data-pagefind-body>
|
||||
<div class="container">
|
||||
<h2 id="uber">Über</h2>
|
||||
<p>GCBoK.WebStaticBuilder ist ein eigenständiges OSS-Tool der GitCover Commons.
|
||||
Es erzeugt statische Websites ohne Server, Datenbank oder Build-Service.</p>
|
||||
<div class="mermaid">graph TD
|
||||
A[Markdown] --> B(Builder)
|
||||
B --> C[HTML]
|
||||
C --> D[Pagefind Index]
|
||||
</div>
|
||||
|
||||
<nav class="page-nav" aria-label="Seitennavigation">
|
||||
<span class="page-nav__link"> </span>
|
||||
<span class="page-nav__link page-nav__link--next"> </span>
|
||||
</nav>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<footer class="site-footer">
|
||||
<div class="container">
|
||||
<h4>TRANG WEB CỦA TÔI</h4>
|
||||
<p class="muted">Một ví dụ cho GCBoK.WebStaticBuilder</p>
|
||||
<ul>
|
||||
<li><a href="b-ng-thu-t-ng.html">Bảng thuật ngữ</a></li>
|
||||
<li><a href="impressum.html">Thông tin pháp lý</a></li>
|
||||
</ul>
|
||||
<p>© 2026 Trang web của tôi</p>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<script src="/assets/js/gcbok-theme.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,53 @@
|
||||
{
|
||||
"de": {
|
||||
"aria": {
|
||||
"skip": "Zum Hauptinhalt springen",
|
||||
"brand": "Zur Startseite",
|
||||
"main_nav": "Hauptnavigation",
|
||||
"lang_switcher": "Sprachumschalter"
|
||||
},
|
||||
"nav": {
|
||||
"brand": "Meine Website"
|
||||
},
|
||||
"footer": {
|
||||
"col1_heading": "MEINE WEBSITE",
|
||||
"col1_line2": "Ein Beispiel für GCBoK.WebStaticBuilder",
|
||||
"col4_imprint": "Impressum",
|
||||
"bottom_copyright": "© 2026 Meine Website"
|
||||
}
|
||||
},
|
||||
"en": {
|
||||
"aria": {
|
||||
"skip": "Skip to main content",
|
||||
"brand": "Back to home",
|
||||
"main_nav": "Main navigation",
|
||||
"lang_switcher": "Language switcher"
|
||||
},
|
||||
"nav": {
|
||||
"brand": "My Website"
|
||||
},
|
||||
"footer": {
|
||||
"col1_heading": "MY WEBSITE",
|
||||
"col1_line2": "An example for GCBoK.WebStaticBuilder",
|
||||
"col4_imprint": "Imprint",
|
||||
"bottom_copyright": "© 2026 My Website"
|
||||
}
|
||||
},
|
||||
"vi": {
|
||||
"aria": {
|
||||
"skip": "Đến nội dung chính",
|
||||
"brand": "Về trang chủ",
|
||||
"main_nav": "Điều hướng chính",
|
||||
"lang_switcher": "Chuyển ngôn ngữ"
|
||||
},
|
||||
"nav": {
|
||||
"brand": "Trang web của tôi"
|
||||
},
|
||||
"footer": {
|
||||
"col1_heading": "TRANG WEB CỦA TÔI",
|
||||
"col1_line2": "Một ví dụ cho GCBoK.WebStaticBuilder",
|
||||
"col4_imprint": "Thông tin pháp lý",
|
||||
"bottom_copyright": "© 2026 Trang web của tôi"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
|
||||
=== Run Started: 2026-07-11 12:00:07.880 ===
|
||||
Language: de, Files: 3
|
||||
Language: en, Files: 3
|
||||
Language: vi, Files: 3
|
||||
@@ -0,0 +1,48 @@
|
||||
<!doctype html>
|
||||
<html lang="{{ lang }}">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
{{ seo_head }}
|
||||
{{ json_ld }}
|
||||
<link rel="stylesheet" href="/assets/css/main.css">
|
||||
<link rel="icon" type="image/svg+xml" href="/assets/favicon/favicon.svg">
|
||||
<link rel="manifest" href="/assets/favicon/site.webmanifest">
|
||||
</head>
|
||||
<body>
|
||||
<a href="#main" class="skip-link">{{ i18n.aria.skip }}</a>
|
||||
|
||||
<header class="site-header">
|
||||
<a href="index.html" class="brand" aria-label="{{ i18n.aria.brand }}">{{ i18n.nav.brand }}</a>
|
||||
<nav class="site-nav" aria-label="{{ i18n.aria.main_nav }}">
|
||||
{{ nav_links }}
|
||||
</nav>
|
||||
<div class="lang-dropdown" aria-label="{{ i18n.aria.lang_switcher }}">
|
||||
<ul class="lang-dropdown__menu">
|
||||
{{ lang_links }}
|
||||
</ul>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<main id="main" tabindex="-1" data-pagefind-body>
|
||||
<div class="container">
|
||||
{{ body }}
|
||||
{{ page_nav }}
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<footer class="site-footer">
|
||||
<div class="container">
|
||||
<h4>{{ i18n.footer.col1_heading }}</h4>
|
||||
<p class="muted">{{ i18n.footer.col1_line2 }}</p>
|
||||
<ul>
|
||||
<li><a href="{{ glossary_href }}">{{ glossary_label }}</a></li>
|
||||
<li><a href="impressum.html">{{ i18n.footer.col4_imprint }}</a></li>
|
||||
</ul>
|
||||
<p>{{ i18n.footer.bottom_copyright }}</p>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<script src="/assets/js/gcbok-theme.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,38 @@
|
||||
{
|
||||
"site": {
|
||||
"name": "Meine Website",
|
||||
"title": { "de": "Meine Website", "en": "My Website", "vi": "Trang web của tôi" },
|
||||
"description": {
|
||||
"de": "Eine mehrsprachige, statische Website.",
|
||||
"en": "A multilingual, static website.",
|
||||
"vi": "Một trang web tĩnh, đa ngôn ngữ."
|
||||
}
|
||||
},
|
||||
"default_language": "de",
|
||||
"languages": {
|
||||
"de": { "name": "Deutsch", "og_locale": "de_DE", "href_lang": "de", "label": "Deutsch" },
|
||||
"en": { "name": "English", "og_locale": "en_US", "href_lang": "en", "label": "English" },
|
||||
"vi": { "name": "Tiếng Việt", "og_locale": "vi_VN", "href_lang": "vi", "label": "Tiếng Việt" }
|
||||
},
|
||||
"paths": {
|
||||
"content": "content",
|
||||
"templates": "templates",
|
||||
"assets": "assets",
|
||||
"output": "dist",
|
||||
"legal": "legal",
|
||||
"i18n": "i18n.json"
|
||||
},
|
||||
"glossary_section": "glossar",
|
||||
"glossary": {
|
||||
"href": { "de": "glossar.html", "en": "glossary.html", "vi": "b-ng-thu-t-ng.html" },
|
||||
"label": { "de": "Glossar", "en": "Glossary", "vi": "Bảng thuật ngữ" }
|
||||
},
|
||||
"pagefind": true,
|
||||
"translator": { "provider": "azure", "key_env": "WEBSTATIC_TRANSLATOR_KEY" },
|
||||
"environments": {
|
||||
"work": { "base_url": "http://localhost:8000", "cdn": "/assets" },
|
||||
"review": { "base_url": "https://review.gitcover.org", "cdn": "https://gitcover.org/assets" },
|
||||
"staging": { "base_url": "https://gcbok.gitcover.org", "cdn": "https://gitcover.org/assets" },
|
||||
"deploy": { "base_url": "https://gcbok.org", "cdn": "https://gitcover.org/assets" }
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user