[Erledigt] Offline-Wiki / Notizsammlung mit Darstellung von PDF-Anhängen

Du hast Probleme mit Deinem eMail-Programm, Webbrowser oder Textprogramm? Dein Lieblingsprogramm streikt?
Antworten
buhtz
Beiträge: 1098
Registriert: 04.12.2015 17:54:49
Kontaktdaten:

[Erledigt] Offline-Wiki / Notizsammlung mit Darstellung von PDF-Anhängen

Beitrag von buhtz » 14.07.2021 21:39:57

Aktuell sammle ich "Notizen" (z.B. Code-Schnippsel, HowTo's, etc) in einer klassischen Literaturverwaltungs-Software. Aber eigentlich passt das thematisch und auch methodisch (wie und wann ich da drauf zugreife) eigentlich nicht rein. Die Lit.Verw. ist eigentlich für meine wissenschafltiche Tätigkeit.

Debianzim und Alternativen hab ich schon gesehen, teilweise kurz angetestet und einiges gelesen.

Was ich suche ist eine Art "zip" / Offline-Wiki, bei dem ich zu den Einträgen auch PDF-Dateien anhängen/zuordnen kann und mir diese auch direkt, wie eingebettet, angezeigt werden. ICh möchte die PDFs nicht erst explizit öffnen müssen, wie bei einem E-Mail Anhang. Gibt es sowas?

Emacs OrgMode scheint sowas in der Richtung zu können?
Bin gerade erst von vim zu emacs umgestiegen. OrgMode steht noch auf meiner weit-entfernt-TODO-Liste. ;)
Würde lieber was "einfacheres" nehmen wollen. ;)
Zuletzt geändert von buhtz am 30.07.2021 11:20:38, insgesamt 2-mal geändert.
Debian 11 & 12; Desktop-PC, Headless-NAS, Raspberry Pi 4
Teil des Upstream Betreuer Teams von Back In Time (Debianbackintime)

Apfelmann
Beiträge: 669
Registriert: 15.01.2010 20:48:45
Kontaktdaten:

Re: Offline-Wiki / Notizsammlung mit Darstellung von PDF-Anhängen

Beitrag von Apfelmann » 15.07.2021 11:18:14

Ich benutze dafür Debianzim

LG

reox
Beiträge: 2459
Registriert: 06.06.2006 22:09:47
Lizenz eigener Beiträge: MIT Lizenz

Re: Offline-Wiki / Notizsammlung mit Darstellung von PDF-Anhängen

Beitrag von reox » 15.07.2021 12:43:25

buhtz hat geschrieben: ↑ zum Beitrag ↑
14.07.2021 21:39:57
Debianzip und Alternativen hab ich schon gesehen, teilweise kurz angetestet und einiges gelesen.
zip - das PKZIP archiv format? Wie funktioniert das als Wiki?

Mich würde das auch interessieren, insbesondere eine Variante die alles in einem git repo hat und ggf auch ein Android frontend hat.

buhtz
Beiträge: 1098
Registriert: 04.12.2015 17:54:49
Kontaktdaten:

Re: Offline-Wiki / Notizsammlung mit Darstellung von PDF-Anhängen

Beitrag von buhtz » 15.07.2021 13:27:20

Apfelmann hat geschrieben: ↑ zum Beitrag ↑
15.07.2021 11:18:14
Ich benutze dafür Debianzim
Das meinte ich. :D

Beim zim sehe ich aber keine Möglichkeiten PDFs einzubetten; ich kann sie nur anhängen bzw. Links zur PDF Datei einfügen.
Unter Einbetten verstehe ich, dass alle Seiten der PDF als Teil der Wiki-Seite gezeigt werden, so wie es mit einem Bild in einem <img> tag passieren würde.
Debian 11 & 12; Desktop-PC, Headless-NAS, Raspberry Pi 4
Teil des Upstream Betreuer Teams von Back In Time (Debianbackintime)

Benutzeravatar
MSfree
Beiträge: 10657
Registriert: 25.09.2007 19:59:30

Re: Offline-Wiki / Notizsammlung mit Darstellung von PDF-Anhängen

Beitrag von MSfree » 15.07.2021 13:35:39

buhtz hat geschrieben: ↑ zum Beitrag ↑
15.07.2021 13:27:20
Unter Einbetten verstehe ich, dass alle Seiten der PDF als Teil der Wiki-Seite gezeigt werden, so wie es mit einem Bild in einem <img> tag passieren würde.
Das geht ja schon bei online Wikis nicht. PDF läßt sich nunmal nicht einbetten, Browser öffnen PDF inzwischen zwar selbst, aber immer in einem eigenen Fenster oder Tab.

