error adding codefolding in blogdown in r - r

I have been working on blogdown to generate the following website. So far so good, however I have been trying to add codefolding which is easy to do in a common rmarkdown document.
I found this blogpost, where they do it. I have been trying to play with that, I did steps 1 and 2 for blogdown so generated the codefolding.js and modified the config.toml in the theme template as well, however when I get into the header and/or footer I got stuck, I even tried to generate a new post where I cloned and copied the whole folder here however it is not working an I get the following error
I am not sure what I did wrong here

Related

File to import not found or unreadable: ../vendor/bootstrap/scss/bootstrap. in blogdown

I am trying to make a website using blogdown in R. I have installed blogdown v1.15.
To create the website I click on new project, select the option to create it in a new directory and then select to use the blogdown template. In the screen that comes up after, I give my project a name, paste "google/docsy" into the Hugo theme text box to use this theme and click create (I leave all the tick boxes as is, which is all selected except 'Keep empty directories'.
These steps seem to complete fine. However, when I run blogdown::serve_site() then I get the error
Error: Error building site: TOCSS: failed to transform "scss/main.scss" (text/x-scss): "/path-to-r-project/assets/scss/main.scss:6:1": File to import not found or unreadable: ../vendor/bootstrap/scss/bootstrap.
and the site is not made.
Other information that might be useful, I am using
R v4.1.2
Blogdown v1.15
Hugo v 0.101.0
Many thanks

Blogdown not displaying plots

I have my blogdown site that has been running for a while. When writing a post today I cannot get plots to render when running serve_site().
The plot generates fine when running the .Rmd in interactive mode, it's only when being built by knitting/serve_site/build_site that it doesn't work. The image below shows what I see on the webpage - just that small icon in the bottom.
I know these questions have come up a lot, so just to list the things I've tried:
There is no .gitignore under the static directory
I've set [markup.goldmark.renderer]unsafe = true in the config.toml
I've checked that the figures are being generated (I can see the files under index_files/figure-html)
You can see my blog source here
And the (not working) webpage here

TOC not displaying in Blogdown post (Hugo theme Even)

I have added a new post to my site made using blogdown. Despite the presence of toc: yes in my YAML, the table of contents is not displaying on the rendered webpage. I've also tried adding:
output:
blogdown::html_page:
toc: yes
which doesn't solve the problem either. I'm currently using the Even theme (Hugo), and in the .config file, I also have toc: yes present.
I checked out this post, but I wasn't able to find the files they are referencing, nor those particular lines of code. Also my issue is with new posts, not the home page.
Does anyone know what the problem might be?
EDIT: I can see in my index.html file (generated from index.Rmd) that the code for a toc is present. For some reason, it's not being rendered on the page?
TL;DR Solution: to get the table of contents to show in the Even theme, your posts must render to the .markdown format instead of .html format. In order to make this happen, you simple use the .Rmarkdown file extension when creating the post instead of .Rmd. Now, when you use blogdown::serve_site(), your post will use the output format .markdown instead of .html. Your post will now render with a beautiful table of contents.
A note for latex math mode users: when typing in your .Rmarkdown document, you will now have to escape your $'s and \'s. So for example, $\le 0.2$
will have to be typed as \$\\le 0.2\$.
I hope this overly elaborate problem and solution is helpful to someone!
I figured out a workaround for this.
First, I'm not sure how to provide a reproducible example in this context, but I can say that if you open an RStudio project, run blogdown::new_site(theme = "olOwOlo/hugo-theme-even"), add a New Post using the Addin dropdown menu, add some headings to your post, make toc:true, use Serve Site from the Addin menu. You will see your post working fine in every respect - only it will be missing the table of contents.
Workaround:
I don't know why, but it appears that the table of contents will show if I keep a copy of the post in .md format, and delete the .html document. The default behavior seems to use the .html document if it is present; failing that, it will use the .md document.
To keep a copy of the post in .md format, use the following code in the YAML of your .Rmd document:
output:
blogdown::html_page:
keep_md: yes
Serve the site, delete the .html document (but keep the .md document), and the table of contents appears in all of its glory (you may have to actually knit the file to get the .md).
I don't know why this works...I've seen elsewhere (although I can't seem to find the post again) that some hugo themes don't play nicely with .html files, and prefer .md files, and that appears to be the case for the Even theme.
In sum: My workaround for now is thus to work on my posts, and when I'm done, knit the document with the option above, delete the .html file, and be on my way.
Caveat: blogdown seems to automatically re-render all the old posts when using Serve Site. According to this stack answer, Serve Site should only render documents that have undergone changes. Regardless, the old posts are most definitely being re-rendered, even when working on an unrelated post. I'm not sure if this behavior is attributable to blogdown per se, or the RStudio project.
I tried going to Tools -> Project Options -> Build Tools, and unchecking the boxes "Preview site when building", yet the behavior persists. Which means I will have to continuously delete these new .html files for all old posts every time a I make a change to any other file. Currently I only have one post, so not a big deal...yet.
If someone knows of a solution to this caveat, I would be extremely grateful. If I find one, I will edit this question and add it.
EDIT: it appears that blogdown will re-render the old post if there is no .html document present. Otherwise, it does not re-render it.
EDIT 2: Aha! According to the answer to this question, simply changing the file extension of the blog post from .Rmd to .Rmarkdown will produce a .markdown document instead of a .html document.

RMarkdown .yml file for Github Pages compiling a removed page

I actually have 2 problems, but I suspect one might be caused by the other, so I will lay out the whole shibang.
I have a personal site I created in Rmarkdown and host with Github pages. Everything was going fine, and I was adding new content to the site until I updated R, RStudio, and my packages (I know, I know). One of the pages on my site generates a simulation and uses the simr package, and after I updated my packages I kept getting the following error
To try to fix this problem, I
(1) Uninstalled/reinstalled simr,
(2) referenced the simr package when I called the powerCurve function (e.g., simr::powerCurve), and
(3) just tried to remove the page from my website by commenting out the file on the .yml page.
When I tried to compile the site after commenting out the reference to the broken page, I noticed that R was still trying to compile the broken page. So I deleted the reference to the broken page on .yml, but it still tried to compile it.
What am I doing wrong? Ideally I'd like to be able to fix the broken page and continue adding content, but at this point I would be just as happy if I were simply able to remove the broken page. Any help is greatly appreciated!
I was unable to get the simr package to work. However, I was able to remove the broken page from my site. After commenting out the reference to the broken page on the .yml page, I then went into the broken page and deleted all the code (after saving the contents elsewhere). It appears that the change that included only commenting out the broken page did not trigger an evaluation of the change by Github, so the revision of the page itself caused Github to reference the .yml page and prevent the broken page from being evaluated.

Use Rmd files for content pages in blogdown website

I am considering switching my website to blogdown. My current set-up only uses .Rmd files with a less-than-ideal blog implementation. It seems like one advantage of blogdown is that it automates the blogging part of the website (posts, lists, dates, etc.) and allows RMarkdown. This is my main motivation to switch. However, the downside, I think, is that I cannot create content pages in RMarkdown (i.e., content > about.Rmd)... it seems this is limited to .md files. I would like to use .Rmd for all the pages so that I can incorporate r code. My question: Is it possible to create .Rmd content pages in blogdown?
EDIT...
Specifically, I created by hand research.Rmd in the content folder. I can include a trivial example, such as...
`r 2 + 2`
and when I run serve_site() the r code is not rendered. I can knit the file by hand, but the file does not have the style of the theme I am using and once I again try to serve the site the file is rendered as if it were a .md file.
```
EDIT 2...
You can reproduce the behavior I am referring to by doing the following...
Create a new blowdown site: new_site(dir = ".", theme = 'gcushen/hugo-academic')
Create new content: new_content('test/index.Rmd')
Set draft to false and add trivial r code: I used 2 + 2 as shown above.
Serve site and go to test/index.html. There is no r code rendered.
From your Edit 2, you seem to have fallen into a common Hugo trap: content/test/index.Rmd does not necessarily generate test/index.html. Hugo uses the convention _index.md to generate a homepage for a subfolder, and you have to use content/test/_index.Rmd in your case. For content/about.Rmd or content/research.Rmd, they will generate about/index.html and research/index.html respectively by default.

Resources