mirror of
https://github.com/vale981/website
synced 2025-03-06 10:01:40 -05:00
57 lines
1.6 KiB
Markdown
57 lines
1.6 KiB
Markdown
|
+++
|
||
|
title = "Neuseeland Restauration"
|
||
|
author = ["Valentin Boettcher"]
|
||
|
date = 2021-08-03T14:53:00+02:00
|
||
|
categories = ["Uncategorized"]
|
||
|
draft = false
|
||
|
+++
|
||
|
|
||
|
Zwar lagen mir die Neuseeland-Blog posts als `markdown` quelle vor,
|
||
|
jedoch hatte ich den Erstellungszeitpunk unvorteilhafter Weise aus den
|
||
|
Dateisystem-Metadaten[^fn:1] ausgelesen. Nach der Neuinstallation meines
|
||
|
servers vor ein paar Jahren waren diese Metadaten vollends verloren.
|
||
|
|
||
|
Meine erste Idee war zu versuchen die Zeitpunkte anhand der Email
|
||
|
Newsletter zu rekonstruieren. Auf diesem Wege versprach ich mir jedoch
|
||
|
keinen baldigen Erfolg da mein eigenes Email Archiv nicht soweit
|
||
|
zurueckreicht.
|
||
|
|
||
|
Zu meiner grossen Freude war letztendlich gar keine aufwaendige
|
||
|
Archeologie notwendig, da ich damals ausversehen einmal meinen Blog
|
||
|
Index in `git` eingecheckt hatte.
|
||
|
|
||
|
```shell
|
||
|
$ git show b1cf78b7182f0364343d2a87a1b361e7dc833688^1:data/indexes/post.json
|
||
|
```
|
||
|
|
||
|
Und schon hattte ich die ganze Suppe (sogar vollstaendig) in einem
|
||
|
maschinenlesbaren Format.
|
||
|
|
||
|
Ein wenig python verwandelte das ganze in das neue Blog format.
|
||
|
|
||
|
```python
|
||
|
import sys
|
||
|
import json
|
||
|
import datetime
|
||
|
|
||
|
with open(sys.argv[1], "r") as f:
|
||
|
data = json.load(f)
|
||
|
|
||
|
for post in data:
|
||
|
export_name = (post["content"]).split("/")[-1][:-5]
|
||
|
with open(post["content"][1:], "r") as cont:
|
||
|
content = cont.read()
|
||
|
date = datetime.datetime.strptime(post["created"], "%Y-%m-%dT%H:%M:%S.%fZ")
|
||
|
print(
|
||
|
f"""
|
||
|
*** {post["title"]}
|
||
|
:PROPERTIES:
|
||
|
:EXPORT_FILE_NAME: {export_name}
|
||
|
:EXPORT_DATE: [{date}]
|
||
|
:END:
|
||
|
{content}""")
|
||
|
```
|
||
|
|
||
|
Und damit koennt ihr nun unter [Neuseeland](posts/.org) die alten posts lesen.
|
||
|
|
||
|
[^fn:1]: `ctime`, creation time
|