- 已编辑
统计之都主站是托管在 Netlify 上的,有的文章中含有大量 JS 文件,涉及一些交互式图表,为了能让主库体积小一些,我们用 PR 时产生的指向 JS 文件的预览链接代替上传 JS 文件。 但是,最近,发现 Netlify 不支持了,预览链接失效了。结果是一些旧文章的交互式图表不展示了,比如
以及我个人博客中的一些文章。不过话说回来,用 Netlify PR 生成的临时链接来替代存储是个非官方办法,现在人家不让用了,我们只能认了。大家有什么解决办法吗?
统计之都主站是托管在 Netlify 上的,有的文章中含有大量 JS 文件,涉及一些交互式图表,为了能让主库体积小一些,我们用 PR 时产生的指向 JS 文件的预览链接代替上传 JS 文件。 但是,最近,发现 Netlify 不支持了,预览链接失效了。结果是一些旧文章的交互式图表不展示了,比如
以及我个人博客中的一些文章。不过话说回来,用 Netlify PR 生成的临时链接来替代存储是个非官方办法,现在人家不让用了,我们只能认了。大家有什么解决办法吗?
Netlify 的同类产品有 Vercel 和 Cloudflare Pages(无限流量),不知道能不能解决这个问题。
Netlify 有客服吧,可以问问。
一些公共的库都有自己的cdn
Cloud2016 确实是前段时间 Netlify 决定不再永久支持 Github PR 生成的预览页面了。我建议用 jsdelivr:https://www.jsdelivr.com/github 它很牛的地方在于首先墙内可访问(这一点太不容易了),其次即使 Github 上的文件后来删掉了,它的链接依然不会失效,因为它会把历史文件缓存下来。
现在这个问题只能如此这般解决:首先建一个分支,把这几篇文章重新生成一遍,然后把链接换成 jsdelivr 的链接,并访问一次这些文章页面(好让 jsdelivr 保存缓存),再把分支中的文件删掉,最后合并分支。
yihui 把这几篇文章重新生成一遍,然后把链接换成 jsdelivr 的链接
可能是我理解不对,还是不知道怎么替换链接。目前,我将每篇文章编译之后,上传到 PR 重新编译含交互图表的文章 可以获得 Netlify 给的预览链接,用到的 JS 库,也有 Netlify 链接。现在的问题是怎么替换这些 JS 库对应的 Netlify 链接?
tctcab 你知道怎么操作吗?
CyrusYip 主要是维护这么多依赖有点麻烦,我在维护我的书籍环境的时候,累,软件版本依赖和升级的问题一大堆。我想一劳永逸,文章一旦合并就不要再管了,它也不会和未来的其它文章有软件依赖关系,各篇文章运行环境一定是独立的。关于软件工具介绍的文章,即使内容过时也不在原地方更新。
Cloud2016 主要是维护这么多依赖有点麻烦,我在维护我的书籍环境的时候,累,软件版本依赖和升级的问题一大堆。我想一劳永逸,文章一旦合并就不要再管了,它也不会和未来的其它文章有软件依赖关系,各篇文章运行环境一定是独立的。关于软件工具介绍的文章,即使内容过时也不在原地方更新。
我最近在学Nix,用 Nix 可能解决你的问题。它主打reproducible 和 declarative。reproducible就是输入一样(安装啥软件),输出就一样一样(构建出来的软件)。declarative 就是用文件定义需要构建啥软件。
也就是说用文件定义好需要安装的软件和版本,构建成功的话,你以后用那个配置文件就一定会构建出一样的软件。为了保证reproducible ,你要用 flakes 功能。
举个例子,假如你用这几个 nix 文件,你在你的电脑可以构建出和我一样版本的软件。解决了「It works on my machine」的问题(不过我没放 local.nix,真拿来用应该会失败)。
我夸得可能不是很好,这本书夸得比较好: https://nixos.org/guides/nix-pills/index.html
看你挺推荐 docker,你应该对这个视频感兴趣。
我突然想起来个人,Paul Murrell 他的技术报告,每篇文章都是独立的,基于 Docker 每次都会整一个仓库,把相关内容都放进去。
我突然想起来还有个问题没说清楚,就是用 jsdelivr 链接,应该是从作者的仓库引过去,比如文章用到 echarts4r 包,那么得从 echarts4r 包的仓库,把 JS 文件找到,并引过去,而不是 apache echarts 的官网,因为 R 包作者对 JS 有修改。