Anki 是一个以卡片(Flashcard)形式辅助学习和记忆的跨平台应用。支持平台有:
Power format pack 是用于制作 Anki 卡片的格式化增强的插件。其主要功能:
- 渲染 Markdown 语法
- 提供格式化按钮
注意,以上两个功能不能同时混用。使用时务必不要将以上两种功能混用在同一个 Flascard 中,否则可能会导致格式混乱,并难以撤销错误操作!
插件设置面板在 Tools
> Supplementary buttons add-on (options)
中。
1、渲染 Markdown
Power format pack 的 Markdown 使用 Python-Markdown 来实现渲染。
代码语法高亮
在卡片编辑区域,按如下格式插入代码:
```python
def print_me(this):
print "Printing: ", this
```
然后上图点一下最右边的 markdown 按钮,即可渲染为 HTML 格式,代码实现语法高亮。
由于 Python-Markdown 的 CodeHilite 源码 HTML 为:
<div class="codehilite"><pre><code># Code goes here ...
</code></pre></div>
所以如果你需要对其渲染出来后的样式进行调整,可以对其进行 CSS 修改。例如,在 Anki 软件中的浏览
- 卡片...
- 样式框中:
.codehilite pre {
padding: 10px 14px;
line-height: 14px!important;
}
下面的格式化功能使用和代码语法高亮相似。
定义列表
在卡片编辑区域,按如下格式实现定义列表:
Orange
: The fruit of an evergreen tree of the genus Citrus.
脚注
在卡片编辑区域,按如下格式实现脚注:
Footnotes[^1] have a label[^@#$%] and the footnote's content.
[^1]: This is a footnote content.
[^@#$%]: A footnote on the label: "@#$%".
缩写
在卡片编辑区域,按如下格式实现缩写:
The HTML specification
is maintained by the W3C.
*[HTML]: Hyper Text Markup Language
*[W3C]: World Wide Web Consortium
渲染成:
<p>The <abbr title="Hyper Text Markup Language">HTML</abbr> specification
is maintained by the <abbr title="World Wide Web Consortium">W3C</abbr>.</p>
属性
下面隆重介绍 属性
这个十分好用的功能。
在编写 Markdown 时,如下格式:
Some text some text.
{: #someid .someclass somekey='some value' }
则渲染出来的 HTML 元素会带有 HTML 标签属性,如 id,class 等,也就是说,只要我们定义好 CSS,就可以对其内容进行样式修改。
例如:
This is a paragraph.
{: #an_id .large }
渲染成:
<p id="an_id" class="large">This is a paragraph.</p>
那么只要在 Anki 软件中的 浏览
- 卡片...
- 样式框中添加:
.large { font-size: 32px; }
更多语法格式请参考 这里。
2、格式化按钮
除了 Markdown,插件内置了很多实用的 格式化按钮
。
但千万记住,使用这些按钮时,就不要再写 Markdwon 语法的内容了,只需要在写纯文本后,选中要格式化的内容,点击相应的格式按钮即可。
非 Markdown 的代码样式
如果不想用 Markdown 的语法高亮和样式,可以配合 CSS 和格式化按钮来定义你喜欢的代码样式。这个功能是插件提供给用户的,需要一些设置。
进入插件设置面板 Tools
> Supplementary buttons add-on (options)
,设置一个自用的代码块的 class,例如:
则只需要在上面提到的 Anki 软件样式框中写上相应的样式:
.code {
background-color: #f2f2f2;
padding: 10px 14px;
border:1px dashed #ddd;
border-radius: 4px;
}
然后对编辑器中的纯文本代码选中,点击上图 {}
代码块按钮,即可对代码设置样式。行内代码是 </>
按钮。
非 Markdown 的表格样式
编辑区按如下格式输入:
header1 | header2 | header3
-|-|-
elem1 | elem2 | elem2
其中 -|-|-
是可选,它是用于文字对齐作用的,左右中对齐分别为 :-
、-:
、:-:
。
点击 表格
格式化按钮,即可生成表格。如果不选中内容就点击按钮,会弹出可选行列数的对话框。
按键样式
想在 Anki 卡片中实现下图的样式吗?
在 Anki 软件样式对话框中写入 CSS:
kbd {
box-shadow: inset 0px 1px 0px 0px #ffffff;
background: -webkit-gradient(linear, left top, left bottom, color-stop(0.05, #f9f9f9), color-stop(1, #e9e9e9) );
background-color: #f9f9f9;
border-radius: 5px;
border: 1px solid #dcdcdc;
display: inline-block;
font-size: 0.8em;
height: 30px;
line-height: 30px;
padding: 0px 10px;
text-align: center;
text-shadow: 1px 1px 0px #ffffff;
}
然后选择文字,点击键盘形状的格式化按钮即可。
3、后话
此插件具体的使用请参考插件的 官方文档。
Anki 是一款十分优秀的帮助学习和记忆的应用,我建议词典应该自己定制,一次性导入大量别人的词典,学习和记忆效果肯定是没有自己收集和整理的词条的好,虽然麻烦而且慢,但是就像笔记一样,自己的永远比别人的要好,因为这里面的知识在收集和整理的过程中,就已经慢慢内化了。
剩下的就是坚持了。