尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
DevDocs 如何为 R 语言文档编译并获取本地 HTML 源文件?
DevDocs 如何为 R 语言文档编译并获取本地 HTML 源文件【免费下载链接】devdocsAPI Documentation Browser项目地址: https://gitcode.com/GitHub_Trending/de/devdocsDevDocs 里的 R 文档和大多数文档不一样它的 scraperDocs::R继承自FileScraper不从网上抓取而是直接读取仓库本地目录docs/r里的文件。如果这个目录不存在scraping 会直接抛出SetupError。所以要在本地生成 R 文档必须先自己编译 R 源码、生成静态 HTML 页面再把这些文件放进docs/r。docs/file-scrapers.md 的 “R” 一节给出了完整的构建脚本本文按这条路径走一遍安装编译依赖 → 编译 R 静态 HTML → 拷贝进docs/r→ 用 scraper 命令验证结果。先确认 scraper 从哪里读文件R scraper 的定义在 lib/docs/scrapers/r.rbclass R FileScraper self.name R self.slug r self.type simple self.release 4.4.2 self.root_path doc/html/packages.html html_filters.push r/entries, r/clean_htmlFileScraper的读取规则见 lib/docs/core/scrapers/file_scraper.rb源文件目录是仓库根下的docs拼接 scraper 的 path也就是docs/r。当该目录缺失时scraper 会先尝试download_source自动下载——Docs::R没有覆写这个方法基类默认返回false——于是直接报错The R scraper requires the original documentation files to be stored in the docs/r directory.这确认了两件事目标目录就是docs/r而且docs/r/doc/html/packages.html即root_path必须是构建产物的一部分它是抓取入口。另外两个过滤器决定了最终页面形态构建时可以对照理解lib/docs/filters/r/entries.rb 从各包的00Index.html生成条目元数据lib/docs/filters/r/clean_html.rb 负责去掉每页的 “R Documentation” 表格、页脚等结构。准备条件一套使用dnf的 Linux 发行版且有 root 权限脚本里的依赖安装命令是sudo dnf install需要执行系统包安装。R 编译所需的五个依赖包脚本原文bzip2-devel、gcc-gfortran、libcurl-devel、texinfo、xz-devel。DevDocs 本身可运行README 要求 Ruby 4.0.6、libcurl以及 ExecJS 支持的 JavaScript 运行时然后执行gem install bundler和bundle install。以下构建脚本需要在DevDocs 仓库根目录执行因为DEVDOCSROOTdocs/r是相对路径。编译 R 静态 HTML 并放入 docs/rdocs/file-scrapers.md 给出的完整脚本如下可直接照抄sudo dnf install bzip2-devel sudo dnf install gcc-gfortran sudo dnf install libcurl-devel sudo dnf install texinfo sudo dnf install xz-devel DEVDOCSROOTdocs/r RLATESThttps://cran.r-project.org/src/base/R-latest.tar.gz # or /R-${VERSION::1}/R-$VERSION.tar.gz RSOURCEDIR${TMPDIR:-/tmp}/R/latest RBUILDDIR${TMPDIR:-/tmp}/R/build mkdir -p $RSOURCEDIR $RBUILDDIR $DEVDOCSROOT # Download, configure, and build with static HTML pages curl $RLATEST | tar -C $RSOURCEDIR -xzf - --strip-components1 (cd $RBUILDDIR $RSOURCEDIR/configure --enable-prebuilt-html --with-recommended-packages --disable-byte-compiled-packages --disable-shared --disable-java --with-readlineno --with-xno) make _R_HELP_LINKS_TO_TOPICS_FALSE -C $RBUILDDIR # Export all html documentation built − global, and per-package cp -r $RBUILDDIR/doc $DEVDOCSROOT/ ls -d $RBUILDDIR/library/*/html | while read orig; do dest$DEVDOCSROOT${orig#$RBUILDDIR} mkdir -p $dest cp -r $orig/* $dest/ done执行前需要了解的变量和参数DEVDOCSROOTdocs/r产物最终落点必须与上一节说的 scraper 源目录一致。脚本里的mkdir -p会自动创建它。RLATEST默认下载R-latest.tar.gz。要构建指定版本时按脚本注释改用R-${VERSION::1}/R-$VERSION.tar.gz路径形式——$VERSION是完整版本号${VERSION::1}取其第一个字符作为 CRAN 上的目录名例如4。RSOURCEDIR/RBUILDDIR源码目录与构建目录默认在$TMPDIR下未设置时退回/tmp。整个过程只做 out-of-source 构建脚本里没有make install编译结果留在构建目录中不会向系统安装 R。configure的--enable-prebuilt-html是产出静态 HTML 的关键脚本注释即 “build with static HTML pages”--with-recommended-packages、--disable-byte-compiled-packages、--disable-shared、--disable-java、--with-readlineno、--with-xno均保留脚本原样文档未逐一解释其含义。最后两段拷贝是“全局 每包”两级导出$RBUILDDIR/doc整体拷入docs/r/doc/再把每个包的$RBUILDDIR/library/*/html按相同相对路径拷进docs/r/library/包名/html/。构建完成后docs/r下应当具备 scraper 所需的两类文件入口docs/r/doc/html/packages.html以及docs/r/library/包名/html/下的各包页面。用 scraper 命令验证源文件源文件就位后按 docs/adding-docs.md 的流程逐项验证thor docs:list确认r出现在文档列表中多版本 Ruby 环境下命令需通过bundle exec执行。单页验证thor docs:page r [path]。对FileScraper来说[path]是本地路径且必须从/开头否则命令会直接提示ERROR: [path] must be an absolute path.。成功时输出Done生成的页面出现在public/docs/r/目录失败时输出Failed!并建议加--debug查看细节。全量生成thor docs:generate r --force。成功输出Done--verbose可看哪些文件被创建/更新/删除--debug可看被请求和加入队列的 URL便于定位是哪页把不该抓的链接带进了队列。FileScraper直接读本地文件、没有响应缓存这一步只依赖docs/r的内容是否完整。启动应用确认页面渲染bundle exec rackup后把浏览器指向localhost:9292首次请求会花几秒编译资源在应用里启用 R 文档并浏览页面。最后用thor updates:check r确认显示的 latest version 正确——Docs::R#get_latest_version通过解析 CRAN 的 NEWS 页面CHANGES IN R x.y.z:行得到该值。如果某一步报错先回到第 2 步用--debug复现单页失败再检查docs/r里对应路径的文件是否存在、是否为空——FileScraper对每个文件的处理条件是“存在且非空”空文件会被视为无法处理。已知限制scraper 声明的release目前是4.4.2见 lib/docs/scrapers/r.rb。脚本默认构建R-latest二者版本号不一致这一点文档未说明影响若你锁定特定版本构建注意对照release声明自行判断。scraper 明确跳过的文件/DESCRIPTION、/NEWS含变体、/doc/index.html、/demo、*.pdf以及doc/html下的packages-head-utf8.html、Search.html、SearchOn.html、UserManuals.html、faq.html和doc/manual下的R-FAQ、R-admin、R-exts、R-ints、R-lang。构建产物里这些文件会被忽略属预期行为。R scraper 的type是simple页面样式复用assets/stylesheets/pages/_simple.scss的通用规则不需要单独的页面 SCSS 文件。thor docs:clean会删除文档包和缓存响应但它不影响docs/r下的源文件docs/r只有在你重新执行构建脚本前一直是有效来源。【免费下载链接】devdocsAPI Documentation Browser项目地址: https://gitcode.com/GitHub_Trending/de/devdocs创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED

