文件类型

<div style="text-align:center;"><#HTML> (放在档案的开头与结尾)

  文件主题<#TITLE> (必须放在「文头」区块内)

  文头<#HEAD> (描述性资料,像是「主题」)

  文体<#BODY> (文件本体)

  标题<#H?> (从1到6,有六层选择)

  标题的对齐 <#H?ALIGN=LEFT|CENTER|RIGHT>

  区分<#DIV>

  区分的对齐 <#DIVALIGN=LEFT|RIGHT|CENTER|JUSTIFY>

  引文区块<#BLOCKQUOTE> (通常会内缩)

  强调<#EM> (通常会以斜体显示)

  特别强调<#STRONG> (通常会以加粗显示)

  引文<#CITE> (通常会以斜体显示)

  码<#CODE> (显示原始码之用)

  样本<#SAMP>

  键盘输入<#KBD>

  变数<#VAR>

  定义<#DFN> (有些浏览器不提供)

  地址 <#ADDRESS>

  大字<#BIG>

  小字<#SMALL>

  与外观相关的标签(作者自订的表现方式)

  加粗<#B>

  斜体<#I>

  底线<#U> (尚有些浏览器不提供)

  删除线<#S> (尚有些浏览器不提供)

  下标<#SUB>

  上标<#SUP>

  打字机体<#TT> (用单空格字型显示)

  预定格式<#PRE> (保留文件中空格的大小)

  预定格式的宽度<#PRE WIDTH=?>(以字元计算)

  向中看齐<#CENTER> (文字与图片都可以)

  闪耀<#BLINK> (有史以来最被嘲弄的标签)

  字体大小 <#FONTSIZE=?>(从1到7)

  改变字体大小 <#FONTSIZE=+|-?>

  基本字体大小 <#BASEFONTSIZE=?> (从1到7; 内定为3)

  字体颜色 <#FONTCOLOR="#$$"&gt;($$为颜色代码)</div>

1)贴图:<#img src="图片地址">

  2)加入连接:<#a href="所要连接的相关地址">写上你想写的字

  3)在新窗口打开连接:<#a href="相关地址" target="_blank">写上要写的字

  4)移动字体(走马灯):<#marquee>写上你想写的字</marquee>

  5)字体加粗:<#b>写上你想写的字

  6)字体斜体:<#i>写上你想写的字

  7)字体下划线: <#u>写上你想写的字 </u>

  8)字体删除线: <#s>写上你想写的字 </s>

  9)字体加大: <#big>写上你想写的字 </big>

  10)字体控制大小:<#h1>写上你想写的字 </h1> (其中字体大小可从h1-h5,h1最大,h5最小)

  11)更改字体颜色:<#font color="#value">写上你想写的字 </font>(其中value值在000000与ffffff(16位进制)之间

  12)消除连接的下划线:<#a href="相关地址" style="text-decoration:none">写上你想写的字

  13)贴音乐:<#embed src="音乐地址" width="宽度" height="高度" autostart=false>

  14)贴flash: <#embed src="flash地址" width="宽度" height="高度">

  15)贴影视文件:<#img dynsrc="文件地址" width="宽度" height="高度" start=mouseover>

  16)换行:<#br>

  17)段落:<#p>段落 </p>

  18)原始文字样式:<#pre>正文 </pre>

  19)换帖子背景:<#body background="背景图片地址">

  20)固定帖子背景不随滚动条滚动:<#body background="背景图片地址" body
  bgproperties=fixed>

  21)定制帖子背景颜色:<#body bgcolor="#value">(value值见10)

  22)帖子背景音乐:<#bgsound="背景音乐地址" loop=infinite>

  23)贴网页:<#iframe. src="相关地址" width="宽度" height="高度">

24)文字居中:<#div align="center">要居中的文字</div>  
25)<#span style="color:#00009C">新藏青色</span>

====== 模板制作快速入门 =====
模板的制作并非难事,只要你写好了HTML和CSS,嵌套模板就非常简单了,你无需了解标签的内部结构,你只要会使用,模板就能迅速完成。这篇文章只简单的介绍了常用标签的使用方法,希望能带你进入模板的世界。^_^

本篇文章以Typecho都默认模板为例,您可以打开默认模板default边看边学习。该模板所在的路径为 /usr/themes/default \
进入该目录后,我们可以看到有许多文件,别犯愁,我们将在下文一一介绍,所有在当前目录下的文件都能在后台的模板编辑页面进行编辑。

===== index.php =====

==== 模板信息 ====

我们先从主文件说起,打开这个文件,首先看到的是注释:

<code php>/**
 * 这是typecho系统的一套默认皮肤。你可以在<a href="http://typecho.org">typecho的官方网站</a>获得更多关于此皮肤的信息
 * 
 * @package Typecho Default Theme 
 * @author typecho
 * @version 1.0.0
 * @link http://typecho.org
 */</code>