Da müßte man bei einem online Wiki serverseitig Debianimagemagick bemühen, um aus einem PDF Bilder (JPG, PNG, TIFF..) zu machen, die man dann dynamisch einbetten könnte.

buhtz
Beiträge: 1098
Registriert: 04.12.2015 17:54:49
Kontaktdaten:

Re: Offline-Wiki / Notizsammlung mit Darstellung von PDF-Anhängen

Beitrag von buhtz » 15.07.2021 14:06:21

MSfree hat geschrieben: ↑ zum Beitrag ↑
15.07.2021 13:35:39
Das geht ja schon bei online Wikis nicht. PDF läßt sich nunmal nicht einbetten
Kann ich nachvollziehen und hatte ich auch befürchtet. ;)

Welche Alternative habe ich dann im beispielsweise Seiten/Beiträge wie diese beiden hier zu "konservieren" und gleichzeitig lesbar (und am besten durchsuchbar) in einer Wissensammlung (Wiki oder ähnliches) zu haben?

https://stackoverflow.com/a/68377650/4865723

https://www.blog.pythonlibrary.org/2020 ... ng-python/
Debian 11 & 12; Desktop-PC, Headless-NAS, Raspberry Pi 4
Teil des Upstream Betreuer Teams von Back In Time (Debianbackintime)

Benutzeravatar
MSfree
Beiträge: 10657
Registriert: 25.09.2007 19:59:30

Re: Offline-Wiki / Notizsammlung mit Darstellung von PDF-Anhängen

Beitrag von MSfree » 15.07.2021 14:26:13

buhtz hat geschrieben: ↑ zum Beitrag ↑
15.07.2021 14:06:21
Welche Alternative habe ich dann im beispielsweise Seiten/Beiträge wie diese beiden hier zu "konservieren" und gleichzeitig lesbar (und am besten durchsuchbar) in einer Wissensammlung (Wiki oder ähnliches) zu haben?

https://stackoverflow.com/a/68377650/4865723

https://www.blog.pythonlibrary.org/2020 ... ng-python/
Das sind doch normale HTML-Seiten. Die kann man mit Debiancurl oder Debianwget runterladen, und da es mehr oder weniger ASCII ist, kann man auch Suchen darauf ansetzen. Den Umweg über PDF würde ich in diesem Fall als ziemlich unbequem bezeichnen.

Korodny
Beiträge: 704
Registriert: 09.09.2014 18:33:22
Lizenz eigener Beiträge: GNU Free Documentation License

Re: Offline-Wiki / Notizsammlung mit Darstellung von PDF-Anhängen

Beitrag von Korodny » 15.07.2021 22:56:00

Es gibt Wikis, die HTML direkt importieren können (ich meine CherryTree konnte das), Für Zim gibt es (das allerdings schon recht alte) html2zim, sowie die (fehlerhafte und seit zwei Jahren nicht mehr aktualisierte) Firefox-Erweiterung zim-clip. Allerdings ist HTML-Import aufgrund der Komplexität moderner Webseiten (Javascript, CSS oder Medien-Inhalte von dutzenden verschiedenen Servern, Seiteninhalte werden teils dynamisch im Browser generiert) oft ein Glücksspiel.

Meine persönliche Lösung:

Einfaches Copy/Paste plus von Hand nachbearbeiten. Für Text mit vielen Links, Listen oder Formatierungen habe ich die Firefox-Erweiterung Copy Selection as Markdown installiert - gewünschten Text markieren und per Context-Menü als Markdown im Clipboard speichern. Danach per selbstgebasteltem Menüpunkt Werkzeuge → Markdown einfügen in der aktuellen Seite einfügen. Die Seite wird nicht automatisch aktualisiert bzw. korrekt gerendert (ist ein Bug in Zim, meine ich) - also ein mal zu einer andere Seite wechseln und wieder zurück, dann stimmt die Darstellung.

Auf diese Weise landet nur der gewünschte Text (samt Überschriften, Fett/kursiv, Listen...) in Zim, nicht komplette Webseiten mit allen möglichem Ballast. Nacharbeiten von Hand ist i.d.R. nötig, aber damit kann ich leben.

Der selbst gebastelte Menüpunkt ruft ein Batch-Script auf, das seinerseits markdown2zim nutzt um Markdown in die Zim-Syntax zu konvertieren. Das Batch-Skript kann ich morgen posten, hab aber gerade noch einen Fehler gefunden und es ist schon arg spät.

buhtz
Beiträge: 1098
Registriert: 04.12.2015 17:54:49
Kontaktdaten:

Re: Offline-Wiki / Notizsammlung mit Darstellung von PDF-Anhängen

Beitrag von buhtz » 15.07.2021 23:47:12

