首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何添加预提交git钩子来检查README.Rmd和index.Rmd是否已被编织?

如何添加预提交git钩子来检查README.Rmd和index.Rmd是否已被编织?
EN

Stack Overflow用户
提问于 2020-12-18 21:33:08
回答 1查看 215关注 0票数 1

我有一个包含pkgdown文档站点的R包。我想创建一个git钩子,这样如果我试图提交并推送对README.Rmdindex.Rmd的更改,而没有先将它们编织到创建相应的.Md文件,我就会收到警告。现在我只是忘记了。

R Packages说使用usethis::use_readme_rmd()来创建自述文件,这也将创建git钩子。但我已经有了一个README.Rmd文件。

我如何为现有的.Rmd文件创建一个钩子,不管它是README.Rmd还是我的pkgdown站点上的index.Rmd?我想使用usethis包,但如果在该包之外做起来更简单,我对此持开放态度。

EN

回答 1

Stack Overflow用户

发布于 2021-06-16 04:15:58

一种不同的方法是使用Github操作,如果那是你的pkgdown站点的话。

在其中创建文件夹workflows

  • Within render-readme.yml

  • Paste
  1. .github in
    1. .github

代码语言:javascript
复制
on:
  push:
    paths:
      - README.Rmd
      - Index.Rmd

name: Render README and Index

jobs:
  render:
    name: Render README and Index
    runs-on: macOS-latest
    steps:
      - uses: actions/checkout@v2
      - uses: r-lib/actions/setup-r@v1
      - uses: r-lib/actions/setup-pandoc@v1
      - name: Install packages
        run: Rscript -e 'install.packages(c("rmarkdown", "knitr"))'
      - name: Render README
        run: Rscript -e 'rmarkdown::render("README.Rmd", output_format = "md_document")'
      - name: Render Index
        run: Rscript -e 'rmarkdown::render("Index.Rmd", output_format = "md_document")'
      - name: Commit results
        run: |
          git commit README.md -m 'Re-build README.Rmd' || echo "No changes to commit"
          git commit Index.md -m 'Re-build Index.Rmd' || echo "No changes to commit"
          git push origin || echo "No changes to commit"

  1. 将此推送到GitHub,它应该会立即开始工作。注意,这需要一些时间来处理。单击GitHub存储库中的Actions选项卡可查看进度。

有关示例,请参阅https://github.com/r-lib/actions。上面的代码就是改编而来的。

注意:您可能希望将操作划分为2个文件。render-readme.ymlrender-index.yml。这样,如果操作失败,您将知道哪个文件有问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65357965

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档