Auf einer alten Festplatte liegen noch Tomboy-Notizen aus früheren Linux-Zeiten? Auch wenn Tomboy heute kaum noch genutzt wird, können die .note-Dateien wertvolle Projektnotizen und Erinnerungen enthalten. Ich wollte diese alten Daten retten und in Joplin übernehmen. Der Zwischenschritt: Markdown.
1. Tomboy nach Markdown konvertieren
Dafür gibt es das Python-Skript tomboy2markdown.py. Unter Debian/Ubuntu zunächst die Voraussetzung installieren:
sudo apt install python3 python3-dateutil
Das heruntergeladene Skript liegt im Beispiel unter ~/Scripts/tomboy2markdown.py, die gesicherten Notizen unter ~/Tomboy-Alt/:
mkdir -p ~/Tomboy-Markdown
python3 ~/Scripts/tomboy2markdown.py ~/Tomboy-Alt/ -o ~/Tomboy-Markdown/ -r
2. Wenn alte Notizen einen XML-Fehler auslösen
Bei meinen alten Dateien stoppte die Konvertierung mit der Meldung:
xml.sax._exceptions.SAXParseException:
reference to invalid character number
Ursache war unter anderem die Zeichenreferenz  in Tomboy-Dateien. Sie steht für das Steuerzeichen „Backspace“, das in XML 1.0 nicht zulässig ist. Die Meldungen über übersprungene Notizbuchvorlagen sind dagegen normal.
3. Sicherheitskopie erstellen und die betroffenen Dateien bereinigen
Wichtig: Zuerst die Originaldateien sichern; die folgenden Befehle verändern die Arbeitskopie.
cp -a ~/Tomboy-Alt ~/Tomboy-Backup
Wie viele Dateien die problematische Referenz enthalten, zeigt:
grep -rl '' ~/Tomboy-Alt --include='*.note' | wc -l
Für diesen konkreten Fehler kann man  durch den gültigen XML-Zeilenumbruch 
 ersetzen:
find ~/Tomboy-Alt -type f -name '*.note' \
-exec sed -i 's//\
/g' {} +
Das ist eine pragmatische Reparatur, keine exakte Rekonstruktion der ursprünglichen Formatierung. Andere XML-Fehler werden dadurch nicht behoben.
4. Erneut konvertieren und in Joplin importieren
python3 ~/Scripts/tomboy2markdown.py ~/Tomboy-Alt/ -o ~/Tomboy-Markdown/ -r
Danach in Joplin Datei → Importieren → MD – Markdown (Verzeichnis) wählen und ~/Tomboy-Markdown/ auswählen.
Zur Kontrolle lohnt sich ein Vergleich der Dateianzahlen:
find ~/Tomboy-Alt -name '*.note' | wc -l
find ~/Tomboy-Markdown -name '*.md' | wc -l
Die Zahlen müssen nicht identisch sein, weil der Konverter etwa Notizvorlagen überspringt. Außerdem sollten einige Notizen stichprobenartig geprüft werden: Interne Tomboy-Links, Tags und ursprüngliche Zeitstempel werden beim normalen Markdown-Import nicht unbedingt als Joplin-Metadaten übernommen.