相关推荐

PCIe链路信任机制深度解析:从物理层到事务层的性能真相

PCIe链路信任机制深度解析:从物理层到事务层的性能真相

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📅 2026/9/11 14:19:23
洁净车间环境监控系统设计与实践

洁净车间环境监控系统设计与实践

1. 洁净车间环境监控的行业痛点在制药、电子制造、食品加工等行业,洁净车间的温湿度控制直接关系到产品质量和生产安全。传统的人工巡检方式存在三大致命缺陷:数据滞后性:每小时记录一次的手工台账无法捕捉突发性环境波动,等发现问…

📅 2026/9/11 14:14:18
Windows全局文件搜索神器Everything:原理、配置与搜索技巧完全指南

Windows全局文件搜索神器Everything:原理、配置与搜索技巧完全指南

电脑全局搜索Everything:丢掉“等它转圈”的日子,找回指尖即达的检索快感如果你每天都在Windows上找文件,一定经历过这种崩溃:明明知道文件名里有个关键词,但打开资源管理器右上角的搜索框,它转啊转&#x…

📅 2026/9/11 14:14:18
MORE NEWS

更多资讯

📰

基于MATLAB的MIMO-OFDM仿真程序解析:从发射链路到误码率曲线

简介:这套基于MATLAB实现的MIMO-OFDM仿真程序,面向通信工程与信号处理方向的初学者和研究人员,是理解多天线正交频分复用系统原理及仿真的实用资料。压缩包共31个文件,含15个m函数文件(完成信道建模、调制解调、OFDM收…

📰

Midscene Chrome扩展安装教程:自然语言控制浏览器,4步跑通第一个AI自动化任务

Midscene Chrome扩展安装教程:自然语言控制浏览器,4步跑通第一个AI自动化任务 【免费下载链接】midscene GUI Agent for E2E Testing 项目地址: https://gitcode.com/GitHub_Trending/mid/midscene Midscene Chrome扩展是一款面向新手的AI浏览器自…

📰

如何用 Docker 运行 Android 模拟器:3 分钟跑通 Docker-Android

如何用 Docker 运行 Android 模拟器:3 分钟跑通 Docker-Android 【免费下载链接】docker-android Android in docker solution with noVNC supported, video recording and mcp server 项目地址: https://gitcode.com/GitHub_Trending/do/docker-android CI …

📰

DevDocs 如何为 R 语言文档编译并获取本地 HTML 源文件?

DevDocs 如何为 R 语言文档编译并获取本地 HTML 源文件? 【免费下载链接】devdocs API Documentation Browser 项目地址: https://gitcode.com/GitHub_Trending/de/devdocs DevDocs 里的 R 文档和大多数文档不一样:它的 scraper Docs::R 继承自 F…

📰

PCIe链路信任机制深度解析:从物理层到事务层的性能真相

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

洁净车间环境监控系统设计与实践

1. 洁净车间环境监控的行业痛点在制药、电子制造、食品加工等行业,洁净车间的温湿度控制直接关系到产品质量和生产安全。传统的人工巡检方式存在三大致命缺陷:数据滞后性:每小时记录一次的手工台账无法捕捉突发性环境波动,等发现问…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