EAimTY的博客
一个没什么技术的开源爱好者,一个苦逼的学生狗。
January 6, 2016

最近,架不住一个逗B的频频安利,花了些时间把博客平台换到了Typecho。面对一个陌生的程序,我刚开始也是一脸懵逼……

不过使用过一段时间后,还是找到了一些使用姿势。

Typecho的一大特点就是原生支持Markdown,这也成了很多人选择它的理由。但是它的评论功能默认没有开启Markdown的支持,那我们应该如何开启呢?

  1. 首先,需要在Typecho后台的评论设置中勾选在评论中使用Markdown语法

设置

  1. 允许使用的HTML标签和属性中输入:
    <blockquote><pre><code><strong><em><h5><h6><a href title><table><thead><tr><th><tbody><img><td><del><ins><strike><p><br>

这段代码是Typecho转换为Markdown前的HTML标签。其中,<blockquote>标签的作用是“引用”,也就是Markdown中的>语法;<code>标签作用是高亮某个单词或词组;<a href>标签作用是允许评论文字附带超链接,而如果这个链接上还要有文字提示信息,那么就需要改成<a href title>标签;<table>标签作用是允许表格……这里就不一一列举了。

开始用Typecho的时候,写第一篇文章时按照在WordPress上的习惯用了几个emoji,但发表后发现……怎么全没了。。。?最后发现,原来是数据库的问题。WordPress默认的数据库编码是utf8mb4,而Typecho仅仅是utf8,也就只支持3个字节。想要让Typecho支持emoji表情(其实不是Typecho不支持,而是字符集的问题),就需要将Typecho数据库的编码改为utf8mb4。

  1. 首先通过phpMyAdmin或在命令行下修改数据库的编码为utf8mb4:
alter table typecho_comments convert to character set utf8mb4 collate utf8mb4_unicode_ci;
alter table typecho_contents convert to character set utf8mb4 collate utf8mb4_unicode_ci;
alter table typecho_fields convert to character set utf8mb4 collate utf8mb4_unicode_ci;
alter table typecho_metas convert to character set utf8mb4 collate utf8mb4_unicode_ci;
alter table typecho_options convert to character set utf8mb4 collate utf8mb4_unicode_ci;
alter table typecho_relationships convert to character set utf8mb4 collate utf8mb4_unicode_ci;
alter table typecho_users convert to character set utf8mb4 collate utf8mb4_unicode_ci;
  1. 修改config.inc.php中数据库的设置:
$db->addServer(array (
  'host'      =>  localhost,
  'user'      =>  'blog',
  'password'  =>  'password',
  'charset'   =>  'utf8mb4', //修改这里
  'port'      =>  3306,
  'database'  =>  'blog'
), Typecho_Db::READ | Typecho_Db::WRITE);

好了,大功告成!

P.S.很多人抱怨Typecho的Markdown有问题,例如写标题时用##文字没有效果。其实,标准的Markdown语法是## 文字#文字之间是有一个空格的。

本文部分灵感来自:
https://typecodes.com/mix/typechocommentmarkdown.html
http://hran.me/tools/show-emoji-in-typecho.html

暂无评论

添加新评论