按:这是第一篇测试文章,经 Typecho 默认示例文章修改而来。记录五个知识点:创建数据库,配置 nginx,修复 CDN 和 Gravatar 错误,非插件方式添加语法高亮,添加工信部备案号,都是非常基础的操作,其实也是我现在的编程水平。
源码:https://github.com/typecho/typecho
2017年10月30日以后,就没有再更新正式版。
2021年12月10日,安装,作为技术博客运营。
创建数据库
MySQL
CREATE DATABASE typecho
DEFAULT CHARACTER SET utf8
DEFAULT COLLATE utf8_bin;
GRANT ALL PRIVILEGES ON typecho.* TO 'user'@'%' WITH GRANT OPTION; -- All IP
FLUSH PRIVILEGES;
配置服务器
安装完之后无法登录,因 nginx 默认配置不支持 pathinfo,解决方案:
修改 nginx 配置:
location ~ .*\.php$
改为,支持 pathinfo
location ~ .*\.php(\/.*)*$
location ~ .php$
,正则匹配,被匹配的内容是 HTTP 请求的 URI,正则表达式就是\.php$
,而 ~ 则是 nginx 的 location 指令中的一个标记符,表示这个 location 匹配 URI 采用正则表达式来匹配。
修改错误
主程序许久不更新,又拍云跑路,Gravatar 被墙
修改 typecho/usr/themes/default/header.php
CDN Host:https://staticfile.org/
替换:
//cdnjscn.b0.upaiyun.com/libs/normalize/2.1.3/normalize.min.css
修改 config.inc.php
define('__TYPECHO_GRAVATAR_PREFIX__', 'https://gravatar.cat.net/avatar/');
在网站根目录添加 favicon.ico
语法高亮
Library:https://prismjs.com/
修改默认主题下的 header.php
<link rel="stylesheet" href="<?php $this->options->themeUrl('prism.css'); ?>">
<script src="<?php $this->options->themeUrl('prism.js'); ?>"></script>
添加备案号
修改默认主题下的 footer.php
<a href="https://beian.miit.gov.cn/" target="_blank" rel="nofollow"><?php $this->options->icpNo(); ?></a>
定义 functions.php
$icpNo = new Typecho_Widget_Helper_Form_Element_Text('icpNo', NULL, NULL, _t('工信部备案号'), _t('留空则不显示'));
$form->addInput($icpNo->addRule('xssCheck', _t('工信部备案号不能使用特殊字符')));