Korodny hat geschrieben: ↑ zum Beitrag ↑
15.07.2021 22:56:00
Firefox-Erweiterung Copy Selection as Markdown installiert
Klingt nach einer super Lösung! Das probiere ich gerne.
Debian 11 & 12; Desktop-PC, Headless-NAS, Raspberry Pi 4
Teil des Upstream Betreuer Teams von Back In Time (Debianbackintime)

Korodny
Beiträge: 704
Registriert: 09.09.2014 18:33:22
Lizenz eigener Beiträge: GNU Free Documentation License

Re: Offline-Wiki / Notizsammlung mit Darstellung von PDF-Anhängen

Beitrag von Korodny » 16.07.2021 16:17:17

Unten noch das Batch-Script. Speichern und als ausführbar markieren. Einbinden in Zim mittels Werkzeuge → benutzerdefinierte Werkzeuge, neuen Eintrag erstellen, Haken bei "Ausgabe soll aktuelle Auswahl ersetzen", Name/Beschreibung/Symbol festlegen und folgende Befehlszeile angeben:

Code: Alles auswählen

<Pfad zum Script> "%d" CLIP
Dann wird der neu erstellte Menüpunkt den Inhalt des Clipboards von Markdown nach Zim konvertieren und an der Cursorposition einfügen. Wenn "CLIP" weggelassen wird, kannst du stattdessen eine (Markdown-)Datei auf Festplatte auswählen, die konvertiert und eingefügt wird. Ich hab zwei unterschiedliche Menüpunkte eingerichtet: ein mal für Clipboard, ein mal für Datei einfügen.

Beim Script unten muss in Zeile 8 der Pfad zu markdown2zim (s.o.) eingetragen werden. die anderen Abhängigkeiten sind im Header des Scripts aufgeführt.

Die Kombination aus Firefox-Plugin und markdown2zim konvertiert Überschriften, Absätze, Textstile, (unverschachtelte) Listen und Bilder. Bilder werden vom meinem Batch-Script heruntergeladen und im Anhangverzeichnis der aktuellen Zim-Seite gespeichert. Probleme hat die Lösung mit Code-Blöcken, verschachtelten Listen (werden in eine einzige große Liste konvertiert) und WIMRE Tabellen. Wie gesagt: etwas Nacharbeit ist meist nötig - aber dafür habe ich exakt den Inhalt den ich brauche. Und zwar im Zim-Stil, nicht eingebettet in eine komplette Webseite in irgendeinem überfrachteten Design.

(Disclaimer: jetzt wo ich das Skript sehe, bin ich mir nicht mehr sicher ob ich das nicht auch irgendwo im Netz gefunden und lediglich für meine Bedürfnisse angepasst habe. Ich wüsste aber nicht mehr wo ich das gefunden habe)

Code: Alles auswählen

#!/bin/bash
# Import a markdown document into current Zim page
# usage: Zim_ImportMarkdown <attachment dir of target ZIM entry> [CLIP]
#        (optional parameter "CLIP" inserts clipboard content, instead of
#        a file from disk)
# requires: markdown2zim.py, mkdir, sed, wget, xclip, zenity

md2zimPath="/home/christoph/PC/Projekte/Scripts/markdown2zim.py"

attachmentDir=$1
importClip=$2

if [ $importClip = "CLIP" ]; then
	sourceFile=$(mktemp)
	xclip -selection clipboard -o | cat >"$sourceFile"
else
	sourceFile=$(zenity --file-selection --title="Markdown importieren")
fi

if [ "$sourceFile" ]; then

	# convert markdown file to Zim

	tempFile=$(mktemp)
	python3 $md2zimPath "$sourceFile" -o "$tempFile" >/dev/null

	# parse resulting file for http image links
	# FIXME: two or more image links in one line?
	# FIXME: images in links not displayed → Zim error?

	httpList=$(mktemp)
	grep -i "{{http" "$tempFile" | cut -d'{' -f3 | cut -d'}' -f1 >$httpList

	# download images if httpList contains filenames

	if [ -s "$httpList" ]; then

		# create attachment directory, if neccessary

		if [ ! -d "$attachmentDir" ]; then
			mkdir "$attachmentDir"
		fi
	
		# download images
	
		while read currentFile  ; do
			wget "$currentFile" -q -P "$attachmentDir"

			# replace http... link in Zim file with ./... link

			imgName=$(basename -- "$currentFile")
			sed -i "s#{{$currentFile#{{./$imgName#g" "$tempFile"
		done <$httpList
	fi

	# output the finished text file so Zim can catch it

	cat "$tempFile"

	# clean up
	
	rm "$tempFile"
	rm "$httpList"
	if [ $importClip = "CLIP" ]; then
		rm "$sourceFile"
	fi
fi

Antworten