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)


f0nzie/blogdownPageBundle documentation built on June 29, 2020, 12:53 a.m.