Markdown Everywhere
Markdown 是一种轻量级标记语言,它吸收了很多(外国)人们在纯文本电子邮件中常用的标记,跟其他流行的标记语言(MediaWiki 等)比较起来更加容易阅读和学习,同时也支持内嵌 HTML 以实现更复杂的展示效果;
同时纯文本还具有以下好处:
- 使作者关心内容/结构多于形式
- 跨平台
作为一个广受欢迎的标记语言,Markdown 能够非常容易地转换为重量级标记语言(HTML)。下面介绍几种在将来可能有用的工具:
可以用 Markdown 做到的
博客:Jekyll(中文官网)
Jekyll 是一个静态网站生成程序。它使用 Ruby 编写,使用 gem install jekyll
后即可使用:
jekyll new my-awesome-blog
cd my-awesome-blog
jekyll serve
在本地 4000 端口运行你的博客站点。
Jekyll 的博文使用 yyyy-MM-dd-what-ever-post-name.md
形式的文件名存储在 _post 文件夹下,使用 YAML 在文件头设置博文属性,其他请参见官方文档。
API 文档:Slate(GitHub)
Slate 同样生成静态网站,也使用 Ruby 编写,但它并没有发布到 gem,只能从源码运行。
git clone
Slate 项目到本地后,运行:
bundle install
bundle exec middleman server
就可以把 Slate 生成的静态网站运行在本地的 4567 端口上。
如何书写请参见项目的代码示例。另外随意更新 Slate 到 github 的开发版本可能会导致样式变形。
Wiki:Gollum(GitHub)
GitHub 和 GitLab 的内置 Wiki 均使用 Gollum,你猜对了它还是用 Ruby 编写的,支持多种标记语言,但从 GitLab Web 界面只能创建 Markdown 形式的文件。
如果要使用 MediaWiki 语言,使用 git clone
Wiki 仓库新建文件,并将扩展名命名为 .wiki 即可。
Gollum 的一点好处是可以看到“所有页面”,减轻了一点页面组织的工作。
Slide:RemarkJS(用 RemarkJS 展示 RemarkJS 语法)
Slide 就是 PPT,不过只有 PowerPoint 做出来的 PPT 才能叫 PPT……
终于,这次不是 Ruby,让我们欢迎 JavaScript!(不要理我)
看了网页源码就会发现,RemarkJS 只需要一个 textarea 输出 Markdown 文本……因此我们可以对 Jekyll 稍作更改支持 Slide:
RemarkSlideConverter.rb 放在 _plugins 文件夹下
module Jekyll
class RemarkSlideConverter < Converter
safe true
priority :low
def matches(ext)
ext =~ /^\.remark$/i
end
def output_ext(ext)
".html"
end
def convert(content)
content
end
end
end
slide.html 放在 _layouts 文件夹下
<!DOCTYPE html>
<html>
<head>
<title>Markdown Everywhere</title>
<meta charset="utf-8">
<style>
@import url(https://fonts.googleapis.com/css?family=Yanone+Kaffeesatz);
@import url(https://fonts.googleapis.com/css?family=Droid+Serif:400,700,400italic);
@import url(https://fonts.googleapis.com/css?family=Ubuntu+Mono:400,700,400italic);
body { font-family: 'Droid Serif'; }
h1, h2, h3 {
font-family: 'Yanone Kaffeesatz';
font-weight: normal;
}
.remark-code, .remark-inline-code { font-family: 'Ubuntu Mono'; }
</style>
</head>
<body>
<textarea id="source">
</textarea>
<script src="https://gnab.github.io/remark/downloads/remark-latest.min.js">
</script>
<script>
var slideshow = remark.create();
</script>
</body>
</html>
最后 Markdown 文件使用 .remark 结尾,YAML 头属性里使用 layout: slide
即可。
Markdown 添加图片是永远的痛,但我们还有 JS
“为何这么执着于纯文本?”
“因为又穷又懒(诚实脸)。”
如何在 GitHub 上查找可视化 JS 组件:
- 找到你想要的图的英文名;
- 在 GitHub 上搜索;
- 选择语言为 JavaScript;
- 哪个顺眼用哪个;
当然还是要看一眼对方使用的协议。