Labs Migration - jneubert/doc GitHub Wiki
Vorbereitung
auf der Live-Instanz (auf QS-Instanz ergeben sich zu viele Unterschiede)
- Fusszeilen mit rdf/nt/ttl-Links raus
- "Log in or register ..." auf den Seiten raus
- Suche raus
DONE
einmalige Generierung mit httrack
httrack --can-go-down zbw.eu/labs/
gibt es Optimierungpotential bei den Parametern?
DONE
alte Seiten (bis Ende 2023)
- Verzeichnisstruktur wie durch httrack erstellt bleibt komplett erhalten.
- in
/labs/.htaccesswird für nicht gefundene Seiten unterblognachen/blogredirected - in /.htaccess werden eine generelle Redirect-Regeln erstellt, die von {slug} auf {slug}.html redirected (weil es Links ohne .html gibt)
neue Seiten
für neue Inhalte werden nicht mehr verwendet
- sprachspezifiche Verzeichnisse (en)
- drupalspezifische Verzeichnisse (misc, modules, sites)
- das RDFa Markup (bleibt aber in alten Seiten stehen) und die Links auf die RDF-Versionen
aktive Verzeichnisstruktur
{neues Verzeichnis}/
- bin/ # Scripts
- labs/ # Wurzelverzeichnis des Webauftritts
- .htaccess # Redirects von {slug} auf {slug}.html (insbesondere für alte Seiten)
- index.html
- index.md # optional, für Ergänzung neuer Beiträge
- blog/ # ausschließlich für neue Beiträge
- {slug}/
- index.md
- index.html
- {slug}/
- en/ # old content - don't touch!
- project/ # (TODO - falls weiter Ergänzungen möglich sein sollen)
- tag/ # (TODO - falls weiter Ergänzungen möglich sein sollen)
- images/ # "neue" Images - ggf. symlinks auf bereits irgendwo gespeicherte, die in neuen Seiten verwendet werden
- styles/ # (TODO - ggf. eine css-Datei für neue Seiteninhalte erstellen)
- templates/ # Pandoc Templates
Workflow
- Text des reinen Blogbeitrags (ohne Seitenrahmen) wird in Markdown als
index.mdgeschrieben und korrigiert - Aus dem Titel wird (z.B. per slugify) ein Slug generiert, unter
blog/{slug}ein Verzeichnis angelegt undindex.mddort gespeichert. - Durch Pandoc (Aufruf als
bin/mk_page.sh {slug}) wird daraus per Template (mit dem Seitenrahmen in HTML) eine HTML-Seiteblog/{slug}/index.htmlgeneriert. - Als persistenter Link kann die URL ohne
/index.htmlkommuniziert werden. - (optional, noch nicht getestet) es gibt eine
/labs/index.md(zunächst als Kopie der HTML-Version!), in die händisch der verlinkte Titel und der Anreiser-Text des neuen Beitrags (in Markdown) eingesetzt werden. Pandoc lässt das HTML-Markup unberührt und konvertiert nur den Markdown-Anteil. - (todo) make-File zur Neugenerierung aller HTML-Seiten (wenn sich z.B. im Seitenrahmen-Template was geändert hat).
Eine Konvertierung alter Seiten in Markdown wird händisch sehr aufwendig, weil viele Drupal-HTML-Strukturen nicht erkannt werden (z.B. Tabellen).