README.md 3.8 KB
Newer Older
F
feilong 已提交
1
# skill_tree_web_in_action
CSDN-Ada助手's avatar
CSDN-Ada助手 已提交
2

F
feilong 已提交
3
`Web实战技能树`[技能森林](https://gitcode.net/csdn/skill_tree)的一部分。
CSDN-Ada助手's avatar
CSDN-Ada助手 已提交
4 5 6

## 初始化

F
feilong 已提交
7
```bash
CSDN-Ada助手's avatar
CSDN-Ada助手 已提交
8 9 10 11 12 13
pip install -r requirements.txt
```

## 目录结构说明

* 技能树`骨架文件`
F
feilong 已提交
14 15
  * 位置:`data/tree.json` 
  * 说明:该文件是执行 `python main.py` 生成的,请勿人工编辑
CSDN-Ada助手's avatar
CSDN-Ada助手 已提交
16
* 技能树`根节点`配置文件:
F
feilong 已提交
17 18
  * 位置:`data/config.json`
  * 说明:可编辑配置关键词等字段,其中 `node_id` 字段是生成的,请勿编辑
CSDN-Ada助手's avatar
CSDN-Ada助手 已提交
19
* 技能树`难度节点`
F
feilong 已提交
20 21 22 23
  * 位置:`data/xxx`,例如: `data/1.Web实战初阶`
  * 说明:
    * 每个技能树有 3 个等级,目录前的序号是必要的,用来保持文件夹目录的顺序
    * 每个目录下有一个 `config.json` 可配置关键词信息,其中 `node_id` 字段是生成的,请勿编辑
CSDN-Ada助手's avatar
CSDN-Ada助手 已提交
24
* 技能树`章节点`
F
feilong 已提交
25 26 27 28
  * 位置:`data/xxx/xxx`,例如:`data/1.Web实战初阶/1.git`
  * 说明:
    * 每个技能树的每个难度等级有 n 个章节,目录前的序号是必要的,用来保持文件夹目录的顺序
    * 每个目录下有一个 `config.json` 可配置关键词信息,其中 `node_id` 字段是生成的,请勿编辑
CSDN-Ada助手's avatar
CSDN-Ada助手 已提交
29
* 技能树`知识节点`
F
feilong 已提交
30 31 32 33 34 35 36 37
  * 位置:`data/xxx/xxx/xxx`,例如:`data/1.Web实战初阶/1.git/3.push修改到远程创库`
  * 说明:
    * 每个技能树的每章有 `n` 个知识节点,目录前的序号是必要的,用来保持文件夹目录的顺序
    * 每个目录下有一个 `config.json`
      * 其中 `node_id` 字段是生成的,请勿编辑
      * 其中 `keywords` 可配置关键字字段
      * 其中 `children` 可配置该`知识节点`下的子树结构信息,参考后面描述
      * 其中 `export` 可配置该`知识节点`下的导出习题信息,参考后面描述
CSDN-Ada助手's avatar
CSDN-Ada助手 已提交
38 39 40 41


## `知识节点` 子树信息结构

F
feilong 已提交
42 43
例如 `data/1.Web实战初阶/1.git/4.push修改到远程创库/config.json` 里配置对该知识节点子树信息结构:

CSDN-Ada助手's avatar
CSDN-Ada助手 已提交
44 45
```json
{
F
feilong 已提交
46
  // ...
CSDN-Ada助手's avatar
CSDN-Ada助手 已提交
47

F
feilong 已提交
48 49 50
  "children": [
    // TODO ...
  ],
CSDN-Ada助手's avatar
CSDN-Ada助手 已提交
51 52 53 54 55
}
```

## `知识节点` 的导出习题编辑

F
feilong 已提交
56
例如 `data/1.Web实战初阶/1.git/4.push修改到远程创库/config.json` 里配置对该知识节点导出的习题
CSDN-Ada助手's avatar
CSDN-Ada助手 已提交
57 58 59

```json
{
F
feilong 已提交
60 61 62 63
  // ...
  "export": [
    "hello.sh"
  ]
CSDN-Ada助手's avatar
CSDN-Ada助手 已提交
64 65 66 67 68
}
```

## `知识节点` 的导出习题选项配置编辑

F
feilong 已提交
69
如前内容,我们在知识节点下增加一个习题定义,例如在 `data/1.Web实战初阶/1.git/4.push修改到远程创库` 下增加一个`hello.json`代码:
CSDN-Ada助手's avatar
CSDN-Ada助手 已提交
70 71 72

```json
{
F
feilong 已提交
73 74 75 76
  "type": "code_options",
  "author": "刘鑫",
  "source": "hello.md",
  "notebook_enable": false
CSDN-Ada助手's avatar
CSDN-Ada助手 已提交
77 78
}
```
F
feilong 已提交
79

M
Mars Liu 已提交
80
其中 type 字段目前都固定是 `code_options`。根据具体情况写好其它字段,注意这里 source 的文件名,我们指定了一个 markdwon 文件。现在我们新建一个 HelloWorld.md 并编辑为:
CSDN-Ada助手's avatar
CSDN-Ada助手 已提交
81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97

````markdown
# Hello World


以下 `Hello World` 代码中,能够正确提交代码到远程maste仓库的是:

## 答案

```console
$ git add README.txt
$ git commit -m "first modify README.txt"
$ git push origin master
```

## 选项

M
Mars Liu 已提交
98
### add 子命令错误
CSDN-Ada助手's avatar
CSDN-Ada助手 已提交
99 100 101 102 103 104 105 106

```console
// HelloWord.1.sh
$ git put README.txt
$ git commit -a "first modify README.txt"
$ git push origin master
```

M
Mars Liu 已提交
107
### commit 子命令错误
CSDN-Ada助手's avatar
CSDN-Ada助手 已提交
108 109 110 111 112 113 114

```console
$ git add README.txt
$ git base -m "first modify README.txt"
$ git pull origin master
```

M
Mars Liu 已提交
115 116 117 118 119 120 121
### push 子命令错误

```console
$ git add README.txt
$ git commit -m "first modify README.txt"
$ git pull origin master
```
CSDN-Ada助手's avatar
CSDN-Ada助手 已提交
122 123 124 125

````

这是一个最基本的习题结构,它包含标题、答案、选项,注意这几个一级和二级标题必须填写正确,解释器会读取这几个标题。而选项的标题会被直接忽略掉,在
F
feilong 已提交
126
最终生成的习题中不包含选项的三级标题,所以这个标题可以用来标注一些编辑信息,例如“此选项没有关闭文件连接”,“类型错误”等等。