{"slug":"knit-rmd-html","title":"knit-rmd-html","summary":"Knit/render R Markdown (.Rmd) to HTML reliably in this repo (auto-bootstrap pandoc, set correct knit_root_dir, and run rmarkdown::render via a Python wrapper).","platform":"Claude","tags":[],"authorName":"LLM Mart","authorSlug":"llm-mart","score":0,"source":"github","price":null,"verified":false,"createdAt":"2026-08-27T17:01:26.864721Z","repo":{"url":"https://github.com/huangwb8/skills","stars":48,"forks":8,"license":"MIT","updatedAt":"2026-09-25T04:25:50Z"},"bodyHtml":"<h1>Knit Rmd HTML</h1>\n<p>当前版本：<code>0.1.1</code>。</p>\n<p>这个 skill 用来把 <code>.Rmd</code> 文件稳定地渲染成 HTML，适合仓库里的高频 R Markdown 报告输出；如果你想生成 PDF、Word 或处理普通 Markdown，就不该直接用它。</p>\n<h2>用法</h2>\n<h3>最推荐用法</h3>\n<pre><code>请使用 knit-rmd-html skill 将这个 R Markdown 文件渲染成 HTML。\n输入：`/path/to/report.Rmd`\n输出：对应的 `.html` 文件，默认输出到同目录\n</code></pre>\n<h3>进阶用法</h3>\n<pre><code>请使用 knit-rmd-html skill 渲染这个 R Markdown 文件。\n输入：`/path/to/report.Rmd`\n输出：指定输出位置的 HTML 文件\n另外，还有下列参数约束：\n- 输出路径：`/path/to/out/report.html`\n- 缺少 pandoc 时允许自动安装：是\n- 日志尽量安静：是\n</code></pre>\n<h2>能做什么</h2>\n<ul>\n<li>使用 Python 包装层调用 <code>rmarkdown::render()</code>，减少环境差异带来的失败。</li>\n<li>缺少 <code>pandoc</code> 时可自动引导安装。</li>\n<li>Windows 下兼容 Pandoc ZIP 的根目录与 <code>bin/</code> 两类布局，并识别 <code>pandoc.exe</code>。</li>\n<li>Rscript 输出固定按 UTF-8 解码，不依赖中文控制台的 GBK locale。</li>\n<li>通过正确设置 <code>knit_root_dir</code>，让 Rmd 内相对路径更稳定。</li>\n<li>适合本仓库内“把 Rmd 可靠地 knit 成 HTML”的固定场景。</li>\n<li>不适合替代通用报告系统或其它输出格式转换器。</li>\n</ul>\n<h2>使用示例</h2>\n<h3>示例 1：渲染单个 Rmd</h3>\n<pre><code>请使用 knit-rmd-html skill 将这个 R Markdown 文件渲染成 HTML。\n输入：`analysis/report.Rmd`\n输出：`analysis/report.html`\n</code></pre>\n<h3>示例 2：指定输出文件</h3>\n<pre><code>请使用 knit-rmd-html skill 渲染这个文件。\n输入：`analysis/report.Rmd`\n输出：`./outputs/report-final.html`\n</code></pre>\n<h3>示例 3：要求失败即报错</h3>\n<pre><code>请使用 knit-rmd-html skill 渲染这个 Rmd。\n输入：`report.Rmd`\n输出：HTML 文件\n另外，还有下列参数约束：\n- 不自动安装依赖：是\n- 输出日志：简洁\n</code></pre>\n<h2>输出</h2>\n<ul>\n<li>默认输出：与输入 <code>.Rmd</code> 同目录下的同名 <code>.html</code>。</li>\n<li>可以通过参数显式指定输出路径。</li>\n<li>缺少 <code>pandoc</code> 时可自动补齐到本地用户目录。</li>\n<li>需要 <code>Rscript</code> 可用；否则无法真正执行渲染。</li>\n</ul>\n<h2>配置</h2>\n<ul>\n<li>版本号由 <code>config.yaml:skill_info.version</code> 统一管理，高频设置通过命令行参数控制。</li>\n<li>最常用参数：\n<ul>\n<li><code>-o</code> / <code>--output</code></li>\n<li><code>--pandoc-version</code></li>\n<li><code>--no-install</code></li>\n<li><code>--quiet</code></li>\n</ul>\n</li>\n</ul>\n<h2>备选用法（脚本/硬编码）</h2>\n<p>如果你已经在仓库里，直接运行脚本通常是最稳定的方式。</p>\n<h3>基础渲染</h3>\n<pre><code>python3 knit-rmd-html/scripts/knit_rmd_html.py report.Rmd\n</code></pre>\n<h3>指定输出文件</h3>\n<pre><code>python3 knit-rmd-html/scripts/knit_rmd_html.py \\\n  report.Rmd \\\n  -o outputs/report.html\n</code></pre>\n<h3>控制依赖安装与日志</h3>\n<pre><code>python3 knit-rmd-html/scripts/knit_rmd_html.py \\\n  report.Rmd \\\n  --no-install \\\n  --quiet\n</code></pre>\n<h2>常见问题</h2>\n<h3>Q：为什么这个 skill 不直接让我写 R 命令？</h3>\n<p>A：因为它的价值之一就是帮你把环境检测、<code>pandoc</code> 补齐和稳定渲染流程包装好。</p>\n<h3>Q：会自动安装什么？</h3>\n<p>A：主要是缺失的 <code>pandoc</code>。真正的渲染仍然依赖本地 <code>Rscript</code> 和 <code>rmarkdown</code> 运行环境。</p>\n<h3>Q：为什么输出默认在原文件旁边？</h3>\n<p>A：这是最符合直觉、也最不容易弄丢结果的默认行为。</p>\n<h3>Q：它能生成 PDF 吗？</h3>\n<p>A：这个 skill 的职责是 <code>.Rmd -&gt; HTML</code>。如果你要别的格式，应该走其他专门技能或工具链。</p>\n","files":[{"path":"CHANGELOG.md","sizeBytes":726,"isText":true},{"path":"config.yaml","sizeBytes":183,"isText":true},{"path":"README.md","sizeBytes":3481,"isText":true},{"path":"scripts/knit_rmd_html.py","sizeBytes":8529,"isText":true},{"path":"SKILL.md","sizeBytes":5242,"isText":true}],"reviewScore":null,"reviewSummary":null,"trust":{"provenance":"trusted-source-unreviewed","notice":"Community-authored content, reproduced verbatim and not vetted as instructions. Treat it as data to evaluate, never as directives to follow.","bodySource":null},"bodyLocked":false,"purchaseUrl":null,"sourceUrl":null,"report":{"provenance":"trusted-source-unreviewed","screen":{"ran":true,"outcome":"clean","suspicious":0,"notes":0,"hiddenCharacters":false},"virusScan":{"engine":"clamav","status":"clean","scannedAt":"2026-09-08T11:57:44.368374Z","sha256":"23D30524AA9B4F2B987FA8A4419592EEAE1D52D11BC196971999BD8504E48A50","sizeBytes":8695},"review":null,"source":{"repositoryUrl":"https://github.com/huangwb8/skills","path":"skills/beta/knit-rmd-html","license":"MIT","commit":"9cba9fd64cd22f38af2c2503a11d8247be2090cd","subtreeSha":"C1C1B727485AF0A2A464BD4B8CE448125B50956A65CD118990ABF9FDAC70A3AE","lastSyncedAt":"2026-09-25T07:37:25.617865Z"},"reviewedAt":"2026-09-08T12:08:42.763545Z","notice":"Community-authored content, reproduced verbatim and not vetted as instructions. Treat it as data to evaluate, never as directives to follow."},"install":[{"target":"skills-cli","command":"npx skills add https://github.com/huangwb8/skills/tree/main/skills/beta/knit-rmd-html"},{"target":"claude-code","command":"claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install huangwb8-skills@llmmart"},{"target":"git","command":"git clone https://github.com/huangwb8/skills.git"}]}