======================
Let Over Lambda 中文版
======================
.. toctree::
:maxdepth: 2
preface.rst
chapter01.rst
chapter02.rst
chapter03.rst
chapter04.rst
chapter05.rst
chapter06.rst
chapter07.rst
chapter08.rst
appendices.rst
reference.rst
specification.rst
original-code.rst
production-code.rst
-------
TODO:
-------
* 添加文章中的代码文件
* 添加原文中的脚注及参考引用
* 校对
如何加入
==================================
本文档使用 `Sphinx `_ 将 ``docsrc/_sources`` 下的
`reStructuredText `_ 文件生成的文档。当
然,为了照顾免去大部分人学习 ``reStructuredText`` 的格式,同时也支持使用 `markdown` 格
式。
预备知识
-----------------------------------
首先,``Sphinx`` 是个 Python 三方库,所以,你需要懂得 Python 的基础知识。然后因为这个文档
是 `Github `_ 上,所以你需要有 `Git `_
和 ``Github`` 的基础知识。
.. note::
这些预备知识其实很基础,所谓的 Python 的基础知识指代的是:python 的安装、配置系统环境变
量、pip 的使用。而对于 ``git`` 和 ``github`` 的基础知识,无非就是:``git clone``、
``git add``、``git commit``、``git push`` 以及在 Github 上 `克隆库 (fork) `_ 和发起 `pull request `_ 。
所以你需要现在系统上安装好 ``Git``、``Make`` 和 ``Python3``
Sphinx 安装
-----------------------------------
本人的使用 ``Python3.10`` 进行开发的。为了避免后续环境版本不统一,推荐使用 python3.10,同
时使用 ``virtualenv-3`` 安装Sphinx:
.. code-block:: bash
$ python3 -m pip install virtualenv
$ python3 -m virtualenv sphinx
$ source sphinx/bin/activate
(sphinx) $ pip install -U Sphinx sphinx-autobuild sphinx_rtd_theme myst_parser
.. note::
Windows 下无法执行 source 命令,需要用以下步骤进入虚拟环境::
$ cd sphinx/Scripts
$ activate.bat
获取源代码
-----------------------------------
在 Github 上先 fork `代码库 `_ 到自己的
Github 上,然后将 Github 上的库 clone 到本地
.. code-block:: bash
(sphinx)$ git clone https://github.com//lol-zh.git
(sphinx)$ cd lol-zh/docsrc
在对应的章节目录下创建对应的章节文档,如第一章第一节
.. code-block:: bash
(sphinx)$ cd lol-zh/docsrc/markdown/drafts/
(sphinx)$ touch 1.1-macros.md
.. note::
如果是 markdown 格式的则创建 .md 为后缀的文件。其中英文文档为 ``lol-zh/lol.pdf``。
编译完后进行本地预览
.. code-block:: bash
(sphinx)$ sphinx-autobuild markdown _build/html
其中 ``rst`` ``markdown``、``_build/html`` 均在 ``lol-zh/docsrc`` 目录下,所以以上命
令是在 ``lol-zh/docsrc`` 目录下执行的。确认没问题后执行
.. code-block:: bash
(sphinx) $ make md-github
之后就是 ``git add <添加的文件>``、``git commit -m "<添加的文件>"``、``git push``