Speichern Sie HTML aus der Zwischenablage als Markdown-Text

9

Ich möchte einen Abschnitt einer Webseite markieren und in die Zwischenablage kopieren und dann als Markdown auf meiner lokalen Festplatte speichern können. Ich brauche einen effizienten Weg, um das zu tun.

Meine derzeitige umständliche Methode ist:

  1. Abschnitt markieren und in die Zwischenablage kopieren
  2. Öffnen Sie Libre Office Writer
  3. in Writer einfügen
  4. Speichern Sie das Writer-Dokument als HTML
  5. Terminal öffnen
  6. cd in das Verzeichnis, in dem ich den HTML-Code gespeichert habe
  7. pandoc -s -r html /home/me/a/b/mydoc.html -o /home/me/a/b/mydoc.md

Natürlich brauche ich eine bessere Methode! Irgendwelche Vorschläge?

MountainX
quelle
Ich glaube , dass das Abrufen von HTML-Quellen oder Rich Text aus der X-Zwischenablage- Anforderung in Stackverflow möglicherweise eine Anleitung zum Abrufen der gewünschten Informationen bietet.
Tink
Können Sie auf eine Seite verweisen, die Sie möglicherweise auf diese Weise kopieren möchten?
slm
Es könnte jede Webseite sein, die ich gerade durchsuche. Beispiel: money.cnn.com/2013/06/05/technology/mobile/…
MountainX
Sie wählen die Webseite über die Quellseite aus, oder? Oder sowieso Teile davon.
slm
Wie StephaneChazelas in den Kommentaren unten erwähnt hat, wähle ich normalerweise nur Text aus Firefox (oder einem anderen Browser) aus. Ich gehe NICHT zur Quellansicht.
MountainX

Antworten:

11

Mit einer aktuellen Version von xclip(die -tOption wurde 2010 hinzugefügt, aber noch nicht AFAICT veröffentlicht, sodass Sie sie von Subversion erhalten oder die in Debian verpackte verwenden müssen).

xclip -o -selection clipboard -t text/html | pandoc -r html -w markdown

Und wenn Sie das wieder in die Zwischenablage bringen möchten:

xclip -o -selection clipboard -t text/html |
  pandoc -r html -w markdown |
  xclip -i -selection clipboard

Was Sie in einer Schleife tun können mit:

while :; do
  xclip -o -selection clipboard -t text/html |
    pandoc -r html -w markdown |
    xclip -i -selection clipboard -quiet
done

Die zweite xclip, mit -quietblockiert , bis Ansprüchen etwas anderes der ZWISCHENABLAGE Auswahl, das heißt , bis Sie etwas anderes irgendwo wählen.

Auf diese Weise können Sie zwischen Ihrem Browser und dem, in das Sie den Markdown einfügen, hin und her kopieren.

@tink hat auch einen nützlichen Link zu einer ähnlichen Frage in StackOverflow, wo Sie finden, wie Sie es in Python implementieren können.

Stéphane Chazelas
quelle
Die Annahme ist, dass Sie die tatsächliche Quelle einer Webseite auswählen und nicht nur darauf navigieren, richtig?
slm
@slm, nein. Wenn Sie in Browsern wie Firefox oder Chrome Text auf einer (gerenderten) Webseite auswählen und / oder kopieren, legt der Browser die Auswahl sowohl als Zeichenfolge (für Textanwendungen) als auch als HTML (für Anwendungen, die dies verstehen) fest libreoffice zu verwenden). Diese werden Ziele genannt. xclip -selection clipboard -t TARGETSlistet die Ziele / Formate auf, die Firefox festgelegt hat, nachdem Sie Text von dort kopiert haben.
Stéphane Chazelas
Ist das eine neue Funktion in xclip? Ich bekomme ein -t: Keine solche Datei oder Verzeichnis. Ich benutze ver: 0.12.
slm
1
@StephaneChazelas Tolle Lösung! Ich habe xclip von hier bekommen: pkgs.org/debian-sid/debian-main-amd64/… und es wurde in Kubuntu 12.04 ohne Probleme installiert. Dies ist genau die Art von Lösung, auf die ich gehofft habe. Toll!
MountainX
1
@slm: Meine Arbeitsversion von xclip (installiert über den obigen Link) zeigt auch Version 0.12, aber das Deb heißt xclip_0.12 + svn84-2_amd64.deb. Diese enthält die Option -t und diese Option wird in der Manpage beschrieben. Aber auf der Manpage wird die Option text / html nicht angezeigt, und ich hätte wahrscheinlich nichts davon selbst herausgefunden.
MountainX