已于 2016-08-07 翻译完全部内容,欢迎纠正——最后更新时间 2017-02-14
Chinese translation of the Rust by Example
这是 Rust by Example-CN(Rust by Example 中文版)网站的源代码,翻译自英文网站 Rust by Example!
参考 CONTRIBUTING.md。
安装 Rust 并执行以下命令:
sudo apt-get install nodejs npm subversion calibre
sudo ln -s /usr/bin/nodejs /usr/bin/node
安装 Rust nightly,
node, npm, subversion 和 calibre。
运行:
make all
make html pdf epub mobi
make test
使用 make serve 来查看结果。
我们使用下述工具来生成静态页:
gitbook 把 Markdown 文件生成静态页面 (查看工作原理点击这里)。
在运行 gitbook 之前,我们先使用 src/main.rs 进行预处理。
此预处理过程有两个步骤:
SUMMARY.md 是由
examples/structure.json 文件生成得到。这个 JSON 文件对每个“示例”都包含类树形的结构。
每个示例包括:
- 一个 id, 如
hello - 一个标题(title), 如
Hello World - 子节点(children),为可选项, 指向子节点,如
null - 一个在
examples下的子目录,如 examples/hello - 一个在 examples/structure.json 里面的入口点,如
{ "id": "hello", "title": "Hello World", "children": null } - 一些源文件,如 examples/hello/hello.rs
- 一个输入 Markdown 文件,如 examples/hello/input.md
在处子级示例时,其目录必须包含父级示例的 id 值,如 examples/variable/mut/input.md 表明 mut 示例是在分级 variable 下。
我们将代码放到单独的源文件中,而不是在 input.md 文件中直接编辑。然后在预处理阶段将会把代码代码插入到 Markdown 文件中。
举个例子,为了插入源码文件 hello.rs,我们在 Markdown 文件中采用以下语法:
{hello.play}会把代码嵌入到一个在线编辑器中。{hello.rs}会插入到静态文本中。{hello.out}展示源程序的输出结果。
Makefile 提供了以下指令:
make:构建update.rs并执行上述的前置步骤make html: 运行gitbook来生成 HTML 静态页文档make pdf: 运行gitbook来生成 PDF 格式的电子书make epub: 运行gitbook来生成 ePub 格式的电子书make mobi: 运行gitbook来生成 Mobi 格式的电子书make serve: 运行gitbook --serve来生成书籍内容并发布到localhost:4000进行预览make test:检查所有的 Rust 源文件是否有编译错误
《通过例子学 Rust》(中文版与英文版 Rust by Example 均) 使用 Apache 2.0 license 和 MIT license 两种协议进行授权。
详情参见 LICENSE-APACHE 和 LICENSE-MIT。