插件介绍
Markdown Preview Enhanced 是一款为 Atom 以及 Visual Studio Code 编辑器编写的超级强大的 Markdown 插件。 这款插件意在让你拥有飘逸的 Markdown 写作体验。
特性
- 自动编辑器及预览滑动同步
- 导入外部文件
- Code Chunk
- Pandoc
- Prince
- 电子书
- 幻灯片
- 可扩展性
- LaTeX 数学
- 导出 PDF, PNG, 以及 JPEG 凭借 Puppeteer
- 导出漂亮的 HTML(移动端支持)
- 编译到 GitHub Flavored Markdown
- 自定义预览 CSS
- TOC生成
- 流程图 / 时序图 以及各种其他种类的图形
- 嵌入 LaTeX, 渲染 TikZ, Chemfig 等图形
- Task List (Github Flavored)
- 图片助手
- 脚注
- Front Matter
- 以及更多。。。
运行代码
Code Chunk
Markdown Preview Enhanced 支持渲染代码的运行结果。
```bash {cmd=true}
ls .
```
```javascript {cmd="node"}
const date = Date.now() console.log(date.toString())
```
⚠️ 脚本运行默认是禁用的并且需要在 Atom 和 VSCode 的插件设置中开启来进行使用
请小心使用这一特性,因为它很有可能造成安全问题! 当你的脚本运行设置是开启的,你的电脑很有可能被黑客攻击,如果有人使你运行了 Markdown 文档中的恶意代码。
设置名称: enableScriptExecution
命令 & 快捷键
Markdown Preview Enhanced: Run Code Chunk或者shift-enter运行你现在光标所在的一个 code chunk。Markdown Preview Enhanced: Run All Code Chunks或者ctrl-shift-enter运行所有的 code chunks。
格式
你可以通过以下形式来设置 code chunk:```lang {cmd=your_cmd opt1=value1 opt2=value2 ...}。
如果一个属性的值是 true,那么它可以被省略,(e.g. {cmd hide} 和 {cmd=true hide=true} 相同)。
lang 你想要代码所高亮的语言。 这个是要被放在最前面的。
基本设置
cmd 将要被运行的命令。 如果 cmd 没有被提供,那么 lang 将会被视作为命令。
例如:
```python {cmd="/usr/local/bin/python3"}
print("这个将会运行 python3 程序")
```
output html, markdown, text, png, none
设置你想要如何显示你的代码结果。 html 将会添加输出结果为 html。 markdown 将会添加输出结果为 markdown。(MathJax 以及 graphs 在这种情况下是不被支持的) text 将会添加输出结果到 pre 块。 png 将会添加输出结果到 base64 图片。 none 将会隐藏输出结果。
例如:
```gnuplot {cmd=true output="html"}
set terminal svg
set title "Simple Plots" font ",20"
set key left box
set samples 50
set style data points
plot [-10:10] sin(x),atan(x),cos(atan(x))
```
args 需要被添加到命令的 args 。 例如:
```python {cmd=true args=["-v"]}
print("Verbose will be printed first")
```
```erd {cmd=true args=["-i", "$input_file", "-f", "svg"] output="html"}
# output svg format and append as html result.
```
stdin 如果 stdin 被设置为 true,那么代码将会被传递到 stdin 而不是作为文件。
hide hide 将会隐藏代码块但是会显示运行结果,默认为 false。 例如:
```python {hide=true}
print('you can see this output message, but not this code')
```
continue 如果设置 continue: true,那么这个 code chunk 将会继续运行上一个 code chunk 的内容。 如果设置continue: id,那么这个 code chunk 从拥有这个 id 的 code chunk 运行。 例如:
```python {cmd=true id="izdlk700"}
x = 1
```
```python {cmd=true id="izdlkdim"}
x = 2
```
```python {cmd=true continue="izdlk700" id="izdlkhso"}
print(x) # will print 1
```
class 如果设置 class="class1 class2",那么 class1 class2 将会被添加到 code chunk。
line-numbersclass 将会添加代码行数到 code chunk。
element 你想要添加的元素。 请查看下面的 Plotly 例子。
run_on_save boolean 当 markdown 文件被保存时,自动运行 code chunk。默认 false。
modify_source boolean 插入 code chunk 的运行结果直接到 markdown 文件。默认 false。
id Code chunk 的 id。这个选项可以配合 continue 选项使用。
宏
- input_file
input_file将会拷贝你的 code chunk 中的代码,然后在你的 markdown 文件的目录下生成一个临时文件,并且会在 code chunk 运行结束后被自动删除。 默认条件下,它被作为程序运行的最后一个参数。 但是,如果你想要改变input_file在你的args中的位置,你可以使用$input_file宏。例如:
```program {cmd=true args=["-i", "$input_file", "-o", "./output.png"]}
...your code here
```