改下博客模板

今天心血来潮,闲着,就改下博客的模板吧,前阵子一直想仿一个博客的模板,(已完工三分之一,现在停工中…)只是一直都没时间,太久没弄这东西,完全不知道如何下手了,估计要花一点时间,具体效果如果就不管了,好久没理过博客,今天查下邮件,才发现网站故障了,数据库启动不了,硬盘空间满了,查了下才知道是MYSQL的日志文件占满了。MYSQL安装时是默认配置,没理很久了,竟然有10几G的日志文件。

WordPress URL Rewrite组件,实现wordpress目录形式重写

IIS下一般用的URL重写组件要数ISAPI_Rewrite,朋友的一个wordpress博客想实现博客放在二级目录下,并且博客链接全用目录形式,感觉用ISAPI_Rewrite实现起来很有难度,无意中在网上发现一个直接是WordPress URL Rewrite的组件,并且可以与ISAPI_Rewrite混用,马上试了下,感觉不错。

该组件的主要功能与特色有: 
1.完全无需人工干预,全自动重写URL,只需要在后台设置好Permalinks形式,就能直接使用,就像linux下用.htaccess一样哈哈,谁说我们windows主机不支持全自动伪静态的,人家照样做给你看。

2.因为全自动,所以免去了在写重写规则时候遇到的规则重复造成部分目录和文件无法实现的情况,这个问题我一直碰到,简直就要疯了。

3.可以使用在一级目录和子目录,也可以排除不需要重写的目录。这个非常方便,对于某些目录不需要URL重写的就将其排除,不会造成无法访问。


IIS下一般用的URL重写组件要数ISAPI_Rewrite,朋友的一个wordpress博客想实现博客放在二级目录下,并且博客链接全用目录形式,感觉用ISAPI_Rewrite实现起来很有难度,无意中在网上发现一个直接是WordPress URL Rewrite的组件,并且可以与ISAPI_Rewrite混用,马上试了下,感觉不错。

该组件的主要功能与特色有: 
1.完全无需人工干预,全自动重写URL,只需要在后台设置好Permalinks形式,就能直接使用,就像linux下用.htaccess一样哈哈,谁说我们windows主机不支持全自动伪静态的,人家照样做给你看。

2.因为全自动,所以免去了在写重写规则时候遇到的规则重复造成部分目录和文件无法实现的情况,这个问题我一直碰到,简直就要疯了。

3.可以使用在一级目录和子目录,也可以排除不需要重写的目录。这个非常方便,对于某些目录不需要URL重写的就将其排除,不会造成无法访问。


组件下载地址及作者发布页: http://www.binaryfortress.com/wordpress-url-rewrite 

安装方法:把压缩包解压到任何地方,只要保持WordPressURLRewrite.ini和WordPressURLRewrite32.dll(32位版本,64位版本对应为64.dll)在同一文件夹下就可以了。 
然后打开WordPressURLRewrite.ini设置你的博客目录,以及需要排除的目录,这里就不详细说了,解压包里有说明文档详细说明。 
然后在IIS中选择相应的站点,在ISAPI筛选器中加载WordPressURLRewrite32/64.dll就可以了,加载完不用重启IIS直接生效。(注意要给dll所在的目录加上IIS_WPG组的权限),然后在Wordpress中测试一下,应该就已经成功了!

这个组件最重要的特色就是全自动,省去了一系列的规则问题,这样一来,就完全可以抛弃了ISAPI_Rewrite了,并不是说ISAPI_Rewrite不好,因为对于很多非专业人士来说,毕竟是开个博客,需要花那么多功夫去研究正则表达式,也未免太伤精力了。  

存在的问题: 
1.无法重写以.html结尾的URL,只能以目录形式组成,这个问题我已经在官方论坛提出,希望作者能尽快解决这个问题。

2.对于中文的tag无法访问,仍然需要使用ISAPI_Rewrite来写一条规则:

RewriteRule /tag/(.*) /index.php?tag=$1

因为这2个ISAPI筛选器并不冲突,所以可以2个同时加载。

博客更新中

最近都没更新过这个小博客了,又一年过去了,就空在这,明天抽点时间搞搞了,插件什么的都没安装,仿了个主题,没时间完善,郁闷啊。

