diff --git a/.gitignore b/.gitignore index a461ba5..e6981bd 100644 --- a/.gitignore +++ b/.gitignore @@ -59,3 +59,4 @@ bh_unicode_properties.cache # https://packagecontrol.io/packages/sublime-github GitHub.sublime-settings +/public/ diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..4948ce4 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "themes/adidoks"] + path = themes/adidoks + url = https://github.com/aaranxu/adidoks.git diff --git a/config.toml b/config.toml new file mode 100644 index 0000000..202298e --- /dev/null +++ b/config.toml @@ -0,0 +1,110 @@ +# The URL the site will be built for +base_url = "https://falk.gh23.de" +title = "falk.gh23.de" +description = "Hilfestellungen zur Nutzung der Webdienste unseres Servers." + +# The site theme to use. +theme = "adidoks" + +# The default language; used in feeds and search index +# Note: the search index doesn't support Chinese/Japanese/Korean Languages +default_language = "de" + +# Whether to automatically compile all Sass files in the sass directory +compile_sass = true + +# Whether to generate a feed file for the site +generate_feed = true + +# When set to "true", the generated HTML files are minified. +minify_html = true + +# The taxonomies to be rendered for the site and their configuration. +taxonomies = [ + {name = "authors"}, # Basic definition: no feed or pagination +] + +# Whether to build a search index to be used later on by a JavaScript library +# When set to "true", a search index is built from the pages and section +# content for `default_language`. +build_search_index = false + +[search] +# Whether to include the title of the page/section in the index +include_title = true +# Whether to include the description of the page/section in the index +include_description = false +# Whether to include the rendered content of the page/section in the index +include_content = true + +[markdown] +# Whether to do syntax highlighting. +# Theme can be customised by setting the `highlight_theme` +# variable to a theme supported by Zola +highlight_code = true + +[extra] +# Put all your custom variables here +author = "Micha Glave" +github = "https://github.com/migmedia" +#twitter = "https://twitter.com/aaranxu" +email = "postmaster@migmedia.de" + +# If running on netlify.app site, set to true +is_netlify = false + +# Set HTML file language +language_code = "de-DE" + +# Set theme-color meta tag for Chrome browser +theme_color = "#fff" + +# More about site's title +title_separator = "|" # set as |, -, _, etc +title_addition = "Mailserver falk.gh23.de" + + +# Set date format in blog publish metadata +timeformat = "%Y-%m-%d" # e.g. June 14, 2021 +timezone = "Europe/Berlin" + +# Edit page on reposity or not +edit_page = false +docs_repo = "https://github.com/aaranxu/adidoks" +repo_branch = "main" + +## Math settings +# options: true, false. Enable math support globally, +# default: false. You can always enable math on a per page. +math = false +library = "katex" # options: "katex", "mathjax". default is "katex". + +## Open Graph + Twitter Cards +[extra.open] +enable = false + + +# Menu items + +[[extra.menu.main]] +name = "Installation" +section = "docs" +url = "/docs/mail-info/" +weight = 10 + +[[extra.menu.social]] +name = "GitHub" +pre = '' +url = "https://github.com/migmedia" +post = "v0.1.0" +weight = 20 + +# Footer contents +[extra.footer] +info = 'Powered by Zola, and AdiDoks' + +[[extra.footer.nav]] +name = "Impressum" +url = "/impressum/" +weight = 10 + diff --git a/content/_index.md b/content/_index.md new file mode 100644 index 0000000..473c749 --- /dev/null +++ b/content/_index.md @@ -0,0 +1,51 @@ ++++ +title = "Private Webservices" + +# The homepage contents +[extra] +lead = 'Dieser Email-Server ist ein pro bono Service für die Familie und befreundete gemeinnützige Vereine des Betreibers.' + + +# Menu items +[[extra.menu.main]] +name = "Technik" +section = "docs" +url = "/docs/technik/" +weight = 10 + +[[extra.menu.main]] +name = "Einrichten" +section = "docs" +url = "/docs/mail-info/" +weight = 12 + +[[extra.list]] +title = "" +content = '
Email' + +[[extra.list]] +title = "" +content = '
Kalender' + +[[extra.list]] +title = "" +content = '
Adressbuch' + +[[extra.list]] +title = "" +content = '
Cloudspace' + +[[extra.list]] +title = "" +content = '
Webspace' + +[[extra.list]] +title = "" +content = '
Git-Repositories' + ++++ + +Content +Dieser Email-Server ist ein pro bono Service für die Familie und befreundete gemeinnützige Vereine des Betreibers. + +Sollte von diesem Server problematische Emails, Spam etc. versendet werden, bitte benachrichtigen Sie abuse at gh23.de \ No newline at end of file diff --git a/content/docs/_index.md b/content/docs/_index.md new file mode 100644 index 0000000..d715a6c --- /dev/null +++ b/content/docs/_index.md @@ -0,0 +1,9 @@ ++++ +title = "Docs" +description = "The documents of the AdiDoks theme." +date = 2025-05-01T08:00:00+00:00 +updated = 2021-05-01T08:00:00+00:00 +sort_by = "weight" +weight = 1 +template = "docs/section.html" ++++ diff --git a/content/docs/mail-info.md b/content/docs/mail-info.md new file mode 100644 index 0000000..1428385 --- /dev/null +++ b/content/docs/mail-info.md @@ -0,0 +1,76 @@ ++++ +title = "Wie auf die Emails zugreifen?" +description = "Auf deinen Geräten einrichten" +date = 2021-05-01T18:20:00+00:00 +updated = 2021-05-01T18:20:00+00:00 +draft = false +weight = 420 +sort_by = "weight" +template = "docs/page.html" + +[extra] +lead = "Wie du auf deine EMails von deinen Geräten aus zugreifen kannst." +toc = true +top = false ++++ + +## Auf deinen Geräten einrichten + +Du benötigst auf jeden Fall deine Anmelde-EMail-Adresse `vorname.nachname@domain.tld` oder `vorname@glave.net`. Dein neues Passwort habe ich dir entweder mitgeteilt oder es ist dein altes. + +## Apple-Mail und Kalender auf iOS oder OS X + +Du solltest eine .mobileconfig Datei von mir bekommen haben. Das ist ein Profil mit den Einstellungen für deine Programme, mit denen sie unseren Server nutzen können. + +* Die `.mobileconfig`-Datei auf deinem Apple-Gerät speichern (z.B. in iCloud Drive), +* drauftippen, die Frage nach Installieren mit JA beantworten, +* In "Einstellungen" sollte ein Hinweis erscheinen, dass ein neues Profil verfügbar ist. Das ist ein Link auf "Einstellungen/VPN and Geräteverwaltung" (in iOS). Unter OSX findest Du es unter "Systemeinstellungen / Profile". +* Das "Geladenes Profil" Glave Family Server öffnen und oben rechts "Installieren" drücken. +* Nach mehrmaligen Nachfragen (u.a. PIN) und Versichern, 3x das EMail-Passwort eingeben (für Email, Kalender, Kontakte) + +## Outlook + +Für Outlook habe ich auf dem Server eine Datei hinterlegt, damit es sich +automatisch einrichtet, sobald Du Email und Passwort eingegeben hast. Das +konnte ich bisher noch nicht erfolgreich ausprobieren. Wenn es etwas von GMail +vorschlägt, hat es nicht geklappt. Dann muß es vorerst [von Hand](#vonHand) eingerichtet +werden. + +## Von Hand {#vonHand} + +Wenn das Email-Programm nichts findet, woher es die Konfiguration bekommen +kann, fragt es Dich nach den Daten. Hier Antworten, nur ob die zu den Fragen +passen? + +Eingehende Nachrichten + + Typ: IMAP + Server: falk.gh23.de + Port: 993 + Verschlüsselung: SSL (oder TLS) + Passwortübertragung: LOGIN (oder SASL) + +Ausgehende Nachrichten + + Typ: SMTP + Server: falk.gh23.de + Port: 587 + Verschlüsselung: SSL (oder TLS) + Passwortübertragung: LOGIN + +## Passwort ändern + +Manchmal ist es sinnvoll sein Passwort zu ändern. Das kann man in der +Webmail-Oberfläche unter [Einstellungen / Passwort](https://webmail.gh23.de/?_task=settings&_action=plugin.password) machen. Bitte +bedenkt, dass ihr danach in allen Anwendungen auf allen Geräten das Passwort +ebenfalls ersetzen müsst. + +## Wenn dein iOS-Gerät nicht senden kann. {#ios_passwort} + +Öffne `Einstellungen`, `Mail`, `Accounts`: In der Liste deiner Accounts `Glave Family` (Mail, Notizen) suchen. + +Darin auf IMAP-`Account: email@glave.net` drücken. Eine Tabelle mit den +Überschriften: "Server für eintreffende E-Mails" und "Server für ausgehende +E-Mails". Darunter `SMTP falk.gh23.de` auswählen. Eine Liste mit SMTP-Servern +erscheint, wieder den Eintrag mit `falk.gh23.de` auswählen und in der nun +folgenden Tabelle das Passwort neu eintippen. diff --git a/content/docs/technik.md b/content/docs/technik.md new file mode 100644 index 0000000..7a319e2 --- /dev/null +++ b/content/docs/technik.md @@ -0,0 +1,23 @@ ++++ +title = "Technik" +description = "Folgende Programmen werden benutzt" +date = 2023-02-01T18:20:00+00:00 +updated = 2023-02-01T18:20:00+00:00 +draft = false +weight = 220 +sort_by = "weight" +template = "docs/page.html" + +[extra] +lead = "Die Fähigkeiten dieses Webservers basiert auf folgenden Programmen:" +toc = true +top = false ++++ + +* Postfix - Nimmt Emails von fremden Servern an oder versendet eigene Emails an andere Server. +* Dovecot - Liefert die Emails in die Postfächer und stellt diese Postfächer den Endgeräten (Handy / PC) zur Verfügung +* Roundcube - Das Webfrontend, um die Emails in einem Webbrowser zu lesen. +* Nextcloud - Stellt Groupware-Services zur Verfügung. Kalender, Adressbuch etc. +* Gitea - Repositories zur Veröffentlichung von Sourcecode. + + diff --git a/content/impressum/_index.md b/content/impressum/_index.md new file mode 100644 index 0000000..ecbafe8 --- /dev/null +++ b/content/impressum/_index.md @@ -0,0 +1,58 @@ ++++ +title = "Impressum" +description = "We do not use cookies and we do not collect any personal data." +date = 2021-05-01T08:00:00+00:00 +updated = 2020-05-01T08:00:00+00:00 +draft = false + +[extra] +class = "page single" ++++ + +#### Angaben gemäß § 5 TMG + +MIcha Glave + +### Postanschrift: + +Grön Hörn 23 +26506 Norden + +### Kontakt: + +Telefon: 04931-917383 +E-Mail: abuse -at- gh23.de + +## Hinweise zur Website +### Haftungsausschluss: + +#### Haftung für Inhalte + +Die Inhalte unserer Seiten wurden mit größter Sorgfalt erstellt. Für die Richtigkeit, Vollständigkeit und Aktualität der Inhalte +können wir jedoch keine Gewähr übernehmen. Als Diensteanbieter sind wir gemäß § 7 Abs.1 TMG für eigene Inhalte auf diesen Seiten +nach den allgemeinen Gesetzen verantwortlich. Nach §§ 8 bis 10 TMG sind wir als Diensteanbieter jedoch nicht verpflichtet, +übermittelte oder gespeicherte fremde Informationen zu überwachen oder nach Umständen zu forschen, die auf eine rechtswidrige +Tätigkeit hinweisen. Verpflichtungen zur Entfernung oder Sperrung der Nutzung von Informationen nach den allgemeinen Gesetzen +bleiben hiervon unberührt. Eine diesbezügliche Haftung ist jedoch erst ab dem Zeitpunkt der Kenntnis einer konkreten +Rechtsverletzung möglich. Bei Bekanntwerden von entsprechenden Rechtsverletzungen werden wir diese Inhalte umgehend entfernen. + +#### Datenschutz + +Die Nutzung unserer Webseite ist in der Regel ohne Angabe personenbezogener Daten möglich. Soweit auf unseren Seiten +personenbezogene Daten (beispielsweise Name, Anschrift oder eMail-Adressen) erhoben werden, erfolgt dies, soweit möglich, stets +auf freiwilliger Basis. Diese Daten werden ohne Ihre ausdrückliche Zustimmung nicht an Dritte weitergegeben. +Wir weisen darauf hin, dass die Datenübertragung im Internet (z.B. bei der Kommunikation per E-Mail) Sicherheitslücken aufweisen +kann. Ein lückenloser Schutz der Daten vor dem Zugriff durch Dritte ist nicht möglich. +Der Nutzung von im Rahmen der Impressumspflicht veröffentlichten Kontaktdaten durch Dritte zur Übersendung von nicht ausdrücklich +angeforderter Werbung und Informationsmaterialien wird hiermit ausdrücklich widersprochen. Die Betreiber der Seiten behalten sich +ausdrücklich rechtliche Schritte im Falle der unverlangten Zusendung von Werbeinformationen, etwa durch Spam-Mails, vor. + + +### Information gemäß § 36 VSBG: + +Gemäß § 36 VSBG (Verbraucherstreitbeilegungsgesetz – Gesetz über die alternative Streitbeilegung in Verbrauchersachen) erklärt +der Betreiber dieser Website: + +Wir sind weder bereit noch verpflichtet, an Streitbeilegungsverfahren vor einer Verbraucherschlichtungsstelle teilzunehmen. + + diff --git a/sass/_custom.scss b/sass/_custom.scss new file mode 100644 index 0000000..3bee5b4 --- /dev/null +++ b/sass/_custom.scss @@ -0,0 +1,5 @@ +li code, +p code { + background-color: #dddddd; + color: #111111; +} diff --git a/sass/_fonts.scss b/sass/_fonts.scss new file mode 100644 index 0000000..f243055 --- /dev/null +++ b/sass/_fonts.scss @@ -0,0 +1,21 @@ +/* saira-regular - latin */ +@font-face { + font-family: "Saira"; + font-style: normal; + font-weight: 400; + font-display: swap; + src: + local("Saira"), + url('fonts/Saira-Regular.ttf') format('truetype'), +} + +/* saira-700 - latin */ +@font-face { + font-family: "Saira"; + font-style: normal; + font-weight: 700; + font-display: swap; + src: + local("Saira"), + url('fonts/Saira-SemiBold.ttf') format('truetype'), +} diff --git a/sass/_variables.scss b/sass/_variables.scss new file mode 100644 index 0000000..2b3c3fd --- /dev/null +++ b/sass/_variables.scss @@ -0,0 +1,157 @@ +// Color system + +$white: #fff; +$gray-100: #f8f9fa; +$gray-200: #e9ecef; +$gray-300: #dee2e6; +$gray-400: #ced4da; +$gray-500: #adb5bd; +$gray-600: #6c757d; +$gray-700: #495057; +$gray-800: #343a40; +$gray-900: #212529; +$black: #000; + +$yellow: #ffe000; +$black: #1d2d35; +$beige: #fbf7f0; +// $red: #e55235; +$purple: #5d2f86; +$brown: #aa9c84; + +$blue-300: #8ed6fb; +$pink-500: #d32e9d; + +$primary: $purple; + +// Options +// +// Quickly modify global styling by enabling or disabling optional features. + +$enable-caret: true; +$enable-rounded: true; +$enable-shadows: false; +$enable-gradients: false; +$enable-transitions: true; +$enable-reduced-motion: true; +$enable-smooth-scroll: true; +$enable-grid-classes: true; +$enable-button-pointers: true; +$enable-rfs: true; +$enable-validation-icons: true; +$enable-negative-margins: true; +$enable-deprecation-messages: true; +$enable-important-utilities: true; + +/** Bootstrap navbar fix (https://git.io/fADqW) */ +$navbar-dark-toggler-icon-bg: none; +$navbar-light-toggler-icon-bg: none; + +// Options +// +// Quickly modify global styling by enabling or disabling optional features. + +// $enable-responsive-font-sizes: true; + +// Body +// +// Settings for the `` element. + +$body-bg: $white; +$body-color: $black; + +// Links +// +// Style anchor elements. + +$link-color: $primary; +$link-decoration: none; + +// Grid containers +// +// Define the maximum width of `.container` for different screen sizes. + +$container-max-widths: ( + sm: 540px, + md: 720px, + lg: 960px, + xl: 1240px, + xxl: 1320px +); + +@include _assert-ascending($container-max-widths, "$container-max-widths"); + +// Grid columns +// +// Set the number of columns and specify the width of the gutters. + +$grid-columns: 16; +$grid-gutter-width: 48px; +$grid-row-columns: 6; + +// Components +// +// Define common padding and border radius sizes and more. + +$border-color: $gray-200; + +// Typography +// +// Font, line-height, and color for body text, headings, and more. + +// stylelint-disable value-keyword-case +$font-family-sans-serif: "Saira", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, "Helvetica Neue", arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" !default; +$font-family-monospace: sfmono-regular, menlo, monaco, consolas, "Liberation Mono", "Courier New", monospace !default; +$font-family-base: $font-family-sans-serif !default; +// stylelint-enable value-keyword-case + +$font-size-base: 1rem; // Assumes the browser default, typically `16px` +$font-size-xl: $font-size-base * 1.375; +$font-size-lg: $font-size-base * 1.25; +$font-size-md: $font-size-base * 1.125; +$font-size-sm: $font-size-base * 0.875; + +$line-height-base: 1.5; + +$headings-font-family: null; +$headings-font-weight: 700; + +$lead-font-weight: 400; + +// Spacing +// +// Control the default styling of most Bootstrap elements by modifying these +// variables. Mostly focused on spacing. +// You can add more entries to the $spacers map, should you need more variation. + +$spacer: 1rem; + +// Navbar + +$navbar-padding-y: $spacer / 2; +$navbar-padding-x: null; + +$navbar-nav-link-padding-x: 0.5rem; + +$navbar-light-color: $black; +$navbar-light-hover-color: $primary; +$navbar-light-active-color: $primary; + +// Cards + +$card-border-color: $gray-200; + +// Alerts +// +// Define alert colors, border radius, and padding. + +$alert-padding-y: $spacer; +$alert-padding-x: $spacer * 1.5; +$alert-margin-bottom: 0; +$alert-border-radius: 0; +$alert-link-font-weight: $headings-font-weight; +$alert-border-width: 0; + +$alert-bg-scale: 0; +$alert-border-scale: 0; +$alert-color-scale: 0; diff --git a/sass/main.scss b/sass/main.scss new file mode 100644 index 0000000..ee3ed2e --- /dev/null +++ b/sass/main.scss @@ -0,0 +1,40 @@ +/** Import Bootstrap functions */ +@import "../themes/adidoks/sass/bootstrap/scss/functions"; + +/** Import theme variables */ +@import "variables"; + +/** Import Bootstrap */ +@import "../themes/adidoks/sass/bootstrap/scss/bootstrap"; + +/** Import theme styles */ +@import "../themes/adidoks/sass/common/global"; +@import "../themes/adidoks/sass/common/dark"; +@import "../themes/adidoks/sass/components/doks"; + +// @import "components/syntax"; +@import "../themes/adidoks/sass/components/code"; +@import "../themes/adidoks/sass/components/alerts"; +@import "../themes/adidoks/sass/components/buttons"; +@import "../themes/adidoks/sass/components/comments"; +@import "../themes/adidoks/sass/components/footnote"; +@import "../themes/adidoks/sass/components/forms"; +@import "../themes/adidoks/sass/components/images"; +@import "../themes/adidoks/sass/components/search"; +@import "../themes/adidoks/sass/components/tables"; +@import "../themes/adidoks/sass/layouts/footer"; +@import "../themes/adidoks/sass/layouts/header"; +@import "../themes/adidoks/sass/layouts/pages"; +@import "../themes/adidoks/sass/layouts/posts"; +@import "../themes/adidoks/sass/layouts/sidebar"; + +/* @import custom styles */ +@import "custom.scss"; + + +/* @import fonts */ +@import "fonts.scss"; + +/* @import custom styles */ +@import "custom.scss"; + diff --git a/static/fonts/Saira-Regular.ttf b/static/fonts/Saira-Regular.ttf new file mode 100644 index 0000000..315c0f3 Binary files /dev/null and b/static/fonts/Saira-Regular.ttf differ diff --git a/static/fonts/Saira-SemiBold.ttf b/static/fonts/Saira-SemiBold.ttf new file mode 100644 index 0000000..070ca84 Binary files /dev/null and b/static/fonts/Saira-SemiBold.ttf differ diff --git a/sync.sh b/sync.sh new file mode 100755 index 0000000..d794bd8 --- /dev/null +++ b/sync.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +rm -r ./public/fonts/vendor +rm ./public/{doks.png,doks.svg,logo-doks.png,site.webmanifest} + +rsync -r --del -m ./public/* mig@falk.gh23.de:/var/www/localhost/ diff --git a/templates/index.html b/templates/index.html new file mode 100644 index 0000000..75033a8 --- /dev/null +++ b/templates/index.html @@ -0,0 +1,87 @@ +{% extends "base.html" %} + +{% block seo %} + {{ super() }} + + {% if config.title %} + {% set title = config.title %} + {% else %} + {% set title = "" %} + {% endif %} + + {% if config.extra.title_addition and title %} + {% set title_addition = title_separator ~ config.extra.title_addition %} + {% elif config.extra.title_addition %} + {% set title_addition = config.extra.title_addition %} + {% else %} + {% set title_addition = "" %} + {% endif %} + + {% set description = config.description %} + + {{ macros_head::seo(title=title, title_addition=title_addition, description=description, is_home=true) }} +{% endblock seo %} + +{% block content %} +
+
+
+
+
+

