sunface / rust-course

“连续六年成为全世界最受喜爱的语言,无 GC 也无需手动内存管理、极高的性能和安全性、过程/OO/函数式编程、优秀的包管理、JS 未来基石" — 工作之余的第二语言来试试 Rust 吧。<<Rust语言圣经>>拥有全面且深入的讲解、生动贴切的示例、德芙般丝滑的内容,甚至还有JS程序员关注的 WASM 和 Deno 等专题。这可能是目前最用心的 Rust 中文学习教程 / Book
https://course.rs
24.01k stars 2.07k forks source link

能否提供epub格式下载呢,方便电纸书阅读 #926

Open charmfocus opened 2 years ago

charmfocus commented 2 years ago

能否提供epub格式下载呢,能用gitbook编译也行

sunface commented 2 years ago

这个。。你在course.rs 右上角的打印机里看看可以满足不

charmfocus commented 2 years ago

@sunface pdf没生成目录,这个有些不太方便,看能否生成左侧目录呢

Cloud33 commented 2 years ago

急需要电子书

Oyami-Srk commented 1 year ago

利用mdbook-epub插件构建了Epub版的Rust-course,移除了分隔符及没有内容的todo章节(有的todo内容内引用图片非本地素材无法正常输出)。

希望维护人员能够引入mdbook-epub,这样可以发布Epub版方便离线学习。

附Epub文件下载: https://wws.lanzout.com/idJvz08cqepg 密码:2nj3

附Build Epub所使用的Patch:

From 3c224c9068af37274cf8760c0d024a613d82a86c Mon Sep 17 00:00:00 2001
From: Shiroko <hhx.xxm@gmail.com>
Date: Mon, 25 Jul 2022 00:58:43 +0800
Subject: [PATCH] epub build patch

---
 book.toml      |   2 +
 src/SUMMARY.md | 104 ++++++-------------------------------------------
 2 files changed, 14 insertions(+), 92 deletions(-)

diff --git a/book.toml b/book.toml
index 00c73b2..702032c 100644
--- a/book.toml
+++ b/book.toml
@@ -19,5 +19,7 @@ copy-js = true
 enable = true
 level = 1

+[output.epub]
+
 [rust]
 edition = "2021"   #在线运行用2021版本的
diff --git a/src/SUMMARY.md b/src/SUMMARY.md
index e29057b..3b0ef26 100644
--- a/src/SUMMARY.md
+++ b/src/SUMMARY.md
@@ -4,7 +4,6 @@
 [进入 Rust 编程世界](into-rust.md)
 [快速查询入口](index-list.md)

----

 [Rust 语言中文网](community.md)
 [一本生锈的书](rusty-book.md)
@@ -13,7 +12,6 @@

 # 快速开始

----

 - [寻找牛刀,以便小试](first-try/intro.md)
   - [安装 Rust 环境](first-try/installation.md)
@@ -25,7 +23,6 @@

 # Rust 语言学习

----

 - [Rust 基础入门](basic/intro.md)

@@ -76,7 +73,6 @@
     - [认识生命周期](advance/lifetime/basic.md)
     - [深入生命周期](advance/lifetime/advance.md)
     - [&'static 和 T: 'static](advance/lifetime/static.md)
-    <!-- - [一些关于生命周期的误解 todo](advance/lifetime/misconceptions.md) -->
   - [函数式编程: 闭包、迭代器](advance/functional-programing/intro.md)
     - [闭包 Closure](advance/functional-programing/closure.md)
     - [迭代器 Iterator](advance/functional-programing/iterator.md)
@@ -100,15 +96,11 @@
     - [线程同步:锁、Condvar 和信号量](advance/concurrency-with-threads/sync1.md)
     - [线程同步:Atomic 原子操作与内存顺序](advance/concurrency-with-threads/sync2.md)
     - [基于 Send 和 Sync 的线程安全](advance/concurrency-with-threads/send-sync.md)
