Metainformationen zur Seite
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
markdown [2021/06/13 15:50] – cb | markdown [2022/11/13 13:20] (aktuell) – [Markdown und Co.] cb | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
==== Markdown und Co. ==== | ==== Markdown und Co. ==== | ||
- | Zur Zeit teste ich, ob der Workflow mit Markdown | + | Inzwischen (Nov 2022) steht für mich fest, dass ich mit einem Workflow, in dem ich meine Texte in Markdown schreibe und dann als HTML und PDF audgeben kann sehr gut zurecht komme. |
- | [[https:// | + | Die Grundidee |
- | Dienste wie z.B. Github zeigen | + | Weitere Artikel in dieser Serie: [[webfonts|moderne Web-Fonts-Nutzung]] |
+ | ===Idee=== | ||
+ | [[https:// | ||
- | | + | Persönlicher Bedarf: Ich verfasse für den Physik/ |
- | * Ein Konvertierungssoftware | + | |
+ | ===Praxis=== | ||
+ | Dienste wie z.B. Github zeigen Markdown-Dateien automatisch als gut aussehendes HTML an. Aber jeder kann selbst Tools einzusetzen, | ||
+ | |||
+ | | ||
+ | * Die Konvertierungssoftware [[https:// | ||
* Den Ausdruck der HTML-Datei in eine PDF-Datei erledigt der [[https:// | * Den Ausdruck der HTML-Datei in eine PDF-Datei erledigt der [[https:// | ||
- | Pandoc alleine erzeugt eine korrekte, aber nicht so hübsche HTML-Datei. Aber man kann mit der Kommandozeilenoption '' | + | Pandoc alleine erzeugt eine korrekte, aber nicht so hübsche HTML-Datei. Aber man kann mit der Kommandozeilenoption '' |
Chromium/ | Chromium/ | ||
- | Wer ein wenig experimentieren möchte: Hier der aktuelle Stand... | + | Inzwischen werden mehrere Dateien inkludiert, die CSS-Zeilen regelmäßig ergänzt sowie der Aufruf von Pandoc und Chrome per Skript automatisiert. Deshalb benötige ich einen Prozess um diesen Workflow auf mehreren Rechnern identisch durchführen zu können: |
+ | * Ich erstelle dazu ein Dockerimage, | ||
+ | * als Backup an andere Rechner (bei mir sowohl Linux- als auch Windows10-Rechner) weitergegeben und | ||
+ | * dort geladen wird. | ||
+ | * Ein Pythonskript in dem dockerimage überwacht z.B. das aktuelle Verzeichnis und konvertiert eine zu neue md-Datei sofort in html und pdf, so dass man sich Resultate gleich ansehen kann. | ||
+ | |||
+ | Die Vorgehensweise wird in der nächsten Zeit hier dokumentiert. | ||
+ | ===Technisches=== | ||
+ | Stand von 2021 - Aktualisierung Ende 2022 folgt... | ||
+ | |||
+ | Wer ein wenig experimentieren möchte | ||
+ | |||
+ | |||
+ | Bash-Datei, die mit dem Namen der md-Datei aufgerufen wird. Dann werden sowohl eine HTML- als auch eine PDF-Datei erzeugt. Pandoc installiert? | ||
+ | <file bash md2html> | ||
+ | # | ||
+ | if [[ " | ||
+ | then | ||
+ | echo " | ||
+ | exit | ||
+ | fi | ||
+ | |||
+ | rumpf=" | ||
+ | ext=" | ||
+ | echo $rumpf . $ext | ||
+ | [[ " | ||
+ | |||
+ | pandoc -s -o " | ||
+ | |||
+ | firefox " | ||
+ | |||
+ | chromium --headless --disable-gpu | ||
+ | --run-all-compositor-stages-before-draw --print-to-pdf-no-header --no-margins \ | ||
+ | --print-to-pdf=${rumpf}.pdf ${rumpf}.html | ||
+ | |||
+ | </ | ||
+ | footer.txt ist ein HTML-Schnipsel - bei mir im Original mit einem base64-kodierten Bildchen. | ||
+ | <file html4strict footer.txt> | ||
+ | <div id=" | ||
+ | Christian Bienmüller <img style=" | ||
+ | .... | ||
+ | YOX/ | ||
+ | </ | ||
+ | </ | ||
+ | doku.css enthält alle Formatierungen und, da sie 1:1 in den Header geschrieben wird, auch die Zeilen ''< | ||
+ | <file css doku.css> | ||
+ | <style type=" | ||
+ | body { | ||
+ | margin: auto; | ||
+ | padding-right: | ||
+ | padding-left: | ||
+ | max-width: 44em; | ||
+ | border-left: | ||
+ | border-right: | ||
+ | font-family: | ||
+ | font-size: 100%; | ||
+ | line-height: | ||
+ | color: #333; | ||
+ | } | ||
+ | pre { | ||
+ | border: 1px dotted gray; | ||
+ | background-color: | ||
+ | color: #1111111; | ||
+ | padding: 0.5em; | ||
+ | } | ||
+ | blockquote { | ||
+ | border-left: | ||
+ | padding-left: | ||
+ | margin: 10px 20px 10px 10px; | ||
+ | } | ||
+ | code { | ||
+ | font-family: | ||
+ | background-color: | ||
+ | |||
+ | } | ||
+ | a { color: #005ce6} | ||
+ | .footnote-ref {text-decoration: | ||
+ | |||
+ | h1 a, h2 a, h3 a, h4 a, h5 a { | ||
+ | text-decoration: | ||
+ | color: #005ce6; | ||
+ | } | ||
+ | h1, h2, h3, h4, h5 { font-family: | ||
+ | | ||
+ | | ||
+ | |||
+ | h1, h2, h3 { | ||
+ | border-bottom: | ||
+ | } | ||
+ | h1 { | ||
+ | font-size: 130%; | ||
+ | counter-reset: | ||
+ | } | ||
+ | |||
+ | h1: | ||
+ | page-break-before: | ||
+ | } | ||
+ | |||
+ | h2 { | ||
+ | font-size: 115%; | ||
+ | } | ||
+ | |||
+ | h3 { | ||
+ | font-size: 105%; } | ||
+ | |||
+ | h4 { | ||
+ | font-size: 95%; | ||
+ | font-style: italic; } | ||
+ | |||
+ | h5 { | ||
+ | font-size: 90%; | ||
+ | font-style: italic; } | ||
+ | |||
+ | h1.title { | ||
+ | font-size: 200%; | ||
+ | font-weight: | ||
+ | padding-top: | ||
+ | padding-bottom: | ||
+ | text-align: left; | ||
+ | border: none; } | ||
+ | |||
+ | dt code { | ||
+ | font-weight: | ||
+ | |||
+ | dd p { | ||
+ | margin-top: 0; } | ||
+ | |||
+ | footer, #footer { | ||
+ | padding-top: | ||
+ | font-size: 70%; | ||
+ | color: gray; | ||
+ | text-align: center; } | ||
+ | |||
+ | table { | ||
+ | font-family: | ||
+ | border-collapse: | ||
+ | width: 100%; } | ||
+ | |||
+ | td, th { | ||
+ | border: 1px solid #ddd; | ||
+ | padding: 8px; | ||
+ | } | ||
+ | |||
+ | td: | ||
+ | font-weight: | ||
+ | |||
+ | tr: | ||
+ | background-color: | ||
+ | |||
+ | tr:hover {background-color: | ||
+ | |||
+ | th { | ||
+ | padding-top: | ||
+ | padding-bottom: | ||
+ | text-align: left; | ||
+ | background-color: | ||
+ | font-weight: | ||
+ | color: white; | ||
+ | |||
+ | .footnotes li { | ||
+ | font-style: italic; | ||
+ | font-size: | ||
+ | /* Formatierung des Table Of Contents */ | ||
+ | #TOC { | ||
+ | float: right; | ||
+ | max-width: 35%; | ||
+ | font-size: | ||
+ | margin-left: | ||
+ | padding-left: | ||
+ | padding-right: | ||
+ | background-color: | ||
+ | border: 1px solid grey; | ||
+ | } | ||
+ | # | ||
+ | font-weight: | ||
+ | content: " | ||
+ | } | ||
+ | #TOC ul { | ||
+ | margin: 0em; | ||
+ | padding: 0em; | ||
+ | padding-left: | ||
+ | } | ||
+ | #TOC a, | ||
+ | #TOC a:visited { | ||
+ | text-decoration: | ||
+ | } | ||
+ | |||
+ | /* ========================================================================== | ||
+ | Print styles. Zum Drucken im Browser und für PDF-Export relevant | ||
+ | | ||
+ | |||
+ | @media print { | ||
+ | body { | ||
+ | font-size: 90%; | ||
+ | max-width: | ||
+ | border: 0; | ||
+ | } | ||
+ | |||
+ | *, | ||
+ | *:: | ||
+ | *::after { | ||
+ | /* background: #fff !important; */ | ||
+ | /* color: #000 !important; */ | ||
+ | /* Black prints faster */ | ||
+ | box-shadow: none !important; | ||
+ | text-shadow: | ||
+ | } | ||
+ | h1, h2 { color: | ||
+ | h3, h4, h5 { color: grey; } | ||
+ | |||
+ | th { background: grey;} | ||
- | #!/bin/bash | + | |
- | | + | a:visited { |
- | | + | color: grey; |
- | echo "Dateiname.md als Parameter fehlt" | + | text-decoration: |
- | | + | } |
- | | + | /* Inhaltsverzeichnis */ |
+ | /* -> besteht nur aus Links, müssen aber daher nicht so formatiert sein */ | ||
+ | | ||
+ | #TOC a:visited { | ||
+ | color: black; | ||
+ | text-decoration: | ||
+ | } | ||
+ | | ||
+ | | ||
+ | background-color: | ||
+ | } | ||
+ | |||
+ | /* Print the URL of most links */ | ||
+ | a[href]:: | ||
+ | content: | ||
+ | font-size: 80%; | ||
+ | } | ||
+ | /* Don't print internal links or links that use the `javascript: | ||
+ | a[href^="#"]::after, | ||
+ | | ||
+ | | ||
+ | | ||
- | | + | |
- | ext="${1## | + | |
- | echo $rumpf . $ext | + | } |
- | [[ "$ext" | + | |
- | | + | |
+ | white-space: pre-wrap !important; | ||
+ | border: 1px solid #999; | ||
+ | page-break-inside: avoid; | ||
+ | } | ||
+ | |||
+ | blockquote { | ||
+ | border-left: 4px solid grey; | ||
+ | padding-left: 6px; | ||
+ | } | ||
+ | |||
+ | tr, | ||
+ | img { | ||
+ | page-break-inside: | ||
+ | } | ||
- | | + | |
+ | page-break-after: | ||
+ | | ||
+ | } /* ENDE der Printstyles */ | ||
- | chromium --headless --disable-gpu | + | </ |
- | | + | </ |
- | --print-to-pdf=${rumpf}.pdf ${rumpf}.html | + | |
+ | {{tag> |