这是模板信息存放的地方,它将在后台都模板选择页显示。前两行是简短的介绍,每个“*”表示一个段落。@package 表示模板名,@author 表示作者名,@version 是模板的版本号,@link 是作者的网站连接。

紧挨着注释下方的 include('header.php'),在结尾处也会看到 include('sidebar.php') 和 include('footer.php')。这些语句用来调用模板的其它模块。header故名思议是页首,sidebar是侧栏,footer是页脚。

==== 显示文章 ====
<code php>
<?php while($this->next()): ?>
    <div class="post">
    <h2 class="entry_title"><a href="<?php $this->permalink() ?>"><?php $this->title() ?></a></h2>
    <div class="entry_data">
        Published by <a href="<?php $this->author->permalink(); ?>"><?php $this->author(); ?></a> on <?php $this->date('F j, Y'); ?> in <?php $this->category(','); ?>.
        <?php $this->commentsNum('%d Comments'); ?>.
    </div>
    <div class="entry_text">
        <?php $this->content('Continue Reading...'); ?>
    </div>
    </div>
<?php endwhile; ?>
</code>

进入文章循环,输出文章,剥开html代码,一句一句介绍

|<php><?php $this->permalink() ?></php> | 文章所在的连接 |
|<php><?php $this->title() ?></php> | 文章标题 |
|<php><?php $this->author(); ?></php> | 文章作者 |
|<php><?php $this->author->permalink(); ?></php> | 文章作者地址 |
|<php><?php $this->date('F j, Y'); ?></php> | 文章的发布日期,格式可参考[[http://cn.php.net/manual/zh/function.date.php|PHP日期格式]] |
|<php><?php $this->category(','); ?></php> | 文章所在分类 |
|<php><?php $this->commentsNum('%d Comments'); ?></php> | 文章评论数及连接 |
|<php><?php $this->content('Continue Reading...'); ?></php> | 文章内容,其中的“Continue Reading...”是显示摘要时隐藏部分的邀请连接 |
好了,文章显示结束,别忘了结束循环。

==== 文章分页 ====

<code php><?php $this->pageNav(); ?></code>

文章输出结束后别忘了增加分页,至此,index.php的常见内容结束,应该不糊涂吧。
===== header.php =====

==== 编码 ====
打开这个文件,见到的第一个php代码就是:
<code php><meta http-equiv="content-type" content="text/html; charset=<?php $this->options->charset(); ?>" /></code>
调用默认的编码,现在最经常用的大都是utf-8吧。所以我通常是直接写成utf-8,省去php处理时间
=== 页面标题 ===
<code php><title><?php $this->options->title(); ?><?php $this->archiveTitle(); ?></title></code>

通常情况下直接复制使用,如果你没有时间的话。

==== 导入样式 ====
<code php><link rel="stylesheet" type="text/css" media="all" href="<?php $this->options->themeUrl('style.css'); ?>" /></code>
其中style.css是样式文件相对模板目录的路径和文件名。
==== 其它HTML头部信息 ====
<code php><?php $this->header(); ?></code>
别忘了这句,它关系到RSS信息、客户端程序以及插件的正常使用。
==== 页面导航 ====
<code php>
<ul class="clearfix" id="nav_menu">
    <li><a href="<?php $this->options->siteUrl(); ?>">Home</a></li>
    <?php $this->widget('Widget_Contents_Page_List')
               ->parse('<li><a href="{permalink}">{title}</a></li>'); ?>
</ul></code>
本处使用了无序列的页面列表,其中{permalink}是页面的地址,{title}是页面的标题
==== 网站名称 ====
<code php>
<h1><a href="<?php $this->options->siteUrl(); ?>"><?php $this->options->title() ?></a></h1>
<span><?php $this->options->description() ?></span>
</code>
| <php><?php $this->options->siteUrl(); ?></php> | 网站的首页地址 |
| <php><?php $this->options->title() ?></php> | 网站名称 |
| <php><?php $this->options->description() ?></php> | 网站的一些简短描述、介绍 |
==== 站内搜索 ====
<code html>
<form method="post" action="">
    <div><input type="text" name="s" class="text" size="32" /> <input type="submit" class="submit" value="Search" /></div>
</form>
</code>
当你的文章很多很多,这个搜索就必不可少。

===== sidebar.php =====

==== 最新文章列表 ====
<code php>
<ul>
    <?php $this->widget('Widget_Contents_Post_Recent')
               ->parse('<li><a href="{permalink}">{title}</a></li>'); ?>
</ul>
</code>
获取最新的10篇文章标题,得到的html是
<code html>
<ul>
    <li><a href="http://example.com/2008/12/31/sample-post-one">文章1的标题</a></li>
    <li><a href="http://example.com/2008/12/31/sample-post-two">文章2的标题</a></li>
    <!-- 省略n个重复 -->
    <li><a href="http://example.com/2008/12/31/sample-post-ten">文章10的标题</a></li>
</ul>
</code>
==== 最新回复列表 ====
<code php>
<ul>
    <?php $this->widget('Widget_Comments_Recent')->to($comments); ?>
    <?php while($comments->next()): ?>
        <li><?php $comments->author(false); ?>: <a href="<?php $comments->permalink(); ?>"><?php $comments->excerpt(10, '[...]'); ?></a></li>
    <?php endwhile; ?>
</ul>
</code>
获取最新的10个回复,得到的html是
<code html>
<ul>
    <li>回复人名字: <a href="http://example.com/2008/12/31/sample-post#comments-12">回复的内容[...]</a></li>
    <li>回复人名字: <a href="http://example.com/2008/12/31/sample-post#comments-11">回复的内容[...]</a></li>
    <!-- 省略n个重复 -->
</ul>
</code>
其中<php><?php $comments->excerpt(10, '[...]'); ?></php>,“10”代表要回复内容截取的字的个数,“[...]”代表省略的意思,你可以自行修改。
==== 文章分类列表 ====
<code php>
<ul>
    <?php $this->widget('Widget_Metas_Category_List')
               ->parse('<li><a href="{permalink}">{name}</a> ({count})</li>'); ?>
</ul>
</code>
输出:
<code html>
<ul>
    <li><a href="http://example.com/category/uncategories">Uncategories</a>(10)</li>
    <li><a href="http://example.com/category/category-1">Category-1</a>(2)</li>
</ul>
</code>
其中{count}是获取该分类下的文章数目。
==== 按月归档 ====
<code php>
<ul>
    <?php $this->widget('Widget_Contents_Post_Date', 'type=month&format=F Y')
               ->parse('<li><a href="{permalink}">{date}</a></li>'); ?>
    </ul>
</code>
输出:
<code html>
<ul>
    <li><a href="http://example.com/2008/11">November 2008</a></li>
    <li><a href="http://example.com/2008/10">October 2008</a></li>
</ul>
</code>
==== 其它连接 ====
<code php>
<ul>
    <?php if($this->user->hasLogin()): ?>
        <li class="last"><a href="<?php $this->options->index('Logout.do'); ?>">Logout (<?php $this->user->screenName(); ?>)</a></li>
    <?php else: ?>
        <li class="last"><a href="<?php $this->options->adminUrl('login.php'); ?>">Login</a></li>
    <?php endif; ?>
</ul>
</code>
这些是可有可无的,只是为了方便登录登出。

===== footer.php =====

==== RSS地址 ====

页脚文件,推荐大家把一些较大的js放在这个文件中最后载入,不会影响阅读。看看我们的footer要讲解些什么?
<code php>
<a href="<?php $this->options->feedUrl(); ?>">Entries (RSS)</a> <!-- 文章的RSS地址连接 -->
<a href="<?php $this->options->commentsFeedUrl(); ?>">Comments (RSS)</a>. <!-- 评论的RSS地址连接 -->
</code>
另外别忘了添加
<code html><a href="http://typecho.org">Typecho</a></code>
以示对Typecho的支持,简单吧。

现在,你已完成了75%的嵌套,休息一下,后面的会轻松许多 :-D

===== post.php =====

post页和index是差不多的,但是我们还是要说一下不同之处。

==== Tag 标签 ====

<code php>Tags: <?php $this->tags(',', true, 'none'); ?></code>
这是获取当前单篇文章的标签,用“,”符号隔开。

==== 调用评论页 ====

<code php><?php include('comments.php'); ?></code>

===== comments.php =====
==== 评论列表 ====

<code php>
<h4><?php $this->commentsNum('No Response', 'One Response to"' . $this->title . '"', '%d Responses to "' . $this->title . '"'); ?></h4>
<ol id="comment_list">
    <?php $this->comments()->to($comments); ?>
        <?php while($comments->next()): ?>
    <li id="<?php $comments->theId(); ?>">
        <div class="comment_data">
                <?php echo $comments->sequence(); ?>. 
                <strong><?php $comments->author(); ?></strong>
                on <?php $comments->date('F jS, Y'); ?> at <?php $comments->date('h:i a'); ?>
            </div>
        <div class="comment_body"><?php $comments->content(); ?></div>
    </li>
    <?php endwhile; ?>
</ol>
</code>

还是循环输出评论:

| <php><?php $comments->theId(); ?></php> | 每个评论的唯一ID |
| <php><?php $comments->sequence(); ?></php> | 评论所在楼层 |
| <php><?php $comments->responseUrl(); ?></php> | 回复地址 |
| <php><?php $comments->responseId(); ?></php> | 回复框ID |
| <php><?php $comments->trackbackUrl(); ?></php> | trackback地址 |
| <php><?php $comments->author(); ?></php> | 评论者的名字 |
| <php><?php $comments->date('F jS, Y'); ?></php> | 评论日期 |
| <php><?php $comments->date('h:i a'); ?></php> | 评论时间 |
| <php><?php $comments->content(); ?></php> | 评论内容 |
结束循环。我们用有序列表<ol>,因为评论的发表是有先后顺序的。

==== 评论输入表单 ====

<code php>
<!-- 判断设置是否允许对当前文章进行评论 -->
<?php if($this->allow('comment')): ?>

    <h4 id="response">Leave a Reply</h4>

    <!-- 输入表单开始 -->
    <form method="post" action="<?php $this->commentUrl() ?>" id="comment_form">

        <!-- 如果当前用户已经登录 -->
        <?php if($this->user->hasLogin()): ?>
            <!-- 显示当前登录用户的用户名以及登出连接 -->
            <p>Logged in as <a href="<?php $this->options->adminUrl(); ?>"><?php $this->user->screenName(); ?></a>. 
            <a href="<?php $this->options->index('Logout.do'); ?>" title="Logout">Logout &raquo;</a></p>

        <!-- 若当前用户未登录 -->
        <?php else: ?>
            <!-- 要求输入名字、邮箱、网址 -->
        <p><input type="text" name="author" class="text" size="35" value="<?php $this->remember('author'); ?>" /><label>Name (Required)</label></p>
        <p><input type="text" name="mail" class="text" size="35" value="<?php $this->remember('mail'); ?>" /><label>E-mail (Required *will not be published)</label></p>
        <p><input type="text" name="url" class="text" size="35" value="<?php $this->remember('url'); ?>" /><label>Website</label></p>
        <?php endif; ?>

        <!-- 输入要回复的内容 -->
     <p><textarea rows="10" cols="50" name="text"><?php $this->remember('text'); ?></textarea></p>
     <p><input type="submit" value="Submit Comment" class="submit" /></p>
    </form>
<?php endif; ?>
</code>

很多情况下并不对评论文件进行修改,可以直接拿来使用写入相应的css。

===== 其它文件 =====
^ page.php | 页面的显示方式,通常情况下和 single.php 无差别 |
^ archive.php | 显示某分类下的文章列表、搜索结果列表显示时调用的文件 |

===== 结束语 =====
OK,这篇简短的入门讲解结束了,希望你看着不累,同时能对Typecho的模板系统了解一二,这样文章的目的也就达到了,针对当前文章的不明白的地方,欢迎到社区提出问题。谢谢。:-D

人生,一删一留,
生活,一加一减。
清空烦恼,用来装幸福,
删除痛苦,把快乐留住。
心就是一个容器,
你装下什么,便得到什么!

人生在世:

可以缺钱,但不能缺德;
可以失言,但不能失信;
可以倒下,但不能跪下;
可以求名,但不能盗名;
可以低落,但不能堕落;
可以放松,但不能放纵;
可以虚荣,但不能虚伪;
可以平凡,但不能平庸;
可以浪漫,但不能浪荡;
可以生气,但不能生事

只要你还需要我
录音:壹歌传媒录音棚
混音:孙侠
制作人:陈伟
只要你还需要我
我一定会给你如初暖和
就算再不能回头一折
我依然会把那个你放在心窝
风轻轻吹过 雨轻轻飘落
时光将幸福 悄悄剥夺
承诺还在说 心却如刀割
分开这些年 怀念太多
爱曾经来过 痛那么执着
归根结底是 难以舍得
这样的结果 再没有如果
明明我们都 不曾犯错
只要你还需要我
我仍然会为你赴汤蹈火
就算今生是天涯过客
请记得我是最爱你那一个
只要你还需要我
我一定会给你如初暖和
就算再不能回头一折
我依然会把那个你放在心窝
爱曾经来过 痛那么执着
归根结底是 难以舍得
这样的结果 再没有如果
明明我们都 不曾犯错
只要你还需要我
我仍然会为你赴汤蹈火
就算今生是天涯过客
请记得我是最爱你那一个
只要你还需要我
我一定会给你如初暖和
就算再不能回头一折
我依然会把那个你放在心窝
只要你还需要我
我仍然会为你赴汤蹈火
就算今生是天涯过客
请记得我是最爱你那一个
只要你还需要我
我一定会给你如初暖和
就算再不能回头一折
我依然会把那个你放在心窝