为历史文章添加 updated

tsvico Lv5

由于我的博客迁移到了 redefine, 在些许配置上有差异性,比如 next 主题中版权声明是写作 copyright: true,但是在 redefine 这么写版权部分只会显示一个 true,我在某次提交统一删除了 copyright: true,但是此行为导致所有文章的修改日期变成提交的时间,所以使用脚本为所有文章添加上 updated

更新日期从某个提交中文件的最后修改日期为准,使用以下命令获取最后修改日期,格式采用 yyyy-MM-dd HH:mm:ss

1
git log -1 --format="%cd" --date="format:%Y-%m-%d %H:%M:%S" <commit_hash> -- <目录路径>

source 目录下创建 fix.sh,其中 aaaaaaaaaaaaaaaccccccc 是我具体到某次提交 id

1
2
3
4
5
6
7
8
9
#!/bin/bash

dir="_posts"
for file in `ls ${dir} | grep '.md'`;do
content=$(cat ${dir}/${file}| head -n 10 | grep 'date: ')
datestr=$(git log -1 --format="%cd" --date="format:%Y-%m-%d %H:%M:%S" aaaaaaaaaaaaaaaccccccc "${dir}/${file}")
newcontent="updated: "$datestr
sed -i "/$content/a\\$newcontent" ${dir}/${file}
done

修改 scaffolds/post.md,添加 updated: {{ date }}
为以后的文章添加上默认的修改日期(等于创建日期)

  • 标题: 为历史文章添加 updated
  • 作者: tsvico
  • 创建于 : 2025-01-15 18:40:21
  • 更新于 : 2025-01-15 18:50:20
  • 链接: https://blog.tbox.fun/2025/3421175541.html
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论
目录
为历史文章添加 updated