ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

DevDocs 如何用 thor docs:download 与 docs:list 下载和更新预生成的文档包?

DevDocs 如何用 thor docs:download 与 docs:list 下载和更新预生成的文档包? DevDocs 如何用 thor docs:download 与 docs:list 下载和更新预生成的文档包【免费下载链接】devdocsAPI Documentation Browser项目地址: https://gitcode.com/GitHub_Trending/de/devdocs在本地搭建 DevDocs一个聚合多份 API 文档并提供即时搜索的浏览器时需要把预生成的文档包从 DevDocs 的服务器下载到本地再由 Sinatra 应用读取。本文对应的任务是克隆 DevDocs 仓库后用thor docs:list查看可用的文档及版本用thor docs:download按需下载或更新文档包最后启动本地服务确认下载的文档能正常访问。适用前提来自 README.md 的 Manual Installation 一节Ruby 4.0.6版本在Gemfile中定义libcurl一个 ExecJS 支持的 JavaScript 运行时macOS 和 Windows 自带Linux 上需要 Node.js准备克隆仓库并安装依赖以下命令按顺序在终端中执行git clone https://github.com/freeCodeCamp/devdocs.git cd devdocs gem install bundler bundle installREADME 特别提醒如果系统上安装了多个 Ruby 版本后续所有thor命令都必须通过bundle exec执行例如bundle exec thor docs:download --default。用 thor docs:list 查询文档名和版本下载之前先确认目标文档的确切名称和版本thor docs:list该命令列出当前项目支持的全部文档带版本的文档会以名称版本号的形式逐行输出结果通过tty-pager分页显示。实现位于 lib/tasks/docs.thor。docs:list还有一个--packaged选项但它列出的是本地已经打包*.tar.gz的文档用于维护者流程普通下载场景不需要。另外运行thor list可以在项目根目录查看 CLI 提供的所有命令和选项。下载文档包thor docs:download的用法为见 lib/tasks/docs.thorthor docs:download (doc docversion... | --default | --installed | --all)按目标选择参数按需下载直接传一个或多个文档名如thor docs:download html css带版本的文档必须用名称版本格式指定版本例如thor docs:download node10\ LTSREADME.md 与 docs/maintainers.md 中均以rails5.2这类写法举例。不带版本时docs:download会取该文档定义的第一个版本。--default下载 README 手动安装流程推荐的默认集合css dom html http javascript定义于 lib/docs.rb。首次安装走这条路径即可。--all下载并安装本项目支持的全部文档。Docker 镜像构建时用的就是这个选项见 Dockerfile 中的thor docs:download --all。--installed重新下载所有已经下载过的文档即更新全部已装文档的命令详见下文。下载过程的输出形如每处理完一个文档打印一行(序号/总数) 文档名 版本 OK失败时打印FAILED (异常类: 异常信息)全部完成后打印Done。命令结束后还会自动重新生成清单文件generate_manifest该清单写入public/docs/docs.json供应用端知道系统上当前有哪些文档。启动服务并验证下载完成后启动服务器bundle exec rackup然后把浏览器指向 localhost:9292。按 README.md 的说明第一次请求会花几秒编译 assets之后即可正常浏览——这就是下载成功的可核对结果页面中能看到刚下载的文档集并可用侧边栏的文档选择界面勾选要启用的文档。如果某行输出是FAILED检查网络与文档名拼写文档名错误时会看到ERROR: ...以及提示Run thor docs:list to see the list of docs and versions.回到上一步核对名称和版本即可。更新已下载的文档README 明确说明项目目前没有别的更新机制更新分两部分git pull origin main # 更新代码 thor docs:download --installed # 下载所有已装文档的最新版本--installed的范围由本地public/docs下存在的index.json决定见 lib/docs.rb 的Docs.installed所以它只会更新你已经下载过的文档不会拉取新的。限制与常见问题依赖生产环境thor docs:download下载的是维护者通过thor docs:upload上传到生产的包下载源为 downloads.devdocs.io见 docs/maintainers.md。如果某个新文档的 PR 已合并但文件尚未上传到生产对该文档的docs:download会失败——这不是本地环境问题。public/docs/docs.json不要提交它只反映本地下载/生成过哪些文档全新 clone 下应为空docs/maintainers.md 明确要求 never commit。可选分支--rclonedocs:download支持--rclone选项改用rclone copy devdocs:devdocs-downloads/path.tar.gz ...从远端拉包lib/tasks/docs.thor需要本机已配置好 rclone 的devdocs远端默认路径用 HTTP 直接下载一般无需此选项。不要本地重新抓取对大多数文档直接docs:download拿官方测试过的版本即可thor docs:generate会向源站发起数千次 HTTP 请求README 与 docs/maintainers.md 都建议只在修改 scraper 代码时才运行。完成以上步骤后public/docs下有解压好的文档目录、public/docs/docs.json已更新、rackup服务在 localhost:9292 可正常浏览所下载的文档即说明下载与更新流程全部完成。【免费下载链接】devdocsAPI Documentation Browser项目地址: https://gitcode.com/GitHub_Trending/de/devdocs创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表