Typecho折腾小笔记

一、使Typecho支持emoji表情

!> Typecho默认不支持emoji表情,其实不是程序的锅,而是由于编码的问题,只需要将默认的数据库编码utf8修改为utf8mb4即可,当然别忘了,utf8mb4编码只有在PHP5.5以后才支持。——挨踢路

1.修改数据库编码

进入phpMyAdmin(4.8.5),选择您的数据库,操作 -> 排序规则,选择utf8mb4_general_ci ,勾选更改所有表排序规则,执行,操作完成。

附上SQL语句

alter table typecho_comments convert to character set utf8mb4 collate utf8mb4_general_ci;
alter table typecho_contents convert to character set utf8mb4 collate utf8mb4_general_ci;
alter table typecho_fields convert to character set utf8mb4 collate utf8mb4_general_ci;
alter table typecho_metas convert to character set utf8mb4 collate utf8mb4_general_ci;
alter table typecho_options convert to character set utf8mb4 collate utf8mb4_general_ci;
alter table typecho_relationships convert to character set utf8mb4 collate utf8mb4_general_ci;
alter table typecho_users convert to character set utf8mb4 collate utf8mb4_general_ci;

2.修改数据库配置文件

编辑网站配置文件config.ini.php,修改charset的值为utf8mb4

/** 定义数据库参数 */
$db = new Typecho_Db('Pdo_Mysql', '********');
$db->addServer(array (
  'host' => 'localhost',
  'user' => '***********',
  'password' => '*********',
  'charset' => 'utf8mb4',//请修改此处
  'port' => '*******',
  'database' => '********',
), Typecho_Db::READ | Typecho_Db::WRITE);
Typecho_Db::set($db);

二、Typecho开启SSL启用全站https留下的坑

1.链接替换

当你以为更换完后台地址为HTTPS就搞定的时候,是否考虑到,之前引用的图片等链接还是HTTP呢?那就来试试这款插件吧,能省不少事
【插件】Typecho全站HTTPS URL替换利器

2.配置修改

除了替换链接,还建议在网站配置文件config.ini.php中添加一下代码,完全开启HTTPS

/** 开启HTTPS */
define('__TYPECHO_SECURE__',true);

三、文章页面截图功能禁用后优化

因为未启用页面截图分享功能时,系统依然会自动生成二维码,属于白白消耗资源,浪费几十到一百多毫秒的时间。
找到Handsome主题下libs\Content.php文件,只需修改function returnSharePostDiv($obj)函数,找到以下代码:

        $notice = _mt("扫描右侧二维码阅读全文");
        $image = THEME_URL.'libs/GetCode.php?type=url&content='.$url;
        return <<<EOF
        <style>
        
        .mdx-si-head .cover{
            object-fit: cover;
            width: 100%;
            height: 100%
        }
        
</style>
<div class="mdx-share-img" id="mdx-share-img"><div class="mdx-si-head" style="background-image:url({$headImg})"><p>{$author}</p><span>{$title}</span></div><div 
class="mdx-si-sum">{$expert}</div><div class="mdx-si-box"><span>{$notice}</span><div class="mdx-si-qr" id="mdx-si-qr"><img 
src="{$image}"></div></div><div class="mdx-si-time">{$day}<br><span 
class="mdx-si-time-2">{$year}</span></div></div>
EOF;

然后用下面的代码将其替换掉,大功告成。

        $options = mget();
        if (@in_array("sreenshot",$options->featuresetup) && $obj->is("post")){
            $notice = _mt("扫描右侧二维码阅读全文");
            $image = THEME_URL.'libs/GetCode.php?type=url&content='.$url;
            return <<<EOF
            <style>

            .mdx-si-head .cover{
                object-fit: cover;
                width: 100%;
                height: 100%
            }
                
</style>
<div class="mdx-share-img" id="mdx-share-img"><div class="mdx-si-head" style="background-image:url({$headImg})"><p>{$author}</p><span>{$title}</span></div><div 
class="mdx-si-sum">{$expert}</div><div class="mdx-si-box"><span>{$notice}</span><div class="mdx-si-qr" id="mdx-si-qr"><img 
src="{$image}"></div></div><div class="mdx-si-time">{$day}<br><span 
class="mdx-si-time-2">{$year}</span></div></div>
EOF;
        }    

松鼠大大

若不是真的废物,谁又愿意混吃等死呢?

相关推荐

Flarum 任务计划 & Cron

当我们在使用 Flarum 部分插件时,比如:fof/drafts 的“定时发布”;fof/best-answer 的提醒事项“于N天后提醒用户选择最 ...

暂无评论

  1. 测试

    我们一起嘤嘤嘤

  2. 留个脚印 ::funny:01::

    • @Paul 午好,
      午餐,就决定把你抓去煲汤喝,诶嘿嘿 ::funny:33::

发表评论

您的电子邮件地址不会被公开,必填项已用*标注。