【问题标题】:r blogdown - build_site result does not matched preview from serve_siter blogdown - build_site 结果与serve_site 的预览不匹配
【发布时间】:2023-04-07 12:15:01
【问题描述】:

我用 blogdown 创建了一个新博客,但不知何故我似乎犯了一个错误 我建立的网站与serve_site 的预览不匹配。

dir.create("blog7")
setwd("blog7")
blogdown::new_site(theme = "shenoybr/hugo-goa")
blogdown::serve_site()
blogdown::build_site()
browseURL(url = "public/index.html")

链接无法按预期工作,并且图像未显示。 如果我更改图像似乎可以工作:/img/headshot.jpg 到 ./img/headshot.jpg。链接似乎不是相对的。

如何避免出现这些问题并避免手动编辑public 中的结果?

【问题讨论】:

    标签: r blogdown


    【解决方案1】:

    也许您对config.toml 中的baseURL 设置有一些问题。

    • 运行blogdown::serve_site() 时,baseURL 设置被"/" 覆盖,以便在本地本地主机下提供服务。
    • 对于blogdown::build_site(),您需要设置博客的真实基本 URL(即"https://www.example.com/")或至少"/"。

    请注意,如果您使用blogdown::build_site() 和一些设置构建您的网站,然后尝试从本地public 文件夹打开该HTML,它将无法按预期工作。仅仅因为 URL 是从 baseURL 构建的,并且指向例如到/img/headshot.jpg(这在本地没有意义,但在网络上运行良好,如https://blog.example.com/img/headshot.jpg。

    所以:

    • 如果您想使用 localhost 在本地预览您的网站,请使用blogdown::serve_site(),
    • 要将网站导出到网络,请使用blogdown::build_site(),但请注意,这些生成的 HTML 文件在本地运行时将无法正常工作。

    在book about blogdown 和一些info about config.toml 中查看更多详细信息。

    【讨论】:

    • @Tlatwork 太好了,我很高兴它对你有用。 :-) 别担心,尤其是我经常遇到的这个问题——因为我通常习惯于使用 HTML 手动创建网站。因此,当我偶尔使用 blogdown 并从公共文件夹打开 HTML 时,它当然不起作用。 :-)
    猜你喜欢
    • 2020-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-12
    相关资源
    最近更新 更多