Cloud2016 把天地都掏空的写作风格挺好的,读者只需要收藏或记得一个页面,可以随时回来查阅。

上面 Cloud2016 的反馈极好,我需要更多的时间消化;目前来看,你的那些需求并不是很复杂,可以不必依赖 Quarto 实现的。等我有时间了会把掉的链子接起来。

    yihui 等我有时间了会把掉的链子接起来。

    期待,那我就没有搬迁动力了,毕竟搬家要花不少时间 😄

    Cloud2016 3. 在主题 hugo-lithium 下,已经把 disqus 换成 utterances 评论系统,详见我的 repo,有需求的坛友可以照葫芦画瓢 😄

      Cloud2016 已经把 disqus 换成 utterances 评论系统,详见我的 repo,有需求的坛友可以照葫芦画瓢

      提上日程,抽空去抄一下 😄

        lijin 对新起步或评论还不多的网站主人,我个人强烈建议早日弃用 Disqus,投奔 utterances 或者 giscus(我感觉这二者中后者在功能上更好一些,但相对新一些,所以我还不知稳定性到什么程度了)。Disqus 太笨重,会加载一大坨脚本和资源,还有一些视觉垃圾,就更不必说墙内用户无法用了。

        Cloud2016 6. Python 版 plotly 用起来,没有生成很多的本地 JS 文件(副产品),通过看渲染出来的 HTML 发现,里面是直接引用 CDN 上的 JS 库。一篇介绍 Python 版 plotly 的文章动画制作与 Plotly Python,还有其它方面,整体感觉 Python 版要比 R 版好太多了。

          Cloud2016 这是我好几年前就跟厂里的人建议过的,但他们没有采纳。把所有 JS/CSS 文件本地化的好处显而易见,可以让用户在没有网络连接的情况下继续用这些包;坏处就是如果经常用 HTML Widgets 的话,就会生成大量冗余文件,浪费空间。其实 HTML Widgets 也不是不能用 CDN 资源,只是厂里带头选择了本地化,后来的作者们就都选择了这样做。

          用 CDN 资源还有个问题,就是文档用自包含模式(self_contained = TRUE)时,Pandoc 得从 CDN 上下载一坨文件,这可能有点浪费时间和带宽。好几年前我同样跟 Pandoc 作者建议过增加一个选项,自包含模式时不下载 CDN 资源,但他也没有听。不过很多个版本后,他提供了一种曲折的方式支持这个功能,就是如果使用外部 CDN 资源,在 HTML 标签上加 external=1 属性即可让 Pandoc 跳过下载,如 <script src="https://example.org/foo.js" external=1></script>。但这个办法对用户没什么用,因为用户通常无法控制如何生成这些 HTML 代码,也就无法加个 external=1 的属性。

          Cloud2016 再加一条,博客里,是否可以支持代码显示/隐藏。有全局或局部按钮控制。
          我已找到相关材料 <details>,但能力有限,无法简化下来。下面是一个 demo,插入 Rmd 文稿里可用。

          这个代码块干具体事情

          ```{r}
          #| label: code
          #| echo: false
          head(iris)
          ```

          这个代码块实现显示或隐藏代码效果

          <details>
          <summary> 点击显示或隐藏代码 </summary>
          ```{r}
          #| ref.label: code
          #| eval: false
          #| echo: true
          ```
          </details>

          最初是逛人家博客coolbutuseless,然后查看其网页源码,最后,定位到有这么一个 HTML 元素

          @yihui 我对《地区分布图及其应用》文章提了一个 PR 默认隐藏一些绘图代码,我觉得这些代码默认隐藏起来没有影响,你看怎么样?实现方式上是否还有简化的可能?

            8 天 后

            @yihui Frank Harrell 又更新了他的这篇博客,添加了很多新的 Quarto 的新功能,blogdown 会支持用 quarto 来写博客吗?用 qmd 替代 Rmd,然后用上 Quarto 的各种功能。

            CyrusYip 为啥Hugo要背锅?感觉这个配置过程应该在blogdown这侧自动化起来呀!

              Cloud2016

              因为 blogdown 背后的工具是 Hugo,Hugo 的多语言功能(同一个网站有多套语言)又得主题支持才行。举个例子:我之前用 even 主题的时候它就没有language selector(语言切换按钮),到 fcf2021 这个 commit 才加入这个功能。要是你用的主题没有 language selector,那 blogdown 也是爱莫能助。

              不同的多语言主题配置写法也不一样,感觉很难自动化配置。我找了几个多语言主题的配置,写法都不太一样。

              如果你要用 blogdown 弄多语言博客,建议选择示例网站有多语言的博客(例如:jane、LoveIt),然后抄官方配置来用。Hugo 主题目录有个 multilingual 标签,可以从这里找多语言主题。

              blogdown 把 Hugo 封装得很好,用的时候都感觉不到 Hugo 的存在。但是要弄多语言这种复杂的配置的话,还是得了解它背后的 Hugo。

                CyrusYip 如此说来,多语言配置,要在 Hugo 主题这层弄,而且还需要了解 Hugo 本身,上层的 blogdown 对此无能为力,那看起来是个高级 feature !

                Hugo 的多语言支持对我来说过于强大了。我的中英文博客几乎是独立的,我不需要某篇文章同时有中英文版本,所以我用了最原始的办法,就是中英文博客只是简单的两个文件夹。

                14 天 后

                Cloud2016 8. 博客中支持附录,就是指定放参考文献的位置

                # 参考文献
                
                <div id="refs"></div>
                
                # 附录
                
                附录内容

                Cloud2016 6. 支持自包含的模式,在输出部分的 YAML 设置 self_contained: true 还可以修改代码的语法高亮等,详见帮助文档 ?blogdown::html_page

                bibliography: refer.bib
                output:
                  blogdown::html_page:
                    toc: true
                    highlight: pygments
                    self_contained: true
                    template: null
                link-citations: true
                13 天 后