1
0
mirror of https://github.com/funkypenguin/geek-cookbook/ synced 2025-12-13 17:56:26 +00:00

Improve title on recipes

This commit is contained in:
David Young
2022-07-10 20:44:18 +12:00
parent 346c3a9c85
commit bb2b358ec6
41 changed files with 1057 additions and 31 deletions

View File

@@ -4,6 +4,7 @@ FROM ${FROM_SOURCE}
RUN apk add --no-cache py3-pip py3-pillow py3-cffi py3-brotli gcc musl-dev python3-dev pango build-base libffi-dev jpeg-dev libxslt-dev RUN apk add --no-cache py3-pip py3-pillow py3-cffi py3-brotli gcc musl-dev python3-dev pango build-base libffi-dev jpeg-dev libxslt-dev
RUN pip install \ RUN pip install \
beautifulsoup4==4.9.3 \
mkdocs-autolinks-plugin \ mkdocs-autolinks-plugin \
mkdocs-htmlproofer-plugin \ mkdocs-htmlproofer-plugin \
mkdocs-git-revision-date-localized-plugin \ mkdocs-git-revision-date-localized-plugin \

View File

@@ -1,3 +1,6 @@
---
title: Pre-made ansible playbooks to deploy our self-hosted recipes
---
# Premix Repository # Premix Repository
"Premix" is a private repository shared with [GitHub sponsors](https://github.com/sponsors/funkypenguin), which contains the necessary files and automation to quickly deploy any recipe, or even an entire [swarm](/docker-swarm/) / [cluster](/kubernetes/)! :muscle: "Premix" is a private repository shared with [GitHub sponsors](https://github.com/sponsors/funkypenguin), which contains the necessary files and automation to quickly deploy any recipe, or even an entire [swarm](/docker-swarm/) / [cluster](/kubernetes/)! :muscle:

View File

@@ -1,5 +1,5 @@
--- ---
description: A self-hosted internet archiving solution title: Archivebox - bookmark manager for your self-hosted stack
--- ---
# Archivebox # Archivebox

View File

@@ -1,5 +1,5 @@
--- ---
title: Run linuxserver bookstack in Docker title: How to run BookStack in Docker
description: BookStack is a simple, self-hosted, easy-to-use platform for organising and storing information. Here's how to integrate linuxserver's bookstack image into your Docker Swarm stack. description: BookStack is a simple, self-hosted, easy-to-use platform for organising and storing information. Here's how to integrate linuxserver's bookstack image into your Docker Swarm stack.
--- ---

View File

@@ -1,5 +1,6 @@
--- ---
description: Duplicati - Yet another option to backup your exciting stuff. It's good to have options. title: Use Duplicati in Docker to backup to backblaze / b2 and friends
description: Duplicati - Yet another boring option to backup your exciting stuff, especially to Backblaze / B2 - It's good to have options.
--- ---
# Duplicati # Duplicati

View File

@@ -1,4 +1,5 @@
--- ---
title: Use Duplicity in Docker to backup to backblaze / b2 and friends
description: A boring recipe to backup your exciting stuff. Boring is good. description: A boring recipe to backup your exciting stuff. Boring is good.
--- ---

View File

@@ -1,5 +1,6 @@
--- ---
description: Real heroes backup their shizz! title: Use elkarbackup in Docker to backup to backblaze / b2 and friends
description: ElkarBackup is a free open-source backup solution based on RSync/RSnapshot. It's basically a web wrapper around rsync/rsnapshot, which means that your backups are just files on a filesystem, utilising hardlinks for tracking incremental changes.
--- ---
# Elkar Backup # Elkar Backup

View File

@@ -1,5 +1,6 @@
--- ---
description: Ghost - Beautiful online publicatio (who you gonna call?) title: Blog with Ghost in Docker
description: How to run the beautiful, publication-focused blogging engine "Ghost" using Docker
--- ---
# Ghost # Ghost

View File

@@ -1,5 +1,5 @@
--- ---
description: Gitlab Runner - A gopher for GitLab title: How to run Gitlab Runner in Docker
--- ---
# Gitlab Runner # Gitlab Runner

View File

@@ -1,3 +1,6 @@
---
title: How to run Gitlab in Docker
---
# GitLab # GitLab
GitLab is a self-hosted [alternative to GitHub](https://about.gitlab.com/pricing/self-managed/feature-comparison/). The most common use case is (a set of) developers with the desire for the rich feature-set of GitHub, but with unlimited private repositories. GitLab is a self-hosted [alternative to GitHub](https://about.gitlab.com/pricing/self-managed/feature-comparison/). The most common use case is (a set of) developers with the desire for the rich feature-set of GitHub, but with unlimited private repositories.

View File

@@ -1,5 +1,5 @@
--- ---
description: Gollum - A recipe for your own git-based wiki. My preciousssss title: Run Gollum in Docker
--- ---
# Gollum # Gollum

View File

@@ -1,5 +1,5 @@
--- ---
description: A self-hosted, hackable version of IFFTT / Zapier title: Run Huggin in Docker
--- ---
# Huginn # Huginn

View File

@@ -1,5 +1,6 @@
--- ---
description: Automate your fake Instagram life with automated fakery! title: How to run InstaPy in Docker
description: Automate your fake Instagram life with automated fakery using InstaPy in Docker
--- ---
# InstaPy # InstaPy

View File

@@ -1,3 +1,7 @@
---
title: How to build an IPFS cluster in Docker
description: IPFS is a peer-to-peer distributed file system that seeks to connect all computing devices with the same system of files. In some ways, IPFS is similar to the World Wide Web, but IPFS could be seen as a single BitTorrent swarm, exchanging objects within one Git repository.
---
# IPFS # IPFS
!!! danger "This recipe is a work in progress" !!! danger "This recipe is a work in progress"
@@ -8,7 +12,7 @@ The intention of this recipe is to provide a local IPFS cluster for the purpose
![IPFS Screenshot](../images/ipfs.png){ loading=lazy } ![IPFS Screenshot](../images/ipfs.png){ loading=lazy }
Description. IPFS is a peer-to-peer distributed file system that seeks to connect all computing devices with the same system of files. In some ways, IPFS is similar to the World Wide Web, but IPFS could be seen as a single BitTorrent swarm, exchanging objects within one Git repository. IPFS is a peer-to-peer distributed file system that seeks to connect all computing devices with the same system of files. In some ways, IPFS is similar to the World Wide Web, but IPFS could be seen as a single BitTorrent swarm, exchanging objects within one Git repository.
## Ingredients ## Ingredients

View File

@@ -1,5 +1,6 @@
--- ---
description: Get your personal kanban on! title: How to run Kanboard using Docker
description: Run Kanboard with Docker to get your personal kanban on!
--- ---
# Kanboard # Kanboard

View File

@@ -1,3 +1,7 @@
---
title: Integrate LDAP server with Keycloak for user federation
description: Here's how we'll add an LDAP provider to our KeyCloak server for user federation.
---
# Authenticate KeyCloak against OpenLDAP # Authenticate KeyCloak against OpenLDAP
!!! warning !!! warning

View File

@@ -1,4 +1,8 @@
# Create KeyCloak Users ---
title: Create users in Keycloak
description: Unless you plan to authenticate against an outside provider (OpenLDAP, below, for example_), you'll want to create some local users..
---
# Create Keycloak Users
!!! warning !!! warning
This is not a complete recipe - it's an optional component of the [Keycloak recipe](/recipes/keycloak/), but has been split into its own page to reduce complexity. This is not a complete recipe - it's an optional component of the [Keycloak recipe](/recipes/keycloak/), but has been split into its own page to reduce complexity.

View File

@@ -1,4 +1,5 @@
--- ---
title: How to setup OIDC server in Docker with KeyCloak
description: Kick-ass OIDC and identity management description: Kick-ass OIDC and identity management
--- ---

View File

@@ -1,3 +1,7 @@
---
title: How to setup OIDC provider in KeyCloak
description: Having an authentication provider is not much use until you start authenticating things against it! In order to authenticate against KeyCloak using OpenID Connect (OIDC), which is required for Traefik Forward Auth, we'll setup a client in KeyCloak...
---
# Add OIDC Provider to KeyCloak # Add OIDC Provider to KeyCloak
!!! warning !!! warning

View File

@@ -1,5 +1,6 @@
--- ---
description: Bazinga! Comic book management FTW! title: How to run Komga with Docker
description: Run Komga under Docker Swarm in docker-compose syntax
--- ---
# Komga # Komga

View File

@@ -1,5 +1,6 @@
--- ---
description: A self-contained mailserver with spam-fighting friends title: Run postfix / dovecot with docker-mailserver
description: A self-contained mailserver (postfix, dovecot) in Docker with spam-fighting friends (spamassassin, clamav)
--- ---
# Mail Server # Mail Server

View File

@@ -1,5 +1,5 @@
--- ---
description: A lightweight minimalist RSS reader title: Read RSS in peace with miniflux on Docker
--- ---
# Miniflux # Miniflux

View File

@@ -1,5 +1,6 @@
--- ---
description: Self-hosted S3-compatible object storage title: Run Minio on Docker (using compose format in swarm)
description: How to run Minio's self-hosted S3-compatible object storage under Docker Swarm, using docker-compose v3 syntax
--- ---
# Minio # Minio

View File

@@ -1,5 +1,6 @@
--- ---
description: Share docs. Backup files. Share stuff. title: How to run Nextcloud in Docker (behind Traefik)
description: We can now run Nextcloud in our Docker Swarm, with LetsEncrypt SSL termination handled by Traefik
--- ---
# NextCloud # NextCloud

View File

@@ -1,5 +1,6 @@
--- ---
description: Authenticate like it's 1990! title: Run OpenLDAP in Docker
description: How to run an OpenLDAP server in Docker Swarm, with LDAP Account Manager. Authenticate like it's 1990!
--- ---
# OpenLDAP # OpenLDAP

View File

@@ -1,5 +1,5 @@
--- ---
description: Spy on yourself. title: Run OwnTracks under Docker
--- ---
# OwnTracks # OwnTracks

View File

@@ -1,8 +1,9 @@
--- ---
description: Easily index, search, and view archive all of your scanned dead-tree documents title: Run paperless-ngx under Docker
description: Easily index, search, and view archive all of your scanned dead-tree documents with Paperless NGX, under Docker
--- ---
# Paperless NG # Paperless NGX
Paper is a nightmare. Environmental issues aside, theres no excuse for it in the 21st century. It takes up space, collects dust, doesnt support any form of a search feature, indexing is tedious, its heavy and prone to damage & loss. [^1] Paperless NG will OCR, index, and store data about your documents so they are easy to search and view, unlike that hulking metal file cabinet you have in your office. Paper is a nightmare. Environmental issues aside, theres no excuse for it in the 21st century. It takes up space, collects dust, doesnt support any form of a search feature, indexing is tedious, its heavy and prone to damage & loss. [^1] Paperless NG will OCR, index, and store data about your documents so they are easy to search and view, unlike that hulking metal file cabinet you have in your office.

View File

@@ -1,5 +1,6 @@
--- ---
description: Is that IP address in use? title: Run phpIPAM under Docker
description: Is that IP address in use? Do some DHP / Discovery with phpIPAM under Docker
--- ---
# phpIPAM # phpIPAM

View File

@@ -1,5 +1,6 @@
--- ---
description: A UI to make Docker less geeky title: Run Portainer in Docker Swarm (now with Dark Mode!)
description: Portainer is a UI to make Docker less geeky, runs under Docker Swarm (and Kubernetes!) and most importantly, now supports dark mode!
--- ---
# Portainer # Portainer

View File

@@ -1,4 +1,5 @@
--- ---
title: Realms is a git-based wiki, and it runs under Docker!
description: A git-based wiki with auth and registration description: A git-based wiki with auth and registration
--- ---

View File

@@ -1,5 +1,5 @@
--- ---
description: Read-it-later, mate! title: Run Wallabag under Docker (compose), mate!
--- ---
# Wallabag # Wallabag

View File

@@ -1,5 +1,5 @@
--- ---
description: A self-hosted Trello title: Run Wekan under Docker
--- ---
# Wekan # Wekan

View File

@@ -1,5 +1,6 @@
--- ---
description: Terminal in a browser, baby! title: Use wetty under Docker for SSH in the browser
description: Use weTTY to run a terminal in a browser, baby!
--- ---
# Wetty # Wetty

405
mkdocs copy.yml Normal file
View File

@@ -0,0 +1,405 @@
site_name: Funky Penguin's Geek Cookbook
site_description: 'The Geek Cookbook is a collection of guides for establishing your own highly-available docker container cluster (swarm). This swarm enables you to run self-hosted services such as GitLab, Plex, NextCloud, etc.'
site_author: 'David Young'
site_url: 'https://geek-cookbook.funkypenguin.co.nz'
edit_uri: 'edit/master/manuscript/'
# Fail to build if we have broken links
# strict: true
# Repository
repo_name: 'geek-cookbook'
repo_url: 'https://github.com/geek-cookbook/geek-cookbook'
# Set this to "manuscript" so that we can produce leanpub content
docs_dir: 'manuscript'
# Copyright
copyright: 'Copyright © 2016 - 2021 David Young, Funky Penguin Limited'
# Plugins
plugins:
privacy:
search:
minify:
minify_html: true
git-revision-date-localized:
type: date
autolinks:
macros:
verbose: true
# htmlproofer:
# raise_error: True
# raise_error_excludes:
# 504: ['https://www.mkdocs.org/']
# 404: ['https://github.com/manuzhang/mkdocs-htmlproofer-plugin']
# 400: ['*']
git-committers:
repository: geek-cookbook/geek-cookbook
token: !ENV GH_TOKEN
meta-descriptions: # If not provided, auto-generate a description (https://pypi.org/project/mkdocs-meta-descriptions-plugin/)
#theme_dir: mkdocs-material
nav:
- Home: index.md
- Docker Swarm:
- docker-swarm/index.md
- Preparation:
- Design: docker-swarm/design.md
- Nodes: docker-swarm/nodes.md
- Shared Storage (Ceph): docker-swarm/shared-storage-ceph.md
- Shared Storage (GlusterFS): docker-swarm/shared-storage-gluster.md
- Keepalived: docker-swarm/keepalived.md
- Docker Swarm Mode: docker-swarm/docker-swarm-mode.md
- Traefik: docker-swarm/traefik.md
- Traefik Forward Auth:
- docker-swarm/traefik-forward-auth/index.md
- Dex (static): docker-swarm/traefik-forward-auth/dex-static.md
- Google: docker-swarm/traefik-forward-auth/google.md
- KeyCloak: docker-swarm/traefik-forward-auth/keycloak.md
- Authelia: docker-swarm/authelia.md
- Registry: docker-swarm/registry.md
- Mail Server: recipes/mail.md
- Duplicity: recipes/duplicity.md
- Chef's Favorites:
- Auto Pirate:
- recipes/autopirate/index.md
- Headphones: recipes/autopirate/headphones.md
- Heimdall: recipes/autopirate/heimdall.md
- Jackett: recipes/autopirate/jackett.md
- Lazy Librarian: recipes/autopirate/lazylibrarian.md
- Lidarr: recipes/autopirate/lidarr.md
- Mylar: recipes/autopirate/mylar.md
- NZBGet: recipes/autopirate/nzbget.md
- NZBHydra: recipes/autopirate/nzbhydra.md
- Prowlarr: recipes/autopirate/prowlarr.md
- Ombi: recipes/autopirate/ombi.md
- Radarr: recipes/autopirate/radarr.md
- Readarr: recipes/autopirate/readarr.md
- Rtorrent: recipes/autopirate/rtorrent.md
- SABnzbd: recipes/autopirate/sabnzbd.md
- Sonarr: recipes/autopirate/sonarr.md
- End: recipes/autopirate/end.md
- Emby: recipes/emby.md
- Home Assistant: recipes/homeassistant.md
- Huginn: recipes/huginn.md
- Jellyfin: recipes/jellyfin.md
- Kanboard: recipes/kanboard.md
- KeyCloak:
- recipes/keycloak/index.md
- Users: recipes/keycloak/create-user.md
- OIDC Provider: recipes/keycloak/setup-oidc-provider.md
- OpenLDAP: recipes/keycloak/authenticate-against-openldap.md
- Miniflux: recipes/miniflux.md
- Munin: recipes/munin.md
- NextCloud: recipes/nextcloud.md
- phpIPAM: recipes/phpipam.md
- Plex: recipes/plex.md
- Portainer: recipes/portainer.md
- PrivateBin: recipes/privatebin.md
- Restic: recipes/restic.md
- Swarmprom: recipes/swarmprom.md
- Recipes:
- Archive Box: recipes/archivebox.md
- Bitwarden: recipes/bitwarden.md
- Bookstack: recipes/bookstack.md
- Calibre-Web: recipes/calibre-web.md
- Collabora Online: recipes/collabora-online.md
- CyberChef: recipes/cyberchef.md
- Duplicati: recipes/duplicati.md
- ElkarBackup: recipes/elkarbackup.md
- Funkwhale: recipes/funkwhale.md
- Ghost: recipes/ghost.md
- GitLab: recipes/gitlab.md
- GitLab Runner: recipes/gitlab-runner.md
- Gollum: recipes/gollum.md
- InstaPy: recipes/instapy.md
- KeyCloak:
- recipes/keycloak/index.md
- Users: recipes/keycloak/create-user.md
- OIDC Provider: recipes/keycloak/setup-oidc-provider.md
- OpenLDAP: recipes/keycloak/authenticate-against-openldap.md
- Komga: recipes/komga.md
- Linx: recipes/linx.md
- Mealie: recipes/mealie.md
- Minio: recipes/minio.md
- NightScout: recipes/nightscout.md
- OpenLDAP: recipes/openldap.md
- OwnTracks: recipes/owntracks.md
- Photoprism: recipes/photoprism.md
- Paperless NG: recipes/paperless-ng.md
- Portainer: recipes/portainer.md
- Realms: recipes/realms.md
- Restic: recipes/restic.md
- RSS Bridge: recipes/rss-bridge.md
- Tiny Tiny RSS: recipes/tiny-tiny-rss.md
- Traefik: docker-swarm/traefik.md
- Traefik Forward Auth:
- docker-swarm/traefik-forward-auth/index.md
- Dex (static): docker-swarm/traefik-forward-auth/dex-static.md
- Google: docker-swarm/traefik-forward-auth/google.md
- KeyCloak: docker-swarm/traefik-forward-auth/keycloak.md
- Wallabag: recipes/wallabag.md
- Wekan: recipes/wekan.md
- Wetty: recipes/wetty.md
- Reference:
- OAuth Proxy: reference/oauth_proxy.md
- Data Layout: reference/data_layout.md
- Networks: reference/networks.md
- OpenVPN : reference/openvpn.md
- Troubleshooting: reference/troubleshooting.md
- ⛴ Kubernetes:
- Preparation:
- kubernetes/index.md
- Introduction: kubernetes/index.md
- Cluster:
- kubernetes/cluster/index.md
- Digital Ocean: kubernetes/cluster/digitalocean.md
# - Bare Metal: kubernetes/cluster/baremetal.md
# - Home Lab: kubernetes/cluster/baremetal.md
- k3s: kubernetes/cluster/k3s.md
# - The Hard Way: kubernetes/cluster/the-hard-way.md
- Deployment:
- kubernetes/deployment/index.md
# - YAML: kubernetes/wip.md
# - Helm: kubernetes/wip.md
# - GitHub Actions: kubernetes/wip.md
- Flux:
- kubernetes/deployment/flux/index.md
- Install: kubernetes/deployment/flux/install.md
- Design: kubernetes/deployment/flux/design.md
- Operate: kubernetes/deployment/flux/operate.md
- Essentials:
- Load Balancer:
- kubernetes/loadbalancer/index.md
- k3s: kubernetes/loadbalancer/k3s.md
- MetalLB:
- kubernetes/loadbalancer/metallb/index.md
- pfSense: kubernetes/loadbalancer/metallb/pfsense.md
- Sealed Secrets: kubernetes/sealed-secrets.md
- External DNS: kubernetes/external-dns.md
- SSL Certificates:
- kubernetes/ssl-certificates/index.md
- Cert-Manager: kubernetes/ssl-certificates/cert-manager.md
- LetsEncrypt Issuers: kubernetes/ssl-certificates/letsencrypt-issuers.md
- Wildcard Certificate: kubernetes/ssl-certificates/wildcard-certificate.md
- Secret Replicator: kubernetes/ssl-certificates/secret-replicator.md
- Ingress:
- kubernetes/ingress/index.md
- Traefik:
- kubernetes/ingress/traefik/index.md
# - Dashboard: kubernetes/ingress/traefik/dashboard.md
- Nginx: kubernetes/ingress/nginx.md
- Persistence:
- kubernetes/persistence/index.md
- Local Path Provisioner: kubernetes/persistence/local-path-provisioner.md
- TopoLVM: kubernetes/persistence/topolvm.md
# - Rook Ceph: kubernetes/persistence/rook-ceph.md
# - OpenEBS: kubernetes/persistence/openebs.md
# - LongHorn: kubernetes/persistence/longhorn.md
# - Backup:
# - kubernetes/backup/index.md
# - kubernetes/wip.md
# - Logging:
# - fluent-bit, graylog, etc.
# - Monitoring:
# - kubernetes/monitoring/index.md
# - Prometheus: kubernetes/wip.md
# - Grafana: kubernetes/wip.md
# - AlertManager: kubernetes/wip.md
# - Goldilocks: kubernetes/wip.md
# - Reloader: kubernetes/wip.md
# - Dashboard: kubernetes/wip.md
# - Kured: kubernetes/wip.md
# - KeyCloak: kubernetes/wip.md
# - Recipes:
# - Harbor:
# - recipes/kubernetes/harbor/index.md
# Istio: recipes/kubernetes/harbor/istio.md
# - GitHub Actions Runners: kubernetes/wip.md
# - Cilium: kubernetes/wip.md
# - Concourse: kubernetes/wip.md
# - Flagger: kubernetes/wip.md
# - Flagger: kubernetes/wip.md
# - Flux: recipes/kubernetes/wip.md
# - FoundationDB: kubernetes/wip.md
# - Istio: recipes/kubernetes/wip.md
# - Jaeger: kubernetes/wip.md
# - Kiali: kubernetes/wip.md
# - Minio: kubernetes/wip.md
# - NGINX Ingress: kubernetes/wip.md
# - Polaris: kubernetes/wip.md
# - Portainer: kubernetes/wip.md
# - Prometheus: kubernetes/wip.md
# - Traefik: kubernetes/wip.md
# - Vault: kubernetes/wip.md
# - Webook Receiver: kubernetes/wip.md
- 🚀 Get Premix!:
- premix/index.md
- Operation: premix/ansible/operation.md
- Design: premix/ansible/design.md
# - Swarm: premix/swarm.md
# - Kubernetes: premix/kubernetes.md
- CHANGELOG: CHANGELOG.md
- Support: support.md
- Contribute: community/contribute.md
- Community:
- Discord: community/discord.md
- Reddit: community/reddit.md
- Support: support.md
- Contribute: community/contribute.md
- Code of Conduct: community/code-of-conduct.md
# # - Discourse: community/discourse.md
# # - GitHub: community/github.md
theme:
name: 'material'
custom_dir: 'overrides'
# disqus: 'geeks-cookbook'
logo: 'images/site-logo.svg'
favicon: 'images/site-logo.svg'
features:
- navigation.tabs
- navigation.tabs.sticky
- navigation.instant
- navigation.sections
- navigation.indexes
- navigation.top
- navigation.pruning
- search.suggest
- search.share
- content.code.annotate
- header.autohide
- announce.dismiss
- toc.follow
icon:
repo: 'fontawesome/brands/github'
palette:
# Palette toggle for automatic mode
- media: "(prefers-color-scheme)"
toggle:
icon: material/brightness-auto
name: Switch to light mode
# Toggle light mode
- media: "(prefers-color-scheme: light)"
scheme: default
primary: 'black'
accent: 'orange'
toggle:
icon: material/toggle-switch
name: Burn my eyes!
# Toggle dark mode
- media: "(prefers-color-scheme: dark)"
scheme: slate
primary: 'black'
accent: 'orange'
toggle:
icon: material/toggle-switch-off-outline
name: Love my eyes!
font:
text: 'Ubuntu'
code: 'Ubuntu Mono'
extra:
social:
- icon: 'fontawesome/brands/github'
link: 'https://github.com/funkypenguin'
- icon: 'fontawesome/brands/twitter'
link: 'https://twitter.com/funkypenguin'
- icon: 'fontawesome/brands/stack-overflow'
link: 'https://stackoverflow.com/cv/funkypenguin'
- icon: 'material/rss'
link: 'https://www.funkypenguin.co.nz/'
- icon: 'fontawesome/brands/linkedin'
link: 'https://www.linkedin.com/in/funkypenguin'
- icon: 'material/mailbox'
link: 'mailto:davidy@funkypenguin.co.nz?Subject=Hello%2C%20from%20a%20geek-cookbook%20reader%20%3B%29'
generator: false
# Plausible doesn't use cookies, so no need for this!
# consent:
# title: 'Would you like a cookie? 🍪'
# description: >
# I know. cookies suck (<I>except the fresh, warm, choc-chip ones!</I>), and so does invasive tracking. Thing is, without cookies,
# analytics can't record your visit, and I can't work out where/how to invest time to make the cookbook better.
# <p>So, with your consent, I'd like to record what you look at and where you're from, so that I can make the
# cookbook even better. My analytics are public - here's <A HREF='https://plausible.io/geek-cookbook.funkypenguin.co.nz' target="_blank">all</A> I know about you! - David</p>
# cookies:
# custom: Plausible Analytics
analytics:
provider: plausible
data_domain: geek-cookbook.funkypenguin.co.nz
feedback:
title: Was this page helpful?
ratings:
- icon: material/emoticon-happy-outline
name: This page was helpful
data: 1
note: >-
Thanks for your feedback!
- icon: material/emoticon-sad-outline
name: This page could be improved
data: 0
note: >-
Thanks for your feedback!
# Help us improve this page by
# using our <a href="..." target=_blank>feedback form</a>.
extra_css:
- extras/css/icons.css
extra_javascript:
- extras/javascript/discord.js
- extras/javascript/sortable-tables.js
- extras/javascript/feedback.js
- https://cdnjs.cloudflare.com/ajax/libs/tablesort/5.2.1/tablesort.min.js
# Extensions
markdown_extensions:
- attr_list
- admonition
- codehilite:
linenums: true
- toc:
permalink: true
- footnotes
- pymdownx.critic
- pymdownx.arithmatex
- pymdownx.betterem:
smart_enable: all
- pymdownx.caret
- pymdownx.details
- pymdownx.snippets:
check_paths: true
base_path: _snippets
- pymdownx.emoji:
emoji_index: !!python/name:materialx.emoji.twemoji
emoji_generator: !!python/name:materialx.emoji.to_svg
- pymdownx.inlinehilite
- pymdownx.magiclink:
repo_url_shorthand: true
user: funkypenguin
repo: geek-cookbook
- pymdownx.mark
- pymdownx.smartsymbols
- pymdownx.superfences:
custom_fences:
- name: mermaid
class: mermaid
format: !!python/name:pymdownx.superfences.fence_code_format
- pymdownx.tasklist:
custom_checkbox: true
- pymdownx.tilde
- pymdownx.tabbed
- meta
- md_in_html

View File

@@ -13,7 +13,7 @@ plugins:
back_cover: true back_cover: true
#cover_title: TITLE TEXT #cover_title: TITLE TEXT
#cover_subtitle: SUBTITLE TEXT #cover_subtitle: SUBTITLE TEXT
#custom_template_path: TEMPLATES PATH # custom_template_path: pdf_templates
#toc_title: TOC TITLE TEXT #toc_title: TOC TITLE TEXT
#heading_shift: true #heading_shift: true
toc_level: 3 toc_level: 3
@@ -30,10 +30,16 @@ plugins:
text: ALTERNATE TEXT text: ALTERNATE TEXT
- src: ... - src: ...
# two_columns_level: 3 # two_columns_level: 3
render_js: true render_js: false
# headless_chrome_path: headless-chromium headless_chrome_path: /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
output_path: funky-penguins-geek-cookbook.pdf output_path: funky-penguins-geek-cookbook.pdf
debug_html: true debug_html: true
show_anchors: true show_anchors: true
verbose: true verbose: true
extra_css: []
extra_javascript: []
theme:
font: false

Binary file not shown.

528
print-preview.html Normal file

File diff suppressed because one or more lines are too long

1
sample Submodule

Submodule sample added at ccf20e5a12

View File

@@ -2,9 +2,9 @@
set -e set -e
# docker build --build-arg FROM_SOURCE=ghcr.io/geek-cookbook/mkdocs-material-insiders . -t funkypenguin/mkdocs-material --platform amd64 # docker build --build-arg FROM_SOURCE=ghcr.io/geek-cookbook/mkdocs-material-insiders . -t funkypenguin/mkdocs-material --platform amd64
# Prepare slimmed-down versions for PDFing # Prepare slimmed-down versions for PDFing (replace gsed with sed for linux)
cp -rf manuscript docs_to_pdf cp -rf manuscript docs_to_pdf
find docs_to_pdf -type f -exec sed -i -e 's/recipe-footer.md/common-links.md/g' {} \; find docs_to_pdf -type f -exec gsed -i -e 's/recipe-footer.md/common-links.md/g' {} \;
# Build PDF from slimmed recipes # Build PDF from slimmed recipes
docker run --rm --name mkdocs-material -e ENABLE_PDF_EXPORT=1 -v ${PWD}/docs_to_pdf:/docs funkypenguin/mkdocs-material build -f mkdocs-pdf-print.yml docker run --rm --name mkdocs-material -e ENABLE_PDF_EXPORT=1 -v ${PWD}/docs_to_pdf:/docs funkypenguin/mkdocs-material build -f mkdocs-pdf-print.yml

1
templates/cover.html Normal file
View File

@@ -0,0 +1 @@
I am a cover!

45
templates/styles.scss Normal file
View File

@@ -0,0 +1,45 @@
@media print {
html {
font-size: 95%;
font-family: 'Ubuntu';
}
body {
font-size: 11.5pt;
font-family: 'Ubuntu';
}
article {
font-size: 0.8rem;
line-height: 1.6;
}
h1,
h2,
h3,
h4,
h5,
h6,
label {
font-family: 'Gentium Book Basic', 'Helvetica Neue', Helvetica, Arial, 'Noto Sans JP', 'Roboto', sans-serif;
}
pre,
code,
var,
samp,
kbd,
tt {
font-family: 'Noto Sans Mono CJK JP', 'Courier New', monospace, serif;
font-size: 0.8em;
}
pre code,
pre var,
pre samp,
pre kbd,
pre tt {
font-size: 100%;
}
}