最近都没更新过这个小博客了,又一年过去了,就空在这,明天抽点时间搞搞了,插件什么的都没安装,仿了个主题,没时间完善,郁闷啊。

休息一天在家无聊,准备去电影院看场电影,希望片子不会太烂吧。

出发!

emlog博客更新到5.0.0,模板更新和首页日志页判断的问题

今天偶然见emlog更新到5.0.0了,就顺手更新了一下自己的博客,更新过程很简单,安装补丁直接升级就是了.不过升级完了后,之前的4.2.1的模板还得改,按照提供的 emlog template4to5模板升级方法,也很快搞定.另外升级会吧include文件夹下面的文件更新覆盖掉,所以之前的一些改动要重新改一下,比如自带日志摘要显示的阅读更多的标签样式(include/model/log_model.php 里面)等等.还有就是5.0.0版本$curpage变量没有了,所以之前的一些判断首页的方法失效了,如之前写的emlog单独首页显示友情链接,里面关于用$curpage的都不能用,之前就说过这个变量判断不好用,现在没了更好.不过其他的都还能用,比如里面的其他方法种判断首页:只在首页显示友链

今天偶然见emlog更新到5.0.0了,就顺手更新了一下自己的博客,更新过程很简单,安装补丁直接升级就是了.不过升级完了后,之前的4.2.1的模板还得改,按照提供的 emlog template4to5模板升级方法,也很快搞定.另外升级会吧include文件夹下面的文件更新覆盖掉,所以之前的一些改动要重新改一下,比如自带日志摘要显示的阅读更多的标签样式(include/model/log_model.php 里面)等等.还有就是5.0.0版本$curpage变量没有了,所以之前的一些判断首页的方法失效了,如之前写的emlog单独首页显示友情链接,里面关于用$curpage的都不能用,之前就说过这个变量判断不好用,现在没了更好.不过其他的都还能用,比如里面的其他方法种判断首页:只在首页显示友链

