ghost图片迁移到cloudinary

frontend tips life
ghost图片迁移到cloudinary
Photo by Jeffrey Hamilton / Unsplash

花了几天时间尝试将ghost storage转到cloudinary。从adapter配置到图片上传到修改post链接遇到一系列的问题,最后一个脚本解决关键问题。

最大的问题是image重复太多,尤其是通过copy/paste方式加到editor里面的图片,命名相同只有后缀数字不同。如果单纯依据名字上传再根据名字构建link,获取到的图片会显示错误的内容, 理想方法是上传的图片的public_id带上日期。

说说网上的通用方案:

  1. 图片通过脚本上传到cloudinary,这一步会去重且根据名字构建publicid。
  2. ghost storage adapter配置为cloudinary。
  3. 从setting中导出所有的post,通过regex replace修改图片链接为cloudinary链接重新上传json文件。

这三步各种坑:

第一步图片即使去重且忽视size,publicid在构建的时候也应带上时间folder,否则图片根据名字显示会overwrite。

第二步cloudinary配置需要注意将依赖image-size放到恰到位置,否则启动报错。

第三步导入导出会导致同一个post出现两次。应该先清空所有post再导入。

总而言之,开源成熟的CMS的成熟customize方案也不尽如人意,各种问题,只有用到才知道。