{{ section.title | default(value="Modern Documentation Theme") }}

+
+
+

{{ section.extra.lead | default(value="Please start setting config.toml and adding your content.") | safe }}

+ +
+
+
+
+
+ +
+
+
+ {% if section.extra.list %} + {% for val in section.extra.list %} +
+

{{ val.title }}

+

{{ val.content | safe }}

+
+ {% endfor %} + {% else %} +
+

Security aware

+

Get A+ scores on Mozilla Observatory out of the box. Easily change the default Security Headers to suit your needs.

+
+
+

Fast by default ⚡️

+

Get 100 scores on Google Lighthouse by default. Doks removes unused css, prefetches links, and lazy loads images.

+
+
+

SEO-ready

+

Use sensible defaults for structured data, open graph, and Twitter cards. Or easily change the SEO settings to your liking.

+
+
+

Full text search

+

Search your Doks site with FlexSearch. Easily customize index settings and search options to your liking.

+
+
+

Page layouts

+

Build pages with a landing page, blog, or documentation layout. Add custom sections and components to suit your needs.

+
+
+

Dark mode

+

Switch to a low-light UI with the click of a button. Change colors with variables to match your branding.

+
+ {% endif %} +
+
+
+ +
+
+
+
+
+{% endblock content %} diff --git a/templates/macros/docs-toc.html b/templates/macros/docs-toc.html new file mode 100644 index 0000000..f82500f --- /dev/null +++ b/templates/macros/docs-toc.html @@ -0,0 +1,23 @@ +{% macro docs_toc(page) %} + {% if page.extra.toc %} + + {% endif %} +{% endmacro %} diff --git a/themes/adidoks b/themes/adidoks new file mode 160000 index 0000000..5c69827 --- /dev/null +++ b/themes/adidoks @@ -0,0 +1 @@ +Subproject commit 5c698271c460046034605b743a15196b12e32887