<?php if("http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'] == BLOG_URL):?>友情链接调用代码<?php endif;?>

我不知道用$pageurl = Url::logPage()来判断首页行不行,有空的可以测试下.另外emlog不同页面显示不同内容的方法里用isset来检测变量用于判断当前页面也可以,比如判断日志内容页,

<?php if (($pageurl != Url::logPage()) && (!isset($sortName)) && (!isset($tag)) && (!isset($keyword)) && (!isset($record))) : ?>
 [只在日志内容显示的代码]
<?php endif; ?>

意思就是在排除了一些不是内容页的页面,即非首页,非分类页,非标签页,非搜索页,非归档页,剩下的就是page页或者日志页了,这里面author作者页忽略了,因为我要模板里面没有这个页面,因为只有我一个作者,所以就作者页就没必要出现了,哈哈 .

emlog远程图片本地化插件For highslide&slimbox

这个emlog的远程图片本地化插件:img2local,原作者是奇遇,Fuko修改。修改后直接支持highslide&slimbox图片特效插件,不必手动加标签,很方便。

插件可以将远程图片自动上传本地,不生成缩略图。要注意的是插件上传保存图片的目录是emlog默认附件上传目录content/uploadfile/ 需要可读写权限。

这个emlog的远程图片本地化插件:img2local,原作者是奇遇,Fuko修改。修改后直接支持highslide&slimbox图片特效插件,不必手动加标签,很方便。

插件可以将远程图片自动上传本地,不生成缩略图。要注意的是插件上传保存图片的目录是emlog默认附件上传目录content/uploadfile/ 需要可读写权限。

插件下载:img2local.zip

另外修改的作者还有一个保存图片并自动生成缩略图的版本,详情访问作者博客页

http://mysteryfuko.com/emlog/img2local-For-highslide-slimbox.html

好像说生成缩略图的版本可能有些许问题,建议还是用直接上传保存图片比较好,还可以节省空间。

emlog不同页面显示不同内容的方法

已经一个月没更新过博客了,今天参考了下别人的主题模板,试了下判断不同页面的方法。可以判断分类页,标签页,搜索页,分页,归档页。因此可以实现不同页面显示不同侧边栏或者调用不同内容,也可以实现不同类型页面的标题修改。

比如,当页面有分页时,显示分页页码,可以在标题位置加上代码:

<?php if(isset($page) && $page > 1): ?>第<?php echo $page; ?>页-<?php endif; ?> //如果存在分页,页码x大于1,显示第x页

其他的判断emlog判断分类页、标签页、作者页、归档页、搜索页的变量如下:

 

已经一个月没更新过博客了,今天参考了下别人的主题模板,试了下判断不同页面的方法。可以判断分类页,标签页,搜索页,分页,归档页。因此可以实现不同页面显示不同侧边栏或者调用不同内容,也可以实现不同类型页面的标题修改。

比如,当页面有分页时,显示分页页码,可以在标题位置加上代码:

<?php if(isset($page) && $page > 1): ?>第<?php echo $page; ?>页-<?php endif; ?> //如果存在分页,页码x大于1,显示第x页

其他的判断emlog判断分类页、标签页、作者页、归档页、搜索页的变量如下:

isset($sortName) //判断是否分类页
isset($tag)      //判断是否标签页
isset($record)	 //判断是否归档页
isset($keyword)  //判断是否搜索页
$curpage == CURPAGE_TW  //碎语页
$curpage == CURPAGE_LOG  //日志 page页

具体设置方法和之前的那篇emlog单独首页显示友情链接差不多,而日志页和单独页面page页好像没有发现有好的判断方法,暂且就将他们都归为内容页。

只在首页,分类页,标签页显示侧边栏标签,在模板module.php里找到相关的“widget:标签”组件修改:

<?php if(("http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'] == BLOG_URL) || isset($sortName) || isset($tag)): ?>
<?php
//widget:标签
function widget_tag($title){
	global $CACHE;
	$tag_cache = $CACHE->readCache('tags');?>
	<li id="sidebar-random" class="widget">
	<h3><span><?php echo $title; ?></span></h3>
	<ul class="ulstyle">
	<?php foreach($tag_cache as $value): ?>
		<span style="font-size:<?php echo $value['fontsize']; ?>pt; line-height:30px;">
		<a href="<?php echo Url::tag($value['tagurl']); ?>" title="<?php echo $value['usenum']; ?> 篇日志"><?php echo $value['tagname']; ?></a></span>
	<?php endforeach; ?>
	</ul>
	</li>
<?php }?>
<?php endif; ?>

emlog数据调用插件

今天上emlog论坛看了下,发现有人说一个数据调动的插件新版本的emlog不能用,自己尝试了下,发现可以用,不过只试了js调动的方法。这个
插件可以很方便的调用emlog博客某一分类下面的文章,还可以调用指定id的文章,支持站外JS调用,就是即使在静态页上也可以获取博客的不同分类的文
章。像一些CMS类型的主题,需要首页调用不同分类下的文章用这个插件也可以简单快速的实现。

这个emlog数据调用插件目前版本是1.9,调用的功能还是十分多的。可以定义调用的条数,是否新窗口打开文章,按发布时间倒序排列(类似最新日志),按评论数排行,按浏览数排行(类似热闹日志),随机排序(类似随机日志)等等。

今天上emlog论坛看了下,发现有人说一个数据调动的插件新版本的emlog不能用,自己尝试了下,发现可以用,不过只试了js调动的方法。这个插件可以很方便的调用emlog博客某一分类下面的文章,还可以调用指定id的文章,支持站外JS调用,就是即使在静态页上也可以获取博客的不同分类的文章。像一些CMS类型的主题,需要首页调用不同分类下的文章用这个插件也可以简单快速的实现。

这个emlog数据调用插件目前版本是1.9,调用的功能还是十分多的。可以定义调用的条数,是否新窗口打开文章,按发布时间倒序排列(类似最新日志),按评论数排行,按浏览数排行(类似热闹日志),随机排序(类似随机日志)等等。

看了下调用数据的变量标签还是挺多的,包括

文章链接{log_url}, 标题{title}, 不带链接的标题{title_without_link}, 摘要{excerpt}, 带阅读全文的摘{excerpt_include_readmore}
自增ID{auto_id}, 时间{date}, 所属分类{sort}, 作者{author}, 浏览次数{views}, 评论数{comment_count}
文章中第一张图片:不带链接的{image}, 带链接的{image_include_link}, 图片地址{imageurl}

记录下自己添加的数据调用截图:


数据调用截图


数据调用截图

 插件最后还提供了个效果预览,很人性化。安装插件要设置插件目录里面的cache和config文件夹可写,要写入配置文件和缓存。数据的缓存功能我没测试过,不过应该对减轻数据查询有所帮助。

插件下载地址,里面有作者博客链接:

http://www.emlog.net/plugin/7

emlog单独首页显示友情链接

今天抽空弄了下博客,默认的emlog侧边友情链接是全站显示的,个人也觉得友情链接,首页显示就足够了,必要全站链接,一般也只有首页权重高,对
SEO方面也有好处。想让博客的侧边栏不同页面能显示不一样的内容。由于是新手,什么都不懂,见emlog有个官方模板手册,下载回来看了下,说要要用“$curpage == CURPAGE_HOME”来判断首页,$curpage == CURPAGE_LOG 判断日志页。类似代码为

<?php if($curpage == CURPAGE_LOG): ?>
显示要调用的代码
<?php endif; ?>

但是测试后发现,用$curpage == CURPAGE_HOME来判断输出,不单单是首页,还有分类页,TAG页等。

今天抽空弄了下博客,默认的emlog侧边友情链接是全站显示的,个人也觉得友情链接,首页显示就足够了,必要全站链接,一般也只有首页权重高,对SEO方面也有好处。想让博客的侧边栏不同页面能显示不一样的内容。由于是新手,什么都不懂,见emlog有个官方模板手册,下载回来看了下,说要要用“$curpage == CURPAGE_HOME”来判断首页,$curpage == CURPAGE_LOG 判断日志页。类似代码为

<?php if($curpage == CURPAGE_LOG): ?>
显示要调用的代码
<?php endif; ?>

但是测试后发现,用$curpage == CURPAGE_HOME来判断输出,不单单是首页,还有分类页,TAG页等。开始以为是可能是主题的问题,换回官方默认主题,依然如此,让人有点小郁闷。看来只要是log_list.php输出的页面都会包括在内,类似的还有$curpage == CURPAGE_LOG,判断的不止是日志页面,还包括page页面,根本与它的命名不符合啊。

上网找了下,没有发现目前相关的插件,只找了个判断首页的方法,判断首页URL代码如下:

<?php if("http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'] == BLOG_URL):?>友情链接调用代码<?php endif;?>

调用函数的意思,就是判断当前连接是否为博客首页连接,如果是则显示友情链接组件,不是则不显示。前期是后台Widgets添加了友情链接组件或者模板有相关的调用。

记录下自己改动过的文件:

一般通过侧边栏组件调用的友情链接代码都在模板的module.php文件里,打开module.php文件进行修改,找到“//widget:链接”所在区域,加添加上面的判断代码:

<?php if("http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'] == BLOG_URL):?>
<?php
//widget:链接
function widget_link($title){
    global $CACHE;
    $link_cache = $CACHE->readCache('link');
    ?>
    <li id="sidebar-link" class="widget">
    <h3><span><?php echo $title; ?></span></h3>
    <ul class="ulstyle">
    <?php foreach($link_cache as $value): ?>
    <li><a href="<?php echo $value['url']; ?>" title="<?php echo $value['des']; ?>" target="_blank"><?php echo $value['link']; ?></a></li>
    <?php endforeach; ?>
    </ul>
    </li>
<?php }?>

<?php endif;?>

由于这个是单独的判断首页,与其他的判断语句


写个小博客,我博客的第一篇日志

今天,从邮箱里翻找出免费空间,还有之前的一个域名,想弄个小网页,却不知道弄什么好,从过年已来,我已经两个多月没怎么接触网络了,现在,都喜欢玩语聊,玩微博,而自己却是为了不浪费这个域名,想起弄个博客玩玩,想更新就更新,其他什么都不管.网上找了找,对比了下,最终用了这个个emlog的个人博客系统.以前也只是帮朋友弄过博客,用的是wordprees,那时候什么都不懂,不懂为什么有这样一个专门架博客的程序,感觉一些发布新闻的系统就能替代完成.有些东西,不自己试过,是真的体会不到的.emlog确实没有wordpress那么多强大的插件,有些地方对来说也不够完善,主题也没他那么多华丽的,不过自己觉得简单就好,人不能要求太多,找了个简单的主题,可惜IE6下好像显示还是有点点问题,不过不影响阅读就是了,这总算是我自己的博客的第一篇文章,留个记念了!