主题简介
基于 Typecho 模板增强了一系列功能。
主题功能
- 全站 Pjax
- 主题切换
- 自带 TOC 功能
- 侧边栏开关
- 字数统计
- 图片增强(压缩,灯箱,懒加载)
- 评论定位显示
- 统计代码设置
主题缺点
(暂无)
主题截图
主题使用
安装说明
- 环境说明
温馨提示:default-ultra 主题目前仅在 Typecho 1.2.1、PHP 56 ~ PHP84、MySQL 56 ~ MySQL 84/PostgreSQL 17.6/SQLLite 环境下测试通过,其他情况未作太多测试,如有问题可与我反馈。
推荐环境:Typecho 1.2.1、OpenResty/Nginx、PHP 8.4、MySQL 8。 - 首次安装
主题安装步骤:
1、下载主题文件压缩包。
2、将主题文件压缩包上传至 Typecho 程序/usr/themes/ 目录下。
3、解压主题文件压缩包,并将解压后的文件夹命名为 default-ultra。
4、进入 Typecho 后台 - 控制台 - 外观 - 可以使用的外观,启用 default-ultra 主题。
5、进入 Typecho 后台 - 控制台 - 外观 - 设置外观,配置主题参数。注意:主题启用后,一定要根据自己的实际需求设置主题参数,否则大部分功能可能无法生效。 - 主题更新注意事项
1、主题更新步骤与首次安装步骤基本一致,在 Github 上下载最新的主题文件压缩包,上传覆盖即可。
2、如果对主题文件进行二次修改,请谨慎覆盖更新。
3、主题更新后,一定要根据自己的实际需求设置主题参数。
配套插件说明
- ip2region
Typecho 主题配套的客户端 IP 地址归属地信息查询插件,开源于 visduo/typecho-ip2region-plugin。
注意:在 default-ultra 主题中,显示评论者 IP 地址归属地信息功能需要配合该插件使用。 AISummary
Typecho 主题配套的智能提取文章摘要插件,开源于 idealclover/AISummary-Typecho。
注意:在 default-ultra 主题中,AI 文章摘要需要配合该插件使用。
插件安装与使用参考:https://github.com/idealclover/AISummary-Typecho
插件设置 - 自定义样式:<style> .aisummary { background-color: var(--muted-color); border-radius: 12px; padding: 12px; border: 1px solid var(--border-color); margin-bottom: 0!important; color: var(--text-color) } .aisummary + :not(h1) { padding-top: 2em!important } .ai-text-container { background-color: var(--bg-color); border-radius: 8px; padding: 12px 15px; border: 1px solid var(--border-color); margin-bottom: 8px } .ai-header { margin-bottom: 8px; padding-bottom: 0!important; text-align: left; display: flex; align-items: center; text-indent: 0 } .ai-footer { font-size: .92857em; color: var(--secondary-color); margin-bottom: 0; padding-bottom: 0!important; text-align: left; text-indent: 0 } .ai-hidden-text { display: none } .ai-typewriter-text { display: inline; text-indent: 2em } .ai-cursor { display: inline-block; width: 2px; height: 1em; background-color: var(--link-color); margin-left: 2px; animation: ai-blink 0.7s infinite; vertical-align: middle } @keyframes ai-blink { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 1; } } </style> <script> let aiSummaryTypingTimeoutId = null; function initAISummary() { const typewriterElement = document.querySelector('.ai-typewriter-text'); const sourceTextElement = document.querySelector('.ai-hidden-text'); const typingSpeed = 50; if (!typewriterElement || !sourceTextElement) return; if (aiSummaryTypingTimeoutId) { clearTimeout(aiSummaryTypingTimeoutId); } let textToType = sourceTextElement.textContent.trim(); if (textToType.length > 0) { textToType = ' ' + textToType; } typewriterElement.textContent = ''; let charIndex = 0; function typeNextCharacter() { if (charIndex < textToType.length) { typewriterElement.textContent += textToType.charAt(charIndex); charIndex++; aiSummaryTypingTimeoutId = setTimeout(typeNextCharacter, typingSpeed); } else { aiSummaryTypingTimeoutId = null; } } typeNextCharacter(); } </script>插件设置 - 正文摘要前后固定文字:
<p class="ai-header"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="margin-right: 6px;"> <path stroke="none" d="M0 0h24v24H0z" fill="none"/> <path d="M3 10a4 4 0 0 1 4 -4h10a4 4 0 0 1 4 4v6a4 4 0 0 1 -4 4h-10a4 4 0 0 1 -4 -4v-6z" /> <path d="M8 3l2 3" /> <path d="M16 3l-2 3" /> <path d="M9 13v-2" /> <path d="M15 11v2" /> </svg> AI 摘要 </p> <div class="ai-text-container"> <div class="ai-hidden-text">{{text}}</div> <div class="ai-typewriter-text"></div> <span class="ai-cursor"></span> </div> <p class="ai-footer">此摘要根据文章内容自动生成,仅用于文章内容的解释与总结</p>
主题历史
(暂无)

精选留言