
anzhiyu主题文章板块中关于原创与判定的实现逻辑问题
LixdHappy进行主题修改前必看
博客魔改有风险,请务必备份你的
原代码
因为
.pug
和.styl
以及.yml
等对缩进要求较为严格,请尽量不要使用记事本等无法提供语法高亮的文本编辑器进行修改。本文涉及修改内容会以diff代码块进行标识,复制时请不要忘记删除前面的
+,-
符号本帖基于
Anzhiyu主题
进行修改方案编写,因此请读者优先掌握Anzhiyu主题官方文档的内容后再来进行魔改。
前言与实现逻辑
在写部分转载文的时候,发现关于转载的判定有些奇怪。
奇怪在哪里呢?
假如说文章下方的版权模块是更多是为了介绍自己的一个板块,那你就可能可以理解为什么需要将copyright_author
的作者修改为自己了,一个原因是你修改为转载文的原作者后头像不匹配,显得也不美观。另一个原因是它与你的.config.author
有所冲突,anzhiyu主题的大量元素与这一项有关,比如说card-content
个人卡片模块
页脚的网站版权元素
其中带有的名字,均与你的.config.author
相关联,如果只是单单将_config.yml
里关于作者的定义删去并不能治本,会导致许多元素缺失。
所以在我的想法里应该要达到什么样的效果呢?
- 保留
copyright_author
的定义可以写上自己的名字。(尽管它的本意是代表转载文的原作者名字 - 不与
config
里的author
冲突(毕竟转载判定只影响文章,而author
就不同了
所以这里就对部分转载文的原作者抱歉了
本来的想法是蛮绕的,因为又是影响这个影响那个,导致思绪不是很好捋清。后来看到anzhiyu文档里关于front-matter
-copyright
的定义时,
写法 | 解释 |
---|---|
copyright | 【可选】显示文章版权模块(默认为设置中 post_copyright 的 enable 配置) |
copyright_author | 【可选】文章版权模块的文章作者 |
copyright_author_href | 【可选】文章版权模块的文章作者 链接 |
copyright_url | 【可选】文章版权模块的文章链接 链接 |
copyright_info | 【可选】文章版权模块的版权声明文字 |
copyright
一般来说会在什么情况写在front-matter
上呢?
聪明的你一定知道–只有在确认它是转载文的时候会写上,而且不仅要写copyright
的布尔值,还要将关于copyright
的相关信息补充上
所以思路打开了,就是只要写上copyright的布尔值就可以判断文章为转载
当然实现的逻辑会不会有BUG还有待商榷,比如有些刁钻的角度,假如说不写copyright
的其他值影不影响原创转载的判断等等(这我还是不实验了吧,本来就自用的东西
修改
实现逻辑有了,剩下就是修改。
修改的方式非常简单,所以这一篇的主要目的只是为了说明一下有这种情况发生,以及如何应对不符合常理的逻辑。
1.
路径anzhiyu\layout\includes\post\post-copyright.pug
将原来.post-copyright__post__info
下方的
1 | - if (page.copyright_author && page.copyright_author !== config.author) |
修改为
1 | + if page.copyright |
经过这一步修改后你会发现版权模块的原创与转载逻辑改变了
但是post-info
的原创与转载判定还没有改变,所以你还要接着下一步
2.
路径anzhiyu\layout\includes\header\post-info.pug
下找到
1 | - if (page.copyright_author && page.copyright_author !== config.author) |
修改为
1 | + if page.copyright === true |
那么以后就只需要在front-matter
里添加上copy-right
就可以实现原创与转载的手动标注
后续
如果你有兴趣,可以完成后续的步骤,因为对于本文的修改来说其实还不算太完善