hexo 调用share.js

我本来想做的分享按钮预期效果如下:
分享图标,本来也打开了一个实现了该效果的个人网站,结果一不小心关掉了,然后就只能自己动手制作分享功能。

正文

首先在themes\next\layout中新建一个文件socialshare.swig
编辑内容如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<script src="../lib/jquery/index.js"></script>
<link href="https://cdn.bootcss.com/social-share.js/1.0.16/css/share.min.css" rel="stylesheet">
<script src="https://cdn.bootcss.com/social-share.js/1.0.16/js/jquery.share.min.js"></script>

<script> var $config = {
url : window.location.href,// 网址,默认使用 window.location.href
source : '', // 来源(QQ空间会用到), 默认读取head标签:<meta name="site" content="http://overtrue" />
title : '', // 标题,默认读取 document.title 或者 <meta name="title" content="share.js" />
description : '', // 描述, 默认读取head标签:<meta name="description" content="PHP弱类型的实现原理分析" />
image : '', // 图片, 默认取网页中第一个img标签
sites : ['qzone', 'qq', 'weibo','wechat'], // 启用的站点
disabled : ['google', 'facebook', 'twitter'], // 禁用的站点
wechatQrcodeTitle : '微信扫一扫:分享', // 微信二维码提示文字
wechatQrcodeHelper : '<p>微信里点“发现”,扫一下</p><p>二维码便可将本文分享至朋友圈。</p>',
target : '_blank' //打开方式
};
$('.social-share').share($config);
</script>

然后找到themes\next\layout中的文件post.swig中的这部分代码

1
<footer class="post-footer">

之前贴上以下代码

1
2
3
4
{% if theme.social_share and not is_index %}
{% include '../_partials/share/socialshare.swig' %}
<div class="social-share"></div>
{% endif %}

在主题_config.yml文件中增加以下代码

1
2
social_share:
enable: true

保存修改后,然后hexo clean ,hexo g ,hexo d 即可看到点击效果。

总结

虽说分享功能不如我的预期完整,但是也是解决了baidu share组件和赞赏组件冲突的问题。
如果有时间,还有兴趣的时候会继续折腾Share.js这个组件。
然后希望有已经部署成功的人指点一二,不胜感激。

后记

于2018年12月14日修正并解决了该问题。


参考资料

作者

stone liu

发布于

2018-11-24

更新于

2024-02-27

许可协议

评论