-    - [实践应用:多线程 Web 服务器 todo](advance/concurrency-with-threads/web-server.md)
   - [全局变量](advance/global-variable.md)
   - [错误处理](advance/errors.md)
   - [Unsafe Rust](advance/unsafe/intro.md)
     - [五种兵器](advance/unsafe/superpowers.md)
-    - [内联汇编 todo](advance/unsafe/inline-asm.md)
   - [Macro 宏编程](advance/macro.md)
-    <!-- - [SIMD todo](advance/simd.md) -->
-    <!-- - [高阶特征约束(HRTB) todo](advance/hrtb.md) -->

 - [Rust 异步编程](async-rust/intro.md)

@@ -137,14 +129,9 @@
 - [Rust 难点攻关](difficulties/intro.md)
   - [切片和切片引用](difficulties/slice.md)
   - [Eq 和 PartialEq](difficulties/eq.md)
-  - [String、&str 和 str TODO](difficulties/string.md)
-  - [作用域、生命周期和 NLL TODO](difficulties/lifetime.md)
-  - [move、Copy 和 Clone TODO](difficulties/move-copy.md)
-  - [裸指针、引用和智能指针 TODO](advance/difficulties/pointer.md)

 # 常用工具链

----

 - [自动化测试](test/intro.md)

@@ -181,7 +168,6 @@

 # 开发实践

----

 - [企业落地实践](usecases/intro.md)

@@ -236,7 +222,6 @@

 # 高级专题

----

 - [征服编译错误](compiler/intro.md)

@@ -249,8 +234,6 @@
     - [重复借用](compiler/fight-with-compiler/borrowing/intro.md)
       - [同时在函数内外使用引用](compiler/fight-with-compiler/borrowing/ref-exist-in-out-fn.md)
       - [智能指针引起的重复借用错误](compiler/fight-with-compiler/borrowing/borrow-distinct-fields-of-struct.md)
-    - [类型未限制(todo)](compiler/fight-with-compiler/unconstrained.md)
-    - [幽灵数据(todo)](compiler/fight-with-compiler/phantom-data.md)
   - [Rust 常见陷阱](compiler/pitfalls/index.md)
     - [for 循环中使用外部数组](compiler/pitfalls/use-vec-in-for.md)
     - [线程类型导致的栈溢出](compiler/pitfalls/stack-overflow.md)
@@ -264,81 +247,18 @@
     - [线程间传递消息导致主线程无法结束](compiler/pitfalls/main-with-channel-blocked.md)
     - [警惕 UTF-8 引发的性能隐患](compiler/pitfalls/utf8-performance.md)

