Skip to content

Commit 7022f2f

Browse files
committed
docs: add details
1 parent 48e082b commit 7022f2f

5 files changed

Lines changed: 64 additions & 30 deletions

File tree

README.md

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
11
## 关于
22
![](https://img.shields.io/badge/LICENSE-CC%20BY--NC--SA%204.0-lightgrey)
33

4-
Julia-Roadmap 是一个计划,旨在帮助用户更好地了解、掌握和精通 Julia,提供学习路径、资料整合和现有经验。欢迎有意向者阅读[贡献指南](./CONTRIBUTING.md)
4+
欢迎阅读 Julia Roadmap!这是一个社区支持的计划,旨在帮助学习者更好地了解、掌握和精通 Julia 语言,并提供学习路径、资料整合、现有经验及练习。
5+
6+
更多内容见[主页](https://learn.juliacn.com/)
7+
8+
欢迎有贡献意向者阅读[贡献指南](./CONTRIBUTING.md)
59

610
## 许可
711
本项目文档部分采用[知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议](https://creativecommons.org/licenses/by-nc-sa/4.0/)进行许可(来源标注在相应页面末),代码部分采用 MIT license 进行许可。
@@ -13,11 +17,10 @@ Julia-Roadmap 是一个计划,旨在帮助用户更好地了解、掌握和精
1317
| <https://github.com/noob-data-analaysis/data-analysis> | <https://discourse.juliacn.com/t/topic/6223/56> |
1418
| <https://github.com/SAST-skill-docers/sast-skill-docs> | <https://github.com/SAST-skill-docers/sast-skill-docs/issues/33#issuecomment-1187707229> |
1519

16-
其余为原创,采用 MIT license 进行许可。
20+
其余图像为原创,采用 MIT license 进行许可。
1721

1822
## TODO
1923
文档覆盖
20-
- [ ] [中文文档](https://docs.juliacn.com/latest/)
2124
- [ ] [Modern Julia Workflows](https://modernjuliaworkflows.org/)
2225
- [x] Julia DataScience
2326
- [x] [Road2Coding](https://github.com/rd2coding/Road2Coding)
@@ -27,6 +30,9 @@ Julia-Roadmap 是一个计划,旨在帮助用户更好地了解、掌握和精
2730
- [ ] Plots
2831
- [ ] ~~DataFrames~~
2932

33+
建议参考
34+
- [ ] [中文文档](https://docs.juliacn.com/latest/)
35+
3036
介绍覆盖
3137
- [ ] 介绍[部分包分类](docs/workflow/classify.md) 中的各包文档
3238

docs/meta/about.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
* “语言基础”目录下包含 Julia 语言的基础内容,这与大部分其它语言是相似的。阅读该部分能够提供使用此语言的基本开发能力。
1010
* “语言进阶”目录下包含 Julia 中较独特的特性和功能。
1111
* 你可以根据[包简介](../workflow/introduction.md)的指示学会寻找、使用与制作你专业所需的包。例如数据科学可能需要阅读 `Dates``DataFrames``Makie` 的相关内容。[^ds]
12-
* 此外,你可以在[中文文档](https://docs.juliacn.com/latest/)中看到[性能建议](https://docs.juliacn.com/latest/manual/performance-tips/)及各种建议。更加深入的内容可以从[中文文档](https://docs.juliacn.com/latest/)、官方发布、各届 JuliaCon 中获取。
12+
* 此外,你可以在[中文文档](https://docs.juliacn.com/latest/)中看到[性能建议](https://docs.juliacn.com/latest/manual/performance-tips/)及各种建议。更加深入的内容可以从[中文文档](https://docs.juliacn.com/latest/)[官方发布](https://julialang.org/)、各届 [JuliaCon](https://juliacon.org/2025/) 中获取。
1313

1414
祝您学习顺利!
1515

docs/meta/resources.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,10 @@
2424
* [Julia 入门系列之一起读文档](https://space.bilibili.com/356692611/channel/seriesdetail?sid=501523)
2525
* [MIT《计算思维导论》2020秋季 18.S191 Introduction to Computational Thinking](https://www.bilibili.com/video/BV12V411m7zU/)
2626
* [Julia for Data Science](https://www.bilibili.com/video/BV1XC4y1a7t3/)
27-
* [同元的Julia教程](https://www.bilibili.com/video/BV1paNteWE1h/)
27+
* [同元的 Julia 教程](https://www.bilibili.com/video/BV1paNteWE1h/)
2828

2929
### 自媒体/博客
30+
* [Julia 英文社区的学习资料索引](https://julialang.org/learning/)
3031
* [The Julia Language Blog](https://julialang.org/blog/):官方的大事发布
3132
* [Julia Community](https://forem.julialang.org/)
3233
* [Julia Bloggers](https://www.juliabloggers.com/)

docs/workflow/develop.md

Lines changed: 48 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,50 @@
11
# 包开发
2-
## 流程
3-
通常来说,包的全部数据应该是一个 [git](../meta/tools/git.md) 仓库,置于 github(或其它保证长期稳定的服务器)中,建议添加一份[许可证](../knowledge/licenseknowledge.md)。每次更新时应在本地操作再推送到远程仓库并注册更新(若需要)
2+
## Git 仓库
3+
通常来说,包的全部数据应该是一个 [Git](../knowledge/git.md) 仓库,并且被置于 [Github](../knowledge/github.md)(或其它保证长期稳定的服务器)中。
44

5-
## 结构生成
6-
设置好路径后,可以在包管理器模式下使用 `generate foo` 生成基本框架。
5+
按照惯例,建议在仓库中添加如下内容,特别是如果你想要开源你的包
6+
* 一个名为 `README.md` 的文件介绍你的包(也可不用 Markdown)
7+
* 一份[许可证](../knowledge/licenseknowledge.md)
78

8-
[相对路径](../advanced/filesystem.md#路径) `./foo` 处生成一个目录,包含包的基本结构:
9-
- `src/foo.jl`,包含一个[模块](../advanced/module.md)的基本结构
10-
- `Project.toml`,包含相关注册信息
9+
如果需要团队合作,可以参考
10+
- [约定式提交规范(中文)](https://www.conventionalcommits.org/zh-hans/v1.0.0/)
11+
- [经典文:Angular 贡献规范](https://github.com/angular/angular.js/blob/main/CONTRIBUTING.md)
12+
- [Contributor's Guide on Collaborative Practices for Community Packages](https://github.com/SciML/ColPrac)
13+
14+
## 包结构初始化
15+
挑选好你的目标路径后,在包管理器模式下使用 `generate 名称` 生成包的基本框架。
16+
17+
例如 `generate foo` 将在[相对路径](../advanced/filesystem.md#路径) `./foo` 处生成一个目录,包含包的基本结构。
18+
```julia-repl
19+
(@v1.11) pkg> generate foo
20+
Generating project foo:
21+
foo\Project.toml
22+
foo\src\foo.jl
23+
```
24+
25+
`src/foo.jl` 文件包含一个[模块](../advanced/module.md)的基本结构。
26+
27+
如果还需初始化 Git,可使用 `git init` 命令。
1128

1229
也可以参照:
1330
- [官方提供的包示例](https://github.com/JuliaLang/Example.jl)
1431
- [包模板生成器](https://invenia.github.io/PkgTemplates.jl/stable/)
1532

16-
## Project.toml
17-
`Project.toml` 使用 [TOML 格式](../knowledge/toml.md),数据中必须含有以下内容
18-
- `name` 表示包名,应与模块名一致
33+
获得更丰富的模板。
34+
35+
## 包的配置
36+
包的配置数据写在 `Project.toml` 文件中。这个文件使用 [TOML 格式](../knowledge/toml.md)
37+
38+
配置数据中必须含有以下内容:
39+
- `name` 包名,应与模块名一致
1940
- `uuid` 一个独一无二的 UUID,可以使用 [UUIDs](../packages/uuids.md) 生成
20-
- `version` 当前[版本](../advanced/versionnumber.md)
21-
- `[deps]` 一个字典,包含 `基于的包名 = "它的UUID"`,后者可以通过查找对应仓库中填写的 `uuid` 项或其它调用了它的包中的 `[deps]` 项获取
41+
- `version` 包的当前[版本](../advanced/versionnumber.md)
42+
- `[deps]` 一个字典,包含 `基于的包名 = "它的 UUID"`,后者可以通过查找对应仓库中填写的 `uuid` 项或其它调用了它的包中的 `[deps]` 项获取
2243
- `[compat]` 一个字典,包含 `包名 = "支持的版本"`,特别地,`julia` 项表示支持的 Julia 版本
23-
- [`extras``target` 的用途](https://discourse.juliacn.com/t/topic/6341/2)
2444

25-
示例
45+
此外,还可选择填写 [`extras``target`](https://discourse.juliacn.com/t/topic/6341/2)
46+
47+
示例的文件内容如下:
2648
```julia-repl
2749
name = "LightLearn"
2850
uuid = "aea05ee4-eee8-4bb2-9be1-ccb376bfd141"
@@ -39,15 +61,19 @@ ColorTypes = "0.11"
3961
PNGFiles = "0.3"
4062
```
4163

42-
## build
43-
该功能的必要性与实际情况有关。
64+
## 包的构建
65+
这个功能仅在包比较复杂,需要主动控制包的构建流程时用到。
66+
4467
当包第一次被安装或运行 `build` 命令时,会调用 `deps/build.jl` 中的代码。
45-
`build` 失败,提示信息会在终端显示
4668

47-
## test
48-
该功能不是必要的;可参考 [Test 的使用](../packages/test.md)
69+
若构建失败,提示信息会在终端显示失败的详细信息。
70+
71+
## 包的测试
72+
可参阅:如何编写有效的单元测试?
73+
74+
关于 `test` 命令,可参考 [Test 的使用](../packages/test.md)
4975

50-
## 手动测试
76+
### 手动测试
5177
`add` 命令允许参数是一个本地路径,从而在本地安装包,以模拟包环境。
5278

5379
该路径指向的资源必须是一个 `git` 仓库,且它会读取最近的 `commit` 数据。
@@ -90,7 +116,7 @@ Julia 1.5 以后,[Scratch](../packages/scratch.md)提供了*临时空间*的
90116
### Preferences
91117
Julia 1.6 以后,`Preferences` 允许包读写首选项到顶级的 `Project.toml`。这些首选项可以在运行时或编译时读取,以启用或禁用包行为的不同方面(以前,包会将文件写入到它们自己的包目录中以记录由用户或环境设置的选项,但现在不鼓励该行为)
92118

93-
### 其它
94-
如果希望团队协助,可以参考[经典文:贡献规范](https://github.com/angular/angular.js/blob/main/CONTRIBUTING.md)
119+
## 参阅
120+
- [Modern Julia Workflows](https://modernjuliaworkflows.org/)
95121

96122
[^1]: https://juliaregistries.github.io/RegistryCI.jl/stable/guidelines/

docs/workflow/stdlib.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
1-
# 标准库
2-
[中文文档](https://docs.juliacn.com/latest/)侧边栏 `Standard Library` 处可以找到当前标准库找到列表。
1+
# 标准库说明
2+
可以在[中文文档](https://docs.juliacn.com/latest/)侧边栏“标准库”一列看到当前标准库的列表。
3+
34
部分标准库是位于 `Base` 下的子[模块](../advanced/module.md),部分标准库可能需要安装。
45

56
## 参阅
67
- [近来部分包被建议移出标准库的相关信息](https://discourse.juliacn.com/t/topic/6323)
78
- [What is a Julia standard library?](https://github.com/JuliaLang/julia/discussions/43116)
89

9-
## 已有文档
10+
## 相关文档
1011
- [CRC32c - CRC32c 校验算法实现](../packages/crc32c.md)
1112
- [Dates - 日期与时间](../packages/dates.md)
1213
- [Downloads - 基本爬虫需求](../packages/downloads.md)

0 commit comments

Comments
 (0)