2016年8月

nginx开启SSI模块支持shtml/shtm功能

SSI 是 Server Side Include 的首字母缩略词。包含有嵌入式服务器方包含命令的 HTML 文本。在被传送给浏览器之前,服务器会对 SHTML 文档进行完全地读取、分析以及修改。

在 Nginx 中,开启 SSI 支持非常简单,通过向 nginx.conf 中添加几行设置命令即可实现。

将下面的3行代码添加到 nginx.conf 文件的 http{} 段中,以开启 SSI 模块的支持:

ssi on;
ssi_silent_errors on;
ssi_types text/shtml;

放第一个server段的前面

也可以直接在server段里加上

location ~ .*\.(shtm|shtml)?$ {
    ssi on;
    ssi_silent_errors on;
    ssi_types text/shtml;
}

需要注意:
<!–#include file="文件名称"–>
<!–#include virtual="文件名称"–>
file 文件名是一个相对路径,该路径相对于使用 #include 指令的文档所在的目录。
被包含文件可以在同一级目录或其子目录中,但不能在上一级目录中。

如表示当前目录下的的nav_head.htm文档,则为 file=”nav_head.htm”。
virtual 文件名是 Web 站点上的虚拟目录的完整路径。

如表示相对于服务器文档根目录下hoyi目录下的nav_head.htm文件;则为 virtual=”/hoyi/nav_head.htm”

Typecho神奇的is语法

typecho可以使用is语法判断很多东西,比如

$this->is('index');
$this->is('archive');
$this->is('single');
$this->is('page');
$this->is('post');
$this->is('category');
$this->is('tag');

甚至是

$this->is('category', 'default');
$this->is('page', 'start');
$this->is('post', 1);

需要注意的是,后面的参数是分类、页面的缩略名,写法如

<?php if ($this->is('post')) : ?>
    // 这里就是内容了
<?php endif; ?>

Vi/Vim如何添加或删除多行注释

  • 在使用Vi/Vim编辑器对代码或者配置文件编辑的时候,我们经常会需要对多行添加注释或者删除多行的注释。
  1. 进入vi/vim编辑器,按CTRL+V进入可视化模式(VISUAL BLOCK)

  2. 移动光标上移或者下移,选中多行的开头,如下图所示

  3. 选择完毕后,按大写的的I键,此时下方会提示进入“insert”模式,输入你要插入的注释符,例如#

  4. 最后按ESC键,你就会发现多行代码已经被注释了

  5. 删除多行注释的方法,同样 Ctrl+v 进入列选择模式,移到光标把注释符选中,按下d,注释就被删除了。

  • 替换命令
    使用替换命令
    :% s/^/#/g 来在全部内容的行首添加 # 号注释
    :1,10 s/^/#/g 在1~10 行首添加 # 号注释

Linux命令行编辑器Vi/Vim复制单行多行文字

  1. 单行复制
    在命令模式下,将光标移动到将要复制的行处,按“yy”进行复制;

  2. 多行复制
    在命令模式下,将光标移动到将要复制的首行处,按“nyy”复制n行;其中n为要复制的行数
    如:2yy
    表示复制包括光标所在行往下2行

  3. 粘贴
    在命令模式下,将光标移动到将要粘贴的行处,按“p”进行粘贴

    其他方法:

    1. 在vi命令模式下输入冒号,然后输入复制的起始行号,输入逗号,输入结束行号,输入空格输入co输入空格,输入要粘贴到的行号
      如:6,9 co 12复制第6行至第9行之间的内容,插入到第12行后面。

    2. 使用标签来方法光标移到起始行,输入ma光标移到结束行,输入mb光标移到粘贴行,输入mc然后 :'a,'b co 'c 把 co 改成 m 就成剪切了要删除多行的话,可以用 :5, 9 de

HTML 5 标签的 media="screen"属性

  • media="screen" 偶而会看到有代码会写上这么一段,不过大多情况这个属性是忽略的,大部份情况下都是缺省的screen (缺省值),提交到计算机屏幕。

HTML5的media属性的定义和用法:

media 属性规定目标 URL 是为什么类型的媒介/设备进行优化的。
该属性用于规定目标 URL 是为特殊设备(比如 iPhone)、语音或打印媒介设计的。
该属性可接受多个值。
只能在 href 属性存在时使用。

带有 media 属性的链接HTML代码如下:

<a href="att_a_media.asp?output=print" media="print and (resolution:300dpi)">
    HTML5 a media attribute.
</a>

又如:

<link type="text/css" rel="stylesheet" href="css/style.css" media="screen" />

这行代码最后面的 media="screen"

media=""指定这个CSS用于何种设备。具体参数如下:

screen:(缺省值),提交到计算机屏幕;
print:输出到打印机;
projection:提交到投影机;
aural:扬声器;
braille:提交到凸字触觉感知设备;
tty:电传打字机 (使用固定的字体);
tv:电视机;
all:所有输出设备