开源,自由,平等,共享,包容,沟通

2008年12月21日星期日

公元 2008 年 05 月 12 日,中国四川汶川 8.0 地震

 
余震地点示意图(2008 年 05 月 25 日)


台湾专家分析的四川强震成因


四川汶川 5.12 特大地震


空中看地震后的汶川县映秀镇

 

2008年12月19日星期五

Iconize Textlinks with CSS 0.5 中文文档

 
用 CSS 展示超链接提示

如果链接带我到外链、打开窗口或者链接到文件(就像到另一个 HTML 页面),我喜欢使用小的靠近链接的图标来显示。
这里给出了怎样实现它的一种方法,并且支持 IE7、Firefox 和 Safari。

下载 ZIP

图像

首先,找到一些好看的 GIF 小图标(或更好的,或你自己创建它们),用来显示。
最好它们全部都是相同的大小(下面的都是 14 x 16 像素的),并且背景都是透明的。

链接到弹出窗口
链接到外部站点
表示一个邮件链接
链接到 PDF 文件
链接到 Word 文件
链接到 Excel 文件

范例 1 - 链接到 PDF 文件 - HTML

就像这个例子,我们开始链接到 PDF 文件。
看一看下面的 HTML 代码:

<a href="files/holidays.pdf">View Holidays</a>

链接产生的效果如下:

注意,这里没有“类”“ID”等东西辨别该链接来自哪里。
我们唯一知道它引导我们到 PDF 文件的原因是在 href 属性值最后几位的“.pdf”。

使用一些支持 IE7、Firefox 和 Safari 的 CSS 选择器,你可以应用样式声明到以标签属性为基础的值中。

范例 1 - 链接到 PDF 文件 - CSS

如果我们应用样式到上面的 HTML 代码:

a[href $='.pdf'] {
padding-right: 18px;
background: transparent url(icon_pdf.gif) no-repeat center right;
}

我们将得到像下面这样的:

它是怎么工作的?

上面的 CSS 规则将寻找所有 href 属性中以“.pdf”结束的 a 标签,然后给予该链接右侧一些额外的填充以让出足够的空间,来将小的 PDF 图标固定为背景图像。
美元符号表示结束。
因为 HTML 的 href 有一个“files/holidays.pdf”值,它将匹配上面的 CSS 声明,一个小的 PDF 图标将被显示在靠近链接的位置上。

范例 2 - mailto: 链接

足够简单。
现在,什么是 mailto: 链接呢?
看看下面的 HTML 代码:

<a href="mailto:billg@microsoft.com">Contact Me</a>

并应用下面的样式:

a[href ^="mailto:"] {
padding-right: 20px;
background: transparent url(icon_mail.gif) no-repeat center right;
}

注意规则中的脱字符号(^)。
脱字符号和等号表示“以什么开始”。
规则将寻找所有 href 属性以“mailto:”开始的 a 标签,然后给予链接右侧一些额外的填充,用来显示小的邮件图标的背景图像。

下面是显示的结果:

范例 3 - 链接到弹出窗口

开发者以一个非常标准的 Web 流行行为来区分标记 - 在链接中使用一些像“popup”的值来替代“类”或“ref”属性。
就像:

<a class="popup" href="help.html">Help Page</a>

使用同样的“类”或“ref”来显示我们的小图标。

a[class ="popup"] {
padding-right: 18px;
background: transparent url(icon_popup.gif) no-repeat center right;
}

规则将寻找所有 class 属性被设置为“popup”的 a 标签,然后给予链接右侧一些额外的填充,来显示弹出图标的背景图像。

寻找多个值中的一个

但是,如果我们的 class 或 ref 属性中有多个值呢?
链接如下 HTML 代码:

<a class="popup specialstyle" href="help.html">View Help</a>

现在,class 属性不等于“popup”,而被替代为“popup specialstyle”。
因此,规则将无法工作。
它看起来好像被空格所分隔。
你可以使用如下:

a[class ~="popup"] {
padding-right: 18px;
background: transparent url(icon_popup.gif) no-repeat center right;
}

