MENU

Typecho 主题调教(三)

2019 年 06 月 30 日 • Typecho

Typecho 是由 type 和 echo 两个词合成的,来自于开发团队的头脑风暴。

Type,有打字的意思,博客这个东西,正是一个让我们通过打字,在网络上表达自己的平台。Echo,意思是回声、反馈、共鸣,也是 PHP 里最常见、最重要的函数,相信大部分 PHP 爱好者都是从 echo 'Hello,world!'; 开始自己的 PHP 编程之路的。

修改主页图片 post-card 加载方式

 - 删除 CDN 加载图片的相关代码
 - 增加一个文章自定义字段,用于自定义 low-quality 图像 URL
 - 现在文章大图和小图 URL 完全可以自己设置
 - 支持图片懒加载和高斯模糊

评论 MOD 标签

# var/Widget/Comments/Archive.php

<div class="comment-author" itemprop="creator" itemscope itemtype="http://schema.org/Person">
    <span itemprop="image">gravatar($singleCommentOptions->avatarSize, $singleCommentOptions->defaultAvatar); ?> 
    
    // <?php CommentApprove_Plugin::identify($this->mail);?>

    <cite class="fn" itemprop="name">beforeAuthor();
    $this->author();
    $singleCommentOptions->afterAuthor(); ?>
</div>  

集成 HTML 压缩功能

# https://www.linpx.com/p/pinghsu-subject-integration-code-compression.html
# 将其放到 function.php 的末尾
function compressHtml($html_source) {
    $chunks = preg_split('/(.*?|.*?<\/nocompress>|||)/msi', $html_source, -1, PREG_SPLIT_DELIM_CAPTURE);
    $compress = '';
    foreach ($chunks as $c) {
        if (strtolower(substr($c, 0, 19)) == '') {
            $c = substr($c, 19, strlen($c) - 19 - 20);
            $compress .= $c;
            continue;
        } else if (strtolower(substr($c, 0, 12)) == '') {
            $c = substr($c, 12, strlen($c) - 12 - 13);
            $compress .= $c;
            continue;
        } else if (strtolower(substr($c, 0, 4)) == ' $char) {
                        if ($char == '"' && $chars[$key - 1] != '\\' && !$is_apos) {
                            $is_quot = !$is_quot;
                        } else if ($char == '\'' && $chars[$key - 1] != '\\' && !$is_quot) {
                            $is_apos = !$is_apos;
                        } else if ($char == '/' && $chars[$key + 1] == '/' && !$is_quot && !$is_apos) {
                            $tmp = substr($tmp, 0, $key);
                            break;
                        }
                    }
                }
                $c .= $tmp;
            }
        }
        $c = preg_replace('/[\\n\\r\\t]+/', ' ', $c);
        $c = preg_replace('/\\s{2,}/', ' ', $c);
        $c = preg_replace('/>\\s <', $c);
        $c = preg_replace('/\\/\\*.*?\\*\\//i', '', $c);
        $c = preg_replace('//', '', $c);
        $compress .= $c;
    }
    return $compress;
}
# footer.php 末尾加上下面代码
<?php $html_source = ob_get_contents(); ob_clean(); print compressHtml($html_source); ob_end_flush(); ?>

赞助博客

2016~2020 年经济学人合集 ( PDF+EPUB+MOBI )
赞助合集
经济学人 2020 年音频赞助版
赞助音频