-- [Rust 性能优化 todo](profiling/intro.md)
-
-  - [深入内存 todo](profiling/memory/intro.md)
-    - [指针和引用 todo](profiling/memory/pointer-ref.md)
-    - [未初始化内存 todo](profiling/memory/uninit.md)
-    - [内存分配 todo](profiling/memory/allocation.md)
-    - [内存布局 todo](profiling/memory/layout.md)
-    - [虚拟内存 todo](profiling/memory/virtual.md)
-  - [性能调优 doing](profiling/performance/intro.md)
-    - [字符串操作性能](profiling/performance/string.md)
-    - [深入理解 move](profiling/performance/deep-into-move.md)
-    - [糟糕的提前优化 todo](profiling/performance/early-optimise.md)
-    - [Clone 和 Copy todo](profiling/performance/clone-copy.md)
-    - [减少 Runtime check(todo)](profiling/performance/runtime-check.md)
-    - [CPU 缓存性能优化 todo](profiling/performance/cpu-cache.md)
-    - [计算性能优化 todo](profiling/performance/calculate.md)
-    - [堆和栈 todo](profiling/performance/heap-stack.md)
-    - [内存 allocator todo](profiling/performance/allocator.md)
-    - [常用性能测试工具 todo](profiling/performance/tools.md)
-    - [Enum 内存优化 todo](profiling/performance/enum.md)
-  - [编译优化 todo](profiling/compiler/intro.md)
-    - [LLVM todo](profiling/compiler/llvm.md)
-    - [常见属性标记 todo](profiling/compiler/attributes.md)
-    - [提升编译速度 todo](profiling/compiler/speed-up.md)
-    - [编译器优化 todo](profiling/compiler/optimization/intro.md)
-      - [Option 枚举 todo](profiling/compiler/optimization/option.md)
-
-- [标准库解析 todo](std/intro.md)
-
-  - [标准库使用最佳时间 todo](std/search.md)
-  - [Vector 常用方法 todo](std/vector.md)
-  - [HashMap todo](std/hashmap.md)
-  - [Iterator 常用方法 todo](std/iterator.md)
-
-  <!-- - [配置文件解析 todo](cookbook/config.md)
-  - [编解码 todo](cookbook/encoding/intro.md)
-    - [JSON](cookbook/encoding/json.md)
-    - [CSV](cookbook/encoding/csv.md)
-    - [protobuf](cookbook/encoding/protobuf.md)
-  - [文件系统 todo](cookbook/file/intro.md)
-    - [文件读写](cookbook/file/file.md)
-    - [目录操作](cookbook/file/dir.md)
-  - [网络通信 todo](cookbook/protocol/intro.md)
-    - [HTTP](cookbook/protocol/http.md)
-    - [TCP](cookbook/protocol/tcp.md)
-    - [UDP](cookbook/protocol/udp.md)
-    - [gRPC](cookbook/protocol/grpc.md)
-  - [数据库访问 todo](cookbook/database.md)
-  - [正则表达式 todo](cookbook/regexp.md)
-  - [加密解密 todo](cookbook/crypto.md)
-  - [时间日期](cookbook/date.md)
-  - [开发调试 todo](cookbook/dev/intro.md)
-    - [日志](cookbook/dev/logs.md)
-    - [性能分析](cookbook/dev/profile.md) -->
-
-<!--
-- [Rust区块链入门]()
-- [Rust游戏开发入门]()
-- [Rust前端开发入门]()
-- [Rust和WASM]() -->

 # 附录

----
-
-- [Appendix]()
-  - [关键字](appendix/keywords.md)
-  - [运算符与符号](appendix/operators.md)
-  - [表达式](appendix/expressions.md)
-  - [派生特征 trait](appendix/derive.md)
-  - [prelude 模块 todo](appendix/prelude.md)
-  - [Rust 版本说明](appendix/rust-version.md)
-  - [Rust 历次版本更新解读](appendix/rust-versions/intro.md)
-    - [1.58](appendix/rust-versions/1.58.md)
-    - [1.59](appendix/rust-versions/1.59.md)
-    - [1.60](appendix/rust-versions/1.60.md)
-    - [1.61](appendix/rust-versions/1.61.md)
-    - [1.62](appendix/rust-versions/1.62.md)
+
+- [关键字](appendix/keywords.md)
+- [运算符与符号](appendix/operators.md)
+- [表达式](appendix/expressions.md)
+- [派生特征 trait](appendix/derive.md)
+- [Rust 版本说明](appendix/rust-version.md)
+- [Rust 历次版本更新解读](appendix/rust-versions/intro.md)
+  - [1.58](appendix/rust-versions/1.58.md)
+  - [1.59](appendix/rust-versions/1.59.md)
+  - [1.60](appendix/rust-versions/1.60.md)
+  - [1.61](appendix/rust-versions/1.61.md)
+  - [1.62](appendix/rust-versions/1.62.md)
-- 
2.37.1
YangtseSu commented 1 year ago

[output.epub] additional-js = ["assets/custom.js", "assets/bigPicture.js"]

maojinhua commented 1 year ago

我也急需电子书,网站有时候可以打开 有时候打不开,太影响学习了。。。。pdf 电子书可以下载,但是没有目录,非常不方便查找 image

Initsnow commented 3 months ago

mdbook-epub download generated epub file