Typecho是一个简单,轻巧的博客程序。基于PHP,使用多种数据库(Mysql,PostgreSQL,SQLite)储存数据。在GPL Version 2许可证下发行,是一个开源的程序,目前使用SVN来做版本管理。Typecho的前身是Magike,一个开源博客程序,由Typecho项目的发起人70开发的。该团队的最初形成,是在wordcamp china的活动上,后来有更多成员加入了这个项目,之后改名为Typecho。
typecho官方读法
type
和echo
这两个单词合起来的读法,读音:太拍~扣
常量
用于改变typecho的功能或者自定义一些功能
1、TYPECHO_DEBUG
做第三方开发必须打开的,报错信息会更加详细,方便找到开发错误点。
用法
在config.inc.php
最后面插入define('__TYPECHO_DEBUG__', true);
2、TYPECHO_ADMIN_DIR
后台路径定义,用于修改程序后台地址,提高安全性。
用法
typecho默认后台地址是admin,如果我们想改成typecho-admin,那么首先登陆服务器把admin文件夹名字改成typecho-admin。然后在config.inc.php找到define('__TYPECHO_ADMIN_DIR__', '/admin/');将其中的admin改成typecho-admin即可。
3、TYPECHO_UPLOAD_DIR
TYPECHO_UPLOAD_URL可以单独定义一个不在typecho下的附件上传地址
存储到这里有什么用呢?
在config.inc.php
最后面插入
define('__TYPECHO_UPLOAD_DIR__', '/www/static');
define('__TYPECHO_UPLOAD_URL__', 'https://xxxxx.upyun.com');
你可以给他单独一个反向代理,就是cdn,七牛,又拍云等cdn可以访问到的地址,然后通过反向代理把你这个路径抓取的,抓取过去后,你那前面的展示地址就可以换成你的cdn地址了,比如上述代码中https://xxxxx.upyun.com。
4、TYPECHO_SECUER
当你用https的时候typecho会自动识别的,但是因为大家的环境千差万别,会有识别错误的情况,比如你https都布置好了,但是程序依旧只会加载http的,所以该常量的作用就是强制程序使用https,解决识别错误的情况。
用法
在config.inc.php
最后面插入define('__TYPECHO_SECUER__', true);
5、TYPECHO_GRAVATR_PREFIX
Typecho 用的GRAVATR的公共头像地址,GRAVATR的服务器在美国,虽然它在全世界做镜像,但是在国内依旧很慢。然后发现有国内有很多人为其做反向代理,把头像缓存到本地,来提高速度,以前大家可能会使用插件来替换 Typecho 的GRAVATR的默认地址,实际上不需要,我们用这个常量就可以了,比如我们替换成https://gravatar.cat.net/avatar/
用法
在config.inc.php
最后面插入define('__TYPECHO_GRAVATR_PREFIX__', 'https://gravatar.cat.net/avatar');
这样一来typecho就会替换成https://gravatar.cat.net/avatar/
渠道的头像地址。【有些模板可能不支持】
皮肤
1、引用皮肤其他部分比如header
,footer
时用$this->need('xxx')
,而不是用php的require,includ,因为this need时typecho本身的方法,他会去做一些判断,文件,路径,是否存在等等。
2、head末尾别忘加$this->header()
,body末尾别忘加$this->footer()
,主要用于插件引用前端资源,比如js。
3、单独自定义皮肤
- 给某个分类自定义皮肤
在模板文件夹下,建立文件夹category,然后在里面放置一个php文件,名字为分类缩略名.php,然后里面的内容就是你想要自定义的皮肤。
- 给某个独立页面自定义皮肤
在模板文件夹下,建立文件夹page,然后在里面放置一个php文件,名字为缩略名.php,然后里面的内容就是你想要自定义的皮肤。
- 给某篇文章自定义皮肤
在模板文件夹下,建立文件夹post,然后在里面放置一个php文件,名字为文章id.php,然后里面的内容就是你想要自定义的皮肤。
4、为皮肤定制自定义变量
Typecho 内置的东西,可以在制作模板的时候为每个文章定义好一个自定义字段,方便模板去调用。
用法
在functions.php
中加入下面代码
function themeFields($layout) {
$thumb = new Typecho_Widget_Helper_Form_Element_Text('thumb', NULL, NULL, _t('自定义缩略图'), _t('输入缩略图地址(仅文章有效)'));
$layout->addItem($thumb);
}
原文链接:【《Typecho 那些事(上)》观后感】
26 条评论
请教一下博主Nginx反代的问题呢,我看你的博客是目录反代 后端typecho 的,我最近在尝试这样配置,但是现在首页正常了,但是无法进入登录页,可以参考一下你的 Nginx location 的配置吗?
十分感谢。
我没有给Typecho弄反代的,只是Nginx里添加新站点而已!
还是喜欢用成熟的woprdpress,免得以后折腾
Typecho其实也不用怎么折腾的,只要选择好一个主题即可!
想当年很喜欢typecho的简书主题,还折腾过一段时间,现在都荒废了
呵呵,其实折腾外观啥的一般都坚持不久的!还是专注于内容比较好!
登楼兄的站还真多!技术分享不错哈。
呵呵,都是瞎折腾的!主要是为了体验 Typecho 才有这个站的!
typecho的读法。。。。自己读给自己听还行,但是跟别人交流起来的话感觉有点别扭,不想wordpress那样容易让人听懂
A:你博客用啥程序?
B:太拍扣
。。。
哈哈,这个要理解一下了!毕竟 Typecho 是一群纯“理科”们搞出来的东西,名字坑定是无法“文艺”了!
不愿折腾了就想用个简单的,能表达的就行,typecho满足了很多人的最基本需求。
是的,Typecho更适合专注于内容的!
自定义字段厉害了,WP里面要无数行代码。(感觉ty的代码更优雅啊)
是的!这点 Typecho 确实好牛逼的样子!
访问过用这个程序做的博客,都是比较快!
是的,那速度真的是没的说了!
太拍~扣OωO
哈哈,我也是才知道原来是这样发音的!
听说最近typecho诈尸了?
啥意思?怎么了?・_・?
都是直接记成类型输出,type echo 中间的e合并
呵呵,这样也可以的!
感觉好多博客系统都换成了Typecho....
呵呵,简单速度快!
这辈子用不上了 博主的广告去哪了
呵呵,谷歌AdSense广告太不稳定了!