layout: post cid: 32 title: 为Typecho文章增加HTML标签支持 slug: 32 date: 2019/04/14 10:55:00 updated: 2019/06/14 22:53:47 status: publish author: Alex categories:

前言

 之前一直用EditorMD插件编辑文章,因为它支持实时预览、代码/表格插入、代码折叠等功能,但是主题自带的目录功能就没法使用了,而且在首页文章预览页面,会出现文章内的Markdown语法,看起来始终让人觉得不够好,另外还不能使用PJAX 无刷新的功能(因为会出现新的bug),所以我就想既然我暂时想要的只是一个折叠功能--也就是解析几个HTML标签,何不换一个思路,停用插件让Typecho支持这几个标签不就好了嘛。

解决方法

 于是我就上网查了下,原来是如此的简单,只需要在Typecho/var/目录下的HyperDown.php文件的第17行后边自行添加想要的HTML标签就可以了

<?php

/**
 * Parser
 *
 * @copyright Copyright (c) 2012 SegmentFault Team. (http://segmentfault.com)
 * @author Joyqi <joyqi@segmentfault.com>
 * @license BSD License
 */
class HyperDown
{
    /**
     * _whiteList
     *
     * @var string
     */
    public $_commonWhiteList = 'kbd|b|i|strong|em|sup|sub|br|code|del|a|hr|small|details|summary|p';
    #这里我已经添加上了<details>|<summary>|<p>这三个想要的标签

    /**
     * _specialWhiteList
     *
     * @var mixed
     * @access private
     */
    public $_specialWhiteList = array(
        'table'  =>  'table|tbody|thead|tfoot|tr|td|th'
    );

最后,大功告成! ::aru:cheer::

附:借助HTML5 details,summary无JS实现各种交互效果