Typecho 使用
安装#
下载Typecho#
链接:typecho
下载后得到一个压缩文件,解压后获得目录如下:
将该文件夹改名为blog
并且上传到/var/www/blog
目录下:
如下:
修改apache配置#
参考:链接
执行 Typecho
安装程序 #
上面apache配置正确的话,在浏览器输入 http://ip/install.php
或者 http://域名/install.php
就能访问到安装程序了:
问题#
1、配置数据库时,报错
对不起,无法连接数据库,请先检查数据库配置再继续进行安装
解决方法:
手动创建数据库【typecho】即可
底部增加备案号#
1、在主题文件夹下 【blog/usr/themes/default】的footer.php 添加代码:
1 2 3 | <?php if ($ this ->options->bei): ?> <div class = "blog-text-center" ><a href= "https://beian.miit.gov.cn/#/Integrated/recordQuery" target= "_blank" rel= "nofollow" ><?php $ this ->options->bei(); ?></a></div> <?php endif; ?> |
2、在主题文件夹下 【blog/usr/themes/default】的function.php 添加代码: 在
1 2 | $bei = new Typecho_Widget_Helper_Form_Element_Text( 'bei' , NULL, NULL, _t( '工信部备案号' ), _t( '一般为 苏ICP备9999999号,留空则不显示' )); $form->addInput($bei->addRule( 'xssCheck' , _t( '工信部备案号不能使用特殊字符' ))); |
3、保存后,选择 【控制台-外观-设置外观】 即可找到相应的ICP备案号填写处:
问题:保存后,过段时间会消失,原因目前未知,以防发生,直接写死
方法:在主题文件夹下 【blog/usr/themes/default】的footer.php 添加代码:
1<?php _e(
'<a href="https://beian.miit.gov.cn/#/Integrated/recordQuery">你的备案号</a>'
); ?>.
启用https#
参考 :链接
申请SSL证书#
参考:链接
Typecho程序设置#
1、登录【控制台 -> 个人设置 【】-> 个人主页地址】 改成https的域名:
2、编辑Typecho站点根目录下的文件config.inc.php加入下面一行配置:
1 2 | /** 开启HTTPS */ define( '__TYPECHO_SECURE__' , true ); |
注意:Chrome内核的浏览器有不安全提示的时候,需要找到主题目录下面的comments.php文件
再将其中的
更换主题#
参考:链接
1、下载对应的包,解压,上传到 【blog/usr/themes/】
2、登录后台,【控制台- 外观 】,点击启动即可:
问题:
切换后,点击博客主页,报错,试了几个主题皆如此,欢迎大佬来解惑!
增加访客统计#
参考:链接
下载插件#
上传#
将插件上传导 usr/plugins这个目录下
启用插件#
1、登陆后台,在“控制台”下拉菜单中进入“插件管理”
2、激活相关插件
更新设置#
实现效果:
在背景文件 footer.php 添加:
1 2 3 4 | // 輸出訪問次數: <?php Views_Plugin::theViews(); ?> // 輸出最歡迎文章: <?php Views_Plugin::theMostViewed(); ?> |
文章字数统计#
在主题包 中的文件functions.php中写入代码:
1 2 3 4 5 6 | /* 文章字数统计 */ function art_count ($cid){ $db=Typecho_Db:: get (); $rs=$db->fetchRow ($db-> select ( 'table.contents.text' )-> from ( 'table.contents' )-> where ( 'table.contents.cid=?' ,$cid)->order ( 'table.contents.cid' ,Typecho_Db::SORT_ASC)->limit (1)); $text = preg_replace( "/[^\x{4e00}-\x{9fa5}]/u" , "" , $rs[ 'text' ]); echo '共' .mb_strlen($text, 'UTF-8' ). '字' ; |
在模板 【post.php】中调用:
1 | <li><?php _e( '字数: ' ); ?><?php echo art_count($ this ->cid); ?></li> |
问题:Call to undefined function mb_strlen()
报错:
方法: 在php 的配置文件php.ini里面的 extension=php_mbstring.dll前面的;去掉
问题:我的php.ini里面TM 没有 extension=php_mbstring.dll
解决方法:
原因:安装PHP时未安装mbstring扩展
1、安装mbstring扩展:
1yum install php-mbstring
2、修改php.ini
12echo ‘extension=mbstring.so' >>/etc/php.ini
echo ‘extension=mbstring.dll' >>/etc/php.ini
3、重启服务
1systemctl restart httpd
手机端评论报错 database query error#
解决方法#
将MySQL数据库的 sql-mode='STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION'中的
STRICT_TRANS_TABLES删掉,然后重启MySQL服务
具体操作#
修改mysql的配置文件 :
1 | vim /etc/my.cnf |
sql-mode 字段中去掉 STRICT_TRANS_TABLES,然后重启服务
我的 mariadb 的 my.cnf 文件中没有sql-mode,若要永远修改 sql-mode,直接在
中修改,若没有,直接添加,保存,重启服务
参考:链接
开启调试模式#
在网站文件 config.inc.php 中添加:
1 2 | /** 开启调试模式,错误页面会显示具体的错误内容 */ define( '__TYPECHO_DEBUG__' , true ); |
编辑当前外观时无法写入 #
授权即可:
1 | chmod -R 777 / var /www |
修改上传文件的大小#
参考:链接
1、找到php.ini文件#
1 | find / -name '*php.ini*' |
2、打开php.ini文件#
1 | vim /etc/php.ini |
3、修改php.ini文件 #
1 2 | upload_max_filesize = 1000M; //设置成你想要的大小 post_max_size = 1000M; |
4、重启服务#
1 | systemctl restart php-fpm.service |
添加文章目录#
参考:链接
功能#
就是显示文章目录。
本插件的显隐功能依赖jquery
目前只对h2
和h3
做解析,并且解析出的数量大于3的时候才会放出目录。
下载#
安装#
下载解压文件将文件夹重命名为 TableOfContents
上传至 usr/plugins
目录即可!
启用#
使用OSS储存Typecho上传附件#
参考:链接
下载#
安装#
1、解压插件,将解压后的文件夹重命名为AliOssForTypecho
2、上传至 usr/plugins
目录即可
启动#
配置#
注意事项:
1、bucket 权限设置为共有读
2、网站目录/usr/uploads 开放权限
设置图片样式#
参考:链接
1、添加水印#
参考:链接
例子:设置图片的固定大小,并在图片走右下方添加水印
1 | ?x-oss-process=image/resize,w_600,h_600/watermark,type_ZmFuZ3poZW5naGVpdGk,size_20,text_SGVsbG8gUGFt,color_FFFFFF,shadow_50,t_100,g_se,x_5,y_5 |
1 | ?x-oss-process=image/ :表达添加的参数 |
1 | resize,w_600,h_600/ :表示设置图片宽高各600 |
1 | watermark,type_ZmFuZ3poZW5naGVpdGk,size_20,text_SGVsbG8gUGFt,color_FFFFFF,shadow_50,t_100,g_se,x_5,y_5:设置水印文字为“方正黑体”,大小20,文字为:Hello Pam,水印文字为白色、阴影透明度50、位置在右下、水平边距5、中线垂直偏移5 |
插件设置:
也可以添加图片水印
可参考:
更换编辑器#
参考: 链接
1、下载
2、上传
将下载的文件解压,文件夹重命名为EditorMD
,上传到Typechousr/plugins/
目录下
3、开启
登陆后台,在控制台
下拉菜单中点击插件
进入插件管理,
找到EditorMD
,点击启用
注意:使用 EditorMD 后在设置项中的 接管前台Markdown解析 不建议开启,开启后在自定义模板中可能会存在适配问题
在分类后添加文章个数#
参考:链接
1、找到 sidebar.php
2、替换语句
1 2 3 4 | <?php $ this ->widget( 'Widget_Metas_Category_List' )->to($categorylist); ?> <?php while ($categorylist->next()): ?> <li><a href= "<?php $categorylist->permalink(); ?>" title= "<?php $categorylist->name(); ?>" ><?php $categorylist->name(); ?>(<?php $categorylist->count(); ?>)</a></li> <?php endwhile; ?> |
添加网站运行时间#
1、添加代码
在 functions.php 中添加代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | // 设置时区 date_default_timezone_set( 'Asia/Shanghai' ); /** * 秒转时间,格式 年 月 日 时 分 秒 * * @return html */ function getBuildTime(){ // 在下面按格式输入本站创建的时间 $site_create_time = strtotime( '2016-09-22 00:00:00' ); $time = time() - $site_create_time; if (is_numeric($time)){ $value = array( "years" => 0, "days" => 0, "hours" => 0, "minutes" => 0, "seconds" => 0, ); if ($time >= 31556926){ $value[ "years" ] = floor($time/31556926); $time = ($time%31556926); } if ($time >= 86400){ $value[ "days" ] = floor($time/86400); $time = ($time%86400); } if ($time >= 3600){ $value[ "hours" ] = floor($time/3600); $time = ($time%3600); } if ($time >= 60){ $value[ "minutes" ] = floor($time/60); $time = ($time%60); } $value[ "seconds" ] = floor($time); echo '' .$value[ 'years' ]. '年' .$value[ 'days' ]. '天' .$value[ 'hours' ]. '小时' .$value[ 'minutes' ]. '分' ; } else { echo '' ; } } |
2、修改自己的建站日期
1 | $site_create_time = strtotime( '2016-09-22 00:00:00' ); |
在需要调用的地方填写以下代码:
1 | 网站已运行:<?php getBuildTime(); ?> |
例如,放在网站底部:
在 footer.php 中添加即可
3、可以修改显示的内容:
1 | $value[ 'years' ]. '年' .$value[ 'days' ]. '天' .$value[ 'hours' ]. '小时' .$value[ 'minutes' ]. '分' |
4、补充
php中换行:<br />
5、效果:
返回顶部#
1、插件下载
链接 密码: dzt6
2、上传插件
上传到 博客目录/usr/plugins
3、后台启用
作者:Hang Shao
出处:https://www.cnblogs.com/pam-sh/p/13654968.html
版权:本作品采用「知识共享」许可协议进行许可。
声明:欢迎交流! 原文链接 ,如有问题,可邮件(mir_soh@163.com)咨询.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)