rust-book-cn/README.md

106 lines
3.9 KiB
Markdown
Raw Normal View History

2017-02-04 17:41:29 +08:00
# Rust 程序设计语言
2015-12-12 06:50:02 +08:00
[![Build Status](https://travis-ci.org/rust-lang/book.svg?branch=master)](https://travis-ci.org/rust-lang/book)
2017-02-04 17:41:29 +08:00
> Chinese translation of [The Rust Programming Language][book-en]
> 持续翻译中...
2017-02-04 18:47:23 +08:00
[book-en]: https://github.com/rust-lang/book
2017-02-04 17:41:29 +08:00
2017-02-04 18:47:23 +08:00
这是新版的《Rust 程序设计语言》,上一版是放在 [Rust 主代码库][src]中。如果想阅读上一版文档,可在[官网][prod]上直接查阅。
2015-12-12 06:50:02 +08:00
[src]: https://github.com/rust-lang/rust/tree/master/src/doc/book
[prod]: https://doc.rust-lang.org/book/
2017-02-04 19:08:14 +08:00
如果你想看当前版本的内容,可[点击这里阅读][html-cn](英文原版在 [Gihub pages][html] 上)。
2017-02-04 19:08:14 +08:00
[html-cn]: https://rustwiki.org/zh-CN/book
[html]: http://rust-lang.github.io/book/
2017-02-04 17:41:29 +08:00
## 要求
2015-12-12 06:50:02 +08:00
2017-02-04 17:41:29 +08:00
构建这本书需要 [mdBook] >= v0.0.13。执行以下命令安装:
2015-12-12 06:50:02 +08:00
2015-12-14 22:45:33 +08:00
[mdBook]: https://github.com/azerupi/mdBook
2015-12-12 06:50:02 +08:00
```
2015-12-12 06:50:02 +08:00
$ cargo install mdbook
```
2017-02-04 17:41:29 +08:00
## 构建
2015-12-12 06:50:02 +08:00
2017-02-04 17:41:29 +08:00
构建此书,请输入:
2015-12-12 06:50:02 +08:00
```
$ mdbook build
2015-12-12 06:50:02 +08:00
```
2017-02-04 17:41:29 +08:00
输出落在 `book` 子目录中。可使用浏览器打开来查看内容。
2015-12-12 06:50:02 +08:00
2016-08-24 12:59:18 +08:00
_Firefox:_
```
$ firefox book/index.html # Linux
$ open -a "Firefox" book/index.html # OS X
2015-12-12 06:50:02 +08:00
```
2016-08-24 12:59:18 +08:00
_Chrome:_
```
2016-09-13 08:12:58 +08:00
$ google-chrome book/index.html # Linux
$ open -a "Google Chrome" book/index.html # OS X
```
2017-02-04 17:41:29 +08:00
运行测试:
```
$ mdbook test
```
2017-02-04 17:41:29 +08:00
## 参与贡献
2015-12-12 06:50:02 +08:00
2017-02-05 20:38:51 +08:00
您的帮助,我们将感激不尽(We'd love your help)!请参见 [CONTRIBUTING.md][contrib-cn](英文原项目参与贡献指引 [CONTRIBUTING-EN.md][contrib])。
2015-12-12 06:50:02 +08:00
2017-02-05 20:38:51 +08:00
[contrib-cn]: https://github.com/rust-lang-cn/book-cn/blob/master/CONTRIBUTING.md
[contrib]: https://github.com/rust-lang/book/blob/master/CONTRIBUTING.md
2015-12-19 03:48:16 +08:00
2016-01-09 01:09:26 +08:00
## No Starch
2017-02-05 20:38:51 +08:00
> 译注No Starch 是美国的一家出版社
2016-01-09 01:09:26 +08:00
2017-02-04 17:41:29 +08:00
本书(英文原版)将由 No Starch 出版社出版,我们先在这里更新迭代,再将文本发送到 No Starch。然后他们进一步编辑最后我们将内容取回来。
2017-02-04 17:41:29 +08:00
所以这里有一个 *nostarch* 目录,对应 No Starch 系统的文本。
2017-02-04 17:41:29 +08:00
当我们开始和 No Starch 配合使用 Word 文档后,我们还会在 *nostarch/odt* 目录中核对这些内容并加到库中。要将文本从 Word 文档中提取成 Markdown 格式,以便追踪线上书籍(即本书)的变更记录:
1. 在 LibreOffice 打开 doc 文件
1. 接受所有跟踪的更改
1. 另存为 Microsoft Word 2007-2013 XML (.docx) 文件到 *tmp* 目录
1. 运行 `./doc-to-md.sh`
1. 检查 *nostarch* 目录中的 Markdown 文件所做的更改,并适当地将变更的内容复制到 *src* 目录。
## Graphviz dot
2017-02-05 20:38:51 +08:00
> 译注Graphviz 是一种图形绘制工具,使用 dot 语言来编写绘制
2017-02-04 17:41:29 +08:00
这主要是给 Carol 参考的因为她不得不检查这些内容原文This is mostly for Carol's reference because she keeps having to look it up
2017-02-04 17:41:29 +08:00
我们使用 [Graphviz](http://graphviz.org/) 来绘制一些书中需要的图表。这些文件的源文件位于 `dot` 目录中。要将 `dot` 文件转换成 `svg` 文件,如转换 `dot/trpl04-01.dot` 文件,运行:
```
$ dot dot/trpl04-01.dot -Tsvg > src/img/trpl04-01.svg
```
2017-02-04 17:41:29 +08:00
在生成的 SVG 中,从 `svg` 元素中删除了宽度和高度属性,并将 `viewBox` 属性设置成 `0.00 0.00 1000.00 1000.00` 或其他不会截断图像的值。
2017-02-04 17:41:29 +08:00
## 拼写检查(仅对英文检查起作用)
2017-02-04 17:41:29 +08:00
要扫描源文件的拼写错误,可以使用 `spellcheck.sh` 脚本。这需要一个带有有效单词的字典文件,由 `dictionary.txt` 提供。如果脚本产生了一个假阳性(比如说,你使用了 `BTreeMap` 单词,但脚本认为无效),就需要将这个单词添加到 `dictionary.txt` 文件(保持排序的顺序以确保一致性)。
2017-02-04 17:41:29 +08:00
## 将 Windows 换行符转换为 Unix 的
2017-02-04 17:41:29 +08:00
这主要是给 Carol 参考因为她不得不检查不规范的换行符。原文This is mostly for Carol's reference because she keeps having to look it up.
```
$ tr -d '\015' < DOS-file > UNIX-file
```