`修订时间` 的显示问题
Closed this issue · 8 comments
您好,首先特别感谢您开发本Action工具,我使用后感觉非常好用,但是有一个小问题的,git push --force
将_book
中的所有文件强制推送到gh-pages
分支后,导致所有页面页脚处显示的修改时间都会变化,而不是只修改特定的网页,请问如何解决?
不好意思,我是小白,提的问题比较小儿科,望能帮忙解决。
您好,首先特别感谢您开发本Action工具,我使用后感觉非常好用,但是有一个小问题的,
git push --force
将_book
中的所有文件强制推送到gh-pages
分支后,导致所有页面页脚处显示的修改时间都会变化,而不是只修改特定的网页,请问如何解决?
不好意思,我是小白,提的问题比较小儿科,望能帮忙解决。
你好,Github Action可能无法直接解决,因为每次action运行都是clone一份文件,而文件的创建日期就是clone的那一时刻,以tbfed-pagefooter为例,这一类插件判断最后修改历史是根据.md
源文件的修改历史,就是action clone的那一时刻,所以所有网页的页脚修改时间就会变成clone的时间。
目前解决的思路有:
- 每次把源文件打成压缩包,action把压缩包解压,则文件改动日期不变,但是二进制文件对git不友好,不推荐
- 修改插件实现逻辑1,可以在每一篇文章前面用
yml
手动添加最近修改时间字段,插件根据该字段输出最近编辑,而不是自动判断,优点是自主可控,缺点是gitbook本来就是偏向页数较多的,工作量较大 - 修改插件实现逻辑2,使用github接口判断每次更新的文件,实现难度较大,官方更新接口改动工作量较大
- 本地直接生成网页,将源文件和
_book
一起push到github,触发action将_book
分离出来,自动push到gh-pages
- 补充:参考Dream4ever/Knowledge-Base#69,使用git log实现
git ls-tree -r --name-only HEAD | while read filename; do
touch -d "$(git log -1 --pretty=format:"%ai" -- $filename )" $filename ;
done
在v1.2.2+版本里面使用选项source_edit_time: true
即可,参见example1
谢谢解惑,我之前一直用的是类似第四种的解决方案,本地写了个 batch
,自动 build
并将 _book
里的文件 push
到 gh-pages
,gitbook
源文件只留在本地。
第二三中方案看起来比较麻烦,就不折腾了🙃
谢谢解惑,我之前一直用的是类似第四种的解决方案,本地写了个
batch
,自动build
并将_book
里的文件push
到gh-pages
,gitbook
源文件只留在本地。第二三中方案看起来比较麻烦,就不折腾了
你好,git log也可以实现,上面的已经更新了
谢谢解惑,我之前一直用的是类似第四种的解决方案,本地写了个
batch
,自动build
并将_book
里的文件push
到gh-pages
,gitbook
源文件只留在本地。
第二三中方案看起来比较麻烦,就不折腾了你好,git log也可以实现,上面的已经更新了
您好,感谢更新,我的测试结果是仍然没能解决,这是我的测试仓库,麻烦您帮忙看一下,仍然是变动一个文件后,gh-pages
里所有的页面都会变化
谢谢解惑,我之前一直用的是类似第四种的解决方案,本地写了个
batch
,自动build
并将_book
里的文件push
到gh-pages
,gitbook
源文件只留在本地。
第二三中方案看起来比较麻烦,就不折腾了你好,git log也可以实现,上面的已经更新了
您好,感谢更新,我的测试结果是仍然没能解决,这是我的测试仓库,麻烦您帮忙看一下,仍然是变动一个文件后,
gh-pages
里所有的页面都会变化
你好,在v1.2.2已经修复,再试一下
谢谢解惑,我之前一直用的是类似第四种的解决方案,本地写了个
batch
,自动build
并将_book
里的文件push
到gh-pages
,gitbook
源文件只留在本地。
第二三中方案看起来比较麻烦,就不折腾了你好,git log也可以实现,上面的已经更新了
您好,感谢更新,我的测试结果是仍然没能解决,这是我的测试仓库,麻烦您帮忙看一下,仍然是变动一个文件后,
gh-pages
里所有的页面都会变化你好,在v1.2.2已经修复,再试一下
大佬您好,十分感谢您的无私奉献,目前修订时间的显示问题已经修复!
但是,v1.2.2 还存在一个小小的问题,也就是 CNAME
文件的丢失,导致 Github Pages
指向的域名无法打开,哪怕我手动在 gh-pages
分支创建 CNAME
文件,该文件也会在下一次 Action
后被删除。
而这个问题在之前的版本中并没有出现,还希望您能在百忙之中抽时间修复此问题。
忘记说了
添加CNAME
- 请在
.yml
文件里面添加publish_cname: www.example.com
- 注意:
:
和后面域名
中间有空格- 可以添加多个域名,中间用空格隔开
publish_cname: example.com www.example.com
考虑到
- 这个action可以把不是自己的项目clone过来然后build
- 这样就会有一个问题,如果原来项目就有CNAME,到新的项目里面就会报错
所以这个action会
- 把原有的CNAME删除了
- 如果有在
.yml
设置CNAME,会自动创建,并放在根目录
忘记说了
添加CNAME
请在
.yml
文件里面添加publish_cname: www.example.com
注意:
:
和后面域名
中间有空格- 可以添加多个域名,中间用空格隔开
publish_cname: example.com www.example.com
考虑到
- 这个action可以把不是自己的项目clone过来然后build
- 这样就会有一个问题,如果原来项目就有CNAME,到新的项目里面就会报错
所以这个action会
- 把原有的CNAME删除了
- 如果有在
.yml
设置CNAME,会自动创建,并放在根目录
哦哦,大佬深思熟虑,十分感谢 👍