Typecho 文章缩略图插件

更新:

v1.0.3 2011.12.17

插件重写,加入文章分类图片,随机图片,请更新到最新版。

附件 -> 文章内第一张 -> 分类图片 -> 随机图片 -> 默认图

v1.0.1 2011.12.15

实现从附件中读取第一张图片做为缩略图,若附件无图片,则从文章中匹配第一张图。

附件 -> 文章内第一张 -> 默认图

使用方法:

下载解压,上传到/usr/plugins/目录下,不用做任何设置,在要使用缩略图的地方直接用

<?php Thumbnail_Plugin::show($this); ?>

发表文章时,只需要在附件中上传一张图片即可,不用插入到文章中,这样就可以在文章中不用显示缩略图了。当然,要是文章中需要用到这张图的话,也可以插入。

使用上一版本更新注意

下载新版覆盖后,请将原来的模板中 <?php Thumbnail_Plugin::show($this->cid); ?>

改为 <?php Thumbnail_Plugin::show($this); ?>

注意:

插件读取缩略图片顺序:

附件 ->文章第一张图片 -> 分类图片 -> 随机图片 -> 默认

分类图片路径:/usr/resources/cate/

随机图片路径:/usr/resources/rand/

默认图片地址:/usr/plugins/Thumbnail/default.png

只所以放在 /usr/resources/ 里,原因有三:

一、看过typecho源码,里面有options->resourceUrl(),只是没有在usr里面建文件夹,方面用参数;

二、若此插件被删除,不会影响到分类图片;

三、方便其它插件、模板调用(其实我个人把JQuery呀什么的公用的东西全放在resources里面的)。

路径可以自己修改php文件。

没有这些文件夹可以手动创建,本来想着写进去的,但是每次判断一次没必要;写面板好像要更改数据库,感觉也没必要,加之也不会,嘿嘿。

建议使用附件上传,如果直接用文章图片匹配,碰到第一张图是一个很小的表情图片的话,还是很不爽的。

随机图片

默认随机图片后缀:array('jpg','gif','png','bmp','jpeg'),可以自行修改。

随机图片只要是放到目录中的图片,插件会自动获取,不用使用统一的文件名,扔进去就可以。

如:/usr/resources/rand/*.(jpg|gif|png|bmp|jpeg)

分类图片

分类图片默认使用.png格式文件,以第一个分类(同属几个分类)的slug为命名,如:默认分类->default,则插件会读取/usr/resources/cate/default.png文件。

请自己上传相应的分类图片到 /usr/resources/cate/ 目录。图片格式可以自己在插件文件中修改,有注释。

备注:

如果不想使用文章中图片匹配的话,可以按以下提示更改插件文件:

/ 1、只从附件中读取,请将代码中第161-174行,↓↑之间代码注释即可。 */

/* 2、不存在附件时读分类图片,请将以上↓↑之间代码注释,并打开以下代码

if( file_exists( $_SERVER['DOCUMENT_ROOT'] . $dir_cate . $cate . $default_ext ) ){

$img = $dir_cate . $cate . $default_ext ;

}

*/

插件文件中有相关注释。

本文出处 http://mrasong.com/a/thumbnail-for-typecho

Filco Minila Air

终于轮到Minila Air上场了!盒子正面特写,大大的蓝牙标记:偶可是无线蓝牙的机械键盘!

盒子的侧面,有防伪标签,右边的标签上显示,产地:台湾

盒子的背面,有一些键盘的简单使用说明,配件列表,还有Filco的国内总代理”花尽数码”的标签


开盖了,内部包装一览无余,一本说明书,下面就是键盘了


拿开说明书,Minila Air带着塑料防尘盖,上方无线的图案,右边是一对附送的五号电池。Minila Air就是由一对五号电池驱动的,根据官方的数据,一对五号电池大概能用五到六个月的时间。塑料防尘盖也是Filco的标配,虽然看起来只是一个塑料壳,不过在日常使用中,却有不可忽视的作用。平时不用的时候,就把盖子盖起来,能阻挡灰尘的侵袭,让你的键盘干净得跟新的一样。

仔细清点一下键盘附送的配件:
Filco拔键器,这也是Filco的标配,折腾键帽,清理键盘必备
说明书一本
电池一对
附送几个键帽,供替换
现在轮到主角闪亮登场:

