valaxy icon indicating copy to clipboard operation
valaxy copied to clipboard

feat: 制作一个能批量修改md的frontmatter信息的工具,方便用户迁移

Open qtqz opened this issue 2 years ago • 11 comments

背景

现在不同的静态博客框架,或同一框架(hexo)不同的主题,对于博客文章frontmatter信息的规定都有所不同,比如文章的封面图在这里叫cover在那里却叫headimg。也没有合适的东西处理这些(之前发现一段代码,但是只能统一增加或删除)。这就导致用户想换主题或者框架非常麻烦,往往就维持现状不换了。

目前Valaxy刚刚起步,也确实需要这样的工具,并提供官方的引导,方便用户迁移过来试用。

需求与可能的实现

可以有2种做法,1.自己实现批量修改,增删改查等等;2.将数据导出为表格,交给专业的软件处理表格数据,然后再导入覆盖,如下:

文件名 title date reward headimg cover
标题1 标题1 2022-1-1 TRUE 1.jpg  
标题2 标题2 2022-1-2 TRUE 2.jpg  
标题3 标题3 2022-1-3 TRUE   3.jpg
标题4 标题4 2022-1-4 TRUE   4.jpg

第2种做法的需求:

  • 可以凭某文件夹下所有md文件生成电子表格
  • 可以将电子表格内frontmatter导入回某文件夹下所有md文件,按文件名匹配
  • 易上手,方便没有编程经验的用户操作
  • 能完全清除frontmatter,方便不需要它的博客引擎
  • 容错等等

这可能不是关于valaxy本身的issue,但是应小云的提议,发到这里备忘

qtqz avatar Feb 12 '23 09:02 qtqz

Maybe I can provide a CLI terminal tool to do this ?

guowei-gong avatar Feb 14 '23 02:02 guowei-gong

批量修改 frontmatter 的工具是一个很不错的想法,我认为这对于其他静态站点框架(不局限于 valaxy)也是适用的。

我想到有两种实现方案:

一种是纯粹的命令行解决方案,批量设置某个目录下的所有 markdown 文件的 frontmatter。 该方案简洁,对于开发者友好。

另一种方案是实现一个 GUI 客户端,譬如可以基于 tauri 实现。( https://github.com/YunYouJun/tauri-vite-vue ) 可以提供一个表格直接展示某目录下的所有文件 frontmatter,并直接对其进行修改。

@Rotten-LKZ 曾经使用 tauri 开发过一个 valaxy admin 客户端,可以进行一些编辑操作,我想他会对此有所经验。

我认为第二种方案可能是对于所有用户最为便捷的一个方式,该功能可以作为 valaxy-admin 的一个子功能,也可以作为一个单独的 gui 工具。如果你们想要实现该功能,我很乐意邀请你们成为 valaxyjs org 一员,并进行项目开发。我会提供一些设计和开发上的帮助及建议。

YunYouJun avatar Feb 18 '23 21:02 YunYouJun

也许可以推荐一下我的插件 markdown-it-fff 它在读取时处理 Frontmatter(而不是提前修改),初始配置以外几乎不需要用户操作

kwaa avatar Mar 07 '23 08:03 kwaa

也许可以推荐一下我的插件 markdown-it-fff 它在读取时处理 Frontmatter(而不是提前修改),初始配置以外几乎不需要用户操作

看起来和 @qtqz 想要的有点区别,我猜他应该是想要一个可视化界面/交互终端脚本以修改 markdown 的 frontmatter 信息并保存原文件。

YunYouJun avatar Mar 07 '23 08:03 YunYouJun

也许可以推荐一下我的插件 markdown-it-fff 它在读取时处理 Frontmatter(而不是提前修改),初始配置以外几乎不需要用户操作

看起来和 @qtqz 想要的有点区别,我猜他应该是想要一个可视化界面/交互终端脚本以修改 markdown 的 frontmatter 信息并保存原文件。

方式不同,不过我认为同样解决了标题中的 “方便用户迁移”

kwaa avatar Mar 07 '23 08:03 kwaa