blog_dir = '/media/msfz751/2560x/repos/blogdown-sites/fonzie-oilgains' file <- file.path(blog_dir, "content/blog", "2018-11-18-otc-2016-second-day.md") file
link_text <- " links: - icon: linkedin icon_pack: fas name: LinkedIn url: " link_text
# read markdown file x <- xfun::read_utf8(file) res <- blogdown:::split_yaml_body(x) # split in two
names(res)
res$yaml res$yaml_range res$yaml_list
res_yaml <- res$yaml class(res_yaml) res_yaml
# writing to a file connection library(yaml) con <- file("data.yml", "w") write_yaml(data.frame(a=1:10, b=letters[1:10], c=11:20), con)
read_yaml("data.yml")
data_li <- read_yaml("data.yml") data_li
# modify field "a" data_li$a <- seq(21,30) data_li
cat(as.yaml(data.frame(a=21:30, b=letters[1:10], c=11:20)))
# writing modified list # write_yaml(data_li, con) write_yaml(data.frame(a=21:30, b=letters[1:10], c=11:20), con) #
read_yaml("data.yml")
yaml.load("- hey\n- hi\n- hello") yaml.load("foo: 123\nbar: 456") yaml.load("- foo\n- bar\n- 3.14") yaml.load("foo: bar\n123: 456", as.named.list = FALSE)
# reading from a file (uses readLines internally) filename <- tempfile() cat("foo: 123", file=filename, sep="\n") yaml.load_file(filename)
# handling custom types yaml.load("!sqrt 555", handlers=list(sqrt=function(x) { sqrt(as.integer(x)) }))
yaml.load("!bar\none: 1\ntwo: 2", handlers=list(foo=function(x) { x$one <- "one"; x }))
yaml.load("!foo\n- 1\n- 2", handlers=list(foo=function(x) { as.integer(x) + 1 }))
# read from a character vector library(yaml) res_li <- read_yaml(text = res_yaml) res_li
library(yaml) con <- file("data-res.yml", "w") write_yaml(res_yaml, con)
class(res_li) print(res_li$image)
# change a value in a YAML field res_li$image <- "featured.jpg" res_li
con <- file("data.yml", "w") write_yaml(res_li, con)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.