我经常复制&粘贴来自网站的代码(C,Python,R,bash等)并将其存储到Google Docs中(以语法突出显示的形式)。我目前的方法是将代码复制到Jupyter笔记本的Markdown单元格中,例如:
```python
[paste code here]
```
接下来,我将Markdown呈现为以语法突出显示的形式,然后我将复制&将其粘贴到Google文档中。我正在寻找一种更好的方法来做到这一点。
编辑1 :到目前为止我所拥有的是以下代码:
from tkinter import Tk
import mistune
# Get data from clipboard
w = Tk()
w.withdraw();
clipboard = w.clipboard_get()
w.destroy()
# Convert clipboard data into html
html = mistune.markdown("```python\n" + clipboard + "```")
现在的问题是如何将渲染的html重新放回到剪贴板中,形成一个可以剪切的形式。粘贴到Google文档?
注意:我对tkinter
和mistune
以外的其他库很好,例如QClipboard
或PyQt5.QtGui
中的PyObjC
。使用markdown / html路由将纯文本代码转换为突出显示语法的语法也不是“必须”。
编辑2 :我发现了另一种方法(使用Pygments还需要一个额外的步骤来从Mac终端复制和粘贴到Google文档中)。以下内容已添加到~/.bash_profile
:
alias syn_py="pbpaste > temp.py && pygmentize temp.py && rm temp.py"
alias syn_c="pbpaste > temp.c && pygmentize temp.c && rm temp.c"
请注意,在Linux上,pbpaste
/ pbcopy
需要替换为appropriate equivalent。 Mac终端的设置为“显示ANSI颜色”,并为“使用样式'复制'命令”选择“基本”主题。此外,我尝试了以下方法,但这些都没有奏效:
pbpaste | pygmentize | pbcopy
pbpaste > temp.c && pygmentize temp.c | pbcopy && rm temp.c