先说一个我的小痛点。每次我更新基于 R Markdown 的网站(我说的是 rmarkdown 自身的站点生成器,不是 blogdown),我都会对这件事感到头疼:如果 rmarkdown 包本身修改了 HTML 模板,那么这些改动可能会被反映到每个单个 HTML 页面中,所以我会看到这样一大坨改动:https://github.com/rstudio/DT/commit/281cd74369 像我这样的 GIT 洁癖患者肯定是忍不了的(全都是冗余的差异),所以我想把两部分代码抽出去,一是 <style type="text/css"></style>
里的,二是 <script></script>
里的。过程大概就是在每一个 HTML 文件中找到这样的代码,碰到 CSS 代码就依次抽取存为 style-1.css, style-2.css, ... 碰到 JS 代码就存为 script-1.js, ... 然后把原 HTML 中的部分替换为 <link rel='stylesheet' href='style-1.css' />
或 <script src='script-1.js'
></script>` 之类的。每次抽取代码的时候,要跟以前抽过的对比一下,如果已经抽过就直接替换即可,不必再新存外部文件。
这样以后要是再有类似的改动,我就只需要看一个 CSS 或 JS 文件中的改动就可以了,不必再把每个修改过的 HTML 文件过一遍。
不知是否有壮士有兴趣出手相助?若有兴趣以及有空,请在楼下揭榜。谢谢!