我有一个包含pkgdown文档站点的R包。我想创建一个git钩子,这样如果我试图提交并推送对README.Rmd或index.Rmd的更改,而没有先将它们编织到创建相应的.Md文件,我就会收到警告。现在我只是忘记了。
书R Packages说使用usethis::use_readme_rmd()来创建自述文件,这也将创建git钩子。但我已经有了一个README.Rmd文件。
我如何为现有的.Rmd文件创建一个钩子,不管它是README.Rmd还是我的pkgdown站点上的index.Rmd?我想使用usethis包,但如果在该包之外做起来更简单,我对此持开放态度。
发布于 2021-06-16 04:15:58
一种不同的方法是使用Github操作,如果那是你的pkgdown站点的话。
在其中创建文件夹workflows
render-readme.yml
.github in .githubon:
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"有关示例,请参阅https://github.com/r-lib/actions。上面的代码就是改编而来的。
注意:您可能希望将操作划分为2个文件。render-readme.yml和render-index.yml。这样,如果操作失败,您将知道哪个文件有问题。
https://stackoverflow.com/questions/65357965
复制相似问题