波浪线(在大多数键盘的左上角被找到,需要 shift 键)和等号一起表示“寻找以空格分隔单词组出来的该单词”。
它将完美地尝试去匹配多个值中的一个。

摘要

这些选择器都不是新的,并且在这里提及的内容远远不够全面。
在 IE7 中有什么新的?因此我挑选了一些能在 IE7 和其它流行的浏览器中能够工作的 CSS 选择器,并且我知道它们在上面的效果中都是有用的。
如果它能帮助你查阅代码和使用一些图片进行显示,你可以 下载 ZIP(它包含了一些样例)。

原版英文:http://www.askthecssguy.com/2006/12/showing_hyperlink_cues_with_cs_1.html
 

SyntaxHighlighter 1.5.1 中文文档

 
概览
SyntaxHighlighter 概况

介绍

SyntaxHighlighter 背后的想法是,在不依赖任何服务器端脚本的情况下,允许在页面上插入着色的代码片段。

它为谁设计?

主要的目的是在于博客。
然而,我曾经看见一些源码站点使用它,主要用来显示源代码。

它不为谁设计?

SyntaxHighlighter 不是为那些寻找有能力编辑高亮代码的。
SyntaxHighlighter 不允许你编辑源代码,它现在不允许,将来也不打算允许。

性能

SyntaxHighlighter 使用正则表达式解析文本。
它并不是非常快,实际上,它是很缓慢的。
如果你尝试高亮显示几行代码,它将不会出现问题。
尝试高亮显示 10KB 左右的文本将会失败,因为 JavaScript 会执行一个漫长的时间。

HighlightAll 函数
dp.SyntaxHighlighter.HighlightAll()。

dp.SyntaxHighlighter.HighlightAll()

这是一个全局性的函数,它将找到网页上的所有代码块并转换为高亮显示的代码块。

参数

function dp.SyntaxHighlighter.HighlightAll(name, [showGutter], [showControls], [collapseAll], [firstLine], [showColumns])

name必须<pre /> 和 <textarea /> 元素使用的名字
showGutter可选打开或关闭全部已处理代码块的边沟
showControls可选打开或关闭全部已处理 <pre > 元素的控制
collapseAll可选打开或关闭全部已处理 <pre > 元素的折叠;如果 showControls 参数为 false,该值将被忽略
firstLine可选允许从线数开始的地方指定第一行;如果你想举例说明代码块位于相关的文件,这是很有用的
showColumns可选在第一行显示行列

任何值传送给 HighlightAll 调用将会覆写相应的配置选项。

剪贴板
复制到剪贴板。

复制到剪贴板

版本 1.5 建立了“复制到剪贴板”功能,可以用于所有支持 Flash 的浏览器。
它使用了 1x1 Flash 视频来复制代码到用户的剪贴板。

启用该功能,你必须设置 ClipboardSwf 变量为本地的 clipboard.swf 文件。
这些操作必须在调用 HighlightAll 函数之前完成。

<script class="javascript">
dp.SyntaxHighlighter.ClipboardSwf = '/flash/clipboard.swf';
dp.SyntaxHighlighter.HighlightAll('code');
</script>

编程语言
支持的编程语言列表。

支持的编程语言

这里是一个支持的编程语言及它们的别名的列表。

编程语言别名
C++cpp, c, c++
C#c#, c-sharp, csharp
CSScss
Delphidelphi, pascal
Javajava
Java Scriptjs, jscript, javascript
PHPphp
Pythonpy, python
Rubyrb, ruby, rails, ror
SQLsql
VBvb, vb.net
XML/HTMLxml, html, xhtml, xslt

查阅用法页面以了解怎样使用别名。

特征
特征摘要

SyntaxHighlighter 特征

  01. 100% 客户端脚本,与服务器无关
  02. 多种编程语言的支持
  03. 简单使用和部署,只需要复制文件和连接它们到你的模板
  04. 多浏览器支持
  05. 非常轻量,压缩过的核心库只有 11KB,可添加你需要的任何 Brushes

Brushes
Brushes。

它们是什么?

