Skip to content

Commit 66b6ee2

Browse files
committed
update readme 2
1 parent 9d06b28 commit 66b6ee2

File tree

3 files changed

+42
-9
lines changed

3 files changed

+42
-9
lines changed

.github/workflows/generate_release_pdf.yml

+6-4
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
name: Generate Release PDF
2+
# 感谢 Derived Cat (@hooyuser) 提供的自动发布小脚本!
23

34
on:
45
push:
@@ -81,12 +82,13 @@ jobs:
8182
- name: Generate release tag
8283
id: tag
8384
run: |
84-
echo "::set-output name=release_tag::latest_$(date +"%Y-%m-%d_%H-%M")"
85+
echo "::set-output name=release_date::$(date +"%Y 年 %m 月 %d 日 %H 点 %M 分")"
86+
echo "::set-output name=release_date::latest_$(date +"%Y-%m-%d_%H-%M")"
8587
8688
- name: Release
8789
uses: softprops/action-gh-release@v1
8890
with:
89-
name: latest version
90-
body: Latest version of `${{ env.TYPST_FILE_NAME }}.pdf`
91-
tag_name: ${{ steps.tag.outputs.release_tag }}
91+
name: 伟大,无需多言
92+
body: 小彭老师发布的最新 C++ 大典,更新时间 ${{ steps.tag.outputs.release_date }}
93+
tag_name: ${{ steps.tag.outputs.release_date }}
9294
files: ${{ env.TYPST_FILE_NAME }}.pdf

README.md

+34-5
Original file line numberDiff line numberDiff line change
@@ -5,24 +5,49 @@
55
> [!NOTE]
66
> 敢承诺:土木老哥也能看懂!
77
8-
# 下载 PDF
8+
## 下载 PDF
99

10-
https://github.com/parallel101/cppguidebook/releases
10+
可以前往 [Release 页面](https://github.com/parallel101/cppguidebook/releases) 免费下载本书的完整 PDF 文件。
11+
12+
Release 页面太慢?GitHub 卡顿,无法下载?访问 [小彭老师自己维护的镜像](https://142857.red/cppguidebook.pdf)
13+
14+
> [!NOTE]
15+
> 感谢 [Derived Cat](https://github.com/hooyuser) 大佬提供智能脚本!每当小彭老师推送了修改后,该 PDF 文件都会自动更新。只要看到小彭老师提交新 commit,你就可以随时重新下载最新版。
16+
17+
## 你也可以参与编写的开源小册
18+
19+
本书完全开源,源文件为 [`book.typ`](book.typ)
20+
21+
如果发现书写问题,或者你有想加入的新章节,有关于 C++ 新想法,新技巧分享给大家,可以提交 [Pull Request](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request) 来帮助小彭老师一起写书。
22+
23+
## Typst 真好用,家人们
24+
25+
本书使用 [Typst 语言](https://github.com/typst/typst) 书写,类似于 LaTeX 或 Markdown。和 Markdown 相比,Typst 的排版功能更加丰富。和 LaTeX 相比,Typst 更加轻量级,语法简单明了。最重要的是,Typst 支持宏编程,可以在文本中书写代码,实现批量生成结构化的文本。
26+
27+
![Typst](https://user-images.githubusercontent.com/17899797/228031796-ced0e452-fcee-4ae9-92da-b9287764ff25.png)
28+
29+
Typst 语言书写的 `.typ` 源文件编译后,得到可供阅读的 `.pdf` 文件。
30+
31+
克隆本仓库后,可以用 `typst compile book.typ` 命令编译生成 `book.pdf` 文件,也可以用 [`typst-preview`](https://github.com/Enter-tainer/typst-preview`) 等工具,一边修改源文件,一边实时预览效果。
32+
33+
> 以下是第一章节的内容预览,要查看全文,请前往 Release 页面下载完整 PDF 文件。
34+
35+
# 前言
1136

1237
## 观前须知
1338

14-
与大多数现有教材不同的是,本课程将会采用“倒叙”的形式,从最新的 *C++23* 讲起!然后讲 C++20、C++17、C++14、C++11,慢慢讲到最原始的 C++98。
39+
与大多数现有教材不同的是,本课程将会采用“倒叙”的形式,从最新的 **C++23** 讲起!然后讲 C++20、C++17、C++14、C++11,慢慢讲到最原始的 C++98。
1540

1641
不用担心,越是现代的 C++,学起来反而更容易!反而是古代 C++ 又臭又长。
1742

1843
很多同学想当然地误以为 C++98 最简单,哼哧哼哧费老大劲从 C++98 开始学,才是错误的。
1944

20-
为了应付缺胳膊少腿的 C++98,人们发明了各种*繁琐无谓*的写法,在现代 C++ 中,早就已经被更*简洁直观*的写法替代了。
45+
为了应付缺胳膊少腿的 C++98,人们发明了各种**繁琐无谓**的写法,在现代 C++ 中,早就已经被更**简洁直观**的写法替代了。
2146

2247
> [!TIP]
2348
> 例如所谓的 safe-bool idiom,写起来又臭又长,C++11 引入一个 `explicit` 关键字直接就秒了。结果还有一批劳保教材大吹特吹 safe-bool idiom,吹得好像是个什么高大上的设计模式一样,不过是个应付 C++98 语言缺陷的蹩脚玩意。
2449
25-
就好比一个*老外*想要学习汉语,他首先肯定是从*现代汉语*学起!而不是上来就教他*文言文*
50+
就好比一个**老外**想要学习汉语,他首先肯定是从**现代汉语**学起!而不是上来就教他**文言文**
2651

2752
> [!TIP]
2853
> 即使这个老外的职业就是“考古”,或者他对“古代文学”感兴趣,也不可能自学文言文的同时完全跳过现代汉语。
@@ -39,3 +64,7 @@ https://github.com/parallel101/cppguidebook/releases
3964

4065
> [!TIP]
4166
> 目前企业里主流使用的是 C++14 和 C++17。例如谷歌就明确规定要求 C++17。
67+
68+
## 开发环境与平台选择
69+
70+
[>> 继续阅读剩余章节](https://github.com/parallel101/cppguidebook/releases)

book.typ

+2
Original file line numberDiff line numberDiff line change
@@ -283,6 +283,8 @@ main 函数总是返回一个整数 (`int` 类型),用这个整数向操作系
283283
284284
== 黑色的窗口?
285285
286+
TODO: 介绍控制台
287+
286288
== 打印一些信息
287289
288290
```cpp

0 commit comments

Comments
 (0)