周淼(MillsonZhou)的个人博客,记录、收藏、分享

Google网站管理员工具的HTML建议

一直在使用google网站管理员工具,但是基本上设置好之后就没有再关注过了,因为我对收录多少不是太在乎的,因为大部分我的文章都是不适合大众阅读的,被人搜索到了反而不太好。

因为我搬家之后就修改了固定链接,结果现在抓取错误的链接有27个

html建议中提示我元标记过短,就是首页的Description,内页的长度都够了,因为内页的Description是截取的文章的部分内容,感觉这个还蛮重要的

因为首页我还是希望被收录过去的,如果首页Description太短的话,搜索出来的结果就不好看了

看这个图的对比

QQ截图未命名.png


所以,还是描述多一点吧,就是typecho后台的设置->基本设置里的站点描述

AutoBackup插件中的config.xml文件的作用

在AutoBackup的开发过程中,我使用了一个配置文件config.xml,该文件的作用我在插件发布中并没有提及,通过这篇文章来详细介绍一下该文件的作用及实现方式。

这里我将config.xml简化成:


1
2
3
4
<?xml version="1.0" encoding="UTF-8"?>
<config>
<circle>2</circle>
</config>

在插件的配置面板函数config(Typecho_Widget_Helper_Form $form)函数的代码简化为:

继续阅读 »

Typecho随机颜色标签云

在需要显示标签云的地方插入如下代码


1
2
3
4
5
6
7
8
<?php Typecho_Widget::widget('Widget_Metas_Tag_Cloud')->to($tags); ?>
<?php if($tags->have()): ?>
<?php while ($tags->next()): ?>
<a style="color:rgb(<?php echo(rand(0,255)); ?>,<?php echo(rand(0,255)); ?>,
<?php echo(rand(0,255)); ?>)" href="<?php $tags->permalink();?>">
<?php $tags->name(); ?></a>
<?php endwhile; ?>
<?php endif; ?>

需要单独页面显示的话可以在当前theme的page.php文件中添加代码来实现


1
2
3
4
5
<?php if($this->slug=="tag-cloud"): ?>
//显示标签云的代码
<?php else: ?>
//原来显示内容的代码
<?php endif; ?>

建立新页面,缩略名为tag-cloud就可以了

typecho数据库自动备份插件for0.8

当前最新版本:1.0.7
支持:只测试了typecho 0.8
发现bug请及时联系我进行修改,谢谢。。。

简单介绍:
看到typecho官方论坛上有数据库管理插件的需求,就研究了以下typecho的插件开发方法,最终得出了这个插件,很粗糙,但应该能够满足基本的需求了吧。

使用方法:
1. 下载压缩包,解压缩
2. 将AutoBackup文件夹上传至/usr/plugins/中
3. 登陆后台,启用插件
4. 进入设置项设置
*如果自动备份了会在AutoBackup目录下生成备份文件

数据还原:
可以先安装typecho,然后在phpmyadmin中导入备份文件;
或者,先创建一个数据库,导入备份文件,然后安装typecho的时候选择这个数据库

插件升级:
1. 禁用现有插件
2. 上传新版文件,覆盖即可(除config.xml文件)
3. 启用插件

@1.0.7
Bug修复
*生成的备份文件中sql语句注释不正确导致还原数据时发生错误,hellowind还原数据时发现的问题
功能修改及更新:
*建立backupfiles文件夹,以后备份的文件都放在这个文件夹中,插件目录不会显得凌乱,插件升级后,现有的文件可以移植该目录下
*选择发送备份文件至邮箱时,发送成功后,删除服务器上的备份文件
*重大更新:修改了还原数据库的方式,将创建表的sql也写入了备份文件中,以后只要建立一个数据库,然后导入备份文件即可,不需要先导入install/mysql.sql文件了,防止使用了其他插件造成的表结构的变化,造成数据还原失败

@1.0.6
*class.phpmailer.php和class.smtp.php也进行了打包,方便首次使用本插件的童鞋
Bug修复
*修复一个implode()函数的bug

@1.0.5
*跳过了1.0.4版本号,因为不吉利,哈哈
*只打包了config.xml和Plugin.php文件,class.phpmailer.php和class.smtp.php请使用上一版本的
*必须替换config.xml文件,因为其结构有变化
功能修改及更新:
1. 不再使用helloword插件的接口,转为调用撰写文章和发表回复的接口,每次写新日志或者发表评论的时候加以判断,如果需要备份,则备份
2. 去除“每周备份时间”的设置,改为按“周期备份”
3. 新增“自定义邮件标题”的设置
*如有感觉不适者,还是继续使用1.0.3吧

@1.0.3
BUG修复:
*不写SMTP端口无法保存的BUG

@1.0.2
*添加发送备份文件至邮箱功能,仅在本地测试gmail、qq、126、163,该功能需socket支持
*如果你确定没有socket支持,请勿更新;如不确定,升级插件设置好后报错:
SMTP Error: Could not connect to SMTP host.
*说明服务器不支持socket,请重新下载1.0.1版本插件或者取消选项“发送到邮箱”

@1.0.1
Bug修复:
*当checkbox表单没有任何选中时,in_array()函数的报错

@1.0.0
*使用helloword插件的接口,访问后台的所有页面都会进行判断

下载地址:
AutoBackup.1.0.7.zip

typecho从sqlite转为mysql

折腾了半天,终于还是把sqlite转成了mysql,因为平时使用的都是mysql,还是不花时间去搞sqlite了,毕竟两者还是有一定的区别的。
本想写个插件,后来想想算了,有此需求的人太少,并且我的日志数还比较少,靠人工可以转换。
先下了个sqlite developer,把数据库.db文件导出为.sql文件,与mysql导出的格式有一点小区别,如

1
2
mysql:
INSERT INTO `typecho_relationships` (`cid`, `mid`) VALUES ('1','1')

1
2
sqlite:
INSERT INTO [typecho_relationships] ([cid], [mid]) VALUES ("1","1")

把该替换的都替换了,结果还是出现了两个问题:
1.typecho_contents表里的slug字段是唯一的,但是我有两个图片名都是1.jpg,然后slug字段值也都是1-jpg,结果就报错了,按理说应该不会出现这样的问题的,难道这也是sqlite与mysql的区别?
2.typecho_options表里的routingTable对应的value字段的值可能太大了,所以sqlite developer导出的时候没导全还是其他什么问题,总之这一条数据插入也报错,后来的解决方法是从install.php文件中直接复制的初始数据

返回顶部