Brushes,是我编制的为自己的编程语言调用高亮显示脚本的条款。
SyntaxHighlighter 使用模块化的方法,由核心库 shCore.js 和许多像 shBrushXml.js、shBrushCss.js 等的组成。

它们是怎样工作的?

每个 Brush 描述了一套特殊语言的规则。
规则基于关键字、正则表达式和 CSS 样式。
大多数语言都是用同样的语法并且以同样的方式进行解析,只要你提供一些基本的规则,如解析字符串、注释等。

你可以自定义编写一个完整的 Brush 并实现你自己的解析。
例如 shBrushXml.js。
它提供了对 XML/HTML 代码的格式化,这不同于 C# 或 Java 的样式。

用法
怎样使用 SyntaxHighlighter。

放置代码

放置你的代码到页面上并被包围在 <pre /> 标签中。
设置 name 属性为 code,而 class 属性设置为你希望使用的编程语言的别名。

<pre name="code" class="c-sharp">
... 一些代码 ...
</pre>

注意: 一个重要的事情要特别注意是开头的三角括号 <。它必须全部被替换为与 HTML 等价的 &lt;。操作失败的话,它不会打破页面,而会打破源代码的显示。

一个替代 <pre /> 的是使用 <textarea /> 标签。
它不会出现上面 < 字符的问题。
最主要的问题是它看起来效果没有 <pre /> 标签好,因为 JavaScript 一些时候不能工作(例如在 RSS 聚合中)。

<textarea name="code" class="c#" cols="60" rows="10">
... 一些代码 ...
</textarea>

扩展配置

这里给出一种方法来传递一些配置选项给代码块。
它由冒号分隔参数。

<pre name="code" class="html:collapse">
... 一些代码 ...
</pre>

让它工作起来

最后,要让所有东西适当的渲染在页面上,你必须给该页面添加 JavaScript 代码。

<link type="text/css" rel="stylesheet" href="css/SyntaxHighlighter.css"></link>
<script language="javascript" src="js/shCore.js"></script>
<script language="javascript" src="js/shBrushCSharp.js"></script>
<script language="javascript" src="js/shBrushXml.js"></script>
<script language="javascript">
dp.SyntaxHighlighter.ClipboardSwf = '/flash/clipboard.swf';
dp.SyntaxHighlighter.HighlightAll('code');
</script>

对于最理想的效果,放置这些代码在你页面的最后。
检查 HighlightAll 函数以获得更多关于功能方面的详情。

<pre /> 和 <textarea />
关于 <pre /> 和 <textarea /> 的技术详情。

问题描述

使用 <pre /> 最基本的问题是无法向里面简单地复制和粘贴代码。
特别是把这些应用在 XML/HTML。

<pre /> 的问题是,浏览器会解析它里面的 HTML 代码,而在 <textarea /> 中的代码却不会被解析。
例如:

<pre><b>Hello</b></pre>

将会渲染 Hello,就像:

<textarea><b>Hello</b></textarea>

将会渲染:

<b>Hello</b>

如果你尝试使用 innerHTML 属性从 <pre /> 中取得 HTML,它将不会像你最初提供的 HTML 文件。
然而使用 <textarea />,属性值将返回你原先提供的内容。

结论

它让我想到了最后一点。
使用 <textarea />,你可以复制和粘贴源代码而不需要任何装饰修改。

使用 <pre />,你必须确认你的源代码不会被认为是 HTML,意思是你必须替换每个开头的三角括号 < 为 HTML 编码版的 &lt;。这足够让 <pre /> 标签良好工作。

Blogger 模式
Blogger 模式

Blogger 有一个恶劣的习惯,它会替换所有新行为 <br /> 标签,这让它不能提交代码为片段。

按照“Blogger 模式”准备的 1.5.1 版本环境,启用时需要在调用 HighlightAll() 函数之前调用 BloggerMode() 函数,如下面的例子:

dp.SyntaxHighlighter.BloggerMode();
dp.SyntaxHighlighter.HighlightAll('code');

备选方案
SyntaxHighlighter 备选方案。

客户端

  http://dean.edwards.name/my/examples/star-light/

