记录一下我对新主题handsome的小修改

微信内分享打开进首页

因为微信内不支持 pushState 导致文章分享出去也是首页地址,看不到具体文章

动刀内容

/themes/handsome/libs/functions.php(64)

1
@define("PJAX_ENABLED", in_array('isPjax', $options->featuresetup));

修改为

1
2
3
4
5
6
//修改判断在微信环境强行禁用PJAX
if (stripos($_SERVER['HTTP_USER_AGENT'], 'MicroMessenger')!==false) {
@define("PJAX_ENABLED", false);
}else{
@define("PJAX_ENABLED", in_array('isPjax', $options->featuresetup));
}

正文标题右边的分享和截图

因为我不用空间微博之类的,然后截图提示跨站(又拍云上设置允许跨站请求又无效??没看到头部有内容输出),索性眼不见心不烦

/themes/handsome/libs/Content.php (122)
简单的加个display: none;风格 :shock:

之前还特地发邮件给我说要换成新 logo 不能使用文字链接

/themes/handsome/component/sidebar.php (103)

加几句,不想占用主题提供的广告框,广告两个字碍眼

1
2
3
4
5
<!--输出又拍云-->
<section id="tag_cloud-2" class="widget widget_tag_cloud wrapper-md clear">
<h3 class="widget-title m-t-none text-md"><?php _me("CDN赞助") ?></h3>
<a class="social" href="https://www.upyun.com" target="_blank" title="又拍云提供全网CDN支持"><img src="https://static.cuojue.org/res/images/upyun_logo8.svg?h400" alt="又拍云"></a>
</section>

图片文件名引发的 404

1
2
/themes/handsome/usr/img/sj
/themes/handsome/usr/img/sj2

这两个目录是作者提供的头部图片,BUG 是文件默认寻找的下标是 0,然而不存在 0.jpg 这样的文件,所以会产生 404,解决方法是把数字最大的文件名改成 0.jpg

文章和评论中的表情被解析了

文章和评论中的表情贴图被解析为了 fancybox 相册:?:
解决方法

1
2
/themes/handsome/libs/Content.php (1287)
/themes/handsome/libs/Content.php (1389)

<img 标签后面添加

1
nogallery

表情被解析到了头图

修改
/themes/handsome/libs/Content.php(542)
屏蔽文章内直接获取 img 标签提取成头图
也就是直接屏蔽第一个 if

1
if (preg_match_all($pattern, $content, $thumbUrl))

统计和 Google Analytics

由于全站用了 pjax 加载,在浏览的时候默认只有入口页会统计到,pjax 加载出来的内容没有重复加载统计,重写一下统计的 js 独立一个函数出来,在主题配置的 pjax 回调调用这个函数

1
ga("UA-77075137-1", "https://ga.giuem.com", window, document, navigator, location);

2018-11-19 更新:
已经改用自建 GA 代理
已改用插件

适用于 Typecho 的 Google Analytics 加速插件

这里顺便感谢一下 BFDZ 大佬提供的 GA 代理 Google Analytics 加载优化


总的来说,这个主题真的不错,感谢作者 友人 C 为我们提供如此精致的主题模板.


记录一下我对新主题handsome的小修改
https://cuojue.org/read/88.html
作者
WeiCN
发布于
2018年11月17日
许可协议