共计 2474 个字符,预计需要花费 7 分钟才能阅读完成。
本主题在 Louie 基于 Fuzzz 的 Akina 主题修改的主题 Siren 基础上三次修改,显然与前辈比起来,我唯一的贡献就是把他们的代码搞得乱七八糟了吧 =.=
GitHub 下载地址在文末。
I. 特性
随机封面图
内带了一个返回随机图片的 API,把想要展示的图放到 /cover/gallery 中即可。
Lazyload
使用了开源库 jQuery-Lazyload,按需加载图片,优先加载缩略图或占位图,当图片显示在 viewport 上时才加载原图,提升网页加载速度。
另外首页文章列表设计了一个向上浮现的效果,算我最满意的一个小 trick~
文章封面视频
可将视频设为文章封面,支持 hls 流视频。使用说明见主题 wiki。
定制登陆及后台界面
后端登陆界面及 Dashboard 美化(配色方案 Sakura),你也可以自行设计配色方案(请留意“后台配置”页面下的说明),同时也有配合 pjax 实现的前端登陆,前端登陆需自行用模板创建新页面(page)。
支持 Bilibili 表情
后端请按提示切换后台为明亮主题(个人资料页切换),否则评论管理页将出现表情鬼畜。
QQ/Gravatar 头像
如果输入了 QQ 号,留言将拉取 QQ 头像,如果 QQ 号不存在或者是输入了邮箱,将拉取 Gravatar 头像。QQ 头像接口和 Gravatar 镜像都由我这边提供。
评论插图
用户 UA 及 IP 定位
文章目录
使用了开源项目 tocbot,在需要目录的文章任意位置输入 [toc] 启用。文章首字的大写使用方法:把首字放到 [begin] 和 [/begin] 之间。
Mac 风格代码块
import banana
class Monkey:
# Bananas the monkey can eat.
capacity = 10
def eat(self, n):
"""Make the monkey eat n bananas!"""
self.capacity -= n * banana.size
def feeding_frenzy(self):
self.eat(9.25)
return "Yum yum"
代码高亮渲染使用的是 highlightjs。代码块可全屏
建议通过 Markdown 语法写作以便代码块正常显示,代码高亮支持二十多种常见编程语言。
前端主题切换
时光轴
使用了 Shawn 的设计。
相册
基于 fancybox 实现的相册功能。
邮件模板
修改了 APlayer 的部分样式,文章内插入音乐可使用 Hermit X 插件。
CDN 优化
因为自己博客每天访问量较大(日均 PV 3000 左右),所以为了减少请求数及流量,以此控制 CDN 费用(每天 0.2 元左右),针对性地做了 CDN 优化:主要是合并请求,并把不同类型的资源分配到不同的域名上,这些在后台界面可以调整。其他内容相对固定的资源,如贴图和前端库都放到了 jsDeliver 的公共库上。
移动客户端 *
借助 PJAX 异步加载,便于基于 WebView 开发高性能的移动客户端,切换页面时无刷新,可以获得接近 Native 的响应速度。具体可以体验 安卓客户端。
II. 注意事项
重要★★:主题下载后请把文件夹名字改回 Sakura,也即,保证主题路径为 wp-content/themes/Sakura/。
启用新主题 / 插件前备份数据库是一个良好的习惯。虽然我保证主题不可能损坏你的数据,但是毕竟数据无价,对吧?
建议安装的插件☆
WP Editor.md,Markdown 编辑器,请开启“将 Markdown 用于评论”,否则评论插入的颜文字将无法转义。作为替代方案,你也可以选择使用官方插件 Jetpack by WordPress.com,同样启用“将 Markdown 用于评论”功能。
Hermit X,基于 Aplayer 的播放器。
Easy WP SMTP,邮件支持。
WP Statistics,统计插件,主题可选择其接口以作页面访问计数。
Login LockDown,登陆尝试限制,避免前端登陆爆破。
Wordfence Security,避免爆破和评论注入。提醒:该插件将在数据库中记录访客信息,数据库体积将略有增大。
Akismet Anti-Spam,垃圾评论过滤。
AMP,生成 AMP 页面,效果就是这样,有利于提升 Google 排名。
Autoptimize,页面压缩。
Glue for Yoast SEO & AMP,AMP 增强,需配合 Yoast SEO 及 AMP 插件使用。
WP Super Cache,页面缓存,为访客自动生成缓存版网页,提升访问速度。
Yoast SEO,搜索引擎优化。
系统兼容性,仅列出开发环境:
# PHP 版本
$ php -v
PHP 7.1.15-0ubuntu0.17.10.1 (cli) (built: Mar 14 2018 22:30:42) (NTS)
# MySQL 版本
$ mysql -V
mysql Ver 14.14 Distrib 5.7.21, for Linux (x86_64) using EditLine wrapper
# Nginx 版本
$ nginx -v
Tengine version: Tengine/2.2.2 (nginx/1.8.1)
# 系统版本
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 17.10
Release: 17.10
Codename: artful
# WordPress 版本
$ grep wp_version wp-includes/version.php
* @global string $wp_version
$wp_version = '5.1.3';
已兼容 PHP 7.2;PHP 最低版本要求为 7.1;可兼容 Windows(Wnmp),可在这里下载 Windows 调试版;
演示站点:https://2heng.xin/theme-sakura/#toc-head-27
项目发布于 GitHub:mashirozx/Sakura,点击前往下载 ,如果下载速度慢可使用国内镜像,Pull Request 和 Issue 请提交到 GitHub。
另有 hexo 版主题分支:honjun/hexo-theme-sakura