掀起Minila Air的盖头来,键帽的布局一目了然。缩短了大大的空格键,取而代之的是左右Fn键,配合键帽侧边刻印的功能键位,让你可以手不用大幅度的移动,就可以实现各种功能。这也许就是Minila为提高效率而进行此设计的缘由。当然,右下角的方向键还是保留了下来,你也可以使用Fn和EDSF的组合来实现方向键的功能。不过,我用Vim的时候居多,HJKL才是我常用的方向键,嘿嘿……

刚开始使用,还担心因为空格键太短而在打字的时候误按到Fn键上去,实际使用来看,空格的长度适中,还没有误按的情况出现。
话说,任何Filco的开箱文中,这个角度是不得不拍的 :-)

比起Filco Minila,Minila Air多了两个指示灯,一个是蓝牙匹配的连接指示灯,另外一个是电量提醒灯。
把羞涩的Minila Air翻过来,看看它的背面。背面主要是DIP开关,键盘电源开关,蓝牙连接按钮和电池仓。
背面的DIP开关,跟HHKB Pro2及KBC Pro2一样,能大大提高键盘的可玩性及可适应性。通过配置不同的开关,能交换功能键的位置,让键盘能充分适应Windows系统和Mac OS系统。键盘上的Win键,旁边还侧刻着“Command”键的标记,这意味着Minila能同时适应Windows和Mac OS等操作系统。另外,也支持交换功能键,比如我最喜欢的“交换Ctrl键与Caps键”,无论对于Vimer还是Emacser,这是必须的……
Filco的设计也比较周到,交换位置后,你还可以用配件中的键帽替换掉这些键。另外,如果你觉得右上角的Backspace键太短小,也可以通过修改DIP和替换备用键帽,换上一个长的Backspace键。DIP开关中交换的键,都能用备用键帽换上!

国行价1100+
本人运气好,日亚海淘+11.11免邮费700+到手,真是划算了

常见兼容性问题?

  • png24位的图片在iE6浏览器上出现背景,解决方案是做成PNG8.也可以引用一段脚本处理.
  • 浏览器默认的margin和padding不同。解决方案是加一个全局的*{margin:0;padding:0;}来统一。
  • IE6双边距bug:块属性标签float后,又有横行的margin情况下,在ie6显示margin比设置的大。
  • 浮动ie产生的双倍距离(IE6双边距问题:在IE6下,如果对元素设置了浮动,同时又设置了margin-left或margin-right,margin值会加倍。)
  #box{ float:left; width:10px; margin:0 0 0 100px;} 

这种情况之下IE会产生20px的距离,解决方案是在float的标签样式控制中加入 ——_display:inline;将其转化为行内属性。(_这个符号只有ie6会识别)

  • 渐进识别的方式,从总体中逐渐排除局部。

首先,巧妙的使用“9”这一标记,将IE游览器从所有情况中分离出来。
接着,再次使用“+”将IE8和IE7、IE6分离开来,这样IE8已经独立识别。

css

      .bb{
       background-color:#f1ee18;/*所有识别*/
      .background-color:#00deff\9; /*IE6、7、8识别*/
      +background-color:#a200ff;/*IE6、7识别*/
      _background-color:#1e0bd1;/*IE6识别*/ 
      } 
  • IE下,可以使用获取常规属性的方法来获取自定义属性,
    也可以使用getAttribute()获取自定义属性;

Firefox下,只能使用getAttribute()获取自定义属性.
解决方法:统一通过getAttribute()获取自定义属性.

  • IE下,event对象有x,y属性,但是没有pageX,pageY属性;
    Firefox下,event对象有pageX,pageY属性,但是没有x,y属性.
  • 解决方法:(条件注释)缺点是在IE浏览器下可能会增加额外的HTTP请求数。
  • Chrome 中文界面下默认会将小于 12px 的文本强制按照 12px 显示,
    可通过加入 CSS 属性 -webkit-text-size-adjust: none; 解决.
  • 超链接访问过后hover样式就不出现了 被点击访问过的超链接样式不在具有hover和active了解决方法是改变CSS属性的排列顺序:
    L-V-H-A : a:link {} a:visited {} a:hover {} a:active {}
  • 怪异模式问题:漏写DTD声明,Firefox仍然会按照标准模式来解析网页,但在IE中会触发怪异模式。为避免怪异模式给我们带来不必要的麻烦,最好养成书写DTD声明的好习惯。现在可以使用html5推荐的写法:<doctype html>
  • 上下margin重合问题
    ie和ff都存在,相邻的两个div的margin-left和margin-right不会重合,但是margin-top和margin-bottom却会发生重合。

解决方法,养成良好的代码编写习惯,同时采用margin-top或者同时采用margin-bottom。

  • ie6对png图片格式支持不好(引用一段脚本处理)