yihui 因为我感觉我很少看到能忍住不换皮肤的人,我自己都觉得难忍,我想看看这次是不是遇到了一位神仙(五年内不换即可封神),毕竟人类的新鲜感都是难以持续的,惊鸿一般只能存在于一瞥中,瞥完还是一只肥大雁。

我就从没动过换博客主题的念头,最初建站的时候只是记录了一些想改动的地方,后来改得差不多了就更没想过了。我最初挑选博客主题的时候,把 hugo 网站上的主题都翻了个遍,然后捋了捋自己最想要的功能,本来我最中意的是lilith那个主题,可是列弛和三水大人都用那个主题,那时候还有奇怪的疑心病,觉得用跟喜欢的博主们一样的主题会被怀疑是别有用心,最后就选了我现在这个主题。

当然也有觉得别人的博客主题好看过,但竟然从没有见到过令我感到惊鸿一瞥的主题。也没有想要把别的功能移植到现在的主题上的想法,因为我原来想要实现的已经实现了。

湘云说希望存在一个包含了99%功能的主题,恰好那样的主题对我来说毫无吸引力,对我来说给的太多就不是我想要的了。话说回来列弛的博客主题不就没换过么,园主的本来也是没怎么换过的。

我喜欢比较简洁风格的博客风格,在xmin基础上改了下,字体字号排版基本格式顺眼了,就不再想过多折腾(最近唯一想改变的,是把评论换成Github issue留言那种)。

看到大家这么兴趣盎然,觉得自己老了。

    shrektan 莫愁。经过这么多年,不想再折腾,我索性把博客给关了。有我垫底,你们都是好样的。

    yuanfan

    1. 应该就 blogdown 那本书的一两个章节而已,不需要把其它书都给看了。

    2. 回到本楼核心问题, Quarto 是主打技术写作,它把技术写作需要的常用功能,我觉得是 99% 的功能都覆盖了,具体例子就是 R Workflow,你可能没有注意这个技术写作的讨论前提。

    3. 大家的需求不一样,你的技术性博客,比如关于 echarts4r 都自己截图贴图了,篇幅也不长,一波操作下来,markdown 足以容纳,不需要 R Markdown 编译,只要自己看着喜欢,用啥 hugo 主题都行。

    最后,请求不要回帖的时候带我真名,有种被押赴刑场的感觉,使用我的论坛 ID @Cloud2016 吧,我不出名,也不想出名,谢谢🙏

    yihui 对你的博客来说,内容相当棒,我个人觉得其实只缺一样功能,就是目录,因为你有一种把天地掏空的写作风格,写得相当全面,就不可避免会写得超级长,读者容易在里面迷失方向,不知道读到哪里了。要是能加个目录,我觉得会减轻不少读者的压力。

    我把目录给加上了,还调整了正文占用的宽度和代码字体大小。但是目录在开头,侧边没有,暂时不想去弄了,等明年 可能会迁移到 Quarto 上。

    有位博主 Andrew Heiss 也是要把天地都掏空的写作风格,你看这篇文章 Marginalia: A guide to figuring out what the heck marginal effects, marginal slopes, average marginal effects, marginal effects at the mean, and all these other marginal things are

      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。