网上并没有适合于 Hexo 的默认主题 landscape 的打赏功能添加的相关分享。考虑到简洁性和一致性,我将打赏按钮和文章右下角的 Comments 按钮、 Share 按钮放在了一起。本文就介绍如何在 landscape 主题下添加打赏功能。
修改文章模板
修改 <hexo dir>/scaffolds/post.md
文件,在 ---
前添加一行 `` 。
修改文章布局
修改 <hexo dir>/themes/landscape/layout/_partial/article.ejs
文件,在 footer
内,post/tag
之前,添加 Reward
链接。部分代码修改后如下:
1 | <% if (post.reward){ %> |
修改样式
修改 <hexo dir>/themes/landscape/source/css/_partial/article.styl
文件,在最后添加如下代码:
1 | .article-reward-link |
修改 js 文件
修改 <hexo dir>/themes/landscape/source/js/script.js
文件,在 //Share
那一整块之后添加 //Reward
,内容部分可自定义修改,本例为:
1 | // Reward |
关于二维码
修改的 js 文件里有这样一行: <img src="/images/payment.png" alt="Payment QR-code">
,这里的 payment.jpg
是一个集成支付宝和微信支付的二维码,具体制作方法请参考这篇文章。
至此,功能已经添加完毕,可以重新构建并部署,新建文章默认启用打赏功能,过往文章如需启用,应在 Front-matter 中添加一行 reward: true
。