服务器端

  http://qbnz.com/highlighter

痕迹
SyntaxHighlighter 在 Web 上的使用痕迹。

  Yahoo Developer Network
  Aptana

配置
代码块的配置选项。

配置选项

这些选项允许你单独设置文本选项。

nogutter将不显示边沟
nocontrols将不在顶部显示控制按钮
collapse将去除默认的块
firstline[value]将以 value 作为开始行计数,默认 value 是1
showcolumns将在首行显示行列数

这些选项将一起通过别名传递,并以冒号(:)为分隔符。

<pre name="code" class="html:nocontrols:firstline[10]">
... 一些代码 ...
</pre>


官方网站:http://code.google.com/p/syntaxhighlighter/
 

2008年12月15日星期一

Claroline 1.8.x 安装说明

 
  在你首次访问 Claroline 1.8.x 时(http://localhost/claroline1811/),将被提示一下信息:

WARNING ! SYSTEM UNABLE TO FIND CONFIGURATION SETTINGS.
If it is your first connection to your Claroline platform, read thoroughly INSTALL.txt file provided in the Claroline package.

警告!系统不能找到配置设置。
如果这是你第一次连接你的 Claroline 平台,请完全地阅读 Claroline 提供的 INSTALL.txt 文件。

  下面是对该文件的中文翻译。

Claroline 1.8

  感谢你下载 Claroline 1.8。
  该文本将通过 Claroline 1.8 基本的安装和操作来引导你。
  请确保在继续安装之前,你已经完全地阅读过。

目录

  1. 必要条件
  2. 安装步骤
    2.1 安装新的 Claroline
    2.2 在先前的 Claroline 版本上进行更新
  3. 发现并修复故障
  4. 管理

1. 必要条件

  a. 安装 Claroline 1.8 在计算机上,无论是本地还是远程,你的机器都需要以下操作系统之一:

      Linux / BSD / Unix (*)
      Windows (9x, Me, NT4, 2000, XP, Vista)
      MacOS X

    (*) 我们在 Debian、Ubuntu 和 Mandrake 发行版上彻底地进行了 Claroline 的测试,但其它 Linux 发行版也应该能够工作。
      我们已经收到用户在 Red Hat 和 Suse 上工作的明确的反馈信息。
      在遇到其它 Linux 发行版上工作的任何问题时,请不要犹豫,直接告知我们。

  b. 一个 Web 服务器(我们推荐 Apache,但其它的同样也能工作)。

  c. PHP 脚本语言(版本 4.3.10 及以上),配置一下模块:mysql, zlib, preg。
    大多数的 PHP4 编译发行版已经提供了以上模块。
    无论如何,Claroline 安装脚本将检查它们的存在。

    如果 PHP 设置没有配备:safe_mode = off,有些用户将会遇到问题。

  d. MySQL 数据库服务器(版本 4.0 及以上),外加通过帐号和密码登录来允许管理和创建至少一个数据库。

    Claroline 能够被安装于两种模式:“单一数据库”和“多数据库”。
    在“多数据库”模式中,Claroline 将为每个已经创建的课程创建一个新的数据库。
    该模式有时更适合于管理有着庞大数量的课程站点的平台。
    但是它意味着数据库账户将允许使用 Claroline 来创建和管理多个数据库。
    Claroline 默认设置将安装在“单一数据库”主机上。
    如果你想使用 Claroline 在“多数据库”模式,你必须在安装时特意地选择该项。

      警告:如果你使用“单一数据库”安装选项,它将被推荐只使用名为 Claroline 的数据库。
         如果你对其它应用程序共享了该数据库,在两个数据库的表名之间将发生干扰,会导致严重的问题。

  e. Claroline 被移动到或被解压到的 Web 目录需要 Web 写访问权限。
    在本地的 Windows 机器上,这不是个问题。
    远程地,你需要被允许通过 FTP、Telnet 或其它任何方式使用 CHMOD 命令(更改文件属性)。

  f. 邮件传输代理(MTA),这不是完全必须的。
    如果你没有提供 MTA,Claroline 一些功能将被悄悄地保留下来。
    大多数 Linux 发行版提供了 MTA(Sendmail, Qmail, PostFix...)。
    在 Windows 机器上,默认没有提供 MTA 功能。
    你可以修改 php.ini 文件来重定向邮件到一个 MTA 可用的其它机器上,或者安装 MTA 在 Claroline 服务器上。
    Windows 上有一些免费使用的 MTA(Mercury, Blat, Netmail95, WMailto, Hamster...)。

2. 安装步骤

  2.1 安装新的 Claroline

  a. 下载“claroline1811.tar.gz”。
    Windows:下载“claroline1811.zip”。

  b. 打开 Shell,来到下载目录并输入:tar -zxvf claroline1811.tar.gz。
    Windows:解压“claroline1811.zip”。

  c. 无论如何,通过 FTP 或移动将“index.php”文件和“claroline”目录放到你 Web 服务器的站点上(无论是 Web 根目录还是子目录)。
    “index.php”应该保留它原来的位置,即在“claroline”目录外面。

    Windows:如果你在本地使用 easyphp(),只需要拖放“index.php”文件和“claroline”目录到 C:\Program Files\easyphp\www\ 目录下即可。

  d. 该目录对于 everyone 要可读、可写和可运行:chmod ugo+w claroline1811/。

  e. 打开 Web 浏览器并来到:http://www.mydomain.org/mysite/mydir/claroline/install/。
    Windows:本地的 easyphp,打开:http://localhost/claroline/install/(不要忘记最后的 /)。

  f. 跟着下面的指导:

    Windows:如果你使用 easyphp 进行工作,MySQL 的帐号和密码应该保留为空。

  2.2 在先前的 Claroline 版本上进行更新

    更新工作只能从 Claroline 1.5.x、Claroline 1.6.x、Claroline 1.7.x 进行。
    更老的 Claroline 版本更新到 Claroline 1.8.x 之前,首先需要更新到 Claroline 1.5.x。

    在更新操作前,我们郑重推荐你完整备份先前的 Claroline 目录和数据库。
    如果你不确定怎样完成该操作,请询问你的主机提供商以获得建议。

  a. 下载“claroline1811.tar.gz”。
    Windows:下载“claroline1811.zip”。

  b. 打开 Shell,来到下载目录并输入:tar -zxvf claroline1811.tar.gz。
    Windows:解压“claroline1811.zip”。

  c. 使用新的“index.php”文件和“claroline”目录替换先前的内容。

      警告:在安装新的 Claroline 之前不要删除先前的目录。
         你将失去你先前的配置文件(例如“claro_main.conf.php”)。
         使用“copy”命令简单地将新的内容替换旧的目录。
         那样的话,新版本的文件将覆盖旧文件,并且完整保留其它的。

  d. 打开 Web 浏览器并来到:http://www.mydomain.org/mysite/mydir/claroline/admin/upgrade/upgrade.php。
    Windows:本地的 easyphp,打开:http://localhost/mydir/claroline/admin/upgrade/upgrade.php。

  e. 跟着下面的指导。

3. 发现并修复故障

  假设 Web 安装无法进行:

  如果必要,来到 http://www.claroline.net/ 并在支持论坛上提出问题。
  无论如何,如果这里已经对你的问题进行了解答,请查阅先前的消息。

4. 管理

  访问 Claroline 管理章节,打开 Web 浏览器并来到:http://www.mydomain.org/mysite/mydir/claroline/admin/。

欧洲,比利时,布鲁塞尔 2008 年 07 月 23 日

官方网站:http://www.claroline.net/
 

2008年12月6日星期六

NO.002 - 程序员.二进制运算规则

 
运算规则
加法(逢二进一)0 + 0 = 10 + 1 = 11 + 0 = 11 + 1 = 0(有进位)
减法(借一当二)0 - 0 = 00 - 1 = 1(有借位)1 - 0 = 11 - 1 = 0
乘法0 * 0 = 00 * 1 = 01 * 0 = 01 * 1 = 0
除法0 / 0 = 00 / 1 = 01 / 0 = 0(无意义)1 / 1 = 1