重构MT模板结构
MT默认的模板包含大量的重复或者类似模板代码,当你需要进行一处模板修改时,也许不得不考虑得更多,并在多个模板中同时进行,已达到统一的效果。 模板重构的目的就是尽可能将多个模板之间相同的部分抽象出来,然后在多个模板中进行引用,另外还有趋向于将一组具有相同功能的模板代码放入同一个模板文件 的作用,从而减少模板修改带来的工作量。MT很早就在模板中支持Module,定义好的Module可以通过如下代码进行引用。
<$MTInclude module="Module Name"$>
我 们需要做的就是把重复的模板代码放在一个个Module中进行定义,然后在模板中去引用他们。经过一定的重构,模板的重用性得到一定的改观,但依然会有一 些冗余的代码,除非MT可以提供一些模板标签,能够让我们判断当前所在的模板而采用不同的Module或者调整细微的模板代码差别。幸运的是,我找到了一 个MT plugin,mt-varz version 0.31。 它提供了更高级的变量支持,支持以下模板标签:
<$MTGetVar$>, <MTSetVarBlock>, <MTIf>, <MTUnless>, <MTIfOne>, <MTUnlessEmpty>, <MTUnlessZero>
其中部分标签在MT3.3中已经得到支持, mt-varz对其进行了over load,具体细节可以参考此plugin文档(在下载包内)。我们在这里需要用到MT标准标签MTSetVar,以及mt-varz 支持的MTIf 标签。我在每个模板的第一行使用MTSetVar 定义一个变量用于标识当前模板,然后在Module中需要的地方使用MTIf 判断当前模板,并注入相应模板代码。下面是一个例子:
Template: Category Archive
<$MTSetVar name="Category Archive" value="1"$> ... <$MTInclude module="Header"$> ...
Template Module: Header
<head>
<MTIf name="Category Archive">
<title><$MTBlogName encode_html="1"$>: <$MTArchiveTitle$> Archives</title>
</MTIf>
...
</head>
<$MTSetVar
name="Category Archive" value="1"$> 这里value 可以是其它非0值,如果值为1,那么MTIfOne
标签在上面与MTIf 标签的作用相同,加以利用可以进行更精细的控制。除了1以外,目前还不提供对变量值的详细判断。经过重构之后,我的Main Index 模板看起来就像这个样子,其它也很类似,模板修改主要在少量的Module中进行。
<$MTSetVar name="Main Index" value="1"$> <$MTInclude module="Template Header"$> <$MTInclude module="Header"$> <MTEntries> <$MTInclude module="Entry"$> </MTEntries> <$MTInclude module="Footer"$> <$MTInclude module="Template Footer"$>
更新:经测试,<MTIfOne> 标签不能正确的解析内嵌的<MTElse> 标签,根据不同情况,将在模板rebuild 阶段抛出错误,或者rebuild 通过,但逻辑不符合嵌套关系。下面是一个逻辑错误示例。<MTIf>标签是否存在此问题未作测试。已经report 这个bug 给了Appnel,希望可以解决。
<MTIfOne name="Search Result Template"><MTIfTagSearch>Tag Search<MTElse>None Tag Search</MTElse></MTIfTagSearch></MTIfOne>
Refine and add new features to my web site
This site disappeared on Internet from the early of this year because of the server problem. Since then it's running on my thinkpad locally for 1 year. Now it's more like my personal blog. I have to have some refine work on my blog since I decided to publish it again. Also I added some new features.
Here's a work log.
upgrade MT to version 3.3
- Refer to MT Upgrade from 3.2 to 3.33
changed to plugined tinymce
changed title appearance
There are 3 level Titles.
- site title
- category and monthly title
- entry title
Each pages have this title structure for search engine friendly, but only display the related title. Others are hided.
In the 2nd level pages, the site title is hided. Also in the 3rd level pages, both 1st level and 2nd level titles are hided.
Using style:
.subindex-container .index-logo,
.individual-container .index-logo,
.individual-container .subindex-logo {
display: none;
}
gave tags to each entry
Give one or more meaningful tags to each entry. The old keywords field is abandoned.
neater monthly archive list
- Refer to Change monthly archive style
added keywords.js
I used keyword.js to hilight keywords which visitor used in search engine for linking in this page in my old site. I did some simple configure and add it into my blog.
I had following settings.
// Configuration:
Keyword = {
hilite: true,
index: false,
refill1: true,
refill2: false,
element1: 'search',
element2: 'w',
style_name: 'hilite',
style_name_suffix: true,
debug_referrer: '',
debug_meta: ''
};
added edit link to individual archive
Simply to add an edit link to individual entry view, that makes editing entries quicker without going to MT management first.
Add following code to individual template:
<a href="<$MTCGIPath$>mt.cgi?__mode=view&_type=entry&id=<$MTEntryID$>&blog_id=<$MTBlogID$>" title="edit this entry, only for admin">Edit</a>
changed download files location
I organized all download files by date instead of by categories. That reduces the length of the file list in a same directory.
Current directory structure rule is /ref/year/month/files, exam:
/ref/2006/12/simple.zip
fixed new line problem for entries
recheck the broken links
I have been using Xenu to check broken site links. It's still a good solution up to now. Recently, I got another solution that could play part of role of Xenu, CheckLinks. It's a plugin for MT that only check the links they are within entries. The reason I picked it up is that It's easier to have the edit link in the bad links report by CheckLinks. Here's a report from my site. For having this feature, I use below Template. This template is used for checking all entries(maximum 9999 here) in your blog and printing only the entries with bad links. But rebuilding this template is as slow as when you check through your blog links with other tool. So better to uncheck the "Rebuild this template automatically when rebuilding index templates" at template setting if you are using it in Indexes Template.
<MTEntries lastn="9999">
<MTCheckLinks include_local="1">
<MTCheckLinksHere>
<$MTEntryBody$>
<$MTEntryExtended$>
</MTCheckLinksHere>
<MTIfBadLinks>
<dl class="badlinks">
<dt><a href="<$MTEntryLink$>"><$MTEntryTitle$></a> (<a href="<$MTCGIPath$>mt.cgi?__mode=view&_type=entry&id=<$MTEntryID$>&blog_id=<$MTBlogID$>" title="in <$MTCatetoryTitle$>">edit</a>) Have bad links:</dt>
<MTBadLinks load_entries="1">
<dd><$MTBadLinkStatus trim_to="3"$>: <$MTBadLinkURL$> [<a href="<$MTBadLinkURL$>"><$MTBadLinkText$></a>]</dd>
</MTBadLinks>
</dl>
</MTIfBadLinks>
</MTCheckLinks>
</MTEntries>
A note: If you are refering any Entries Tag like "MTEntryTitle" within CheckLinks Tag <MTBadLinks>, you must specify load_entries="1" otherwise there's error raising during rebuilding this template.
set up category rss feeds and links
managed external links by blogroll
I downloaded a new plugin Blogroll for managing my links.
Use Blogroll I could manage and group my links, and publish them in template.
Using following code in template:
<MTBlogrollCategories> <h3><$MTBlogrollCategoryLabel$></h3> <ul><MTBlogrollLinks> <li><a href="<$MTBlogrollLinkURI$>" title="<MTBlogrollLinkDesc>"<MTIfNonEmpty tag="BlogrollLinkRel"> rel="<MTBlogrollLinkRel>"</MTIfNonEmpty> <MTIfNonEmpty tag="BlogrollLinkTarget">target="<MTBlogrollLinkTarget>"</MTIfNonEmpty>><$MTBlogrollLinkName$></a></li> </MTBlogrollLinks></ul> </MTBlogrollCategories>
related tags on tag search
I downloaded a new plugin TagSupplymentals that brings much features on tags. I use MTRelatedEntries and MTRelatedTags.
Using following code in template:
<ul> <h3>Related Entries</h3> <MTRelatedEntries lastn="5"> <li><$MTInclude module="Entry Link"$></li> </MTRelatedEntries> </ul>
<ul> <h3>Related Tags</h3> <MTEntryTags> <MTRelatedTags> <li><a xhref="<$MTTagSearchLink$>"><$MTTagName$></a> (<$MTTagCount$>)</li> </MTRelatedTags> </MTEntryTags> </ul>
related entries by tags
See above.
more clear search result
On the search result list, as default only show the entry title and entry summary. So the searcher could have an overview on all search result. If he wants more info about the entry there's a link to expand the entry area to show entry body.
Template:
<MTEntriesHeader> <!--start #top-alpha--> <div id="top-alpha"> <label id="hidebodybar" class="hidbodybar"></label> <!--end #top-alpha--> </div> </MTEntriesHeader> <!--start #entry~--> <div class="entry" id="entry<$MTEntryID pad="1"$>"> <a name="a<$MTEntryID pad="1"$>" /> <!--start #top-entry~--> <div class="top-entry" id="top-entry<$MTEntryID pad="1"$>"> <label class="hidebodybar" id="hidebodybar<$MTEntryID pad="1"$>"></label> <!--end #top-entry~--> </div> <h3 class="entryheader" id="a<$MTEntryID pad="1"$>"><a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a></h3> <!--start #entryinfo~--> <div class="entryinfo" id="entryinfo<$MTEntryID pad="1"$>"> <MTIfOne name="Category Archive"> <p class="subtitle"><$MTEntryDate format="%x"$></p> <MTElse> <p class="subtitle">In <a href="<$MTEntryLink archive_type="Category"$>"><$MTEntryCategory$></a>, <$MTEntryDate format="%x"$></p> </MTElse> </MTIfOne> <!--end #entryinfo~--> </div> <!--start #entrysummary~--> <div class="entrysummary" id="entrysummary<$MTEntryID pad="1"$>"> <$MTEntryBody convert_breaks="0" words="16"$>... <!--end #entrysummary~--> </div> <!--start #entrybody~--> <div class="entrybody" id="entrybody<$MTEntryID pad="1"$>"> <$MTEntryBody convert_breaks="0"$> <MTEntryIfExtended><p>继续阅读 "<a href="<$MTEntryPermalink$>#more"><$MTEntryTitle$></a>" 的剩余内容</p></MTEntryIfExtended> <!--end #entrybody~--> </div> <!--start #entryfooter~--> <div class="entryfooter" id="entryfooter<$MTEntryID pad="1"$>"> <MTEntryIfTagged><p>标签 Tags: 其它与<MTEntryTags glue=", "><a href="<$MTTagSearchLink$>"><$MTTagName$></a> (<$MTTagCount$>)</MTEntryTags> 相关的话题</p></MTEntryIfTagged> <p class="posted"> Posted by <$MTEntryAuthorUsername$> at <$MTEntryDate format="%X"$> <MTEntryIfAllowComments> | <a href="<$MTEntryPermalink archive_type="Individual"$>#comments">Comments (<$MTEntryCommentCount$>)</a></MTEntryIfAllowComments> <MTEntryIfAllowPings> | <a href="<$MTEntryPermalink archive_type="Individual"$>#trackbacks">TrackBack (<$MTEntryTrackbackCount$>)</a></MTEntryIfAllowPings> | <a href="<$MTCGIPath$>mt.cgi?__mode=view&_type=entry&id=<$MTEntryID$>&blog_id=<$MTBlogID$>" title="edit this entry, only for admin">Edit</a> </p> <!--end #entryfooter~--> </div> <!--end #entry--> </div>
Javascript: hide-body.js
flexible style sheet
I had this new bar on the top of page.
It makes possible to switch different style sheet on current page by one click.
For doing this, needs switch-css.js, and the defination in the head.
<link rel="stylesheet" type="text/css" href="<$MTBlogURL$>css/screen.css" media="screen" title="BlockStyle" /> <link rel="alternate stylesheet" type="text/css" href="<$MTBlogURL$>css/screen-clearstyle.css" media="screen" title="ClearStyle" /> <script type="text/javascript" language="javascript" src="<$MTBlogURL$>switch-css.js"></script>And the label tag with ID definition in the page. The css links would be generated by the .js above dynamically.
<label id="switchcssbar"></label>
The code refer to:
tested none-css appearance
To see what my blog is like without style sheet, click below link. If you want to change it back, choose the block Style links on the top of any page. I'm ready to change this site as None Style
tested printable view
To see how it works, select "File - Print Preview" in your Internet Browser.
The format is defined in print.css .
made the old site work
Made some neccesary changes on my old site for showing it in sub folder well.
change to mysql database
- Refer to: Convert MT from Berkeley DB to MySQL
power editing basename
I think this would be helpful, lots of people want to have this feature.
- Refer to: Power editing basename
add style to preformatted tag <pre>
I used <pre> tag for several cases:
- programming code (exam: javascripts)
- command (exam: unix shell commands)
- output (exam: screen output of a command)
- refererence (exam: a short paragraph from other blog)
But they do have different requirements for showing up. So I add several class styles for the tag.
- .code
- .cmd
- .output
- .refer (with word wrap)
For the .refer class style, I referred to pre标签自动换行方案.
Update: Read an article What are semantics?, learned that I should use <blockquote> tag to wrap the resource that I refer to. So I need to use <blockquote> tag instead of class style .refer.
upgrade to TinyMCE 2.09
- Refer to upgrade to TinyMCE 2.09
Refined Page structure
- Refer to Refine web page structure
Refinced CSS
I split my css file as multi-level and use import keyword to link them up. I have following structure. The base.css and extend.css is used by each style sheet. The difference is that the extend.css is also refered by TinyMCE in MT. About TinyMCE please read this article .
base.css extend.css
\ /
\ /
screen.css
screen-linestyle.css
screen-clearstyle.css
I reset padding and margin as 0 in my base.css that makes crossing browsers development easier. Here's a style list about Firefox 1.5 default style sheet for HTML elements for reference.
I tried to have more comfortable color for pages. Here are some links would be helpful on this. The safe 216 web colors, a list of online colour tool.
Disable listing directory
Create a file ".htaccess" at the root path of web site and have following line:
Options All -Indexes
Rewrite url for old site
Add below lines to /.htaccess.
RewriteEngine On RewriteRule ^archives/([0-9]+/[0-9]+) $1 RewriteRule ^archives/(jeet_kune_do|outdoors) $1 RewriteRule ^archives/study_notes/(web|linux) $1 RewriteRule ^hobbies/(outdoors) $1 RewriteRule ^hobbies/ham/ amateur_radio RewriteRule ^hobbies/sbenefit/ society_benefit RewriteRule ^notes/*(db2|linux)* $1 RewriteRule ^notes/[a-z0-9\_\-]+.htm$ db2 RewriteRule ^archives/study_notes/[a-z0-9\_\-]+.html$ db2
A little help on expression I used.
- ^ is maching the begin of aline.
- $ is mathing the end of a line.
- $n is a reference for the expression within (), also could have $1, $2..., as I know, $0 should be the entire of $n.
- | is the OR relationship.
- + match at least one time.
Had this article for reference.
Related entries on tags
I had a plugin that allows having a related entries list in the same category. It's not very helpfule for visitors as you have many entries in a category.
Tags is supported since MT 3.3. We may want to have a related entries list based on tags on the current entry. TagSupplementals plugin is doing that. It provides a set of features for tags supplement. We're using one of them.
Change monthly archive style
The too long monthly archive list get bad-looking.
Download a new plug-in mt-archive-dateheader to have a neat calendar for monthly archive like this:

Change the template to
<h2>按月归档|By Month</h2>
<a class="skip" xhref="http://blog.alex.com/cgi-bin/mt/mt.cgi#endbymonth">Skip over by month</a>
<MTArchiveList archive_type="Monthly">
<MTArchiveDateHeader>
<p><b><MTArchiveDate format="%Y"></b></p>
</MTArchiveDateHeader>
<a xhref="<$MTArchiveLink$>"><MTArchiveDate format="%B"></a><span class="num"><$MTArchiveCount$></span>
</MTArchiveList>
<p></p>
<a class="skip" id="endbymonth"></a>
安装MT Collect 插件,实现文章内自动索引标题
安装环境
- Movable Type 3.14
- RedHat Linux
安装配置插件
作者网站,还有很多其它插件。
将文件Collect.pl 上传到服务器上MT 的plugins 目录,并设置权限:
$ tag -zxvf Collect.tar.gz
$ cp Collect/Collect.pl /var/www/cgi-bin/mt/plugins/
$ chmod 755 /var/www/cgi-bin/mt/plugins/Collect.pl
修改MT 模板
Individual Archives 模板相关部分如下:
<MTCollect tags="h3,H3"><MTCollectThis><$MTEntryBody$></MTCollectThis>
<MTIfCollected>
<table align="right" width="250" class="section" bgcolor="#EEEEEE" style="padding-top: 2">
<tr>
<td bgcolor="#BBBBBB">目录</td>
</tr>
<tr>
<td>¡¡
<ol>
<MTCollected><li><a xhref="http://blog.alex.com/cgi-bin/mt/mt.cgi#<$MTCollectedIndex$>" mce_href="http://blog.alex.com/cgi-bin/mt/mt.cgi#<$MTCollectedIndex$>"><$MTCollectedContent$></a></li>
</MTCollected>
</ol>
</td>
</tr>
</table>
</MTIfCollected>
</MTCollect>
<MTCollect tags="h3,H3"><MTCollectThis show="1" h3="<a name="[N]" \/>/" H3="<a name="[N]" \/>/"><$MTEntryBody$></MTCollectThis>
</MTCollect>
上面的模板共使用了两次MTCollect 标签,第一次用于生成索引目录,第二次用于在索引的段落标题中加入锚链接(anchor)。MTCollect 标签的tags 属性用于指定收集的HTML 标签名称,区分大小写,如果有多个标签,用逗号隔开,这里我们收集标题标签h3 与 H3。
<MTCollect tags="h3,H3">
MTCollectThis 标签用于指定收集的对象,并对收集的标签赋以新值。需要用到tag="new value" 的格式,tag 必须是上级MTCollect 收集的标签名称。我们需要在标题中加入锚链接,并保存原标题。因此我们如下定义模板:
<MTCollectThis show="1" h3="<a name="[N]" \/>/" H3="<a name="[N]" \/>/"><$MTEntryBody$></MTCollectThis>
上面的模板会将原文档中的内容:
<h3>段落标题1</h3>
<h3>段落标题2</h3>
替换成如下内容:
<a name="1" /><h3>段落标题1</h3>
<a name="2 /><h3>段落标题2</h3>
新值当中的最后一个斜线 "/" 代表收集到的内容,如果需要写入一个真实的斜线,比如A 标签的结束标志 "<a />",则需要使用转义字符 "\/" 。
方括号"[]" 中的 "N" 代表收集序号,我们恰好利用这个序号来作为锚链接的值。
属性 show="1" 告诉MTCollect ,不仅显示收集并替换的新值,也显示作为收集对象的原始内容。
此插件所有标签的使用方法,请参考:
http://www.staggernation.com/mtplugins/Collect/
使用
在编写新的Blog 时,使用H3 或h3 作为文章的段落标题,上述代码将会自动识别,并生成目录索引,生成的目录索引自动编号,并可以链接到对应文章标题处。具体实例可参看本文右上部的目录。
安装MT Related Entries 插件,实现相关文章
安装环境
- Movable Type 3.14
- Redhat Linux
- Related Entries 2.0
配置插件
解开压缩包,将文件RelatedEntries.pl 上传到服务器上MT 脚本文件所在的目录,例如:
/cgi-bin/mt/plugins/
如果MT 根目录下plugins 目录不存在,则手动创建。
设置.pl 文件的权限为 755
chmod 755 RelatedEntries.pl
之后就可以在MT 的模板中进行调用了。
修改MT 模板
在Individual Archives 模板中定义如下:
<MTRelatedEntries>
<p>
<b>相关文章</b>
<ul>
<MTEntries lastn="5"><li><$MTInclude module="EntryLinkWithDate"$></li></MTEntries>
</ul>
</p>
</MTRelatedEntries>
Rebuild 站点即可。
Update
已改用关联性更准确的plugin TagSupplymentals,参考related entries by tags
![]()
标签订阅|Tag Subscription
Skip over subscriptonIf you use an RSS reader, you can subscribe to a feed of all future entries tagged 'plugin'. [What is this?]
最近更新|Recent Entries
Skip over recent entries- 升级Pentax *istDS 固件到V2.02
- Nokia E71 杂记
- Gentoo Linux on T43 (17) VGA输出
- Gentoo Linux on T43 (16) 蓝牙传输文件
- 升级到openoffice 2.3.1 宋体显示为方块
- vmware: 利用已有Windows 安装创建虚拟机
- 在linux 下运行PowerDesigner 15 Beta 2
- 奥运会第三阶段剩余门票查询
- Gentoo Linux: 我安装的软件
- Gentoo Linux on T43 (15) Fn + Keys
- Linux 支持鼠标、键盘即插即用
- TestDisk 找回丢失的硬盘分区表
- mysqld 启动失败一例
- DB2 connect 错误 SQLEUCCM: SQL0969N
- Gentoo Linux: /var/db/pkg 这个文件夹很重要!
不定期更新|Handy Entries
Skip over handy entries其它标签|Other Tags
Skip over tags- *istDS (1)
- 135 (1)
- 3d (1)
- 61板 (1)
- 70CM (1)
- Active Directory (1)
- ActiveSync (1)
- Alphabet (1)
- Apache (3)
- APS (1)
- ascii (1)
- Ascii Art (1)
- awstats (4)
- awstats,日志统计 (1)
- backup (2)
- batch (3)
- bios (1)
- blog (2)
- Blogroll (1)
- blue screen (1)
- bluetooth (2)
- Bruce Lee (4)
- C (1)
- chinese (2)
- Cluster (1)
- cms (1)
- commit (1)
- conf (1)
- CPU (1)
- crash (1)
- css (3)
- CW (1)
- D700 (1)
- Data Minning (1)
- Database (12)
- db2 (2)
- DB2 (13)
- DB2 Administration (13)
- DB2 Development (24)
- debug (1)
- DIY (5)
- dma (1)
- DOS (2)
- dreamhost (1)
- Dreamhost (3)
- driver (2)
- DSLR (1)
- dvd (1)
- Dynamic SQL (1)
- E71 (1)
- Editlet (5)
- emacs (1)
- eMule (1)
- English (1)
- EnhancedEntryEditing (2)
- environment (1)
- export (1)
- ext3 (1)
- FAQ (3)
- Favicon (1)
- feed (1)
- fingerprint reader (1)
- Firefox (7)
- firmware (1)
- Flickr (2)
- Fn (1)
- font (1)
- fonts (1)
- ftp (1)
- Gentoo (1)
- gentoo (20)
- gmail (1)
- Gmail (5)
- Google (3)
- Gtalk (1)
- hdaps (1)
- hdd (7)
- HF (1)
- Highlighting (1)
- Hotmail (1)
- hotplug (1)
- https (2)
- ibmdl (1)
- IE (3)
- import (2)
- index (1)
- International (1)
- IPA (1)
- iso-88591 (1)
- J2ME (1)
- java (1)
- Javascript (5)
- jdk (1)
- JKD (5)
- Kenko (1)
- Kenwood (1)
- kernel configuration (1)
- Latin-1 (1)
- latin-1 (1)
- LED (1)
- Lens (1)
- linux (22)
- Linux (16)
- live.com (1)
- Load (1)
- locale (1)
- log (2)
- lrc (1)
- Media Player (1)
- MIT (1)
- Morse (2)
- mount (1)
- msn messenger (3)
- msn spaces (2)
- mt (1)
- MT (22)
- MySQL (3)
- mysql (1)
- NAT (1)
- nokia (1)
- OCW (1)
- openoffice (1)
- optimize (1)
- Oracle (2)
- partition table (1)
- Password (2)
- pcmcia (1)
- PDA (4)
- Pentax (6)
- perl (2)
- Phonetic (1)
- picasa (1)
- PIO (2)
- PK (6)
- plugin (7)
- PowerDesigner (4)
- PPC (1)
- Procedure (3)
- ps (2)
- Python (1)
- ramdisk (2)
- Rational Rose (1)
- RawDevice (1)
- rebuildpkgdb (1)
- Redhat (1)
- refine (2)
- Ricoh (1)
- rss (2)
- Samba (2)
- Sandbag (1)
- sftp (2)
- Shell (8)
- SimSun (1)
- Skype (1)
- software (2)
- SQL (1)
- SQL0969N (1)
- SQLEUCCM (1)
- ssh (1)
- ssl (1)
- Study notes (9)
- study notes (1)
- subtitle (1)
- subversion (2)
- sunset (1)
- svn (1)
- SVN (1)
- synchronize (1)
- t43 (14)
- table function (1)
- Tablespace (1)
- tablespace status (1)
- Tag (2)
- telnet (1)
- testdisk (1)
- thinkpad (12)
- Thinkpad (9)
- TinyMCE (4)
- tmpfs (1)
- tomcat (1)
- tortoiseSVN (1)
- UDMA5 (1)
- UHF (2)
- Ultra Slim (4)
- UltraEdit (3)
- unicode (3)
- update (2)
- upgrade (4)
- usb2.0 (1)
- UTF-16 (1)
- UTF-8 (2)
- utf-8 (1)
- VGA-Out (1)
- VHF (1)
- vi (1)
- vmware (1)
- w3c (1)
- WAS (1)
- Water (1)
- web 2.0 (2)
- Websphere (1)
- widget (1)
- wikipedia (3)
- windows (1)
- wine (1)
- winxp (4)
- wireless (1)
- Wireless (1)
- WWF (1)
- wysiwyg (6)
- x300 (1)
- XDA III (1)
- xml (1)
- xsl (1)
- 三峡 (2)
- 三角架 (1)
- 东芝 (1)
- 中文 (1)
- 主板 (1)
- 书 (4)
- 乱码 (1)
- 云台 (2)
- 云蒙山 (2)
- 京东第一瀑 (2)
- 代理 (1)
- 侄子 (1)
- 保险 (2)
- 健康 (1)
- 全球化 (1)
- 公益 (1)
- 关节 (1)
- 关键词 (2)
- 凌阳单片机 (1)
- 函数 (1)
- 刘家峪 (1)
- 刻录 (1)
- 动物园 (1)
- 十三陵 (1)
- 升级 (2)
- 单板 (1)
- 历史 (1)
- 唐朝 (1)
- 喷墨打印机 (1)
- 器材 (1)
- 四姑娘山 (2)
- 固件 (1)
- 增倍镜 (1)
- 备份 (1)
- 外包 (1)
- 多普达 (1)
- 天线 (6)
- 头灯 (1)
- 奥运门票 (1)
- 字符 (1)
- 字节 (1)
- 存储过程 (1)
- 学习笔记 (14)
- 安全 (1)
- 安全漏洞 (1)
- 安装 (1)
- 宋体 (1)
- 宾得 (6)
- 小五台 (3)
- 履历 (2)
- 川北 (2)
- 工具 (1)
- 帆船 (1)
- 建伍 (1)
- 录音笔 (1)
- 徒步 (2)
- 微软 (3)
- 感悟 (1)
- 慈善活动 (1)
- 慈善组织 (1)
- 慧灵 (1)
- 截拳道 (5)
- 截拳道课程 (6)
- 户外 (19)
- 手册 (1)
- 手台 (2)
- 抗战 (1)
- 拉扑楞寺 (2)
- 指纹 (1)
- 捐助 (1)
- 捕食 (1)
- 推荐 (2)
- 搜索引擎 (1)
- 摄影 (3)
- 摄影包 (1)
- 数据库 (15)
- 数码单反 (1)
- 日志统计 (2)
- 日立 (1)
- 日语 (3)
- 晚霞 (1)
- 智障 (1)
- 月全食 (1)
- 朗木寺 (2)
- 术语 (2)
- 杂志 (1)
- 权限 (1)
- 李小龙 (4)
- 杨靖宇 (1)
- 松山 (1)
- 概念模型 (2)
- 模型 (1)
- 模板 (2)
- 樱花 (1)
- 橡筋动力飞机 (1)
- 活动目录 (1)
- 测试 (1)
- 清理键盘 (1)
- 清理风扇 (1)
- 游泳 (3)
- 滑雪 (1)
- 演讲 (1)
- 灵山 (3)
- 照片 (1)
- 爬山 (10)
- 父亲 (1)
- 特殊符号 (1)
- 状态机 (1)
- 猎鹰 (1)
- 玉渊谭 (1)
- 玩具 (1)
- 环境 (2)
- 理光 (1)
- 甘南 (2)
- 电台 (1)
- 电源线 (1)
- 电键 (1)
- 百科全书 (1)
- 百花山 (1)
- 短波 (1)
- 硅两瓦 (1)
- 硬盘 (2)
- 空手道 (2)
- 穿越 (9)
- 索引 (1)
- 维基百科 (1)
- 绿野 (1)
- 编码 (1)
- 网易水版 (3)
- 羽毛球 (1)
- 肌肉 (1)
- 花卉 (1)
- 英雄 (1)
- 药品 (1)
- 莫尔斯码 (2)
- 蓝牙 (1)
- 蔡司 (1)
- 虚拟主机 (1)
- 蜘蛛侠 (1)
- 蜻蜓 (1)
- 蝌蚪 (1)
- 补丁包 (2)
- 裸设备 (1)
- 计划 (2)
- 订阅 (1)
- 训练 (3)
- 设计 (4)
- 诗 (3)
- 读书笔记 (1)
- 谷丫 (1)
- 资料片 (1)
- 跆拳道 (1)
- 转接线 (1)
- 软件 (1)
- 逆风 (1)
- 通信 (1)
- 避雷 (1)
- 那曲 (2)
- 部署 (1)
- 重构 (1)
- 野鸭湖 (1)
- 锁 (1)
- 镜头 (4)
- 长坪沟 (2)
- 长江 (2)
- 长线 (1)
- 隔离级别 (2)
- 集群 (1)
- 馈线 (1)
- 马拉松 (1)
- 骨骼 (1)
- 高亮 (1)
- 鲑鱼 (1)
- 鸿程道馆 (2)
- 黄草梁 (1)
- 黑土 (1)
- 黑龙潭 (2)
- 黑龙秘径 (2)
分类栏目|Categories
Skip over categories按月归档|By Month
站内链接|Site Links
Skip over site links- Flickr: Collection - Sets - Tags
- 旧版入口



Movable Type 3.34