Package: juq
JuqYuque SDK and command line tool.CMD ToolInstallationpip3 install juq使用前需要配置Personal Access Token, 取得 TOKEN 后juq config set TOKEN "your token here"即可正常使用.Quickstart$juqconfigsetTOKEN"YourPersonalAccessToken"# 设置 TOKEN$juquserinfo# 查看个人信息id:294604login:inhzusname:inhzusdesc:None

$juquserreposinhzus# juq user repos {id}# 查看用户 inhzus 的所有知识库id:242345slug:bookname:inhzus
id:242344slug:kbname:Defaultrepository

$juqrepoinfoinhzus/book# juq repo info {repo_id}# 查看用户 inhzus 的 book 知识库的信息id:242345slug:bookname:inhzusitems:7public:0user_id:294604updated:2019-03-27T03:11:07.000Z

$juqrepocreate-h# 查看创建知识库的帮助信息# 省略$juqrepocreatetest"test repo"-p2-d"描述"# 创建路径名"test", 名称"test repo", 公开程度 2, 描述为"描述"的知识库.id:251878slug:testname:testrepo

$juqrepotocinhzus/book# 查看目录结构, 可以直接看出文档间的目录结构.id:1396889slug:2019-01-31-welcometitle:2019-01-31-welcome.md
id:1396890slug:2019-02-06-kmp-reviewtitle:2019-02-06-kmp-review.md
id:1396908slug:testtitle:Untitled
id:1432501slug:6ba67bdtitle:2019-03-26-juq-technical-docs.md

$juqdoctocinhzus/book1432501-a1396889-d1# 修改目录结构, 将第四个文档移至第一个文档后, 且深度为 1id:1396889slug:2019-01-31-welcometitle:2019-01-31-welcome.md|-id:1432501slug:6ba67bdtitle:2019-03-26-juq-technical-docs.md
id:1396890slug:2019-02-06-kmp-reviewtitle:2019-02-06-kmp-review.md
id:1396908slug:testtitle:Untitled

