diff --git a/src/skill_tree/img.py b/src/skill_tree/img.py index 48dcc1b8190b94d1fcf0e8a84bc56db789dc5861..bcad55858281b7a78317dacfeba85a2efc5899dc 100644 --- a/src/skill_tree/img.py +++ b/src/skill_tree/img.py @@ -1,4 +1,5 @@ import os +import subprocess from sys import path, version from types import new_class from .tree import load_json, dump_json @@ -19,10 +20,20 @@ def simple_list_md_dump(p, lines): f.write('\n'.join(lines)) +def get_repo_name(): + ret = subprocess.Popen([ + "git", "config", "--get", "remote.origin.url" + ], stdout=subprocess.PIPE) + lines = list(map(lambda l: l.decode(), ret.stdout.readlines())) + url = lines[0] + return url.split('/')[-1].split('.')[0] + + class ImgWalker(): def __init__(self, root) -> None: self.root = root + self.repo_name = get_repo_name() def walk(self): for base, dirs, files in os.walk(self.root): @@ -33,12 +44,7 @@ class ImgWalker(): md_new = [] for line in md_lines: new_line = line.replace( - '![](./', f'![](https://gitcode.net/csdn/skill_tree_git_md_linux/-/raw/master/{base}/') - - -
+ '![](./', f'![](https://gitcode.net/csdn/{self.repo_name}/-/raw/master/{base}/') md_new.append(new_line) md_new.append('') simple_list_md_dump(md_file, md_new) - # import sys - # sys.exit(0) diff --git a/src/skill_tree/tree.py b/src/skill_tree/tree.py index 9954889e61b8c2b02e6459d2888c11135dd98971..145241aa4c19ec061a0f9ba76aae3b6ab5b000fa 100644 --- a/src/skill_tree/tree.py +++ b/src/skill_tree/tree.py @@ -659,6 +659,26 @@ class TreeWalker: f'* 合成过程中,会自动检查每个知识点目录下 `config.json` 里的 `export` 里导出的习题配置,检查是否存在`exercise_id` 字段,如果不存在则生成', f'* 在 节 目录下根据需要,可以添加一些子目录用来测试代码。', f'* 开始游戏入门技能树构建之旅,GoodLuck! ', + f'## FAQ', + f'', + f'**难度目录是固定的么?**', + f'', + f'1. data/xxx 目录下的子目录是固定的初/中/高三个难度等级目录', + f'', + f'**如何增加章目录?**', + f'', + f'1. 在VSCode里打开项目仓库', + f'2. 在对应的难度等级目录新建章目录,例如在 data/1.xxx初阶/ 下新建章文件夹,data/1.xxx初阶/1.yyy', + f'3. 在项目根目录下执行 python main.py 脚本,会自动生成章的配置文件 data/1.xxx初阶/1.yyy/config.json', + f'', + f'**如何增加节目录?**:', + f'1. 直接在VSCode里创建文件夹,例如 "data/1.xxx初阶/1.yyy/2.zzz"', + f'2. 项目根目录下执行 python main.py 会自动为新增节创建配置文件 data/1.xxx初阶/1.yyy/2.zzz/config.json', + f'', + f'**如何在节下新增一个习题**:', + f'3. 在"data/1.xxx初阶/1.yyy/2.zzz" 目录下添加一个 markdown 文件编辑,例如 yyy.md,按照习题markdown格式编辑习题。', + f'4. md编辑完后,可以再次执行 python main.py 会自动生成同名的 yyy.json,并将 yyy.json 添加到config.json 的export数组里。', + f'5. yyy.json里的author信息放作者 CSDN ID。', ] simple_list_md_dump('README.md', md)