将剪贴板中的HTML保存为Markdown文本


9

我希望能够突出显示网页的一部分并将其复制到剪贴板,然后将其作为markdown保存到我的本地磁盘中。我需要一种有效的方法来做到这一点。

我当前麻烦的方法是:

  1. 突出显示部分并复制到剪贴板
  2. 打开Libre Office Writer
  3. 粘贴到作家
  4. 将Writer文档另存为HTML
  5. 打开终端
  6. cd 到我保存HTML的目录
  7. pandoc -s -r html /home/me/a/b/mydoc.html -o /home/me/a/b/mydoc.md

显然,我需要一个更好的方法!有什么建议么?


我相信Stackverflow的X剪贴板请求中获取HTML源代码或富文本格式可能会为获取所需内容提供指导。
天衣

您可以参考您想以这种方式复制的页面吗?
slm

可能是我碰巧正在浏览的任何网页。例如:money.cnn.com/2013/06/05/technology/mobile/…–
MountainX

您是通过源页面选择网页,对吗?还是它的碎片。
slm

正如在下面的评论中提到的StephaneChazelas一样,我通常只是从Firefox(或其他浏览器)中选择文本。我不会转到源代码视图。
MountainX

Answers:


11

使用最新版本的xclip(该-t选项已在2010年添加,但尚未发布,因此AFAICT,因此您需要从Subversion中获得它,或使用Debian中打包的版本)。

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

如果您想把它放回剪贴板:

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

您可以循环执行以下操作:

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

第二个xclipwith -quiet将阻塞,直到其他人声明使用CLIPBOARD选择,即直到您在​​某处选择了其他东西为止。

这样,您就可以在浏览器和粘贴降价内容之间来回复制。

@tink 在StackOverflow上也有一个类似问题的有用链接,您可以其中找到如何在python中实现它。


假设是您在选择网页的实际来源,而不仅仅是浏览网页,对吗?
slm

@slm,不。在诸如Firefox或chrome的浏览器中,当您选择和/或复制(渲染的)网页中的某些文本时,浏览器会将选择内容设置为字符串(供文本应用程序使用)和html(对于理解此类内容的应用程序) libreoffice使用)。这些被称为目标。xclip -selection clipboard -t TARGETS从其中复制一些文本后,将列出Firefox设置的目标/格式。
斯特凡Chazelas

这是的新功能xclip吗?我得到-t:没有这样的文件或目录。我正在使用ver:0.12。
slm

1
@StephaneChazelas很棒的解决方案!我从这里得到xclip:pkgs.org/debian-sid/debian-main-amd64/…,它安装在Kubuntu 12.04中,没有任何问题。这正是我所希望的解决方案类型。大!
MountainX

1
@slm:xclip的工作版本(从上面的链接安装)也显示版本0.12,但deb名为xclip_0.12 + svn84-2_amd64.deb。该选项的确包含-t选项,该选项在其手册页中进行了描述。但是手册页中没有显示text / html选项,而且我可能自己也不会想到。
MountainX
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.