From f25e515ff07a7884681c0f4b4841fedc327d81f2 Mon Sep 17 00:00:00 2001 From: BuildTools Date: Thu, 31 Mar 2022 18:29:00 +0200 Subject: [PATCH] wtf submodule --- README.md | 8 + archetypes/default.md | 6 + config.toml | 12 + content/docs/Gluon/_index.md | 9 + content/docs/Infrastuktur/_index.md | 7 + content/docs/Infrastuktur/ip_netze.md | 354 +++++ content/docs/Infrastuktur/server.md | 14 + ...s_50fc8c04e12a2f59027287995557ceff.content | 1 + ...scss_50fc8c04e12a2f59027287995557ceff.json | 1 + static/ffl.png | Bin 0 -> 26341 bytes static/ffl.svg | 184 +++ themes/hugo-book/LICENSE | 20 + themes/hugo-book/README.md | 354 +++++ themes/hugo-book/archetypes/docs.md | 10 + themes/hugo-book/archetypes/posts.md | 6 + themes/hugo-book/assets/_custom.scss | 3 + themes/hugo-book/assets/_defaults.scss | 66 + themes/hugo-book/assets/_fonts.scss | 39 + themes/hugo-book/assets/_main.scss | 363 ++++++ themes/hugo-book/assets/_markdown.scss | 196 +++ themes/hugo-book/assets/_print.scss | 17 + themes/hugo-book/assets/_shortcodes.scss | 104 ++ themes/hugo-book/assets/_utils.scss | 92 ++ themes/hugo-book/assets/_variables.scss | 3 + themes/hugo-book/assets/book.scss | 15 + themes/hugo-book/assets/clipboard.js | 21 + themes/hugo-book/assets/manifest.json | 15 + themes/hugo-book/assets/menu-reset.js | 7 + themes/hugo-book/assets/mermaid.json | 6 + themes/hugo-book/assets/normalize.css | 349 +++++ .../hugo-book/assets/plugins/_numbered.scss | 36 + .../hugo-book/assets/plugins/_scrollbars.scss | 26 + themes/hugo-book/assets/search-data.json | 15 + themes/hugo-book/assets/search.js | 104 ++ themes/hugo-book/assets/sw-register.js | 7 + themes/hugo-book/assets/sw.js | 55 + themes/hugo-book/assets/themes/_auto.scss | 9 + themes/hugo-book/assets/themes/_dark.scss | 3 + themes/hugo-book/assets/themes/_light.scss | 3 + .../hugo-book/exampleSite/assets/_custom.scss | 4 + .../exampleSite/assets/_variables.scss | 1 + themes/hugo-book/exampleSite/config.toml | 118 ++ themes/hugo-book/exampleSite/config.yaml | 114 ++ .../exampleSite/content.bn/_index.md | 79 ++ .../exampleSite/content.ru/_index.md | 79 ++ .../exampleSite/content.zh/_index.md | 79 ++ .../hugo-book/exampleSite/content/_index.md | 41 + .../content/docs/example/_index.md | 71 + .../example/collapsed/3rd-level/4th-level.md | 12 + .../example/collapsed/3rd-level/_index.md | 26 + .../content/docs/example/collapsed/_index.md | 4 + .../content/docs/example/hidden.md | 52 + .../docs/example/table-of-contents/_index.md | 85 ++ .../example/table-of-contents/with-toc.md | 64 + .../example/table-of-contents/without-toc.md | 59 + .../content/docs/shortcodes/_index.md | 3 + .../content/docs/shortcodes/buttons.md | 13 + .../content/docs/shortcodes/columns.md | 45 + .../content/docs/shortcodes/details.md | 22 + .../content/docs/shortcodes/expand.md | 35 + .../content/docs/shortcodes/hints.md | 32 + .../content/docs/shortcodes/katex.md | 28 + .../content/docs/shortcodes/mermaid.md | 41 + .../content/docs/shortcodes/section/_index.md | 15 + .../docs/shortcodes/section/first-page.md | 6 + .../docs/shortcodes/section/second-page.md | 6 + .../content/docs/shortcodes/tabs.md | 50 + .../exampleSite/content/menu/index.md | 22 + .../exampleSite/content/posts/_index.md | 7 + .../content/posts/creating-a-new-theme.md | 1150 +++++++++++++++++ .../content/posts/goisforlovers.md | 344 +++++ .../content/posts/hugoisforlovers.md | 89 ++ .../content/posts/migrate-from-jekyll.md | 156 +++ ...s_50fc8c04e12a2f59027287995557ceff.content | 1 + ...scss_50fc8c04e12a2f59027287995557ceff.json | 1 + themes/hugo-book/go.mod | 3 + themes/hugo-book/i18n/bn.yaml | 14 + themes/hugo-book/i18n/cn.yaml | 21 + themes/hugo-book/i18n/cs.yaml | 14 + themes/hugo-book/i18n/de.yaml | 14 + themes/hugo-book/i18n/en.yaml | 14 + themes/hugo-book/i18n/es.yaml | 14 + themes/hugo-book/i18n/fa.yaml | 20 + themes/hugo-book/i18n/fr.yaml | 14 + themes/hugo-book/i18n/it.yaml | 14 + themes/hugo-book/i18n/ja.yaml | 20 + themes/hugo-book/i18n/jp.yaml | 21 + themes/hugo-book/i18n/ko.yaml | 20 + themes/hugo-book/i18n/nb.yaml | 14 + themes/hugo-book/i18n/pt.yaml | 14 + themes/hugo-book/i18n/ru.yaml | 14 + themes/hugo-book/i18n/sv.yaml | 14 + themes/hugo-book/i18n/tr.yaml | 14 + themes/hugo-book/i18n/uk.yaml | 14 + themes/hugo-book/i18n/zh-TW.yaml | 20 + themes/hugo-book/i18n/zh.yaml | 20 + themes/hugo-book/images/screenshot.png | Bin 0 -> 189080 bytes themes/hugo-book/images/tn.png | Bin 0 -> 195683 bytes themes/hugo-book/layouts/404.html | 34 + .../_default/_markup/render-heading.html | 4 + .../_default/_markup/render-image.html | 19 + .../layouts/_default/_markup/render-link.html | 28 + themes/hugo-book/layouts/_default/baseof.html | 83 ++ themes/hugo-book/layouts/_default/list.html | 1 + themes/hugo-book/layouts/_default/single.html | 1 + .../layouts/partials/docs/brand.html | 8 + .../layouts/partials/docs/comments.html | 2 + .../hugo-book/layouts/partials/docs/date.html | 6 + .../layouts/partials/docs/footer.html | 28 + .../layouts/partials/docs/header.html | 13 + .../partials/docs/html-head-title.html | 1 + .../layouts/partials/docs/html-head.html | 51 + .../layouts/partials/docs/inject/body.html | 0 .../partials/docs/inject/content-after.html | 0 .../partials/docs/inject/content-before.html | 0 .../layouts/partials/docs/inject/footer.html | 0 .../layouts/partials/docs/inject/head.html | 0 .../partials/docs/inject/menu-after.html | 0 .../partials/docs/inject/menu-before.html | 0 .../partials/docs/inject/toc-after.html | 0 .../partials/docs/inject/toc-before.html | 0 .../layouts/partials/docs/languages.html | 33 + .../layouts/partials/docs/menu-bundle.html | 5 + .../layouts/partials/docs/menu-filetree.html | 45 + .../layouts/partials/docs/menu-hugo.html | 28 + .../hugo-book/layouts/partials/docs/menu.html | 25 + .../layouts/partials/docs/post-meta.html | 23 + .../layouts/partials/docs/search.html | 7 + .../layouts/partials/docs/taxonomy.html | 19 + .../layouts/partials/docs/title.html | 15 + .../hugo-book/layouts/partials/docs/toc.html | 3 + themes/hugo-book/layouts/posts/list.html | 22 + themes/hugo-book/layouts/posts/single.html | 13 + .../hugo-book/layouts/shortcodes/button.html | 12 + .../hugo-book/layouts/shortcodes/columns.html | 7 + .../hugo-book/layouts/shortcodes/details.html | 7 + .../hugo-book/layouts/shortcodes/expand.html | 13 + themes/hugo-book/layouts/shortcodes/hint.html | 3 + .../hugo-book/layouts/shortcodes/katex.html | 13 + .../hugo-book/layouts/shortcodes/mermaid.html | 12 + .../hugo-book/layouts/shortcodes/section.html | 10 + themes/hugo-book/layouts/shortcodes/tab.html | 12 + themes/hugo-book/layouts/shortcodes/tabs.html | 15 + themes/hugo-book/layouts/taxonomy/list.html | 13 + .../hugo-book/layouts/taxonomy/taxonomy.html | 22 + themes/hugo-book/static/favicon.png | Bin 0 -> 109 bytes themes/hugo-book/static/favicon.svg | 1 + themes/hugo-book/static/flexsearch.min.js | 42 + .../fonts/roboto-mono-v13-latin-regular.woff | Bin 0 -> 15160 bytes .../fonts/roboto-mono-v13-latin-regular.woff2 | Bin 0 -> 12312 bytes .../static/fonts/roboto-v27-latin-700.woff | Bin 0 -> 20396 bytes .../static/fonts/roboto-v27-latin-700.woff2 | Bin 0 -> 15828 bytes .../fonts/roboto-v27-latin-regular.woff | Bin 0 -> 20332 bytes .../fonts/roboto-v27-latin-regular.woff2 | Bin 0 -> 15688 bytes .../hugo-book/static/katex/auto-render.min.js | 1 + .../static/katex/fonts/KaTeX_AMS-Regular.ttf | Bin 0 -> 70972 bytes .../static/katex/fonts/KaTeX_AMS-Regular.woff | Bin 0 -> 38868 bytes .../katex/fonts/KaTeX_AMS-Regular.woff2 | Bin 0 -> 32944 bytes .../katex/fonts/KaTeX_Caligraphic-Bold.ttf | Bin 0 -> 19316 bytes .../katex/fonts/KaTeX_Caligraphic-Bold.woff | Bin 0 -> 11696 bytes .../katex/fonts/KaTeX_Caligraphic-Bold.woff2 | Bin 0 -> 10448 bytes .../katex/fonts/KaTeX_Caligraphic-Regular.ttf | Bin 0 -> 18684 bytes .../fonts/KaTeX_Caligraphic-Regular.woff | Bin 0 -> 11460 bytes .../fonts/KaTeX_Caligraphic-Regular.woff2 | Bin 0 -> 10240 bytes .../static/katex/fonts/KaTeX_Fraktur-Bold.ttf | Bin 0 -> 35660 bytes .../katex/fonts/KaTeX_Fraktur-Bold.woff | Bin 0 -> 22632 bytes .../katex/fonts/KaTeX_Fraktur-Bold.woff2 | Bin 0 -> 20360 bytes .../katex/fonts/KaTeX_Fraktur-Regular.ttf | Bin 0 -> 34352 bytes .../katex/fonts/KaTeX_Fraktur-Regular.woff | Bin 0 -> 22088 bytes .../katex/fonts/KaTeX_Fraktur-Regular.woff2 | Bin 0 -> 19784 bytes .../static/katex/fonts/KaTeX_Main-Bold.ttf | Bin 0 -> 60784 bytes .../static/katex/fonts/KaTeX_Main-Bold.woff | Bin 0 -> 35464 bytes .../static/katex/fonts/KaTeX_Main-Bold.woff2 | Bin 0 -> 30244 bytes .../katex/fonts/KaTeX_Main-BoldItalic.ttf | Bin 0 -> 44496 bytes .../katex/fonts/KaTeX_Main-BoldItalic.woff | Bin 0 -> 25352 bytes .../katex/fonts/KaTeX_Main-BoldItalic.woff2 | Bin 0 -> 21944 bytes .../static/katex/fonts/KaTeX_Main-Italic.ttf | Bin 0 -> 47640 bytes .../static/katex/fonts/KaTeX_Main-Italic.woff | Bin 0 -> 26228 bytes .../katex/fonts/KaTeX_Main-Italic.woff2 | Bin 0 -> 22748 bytes .../static/katex/fonts/KaTeX_Main-Regular.ttf | Bin 0 -> 69520 bytes .../katex/fonts/KaTeX_Main-Regular.woff | Bin 0 -> 38112 bytes .../katex/fonts/KaTeX_Main-Regular.woff2 | Bin 0 -> 32464 bytes .../katex/fonts/KaTeX_Math-BoldItalic.ttf | Bin 0 -> 39308 bytes .../katex/fonts/KaTeX_Math-BoldItalic.woff | Bin 0 -> 22324 bytes .../katex/fonts/KaTeX_Math-BoldItalic.woff2 | Bin 0 -> 19720 bytes .../static/katex/fonts/KaTeX_Math-Italic.ttf | Bin 0 -> 40992 bytes .../static/katex/fonts/KaTeX_Math-Italic.woff | Bin 0 -> 22844 bytes .../katex/fonts/KaTeX_Math-Italic.woff2 | Bin 0 -> 20096 bytes .../katex/fonts/KaTeX_SansSerif-Bold.ttf | Bin 0 -> 33688 bytes .../katex/fonts/KaTeX_SansSerif-Bold.woff | Bin 0 -> 18516 bytes .../katex/fonts/KaTeX_SansSerif-Bold.woff2 | Bin 0 -> 15732 bytes .../katex/fonts/KaTeX_SansSerif-Italic.ttf | Bin 0 -> 30960 bytes .../katex/fonts/KaTeX_SansSerif-Italic.woff | Bin 0 -> 17572 bytes .../katex/fonts/KaTeX_SansSerif-Italic.woff2 | Bin 0 -> 15024 bytes .../katex/fonts/KaTeX_SansSerif-Regular.ttf | Bin 0 -> 29812 bytes .../katex/fonts/KaTeX_SansSerif-Regular.woff | Bin 0 -> 16228 bytes .../katex/fonts/KaTeX_SansSerif-Regular.woff2 | Bin 0 -> 13708 bytes .../katex/fonts/KaTeX_Script-Regular.ttf | Bin 0 -> 24620 bytes .../katex/fonts/KaTeX_Script-Regular.woff | Bin 0 -> 13428 bytes .../katex/fonts/KaTeX_Script-Regular.woff2 | Bin 0 -> 12064 bytes .../katex/fonts/KaTeX_Size1-Regular.ttf | Bin 0 -> 12916 bytes .../katex/fonts/KaTeX_Size1-Regular.woff | Bin 0 -> 6696 bytes .../katex/fonts/KaTeX_Size1-Regular.woff2 | Bin 0 -> 5592 bytes .../katex/fonts/KaTeX_Size2-Regular.ttf | Bin 0 -> 12172 bytes .../katex/fonts/KaTeX_Size2-Regular.woff | Bin 0 -> 6436 bytes .../katex/fonts/KaTeX_Size2-Regular.woff2 | Bin 0 -> 5392 bytes .../katex/fonts/KaTeX_Size3-Regular.ttf | Bin 0 -> 8120 bytes .../katex/fonts/KaTeX_Size3-Regular.woff | Bin 0 -> 4568 bytes .../katex/fonts/KaTeX_Size3-Regular.woff2 | Bin 0 -> 3728 bytes .../katex/fonts/KaTeX_Size4-Regular.ttf | Bin 0 -> 11016 bytes .../katex/fonts/KaTeX_Size4-Regular.woff | Bin 0 -> 6184 bytes .../katex/fonts/KaTeX_Size4-Regular.woff2 | Bin 0 -> 5028 bytes .../katex/fonts/KaTeX_Typewriter-Regular.ttf | Bin 0 -> 35924 bytes .../katex/fonts/KaTeX_Typewriter-Regular.woff | Bin 0 -> 20260 bytes .../fonts/KaTeX_Typewriter-Regular.woff2 | Bin 0 -> 17272 bytes themes/hugo-book/static/katex/katex.min.css | 1 + themes/hugo-book/static/katex/katex.min.js | 1 + themes/hugo-book/static/mermaid.min.js | 32 + themes/hugo-book/static/svg/calendar.svg | 1 + themes/hugo-book/static/svg/edit.svg | 1 + themes/hugo-book/static/svg/menu.svg | 1 + themes/hugo-book/static/svg/toc.svg | 1 + themes/hugo-book/static/svg/translate.svg | 1 + themes/hugo-book/theme.toml | 16 + 224 files changed, 6576 insertions(+) create mode 100644 README.md create mode 100644 archetypes/default.md create mode 100644 config.toml create mode 100644 content/docs/Gluon/_index.md create mode 100644 content/docs/Infrastuktur/_index.md create mode 100644 content/docs/Infrastuktur/ip_netze.md create mode 100644 content/docs/Infrastuktur/server.md create mode 100644 resources/_gen/assets/scss/book.scss_50fc8c04e12a2f59027287995557ceff.content create mode 100644 resources/_gen/assets/scss/book.scss_50fc8c04e12a2f59027287995557ceff.json create mode 100644 static/ffl.png create mode 100644 static/ffl.svg create mode 100644 themes/hugo-book/LICENSE create mode 100644 themes/hugo-book/README.md create mode 100644 themes/hugo-book/archetypes/docs.md create mode 100644 themes/hugo-book/archetypes/posts.md create mode 100644 themes/hugo-book/assets/_custom.scss create mode 100644 themes/hugo-book/assets/_defaults.scss create mode 100644 themes/hugo-book/assets/_fonts.scss create mode 100644 themes/hugo-book/assets/_main.scss create mode 100644 themes/hugo-book/assets/_markdown.scss create mode 100644 themes/hugo-book/assets/_print.scss create mode 100644 themes/hugo-book/assets/_shortcodes.scss create mode 100644 themes/hugo-book/assets/_utils.scss create mode 100644 themes/hugo-book/assets/_variables.scss create mode 100644 themes/hugo-book/assets/book.scss create mode 100644 themes/hugo-book/assets/clipboard.js create mode 100644 themes/hugo-book/assets/manifest.json create mode 100644 themes/hugo-book/assets/menu-reset.js create mode 100644 themes/hugo-book/assets/mermaid.json create mode 100644 themes/hugo-book/assets/normalize.css create mode 100644 themes/hugo-book/assets/plugins/_numbered.scss create mode 100644 themes/hugo-book/assets/plugins/_scrollbars.scss create mode 100644 themes/hugo-book/assets/search-data.json create mode 100644 themes/hugo-book/assets/search.js create mode 100644 themes/hugo-book/assets/sw-register.js create mode 100644 themes/hugo-book/assets/sw.js create mode 100644 themes/hugo-book/assets/themes/_auto.scss create mode 100644 themes/hugo-book/assets/themes/_dark.scss create mode 100644 themes/hugo-book/assets/themes/_light.scss create mode 100644 themes/hugo-book/exampleSite/assets/_custom.scss create mode 100644 themes/hugo-book/exampleSite/assets/_variables.scss create mode 100644 themes/hugo-book/exampleSite/config.toml create mode 100644 themes/hugo-book/exampleSite/config.yaml create mode 100644 themes/hugo-book/exampleSite/content.bn/_index.md create mode 100644 themes/hugo-book/exampleSite/content.ru/_index.md create mode 100644 themes/hugo-book/exampleSite/content.zh/_index.md create mode 100644 themes/hugo-book/exampleSite/content/_index.md create mode 100644 themes/hugo-book/exampleSite/content/docs/example/_index.md create mode 100644 themes/hugo-book/exampleSite/content/docs/example/collapsed/3rd-level/4th-level.md create mode 100644 themes/hugo-book/exampleSite/content/docs/example/collapsed/3rd-level/_index.md create mode 100644 themes/hugo-book/exampleSite/content/docs/example/collapsed/_index.md create mode 100644 themes/hugo-book/exampleSite/content/docs/example/hidden.md create mode 100644 themes/hugo-book/exampleSite/content/docs/example/table-of-contents/_index.md create mode 100644 themes/hugo-book/exampleSite/content/docs/example/table-of-contents/with-toc.md create mode 100644 themes/hugo-book/exampleSite/content/docs/example/table-of-contents/without-toc.md create mode 100644 themes/hugo-book/exampleSite/content/docs/shortcodes/_index.md create mode 100644 themes/hugo-book/exampleSite/content/docs/shortcodes/buttons.md create mode 100644 themes/hugo-book/exampleSite/content/docs/shortcodes/columns.md create mode 100644 themes/hugo-book/exampleSite/content/docs/shortcodes/details.md create mode 100644 themes/hugo-book/exampleSite/content/docs/shortcodes/expand.md create mode 100644 themes/hugo-book/exampleSite/content/docs/shortcodes/hints.md create mode 100644 themes/hugo-book/exampleSite/content/docs/shortcodes/katex.md create mode 100644 themes/hugo-book/exampleSite/content/docs/shortcodes/mermaid.md create mode 100644 themes/hugo-book/exampleSite/content/docs/shortcodes/section/_index.md create mode 100644 themes/hugo-book/exampleSite/content/docs/shortcodes/section/first-page.md create mode 100644 themes/hugo-book/exampleSite/content/docs/shortcodes/section/second-page.md create mode 100644 themes/hugo-book/exampleSite/content/docs/shortcodes/tabs.md create mode 100644 themes/hugo-book/exampleSite/content/menu/index.md create mode 100644 themes/hugo-book/exampleSite/content/posts/_index.md create mode 100644 themes/hugo-book/exampleSite/content/posts/creating-a-new-theme.md create mode 100644 themes/hugo-book/exampleSite/content/posts/goisforlovers.md create mode 100644 themes/hugo-book/exampleSite/content/posts/hugoisforlovers.md create mode 100644 themes/hugo-book/exampleSite/content/posts/migrate-from-jekyll.md create mode 100644 themes/hugo-book/exampleSite/resources/_gen/assets/scss/book.scss_50fc8c04e12a2f59027287995557ceff.content create mode 100644 themes/hugo-book/exampleSite/resources/_gen/assets/scss/book.scss_50fc8c04e12a2f59027287995557ceff.json create mode 100644 themes/hugo-book/go.mod create mode 100644 themes/hugo-book/i18n/bn.yaml create mode 100644 themes/hugo-book/i18n/cn.yaml create mode 100644 themes/hugo-book/i18n/cs.yaml create mode 100644 themes/hugo-book/i18n/de.yaml create mode 100644 themes/hugo-book/i18n/en.yaml create mode 100644 themes/hugo-book/i18n/es.yaml create mode 100644 themes/hugo-book/i18n/fa.yaml create mode 100644 themes/hugo-book/i18n/fr.yaml create mode 100644 themes/hugo-book/i18n/it.yaml create mode 100644 themes/hugo-book/i18n/ja.yaml create mode 100644 themes/hugo-book/i18n/jp.yaml create mode 100644 themes/hugo-book/i18n/ko.yaml create mode 100644 themes/hugo-book/i18n/nb.yaml create mode 100644 themes/hugo-book/i18n/pt.yaml create mode 100644 themes/hugo-book/i18n/ru.yaml create mode 100644 themes/hugo-book/i18n/sv.yaml create mode 100644 themes/hugo-book/i18n/tr.yaml create mode 100644 themes/hugo-book/i18n/uk.yaml create mode 100644 themes/hugo-book/i18n/zh-TW.yaml create mode 100644 themes/hugo-book/i18n/zh.yaml create mode 100644 themes/hugo-book/images/screenshot.png create mode 100644 themes/hugo-book/images/tn.png create mode 100644 themes/hugo-book/layouts/404.html create mode 100644 themes/hugo-book/layouts/_default/_markup/render-heading.html create mode 100644 themes/hugo-book/layouts/_default/_markup/render-image.html create mode 100644 themes/hugo-book/layouts/_default/_markup/render-link.html create mode 100644 themes/hugo-book/layouts/_default/baseof.html create mode 100644 themes/hugo-book/layouts/_default/list.html create mode 100644 themes/hugo-book/layouts/_default/single.html create mode 100644 themes/hugo-book/layouts/partials/docs/brand.html create mode 100644 themes/hugo-book/layouts/partials/docs/comments.html create mode 100644 themes/hugo-book/layouts/partials/docs/date.html create mode 100644 themes/hugo-book/layouts/partials/docs/footer.html create mode 100644 themes/hugo-book/layouts/partials/docs/header.html create mode 100644 themes/hugo-book/layouts/partials/docs/html-head-title.html create mode 100644 themes/hugo-book/layouts/partials/docs/html-head.html create mode 100644 themes/hugo-book/layouts/partials/docs/inject/body.html create mode 100644 themes/hugo-book/layouts/partials/docs/inject/content-after.html create mode 100644 themes/hugo-book/layouts/partials/docs/inject/content-before.html create mode 100644 themes/hugo-book/layouts/partials/docs/inject/footer.html create mode 100644 themes/hugo-book/layouts/partials/docs/inject/head.html create mode 100644 themes/hugo-book/layouts/partials/docs/inject/menu-after.html create mode 100644 themes/hugo-book/layouts/partials/docs/inject/menu-before.html create mode 100644 themes/hugo-book/layouts/partials/docs/inject/toc-after.html create mode 100644 themes/hugo-book/layouts/partials/docs/inject/toc-before.html create mode 100644 themes/hugo-book/layouts/partials/docs/languages.html create mode 100644 themes/hugo-book/layouts/partials/docs/menu-bundle.html create mode 100644 themes/hugo-book/layouts/partials/docs/menu-filetree.html create mode 100644 themes/hugo-book/layouts/partials/docs/menu-hugo.html create mode 100644 themes/hugo-book/layouts/partials/docs/menu.html create mode 100644 themes/hugo-book/layouts/partials/docs/post-meta.html create mode 100644 themes/hugo-book/layouts/partials/docs/search.html create mode 100644 themes/hugo-book/layouts/partials/docs/taxonomy.html create mode 100644 themes/hugo-book/layouts/partials/docs/title.html create mode 100644 themes/hugo-book/layouts/partials/docs/toc.html create mode 100644 themes/hugo-book/layouts/posts/list.html create mode 100644 themes/hugo-book/layouts/posts/single.html create mode 100644 themes/hugo-book/layouts/shortcodes/button.html create mode 100644 themes/hugo-book/layouts/shortcodes/columns.html create mode 100644 themes/hugo-book/layouts/shortcodes/details.html create mode 100644 themes/hugo-book/layouts/shortcodes/expand.html create mode 100644 themes/hugo-book/layouts/shortcodes/hint.html create mode 100644 themes/hugo-book/layouts/shortcodes/katex.html create mode 100644 themes/hugo-book/layouts/shortcodes/mermaid.html create mode 100644 themes/hugo-book/layouts/shortcodes/section.html create mode 100644 themes/hugo-book/layouts/shortcodes/tab.html create mode 100644 themes/hugo-book/layouts/shortcodes/tabs.html create mode 100644 themes/hugo-book/layouts/taxonomy/list.html create mode 100644 themes/hugo-book/layouts/taxonomy/taxonomy.html create mode 100644 themes/hugo-book/static/favicon.png create mode 100644 themes/hugo-book/static/favicon.svg create mode 100644 themes/hugo-book/static/flexsearch.min.js create mode 100644 themes/hugo-book/static/fonts/roboto-mono-v13-latin-regular.woff create mode 100644 themes/hugo-book/static/fonts/roboto-mono-v13-latin-regular.woff2 create mode 100644 themes/hugo-book/static/fonts/roboto-v27-latin-700.woff create mode 100644 themes/hugo-book/static/fonts/roboto-v27-latin-700.woff2 create mode 100644 themes/hugo-book/static/fonts/roboto-v27-latin-regular.woff create mode 100644 themes/hugo-book/static/fonts/roboto-v27-latin-regular.woff2 create mode 100644 themes/hugo-book/static/katex/auto-render.min.js create mode 100644 themes/hugo-book/static/katex/fonts/KaTeX_AMS-Regular.ttf create mode 100644 themes/hugo-book/static/katex/fonts/KaTeX_AMS-Regular.woff create mode 100644 themes/hugo-book/static/katex/fonts/KaTeX_AMS-Regular.woff2 create mode 100644 themes/hugo-book/static/katex/fonts/KaTeX_Caligraphic-Bold.ttf create mode 100644 themes/hugo-book/static/katex/fonts/KaTeX_Caligraphic-Bold.woff create mode 100644 themes/hugo-book/static/katex/fonts/KaTeX_Caligraphic-Bold.woff2 create mode 100644 themes/hugo-book/static/katex/fonts/KaTeX_Caligraphic-Regular.ttf create mode 100644 themes/hugo-book/static/katex/fonts/KaTeX_Caligraphic-Regular.woff create mode 100644 themes/hugo-book/static/katex/fonts/KaTeX_Caligraphic-Regular.woff2 create mode 100644 themes/hugo-book/static/katex/fonts/KaTeX_Fraktur-Bold.ttf create mode 100644 themes/hugo-book/static/katex/fonts/KaTeX_Fraktur-Bold.woff create mode 100644 themes/hugo-book/static/katex/fonts/KaTeX_Fraktur-Bold.woff2 create mode 100644 themes/hugo-book/static/katex/fonts/KaTeX_Fraktur-Regular.ttf create mode 100644 themes/hugo-book/static/katex/fonts/KaTeX_Fraktur-Regular.woff create mode 100644 themes/hugo-book/static/katex/fonts/KaTeX_Fraktur-Regular.woff2 create mode 100644 themes/hugo-book/static/katex/fonts/KaTeX_Main-Bold.ttf create mode 100644 themes/hugo-book/static/katex/fonts/KaTeX_Main-Bold.woff create mode 100644 themes/hugo-book/static/katex/fonts/KaTeX_Main-Bold.woff2 create mode 100644 themes/hugo-book/static/katex/fonts/KaTeX_Main-BoldItalic.ttf create mode 100644 themes/hugo-book/static/katex/fonts/KaTeX_Main-BoldItalic.woff create mode 100644 themes/hugo-book/static/katex/fonts/KaTeX_Main-BoldItalic.woff2 create mode 100644 themes/hugo-book/static/katex/fonts/KaTeX_Main-Italic.ttf create mode 100644 themes/hugo-book/static/katex/fonts/KaTeX_Main-Italic.woff create mode 100644 themes/hugo-book/static/katex/fonts/KaTeX_Main-Italic.woff2 create mode 100644 themes/hugo-book/static/katex/fonts/KaTeX_Main-Regular.ttf create mode 100644 themes/hugo-book/static/katex/fonts/KaTeX_Main-Regular.woff create mode 100644 themes/hugo-book/static/katex/fonts/KaTeX_Main-Regular.woff2 create mode 100644 themes/hugo-book/static/katex/fonts/KaTeX_Math-BoldItalic.ttf create mode 100644 themes/hugo-book/static/katex/fonts/KaTeX_Math-BoldItalic.woff create mode 100644 themes/hugo-book/static/katex/fonts/KaTeX_Math-BoldItalic.woff2 create mode 100644 themes/hugo-book/static/katex/fonts/KaTeX_Math-Italic.ttf create mode 100644 themes/hugo-book/static/katex/fonts/KaTeX_Math-Italic.woff create mode 100644 themes/hugo-book/static/katex/fonts/KaTeX_Math-Italic.woff2 create mode 100644 themes/hugo-book/static/katex/fonts/KaTeX_SansSerif-Bold.ttf create mode 100644 themes/hugo-book/static/katex/fonts/KaTeX_SansSerif-Bold.woff create mode 100644 themes/hugo-book/static/katex/fonts/KaTeX_SansSerif-Bold.woff2 create mode 100644 themes/hugo-book/static/katex/fonts/KaTeX_SansSerif-Italic.ttf create mode 100644 themes/hugo-book/static/katex/fonts/KaTeX_SansSerif-Italic.woff create mode 100644 themes/hugo-book/static/katex/fonts/KaTeX_SansSerif-Italic.woff2 create mode 100644 themes/hugo-book/static/katex/fonts/KaTeX_SansSerif-Regular.ttf create mode 100644 themes/hugo-book/static/katex/fonts/KaTeX_SansSerif-Regular.woff create mode 100644 themes/hugo-book/static/katex/fonts/KaTeX_SansSerif-Regular.woff2 create mode 100644 themes/hugo-book/static/katex/fonts/KaTeX_Script-Regular.ttf create mode 100644 themes/hugo-book/static/katex/fonts/KaTeX_Script-Regular.woff create mode 100644 themes/hugo-book/static/katex/fonts/KaTeX_Script-Regular.woff2 create mode 100644 themes/hugo-book/static/katex/fonts/KaTeX_Size1-Regular.ttf create mode 100644 themes/hugo-book/static/katex/fonts/KaTeX_Size1-Regular.woff create mode 100644 themes/hugo-book/static/katex/fonts/KaTeX_Size1-Regular.woff2 create mode 100644 themes/hugo-book/static/katex/fonts/KaTeX_Size2-Regular.ttf create mode 100644 themes/hugo-book/static/katex/fonts/KaTeX_Size2-Regular.woff create mode 100644 themes/hugo-book/static/katex/fonts/KaTeX_Size2-Regular.woff2 create mode 100644 themes/hugo-book/static/katex/fonts/KaTeX_Size3-Regular.ttf create mode 100644 themes/hugo-book/static/katex/fonts/KaTeX_Size3-Regular.woff create mode 100644 themes/hugo-book/static/katex/fonts/KaTeX_Size3-Regular.woff2 create mode 100644 themes/hugo-book/static/katex/fonts/KaTeX_Size4-Regular.ttf create mode 100644 themes/hugo-book/static/katex/fonts/KaTeX_Size4-Regular.woff create mode 100644 themes/hugo-book/static/katex/fonts/KaTeX_Size4-Regular.woff2 create mode 100644 themes/hugo-book/static/katex/fonts/KaTeX_Typewriter-Regular.ttf create mode 100644 themes/hugo-book/static/katex/fonts/KaTeX_Typewriter-Regular.woff create mode 100644 themes/hugo-book/static/katex/fonts/KaTeX_Typewriter-Regular.woff2 create mode 100644 themes/hugo-book/static/katex/katex.min.css create mode 100644 themes/hugo-book/static/katex/katex.min.js create mode 100644 themes/hugo-book/static/mermaid.min.js create mode 100644 themes/hugo-book/static/svg/calendar.svg create mode 100644 themes/hugo-book/static/svg/edit.svg create mode 100644 themes/hugo-book/static/svg/menu.svg create mode 100644 themes/hugo-book/static/svg/toc.svg create mode 100644 themes/hugo-book/static/svg/translate.svg create mode 100644 themes/hugo-book/theme.toml diff --git a/README.md b/README.md new file mode 100644 index 0000000..f015342 --- /dev/null +++ b/README.md @@ -0,0 +1,8 @@ +### Neues Wiki auf Basis von Hugo + +Wiki +---------------- +* Dokumentation der neuen Infrastruktur +* Anleitungen +* Das alte Wiki wird nicht mit übernommen +* Alles was mit Meshkit zu tun hat, bitte hier http://wiki.leipzig.freifunk.net/Hauptseite nachlesen. \ No newline at end of file diff --git a/archetypes/default.md b/archetypes/default.md new file mode 100644 index 0000000..00e77bd --- /dev/null +++ b/archetypes/default.md @@ -0,0 +1,6 @@ +--- +title: "{{ replace .Name "-" " " | title }}" +date: {{ .Date }} +draft: true +--- + diff --git a/config.toml b/config.toml new file mode 100644 index 0000000..dbecd6e --- /dev/null +++ b/config.toml @@ -0,0 +1,12 @@ +baseURL = "https://wiki.freifunk-leipzig.de" +languageCode = "de-de" +title = "FFL Wiki" +theme = "hugo-book" + +[params] +BookRepo = "https://git.dezentrale.cloud/freifunk-leipzig/wiki" +BookEditPath = "src/" +BookLogo = "/ffl.svg" +#BookSection = "docs" +BookComments = true +BookPortableLinks = true \ No newline at end of file diff --git a/content/docs/Gluon/_index.md b/content/docs/Gluon/_index.md new file mode 100644 index 0000000..0c19997 --- /dev/null +++ b/content/docs/Gluon/_index.md @@ -0,0 +1,9 @@ +--- +title: "Gluon" +bookCollapseSection: true +weight: 20 +--- + +# Gluon + + diff --git a/content/docs/Infrastuktur/_index.md b/content/docs/Infrastuktur/_index.md new file mode 100644 index 0000000..b12c72b --- /dev/null +++ b/content/docs/Infrastuktur/_index.md @@ -0,0 +1,7 @@ +--- +title: "Infrastruktur" +bookCollapseSection: true +weight: 40 +--- + +# Infrastruktur diff --git a/content/docs/Infrastuktur/ip_netze.md b/content/docs/Infrastuktur/ip_netze.md new file mode 100644 index 0000000..4dc45a9 --- /dev/null +++ b/content/docs/Infrastuktur/ip_netze.md @@ -0,0 +1,354 @@ +Freifunk Leipzig +======================= + +Übersicht der vorhandenen Netze +---------------- + +## IPv4 + +Für das Leipziger-Netz sind folgende Subnetze reserviert: + +| IPv4 | Range | +|-----------------|------------------------------| +| `10.59.0.0/21` | `10.59.0.1 - 10.59.7.254` | +| `10.59.16.0/20` | `10.59.16.1 - 10.59.23.254` | +| `10.59.32.0/20` | `10.59.32.1 - 10.59.47.254` | +| `10.61.0.0/16` | `10.61.0.1 - 10.61.255.254` | + +## IPv6 + +Wurde nicht registriert! + +Gateways +-------- + +### aktuell + +| Name | IPv4 | IPv6 | MAC Address | Status | FQDN | Ansprechpartner | +|---------------|----------------|-----------------------|-------------------- |--------|------------------------------------|-----------------| +| vpnf | `77.87.49.5` | `-` | `aa:00:32:68:f0:6c` | aktiv | gluon20171a61.leipzig.freifunk.net | UFO/Mokkin +| gluon20171b61 | `176.9.46.7` | `-` | `de:ad:ca:fe:bb:*` | aktiv | gluon20171b61.leipzig.freifunk.net | UFO/Mokkin +| gluon20171c61 | `77.87.48.30` | `-` | `52:54:00:0c:bb:*` | aktiv | gluon20171c61.leipzig.freifunk.net | UFO/Mokkin + + +### aufbau + +| Name | IPv4 | IPv6 | MAC Address | Status | FQDN | Ansprechpartner | +|----------|----------------|------------------------|--------------------|---------|----------------------------|-----------------| +| vpn04 | `95.216.6.28` | `2a01:4f9:2a:65d::204` | `-` | aufbau | vpn04.freifunk-leipzig.de | Broiler | +| vpn05 | `95.216.6.28` | `2a01:4f9:2a:65d::205` | `-` | aufbau | vpn05.freifunk-leipzig.de | Broiler | +| vpn06 | `95.216.6.28` | `2a01:4f9:2a:65d::206` | `-` | aufbau | vpn06.freifunk-leipzig.de | Broiler | +| vpn07 | `dynamisch` | `dynamisch` | `-` | aufbau | vpn07.freifunk-leipzig.de | Broiler/Max | + + +IP-Ranges +---------- + +Folgende Auslistung sind aktualisierung von den alten Dokumentationen. + + +| CIDR | DHCP Start | DHCP Ende | Gateway | Status | +|------------------|---------------|-----------------|------------|--------| +| `10.59.0.0/24` | `-` | ` - ` | ` - ` | | +| `10.59.1.0/24` | `-` | ` - ` | ` - ` | | +| `10.59.2.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.59.3.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.59.4.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.59.5.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.59.6.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.59.7.0/24` | `-` | ` - ` | ` - ` | frei | + + +| CIDR | DHCP Start | DHCP Ende | Gateway | Status | +|------------------|---------------|-----------------|------------|--------| +| `10.59.16.0/24` | `-` | ` - ` | ` - ` | | +| `10.59.17.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.59.18.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.59.19.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.59.20.0/24` | `-` | ` - ` | ` - ` | | +| `10.59.21.0/24` | `-` | ` - ` | ` - ` | | +| `10.59.22.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.59.23.0/24` | `-` | ` - ` | ` - ` | frei | + +| CIDR | DHCP Start | DHCP Ende | Gateway | Status | +|------------------|---------------|-----------------|------------|--------| +| `10.59.32.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.59.33.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.59.34.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.59.35.0/24` | `-` | ` - ` | ` - ` | Gluon | +| `10.59.36.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.59.37.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.59.38.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.59.39.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.59.40.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.59.41.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.59.42.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.59.43.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.59.44.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.59.45.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.59.46.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.59.47.0/24` | `-` | ` - ` | ` - ` | frei | + +| CIDR | DHCP Start | DHCP Ende | Gateway | Status | +|------------------|---------------|-----------------|------------|--------| +| `10.61.1.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.2.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.3.0/24` | `-` | ` - ` | ` - ` | für Gluon [Konflikt](http://db.leipzig.freifunk.net/node/3704/) | +| `10.61.4.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.5.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.6.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.7.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.8.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.9.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.10.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.11.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.12.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.13.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.14.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.15.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.16.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.17.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.18.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.19.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.20.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.21.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.22.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.23.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.24.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.25.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.26.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.27.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.28.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.29.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.30.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.31.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.32.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.33.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.34.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.35.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.36.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.37.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.38.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.39.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.40.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.41.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.42.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.43.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.44.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.45.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.46.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.47.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.48.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.49.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.50.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.51.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.52.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.53.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.54.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.55.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.56.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.57.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.58.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.59.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.60.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.61.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.62.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.63.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.64.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.65.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.66.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.67.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.68.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.69.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.70.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.71.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.72.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.73.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.74.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.75.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.76.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.77.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.78.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.79.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.80.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.81.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.82.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.83.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.84.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.85.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.86.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.87.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.88.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.89.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.90.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.91.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.92.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.93.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.94.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.95.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.96.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.97.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.98.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.99.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.100.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.101.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.102.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.103.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.104.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.105.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.106.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.107.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.108.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.109.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.110.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.111.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.112.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.113.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.114.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.115.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.116.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.117.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.118.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.119.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.120.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.121.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.122.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.123.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.124.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.125.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.126.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.127.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.128.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.129.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.130.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.131.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.132.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.133.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.134.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.135.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.136.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.137.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.138.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.139.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.140.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.141.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.142.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.143.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.144.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.145.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.146.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.147.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.148.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.149.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.150.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.151.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.152.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.153.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.154.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.155.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.156.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.157.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.158.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.159.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.160.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.161.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.162.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.163.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.164.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.165.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.166.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.167.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.168.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.169.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.170.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.171.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.172.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.173.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.174.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.175.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.176.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.177.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.178.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.179.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.180.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.181.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.182.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.183.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.184.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.185.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.186.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.187.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.188.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.189.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.190.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.191.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.192.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.193.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.194.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.195.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.196.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.197.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.198.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.199.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.200.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.201.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.202.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.203.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.204.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.205.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.206.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.207.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.208.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.209.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.210.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.211.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.212.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.213.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.214.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.215.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.216.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.217.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.218.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.219.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.220.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.221.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.222.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.223.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.224.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.225.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.226.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.227.0/24` | `-` | ` - ` | ` - ` | frei | +| `10.61.228.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.229.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.230.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.231.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.232.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.233.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.234.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.235.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.236.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.237.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.238.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.239.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.240.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.241.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.242.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.243.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.244.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.245.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.246.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.247.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.248.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.249.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.250.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.251.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.252.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.253.0/24` | `-` | ` - ` | ` - ` | | +| `10.61.254.0/24` | `-` | ` - ` | ` - ` | | + +BGP +----------- + +| Name | IPv4 | IPv6 | +|----------|----------------|------------------------| +| leipzig2 | 10.207.0.2 | fec0::a:cf:0:2 | \ No newline at end of file diff --git a/content/docs/Infrastuktur/server.md b/content/docs/Infrastuktur/server.md new file mode 100644 index 0000000..53e56e3 --- /dev/null +++ b/content/docs/Infrastuktur/server.md @@ -0,0 +1,14 @@ +--- +weight: 50 +--- + +## Server + +| Name | FQDN | Aufgabe | Kontakt | CPU |Kerne | RAM | HDD | +| ----------------- | -------------------------------|-------------------------|---------------|-------------------|------|------|--------------------------| +| gluon20171a61 | vpna.freifunk-leipzig.de | GW | UFO/Mokkin | | | | | +| gluon20171b61 | vpnb.freifunk-leipzig.de | GW | UFO/Mokkin | | | | | +| gluon20171c61 | vpnc.freifunk-leipzig.de | GW | UFO/Mokkin | | | | | +| lida | lida.freifunk-leipzig.de | GW | Broiler | Xeon E3-1246V3 | 8 | 32 GB| 2x 2TB HDD | +| builder | builder.freifunk-leipzig.de | Builder,gitlab-runner | Broiler/Katze | 2x Xeon E5-2650 | 32 | 64 GB| 1x 240 GB SSD 2x 1TB HDD | +| freifunk | freifunk-leipzig.de | Webseite, Wiki, Images | Broiler/Katze | i7-3770 | 2 | 2 GB| 1x 40 GB HDD | \ No newline at end of file diff --git a/resources/_gen/assets/scss/book.scss_50fc8c04e12a2f59027287995557ceff.content b/resources/_gen/assets/scss/book.scss_50fc8c04e12a2f59027287995557ceff.content new file mode 100644 index 0000000..bbd5aed --- /dev/null +++ b/resources/_gen/assets/scss/book.scss_50fc8c04e12a2f59027287995557ceff.content @@ -0,0 +1 @@ +@charset "UTF-8";:root{--gray-100:#f8f9fa;--gray-200:#e9ecef;--gray-500:#adb5bd;--color-link:#0055bb;--color-visited-link:#8440f1;--body-background:white;--body-font-color:black;--icon-filter:none;--hint-color-info:#6bf;--hint-color-warning:#fd6;--hint-color-danger:#f66}/*!normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css*/html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}.flex{display:flex}.flex-auto{flex:auto}.flex-even{flex:1 1}.flex-wrap{flex-wrap:wrap}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.align-center{align-items:center}.mx-auto{margin:0 auto}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.hidden{display:none}input.toggle{height:0;width:0;overflow:hidden;opacity:0;position:absolute}.clearfix::after{content:"";display:table;clear:both}html{font-size:16px;scroll-behavior:smooth;touch-action:manipulation}body{min-width:20rem;color:var(--body-font-color);background:var(--body-background);letter-spacing:.33px;font-weight:400;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;box-sizing:border-box}body *{box-sizing:inherit}h1,h2,h3,h4,h5{font-weight:400}a{text-decoration:none;color:var(--color-link)}img{vertical-align:baseline}:focus{outline-style:auto;outline-color:currentColor;outline-color:-webkit-focus-ring-color}aside nav ul{padding:0;margin:0;list-style:none}aside nav ul li{margin:1em 0;position:relative}aside nav ul a{display:block}aside nav ul a:hover{opacity:.5}aside nav ul ul{padding-inline-start:1rem}ul.pagination{display:flex;justify-content:center;list-style-type:none}ul.pagination .page-item a{padding:1rem}.container{max-width:80rem;margin:0 auto}.book-icon{filter:var(--icon-filter)}.book-brand{margin-top:0;margin-bottom:1rem}.book-brand img{height:1.5em;width:1.5em;margin-inline-end:.5rem}.book-menu{flex:0 0 16rem;font-size:.875rem}.book-menu .book-menu-content{width:16rem;padding:1rem;background:var(--body-background);position:fixed;top:0;bottom:0;overflow-x:hidden;overflow-y:auto}.book-menu a,.book-menu label{color:inherit;cursor:pointer;word-wrap:break-word}.book-menu a.active{color:var(--color-link)}.book-menu input.toggle+label+ul{display:none}.book-menu input.toggle:checked+label+ul{display:block}.book-menu input.toggle+label::after{content:"▸"}.book-menu input.toggle:checked+label::after{content:"▾"}body[dir=rtl] .book-menu input.toggle+label::after{content:"◂"}body[dir=rtl] .book-menu input.toggle:checked+label::after{content:"▾"}.book-section-flat{margin:2rem 0}.book-section-flat>a,.book-section-flat>span,.book-section-flat>label{font-weight:bolder}.book-section-flat>ul{padding-inline-start:0}.book-page{min-width:20rem;flex-grow:1;padding:1rem}.book-post{margin-bottom:3rem}.book-header{display:none;margin-bottom:1rem}.book-header label{line-height:0}.book-header img.book-icon{height:1.5em;width:1.5em}.book-search{position:relative;margin:1rem 0;border-bottom:1px solid transparent}.book-search input{width:100%;padding:.5rem;border:0;border-radius:.25rem;background:var(--gray-100);color:var(--body-font-color)}.book-search input:required+.book-search-spinner{display:block}.book-search .book-search-spinner{position:absolute;top:0;margin:.5rem;margin-inline-start:calc(100% - 1.5rem);width:1rem;height:1rem;border:1px solid transparent;border-top-color:var(--body-font-color);border-radius:50%;animation:spin 1s ease infinite}@keyframes spin{100%{transform:rotate(360deg)}}.book-search small{opacity:.5}.book-toc{flex:0 0 16rem;font-size:.75rem}.book-toc .book-toc-content{width:16rem;padding:1rem;position:fixed;top:0;bottom:0;overflow-x:hidden;overflow-y:auto}.book-toc img{height:1em;width:1em}.book-toc nav>ul>li:first-child{margin-top:0}.book-footer{padding-top:1rem;font-size:.875rem}.book-footer img{height:1em;width:1em;margin-inline-end:.5rem}.book-comments{margin-top:1rem}.book-languages{margin-block-end:2rem}.book-languages .book-icon{height:1em;width:1em;margin-inline-end:.5em}.book-languages ul{padding-inline-start:1.5em}.book-menu-content,.book-toc-content,.book-page,.book-header aside,.markdown{transition:.2s ease-in-out;transition-property:transform,margin,opacity,visibility;will-change:transform,margin,opacity}@media screen and (max-width:56rem){#menu-control,#toc-control{display:inline}.book-menu{visibility:hidden;margin-inline-start:-16rem;font-size:16px;z-index:1}.book-toc{display:none}.book-header{display:block}#menu-control:focus~main label[for=menu-control]{outline-style:auto;outline-color:currentColor;outline-color:-webkit-focus-ring-color}#menu-control:checked~main .book-menu{visibility:initial}#menu-control:checked~main .book-menu .book-menu-content{transform:translateX(16rem);box-shadow:0 0 .5rem rgba(0,0,0,.1)}#menu-control:checked~main .book-page{opacity:.25}#menu-control:checked~main .book-menu-overlay{display:block;position:absolute;top:0;bottom:0;left:0;right:0}#toc-control:focus~main label[for=toc-control]{outline-style:auto;outline-color:currentColor;outline-color:-webkit-focus-ring-color}#toc-control:checked~main .book-header aside{display:block}body[dir=rtl] #menu-control:checked~main .book-menu .book-menu-content{transform:translateX(-16rem)}}@media screen and (min-width:80rem){.book-page,.book-menu .book-menu-content,.book-toc .book-toc-content{padding:2rem 1rem}}@font-face{font-family:roboto;font-style:normal;font-weight:400;font-display:swap;src:local(""),url(fonts/roboto-v27-latin-regular.woff2)format("woff2"),url(fonts/roboto-v27-latin-regular.woff)format("woff")}@font-face{font-family:roboto;font-style:normal;font-weight:700;font-display:swap;src:local(""),url(fonts/roboto-v27-latin-700.woff2)format("woff2"),url(fonts/roboto-v27-latin-700.woff)format("woff")}@font-face{font-family:roboto mono;font-style:normal;font-weight:400;font-display:swap;src:local(""),url(fonts/roboto-mono-v13-latin-regular.woff2)format("woff2"),url(fonts/roboto-mono-v13-latin-regular.woff)format("woff")}body{font-family:roboto,sans-serif}code{font-family:roboto mono,monospace}@media print{.book-menu,.book-footer,.book-toc{display:none}.book-header,.book-header aside{display:block}main{display:block!important}}.markdown{line-height:1.6}.markdown>:first-child{margin-top:0}.markdown h1,.markdown h2,.markdown h3,.markdown h4,.markdown h5,.markdown h6{font-weight:400;line-height:1;margin-top:1.5em;margin-bottom:1rem}.markdown h1 a.anchor,.markdown h2 a.anchor,.markdown h3 a.anchor,.markdown h4 a.anchor,.markdown h5 a.anchor,.markdown h6 a.anchor{opacity:0;font-size:.75em;vertical-align:middle;text-decoration:none}.markdown h1:hover a.anchor,.markdown h1 a.anchor:focus,.markdown h2:hover a.anchor,.markdown h2 a.anchor:focus,.markdown h3:hover a.anchor,.markdown h3 a.anchor:focus,.markdown h4:hover a.anchor,.markdown h4 a.anchor:focus,.markdown h5:hover a.anchor,.markdown h5 a.anchor:focus,.markdown h6:hover a.anchor,.markdown h6 a.anchor:focus{opacity:initial}.markdown h4,.markdown h5,.markdown h6{font-weight:bolder}.markdown h5{font-size:.875em}.markdown h6{font-size:.75em}.markdown b,.markdown optgroup,.markdown strong{font-weight:bolder}.markdown a{text-decoration:none}.markdown a:hover{text-decoration:underline}.markdown a:visited{color:var(--color-visited-link)}.markdown img{max-width:100%;height:auto}.markdown code{padding:0 .25rem;background:var(--gray-200);border-radius:.25rem;font-size:.875em}.markdown pre{padding:1rem;background:var(--gray-100);border-radius:.25rem;overflow-x:auto}.markdown pre code{padding:0;background:0 0}.markdown p{word-wrap:break-word}.markdown blockquote{margin:1rem 0;padding:.5rem 1rem .5rem .75rem;border-inline-start:.25rem solid var(--gray-200);border-radius:.25rem}.markdown blockquote :first-child{margin-top:0}.markdown blockquote :last-child{margin-bottom:0}.markdown table{overflow:auto;display:block;border-spacing:0;border-collapse:collapse;margin-top:1rem;margin-bottom:1rem}.markdown table tr th,.markdown table tr td{padding:.5rem 1rem;border:1px solid var(--gray-200)}.markdown table tr:nth-child(2n){background:var(--gray-100)}.markdown hr{height:1px;border:none;background:var(--gray-200)}.markdown ul,.markdown ol{padding-inline-start:2rem}.markdown dl dt{font-weight:bolder;margin-top:1rem}.markdown dl dd{margin-inline-start:0;margin-bottom:1rem}.markdown .highlight table tr td:nth-child(1) pre{margin:0;padding-inline-end:0}.markdown .highlight table tr td:nth-child(2) pre{margin:0;padding-inline-start:0}.markdown details{padding:1rem;border:1px solid var(--gray-200);border-radius:.25rem}.markdown details summary{line-height:1;padding:1rem;margin:-1rem;cursor:pointer}.markdown details[open] summary{margin-bottom:0}.markdown figure{margin:1rem 0}.markdown figure figcaption p{margin-top:0}.markdown-inner>:first-child{margin-top:0}.markdown-inner>:last-child{margin-bottom:0}.markdown .book-expand{margin-top:1rem;margin-bottom:1rem;border:1px solid var(--gray-200);border-radius:.25rem;overflow:hidden}.markdown .book-expand .book-expand-head{background:var(--gray-100);padding:.5rem 1rem;cursor:pointer}.markdown .book-expand .book-expand-content{display:none;padding:1rem}.markdown .book-expand input[type=checkbox]:checked+.book-expand-content{display:block}.markdown .book-tabs{margin-top:1rem;margin-bottom:1rem;border:1px solid var(--gray-200);border-radius:.25rem;overflow:hidden;display:flex;flex-wrap:wrap}.markdown .book-tabs label{display:inline-block;padding:.5rem 1rem;border-bottom:1px transparent;cursor:pointer}.markdown .book-tabs .book-tabs-content{order:999;width:100%;border-top:1px solid var(--gray-100);padding:1rem;display:none}.markdown .book-tabs input[type=radio]:checked+label{border-bottom:1px solid var(--color-link)}.markdown .book-tabs input[type=radio]:checked+label+.book-tabs-content{display:block}.markdown .book-tabs input[type=radio]:focus+label{outline-style:auto;outline-color:currentColor;outline-color:-webkit-focus-ring-color}.markdown .book-columns{margin-left:-1rem;margin-right:-1rem}.markdown .book-columns>div{margin:1rem 0;min-width:10rem;padding:0 1rem}.markdown a.book-btn{display:inline-block;font-size:.875rem;color:var(--color-link);line-height:2rem;padding:0 1rem;border:1px solid var(--color-link);border-radius:.25rem;cursor:pointer}.markdown a.book-btn:hover{text-decoration:none}.markdown .book-hint.info{border-color:#6bf;background-color:rgba(102,187,255,.1)}.markdown .book-hint.warning{border-color:#fd6;background-color:rgba(255,221,102,.1)}.markdown .book-hint.danger{border-color:#f66;background-color:rgba(255,102,102,.1)} \ No newline at end of file diff --git a/resources/_gen/assets/scss/book.scss_50fc8c04e12a2f59027287995557ceff.json b/resources/_gen/assets/scss/book.scss_50fc8c04e12a2f59027287995557ceff.json new file mode 100644 index 0000000..3af3b14 --- /dev/null +++ b/resources/_gen/assets/scss/book.scss_50fc8c04e12a2f59027287995557ceff.json @@ -0,0 +1 @@ +{"Target":"book.min.82c5dbd23447cee0b4c2aa3ed08ce0961faa40e1fa370eee4f8c9f02e0d46b5f.css","MediaType":"text/css","Data":{"Integrity":"sha256-gsXb0jRHzuC0wqo+0Izglh+qQOH6Nw7uT4yfAuDUa18="}} \ No newline at end of file diff --git a/static/ffl.png b/static/ffl.png new file mode 100644 index 0000000000000000000000000000000000000000..d5dba95fd0e5272d55a2745eda54ab7fc7351770 GIT binary patch literal 26341 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 literal 0 HcmV?d00001 diff --git a/static/ffl.svg b/static/ffl.svg new file mode 100644 index 0000000..d60bf10 --- /dev/null +++ b/static/ffl.svg @@ -0,0 +1,184 @@ + +image/svg+xml + + + \ No newline at end of file diff --git a/themes/hugo-book/LICENSE b/themes/hugo-book/LICENSE new file mode 100644 index 0000000..e7a669a --- /dev/null +++ b/themes/hugo-book/LICENSE @@ -0,0 +1,20 @@ +The MIT License (MIT) + +Copyright (c) 2018 Alex Shpak + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/themes/hugo-book/README.md b/themes/hugo-book/README.md new file mode 100644 index 0000000..3edbc5c --- /dev/null +++ b/themes/hugo-book/README.md @@ -0,0 +1,354 @@ +# Hugo Book Theme + +[![Hugo](https://img.shields.io/badge/hugo-0.68-blue.svg)](https://gohugo.io) +[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE) +![Build with Hugo](https://github.com/alex-shpak/hugo-book/workflows/Build%20with%20Hugo/badge.svg) + +### [Hugo](https://gohugo.io) documentation theme as simple as plain book + +![Screenshot](https://github.com/alex-shpak/hugo-book/blob/master/images/screenshot.png) + +- [Features](#features) +- [Requirements](#requirements) +- [Installation](#installation) +- [Menu](#menu) +- [Blog](#blog) +- [Configuration](#configuration) +- [Shortcodes](#shortcodes) +- [Versioning](#versioning) +- [Contributing](#contributing) + +## Features + +- Clean simple design +- Light and Mobile-Friendly +- Multi-language support +- Customisable +- Zero initial configuration +- Handy shortcodes +- Comments support +- Simple blog and taxonomy +- Primary features work without JavaScript +- Dark Mode + +## Requirements + +- Hugo 0.68 or higher +- Hugo extended version, read more [here](https://gohugo.io/news/0.48-relnotes/) + +## Installation + +### Install as git submodule +Navigate to your hugo project root and run: + +``` +git submodule add https://github.com/alex-shpak/hugo-book themes/hugo-book +``` + +Then run hugo (or set `theme = "hugo-book"`/`theme: hugo-book` in configuration file) + +``` +hugo server --minify --theme hugo-book +``` + +### Install as hugo module + +You can also add this theme as a Hugo module instead of a git submodule. + +Start with initializing hugo modules, if not done yet: +``` +hugo mod init github.com/repo/path +``` + +Navigate to your hugo project root and add [module] section to your `config.toml`: + +```toml +[module] +[[module.imports]] +path = 'github.com/alex-shpak/hugo-book' +``` + +Then, to load/update the theme module and run hugo: + +```sh +hugo mod get -u +hugo server --minify +``` + +### Creating site from scratch + +Below is an example on how to create a new site from scratch: + +```sh +hugo new site mydocs; cd mydocs +git init +git submodule add https://github.com/alex-shpak/hugo-book themes/hugo-book +cp -R themes/hugo-book/exampleSite/content . +``` + +```sh +hugo server --minify --theme hugo-book +``` + +## Menu + +### File tree menu (default) + +By default, the theme will render pages from the `content/docs` section as a menu in a tree structure. +You can set `title` and `weight` in the front matter of pages to adjust the order and titles in the menu. + +### Leaf bundle menu (Deprecated) + +You can also use leaf bundle and the content of its `index.md` file as menu. +Given you have the following file structure: + +``` +├── content +│ ├── docs +│ │ ├── page-one.md +│ │ └── page-two.md +│ └── posts +│ ├── post-one.md +│ └── post-two.md +``` + +Create a file `content/menu/index.md` with the content: + +```md ++++ +headless = true ++++ + +- [Book Example]({{< relref "/docs/" >}}) + - [Page One]({{< relref "/docs/page-one" >}}) + - [Page Two]({{< relref "/docs/page-two" >}}) +- [Blog]({{< relref "/posts" >}}) +``` + +And Enable it by setting `BookMenuBundle: /menu` in Site configuration. + +- [Example menu](https://github.com/alex-shpak/hugo-book/blob/master/exampleSite/content/menu/index.md) +- [Example config file](https://github.com/alex-shpak/hugo-book/blob/master/exampleSite/config.yaml) +- [Leaf bundles](https://gohugo.io/content-management/page-bundles/) + +## Blog + +A simple blog is supported in the section `posts`. +A blog is not the primary usecase of this theme, so it has only minimal features. + +## Configuration + +### Site Configuration + +There are a few configuration options that you can add to your `config.toml` file. +You can also see the `yaml` example [here](https://github.com/alex-shpak/hugo-book/blob/master/exampleSite/config.yaml). + +```toml +# (Optional) Set Google Analytics if you use it to track your website. +# Always put it on the top of the configuration file, otherwise it won't work +googleAnalytics = "UA-XXXXXXXXX-X" + +# (Optional) If you provide a Disqus shortname, comments will be enabled on +# all pages. +disqusShortname = "my-site" + +# (Optional) Set this to true if you use capital letters in file names +disablePathToLower = true + +# (Optional) Set this to true to enable 'Last Modified by' date and git author +# information on 'doc' type pages. +enableGitInfo = true + +# (Optional) Theme is intended for documentation use, therefore it doesn't render taxonomy. +# You can remove related files with config below +disableKinds = ['taxonomy', 'taxonomyTerm'] + +[params] + # (Optional, default light) Sets color theme: light, dark or auto. + # Theme 'auto' switches between dark and light modes based on browser/os preferences + BookTheme = 'light' + + # (Optional, default true) Controls table of contents visibility on right side of pages. + # Start and end levels can be controlled with markup.tableOfContents setting. + # You can also specify this parameter per page in front matter. + BookToC = true + + # (Optional, default none) Set the path to a logo for the book. If the logo is + # /static/logo.png then the path would be 'logo.png' + BookLogo = 'logo.png' + + # (Optional, default none) Set leaf bundle to render as side menu + # When not specified file structure and weights will be used + BookMenuBundle = '/menu' + + # (Optional, default docs) Specify section of content to render as menu + # You can also set value to "*" to render all sections to menu + BookSection = 'docs' + + # Set source repository location. + # Used for 'Last Modified' and 'Edit this page' links. + BookRepo = 'https://github.com/alex-shpak/hugo-book' + + # Specifies commit portion of the link to the page's last modified commit hash for 'doc' page + # type. + # Required if 'BookRepo' param is set. + # Value used to construct a URL consisting of BookRepo/BookCommitPath/ + # Github uses 'commit', Bitbucket uses 'commits' + BookCommitPath = 'commit' + + # Enable 'Edit this page' links for 'doc' page type. + # Disabled by default. Uncomment to enable. Requires 'BookRepo' param. + # Path must point to the site directory. + BookEditPath = 'edit/master/exampleSite' + + # (Optional, default January 2, 2006) Configure the date format used on the pages + # - In git information + # - In blog posts + BookDateFormat = 'Jan 2, 2006' + + # (Optional, default true) Enables search function with flexsearch, + # Index is built on fly, therefore it might slowdown your website. + # Configuration for indexing can be adjusted in i18n folder per language. + BookSearch = true + + # (Optional, default true) Enables comments template on pages + # By default partials/docs/comments.html includes Disqus template + # See https://gohugo.io/content-management/comments/#configure-disqus + # Can be overwritten by same param in page frontmatter + BookComments = true + + # /!\ This is an experimental feature, might be removed or changed at any time + # (Optional, experimental, default false) Enables portable links and link checks in markdown pages. + # Portable links meant to work with text editors and let you write markdown without {{< relref >}} shortcode + # Theme will print warning if page referenced in markdown does not exists. + BookPortableLinks = true + + # /!\ This is an experimental feature, might be removed or changed at any time + # (Optional, experimental, default false) Enables service worker that caches visited pages and resources for offline use. + BookServiceWorker = true +``` + +### Multi-Language Support + +Theme supports Hugo's [multilingual mode](https://gohugo.io/content-management/multilingual/), just follow configuration guide there. You can also tweak search indexing configuration per language in `i18n` folder. + +### Page Configuration + +You can specify additional params in the front matter of individual pages: + +```toml +# Set type to 'docs' if you want to render page outside of configured section or if you render section other than 'docs' +type = 'docs' + +# Set page weight to re-arrange items in file-tree menu (if BookMenuBundle not set) +weight = 10 + +# (Optional) Set to 'true' to mark page as flat section in file-tree menu (if BookMenuBundle not set) +bookFlatSection = false + +# (Optional) Set to hide nested sections or pages at that level. Works only with file-tree menu mode +bookCollapseSection = true + +# (Optional) Set true to hide page or section from side menu (if BookMenuBundle not set) +bookHidden = false + +# (Optional) Set 'false' to hide ToC from page +bookToC = true + +# (Optional) If you have enabled BookComments for the site, you can disable it for specific pages. +bookComments = true + +# (Optional) Set to 'false' to exclude page from search index. +bookSearchExclude = true +``` + +### Partials + +There are layout partials available for you to easily override components of the theme in `layouts/partials/`. + +In addition to this, there are several empty partials you can override to easily add/inject code. + +| Empty Partial | Placement | +| -------------------------------------------------- | ------------------------------------------- | +| `layouts/partials/docs/inject/head.html` | Before closing `` tag | +| `layouts/partials/docs/inject/body.html` | Before closing `` tag | +| `layouts/partials/docs/inject/footer.html` | After page footer content | +| `layouts/partials/docs/inject/menu-before.html` | At the beginning of `