<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Epile · 奇雅 &#187; 网络技术</title>
	<atom:link href="http://epile.org/blog/html/category/web/feed/" rel="self" type="application/rss+xml" />
	<link>http://epile.org/blog</link>
	<description>混迹于互联网的传媒人士，喜欢折腾各种解决方案。</description>
	<lastBuildDate>Sat, 21 Jan 2012 09:54:29 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>我的手机编年史和Miui</title>
		<link>http://epile.org/blog/html/my-phone-and-miui.html</link>
		<comments>http://epile.org/blog/html/my-phone-and-miui.html#comments</comments>
		<pubDate>Mon, 18 Jul 2011 16:30:52 +0000</pubDate>
		<dc:creator>Epile</dc:creator>
				<category><![CDATA[网络技术]]></category>

		<guid isPermaLink="false">http://epile.org/blog/?p=1486</guid>
		<description><![CDATA[摩托罗拉中国官方android 2.2.1慢的不靠谱，又剔出了Google一系列服务。所以听了 @leomo 的建议刷了国产小米科技做的Rom Miui。小米科技的android rom是基于cm7开发的，针对国人定制了界面和相应的功能。使用了2个星期左右，虽然还有挺多bug，但挺满意的。今天看到Miui弄了一个手机编年史的应用，自己也整了一个。 链接：Epile的手机编年史、登记你的手机编年史 也来说说Miui Rom Android原生系统适合geek控，基本上很多功能都没有，需要靠安装软件来实现，给予使用者最大的功能diy。而Miui有点类似Nokia S60系统，常用的软件都自带了，比如来电防火墙，短信群发等功能，适合不怎么折腾的人。 优势： 比如发送通讯录时候是转换为短信发送，而非直接发送vcard文件，兼容性高。 每周五自动下载补丁更新系统，一键即可升级无需繁琐的操作； 自带来电防火墙和手机免打扰琐； 支持软件常驻内存； 通讯录分组和群发短信； 速度比原生系统快很多； 劣势： 输入法没有摩托罗拉原生的好； 耗电量比原生系统大； 自带的基带信用不好，需要用Plus工具箱更改基带； 国内厂商做的，信息安全比较危险； 您可能还对以下内容感兴趣无相关文章]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-1490" title="61e5d064jw1dja95f6vfxj" src="http://img.epile.org/e/2011/07/61e5d064jw1dja95f6vfxj.jpg" alt="" width="440" height="451" /></p>
<p>摩托罗拉中国官方android 2.2.1慢的不靠谱，又剔出了Google一系列服务。所以听了 @leomo 的建议刷了国产小米科技做的Rom Miui。小米科技的android rom是基于cm7开发的，针对国人定制了界面和相应的功能。使用了2个星期左右，虽然还有挺多bug，但挺满意的。今天看到Miui弄了一个手机编年史的应用，自己也整了一个。</p>
<p>链接：<a href="http://kong.miui.com/user_228496">Epile的手机编年史</a>、<a href="http://kong.miui.com/">登记你的手机编年史</a></p>
<p><span id="more-1486"></span></p>
<p><img class="aligncenter size-large wp-image-1487" title="miui_kong_01" src="http://img.epile.org/e/2011/07/miui_kong_01-580x390.jpg" alt="" width="580" height="390" /></p>
<p><strong>也来说说Miui Rom</strong></p>
<p>Android原生系统适合geek控，基本上很多功能都没有，需要靠安装软件来实现，给予使用者最大的功能diy。而Miui有点类似Nokia S60系统，常用的软件都自带了，比如来电防火墙，短信群发等功能，适合不怎么折腾的人。</p>
<p><img class="aligncenter size-large wp-image-1491" title="miui00" src="http://img.epile.org/e/2011/07/miui00-580x371.png" alt="" width="580" height="371" /></p>
<p>优势：</p>
<ol>
<li>比如发送通讯录时候是转换为短信发送，而非直接发送vcard文件，兼容性高。</li>
<li>每周五自动下载补丁更新系统，一键即可升级无需繁琐的操作；</li>
<li>自带来电防火墙和手机免打扰琐；</li>
<li>支持软件常驻内存；</li>
<li>通讯录分组和群发短信；</li>
<li>速度比原生系统快很多；</li>
</ol>
<div>劣势：</div>
<div>
<ol>
<li>输入法没有摩托罗拉原生的好；</li>
<li>耗电量比原生系统大；</li>
<li>自带的基带信用不好，需要用Plus工具箱更改基带；</li>
<li>国内厂商做的，信息安全比较危险；</li>
</ol>
</div>
<h3  class="related_post_title">您可能还对以下内容感兴趣</h3><ul class="related_post"><li>无相关文章</li></ul>]]></content:encoded>
			<wfw:commentRss>http://epile.org/blog/html/my-phone-and-miui.html/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>联想商务网盘密码重置漏洞</title>
		<link>http://epile.org/blog/html/lenovodata-password-reset-bug.html</link>
		<comments>http://epile.org/blog/html/lenovodata-password-reset-bug.html#comments</comments>
		<pubDate>Thu, 23 Jun 2011 09:40:29 +0000</pubDate>
		<dc:creator>Epile</dc:creator>
				<category><![CDATA[网络技术]]></category>

		<guid isPermaLink="false">http://epile.org/blog/?p=1431</guid>
		<description><![CDATA[一年前给公司买了一个联想商务网盘，399元/年，非常不好用。外链文件强制https访问，不能使用下载工具，文件稍微大点比如100m的下载中途断了的话无法续传，需要重新下载。这点还没导致我放弃使用，最后因为密码重置漏洞导致网盘完全无法使用了，最后选择了淘宝http网盘，一直使用到现在。 联想商务网盘的密码重置漏洞主要在于密码重置流程设计的不合理，联想商务网盘的密码重置流程如下： 用户填写邮箱地址和验证码 &#62; 系统自动重置密码并发送到用户邮箱 一般密码重置流程应该为： 用户填写邮箱地址和验证码 &#62; 系统自从发密码重置链接到用户邮箱 &#62; 用户点击密码重置链接设置新密码 联想商务网盘的密码重置只需要单一邮箱即可进行重置，缺乏用户的二次确认，这导致了其他人只要知道你的邮箱号即可对你账号进行恶意重置。有次网盘被人一天内恶意修改了几十次密码，联系联想的客服人员无果，最后只能跟联想告别了。 今天做部门资产登记的时候再次登陆网盘，发现这个漏洞至今快一年了还未被修复，这个产品真的没救了。 &#160; 您可能还对以下内容感兴趣无相关文章]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-1436" title="lenovodata00" src="http://img.epile.org/e/2011/06/lenovodata00.png" alt="" width="580" height="326" /></p>
<p>一年前给公司买了一个联想商务网盘，399元/年，非常不好用。外链文件强制https访问，不能使用下载工具，文件稍微大点比如100m的下载中途断了的话无法续传，需要重新下载。这点还没导致我放弃使用，最后因为密码重置漏洞导致网盘完全无法使用了，最后选择了淘宝http网盘，一直使用到现在。</p>
<p>联想商务网盘的密码重置漏洞主要在于密码重置流程设计的不合理，联想商务网盘的密码重置流程如下：</p>
<blockquote><p>用户填写邮箱地址和验证码 &gt; 系统自动重置密码并发送到用户邮箱</p></blockquote>
<p>一般密码重置流程应该为：</p>
<blockquote><p>用户填写邮箱地址和验证码 &gt; 系统自从发密码重置链接到用户邮箱 &gt; 用户点击密码重置链接设置新密码</p></blockquote>
<p>联想商务网盘的密码重置只需要单一邮箱即可进行重置，缺乏用户的二次确认，这导致了其他人只要知道你的邮箱号即可对你账号进行恶意重置。有次网盘被人一天内恶意修改了几十次密码，联系联想的客服人员无果，最后只能跟联想告别了。</p>
<p>今天做部门资产登记的时候再次登陆网盘，发现这个漏洞至今快一年了还未被修复，这个产品真的没救了。</p>
<p><span id="more-1431"></span></p>
<p>&nbsp;</p>
<p><img class="aligncenter size-full wp-image-1435" title="lenovodata01" src="http://img.epile.org/e/2011/06/lenovodata01.png" alt="" width="580" height="316" /></p>
<p><img class="aligncenter size-full wp-image-1432" title="lenovodata02" src="http://img.epile.org/e/2011/06/lenovodata02.png" alt="" width="580" height="314" /><br />
<img class="aligncenter size-full wp-image-1434" title="lenovodata03" src="http://img.epile.org/e/2011/06/lenovodata03.png" alt="" width="497" height="418" /></p>
<h3  class="related_post_title">您可能还对以下内容感兴趣</h3><ul class="related_post"><li>无相关文章</li></ul>]]></content:encoded>
			<wfw:commentRss>http://epile.org/blog/html/lenovodata-password-reset-bug.html/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Yahoo! Slurp智商不太好</title>
		<link>http://epile.org/blog/html/yahoo-slurp.html</link>
		<comments>http://epile.org/blog/html/yahoo-slurp.html#comments</comments>
		<pubDate>Mon, 20 Jun 2011 09:57:30 +0000</pubDate>
		<dc:creator>Epile</dc:creator>
				<category><![CDATA[网络技术]]></category>

		<guid isPermaLink="false">http://epile.org/blog/?p=1424</guid>
		<description><![CDATA[今天下午突然发现提供给小蚊子的空间流量超标了，平时每个月200M流量不到的小博客怎么会流量超标。第一反应是遭遇DDOS攻击或者是博客上有MP3，马上到cpanel后台awstats日志去看，发现Yahoo的Slurp蜘蛛在15-16日两天访问了9万多次，耗去5.16G流量。真想对雅虎爆粗！ 搜索了一下，发现很多人对Slurp意见很大，2008年豆瓣也曾被雅虎蜘蛛整得很苦恼(via)。注意到第三个表有个hits很高，是301 direct，难道雅虎蜘蛛死循环了？如果真的是死循环，应该有一套机制进行监控，而不是维持了两天的，成了一个小型的ddos。 幸好这个主机是放在Homezz上面的，灵活的在后台升级了主机，1分钟就恢复访问了。 您可能还对以下内容感兴趣无相关文章]]></description>
			<content:encoded><![CDATA[<p>今天下午突然发现提供给<a href="http://hitips.org/" target="_blank">小蚊子</a>的空间流量超标了，平时每个月200M流量不到的小博客怎么会流量超标。第一反应是遭遇DDOS攻击或者是博客上有MP3，马上到cpanel后台awstats日志去看，发现Yahoo的Slurp蜘蛛在15-16日两天访问了9万多次，耗去5.16G流量。真想对雅虎爆粗！</p>
<p>搜索了一下，发现很多人对Slurp意见很大，2008年豆瓣也曾被雅虎蜘蛛整得很苦恼(<a href="http://ysearchblog.cn/2006/07/yahoo_slurp.html" target="_blank">via</a>)。注意到第三个表有个hits很高，是301 direct，难道雅虎蜘蛛死循环了？如果真的是死循环，应该有一套机制进行监控，而不是维持了两天的，成了一个小型的ddos。</p>
<p>幸好这个主机是放在<a href="https://homezz.com/account/reg.php?c=P6JOTI03" target="_blank">Homezz</a>上面的，灵活的在后台升级了主机，1分钟就恢复访问了。</p>
<p><img class="aligncenter size-full wp-image-1429" title="Yahoo! Slurp" src="http://img.epile.org/e/2011/06/N0.png" alt="" width="580" height="536" /></p>
<h3  class="related_post_title">您可能还对以下内容感兴趣</h3><ul class="related_post"><li>无相关文章</li></ul>]]></content:encoded>
			<wfw:commentRss>http://epile.org/blog/html/yahoo-slurp.html/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>APMServ软件Apache启动失败原因</title>
		<link>http://epile.org/blog/html/apmserv-apache.html</link>
		<comments>http://epile.org/blog/html/apmserv-apache.html#comments</comments>
		<pubDate>Sat, 19 Feb 2011 08:37:39 +0000</pubDate>
		<dc:creator>Epile</dc:creator>
				<category><![CDATA[网络技术]]></category>

		<guid isPermaLink="false">http://epile.org/blog/?p=1360</guid>
		<description><![CDATA[最近在刚重装完系统的电脑上安装APMServ，发现Apache无法启动，Apache本身无日志记录。官方说的原因是80端口被占用，但喵使用netstat -a却并未发现有任何程序占用了80端口。在系统事件查看器中看到Apache如下的错误： The Apache service named  reported the following error:&#62;&#62;&#62; (OS 10048)通常每个套接字地址(协议/网络地址/端口)只允许使用一次。  : make_sock: could not bind to address 0.0.0.0:443     . The Apache service named  reported the following error: &#62;&#62;&#62; Unable to open logs   . 喵又怀疑443端口是不是被占用了，再一次使用netstat -a依旧无果。当看到 Unable to open logs ，又怀疑是不是路径有错误？在搜索了一番后看到D:/APMServ5.2.6/Apache/conf/extra/httpd-ssl.conf 文件中有这么一句 &#60;Directory “E:/APMServ5.2.0/www/cgi-bin”&#62; 遂修改为 &#60;Directory “D:/APMServ5.2.6/www/cgi-bin”&#62; 问题解决 您可能还对以下内容感兴趣无相关文章]]></description>
			<content:encoded><![CDATA[<p>最近在刚重装完系统的电脑上安装<a href="http://apmserv.s135.com/" target="_blank">APMServ</a>，发现Apache无法启动，Apache本身无日志记录。官方说的原因是80端口被占用，但喵使用netstat -a却并未发现有任何程序占用了80端口。在系统事件查看器中看到Apache如下的错误：</p>
<p>The Apache service named  reported the following error:&gt;&gt;&gt; (OS 10048)通常每个套接字地址(协议/网络地址/端口)只允许使用一次。  : make_sock: could not bind to address 0.0.0.0:443     .<br />
The Apache service named  reported the following error:<br />
&gt;&gt;&gt; Unable to open logs   .</p>
<p>喵又怀疑443端口是不是被占用了，再一次使用netstat -a依旧无果。当看到 Unable to open logs ，又怀疑是不是路径有错误？在搜索了一番后看到D:/APMServ5.2.6/Apache/conf/extra/httpd-ssl.conf 文件中有这么一句</p>
<p>&lt;Directory “E:/APMServ5.2.0/www/cgi-bin”&gt;</p>
<p>遂修改为</p>
<p>&lt;Directory “D:/APMServ5.2.6/www/cgi-bin”&gt;</p>
<p>问题解决</p>
<h3  class="related_post_title">您可能还对以下内容感兴趣</h3><ul class="related_post"><li>无相关文章</li></ul>]]></content:encoded>
			<wfw:commentRss>http://epile.org/blog/html/apmserv-apache.html/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Illustrator网页设计技巧（一）&#124; 如何导出清晰的文字</title>
		<link>http://epile.org/blog/html/illustrator-tuitor-of-importing-clear-text.html</link>
		<comments>http://epile.org/blog/html/illustrator-tuitor-of-importing-clear-text.html#comments</comments>
		<pubDate>Tue, 11 Aug 2009 13:56:13 +0000</pubDate>
		<dc:creator>Epile</dc:creator>
				<category><![CDATA[网络技术]]></category>
		<category><![CDATA[Illustrator网页设计技巧]]></category>

		<guid isPermaLink="false">http://epile.cn/blog/?p=984</guid>
		<description><![CDATA[近来尝试使用Illustrator制作网页，越来越喜欢上它了。不过发现Illustrator默认对文本进行“平滑”的清除锯齿处理，这造成网页默认的12pt的文字导出图片时模糊不清，如图中“处理前”的效果。而Illustrator不像Photoshop一样对文本有“平滑”“锐利”“犀利”“无”等清除锯齿的选项。太智能也是不好滴事情！经过一番查找，终于让Epile找到解决的方案。 通过菜单栏的“效果”——“栅格化”对文本进行处理，在清除锯齿的选项选择无，就能得到如图中“处理后”的效果，且经过处理后的文字依旧可以进行修改。 您可能还对以下内容感兴趣无相关文章]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-985" title="illustrator-text-clear" src="http://img.epile.org/e/2009/08/illustrator-text-clear.png" alt="illustrator-text-clear" width="512" height="283" /></p>
<p>近来尝试使用Illustrator制作网页，越来越喜欢上它了。不过发现Illustrator默认对文本进行“平滑”的清除锯齿处理，这造成网页默认的12pt的文字导出图片时模糊不清，如图中“<strong>处理前</strong>”的效果。而Illustrator不像Photoshop一样对文本有“平滑”“锐利”“犀利”“无”等清除锯齿的选项。太智能也是不好滴事情！经过一番查找，终于让Epile找到解决的方案。</p>
<p>通过菜单栏的“效果”——“栅格化”对文本进行处理，在清除锯齿的选项选择无，就能得到如图中“<strong>处理后</strong>”的效果，且经过处理后的文字依旧可以进行修改。</p>
<h3  class="related_post_title">您可能还对以下内容感兴趣</h3><ul class="related_post"><li>无相关文章</li></ul>]]></content:encoded>
			<wfw:commentRss>http://epile.org/blog/html/illustrator-tuitor-of-importing-clear-text.html/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>量子统计是木马？</title>
		<link>http://epile.org/blog/html/is-liangzi-tongji-trojan.html</link>
		<comments>http://epile.org/blog/html/is-liangzi-tongji-trojan.html#comments</comments>
		<pubDate>Mon, 27 Jul 2009 13:54:20 +0000</pubDate>
		<dc:creator>Epile</dc:creator>
				<category><![CDATA[网络技术]]></category>

		<guid isPermaLink="false">http://epile.cn/blog/?p=977</guid>
		<description><![CDATA[雅虎中毒了？ 晚上访问@Jet网站（www.jetfond.com）时卡巴报告该网页或文件包含恶意程序，囧，截图如下。 卡巴提示的文件地址（http://js.tongji.linezing.com/1110941/tongji.js），Epile确定该文件为雅虎公司推出的网站流量统计代码。直接访问该链接打开的是Opendns的善意提示页面： 在这以后，打开@Jutoy和@Slyar的量子统计代码均出现这一页面，看来情况也严峻，雅虎量子统计到底出了什么事情呢？本来Epile想请万能的@Slyar大大来解决问题的，无奈他不知道又到哪滑水去了~百度和Google的中文信息基本得不到任何帮助。为此Epile在Google.com查询英文信息。 TROJ_AGENT.HOZZ木马？ Based on Trend Micro threat analyst Joseph Paccamara&#8217;s initial findings, the Trojan detected as TROJ_AGENT.HOZZ has only been seen so far in two domains, jatrja.com and js.tongji.linezing.com. Figure 1 below shows how users can get infected. 基于趋势科技的威胁分析师Joseph Paccamara首次调查结果， 检测为TROJ_AGENT.HOZZ的木马迄今为止只在两个域名被发现，分别是 jatrja.com和js.tongji.linezing.com 什么是TROJ_AGENT.HOZZ呢？根绝趋势科技网站上的解释：该木马可以从远程站点下载其他恶意软件。这可能是在不知情的下载用户在访问恶意网站。该木马会创建一个注册表项，使其在系统启动时自动运行。它在当前目录会创建一个批处理文件，删除恶意软件并执行复制。然后它创建一个RUNDLL32.EXE进程的插入DLL文件以供下载更多的恶意文件。via 究竟是误杀还是木马？ 在网上搜到一篇5月份的博客称卡巴报告雅虎统计有毒，截图所显示病毒与Epile今天卡巴查出来的一样。虽然说卡巴常出现误杀的现象，但是卡巴杀毒效果也是令人称道的。如果只是误杀？为何国外网站上称有12款软件能够查杀这个病毒，OpenDNS也把该域名屏蔽了？量子统计官方也未见声明。究竟是误杀还是病毒，无从得知了。还是等专业人士的文章吧~Epile就负责把这个消息传递出去。 您可能还对以下内容感兴趣无相关文章]]></description>
			<content:encoded><![CDATA[<h3>雅虎中毒了？</h3>
<p>晚上访问@Jet网站（www.jetfond.com）时卡巴报告该网页或文件包含恶意程序，囧，截图如下。</p>
<p><img class="aligncenter size-full wp-image-978" title="量子统计是木马？" src="http://img.epile.org/e/2009/07/liangzi-tongji-trojan.jpg" alt="量子统计是木马？" width="355" height="420" /></p>
<p>卡巴提示的文件地址（http://js.tongji.linezing.com/1110941/tongji.js），Epile确定该文件为雅虎公司推出的网站流量统计代码。直接访问该链接打开的是Opendns的善意提示页面：</p>
<p><img class="aligncenter size-full wp-image-979" title="liangzi-opendns" src="http://img.epile.org/e/2009/07/liangzi-opendns.jpg" alt="liangzi-opendns" width="516" height="119" /></p>
<p>在这以后，打开@Jutoy和@Slyar的量子统计代码均出现这一页面，看来情况也严峻，雅虎量子统计到底出了什么事情呢？本来Epile想请万能的@Slyar大大来解决问题的，无奈他不知道又到哪滑水去了~百度和Google的中文信息基本得不到任何帮助。为此Epile在Google.com查询英文信息。</p>
<h3>TROJ_AGENT.HOZZ木马？</h3>
<blockquote><p>Based on Trend Micro threat analyst Joseph Paccamara&#8217;s initial findings, the Trojan detected as TROJ_AGENT.HOZZ has only been seen so far in two domains, jatrja.com and js.tongji.linezing.com. Figure 1 below shows how users can get infected.</p>
<p>基于趋势科技的威胁分析师Joseph Paccamara首次调查结果， 检测为TROJ_AGENT.HOZZ的木马迄今为止只在两个域名被发现，分别是 jatrja.com和js.tongji.linezing.com</p></blockquote>
<p><span style="color: #ff0000;"><strong>什么是TROJ_AGENT.HOZZ呢？</strong></span>根绝趋势科技网站上的解释：该木马可以从远程站点下载其他恶意软件。这可能是在不知情的下载用户在访问恶意网站。该木马会创建一个注册表项，使其在系统启动时自动运行。它在当前目录会创建一个批处理文件，删除恶意软件并执行复制。然后它创建一个RUNDLL32.EXE进程的插入DLL文件以供下载更多的恶意文件。<a href="http://threatinfo.trendmicro.com/vinfo/virusencyclo/default5.asp?VName=TROJ_AGENT.HOZZ">via</a></p>
<h3>究竟是误杀还是木马？</h3>
<p>在网上搜到一篇5月份的博客称卡巴报告雅虎统计有毒，截图所显示病毒与Epile今天卡巴查出来的一样。虽然说卡巴常出现误杀的现象，但是卡巴杀毒效果也是令人称道的。如果只是误杀？为何国外网站上称有12款软件能够查杀这个病毒，OpenDNS也把该域名屏蔽了？量子统计官方也未见声明。究竟是误杀还是病毒，无从得知了。还是等专业人士的文章吧~Epile就负责把这个消息传递出去。</p>
<h3  class="related_post_title">您可能还对以下内容感兴趣</h3><ul class="related_post"><li>无相关文章</li></ul>]]></content:encoded>
			<wfw:commentRss>http://epile.org/blog/html/is-liangzi-tongji-trojan.html/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>CSS/Javascript压缩工具taobao jsminifier</title>
		<link>http://epile.org/blog/html/jsminifier.html</link>
		<comments>http://epile.org/blog/html/jsminifier.html#comments</comments>
		<pubDate>Thu, 16 Jul 2009 02:53:47 +0000</pubDate>
		<dc:creator>Epile</dc:creator>
				<category><![CDATA[网络技术]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://epile.cn/blog/?p=959</guid>
		<description><![CDATA[Epile在网上找Javascript和CSS压缩软件的时候搜索到这款由淘宝在雅虎YUICompressed基础上开发的压缩工具，用起来还挺不错的。 软件自带的安装说明说得不清楚，在这里Epile写了一个安装说明，并上传到Google Code分享给大家。 本软件安装完毕可以直接在要压缩的文件点击右键使用，非常方便。 安装说明 下载jsMinifier 安装Java SE Development Kit (JDK) 打开“控制面板”，在其中打开“系统”，其下“高级”选项卡下的环境变量中的系统变量里添加变量名JAVA_HOME，变量值为Java SE Development Kit的安装目录，如“C:\Program Files\Java\jdk1.6.0_12”； 解压缩jsMinifier.rar，把jsMinifier的目录添加到环境变量中的Path变量里，用“;”与其它值分隔； 执行jsMinifier目录下的jsMinifier.reg和cssMinifier.reg，进行安装； 直接在css或js文件使用右键，执行菜单里的压缩JavaScript或压缩CSS，系统将会在该目录下生成“文件名-min.js”或“文件名-min.css”，这就是压缩后的文件。 注：压缩包中的test.source.js和test.source.css供测试用。 您可能还对以下内容感兴趣CSS图像地图技巧和教程说说我和CSS]]></description>
			<content:encoded><![CDATA[<p>Epile在网上找Javascript和CSS压缩软件的时候搜索到这款由淘宝在雅虎YUICompressed基础上开发的压缩工具，用起来还挺不错的。<br />
软件自带的安装说明说得不清楚，在这里Epile写了一个安装说明，并上传到Google Code分享给大家。</p>
<p>本软件安装完毕可以直接在要压缩的文件点击右键使用，非常方便。</p>
<p><span id="more-959"></span></p>
<h3>安装说明</h3>
<ol>
<li>下载<a rel="external nofollow" href="http://jtool.googlecode.com/files/jsMinifier.zip" target="_blank">jsMinifier</a></li>
<li><a rel="external nofollow" href="http://java.sun.com/javase/downloads/index.jsp">安装Java SE Development Kit (JDK)</a></li>
<li>打开“控制面板”，在其中打开“系统”，其下“高级”选项卡下的环境变量中的系统变量里添加变量名JAVA_HOME，变量值为Java SE Development Kit的安装目录，如“C:\Program Files\Java\jdk1.6.0_12”；</li>
<li>解压缩jsMinifier.rar，把jsMinifier的目录添加到环境变量中的Path变量里，用“;”与其它值分隔；</li>
<li>执行jsMinifier目录下的jsMinifier.reg和cssMinifier.reg，进行安装；</li>
<li>直接在css或js文件使用右键，执行菜单里的压缩JavaScript或压缩CSS，系统将会在该目录下生成“文件名-min.js”或“文件名-min.css”，这就是压缩后的文件。</li>
</ol>
<p>注：压缩包中的test.source.js和test.source.css供测试用。</p>
<h3  class="related_post_title">您可能还对以下内容感兴趣</h3><ul class="related_post"><li><a href="http://epile.org/blog/html/css-image-map-techniques-and-tutorials.html" title="CSS图像地图技巧和教程">CSS图像地图技巧和教程</a></li><li><a href="http://epile.org/blog/html/something-about-me-and-css.html" title="说说我和CSS">说说我和CSS</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://epile.org/blog/html/jsminifier.html/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>商业网站监测服务商Pingdom再次提供免费帐户</title>
		<link>http://epile.org/blog/html/pingdom-for-free.html</link>
		<comments>http://epile.org/blog/html/pingdom-for-free.html#comments</comments>
		<pubDate>Mon, 13 Jul 2009 05:35:31 +0000</pubDate>
		<dc:creator>Epile</dc:creator>
				<category><![CDATA[网络技术]]></category>

		<guid isPermaLink="false">http://epile.cn/blog/?p=954</guid>
		<description><![CDATA[Pingdom是一个专业的收费网站监视服务。通过Pingdom可以对网站进行定期访问来检查状态，最短期限为1分钟。同时可以针对http或者https，指定端口，或者是通过用户名密码进行登录的网站进行监测。支持的提醒方式有邮件和SMS短信，并且可以设置达到一定条件来进行提醒。 两年半前Epile在网上看到一篇博文介绍说使用Firefox浏览器浏览Pindom网站可以免费获得一年的收费服务，Epile就上去注册了一个账户，对Epile.cn的网站进行监测。那时候Epile的网站还放在Bluehost的合租空间上，每次收到Downtime的邮件Epile立马就去烦Cosbeta。 昨天在Webapper网站上看到Pingdom再次推出永久性免费帐户，免费帐户可以允许监测一个网站或服务器，其他功能与收费帐户无异。 帐户申请地址：https://www.pingdom.com/signup/free/ 极力推荐Jutoy使用~ 您可能还对以下内容感兴趣无相关文章]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-955" title="free-pingdom" src="http://img.epile.org/e/2009/07/free-pingdom.jpg" alt="free-pingdom" width="480" height="200" /></p>
<p>Pingdom是一个专业的收费网站监视服务。通过Pingdom可以对网站进行定期访问来检查状态，最短期限为1分钟。同时可以针对http或者https，指定端口，或者是通过用户名密码进行登录的网站进行监测。支持的提醒方式有邮件和SMS短信，并且可以设置达到一定条件来进行提醒。</p>
<p>两年半前Epile在网上看到一篇博文介绍说使用Firefox浏览器浏览Pindom网站可以免费获得一年的收费服务，Epile就上去注册了一个账户，对Epile.cn的网站进行监测。那时候Epile的网站还放在Bluehost的合租空间上，每次收到Downtime的邮件Epile立马就去烦Cosbeta。</p>
<p>昨天在Webapper网站上看到Pingdom再次推出永久性免费帐户，免费帐户可以允许监测一个网站或服务器，其他功能与收费帐户无异。</p>
<p>帐户申请地址：https://www.pingdom.com/signup/free/</p>
<p>极力推荐Jutoy使用~</p>
<h3  class="related_post_title">您可能还对以下内容感兴趣</h3><ul class="related_post"><li>无相关文章</li></ul>]]></content:encoded>
			<wfw:commentRss>http://epile.org/blog/html/pingdom-for-free.html/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>如何备份新浪博客</title>
		<link>http://epile.org/blog/html/sina-blog-backup.html</link>
		<comments>http://epile.org/blog/html/sina-blog-backup.html#comments</comments>
		<pubDate>Fri, 10 Jul 2009 07:37:29 +0000</pubDate>
		<dc:creator>Epile</dc:creator>
				<category><![CDATA[网络技术]]></category>

		<guid isPermaLink="false">http://epile.cn/blog/?p=940</guid>
		<description><![CDATA[今天帮单位作家老大备份他的新浪博客，总共有1143篇文章。顺便把Epile这次新浪博客的备份思路说一下，方便有同样需要的人。 说明： 本备份思路只备份文章和图片，并不备份评论。 本备份思路把每天文章存储为html文件，页面内容为文章标题、发表时间和文章正文，无页面上的五关内容。 网上搜索到博客备份的方案，有爱数博客备份软件V2006、Blog Backup、Blogbus搬家工具、maikr博客备份工具。爱数博客备份软件为2006年推出的，官方已经撤下了这款软件，软件并没有针对博客提供商进行配置，只是一款类似离线浏览的软件，所以抓取很不准确，把很多外部链接都Down下来了，我开了3个小时都没有备份完，而且它并不支持新浪的图片防盗链！maikr博客备份工具官方都打不开了，所以没有下载到。Blogbus搬家工具是网页版的，能够把博客文章转换为xml文件，不过Epile用的时候当文章抓取到300多篇的时候，进度就不走了，很奇怪的说。最后Epile采用了Blog Backup这款小巧的绿色软件。软件下载地址：http://www.pt42.cn/ Blog Backup针对不同博客商进行配置，之前用过它备份了Blogcn的博客，非常成功，可以把博客文章连同图片一起备份下来。今天最终就用它来备份的新浪博客。软件是通过尝试列表页进行备份，如果无法访问列表页的下一页软件就会认为博客文章备份完毕。所以网络不够好的，请在参数设置里把延迟开大点。 用了大概半个小时的时间就把文章备份下来了。导出选项可以选择RSS，Atom，单个Html，多个Html。为了方便使用，Epile选择了多个Html文件，这样软件会为我们生成index.htm列表和数字序号命名的单篇文章页面。 导出来的原始页面并不是很好看。这时候Epile将给它们添加css调整外观，并修改少量的Html代码以使页面更好看。这时候Epile用到了Blog Backup作者的另一款软件MultiRE。它是一款文本替换软件。 Epile先用Dreamweaver定义好一页文章之后，通过MultiRE对其他页面进行批量修改。最后再用了Framk框架把界面弄成左边列表右边文章。 这个时候基本接近尾声了，可是新浪的防盗链使得图片无法自动下载。这时候Epile用了一个很傻很有效的方法。再次打开Blog Backup软件，把博客导出为单个Html文件。然后用IE打开这个文件，等IE载入完所有的图片后，把网页另存为“网页，全部”。这样所有图片都会在“网页名__files”文件夹下了。 新浪的图片地址为这种类型的http://static3.photo.sina.com.cn/bmiddle/470cfc75g584d96b3c0b2。用IE另存为后图片会自动命名为470cfc75g584d96b3c0b2.jpg。我们只需要再次用MultiRE把470cfc75g584d96b3c0b2前后的地址进行更换，前面更换为本地图片目录，后面添加.jpg。具体操作可以自行研究MultiRE。 所有备份完成。 您可能还对以下内容感兴趣无相关文章]]></description>
			<content:encoded><![CDATA[<p>今天帮单位作家老大备份他的新浪博客，总共有1143篇文章。顺便把Epile这次新浪博客的备份思路说一下，方便有同样需要的人。</p>
<p>说明：</p>
<ul>
<li>本备份思路只备份文章和图片，并不备份评论。</li>
<li>本备份思路把每天文章存储为html文件，页面内容为文章标题、发表时间和文章正文，无页面上的五关内容。</li>
</ul>
<p><span id="more-940"></span></p>
<p>网上搜索到博客备份的方案，有爱数博客备份软件V2006、Blog Backup、Blogbus搬家工具、maikr博客备份工具。爱数博客备份软件为2006年推出的，官方已经撤下了这款软件，软件并没有针对博客提供商进行配置，只是一款类似离线浏览的软件，所以抓取很不准确，把很多外部链接都Down下来了，我开了3个小时都没有备份完，而且它并不支持新浪的图片防盗链！maikr博客备份工具官方都打不开了，所以没有下载到。Blogbus搬家工具是网页版的，能够把博客文章转换为xml文件，不过Epile用的时候当文章抓取到300多篇的时候，进度就不走了，很奇怪的说。最后Epile采用了Blog Backup这款小巧的绿色软件。软件下载地址：http://www.pt42.cn/</p>
<p><img class="aligncenter size-medium wp-image-941" title="blog_backup" src="http://img.epile.org/e/2009/07/blog_backup-580x369.jpg" alt="blog_backup" width="580" height="369" /></p>
<p>Blog Backup针对不同博客商进行配置，之前用过它备份了Blogcn的博客，非常成功，可以把博客文章连同图片一起备份下来。今天最终就用它来备份的新浪博客。软件是通过尝试列表页进行备份，如果无法访问列表页的下一页软件就会认为博客文章备份完毕。所以网络不够好的，请在参数设置里把延迟开大点。</p>
<p>用了大概半个小时的时间就把文章备份下来了。导出选项可以选择RSS，Atom，单个Html，多个Html。为了方便使用，Epile选择了多个Html文件，这样软件会为我们生成index.htm列表和数字序号命名的单篇文章页面。</p>
<p>导出来的原始页面并不是很好看。这时候Epile将给它们添加css调整外观，并修改少量的Html代码以使页面更好看。这时候Epile用到了Blog Backup作者的另一款软件MultiRE。它是一款文本替换软件。</p>
<p>Epile先用Dreamweaver定义好一页文章之后，通过MultiRE对其他页面进行批量修改。最后再用了Framk框架把界面弄成左边列表右边文章。</p>
<p>这个时候基本接近尾声了，可是新浪的防盗链使得图片无法自动下载。这时候Epile用了一个很傻很有效的方法。再次打开Blog Backup软件，把博客导出为单个Html文件。然后用IE打开这个文件，等IE载入完所有的图片后，把网页另存为“网页，全部”。这样所有图片都会在“网页名__files”文件夹下了。</p>
<p>新浪的图片地址为这种类型的http://static3.photo.sina.com.cn/bmiddle/470cfc75g584d96b3c0b2。用IE另存为后图片会自动命名为470cfc75g584d96b3c0b2.jpg。我们只需要再次用MultiRE把470cfc75g584d96b3c0b2前后的地址进行更换，前面更换为本地图片目录，后面添加.jpg。具体操作可以自行研究MultiRE。</p>
<p>所有备份完成。</p>
<p><img class="aligncenter size-medium wp-image-942" title="sinabackup" src="http://img.epile.org/e/2009/07/sinabackup-580x327.jpg" alt="sinabackup" width="580" height="327" /></p>
<h3  class="related_post_title">您可能还对以下内容感兴趣</h3><ul class="related_post"><li>无相关文章</li></ul>]]></content:encoded>
			<wfw:commentRss>http://epile.org/blog/html/sina-blog-backup.html/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>CSS图像地图技巧和教程</title>
		<link>http://epile.org/blog/html/css-image-map-techniques-and-tutorials.html</link>
		<comments>http://epile.org/blog/html/css-image-map-techniques-and-tutorials.html#comments</comments>
		<pubDate>Wed, 08 Jul 2009 06:03:10 +0000</pubDate>
		<dc:creator>Epile</dc:creator>
				<category><![CDATA[网络技术]]></category>
		<category><![CDATA[css]]></category>

		<guid isPermaLink="false">http://epile.cn/blog/?p=926</guid>
		<description><![CDATA[CSS图像地图是指在一张图片上定义多个点击的热点链接，显示信息或导航。它有很多的解决方案，以下我们列出的是迄今为止最好和最有用的技巧和教程。 标题所指的图像地图 ，并不意味着简单的图像替换，它指的是采用纯粹的CSS ，而不是CSS与JavaScript或Ajax混合（虽说也有很多解决方案采用了javascript）。我们只用唯一CSS，来完美实现这个效果。 CSS图像地图， Redux （教程） 网址 ： CSS图像地图， Redux 这个教程采用a:hover效果结合定义列表，利用CSS属性中背景位置进行“定位”。 带有Pop-UP工具提示效果的CSS图像地图 （教程） 网址 ： 带有Pop-UP提示效果的CSS图像地图 使用无序列表，两张图片，和少量的CSS代码 ，你就可以创造一个无障碍“图像地图”的弹出式工具提示，通过地图上的链接为您的读者提供更多信息。与其它图像地图不同的是它支持较旧版本的Internet Explorer 。 网址 ： 带有Pop-UP提示效果的CSS图像地图 。 使用无序列表，两张图片，和少量的CSS代码 ，你就可以创造一个无障碍“图像地图”的弹出式工具提示，通过地图上的链接为您的读者提供更多信息。与其它图像地图不同的是它支持较旧版本的Internet Explorer 。 如何在自己的网站上使用CSS创建图像地图？（教程） 网址 ： 如何在自己的网站上使用CSS创建图像地图？ 依旧是一个使用无序列表+CSS创建图像地图的教程。 只使用CSS创建图像地图 （教程） 网址 ： 只使用CSS创建图像地图 本教程展示如何让一个普通的定义列表变成一个影像地图，使用的无非就是CSS，所有在大部分浏览器上兼容。教程将带你一步步走，充分说明了使用每个风格的原因以及每一步的后果。 图像地图 （教程） 网址 ： 图像地图 作者深入和详细的教程，将有助于使任何人学习，了解和整理CSS 。本教程中将使用CSS创建不可见的链接并使它们浮动在背景图像上面。 CSS图像翻转地图 （教程） 网址 ： CSS图像翻转地图 这个地图包含鼠标落在国旗之上，是使用一个图片文件和定位悬停控制的CSS文件。 利用CSS图像翻转地图 （技术） [...]]]></description>
			<content:encoded><![CDATA[<p><strong>CSS图像地图</strong>是指在一张图片上定义多个点击的热点链接，显示信息或导航。它有很多的解决方案，以下我们列出的是迄今为止最好和最有用的技巧和教程。</p>
<p>标题所指的图像地图 ，并不意味着简单的图像替换，它指的是采用纯粹的CSS ，而不是CSS与JavaScript或Ajax混合（虽说也有很多解决方案采用了javascript）。我们只用唯一CSS，来完美实现这个效果。<span id="more-926"></span></p>
<h3>CSS图像地图， Redux （教程）</h3>
<p><img class="aligncenter size-full wp-image-927" title="CSS图像地图， Redux （教程）" src="http://img.epile.org/e/2009/07/imagemap1.jpg" alt="CSS图像地图， Redux （教程）" width="399" height="265" /></p>
<p>网址 ： <a rel="external nofollow" href="http://frankmanno.com/ideas/css-imagemap-redux/" target="_blank">CSS图像地图， Redux</a></p>
<p>这个教程采用a:hover效果结合定义列表，利用CSS属性中背景位置进行“定位”。</p>
<h3>带有Pop-UP工具提示效果的CSS图像地图 （教程）</h3>
<p><img class="aligncenter size-full wp-image-928" title="带有Pop-UP工具提示效果的CSS图像地图 （教程）" src="http://img.epile.org/e/2009/07/imagemap2.jpg" alt="带有Pop-UP工具提示效果的CSS图像地图 （教程）" width="500" height="206" /></p>
<p>网址 ： <a rel="external nofollow" href="http://csshowto.com/effects/css-image-maps-with-pop-up-tool-tips/" target="_blank">带有Pop-UP提示效果的CSS图像地图</a></p>
<p>使用无序列表，两张图片，和少量的CSS代码 ，你就可以创造一个无障碍“图像地图”的弹出式工具提示，通过地图上的链接为您的读者提供更多信息。与其它图像地图不同的是它支持较旧版本的Internet Explorer 。</p>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 463px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">网址 ： 带有Pop-UP提示效果的CSS图像地图 。</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 463px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">使用无序列表，两张图片，和少量的CSS代码 ，你就可以创造一个无障碍“图像地图”的弹出式工具提示，通过地图上的链接为您的读者提供更多信息。与其它图像地图不同的是它支持较旧版本的Internet Explorer 。</div>
<h3>如何在自己的网站上使用CSS创建图像地图？（教程）</h3>
<p><img class="aligncenter size-full wp-image-929" title="如何在自己的网站上使用CSS创建图像地图？（教程）" src="http://img.epile.org/e/2009/07/imagemap3.jpg" alt="如何在自己的网站上使用CSS创建图像地图？（教程）" width="300" height="224" /></p>
<p>网址 ： <a rel="external nofollow" href="http://blogs.techrepublic.com.com/programming-and-development/?p=660" target="_blank">如何在自己的网站上使用CSS创建图像地图？</a></p>
<p>依旧是一个使用无序列表+CSS创建图像地图的教程。</p>
<h4>只使用CSS创建图像地图 （教程）</h4>
<p><img class="aligncenter size-full wp-image-930" title="只使用CSS创建图像地图 （教程）" src="http://img.epile.org/e/2009/07/imagemap4.jpg" alt="只使用CSS创建图像地图 （教程）" width="400" height="240" /></p>
<p>网址 ： <a rel="external nofollow" href="http://www.cssplay.co.uk/articles/imagemap/index.html" target="_blank">只使用CSS创建图像地图 </a></p>
<p>本教程展示如何让一个普通的定义列表变成一个影像地图，使用的无非就是CSS，所有在大部分浏览器上兼容。教程将带你一步步走，充分说明了使用每个风格的原因以及每一步的后果。</p>
<h3>图像地图 （教程）</h3>
<p><img class="aligncenter size-full wp-image-931" title="图像地图 （教程）" src="http://img.epile.org/e/2009/07/imagemap5.jpg" alt="图像地图 （教程）" width="500" height="240" /></p>
<p>网址 ： <a rel="external nofollow" href="http://www.alistapart.com/articles/imagemap" target="_blank">图像地图</a></p>
<p>作者深入和详细的教程，将有助于使任何人学习，了解和整理CSS 。本教程中将使用CSS创建不可见的链接并使它们浮动在背景图像上面。</p>
<h3>CSS图像翻转地图 （教程）</h3>
<p><img class="aligncenter size-full wp-image-932" title="CSS图像翻转地图 （教程）" src="http://img.epile.org/e/2009/07/imagemap6.jpg" alt="CSS图像翻转地图 （教程）" width="480" height="240" /></p>
<p>网址 ： <a rel="external nofollow" href="http://www.tankedup-imaging.com/css_dev/rollover.html" target="_blank">CSS图像翻转地图</a></p>
<p>这个地图包含鼠标落在国旗之上，是使用一个图片文件和定位悬停控制的CSS文件。</p>
<h3>利用CSS图像翻转地图 （技术）</h3>
<p><img class="aligncenter size-full wp-image-933" title="利用CSS图像翻转地图 （技术）" src="http://img.epile.org/e/2009/07/imagemap7.jpg" alt="利用CSS图像翻转地图 （技术）" width="305" height="322" /></p>
<p>网址 ： <a rel="external nofollow" href="http://www.tanfa.co.uk/css/examples/europe-map.asp" target="_blank">利用CSS图像翻转地图 </a></p>
<p>欧洲图片地图，当你悬停在每一个国家的板块时国旗将显示出来。</p>
<h3>利用CSS图像翻转地图 （技术）</h3>
<p><img class="aligncenter size-full wp-image-934" title="利用CSS图像翻转地图 （技术）" src="http://img.epile.org/e/2009/07/imagemap8.jpg" alt="利用CSS图像翻转地图 （技术）" width="494" height="208" /></p>
<p>网址 ： <a rel="external nofollow" href="http://www.cssplay.co.uk/menu/old_master.html" target="_blank">实验利用CSS图像翻转地图 </a></p>
<p>将鼠标悬停在图片显示的三个感兴趣的区域。当悬停在一个区域时，右边将显示一个更大的图片以及说明文字。</p>
<h3>卷动图像地图 （技术）</h3>
<p><img class="aligncenter size-full wp-image-935" title="卷动图像地图" src="http://img.epile.org/e/2009/07/imagemap11.jpg" alt="卷动图像地图" width="408" height="329" /></p>
<p>网址 ： <a rel="external nofollow" href="http://www.cssplay.co.uk/menu/scrollmap" target="_blank">卷动图像地图</a></p>
<p>这是一个横向滚动图片，有10个白色矩形的热点。只要点击任何一个热点就看到右边显示的更大的图像和左下角一小区域的信息。</p>
<blockquote><p><span style="color: #242626; font-family: Consolas; line-height: 20px; font-size: 12px;">原文：<a rel="external nofollow" href="http://designreviver.com/tutorials/css-image-map-techniques-and-tutorials/" target="_blank">CSS Image Map Techniques and Tutorials</a><br />
翻译：<a href="http://epile.org/blog/" target="_blank">Epile</a><br />
</span></p></blockquote>
<h3  class="related_post_title">您可能还对以下内容感兴趣</h3><ul class="related_post"><li><a href="http://epile.org/blog/html/jsminifier.html" title="CSS/Javascript压缩工具taobao jsminifier">CSS/Javascript压缩工具taobao jsminifier</a></li><li><a href="http://epile.org/blog/html/something-about-me-and-css.html" title="说说我和CSS">说说我和CSS</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://epile.org/blog/html/css-image-map-techniques-and-tutorials.html/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Dreamweaver CS4 新功能解析（一）</title>
		<link>http://epile.org/blog/html/dreamweaver-cs4-useful-things-01.html</link>
		<comments>http://epile.org/blog/html/dreamweaver-cs4-useful-things-01.html#comments</comments>
		<pubDate>Wed, 08 Jul 2009 02:51:22 +0000</pubDate>
		<dc:creator>Epile</dc:creator>
				<category><![CDATA[网络技术]]></category>
		<category><![CDATA[Dreamweaver]]></category>

		<guid isPermaLink="false">http://epile.cn/blog/?p=921</guid>
		<description><![CDATA[实习期间Epile试用了Adobe Dreamweaver CS4，觉得软件做得真的很不错，在这里跟大家分享一下。 Dreamweaver CS4 系列文章 Dreamweaver CS4 新功能解析（一） Dreamweaver CS4 新功能解析（二） Dreamweaver CS4 实用技巧 实时视图 Dreamweaver CS4新增的实时视图功能可以直接在软件中模拟浏览器预览的效果，支持CSS、Javascript等。Epile试验了几个网页，实时视图浏览效果最接近于Chrome，与Firefox有细微差异，与IE差异较大。有网友反映对有些Javascript的支持不是很好，不过Epile试验了一下自己用JQuery写的Tab和Cosbeta用JQuery写的Slideshow，均能正常解析。实时视图这个效果虽然看起来挺创新的，不过不是很方便，毕竟实时视图显示范围与代码窗口一样，太小了，还不如用Alt Tab切换到浏览器去测试。 与实时视图同时出现的还有实时代码，实时代码与普通代码的差别就是，实时代码是黄色底色，代码只读阅读，我真不知道这个功能到底有什么用。谁能告诉我！ 相关文件和代码导航器 当你打开一个网页文件（.html, .php等内容文件，除了css, javascript这些外观和行为文件），Dreamweaver CS4会自动把文件所包含的文件（可以识别相对路径和绝对路径，无法识别动态语言的所定义的网站根目录或动态目录）显示在导航条上，可以很方便地切换进行更改，不再需要一次打开一大堆文件。不过相关文件只能识别一层，比如PHP文件中包含了一个PHP文件，要查看包含文件的相关文件，需要右键点击该文件选择“作为单独文件打开”。 这个功能是Dreamweaver CS4新功能里面我最喜欢的功能，用户体验很棒！ Adobe Photoshop® 智能对象 Dreamweaver CS4可以直接把Photoshop的PSD文件插入到网页中，并可以根据原始PSD变化方便地更新图片。插入文件时会弹出对话窗口对图像的尺寸，格式进行设置，把PSD文件生成为jpg或gif。功能虽然有点单一，但已经足够了。Dreamwaver会在生成的图片目录下生成_note文件夹和文件夹下“图片文件名.mno”文件用于记录与原始PSD的关系。 插入的智能图片在编辑器中会有一个绿色的双箭头图标。下面的属性框里“原始”选项为原始PSD的路径；“编辑”选项有三个按钮，分别为打开PSD文件、编辑图像设置、从源文件更新。 您可能还对以下内容感兴趣无相关文章]]></description>
			<content:encoded><![CDATA[<p>实习期间Epile试用了Adobe Dreamweaver CS4，觉得软件做得真的很不错，在这里跟大家分享一下。</p>
<p>Dreamweaver CS4 系列文章</p>
<ul>
<li><strong>Dreamweaver CS4 新功能解析（一）</strong></li>
<li>Dreamweaver CS4 新功能解析（二）</li>
<li>Dreamweaver CS4 实用技巧</li>
</ul>
<p><span id="more-921"></span></p>
<h3>实时视图</h3>
<p>Dreamweaver CS4新增的实时视图功能可以直接在软件中模拟浏览器预览的效果，支持CSS、Javascript等。Epile试验了几个网页，实时视图浏览效果最接近于Chrome，与Firefox有细微差异，与IE差异较大。有网友反映对有些Javascript的支持不是很好，不过Epile试验了一下自己用JQuery写的Tab和Cosbeta用JQuery写的<a rel="external nofollow" href="http://www.storyday.com/html/y2008/1595_a-simple-example-of-the-screen-switch.html" target="_blank">Slideshow</a>，均能正常解析。实时视图这个效果虽然看起来挺创新的，不过不是很方便，毕竟实时视图显示范围与代码窗口一样，太小了，还不如用Alt Tab切换到浏览器去测试。</p>
<p>与实时视图同时出现的还有实时代码，实时代码与普通代码的差别就是，实时代码是黄色底色，代码只读阅读，我真不知道这个功能到底有什么用。谁能告诉我！</p>
<p><img class="aligncenter size-full wp-image-922" title="实时视图" src="http://img.epile.org/e/2009/07/feature-spotlight.jpg" alt="实时视图" width="534" height="350" /></p>
<h3>相关文件和代码导航器</h3>
<p>当你打开一个网页文件（.html, .php等内容文件，除了css, javascript这些外观和行为文件），Dreamweaver CS4会自动把文件所包含的文件（可以识别相对路径和绝对路径，无法识别动态语言的所定义的网站根目录或动态目录）显示在导航条上，可以很方便地切换进行更改，不再需要一次打开一大堆文件。不过相关文件只能识别一层，比如PHP文件中包含了一个PHP文件，要查看包含文件的相关文件，需要右键点击该文件选择“作为单独文件打开”。</p>
<p>这个功能是Dreamweaver CS4新功能里面我最喜欢的功能，用户体验很棒！</p>
<p><img class="aligncenter size-full wp-image-923" title="相关文件和代码导航器" src="http://img.epile.org/e/2009/07/feature-related-files-and-code-navigator.jpg" alt="相关文件和代码导航器" width="378" height="44" /></p>
<h3>Adobe Photoshop® 智能对象</h3>
<p>Dreamweaver CS4可以直接把Photoshop的PSD文件插入到网页中，并可以根据原始PSD变化方便地更新图片。插入文件时会弹出对话窗口对图像的尺寸，格式进行设置，把PSD文件生成为jpg或gif。功能虽然有点单一，但已经足够了。Dreamwaver会在生成的图片目录下生成_note文件夹和文件夹下“图片文件名.mno”文件用于记录与原始PSD的关系。</p>
<p style="text-align: center;"><img class="aligncenter size-medium wp-image-924" title="Adobe Photoshop® 智能对象" src="http://img.epile.org/e/2009/07/smart-objects-01-544x435.jpg" alt="Adobe Photoshop® 智能对象" width="544" height="435" /></p>
<p style="text-align: left;">插入的智能图片在编辑器中会有一个绿色的双箭头图标。下面的属性框里“原始”选项为原始PSD的路径；“编辑”选项有三个按钮，分别为打开PSD文件、编辑图像设置、从源文件更新。</p>
<p><img class="aligncenter size-full wp-image-925" title="Adobe Photoshop® 智能对象" src="http://img.epile.org/e/2009/07/smart-objects-02.jpg" alt="Adobe Photoshop® 智能对象" width="594" height="492" /></p>
<h3  class="related_post_title">您可能还对以下内容感兴趣</h3><ul class="related_post"><li>无相关文章</li></ul>]]></content:encoded>
			<wfw:commentRss>http://epile.org/blog/html/dreamweaver-cs4-useful-things-01.html/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>WordPress 2.8 冲突插件</title>
		<link>http://epile.org/blog/html/wordpress-2-8-plugin-bug.html</link>
		<comments>http://epile.org/blog/html/wordpress-2-8-plugin-bug.html#comments</comments>
		<pubDate>Sun, 14 Jun 2009 03:47:43 +0000</pubDate>
		<dc:creator>Epile</dc:creator>
				<category><![CDATA[网络技术]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://epile.cn/blog/?p=883</guid>
		<description><![CDATA[本文章不再更新，目前有两个网站给出了详细的冲突插件列表： codex.wordpress.org    http://codex.wordpress.org/Plugins/Plugin_Compatibility/2.8 BraveNewCode    http://plugincheck.bravenewcode.com/ 1.DB Cache（版本0.6或以下） 数据库缓存插件，在 WordPress 2.8 中开启此插件，则文章无法添加Tag。也有人说在编辑页面时显示错误提示 via。 2.FCKeditor（版本2.5.0） 文字编辑插件，在 WordPress 2.8 中开启此插件，无法使用。 3.use google libraries（版本1.05或以下，1.06已修复） 分布式加速插件，在 WordPress 2.8 中开启此插件，编辑文章时无法在html编辑器与可视化编辑器之间切换，且可能造成文章内容部分丢失。 原因：其调用的JS与Wordpress2.8的loadscripts.php冲突。 4.WP-PostRatings（版本1.40或以下，1.50已修复） 文章评分插件，在 WordPress 2.8 中开启此插件后公告栏显示数据库Ratings第一行出错。 5.Redirection（版本2.1.14或以下） 重定向插件，在 WordPress 2.8 中开启此插件后文章无法添加Tag。 via 您可能还对以下内容感兴趣Wordpress新主题《新绿 E-Green》上线WordPress2.8自定义分类Wordpress CMS插件 PodsWordpress2.8 body_class()函数5个你不知道的Wordpress函数]]></description>
			<content:encoded><![CDATA[<p><span style="color: #ff0000;">本文章不再更新，目前有两个网站给出了详细的冲突插件列表：</span></p>
<p>codex.wordpress.org    <a href="http://codex.wordpress.org/Plugins/Plugin_Compatibility/2.8">http://codex.wordpress.org/Plugins/Plugin_Compatibility/2.8</a></p>
<p>BraveNewCode    <a href="http://plugincheck.bravenewcode.com/">http://plugincheck.bravenewcode.com/</a></p>
<p><span id="more-883"></span></p>
<p>1.<strong>DB Cache</strong>（版本0.6或以下）</p>
<p>数据库缓存插件，在 WordPress 2.8 中开启此插件，则文章无法添加Tag。也有人说在编辑页面时显示错误提示 <a rel="external nofollow" href="http://www.suoyishuo.com/archives/wordpress-28-conflict.html" target="_blank">via</a>。</p>
<p>2.<strong>FCKeditor</strong>（版本2.5.0）</p>
<p>文字编辑插件，在 WordPress 2.8 中开启此插件，无法使用。</p>
<p>3.<strong>use google libraries</strong>（版本1.05或以下，<span style="color: #ff0000;"><strong>1.06已修复</strong></span>）</p>
<p>分布式加速插件，在 WordPress 2.8 中开启此插件，编辑文章时无法在html编辑器与可视化编辑器之间切换，且可能造成文章内容部分丢失。</p>
<p>原因：其调用的JS与Wordpress2.8的loadscripts.php冲突。</p>
<p>4.<strong>WP-PostRatings</strong>（版本1.40或以下，<span style="color: #ff0000;"><strong>1.50已修复</strong></span>）</p>
<p>文章评分插件，在 WordPress 2.8 中开启此插件后公告栏显示数据库Ratings第一行出错。</p>
<p>5.<strong>Redirection</strong>（版本2.1.14或以下）</p>
<p>重定向插件，在 WordPress 2.8 中开启此插件后文章无法添加Tag。 <a rel="external nofollow" href="http://showfom.com/notes-for-wordpress-28-upgrading/">via</a></p>
<h3  class="related_post_title">您可能还对以下内容感兴趣</h3><ul class="related_post"><li><a href="http://epile.org/blog/html/wordpress-theme-e-green.html" title="Wordpress新主题《新绿 E-Green》上线">Wordpress新主题《新绿 E-Green》上线</a></li><li><a href="http://epile.org/blog/html/custom-taxonomies-in-wordpress-28.html" title="WordPress2.8自定义分类">WordPress2.8自定义分类</a></li><li><a href="http://epile.org/blog/html/wordpress-cms-plugins-pods.html" title="Wordpress CMS插件 Pods">Wordpress CMS插件 Pods</a></li><li><a href="http://epile.org/blog/html/wordpress-2-8-and-the-body_class-function.html" title="Wordpress2.8 body_class()函数">Wordpress2.8 body_class()函数</a></li><li><a href="http://epile.org/blog/html/5-useful-wordpress-functions.html" title="5个你不知道的Wordpress函数">5个你不知道的Wordpress函数</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://epile.org/blog/html/wordpress-2-8-plugin-bug.html/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>WordPress2.8自定义分类</title>
		<link>http://epile.org/blog/html/custom-taxonomies-in-wordpress-28.html</link>
		<comments>http://epile.org/blog/html/custom-taxonomies-in-wordpress-28.html#comments</comments>
		<pubDate>Fri, 12 Jun 2009 12:24:27 +0000</pubDate>
		<dc:creator>Epile</dc:creator>
				<category><![CDATA[网络技术]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://epile.cn/blog/?p=869</guid>
		<description><![CDATA[原文：Custom taxonomies in WordPress 2.8 翻译：Epile 首发于译言 想象您经营一个关于图书、电影、音乐评论的网站。当你在WordPress写文章时，您需要把它标记为一本书，同时你也想进一步标记它的类型或作者。 通常我们会通过使用类别和标签进行系统分类。现在我要告诉您如何摆脱这种硬性的分类系统并按自己喜欢的方式。 在WordPress2.3 ，Taxonomy API 被引入。它允许我们构建自己的分类。这里有一个问题：没有人使用自定义分类。 在WordPress2.8 ，创建自定义分类不再是插件开发者的事情了。普通用户可以通过几行代码建立和使用它们需要的任何分类。WordPress会帮我们完成剩下的工作：在文章撰写页面添加自定义输入框，在管理界面加入新的页面以便管理自定义分类。 什么是分类？ 我知道这个词可能对于大多数来说并不熟悉。总之，分类是一种组织项目的方式。这是Answers.com给出的分类的定义 ： 生物分类显示有序的自然关系。 科学，法律，或原则的分类；分类学。 划分为有序的群体或类别。 第三个定义或许是最适合我们的目的。 默认情况下， WordPress预装了三个分类： category ， post_tag ，link_category。前两个允许我们能够以某种方式标记我们的文章。最后一个允许我们给链接进行分类。我将在本教程告诉您如何轻松地创建并自己的分类。 每个分类有所谓的关系。例如，您的所有tag标签其实都是在post_tag分类下的。 本文讲的分类指的是针对文章Tag的分类。 新分类的特性 在您建立了新的分类，WordPress将会自动为您创建的管理面板。在你写文章得时候会有一个新的自定义输入框。这是使WordPress2.8很酷的新特性。本教程我们将建立三个分类：人物，地点和动物。 在你写新文章时你将看到如下的画面： 下面是People分类的管理界面： 你们当中有些人可能已经注意到在网页上不少地方出现“Tag标记”。我不知道这是否会在未来更新或者它可以很容易地改变。 如何创建一个自定义分类 这里我只是照顾普通水平的用户。插件开发人员可以借此做各种巧妙的事情。此外，WordPress2.8的新特性只适用于文章中像Tag一样的分类（非等级）。 在这个例子中，我们将创造三个自定义分类：人物，地点和动物。您可以创建更多或只要你想要的。 打开主题的functions.php文件或创建一个插件文件。添加以下代码： &#60;?php add_action( &#8216;init&#8217;, &#8216;create_my_taxonomies&#8217;, 0 ); &#60;?php add_action( &#8216;init&#8217;, &#8216;create_my_taxonomies&#8217;, 0 ); function create_my_taxonomies() { register_taxonomy( [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p><span style="color: #242626; font-family: Consolas; line-height: 20px; font-size: 12px;">原文：<a rel="external nofollow" href="http://justintadlock.com/archives/2009/05/06/custom-taxonomies-in-wordpress-28" target="_blank">Custom taxonomies in WordPress 2.8</a><br />
翻译：<a style="outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 12px; text-decoration: none; color: #004d99; padding: 0px; margin: 0px; border: 0px initial initial;" rel="external nofollow" href="http://epile.org/blog/" target="_blank">Epile</a><br />
首发于译言</span></p></blockquote>
<p>想象您经营一个关于图书、电影、音乐评论的网站。当你在WordPress写文章时，您需要把它标记为一本书，同时你也想进一步标记它的类型或作者。</p>
<p>通常我们会通过使用类别和标签进行系统分类。现在我要告诉您如何摆脱这种硬性的分类系统并按自己喜欢的方式。</p>
<p>在WordPress2.3 ，Taxonomy API 被引入。它允许我们构建自己的分类。这里有一个问题：没有人使用自定义分类。</p>
<p>在WordPress2.8 ，创建自定义分类不再是插件开发者的事情了。普通用户可以通过几行代码建立和使用它们需要的任何分类。WordPress会帮我们完成剩下的工作：在文章撰写页面添加自定义输入框，在管理界面加入新的页面以便管理自定义分类。</p>
<p><span id="more-869"></span></p>
<h3>什么是分类？</h3>
<p>我知道这个词可能对于大多数来说并不熟悉。总之，分类是一种组织项目的方式。这是Answers.com给出的分类的定义 ：</p>
<p>生物分类显示有序的自然关系。<br />
科学，法律，或原则的分类；分类学。<br />
划分为有序的群体或类别。<br />
第三个定义或许是最适合我们的目的。</p>
<p>默认情况下， WordPress预装了三个分类： category ， post_tag ，link_category。前两个允许我们能够以某种方式标记我们的文章。最后一个允许我们给链接进行分类。我将在本教程告诉您如何轻松地创建并自己的分类。</p>
<p>每个分类有所谓的关系。例如，您的所有tag标签其实都是在post_tag分类下的。</p>
<p><span style="font-family: Verdana; line-height: 23px; color: #333333;">本文讲的分类指的是针对文章Tag的分类。</span></p>
<h3>新分类的特性</h3>
<p>在您建立了新的分类，WordPress将会自动为您创建的管理面板。在你写文章得时候会有一个新的自定义输入框。这是使WordPress2.8很酷的新特性。本教程我们将建立三个分类：人物，地点和动物。</p>
<p>在你写新文章时你将看到如下的画面：</p>
<p><img class="aligncenter size-medium wp-image-870" title="taxonomies-write-post" src="http://img.epile.org/e/2009/06/taxonomies-write-post-580x379.png" alt="taxonomies-write-post" width="580" height="379" /></p>
<p>下面是People分类的管理界面：</p>
<p><img class="aligncenter size-medium wp-image-871" title="edit-taxonomy" src="http://img.epile.org/e/2009/06/edit-taxonomy-580x289.png" alt="edit-taxonomy" width="580" height="289" /></p>
<p>你们当中有些人可能已经注意到在网页上不少地方出现“Tag标记”。我不知道这是否会在未来更新或者它可以很容易地改变。</p>
<h3>如何创建一个自定义分类</h3>
<p>这里我只是照顾普通水平的用户。插件开发人员可以借此做各种巧妙的事情。此外，WordPress2.8的新特性只适用于文章中像Tag一样的分类（非等级）。</p>
<p>在这个例子中，我们将创造三个自定义分类：人物，地点和动物。您可以创建更多或只要你想要的。</p>
<p>打开主题的functions.php文件或创建一个插件文件。添加以下代码：</p>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 600px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">&lt;?php</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 600px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">add_action( &#8216;init&#8217;, &#8216;create_my_taxonomies&#8217;, 0 );</div>
<blockquote><p><span style="font-family: Verdana; line-height: 23px; color: #333333;"> </span></p>
<div style="font-family: Verdana, arial, sans-serif; padding: 0px; margin: 0px;">&lt;?php</div>
<div style="font-family: Verdana, arial, sans-serif; padding: 0px; margin: 0px;">add_action( &#8216;init&#8217;, &#8216;create_my_taxonomies&#8217;, 0 );</div>
<div style="font-family: Verdana, arial, sans-serif; padding: 0px; margin: 0px;">function create_my_taxonomies() {</div>
<div style="font-family: Verdana, arial, sans-serif; padding: 0px; margin: 0px;"><span style="font-family: Verdana, arial, sans-serif; padding: 0px; margin: 0px;"> </span>register_taxonomy( &#8216;people&#8217;, &#8216;post&#8217;, array( &#8216;hierarchical&#8217; =&gt; false, &#8216;label&#8217; =&gt; &#8216;People&#8217;, &#8216;query_var&#8217; =&gt; true, &#8216;rewrite&#8217; =&gt; true ) );</div>
<div style="font-family: Verdana, arial, sans-serif; padding: 0px; margin: 0px;"><span style="font-family: Verdana, arial, sans-serif; padding: 0px; margin: 0px;"> </span>register_taxonomy( &#8216;places&#8217;, &#8216;post&#8217;, array( &#8216;hierarchical&#8217; =&gt; false, &#8216;label&#8217; =&gt; &#8216;Places&#8217;, &#8216;query_var&#8217; =&gt; true, &#8216;rewrite&#8217; =&gt; true ) );</div>
<div style="font-family: Verdana, arial, sans-serif; padding: 0px; margin: 0px;">register_taxonomy( &#8216;animals&#8217;, &#8216;post&#8217;, array( &#8216;hierarchical&#8217; =&gt; false, &#8216;label&#8217; =&gt; &#8216;Animals&#8217;, &#8216;query_var&#8217; =&gt; true, &#8216;rewrite&#8217; =&gt; true ) );</div>
<div style="font-family: Verdana, arial, sans-serif; padding: 0px; margin: 0px;">}</div>
<div style="font-family: Verdana, arial, sans-serif; padding: 0px; margin: 0px;">?&gt;</div>
</blockquote>
<h3>分解代码</h3>
<p>让我们来看看一行代码，我们开始分解它的每个部分。我们注册登记的人物分类是这样子的：</p>
<ul>
<li>register_taxonomy( &#8216;people&#8217;, &#8216;post&#8217;, array( &#8216;hierarchical&#8217; =&gt; false, &#8216;label&#8217; =&gt; &#8216;People&#8217;, &#8216;query_var&#8217; =&gt; true, &#8216;rewrite&#8217; =&gt; true ) );</li>
<li>people告诉WordPress分类的名称。</li>
<li>post告诉WordPres分类的适应对象。如果您希望您也可以作出页面的分类或链接的分类，但是在Wordpress还没有像文章分类这么简单。</li>
<li>hierarchical意味着分类可以可以在一个等级内（Category类别是等级，而Tag标签不是）。所以，我们设置此为false使行为像标签并使用新的WordPress的特性。</li>
<li>label的名字是您要在Wordpress管理面板显示的分类名字。</li>
<li>query_var让WordPress的知道你是否希望能够显示像人物分类下所有关于威尔史密斯的文章。如果您将其设置为true ，查询变量将是你的分类名称。这也可以是任何你想要的文本字符串。我们将继续简单的标记为Ture。</li>
<li>rewrite是你是否需要Wordpress为分类或存档更漂亮的永久性链接。所以，您可以拥有yoursite.com/people/will-smith ，而不是yoursite.com/?people=will-smith。</li>
</ul>
<p>接着，我给你一些实际使用的例子。</p>
<h3>如何使用自定义分类创建标签云</h3>
<p>比方说，您想要一个人物分类云 ，而不是一个Tag标签云。好吧，我们会利用我们的标准wp_tag_cloud （ ）模板标记加上一些额外的代码。将此代码放置在您想展示人物分类云的地方：</p>
<blockquote><p>&lt;?php wp_tag_cloud( array( &#8216;taxonomy&#8217; =&gt; &#8216;people&#8217;, &#8216;number&#8217; =&gt; 45 ) ); ?&gt;</p></blockquote>
<p>它就是这么简单。所有您需要做的是选择您的分类taxonomy。</p>
<h3>如何为每个文章列出分类的层级</h3>
<p>或许您要查看某一特定分类的层级以及您的文章，它们有共同的类别和标签。在这个例子中，我们将展示的人物分类的层级。在Loop循环中您想要出现分类层级的地方插入：</p>
<blockquote><p>&lt;?php echo get_the_term_list( $post-&gt;ID, &#8216;people&#8217;, &#8216;People: &#8216;, &#8216;, &#8216;, ” ); ?&gt;</p></blockquote>
<h3>如何显示特定分类下的文章</h3>
<p>让我们假设你想创建一个自定义页面模板或设置您的首页显示10个与“威尔史密斯”的文章 （从您的人物分类） 。在Loop循环之前添加此代码：</p>
<blockquote><p>&lt;?php query_posts( array( &#8216;people&#8217; =&gt; &#8216;will-smith&#8217;, &#8216;showposts&#8217; =&gt; 10 ) ); ?&gt;</p></blockquote>
<h3>创建自己的自定义分类</h3>
<p>分类不再是插件开发者才可以创建的事情了。现在是你自己探索自定义分类的时间了。为你的网站创建一些独特的东西吧。</p>
<p>我想在博客上创建一个WordPress分类，因为我博客上的文章几乎都是关于Wordpress的。</p>
<p>如果您有任何疑问或想看到更多的实际使用范例，请随时评论。你甚至可以列出关于新的分类法的一大张想法清单。有很多我们可以做的事情，但是出现无法在一个教程中。如果每个人都觉得需要它，我们可以再写一个。</p>
<p>请记住，本教程只支持WordPress2.8。</p>
<h3  class="related_post_title">您可能还对以下内容感兴趣</h3><ul class="related_post"><li><a href="http://epile.org/blog/html/wordpress-theme-e-green.html" title="Wordpress新主题《新绿 E-Green》上线">Wordpress新主题《新绿 E-Green》上线</a></li><li><a href="http://epile.org/blog/html/wordpress-2-8-plugin-bug.html" title="Wordpress 2.8 冲突插件">Wordpress 2.8 冲突插件</a></li><li><a href="http://epile.org/blog/html/wordpress-cms-plugins-pods.html" title="Wordpress CMS插件 Pods">Wordpress CMS插件 Pods</a></li><li><a href="http://epile.org/blog/html/wordpress-2-8-and-the-body_class-function.html" title="Wordpress2.8 body_class()函数">Wordpress2.8 body_class()函数</a></li><li><a href="http://epile.org/blog/html/5-useful-wordpress-functions.html" title="5个你不知道的Wordpress函数">5个你不知道的Wordpress函数</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://epile.org/blog/html/custom-taxonomies-in-wordpress-28.html/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
		</item>
		<item>
		<title>WordPress CMS插件 Pods</title>
		<link>http://epile.org/blog/html/wordpress-cms-plugins-pods.html</link>
		<comments>http://epile.org/blog/html/wordpress-cms-plugins-pods.html#comments</comments>
		<pubDate>Thu, 11 Jun 2009 09:27:56 +0000</pubDate>
		<dc:creator>Epile</dc:creator>
				<category><![CDATA[网络技术]]></category>
		<category><![CDATA[Pods]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://epile.cn/blog/?p=839</guid>
		<description><![CDATA[Update：#2009.07.21 修改“特性”介绍，与官方内容同步； Epile一周前发现了这款Wordpress的CMS插件Pods，功能很强大，因为英语水平的问题，一直不太了解这个插件具体是怎么样的，所以拖到现在才把这篇介绍写好。月底Pods官方新版本将会带有由Epile翻译的中文语言包，接下来Epile会发布Pods相关的中文教程。 Pods允许您可以使用Wordpress创建，管理和显示自定义内容类型。像Drupal的CCK，这些内容类型之间可以相互关联，并允许网站使用大量的相互关联。Pods CMS 插件提供了自动分页，过滤，公开的表格，访问控制，菜单编辑以及更多的功能。 特性 内容类型（Content Types） 创建输入区域容器，可供选择的输入类型（文字，日期，数字，关联等） ，甚至可以设置验证规则（必填、唯一、多选） 关联（Relationships） 一个内容类型（Pod）的列可以关联另一个Pod的项目。 展示（Display） 使用轻量级模板系统在网站上展示数据。只需要很少的设置就可以实现自动分页，搜索，公开表单，下拉式过滤器等。 辅助工具（Helps） 以任何方式操作数据！有4个不同的辅助工具，每一个实现一个独立的功能（验证数据，自定义表单字段等） Pod页（Pods Pages） 支持通配符URL的PHP页面 ，使用单个Pod页即可可以处理多个项目！ 角色权限（Roles） 什么角色可以访问哪个Pods功能？ 菜单（Menus） 建立一个可用于本地导航，页面结构的菜单结构。 配置管理（Package Manager） 导入或导出Pods设置以便重复利用。 本文使用Google Translate Toolkit翻译。 您可能还对以下内容感兴趣Wordpress新主题《新绿 E-Green》上线Wordpress 2.8 冲突插件WordPress2.8自定义分类Wordpress2.8 body_class()函数5个你不知道的Wordpress函数]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-866" title="pods" src="http://img.epile.org/e/2009/06/pods.png" alt="pods" width="478" height="236" /></p>
<p><span style="color: #ff0000;">Update：#2009.07.21 修改“特性”介绍，与官方内容同步；</span></p>
<p><a href="http://epile.org/blog/"><span style="text-decoration: line-through;">Epile</span></a><span style="text-decoration: line-through;">一周前发现了这款Wordpress的CMS插件</span><a rel="external nofollow" href="http://pods.uproot.us/" target="_blank"><span style="text-decoration: line-through;">Pods</span></a><span style="text-decoration: line-through;">，功能很强大，因为英语水平的问题，一直不太了解这个插件具体是怎么样的，所以拖到现在才把这篇介绍写好。月底Pods官方新版本将会带有由Epile翻译的中文语言包，接下来Epile会发布Pods相关的中文教程。</span></p>
<p>Pods允许您可以使用Wordpress创建，管理和显示自定义内容类型。像Drupal的CCK，这些内容类型之间可以相互关联，并允许网站使用大量的相互关联。Pods CMS 插件提供了自动分页，过滤，公开的表格，访问控制，菜单编辑以及更多的功能。</p>
<p><span id="more-839"></span></p>
<h3>特性</h3>
<p><strong>内容类型（Content Types）</strong><br />
创建输入区域容器，可供选择的输入类型（文字，日期，数字，关联等） ，甚至可以设置验证规则（必填、唯一、多选）</p>
<p><strong>关联（Relationships）</strong><br />
一个内容类型（Pod）的列可以关联另一个Pod的项目。</p>
<p><strong>展示（Display）</strong><br />
使用轻量级模板系统在网站上展示数据。只需要很少的设置就可以实现自动分页，搜索，公开表单，下拉式过滤器等。</p>
<p><strong>辅助工具（Helps）</strong><br />
以任何方式操作数据！有4个不同的辅助工具，每一个实现一个独立的功能（验证数据，自定义表单字段等）</p>
<p><strong>Pod页（Pods Pages）</strong><br />
支持通配符URL的PHP页面 ，使用单个Pod页即可可以处理多个项目！</p>
<p><strong>角色权限（Roles）</strong><br />
什么角色可以访问哪个Pods功能？</p>
<p><strong>菜单（Menus）</strong><br />
建立一个可用于本地导航，页面结构的菜单结构。</p>
<p><strong>配置管理（Package Manager）</strong><br />
导入或导出Pods设置以便重复利用。</p>
<p>本文使用<a rel="external nofollow" href="http://translate.google.com">Google Translate Toolkit</a>翻译。</p>
<h3  class="related_post_title">您可能还对以下内容感兴趣</h3><ul class="related_post"><li><a href="http://epile.org/blog/html/wordpress-theme-e-green.html" title="Wordpress新主题《新绿 E-Green》上线">Wordpress新主题《新绿 E-Green》上线</a></li><li><a href="http://epile.org/blog/html/wordpress-2-8-plugin-bug.html" title="Wordpress 2.8 冲突插件">Wordpress 2.8 冲突插件</a></li><li><a href="http://epile.org/blog/html/custom-taxonomies-in-wordpress-28.html" title="WordPress2.8自定义分类">WordPress2.8自定义分类</a></li><li><a href="http://epile.org/blog/html/wordpress-2-8-and-the-body_class-function.html" title="Wordpress2.8 body_class()函数">Wordpress2.8 body_class()函数</a></li><li><a href="http://epile.org/blog/html/5-useful-wordpress-functions.html" title="5个你不知道的Wordpress函数">5个你不知道的Wordpress函数</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://epile.org/blog/html/wordpress-cms-plugins-pods.html/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>WordPress2.8 body_class()函数</title>
		<link>http://epile.org/blog/html/wordpress-2-8-and-the-body_class-function.html</link>
		<comments>http://epile.org/blog/html/wordpress-2-8-and-the-body_class-function.html#comments</comments>
		<pubDate>Sat, 06 Jun 2009 00:45:23 +0000</pubDate>
		<dc:creator>Epile</dc:creator>
				<category><![CDATA[网络技术]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://epile.cn/blog/?p=854</guid>
		<description><![CDATA[原文：WordPress 2.8 and the body_class() Function 翻译：Epile 首发于译言 2月7日，在我随意浏览Wordpress的主干代码时，发现wp-includes/post-template.php里面有一个非常酷的新功能。 从Wordpress2.8开始，主题将能够使用body_class()函数在开放&#60;body&#62;标签代替特殊class（location-specific classes），通常位于大多数主题的header.php文件。 为什么它是重要的？因为它开创了只用CSS就能够改变几乎一切的外观。 在我们进入body_class()函数应用之前，让我们先了解一些技术细节。 body_class（）生成什么？ body_class()函数在Wordpress2.7几乎和post_class()有同样的运行方式，唯一不同的是class的生成。body_class()函数生成的class大多是根据你的访问者在网站的位置。例如，如果访问者在你的博客首页，但你没有设置一个静态主页，函数和类可能会产生如下所示： &#60;body class=”home blog”&#62; 注意，这些是两个不同的class，你可以选择任何一个。 然而，如果你在某个帖子，body标签看起来可能是这样： &#60;body class=”single postid-64&#8243;&#62; 如果你正在浏览一个页面，body_class()会生成这样： &#60;body class=”page page-id-3 parent-page-id-0 page-template-default”&#62; 从本质上讲，body_class()会生成基于内容的动态CSS class，以及在什么情况下浏览。例如，如果你是注册用户，且已经登录，body_class()会在body标签生成一个登录class。 以下为可用的body class的完整列表： rtl home blog archive date search paged attachment error404 single postid-(id) attachmentid-(id) attachment-(mime-type) author author-(user_nicename) category category-(slug) tag tag-(slug) page page-parent page-child [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>原文：<a rel="external nofollow" href="http://www.nathanrice.net/blog/wordpress-2-8-and-the-body_class-function/" target="_blank">WordPress 2.8 and the body_class() Function</a><br />
翻译：<a href="http://epile.org/blog/" target="_blank"><span>Epile</span></a><br />
首发于译言</p></blockquote>
<p>2月7日，在我随意浏览Wordpress的主干代码时，发现wp-includes/post-template.php里面有一个非常酷的新功能。</p>
<p>从Wordpress2.8开始，主题将能够使用<strong>body_class</strong><strong>()</strong>函数在开放&lt;body&gt;标签代替特殊class（location-specific classes），通常位于大多数主题的header.php文件。<br />
<span id="more-854"></span></p>
<p>为什么它是重要的？因为它开创了只用CSS就能够改变几乎一切的外观。</p>
<p>在我们进入<strong>body_class</strong><strong>()</strong>函数应用之前，让我们先了解一些技术细节。</p>
<h3><strong>body_class（）生成什么？</strong></h3>
<p><strong>body_class()</strong>函数在Wordpress2.7几乎和<strong>post_class()</strong>有同样的运行方式，唯一不同的是class的生成。body_class()函数生成的class大多是根据你的访问者在网站的位置。例如，如果访问者在你的博客首页，但你没有设置一个静态主页，函数和类可能会产生如下所示：</p>
<blockquote><p>&lt;body class=”home blog”&gt;</p></blockquote>
<p>注意，这些是两个不同的class，你可以选择任何一个。</p>
<p>然而，如果你在某个帖子，body标签看起来可能是这样：</p>
<blockquote><p>&lt;body class=”single postid-64&#8243;&gt;</p></blockquote>
<p>如果你正在浏览一个页面，<strong>body_class()</strong>会生成这样：</p>
<blockquote><p>&lt;body class=”page page-id-3 parent-page-id-0 page-template-default”&gt;</p></blockquote>
<p>从本质上讲，<strong>body_class()</strong>会生成基于内容的动态CSS class，以及在什么情况下浏览。例如，如果你是注册用户，且已经登录，<strong>body_class()</strong>会在body标签生成一个登录class。</p>
<p>以下为可用的body class的完整列表：</p>
<ul>
<li>rtl</li>
<li>home</li>
<li>blog</li>
<li>archive</li>
<li>date</li>
<li>search</li>
<li>paged</li>
<li>attachment</li>
<li>error404</li>
<li>single postid-(id)</li>
<li>attachmentid-(id)</li>
<li>attachment-(mime-type)</li>
<li>author</li>
<li>author-(user_nicename)</li>
<li>category</li>
<li>category-(slug)</li>
<li>tag</li>
<li>tag-(slug)</li>
<li>page</li>
<li>page-parent</li>
<li>page-child parent-pageid-(id)</li>
<li>page-template page-template-(template file name)</li>
<li>search-results</li>
<li>search-no-results</li>
<li>logged-in</li>
<li>paged-(page number)</li>
<li>single-paged-(page number)</li>
<li>page-paged-(page number)</li>
<li>category-paged-(page number)</li>
<li>tag-paged-(page number)</li>
<li>date-paged-(page number)</li>
<li>author-paged-(page number)</li>
<li>search-paged-(page number)</li>
</ul>
<h3><strong>如何为自己的主题添加body_class()</strong></h3>
<p>这实际上是一件容易的事情。假设你正在使用Wordpress2.8，所有你需要做的就是增加一个新的模板标记。你需要找到这些模板文件生成开放&lt;body&gt;标签的位置，它通常在header.php文件里。</p>
<p>当你找到&lt;body&gt;标签的位置后，请把它更改为：</p>
<blockquote><p>&lt;body &lt;?php body_class(); ?&gt;&gt;</p></blockquote>
<p>保存文件并上传到服务器，你就大功告成了。</p>
<h3><strong>使用动态Body Class</strong></h3>
<p>现在我们有了body class，有什么大不了呢？我将会解释：</p>
<p>除了HTML元素外，&lt;body&gt;标签包围着其他所有的HTML代码。因此，body class允许我们对网页任何元素进行修改，具体到当前页面。</p>
<p>也许通过实例更容易理解。</p>
<p>我们主题左边有一个&lt;div id=”content”&gt;，右边有一个&lt;div id=”sidebar”&gt;，他们都在一个960px宽&lt;div id=”container”&gt;里。content div为600px宽，sidebar div为360px宽。但是，当浏览单独的帖子页面，我让我的主题不显示sidebar。现在，我们只剩下一个content div。不幸的是，container div为960px宽，而我们的content div却只有600px宽。</p>
<p>我们难道用一个大空白区填充我们的工具栏？该如何解决呢？使用body class这将很简单。我们只需要针对&lt;div id=”content”&gt;在帖子页的情况进行定义。在CSS里为：</p>
<blockquote><p>.single #content{<br />
width: 960px;<br />
}</p></blockquote>
<p>通过这样做，在帖子页面，content div为960px宽。</p>
<p>我们正在增加一个简单有选择性的CSS系统。</p>
<h3><strong>新增body_class()的class</strong></h3>
<p>在某些情况下，你将要添加自己的Class到<strong>body<span><strong>_class()</strong>里。如果你发现自己处在这种情况下，这些有些方法可以做到这一点。</span></strong></p>
<p>首先，最简单的方法是通过自定义Class函数调用<strong>body_class()</strong>。例如：</p>
<blockquote><p>&lt;body &lt;?php body_class(&#8216;my-class&#8217;); ?&gt;&gt;</p></blockquote>
<p>通过这样做，我们现在告诉<strong>body_class()</strong>函数增加my-class的输出。</p>
<p>第二，困难但更灵活的方式是，利用Wordpress的过滤器，增加新的body class。在这种情况下，我们将使用<strong>get_body_class()</strong>函数中的body_class过滤器。如果你不清楚过滤器如何运行，我将会在不久后写一篇文章。在此之前，看看你是否能够赶上来，非常容易。</p>
<p>这是增加使用过滤器增加class的例子：</p>
<blockquote><p>add_filter(&#8216;body_class&#8217;,'my_body_classes&#8217;);<br />
function my_body_classes($classes, $class) {<br />
// add &#8216;my-class&#8217; to the $classes array<br />
$classes[] = &#8216;my-class&#8217;;<br />
// return the $classes array<br />
return $classes;<br />
}<br />
?&gt;</p></blockquote>
<p>通过使用这个方法，我们允许在第一种方法中无法使用自己的条件以及其他很酷的事情。</p>
<h3><strong>延伸阅读</strong></h3>
<p>如果你想知道更多关于<strong>body_class()</strong>函数的信息，以下为一些我推荐的资源：</p>
<ul>
<li>Study the <a rel="external nofollow" href="http://xref.yoast.com/trunk/wp-includes/post-template.php.source.html#l360">source code</a> for the get_body_class() function.</li>
<li>Check out <a rel="external nofollow" href="http://op111.net/71">Demetris’s thoughts</a> on the new WordPress 2.8 features.</li>
<li>Browse the <a rel="external nofollow" href="http://codex.wordpress.org/Version_2.8">WordPress 2.8 Overview</a> at the Codex.</li>
<li>Take a look at the <a rel="external nofollow" href="http://core.trac.wordpress.org/ticket/7939">trac ticket</a> that got the ball rolling.</li>
<li>WPEngineer.com  <a rel="external nofollow" href="http://wpengineer.com/wordpress-28-body_class-automatic_feed_links/">a good summary</a> of the body_class() function.</li>
<li>PerishablePress has <a rel="external nofollow" href="http://perishablepress.com/press/2009/05/26/dynamic-body-class-id-php-wordpress/">some good stuff</a> on body_class() usage.</li>
</ul>
<h3  class="related_post_title">您可能还对以下内容感兴趣</h3><ul class="related_post"><li><a href="http://epile.org/blog/html/wordpress-theme-e-green.html" title="Wordpress新主题《新绿 E-Green》上线">Wordpress新主题《新绿 E-Green》上线</a></li><li><a href="http://epile.org/blog/html/wordpress-2-8-plugin-bug.html" title="Wordpress 2.8 冲突插件">Wordpress 2.8 冲突插件</a></li><li><a href="http://epile.org/blog/html/custom-taxonomies-in-wordpress-28.html" title="WordPress2.8自定义分类">WordPress2.8自定义分类</a></li><li><a href="http://epile.org/blog/html/wordpress-cms-plugins-pods.html" title="Wordpress CMS插件 Pods">Wordpress CMS插件 Pods</a></li><li><a href="http://epile.org/blog/html/5-useful-wordpress-functions.html" title="5个你不知道的Wordpress函数">5个你不知道的Wordpress函数</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://epile.org/blog/html/wordpress-2-8-and-the-body_class-function.html/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>5个你不知道的WordPress函数</title>
		<link>http://epile.org/blog/html/5-useful-wordpress-functions.html</link>
		<comments>http://epile.org/blog/html/5-useful-wordpress-functions.html#comments</comments>
		<pubDate>Thu, 04 Jun 2009 09:28:22 +0000</pubDate>
		<dc:creator>Epile</dc:creator>
				<category><![CDATA[网络技术]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://epile.cn/blog/?p=851</guid>
		<description><![CDATA[原文：5 Useful WordPress Functions You Didn’t Know Existed 翻译：Epile 首发于译言 在Wordpress的 source code 里有大量实用函数可供你在主题和插件中使用。但是，有很多人并不知道它的存在，可能因为 the Codex 极度不完善，许多人讨厌看源代码。幸运的是，阅读Wordpress源代码是我的爱好。 所以，我编制了一份我收藏的函数名单。有一些很简单，几乎每一个人都会实用；而另一些不太常用；但是这些都是非常实用的。 1. wp_mail() wp_mail()基本上是一个超级简单的函数，允许你通过一些简单的代码轻松地向任何人发送电子邮件。例如： &#60;?php $to = &#8216;user@example.com&#8217;; $subject = &#8216;Hello from my blog!&#8217;; $message = &#8216;Check it out &#8212; my blog is emailing you!&#8217; $mail = wp_mail($to, $subject, $message); if($mail) echo &#8216;Your message has been sent!&#8217;; else echo &#8216;There [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>原文：<a rel="external nofollow" href="http://www.nathanrice.net/blog/5-useful-wordpress-functions-you-didnt-know-existed/" target="_blank">5 Useful WordPress Functions You Didn’t Know Existed</a><br />
翻译：<a href="http://epile.org/blog/" target="_blank"><span style="color: #004d99;">Epile</span></a><br />
首发于译言</p></blockquote>
<p>在Wordpress的 <a href="http://phpxref.com/xref/wordpress/nav.html?index.html">source code</a> 里有大量实用函数可供你在主题和插件中使用。但是，有很多人并不知道它的存在，可能因为 <a href="http://codex.wordpress.org/">the Codex</a> 极度不完善，许多人讨厌看源代码。幸运的是，阅读Wordpress源代码是我的爱好。</p>
<p>所以，我编制了一份我收藏的函数名单。有一些很简单，几乎每一个人都会实用；而另一些不太常用；但是这些都是非常实用的。</p>
<p><span id="more-851"></span></p>
<h3>1. wp_mail()</h3>
<p><strong>wp_mail()</strong>基本上是一个超级简单的函数，允许你通过一些简单的代码轻松地向任何人发送电子邮件。例如：</p>
<blockquote><p>&lt;?php<br />
$to = &#8216;user@example.com&#8217;;<br />
$subject = &#8216;Hello from my blog!&#8217;;<br />
$message = &#8216;Check it out &#8212; my blog is emailing you!&#8217;</p>
<p>$mail = wp_mail($to, $subject, $message);</p>
<p>if($mail) echo &#8216;Your message has been sent!&#8217;;<br />
else echo &#8216;There was a problem sending your message. Please try again.&#8217;;<br />
?&gt;</p></blockquote>
<p>你可以指定第三和第四个参数，<strong>$headers</strong> 和 <strong>$attachments</strong>。这个函数能够完成任何你所能想到的繁重任务。</p>
<p>你可以查看函数参考<a rel="external nofollow" href="http://codex.wordpress.org/Function_Reference/wp_mail" target="_blank">via</a>，或者查看函数源代码<a rel="external nofollow" href="http://phpxref.com/xref/wordpress/wp-includes/pluggable.php.source.html#l222" target="_blank">via</a>（强烈建议）。</p>
<h3>2. wp_loginout()</h3>
<p>这个函数使我们能够在主题中显示“登录”链接，所以我们可以轻易的登录，而无须手动输入/wp-admin/ 或/wp-login.php 链接。但是，它不仅仅如此，如果我们已经登录，它将显示“注销”链接而不再是“登录”链接，而使我们无需访问控制台就能够登出账户。</p>
<p>这个函数对于主题作者非常有用，因为它为你建立了所有的逻辑。如果你仍然手动添加登录或注销，你只是在浪费时间。不要瞎忙，使用<strong>wp_loginout()</strong>。</p>
<p>你可以查看模板标签参考<a rel="external nofollow" href="http://codex.wordpress.org/Template_Tags/wp_loginout" target="_blank">via</a>，或者查看函数源代码<a rel="external nofollow" href="http://phpxref.com/xref/wordpress/wp-includes/general-template.php.source.html#l121" target="_blank">via</a>。</p>
<h3>3. clean_url()</h3>
<p>这个函数输入URL并测试它的结构是否正确。如果链接前面缺少http://它可以自动添加，转换符号为正确的HTML，和其他措施用来解决结构不良的网址。</p>
<p>有用的情况还有很多，一个我认为有用的是在主题或插件的设置页面，可以不必要求用户输入的链接必须包括http://。如果这个函数没有其他的作用，那对于我来说这一作用就是有用的。</p>
<p>你可以查看模板标签参考<a rel="external nofollow" href="http://codex.wordpress.org/Function_Reference/clean_url" target="_blank">via</a>，或者查看函数源代码<a rel="external nofollow" href="http://phpxref.com/xref/wordpress/wp-includes/general-template.php.source.html#l121" target="_blank">via</a>。</p>
<h3>4. wpautop()</h3>
<p>这个函数用来转换换行符字符串为&lt;br /&gt;标记，并把双换行符作为一个新的段落的开始，在前一段加入&lt;/p&gt;，并在新的段落加上&lt;p&gt;。它还负责关闭段落标签，所以格式都是正确的。</p>
<p>如果你曾经储存了字符串文字在数据库中，现在你需要在网站前端（页面）展示这些内容。但是你想知道如何把这些换行符输出为有效的Html，这个函数就实现这样的功能。事实上，这个函数在输出t<strong>he_content()</strong>时用来格式化帖子的。</p>
<p>你可以查看模板标签参考<a rel="external nofollow" href="http://codex.wordpress.org/Function_Reference/wpautop" target="_blank">via</a>，或者查看函数源代码<a rel="external nofollow" href="http://phpxref.com/xref/wordpress/wp-includes/formatting.php.source.html#l102" target="_blank">via</a>。</p>
<h3>5. wp_rss() / get_rss()</h3>
<p>这个函数可以从一个RSS Feed中抽取数据，通过你的处理，显示为链接列表。</p>
<p>我在很多个客户的网站上使用了这个函数，他们需要我在网站的上显示来源于其他网站的故事。所有你需要做的是提供一个RSS Feed地址，函数将帮你完成这些困难的工作。</p>
<p>前提条件是在你使用这些函数前必须包含这些PHP代码，它仅仅只是额外的一行代码：</p>
<blockquote><p>&lt;?php<br />
include_once(ABSPATH . WPINC . &#8216;/rss.php&#8217;); // &lt; &#8212; this is the include call<br />
wp_rss(&#8216;http://example.com/rss/feed/goes/here&#8217;, 5); // &lt;&#8211; this is the function<br />
?&gt;</p></blockquote>
<p>你可以查看模板标签参考<strong> wp_rss()</strong> <a rel="external nofollow" href="http://codex.wordpress.org/Function_Reference/wp_rss" target="_blank">via</a> 或<strong>get_rss()</strong> <a rel="external nofollow" href="http://codex.wordpress.org/Function_Reference/get_rss" target="_blank">via</a>，或者查看函数源代码<a rel="external nofollow" href="http://phpxref.com/xref/wordpress/wp-includes/rss.php.source.html#l875" target="_blank">via</a>。</p>
<h3  class="related_post_title">您可能还对以下内容感兴趣</h3><ul class="related_post"><li><a href="http://epile.org/blog/html/wordpress-theme-e-green.html" title="Wordpress新主题《新绿 E-Green》上线">Wordpress新主题《新绿 E-Green》上线</a></li><li><a href="http://epile.org/blog/html/wordpress-2-8-plugin-bug.html" title="Wordpress 2.8 冲突插件">Wordpress 2.8 冲突插件</a></li><li><a href="http://epile.org/blog/html/custom-taxonomies-in-wordpress-28.html" title="WordPress2.8自定义分类">WordPress2.8自定义分类</a></li><li><a href="http://epile.org/blog/html/wordpress-cms-plugins-pods.html" title="Wordpress CMS插件 Pods">Wordpress CMS插件 Pods</a></li><li><a href="http://epile.org/blog/html/wordpress-2-8-and-the-body_class-function.html" title="Wordpress2.8 body_class()函数">Wordpress2.8 body_class()函数</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://epile.org/blog/html/5-useful-wordpress-functions.html/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>如何在WordPress 2.8创建自己的Widget</title>
		<link>http://epile.org/blog/html/creating-widgets-in-wordpress-28.html</link>
		<comments>http://epile.org/blog/html/creating-widgets-in-wordpress-28.html#comments</comments>
		<pubDate>Mon, 01 Jun 2009 07:11:26 +0000</pubDate>
		<dc:creator>Epile</dc:creator>
				<category><![CDATA[网络技术]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://epile.cn/blog/?p=847</guid>
		<description><![CDATA[原文：The complete guide to creating widgets in WordPress 2.8 翻译：Epile 首发于译言 我在WordPress-o-Sphere网站上看到一些Wordpress2.8创建Widget指南，但是我并认为它们中任何一个真正涉及了实际应用。我想通过使用Wordpress2.8的Widget类来告诉你如何创建一个实际应用的Widget。 这个教程，我会从建立Widget、设置表单，显示在网站一步步来告诉你。结尾附有可供下载的实例。当然，你也通过把它应用到你的主题中去。如果你不想阅读教程，可以直接到教程结尾下载实例。 建立什么样的Widget实例？ 这个教程，我们将建立一个极其简单的实例，但是你会从中看到如何给予用户更多的Widget控制权的高级技术。 实例Widget将显示一个人的姓名和性别。控件将允许输入Widget标题（文本框）、用户名称（文本框），可以选择用户的性别（选择框）和是否允许公开显示性别信息（复选框）。 以下是Widget的外观： 我知道，这个优点简单，但你可以把这些工具应用到更复杂的Widget中。 在恰当的时候载入Widget 我门要做的第一件事情是必须在需要的时候载入Widget。Wordpress提供的widgets_init操作钩子（Action Hook）使我们能够做到这一点。操作钩子（Action Hook）在Wordpress默认Widget注册后被触发。 function Example_Widget() { /* Widget settings. */ $widget_ops = array( &#8216;classname&#8217; =&#62; &#8216;example&#8217;, &#8216;description&#8217; =&#62; &#8216;An example widget that displays a person&#8217;s name and sex.&#8217; ); /* Widget control settings. */ $control_ops = [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>原文：<a rel="external nofollow" href="http://justintadlock.com/archives/2009/05/26/the-complete-guide-to-creating-widgets-in-wordpress-28" target="_blank">The complete guide to creating widgets in WordPress 2.8</a><br />
翻译：<a href="http://epile.org/blog/" target="_blank"><span style="color: #004d99;">Epile</span></a><br />
首发于译言</p></blockquote>
<p>我在WordPress-o-Sphere网站上看到一些Wordpress2.8创建Widget指南，但是我并认为它们中任何一个真正涉及了实际应用。我想通过使用Wordpress2.8的Widget类来告诉你如何创建一个实际应用的Widget。</p>
<p>这个教程，我会从建立Widget、设置表单，显示在网站一步步来告诉你。结尾附有可供下载的实例。当然，你也通过把它应用到你的主题中去。如果你不想阅读教程，可以直接到教程结尾下载实例。</p>
<p><span id="more-847"></span></p>
<h3>建立什么样的Widget实例？</h3>
<p>这个教程，我们将建立一个极其简单的实例，但是你会从中看到如何给予用户更多的Widget控制权的高级技术。</p>
<p>实例Widget将显示一个人的姓名和性别。控件将允许输入Widget标题（文本框）、用户名称（文本框），可以选择用户的性别（选择框）和是否允许公开显示性别信息（复选框）。</p>
<p>以下是Widget的外观：</p>
<p><img class="aligncenter size-medium wp-image-849" title="example-widget" src="http://img.epile.org/e/2009/06/example-widget-580x145.png" alt="example-widget" width="580" height="145" /></p>
<p>我知道，这个优点简单，但你可以把这些工具应用到更复杂的Widget中。</p>
<h3>在恰当的时候载入Widget</h3>
<p>我门要做的第一件事情是必须在需要的时候载入Widget。Wordpress提供的<strong>widgets_init</strong>操作钩子（Action Hook）使我们能够做到这一点。操作钩子（Action Hook）在Wordpress默认Widget注册后被触发。</p>
<blockquote><p>function Example_Widget() {<br />
/* Widget settings. */<br />
$widget_ops = array( &#8216;classname&#8217; =&gt; &#8216;example&#8217;, &#8216;description&#8217; =&gt; &#8216;An example widget that displays a person&#8217;s name and sex.&#8217; );<br />
/* Widget control settings. */<br />
$control_ops = array( &#8216;width&#8217; =&gt; 300, &#8216;height&#8217; =&gt; 350, &#8216;id_base&#8217; =&gt; &#8216;example-widget&#8217; );</p>
<p>/* Create the widget. */<br />
$this-&gt;WP_Widget( &#8216;example-widget&#8217;, &#8216;Example Widget&#8217;, $widget_ops, $control_ops );<br />
}</p></blockquote>
<p>如果你要创建一个以上的Widget，请在<strong>example_load_widgets()</strong>函数内为每个Widget使用<strong>register_widget()</strong>函数。</p>
<h3>建立我们的Widget</h3>
<p>过去，我们建立Widget是一件很费解的事情。在2.8里，我们只要扩展原有的<strong>WP_Widget</strong>类。因此，第一步是建立一个新的类（Class）。</p>
<blockquote><p>class Example_Widget extends WP_Widget {</p></blockquote>
<p>然后，我门将要添加第一个函数。这个函数将使我们的Widget不同于默认的，且允许我们设置它。</p>
<p>请注意，类名称和函数名称是相同的。例子中均为 <strong>Example_Widget</strong>。</p>
<blockquote><p>function Example_Widget() {</p>
<p>/* Widget settings. */</p>
<p>$widget_ops = array( &#8216;classname&#8217; =&gt; &#8216;example&#8217;, &#8216;description&#8217; =&gt; &#8216;An example widget that displays a person&#8217;s name and sex.&#8217; );</p>
<p>/* Widget control settings. */</p>
<p>$control_ops = array( &#8216;width&#8217; =&gt; 300, &#8216;height&#8217; =&gt; 350, &#8216;id_base&#8217; =&gt; &#8216;example-widget&#8217; );</p>
<p>/* Create the widget. */</p>
<p>$this-&gt;WP_Widget( &#8216;example-widget&#8217;, &#8216;Example Widget&#8217;, $widget_ops, $control_ops );</p>
<p>}</p></blockquote>
<h3>显示Widget</h3>
<p><strong>Example_Widget</strong>类的下一个函数负责显示Widget。此代码可能使你优点困惑，因为我们并不知道发生了什么（我们还没有添加控制功能）。这这里我们将取得用户设置并根据设置显示。</p>
<p>还有一点也很重要，确保<strong>$before_widget</strong>，<strong>$after_widget</strong>，<strong>$before_title</strong>，<strong>$after_title</strong>可以用。这些是由主题实现的，我们不应该硬编码。Widget如何显示是由主题负责的。</p>
<blockquote><p>function widget( $args, $instance ) {<br />
extract( $args );</p>
<p>/* User-selected settings. */<br />
$title = apply_filters(&#8216;widget_title&#8217;, $instance['title'] );<br />
$name = $instance['name'];<br />
$sex = $instance['sex'];<br />
$show_sex = isset( $instance['show_sex'] ) ? $instance['show_sex'] : false;</p>
<p>/* Before widget (defined by themes). */<br />
echo $before_widget;</p>
<p>/* Title of widget (before and after defined by themes). */<br />
if ( $title )<br />
echo $before_title . $title . $after_title;</p>
<p>/* Display name from widget settings. */<br />
if ( $name )<br />
echo &#8216;&lt;p&gt;Hello.  My name is&#8217; . $name . &#8216;.&lt;/p&gt;&#8217;;</p>
<p>/* Show sex. */<br />
if ( $show_sex )<br />
echo &#8216;&lt;p&gt;I am a &#8216; . $sex . &#8216;.&lt;/p&gt;&#8217;;</p>
<p>/* After widget (defined by themes). */<br />
echo $after_widget;<br />
}</p></blockquote>
<h3>确保Widget更新并保存</h3>
<p>这一步，我们将设置每个Widget并保存。这是一个简单的程序，我们只是更新用户的设置。</p>
<p>如果你在表格中使用的是一个像文本输入的功能，而不让用户使用XHTML，那么你应该使用下面的<strong>strip_tags()</strong>函数。</p>
<blockquote><p>function update( $new_instance, $old_instance ) {<br />
$instance = $old_instance;</p>
<p>/* Strip tags (if needed) and update the widget settings. */<br />
$instance['title'] = strip_tags( $new_instance['title'] );<br />
$instance['name'] = strip_tags( $new_instance['name'] );<br />
$instance['sex'] = $new_instance['sex'];<br />
$instance['show_sex'] = $new_instance['show_sex'];</p>
<p>return $instance;<br />
}</p></blockquote>
<h3>创建Widget设置面版</h3>
<p>WordPress2.8新的Widget类能够轻易创建Widget控制面版。<strong>get_field_id()</strong>和<strong>get_field_name()</strong>函数负责大部分肮脏的工作，使我们更专注于像建立Widget这样更重要的事情。请特别注意这个函数的使用，因为它能使得你的更简单地开发。</p>
<p>首先，我们可能想要设置一些默认值。通过建立默认值，我们可以控制在用户没有设置时该显示什么。</p>
<blockquote><p>function form( $instance ) {</p>
<p>/* Set up some default widget settings. */<br />
$defaults = array( &#8216;title&#8217; =&gt; &#8216;Example&#8217;, &#8216;name&#8217; =&gt; &#8216;John Doe&#8217;, &#8216;sex&#8217; =&gt; &#8216;male&#8217;, &#8216;show_sex&#8217; =&gt; true );<br />
$instance = wp_parse_args( (array) $instance, $defaults ); ?&gt;</p></blockquote>
<p>表格的前两部分是文本输入框，Widget标题和用户性别。</p>
<blockquote><p>&lt;p&gt;<br />
&lt;label for=”&lt;?php echo $this-&gt;get_field_id( &#8216;title&#8217; ); ?&gt;”&gt;Title:&lt;/label&gt;<br />
&lt;input id=”&lt;?php echo $this-&gt;get_field_id( &#8216;title&#8217; ); ?&gt;” name=”&lt;?php echo $this-&gt;get_field_name( &#8216;title&#8217; ); ?&gt;” value=”&lt;?php echo $instance['title']; ?&gt;” style=”width:100%;” /&gt;<br />
&lt;/p&gt;</p>
<p>&lt;p&gt;<br />
&lt;label for=”&lt;?php echo $this-&gt;get_field_id( &#8216;name&#8217; ); ?&gt;”&gt;Your Name:&lt;/label&gt;<br />
&lt;input id=”&lt;?php echo $this-&gt;get_field_id( &#8216;name&#8217; ); ?&gt;” name=”&lt;?php echo $this-&gt;get_field_name( &#8216;name&#8217; ); ?&gt;” value=”&lt;?php echo $instance['name']; ?&gt;” style=”width:100%;” /&gt;<br />
&lt;/p&gt;</p></blockquote>
<p>表单第二步是这一单选框，允许用户选择性别。</p>
<blockquote><p>&lt;p&gt;<br />
&lt;label for=”&lt;?php echo $this-&gt;get_field_id( &#8216;sex&#8217; ); ?&gt;”&gt;Sex:&lt;/label&gt;<br />
&lt;select id=”&lt;?php echo $this-&gt;get_field_id( &#8216;sex&#8217; ); ?&gt;” name=”&lt;?php echo $this-&gt;get_field_name( &#8216;sex&#8217; ); ?&gt;” class=”widefat” style=”width:100%;”&gt;<br />
&lt;option &lt;?php if ( &#8216;male&#8217; == $instance['format'] ) echo &#8216;selected=”selected”&#8216;; ?&gt;&gt;male&lt;/option&gt;<br />
&lt;option &lt;?php if ( &#8216;female&#8217; == $instance['format'] ) echo &#8216;selected=”selected”&#8216;; ?&gt;&gt;female&lt;/option&gt;<br />
&lt;/select&gt;<br />
&lt;/p&gt;</p></blockquote>
<p>表单的最后一项是一个可供用户选择是否显示性别信息的复选框。</p>
<blockquote><p>&lt;p&gt;<br />
&lt;input class=”checkbox” type=”checkbox” &lt;?php checked( $instance['show_sex'], true ); ?&gt; id=”&lt;?php echo $this-&gt;get_field_id( &#8216;show_sex&#8217; ); ?&gt;” name=”&lt;?php echo $this-&gt;get_field_name( &#8216;show_sex&#8217; ); ?&gt;” /&gt;<br />
&lt;label for=”&lt;?php echo $this-&gt;get_field_id( &#8216;show_sex&#8217; ); ?&gt;”&gt;Display sex publicly?&lt;/label&gt;<br />
&lt;/p&gt;</p></blockquote>
<p>唯一还没有完成的是关闭表单函数并完成剩下的Widget代码。</p>
<blockquote><p>&lt;?php<br />
}<br />
}<br />
?&gt;</p></blockquote>
<h3>创建属于你自己的Widget</h3>
<p>如果你在Wordpress2.8以前曾经和企图创建一个Widget，那么你可以看看现在是多么的简单。为了帮助人们学习新的系统，我已经把这一教程的代码放到一起，并在里面详细注释了代码的功能。</p>
<p><a rel="external nofollow" href="http://justintadlock.com/downloads/example-widget.zip"><span style="color: #2e6ab1;">下载Widget实例代码</span></a></p>
<p>我喜欢使用新的Widget类，在不久的将来我可能会发布一些Widget。但是，我很想看看你的Widget。</p>
<p><span style="font-family: mceinline;">Update：发现同类文章一篇</span> <a rel="external nofollow" href="http://www.wordpress.la/build-widget-with-new-api.html" target="_blank">如何在WordPress 2.8中用新Widget API创建Widget</a></p>
<h3  class="related_post_title">您可能还对以下内容感兴趣</h3><ul class="related_post"><li><a href="http://epile.org/blog/html/wordpress-theme-e-green.html" title="Wordpress新主题《新绿 E-Green》上线">Wordpress新主题《新绿 E-Green》上线</a></li><li><a href="http://epile.org/blog/html/wordpress-2-8-plugin-bug.html" title="Wordpress 2.8 冲突插件">Wordpress 2.8 冲突插件</a></li><li><a href="http://epile.org/blog/html/custom-taxonomies-in-wordpress-28.html" title="WordPress2.8自定义分类">WordPress2.8自定义分类</a></li><li><a href="http://epile.org/blog/html/wordpress-cms-plugins-pods.html" title="Wordpress CMS插件 Pods">Wordpress CMS插件 Pods</a></li><li><a href="http://epile.org/blog/html/wordpress-2-8-and-the-body_class-function.html" title="Wordpress2.8 body_class()函数">Wordpress2.8 body_class()函数</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://epile.org/blog/html/creating-widgets-in-wordpress-28.html/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>WordPress主题开发检查清单</title>
		<link>http://epile.org/blog/html/theme-development-checklist.html</link>
		<comments>http://epile.org/blog/html/theme-development-checklist.html#comments</comments>
		<pubDate>Thu, 28 May 2009 15:49:26 +0000</pubDate>
		<dc:creator>Epile</dc:creator>
				<category><![CDATA[网络技术]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://epile.cn/blog/?p=834</guid>
		<description><![CDATA[Stefan Vervoort发布了PDF版本的WordPress主题开发检查清单。 这份清单包含了许多小窍门，容易被遗忘的代码段和检查点。 概况： 概述（General ） 样式（Stylesheets ） 浏览器兼容（Browser Compatibility ） 页面（Pages ） 全局CSS定义（Styled Everything?） 标准的CSS类（Standard CSS Classes ） 代码验证（Validate ） WordPress代码（WordPress Code ） 博客元素（Blog Elements ） 下载地址：http://wptoy.com/download/1 您可能还对以下内容感兴趣Wordpress新主题《新绿 E-Green》上线Wordpress 2.8 冲突插件WordPress2.8自定义分类Wordpress CMS插件 PodsWordpress2.8 body_class()函数]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-835" title="themedevchecklist" src="http://img.epile.org/e/2009/05/themedevchecklist.png" alt="themedevchecklist" width="539" height="359" /></p>
<p>Stefan Vervoort发布了PDF版本的<a rel="external nofollow" href="http://wptoy.com/resources/wordpress-theme-development-check-list-pdf-version/" target="_blank">WordPress主题开发检查清单</a>。 这份清单包含了许多小窍门，容易被遗忘的代码段和检查点。</p>
<p>概况：</p>
<ul>
<li>概述（General ）</li>
<li>样式（Stylesheets ）</li>
<li>浏览器兼容（Browser Compatibility ）</li>
<li>页面（Pages ）</li>
<li>全局CSS定义（Styled Everything?）</li>
<li>
<div id="result_box" style="TEXT-ALIGN: left" dir="ltr">标准的CSS类（Standard CSS Classes ）</div>
</li>
<li>代码验证（Validate ）</li>
<li>
<div id="result_box" style="TEXT-ALIGN: left" dir="ltr">
<div id="result_box" style="TEXT-ALIGN: left" dir="ltr">WordPress代码（WordPress Code ）</div>
</div>
</li>
<li>博客元素（Blog Elements ）</li>
</ul>
<p>下载地址：<a rel="external nofollow" href="http://wptoy.com/download/1">http://wptoy.com/download/1</a></p>
<h3  class="related_post_title">您可能还对以下内容感兴趣</h3><ul class="related_post"><li><a href="http://epile.org/blog/html/wordpress-theme-e-green.html" title="Wordpress新主题《新绿 E-Green》上线">Wordpress新主题《新绿 E-Green》上线</a></li><li><a href="http://epile.org/blog/html/wordpress-2-8-plugin-bug.html" title="Wordpress 2.8 冲突插件">Wordpress 2.8 冲突插件</a></li><li><a href="http://epile.org/blog/html/custom-taxonomies-in-wordpress-28.html" title="WordPress2.8自定义分类">WordPress2.8自定义分类</a></li><li><a href="http://epile.org/blog/html/wordpress-cms-plugins-pods.html" title="Wordpress CMS插件 Pods">Wordpress CMS插件 Pods</a></li><li><a href="http://epile.org/blog/html/wordpress-2-8-and-the-body_class-function.html" title="Wordpress2.8 body_class()函数">Wordpress2.8 body_class()函数</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://epile.org/blog/html/theme-development-checklist.html/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>掌握WordPress的子主题</title>
		<link>http://epile.org/blog/html/harness-the-power-of-wordpress-child-themes.html</link>
		<comments>http://epile.org/blog/html/harness-the-power-of-wordpress-child-themes.html#comments</comments>
		<pubDate>Thu, 28 May 2009 14:14:39 +0000</pubDate>
		<dc:creator>Epile</dc:creator>
				<category><![CDATA[网络技术]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://epile.cn/blog/?p=828</guid>
		<description><![CDATA[原文：Harness The Power of WordPress Child Themes 翻译：Epile 首发于译言 你制作或修改一个Wordpress主题需要耗费多少时间？即使你已经写过少量的主题，有时候你仍然对完成一个主题所耗费的时间而感到沮丧？你是否曾经希望能有一个更简单的方法？实际上，所有问题的答案就是使用Wordpess的子主题（Child Theme）。 设想自己能够在几分钟内修改一个主题，或在几个小时或以内建立一个功能齐全的Wordpress主题。 在这篇文章，我们将学会如何通过子主题帮忙我们敏捷开发Wordpress主题。 WordPress 子主题 一个Wordpress的子主题就像任何其他Wordpress主题一样，你可以把它们放在你的博客的主题目录（/wp-content/themes）下，然后在主题控制面板激活它们。它们同样拥有存在图片、脚本、截图（screenshot）、CSS的文件夹。 唯一不同的地方是子主题基本上不需要任何主题文件（header.php, index.php, footer.php, single.php等）。这是我们为什么不需要使用PHP的另一个原因。 现在，就让我们开始创建自己的子主题。 选择你的父主题 在我们建立我们的子主题之前，我们必须先建立我们的父主题（Parent Theme）。为此，我们选择了Kubrick作为我们的父主题。你并不需要下载它因为它已经是Wordpress安装时自带的默认主题，位置在/wp-content/themes/default/。 建立你的子主题 就像我所说的，一个子主题，就像是任何其它Wordpress主题一样，所以我们必须为它在主题目录中创建一个新文件夹，并把它命名为“koobreek”。在此之后，koobreek文件夹里新建一个style.css的空白文件。 子主题样式 这是子主题神奇所在的地方。打开koobreek主题目录下的style.css，并粘贴下面的内容。请特别注意行8的内容。 /*   Theme Name: Koobreek   Theme URI: http://wordpress.org/   Description: This is a child theme of Kubrick   Version: 1   Author: Raymond Selda   Author URI: http://www.raymondselda.com/   Template: default   */ 现在你已经以Kubrick为父主题创建你的子主题。之所以让你注意行8，是因为它是父主题文件夹的名称。现在请在主题控制面板激活你的子主题。如果一切正常，你看到的界面应该是不包含设计，单纯的XHTML。 从父主题导入样式 现在，除非今天是CSS裸体日，你可能想要用CSS样式装饰你的主题。我想尽可能基础和简单，因此本教程将通过加入一行代码导入父主题CSS样式。 /*   Theme Name: Koobreek   Theme URI: http://wordpress.org/   Description: This is a child theme of Kubrick   [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>原文：<a rel="external nofollow" href="http://www.raymondselda.com/harness-the-power-of-wordpress-child-themes/" target="_blank">Harness The Power of WordPress Child Themes</a><br />
翻译：<a rel="external nofollow" href="http://epile.org/blog/" target="_blank">Epile</a><br />
首发于译言</p></blockquote>
<p>你制作或修改一个Wordpress主题需要耗费多少时间？即使你已经写过少量的主题，有时候你仍然对完成一个主题所耗费的时间而感到沮丧？你是否曾经希望能有一个更简单的方法？实际上，所有问题的答案就是使用Wordpess的子主题（Child Theme）。</p>
<p>设想自己能够在几分钟内修改一个主题，或在几个小时或以内建立一个功能齐全的Wordpress主题。</p>
<p>在这篇文章，我们将学会如何通过子主题帮忙我们敏捷开发Wordpress主题。<br />
<span id="more-828"></span></p>
<h3><span style="FONT-SIZE: medium">WordPress 子主题</span></h3>
<p>一个Wordpress的子主题就像任何其他Wordpress主题一样，你可以把它们放在你的博客的主题目录（/wp-content/themes）下，然后在主题控制面板激活它们。它们同样拥有存在图片、脚本、截图（screenshot）、CSS的文件夹。</p>
<p>唯一不同的地方是子主题基本上不需要任何主题文件（header.php, index.php, footer.php, single.php等）。这是我们为什么不需要使用PHP的另一个原因。</p>
<p>现在，就让我们开始创建自己的子主题。</p>
<h3><span style="FONT-SIZE: medium">选择你的父主题</span></h3>
<p>在我们建立我们的子主题之前，我们必须先建立我们的父主题（Parent Theme）。为此，我们选择了Kubrick作为我们的父主题。你并不需要下载它因为它已经是Wordpress安装时自带的默认主题，位置在/wp-content/themes/default/。</p>
<h3><span style="FONT-SIZE: medium">建立你的子主题</span></h3>
<p>就像我所说的，一个子主题，就像是任何其它Wordpress主题一样，所以我们必须为它在主题目录中创建一个新文件夹，并把它命名为“koobreek”。在此之后，koobreek文件夹里新建一个style.css的空白文件。</p>
<h3><span style="FONT-SIZE: medium">子主题样式</span></h3>
<p>这是子主题神奇所在的地方。打开koobreek主题目录下的style.css，并粘贴下面的内容。请特别注意行8的内容。</p>
<blockquote>
<ol>
<li class="alt"><span><span class="comment">/* </span> </span></li>
<li><span><span class="comment">Theme Name: Koobreek </span> </span></li>
<li class="alt"><span><span class="comment">Theme URI: http://<a class="bodytag" href="http://epile.org/articles/tag/wordpress" target="_blank"><span style="color: #335533;">wordpress</span></a>.org/ </span> </span></li>
<li><span><span class="comment">Description: This is a child theme of Kubrick </span> </span></li>
<li class="alt"><span><span class="comment">Version: 1 </span> </span></li>
<li><span><span class="comment">Author: Raymond Selda </span> </span></li>
<li class="alt"><span><span class="comment">Author URI: <span style="color: #2e6ab1;">http://www.raymondselda.com/</span> </span> </span></li>
<li><span><span class="comment">Template: default </span> </span></li>
<li class="alt"><span><span class="comment">*/</span></span></li>
</ol>
</blockquote>
<p class="alt"><span><span class="comment">现在你已经以Kubrick为父主题创建你的子主题。之所以让你注意行8，是因为它是父主题文件夹的名称。现在请在主题控制面板激活你的子主题。如果一切正常，你看到的界面应该是不包含设计，单纯的XHTML。</span></span></p>
<p class="alt"><span><span class="comment"><a href="http://www.raymondselda.com/wp-content/uploads/2009/05/markup.gif"></a></span></span></p>
<p><span style="FONT-SIZE: medium"><img class="aligncenter size-medium wp-image-829" title="markup-600x465" src="http://img.epile.org/e/2009/05/markup-600x465-561x435.gif" alt="markup-600x465" width="561" height="435" /></span></p>
<h3 class="alt"><span style="FONT-SIZE: medium">从父主题导入样式</span></h3>
<p class="alt">现在，除非今天是<span style="color: #2e6ab1;">CSS裸体日</span>，你可能想要用CSS样式装饰你的主题。我想尽可能基础和简单，因此本教程将通过加入一行代码导入父主题CSS样式。</p>
<blockquote>
<ol>
<li class="alt"><span><span class="comment">/* </span> </span></li>
<li class="alt"><span><span class="comment">Theme Name: Koobreek </span> </span></li>
<li class="alt"><span><span class="comment">Theme URI: http://<span style="color: #335533;">wordpress</span>.org/ </span> </span></li>
<li><span><span class="comment">Description: This is a child theme of Kubrick </span> </span></li>
<li class="alt"><span><span class="comment">Version: 1 </span> </span></li>
<li><span><span class="comment">Author: Raymond Selda </span> </span></li>
<li class="alt"><span><span class="comment">Author URI: http://www.raymondselda.com/ </span> </span></li>
<li><span><span class="comment">Template: default </span> </span></li>
<li class="alt"><span><span class="comment">*/</span><span>  </span></span></li>
<li><span>  </span></li>
<li class="alt"><span class="comment">/* Import Parent Theme Style */</span><span>  </span></li>
<li><span>@import </span><span class="string">url</span><span>(../</span><span class="string">default</span><span>/style.css);  </span></li>
</ol>
</blockquote>
<p><span>子主题看起来应该跟父主题完全一致，但在子主题的背景图片消失了。</span></p>
<p> </p>
<p><span><img class="aligncenter size-medium wp-image-830" title="graphic-missing-600x450" src="http://img.epile.org/e/2009/05/graphic-missing-600x450-580x435.gif" alt="graphic-missing-600x450" width="580" height="435" /></span></p>
<p><span>如果你在<span style="color: #2e6ab1;">Firebug</span>中查看你会发现丢失的背景图片位于子主题的image文件夹下，它本应存在于父主题的images文件夹下。</span></p>
<p><span>有一些方法或更多的途径来弥补这一问题，而最简单得要数直接复制父主题images文件夹到子主题目录下。刷新浏览器，现在子主题看起来与父主题完全一样了。</span></p>
<p> <br />
<span style="FONT-SIZE: medium"><span><img class="aligncenter size-medium wp-image-831" title="koobreek1-600x465" src="http://img.epile.org/e/2009/05/koobreek1-600x465-561x435.gif" alt="koobreek1-600x465" width="561" height="435" /></span></span></p>
<h3><span style="FONT-SIZE: medium">取代父主题样式</span></h3>
<p>现在让我们对子主题的样式做一些修改，将这些代码复制到子主题的style.css文件里。</p>
<p><strong>修改字体为Arial</strong></p>
<blockquote>
<ol class="dp-css">
<li class="alt"><span><span>body {   </span></span></li>
<li><span>    </span><span class="keyword">font-family</span><span>:</span><span class="string">Arial</span><span>, </span><span class="string">sans-serif</span><span>;   </span></li>
<li class="alt"><span>}  </span></li>
</ol>
</blockquote>
<p class="alt"><span><strong>修改标题字体为Arial，font-weight属性为normal</strong></span><strong>修改文章标题</strong></p>
<blockquote>
<ol>
<li>h1, h2, h3 {   font-family:Arial, sans-serif;  font-weight:normal;  }  </li>
</ol>
</blockquote>
<p><span><strong>修改头部背景</strong></span></p>
<p><span>我把蓝色的头部背景换成了黑色，并保存在子主题的images文件夹，并用以下的代码覆盖父主题的样式。</span></p>
<blockquote>
<ol>
<li class="alt"><span><span>.post h2 {   </span></span></li>
<li><span>    </span><span class="keyword">letter-spacing</span><span>:-</span><span class="string">1px</span><span>;   </span></li>
<li class="alt"><span>}   </span></li>
<li><span>  </span></li>
<li class="alt"><span>.post h3 {   </span></li>
<li><span>    </span><span class="keyword">font-weight</span><span>:</span><span class="string">bold</span><span>;   </span></li>
<li class="alt"><span>}  </span></li>
</ol>
</blockquote>
<p class="alt"><span><strong>修改侧边栏样式以及标题</strong></span></p>
<blockquote>
<ol>
<li>#sidebar h2 {  </li>
<li><span>    </span> font-family:Arial, sans-serif;  </li>
<li>     text-transform:uppercase;</li>
<li>     font-weight:bold;  </li>
<li>     color:#333;</li>
<li>     border-top:1px solid #333;</li>
<li>     padding-top:3px;  </li>
<li>     font-size:12px;   </li>
<li>  }      </li>
<li>#sidebar ul {</li>
<li>     font-family:Arial, sans-serif;</li>
<li>     font-size:11px;   </li>
<li>  }  </li>
</ol>
</blockquote>
<p><span>经过对子主题样式的一些更改，最后我们的主题是这样的：</span></p>
<p> <br />
<span style="FONT-SIZE: medium"><img class="aligncenter size-medium wp-image-833" title="koobreek2-600x465" src="http://img.epile.org/e/2009/05/koobreek2-600x465-561x435.gif" alt="koobreek2-600x465" width="561" height="435" /></span></p>
<h3><span><span style="FONT-SIZE: medium">取代父主题模板</span></span></h3>
<p><span>如果你需要对模板的结构做一定的修改？</span></p>
<p><span>答案是很容易。你只需要把你需要修改的模板文件从父主题文件夹复制到子主题文件夹。在Wordpress2.7以后，这样就会覆盖父主题的模板。</span></p>
<p><span>我不喜欢文章中metadate元数据的位置，我希望它在文章标题之下，日期之后。</span></p>
<p><span>为了做到这一点，我们从父主题文件夹复制index.php文件到子主题文件夹中。打开复制过来的index.php文件，替换17行的代码。</span></p>
<blockquote>
<ol>
<li class="alt"><span><span>&lt;small&gt;&lt;?php the_time(</span><span class="string">&#8216;F jS, Y&#8217;</span><span>) ?&gt; by &lt;?php the_author() ?&gt; Posted in &lt;?php the_category(</span><span class="string">&#8216;, &#8217;</span><span>) ?&gt; | &lt;?php edit_post_link(</span><span class="string">&#8216;Edit&#8217;</span><span>, </span><span class="string">”</span><span>, </span><span class="string">&#8216; | &#8217;</span><span>); ?&gt;  &lt;?php comments_popup_link(</span><span class="string">&#8216;No Comments &amp;#187;&#8217;</span><span>, </span><span class="string">&#8217;1 Comment &amp;#187;&#8217;</span><span>, </span><span class="string">&#8216;% Comments &amp;#187;&#8217;</span><span>); ?&gt;&lt;/small&gt;  </span></span></li>
</ol>
</blockquote>
<p class="alt"><span><span>然后删除23行的代码，因为它已经显示在17行了。刷新页面，你将看到文章的元数据和日期在标题下面。</span></span></p>
<p class="alt"><span><span><img class="aligncenter size-medium wp-image-832" title="koobreek3-600x465" src="http://img.epile.org/e/2009/05/koobreek3-600x465-561x435.gif" alt="koobreek3-600x465" width="561" height="435" /></span></span></p>
<p class="alt"> </p>
<h3 class="alt"><span><span><span style="FONT-SIZE: medium">总结</span></span></span></h3>
<p class="alt"><span><span>我们已经创建和修改一个新的主题，而不必修改父主题的文件，所做的修改只在子主题的文件夹里。欢迎随意下载<a rel="external nofollow" href="http://www.raymondselda.com/downloads/koobreek.zip"><span style="color: #2e6ab1;">koobreek.zip</span></a>。</span></span></p>
<p class="alt"><span><span>大量关于子主题的信息可以在<a rel="external nofollow" href="http://themeshaper.com/"><span style="color: #2e6ab1;">ThemeShaper</span></a>和<a rel="external nofollow" href="http://themehybrid.com/"><span style="color: #2e6ab1;">ThemeHybrid</span></a>获得。我希望子主题能帮助你加快你的工作流程，使主题开发更愉快。</span></span></p>
<h3  class="related_post_title">您可能还对以下内容感兴趣</h3><ul class="related_post"><li><a href="http://epile.org/blog/html/wordpress-theme-e-green.html" title="Wordpress新主题《新绿 E-Green》上线">Wordpress新主题《新绿 E-Green》上线</a></li><li><a href="http://epile.org/blog/html/wordpress-2-8-plugin-bug.html" title="Wordpress 2.8 冲突插件">Wordpress 2.8 冲突插件</a></li><li><a href="http://epile.org/blog/html/custom-taxonomies-in-wordpress-28.html" title="WordPress2.8自定义分类">WordPress2.8自定义分类</a></li><li><a href="http://epile.org/blog/html/wordpress-cms-plugins-pods.html" title="Wordpress CMS插件 Pods">Wordpress CMS插件 Pods</a></li><li><a href="http://epile.org/blog/html/wordpress-2-8-and-the-body_class-function.html" title="Wordpress2.8 body_class()函数">Wordpress2.8 body_class()函数</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://epile.org/blog/html/harness-the-power-of-wordpress-child-themes.html/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>如何更好的利用网络：信息获取、归档与输出</title>
		<link>http://epile.org/blog/html/how-to-better-use-network.html</link>
		<comments>http://epile.org/blog/html/how-to-better-use-network.html#comments</comments>
		<pubDate>Sat, 16 May 2009 03:50:40 +0000</pubDate>
		<dc:creator>Epile</dc:creator>
				<category><![CDATA[奇雅出品]]></category>
		<category><![CDATA[网络技术]]></category>
		<category><![CDATA[网络编辑系列课程]]></category>

		<guid isPermaLink="false">http://epile.cn/blog/?p=803</guid>
		<description><![CDATA[周四的时候给网络编辑组的同学做了一次Presentation，关于网络的信息获取、归档和输出。 大概是从上周末开始准备的，讲的时候有点紧张，内容也不是很熟练，有时候一句话讲到一半后居然接不下去了，效果不好，跟预想的差距很大。还是要谢谢赵老师给的机会以及同学们60分钟的耐心。 在线预览：如何更好的利用网络 简报下载：how to better use network 以下为大纲：  如果更好的利用网络？ ——信息获取、归档与输出   一、信息获取 1、检索：搜索引擎的使用 2、信息源： SNS：分享、活动（豆瓣：城市文化生活） Blog：意见领袖的博客、群博（My1510）、翻译博客：译言 BBS：繁杂需要时间去筛选 门户：新闻 3、关键词订阅（百度、Google、Cnki） 3、RSS以及阅读器的使用（豆瓣9点，FeedDemon）   二、信息归档 玛格南的照片管理系统 标签管理 如何做笔记？笔记程序的使用：以OneNote为例（整理论文资料、时间管理）   三、信息输出 写博客 自由演讲：Punch Party/Ted   您可能还对以下内容感兴趣无相关文章]]></description>
			<content:encoded><![CDATA[<p>周四的时候给网络编辑组的同学做了一次Presentation，关于网络的信息获取、归档和输出。</p>
<p>大概是从上周末开始准备的，讲的时候有点紧张，内容也不是很熟练，有时候一句话讲到一半后居然接不下去了，效果不好，跟预想的差距很大。还是要谢谢赵老师给的机会以及同学们60分钟的耐心。</p>
<ul>
<li>在线预览：<a href="http://www.slideshare.net/epile/ss-1443192?type=powerpoint" target="_blank" rel="external nofollow">如何更好的利用网络</a></li>
<li>简报下载：<a href="http://img.epile.org/e/2009/05/how-to-better-use-network.pdf">how to better use network</a></li>
</ul>
<p>以下为大纲：</p>
<blockquote><p> 如果更好的利用网络？</p>
<p>——信息获取、归档与输出</p>
<p style="font-size: 10pt; margin: 0in; font-family: SimSun;"> </p>
<p style="font-size: 10pt; margin: 0in; font-family: SimSun;">一、信息获取</p>
<p style="font-size: 10pt; margin: 0in;"><span style="font-family: Calibri;" lang="en-US">1</span><span style="font-family: SimSun;" lang="zh-CN">、检索：搜索引擎的使用</span></p>
<p style="font-size: 10pt; margin: 0in;"><span style="font-family: Calibri;" lang="en-US">2</span><span style="font-family: SimSun;" lang="zh-CN">、信息源：</span></p>
<p style="font-size: 10pt; margin: 0in 0in 0in 0.375in;"><span style="font-family: Calibri;" lang="en-US">SNS</span><span style="font-family: SimSun;" lang="zh-CN">：分享、活动（豆瓣：城市文化生活）</span></p>
<p style="font-size: 10pt; margin: 0in 0in 0in 0.375in;"><span style="font-family: Calibri;" lang="en-US">Blog</span><span style="font-family: SimSun;" lang="zh-CN">：意见领袖的博客、群博（</span><span style="font-family: Calibri;" lang="en-US">My1510</span><span style="font-family: SimSun;" lang="zh-CN">）、翻译博客：译言</span></p>
<p style="font-size: 10pt; margin: 0in 0in 0in 0.375in;"><span style="font-family: Calibri;" lang="en-US">BBS</span><span style="font-family: SimSun;" lang="zh-CN">：繁杂需要时间去筛选</span></p>
<p style="font-size: 10pt; margin: 0in 0in 0in 0.375in; font-family: SimSun;">门户：新闻</p>
<p style="font-size: 10pt; margin: 0in;"><span style="font-family: Calibri;" lang="en-US">3</span><span style="font-family: SimSun;" lang="zh-CN">、关键词订阅（百度、</span><span style="font-family: Calibri;" lang="en-US">Google</span><span style="font-family: SimSun;" lang="zh-CN">、</span><span style="font-family: Calibri;" lang="en-US">Cnki</span><span style="font-family: SimSun;" lang="zh-CN">）</span></p>
<p style="font-size: 10pt; margin: 0in;"><span style="font-family: Calibri;" lang="en-US">3</span><span style="font-family: SimSun;" lang="zh-CN">、</span><span style="font-family: Calibri;" lang="en-US">RSS</span><span style="font-family: SimSun;" lang="zh-CN">以及阅读器的使用（豆瓣</span><span style="font-family: Calibri;" lang="en-US">9</span><span style="font-family: SimSun;" lang="zh-CN">点，FeedDemon）</span></p>
<p style="font-size: 10pt; margin: 0in; font-family: SimSun;"> </p>
<p style="font-size: 10pt; margin: 0in; font-family: SimSun;">二、信息归档</p>
<p style="font-size: 10pt; margin: 0in; font-family: SimSun;">玛格南的照片管理系统</p>
<p style="font-size: 10pt; margin: 0in; font-family: SimSun;">标签管理</p>
<p style="font-size: 10pt; margin: 0in;"><span style="font-family: SimSun;" lang="zh-CN">如何做笔记？笔记程序的使用：以</span><span style="font-family: Calibri;" lang="en-US">OneNote</span><span style="font-family: SimSun;" lang="zh-CN">为例（整理论文资料、时间管理）</span></p>
<p style="font-size: 10pt; margin: 0in; font-family: SimSun;"> </p>
<p style="font-size: 10pt; margin: 0in; font-family: SimSun;">三、信息输出</p>
<p style="font-size: 10pt; margin: 0in; font-family: SimSun;">写博客</p>
<p style="font-size: 10pt; margin: 0in;"><span style="font-family: SimSun;" lang="zh-CN">自由演讲：</span><span style="font-family: Calibri;" lang="en-US">Punch Party/Ted<br />
</span> </p></blockquote>
<h3  class="related_post_title">您可能还对以下内容感兴趣</h3><ul class="related_post"><li>无相关文章</li></ul>]]></content:encoded>
			<wfw:commentRss>http://epile.org/blog/html/how-to-better-use-network.html/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

