blog-hugo | Source of my blog in Hugo | Blog library
kandi X-RAY | blog-hugo Summary
kandi X-RAY | blog-hugo Summary
Source of my blog in Hugo
Support
Quality
Security
License
Reuse
Top functions reviewed by kandi - BETA
Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of blog-hugo
blog-hugo Key Features
blog-hugo Examples and Code Snippets
Community Discussions
Trending Discussions on blog-hugo
QUESTION
After installed (see previous post) and configured my personal Hugo website for a multilingual setup (by directories), I wanted to start creating content. Ideally, I wanted to use blogdown
in RStudio, via the addins. The website uses the Academic theme, rebranded now as Wowchemy.
The content directory tree is as follows:
...ANSWER
Answered 2020-Nov-05 at 09:17I am not good at using the debug tools, so just stepped through the code. (Appreciate the suggestion of good tutorials!)
First things first: When in Doubt, Try to Upgrade Your Software Packages This is the blogdown
package creator's advice. Checked.
- Launching the addin,
blogdown:::new_post_addin
is called. - This calls
new_post.R
. The source code can be find at: https://github.com/rstudio/blogdown/blob/master/inst/scripts/new_post.R blogdown::new_post()
is called at the end, withfile
parameter from the updated input text field, which is in the case of the question: "post\2020-11-04-how-this-site-was-created\index.en.md"new_post()
function (in hugo.R) callsnew_content()
with the third argument,open = FALSE
, which means it will not open the file, just overwrite the value of thefile
variable (the path hereafter). At the end ofnew_post()
the file should be opened: this is where the error occurs (by trying to open the file at the wrong place, a wrong path). This means that something bad has to happen innew_content()
.new_content()
modify the path withcontent_file()
. Also this is the step, where the file is actually created.content_file()
modify the path by adding a prefix to it generated byget_config()
.get_config()
tries to extract the value of a field in the configuration, in the case of Hugo: try to findcontentDir
. If this results in NULL (there's no such list item), then see the other possibility and lastly return the default value (which is in the case of Hugo:content
). And that's it! RStudio tries to open a file in the content directory, not in a language subdirectory!- That means that the last option is returned in the row of
%n%
(which is imported from knitr and stands for:if (is.null(x)) y else x
). That means that the previous arguments returned NULL, which means contentDir cannot be found inconfig
variable. The default value ofconfig
is set byconfig = load_config()
. This usesfind_config()
to find the config file to parse. find_config()
usesconfig_files()
to set the value in case of Hugo:c('config.toml', 'config.yaml')
. But my setting is in a subdirectory: in the/config/default_/languages.toml
file! Oh, another Academic theme woe...
To conclude this: blogdown
is currently loads only the config.toml
in the root directory to check the contentDir
value. The Academic, now Wowchemy Hugo theme however keep config files in the /config/default_/
directory also, where the languages.toml
contains the needed value.
To keep or not to keep Academic theme? Stick with blogdown
or not? Maybe the config files should be merged into one config.toml, but couldn't find hint or examples for Academic on the web.
Edit: OK, the root of the problem has been found, but the actual error which raised the error message is in connection with hugo_convert_one()
, as the traceback suggests in the question. This was the first (and last) try to open the file of the wrong path.
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install blog-hugo
Support
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page