如何从 .Rmd 文件创建 .md 文件以便在 hugo-Apero 主题中创建目录?
How can I create an .md file from a .Rmd file in order to create a TOC in hugo-Apero theme?
我对 Rmarkdown 和 blogdown 完全陌生,我很难理解 .markdown、.Rmarkdown、.Rmd 和 .md 等文件是如何生成的,并且在某些方面有不同的工作方式使用 Rstudio。
更具体地说,我正在 Rstudio 中构建一个带有 Hugo Apéro 主题的网站,因此包含 blogdown 和 Rmarkdown 文件。
我想创建一系列相互关联的博客post,目录位于页面左侧,就像 Alison Hill 在她自己的博客中所做的那样 here
理论上,这并不难,我设法在我自己的系列中写了第一个博客 posts,其中包含一些数学方程式和我想要的所有内容以及一些 .Rmd 文件。
如果我 knit 所说的 .Rmd 文件,它会生成 仅 一个 .html文件。我找不到一种方法来生成 hugo and/or blogdown 所需的 .md 文件(我真的不知道到这里为止是做什么的)来生成一个特定博客的目录 post。查看 Alison Hill's blog posts 它对应于 On this page TOC。
我知道 Rstudio v2 需要一些变通方法才能生成 .html 和 .md 文件(参见这个非常具体的问题 here) , none 的建议解决方案似乎对我有用。
我设法从 .Rmarkdown 文件生成了一个 .markdown 文件,它按照我想要的方式呈现目录,但是,.Rmarkdown 文件不是数学渲染的最佳选择,(参见 Creating Websites with R Markdown - Ch1.5),不是在 Rstudio 等中创建...这不会让我想使用这种格式(也许这是一个错误?)
最后一页中没有目录似乎与另一个元素有关:headers link 按钮。尽管如此,看着 Alison Hill's blog posts 我注意到每个 headers 旁边都有一个 link 按钮,如果我使用 .Rmd 文件(它只产生 .html 文件),我没有这个按钮但它们出现在 .Rmarkdown 文件中(仅生成 .md 文件)
所以我想我的问题是:
如何从 .Rmd 文件中包含目录?
如何在 Rstudio 中从 .Rmd 文件创建 .md 文件?以及为什么 none 这些解决方案对我有用:
- 在
html_document()
中使用参数keep_md = TRUE
- 用
clean = FALSE
调用 rmarkdown::render()
- 使用
md_document
作为输出格式之一
此外,在我的博客 post 上工作时,我想创建像 Hugo Apero documentation 中那样的面板集,但它不适用于 .Rmd 文件中的第一个语法:
`{{< panelset class="greetings" >}}
{{< panel name="Hello! :wave:" >}}
hello
{{< /panel >}}
{{< panel name="Goodbye :dash:" >}}
goodbye
{{< /panel >}}
{{< /panelset >}}`
它仅适用于文档中提供的 HTML 代码。我想这不是正常行为。
- 有没有办法使简单的面板集语法起作用?
有关更多信息,这是 sessionInfo() 的结果:
R version 4.1.2 (2021-11-01)
Platform: x86_64-apple-darwin17.0 (64-bit)
Running under: macOS Catalina 10.15.7
Matrix products: default
BLAS: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/4.1/Resources/lib/libRlapack.dylib
locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
attached base packages:
[1] stats graphics grDevices utils datasets methods base
loaded via a namespace (and not attached):
[1] Rcpp_1.0.7 bookdown_0.24 ps_1.6.0 later_1.3.0 digest_0.6.29
[6] R6_2.5.1 jsonlite_1.7.2 magrittr_2.0.1 evaluate_0.14 blogdown_1.6
[11] stringi_1.7.6 rlang_0.4.12 promises_1.2.0.1 rstudioapi_0.13 rmarkdown_2.11
[16] tools_4.1.2 stringr_1.4.0 servr_0.24 processx_3.5.2 httpuv_1.6.3
[21] xfun_0.29 yaml_2.2.1 fastmap_1.1.0 compiler_4.1.2 htmltools_0.5.2
[26] knitr_1.37
要从 .Rmd
个帖子生成 .md
,您需要设置
options(blogdown.method = 'markdown')
在你的 .Rprofile
中。有关详细信息,请参阅 Section 1.4 of the blogdown book。
并且不要忘记删除 .html
输出文件。
或者,使用扩展名 .Rmarkdown
而不是 .Rmd
,这也为您提供 Markdown 输出而不是 HTML。
我对 Rmarkdown 和 blogdown 完全陌生,我很难理解 .markdown、.Rmarkdown、.Rmd 和 .md 等文件是如何生成的,并且在某些方面有不同的工作方式使用 Rstudio。
更具体地说,我正在 Rstudio 中构建一个带有 Hugo Apéro 主题的网站,因此包含 blogdown 和 Rmarkdown 文件。
我想创建一系列相互关联的博客post,目录位于页面左侧,就像 Alison Hill 在她自己的博客中所做的那样 here
理论上,这并不难,我设法在我自己的系列中写了第一个博客 posts,其中包含一些数学方程式和我想要的所有内容以及一些 .Rmd 文件。
如果我 knit 所说的 .Rmd 文件,它会生成 仅 一个 .html文件。我找不到一种方法来生成 hugo and/or blogdown 所需的 .md 文件(我真的不知道到这里为止是做什么的)来生成一个特定博客的目录 post。查看 Alison Hill's blog posts 它对应于 On this page TOC。
我知道 Rstudio v2 需要一些变通方法才能生成 .html 和 .md 文件(参见这个非常具体的问题 here) , none 的建议解决方案似乎对我有用。
我设法从 .Rmarkdown 文件生成了一个 .markdown 文件,它按照我想要的方式呈现目录,但是,.Rmarkdown 文件不是数学渲染的最佳选择,(参见 Creating Websites with R Markdown - Ch1.5),不是在 Rstudio 等中创建...这不会让我想使用这种格式(也许这是一个错误?)
最后一页中没有目录似乎与另一个元素有关:headers link 按钮。尽管如此,看着 Alison Hill's blog posts 我注意到每个 headers 旁边都有一个 link 按钮,如果我使用 .Rmd 文件(它只产生 .html 文件),我没有这个按钮但它们出现在 .Rmarkdown 文件中(仅生成 .md 文件)
所以我想我的问题是:
如何从 .Rmd 文件中包含目录?
如何在 Rstudio 中从 .Rmd 文件创建 .md 文件?以及为什么 none 这些解决方案对我有用:
- 在
html_document()
中使用参数 - 用
clean = FALSE
调用 - 使用
md_document
作为输出格式之一
keep_md = TRUE
rmarkdown::render()
- 在
此外,在我的博客 post 上工作时,我想创建像 Hugo Apero documentation 中那样的面板集,但它不适用于 .Rmd 文件中的第一个语法:
`{{< panelset class="greetings" >}}
{{< panel name="Hello! :wave:" >}}
hello
{{< /panel >}}
{{< panel name="Goodbye :dash:" >}}
goodbye
{{< /panel >}}
{{< /panelset >}}`
它仅适用于文档中提供的 HTML 代码。我想这不是正常行为。
- 有没有办法使简单的面板集语法起作用?
有关更多信息,这是 sessionInfo() 的结果:
R version 4.1.2 (2021-11-01)
Platform: x86_64-apple-darwin17.0 (64-bit)
Running under: macOS Catalina 10.15.7
Matrix products: default
BLAS: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/4.1/Resources/lib/libRlapack.dylib
locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
attached base packages:
[1] stats graphics grDevices utils datasets methods base
loaded via a namespace (and not attached):
[1] Rcpp_1.0.7 bookdown_0.24 ps_1.6.0 later_1.3.0 digest_0.6.29
[6] R6_2.5.1 jsonlite_1.7.2 magrittr_2.0.1 evaluate_0.14 blogdown_1.6
[11] stringi_1.7.6 rlang_0.4.12 promises_1.2.0.1 rstudioapi_0.13 rmarkdown_2.11
[16] tools_4.1.2 stringr_1.4.0 servr_0.24 processx_3.5.2 httpuv_1.6.3
[21] xfun_0.29 yaml_2.2.1 fastmap_1.1.0 compiler_4.1.2 htmltools_0.5.2
[26] knitr_1.37
要从 .Rmd
个帖子生成 .md
,您需要设置
options(blogdown.method = 'markdown')
在你的 .Rprofile
中。有关详细信息,请参阅 Section 1.4 of the blogdown book。
并且不要忘记删除 .html
输出文件。
或者,使用扩展名 .Rmarkdown
而不是 .Rmd
,这也为您提供 Markdown 输出而不是 HTML。