$juqdoccreateinhzus/testdoc.md-stestdoc-t"测试文档"-p# 在 inhzus/test 知识库创建文档, 使用本地的 doc.md 文件, 路径名"testdoc", 标题"测试文档", 公开$juqdocdeleteinhzus/test1436607# 删除文档$juqrepodeleteinhzus/test# 删除知识库Usagejuq 的使用均在命令行下执行.以下说明中, "[]"为可选参数, "|"为选择参数, "{}"为参数名参数(如文档标题)中若带有特殊符号, 推荐使用引号.Help查看指令的帮助文档, 使用 -h 参数即可:juq -h
juq config -h
juq config set -hConfigjuqconfigget{key}# 查看配置juqconfigset{key}{value}# 设置配置信息juqconfigreset# 重设所有配置信息, 请确认再三执行.配置信息可以通过以上指令实现, 也可以直接编辑~/.juq文件, 如:TOKEN:your_token_hereTIMEOUT:5User用户的唯一标识为 {login} 或 {id}{login} 即用户路径名, {id} 为语雀数据库中的标识号.juquserinfo[{login}|{id}]# 指定用户的信息. 若无参数, 即 TOKEN 用户的信息, 以下同juquserdocs[-q{q}][-o{offset}]# TOKEN 用户的文档. q 为模糊搜索关键词; offset 为页偏移(每页 20), 以下同juqusergroups[{login}|{id}]# 指定用户参与的团队juquserrepos[{id}|{login}][-tBook|Design|all][-o{offset}]# 指定用户的知识库. type, 类型: 默认为 all, 全部.juquserrecent[-tBook|Doc][-o{offset}]Group团队的唯一标识与用户规律相同.juqgroupinfo{login}|{id}# 指定团队的信息juqgrouprepos{login}|{id}[-tBook|Design|all][-o{offset}]# 指定团队的知识库Repo知识库的唯一标识为 ({login}|{id})/{slug} 或 {id}, 以下都使用 {repo_id} 代指.其中, {login} 和 {id} 是用户或团队的标识, {slug} 为知识库的知识库的路径名, {id} 为语雀数据库中的标识号.juqrepoinfo{repo_id}[-tBook|Design]# 指定知识库的信息. type, 类型: 默认为 Book, 以下同juqrepotoc{repo_id}# 指定知识库的目录结构juqreposearch{q}[-tBook|Design]# 模糊搜索知识库. q 模糊搜索关键词juqrepodocs{repo_id}# 指定知识库的全部文档, 不建议使用, toc 指令结果更加丰富.juqrepocreate{slug}{name}[-g{group_id}][-p0|1|2][-d{description}]# 创建知识库.# slug: 路径名; name: 知识库名;# group_id: 若该知识库将属于某团队, 使用该参数并配置即可;# p, public: 0 为私密, 1 为仅对登录用户开放, 2 为对所有人开放;# description: 知识库描述juqrepoupdate{repo_id}[-s{slug}][-n{name}][-p0|1|2][-d{description}]# 更新知识库信息. 参数同上.juqrepodelete{repo_id}# 删除知识库.Doc文档的唯一标识为{repo_id} 和({slug} 或 {id}),但 {slug} 不支持大部分接口, 因此强烈要求仅使用 {id}juqdocinfo{repo_id}{id}# 查看文档信息juqdoctoc{repo_id}{id}[-b{before}]|[-a{after}][-d{depth}]# 修改文档在知识库中的目录位置.# b, before: 指定在某文档之前, 使用 {id} 指定;# a, after: 指定在某文档之后;# after, before 参数二选一, 或可以都不设置, 默认添加在知识库的末尾.# d, depth: 文档的深度.# 如 $juq doc toc inhzus/book 232435 -b 232434 -d 1juqdoccreate{repo_id}{file}[-s{slug}][-t{title}][-p0|1]# 上传本地 markdown 文档.# file: 本地 markdown 文件的位置, 其中图片将自动上传;# slug: 文档路径名, 默认为随机串;# title: 文档名, 默认为文件名;# p, public, 使用该参数即公开, 默认私密.# 如: $juq doc create inhzus/book doc.md -s test_doc -t "test documentation" -pjuqdocupdate{repo_id}{id}{file}[-s{slug}][-t{title}][-p0|1]# 使用本地 markdown 更新文档, 参数同上.juqdocdelete{repo_id}{id}# 删除文档.Yuque SDK本项目也是"语雀" 的 SDK.Installationpip3installjuqConfiguration配置信息有:API_BASE_URL='https://www.yuque.com/api/v2'TIMEOUT=5SERIALIZE=TrueTOKEN=''其中API_BASE_URL为 API 路径, 若为企业用户需要参考文档设置.TIMEOUT 为请求 API 延迟.SERIALIZE 为是否序列化结构, 默认 True, 方便 type hints. 在当作 SDK 使用时, 为了避免 API 变动导致序列化丢失信息, 非常建议设为 False.TOKEN 为 Personal Access Token.配置方法参考上文.当然, 也可以在代码中进行配置, 只要在 SDK 调用前设置即可, 如fromjuqimportconfigfromjuqimportuser_handlerconfig['SERIALIZE']=Falseprint(user_handler.get_user_info_anonymous('inhzus'))NoticeUser, Group, Book/Repo, Doc 有不同的识别序列.User 的唯一标识为 {login} 或 {id}. {login} 即用户路径名, {id} 为语雀数据库中的标识号.Group 同上.Book 的唯一标识为 ({login}|{id})/{slug} 或 {id}, 其中, {login} 和 {id} 是 User 或 Group 的标识, {slug} 为 Book 路径名, {id} 为语雀数据库中的标识号.Doc 的唯一标识为{repo_id} 和({slug} 或 {id}),但 {slug} 不支持大部分接口, 因此强烈要求仅使用 {id}Usage配置文件请from juq import config进行配置.from juq import user_handler, group_handler, repo_handler, doc_handler分别对应 API文档详细使用说明请查看 docstring 或直接参考 API 文档传入参数即可.