如何愉快地学习网页编程

之前有同学和我说想学习网页编程,我随口答应帮忙,却一直到现在才有空写写。网页编程的教材网上有很多了,我只是搜罗一下,并附上一些学习建议。 继续阅读 →

校内维基的构想与实现

在写下这一篇的时候,我们的维基还是一个知名度不高的校内网站。经过近一年的尝试调整,渐渐得到了发展的方向。去年的时候,我们开始构想一个校内百科。动机很简单,我们觉得每个大学都会需要一个百科全书样的东西。我们的参考目标是维基百科,依靠mediawiki和理想化的社群模式运作。而在这之前,至少有五个类似的网站已经失败。

开始的时候我们有一系列定位和发展规划。制订了内容收录规范,以及社群守则。因为蓝本是维基百科,所以我们觉得它会像维基百科一样依靠用户贡献发展。问题是很多事情不一样。

首先是网站本身的意义。学生们并不是非常需要了解学校的历史,建筑和人物。即便需要的时候,他们也会去查询谷歌搜索。基本的信息维基百科都可以包含,我们只是做了一个更详细的工作,却花费了太多时间。既然是内容主导的网站,什么样的内容最被需要才是关键。

然后说说用户群体。我们的用户群体,是本校学生和教师。我们希望大家能通过此平台分享知识,互助协作。然而师生对此理念并不了解,网站在大多数人眼里仍是一个放内容的工具。一个开始就没有内容的网站,如何让用户参与其中呢?他们会怀疑网站未来的延续问题。

在技术上同样存在麻烦。mediawiki的内容编辑是通过代码实现的,十分复杂,而且不够直观。这严重阻碍了一般用户的参与。

我们的运营也有不少失误。太多的限制和质量要求让早期的内容积累举步维艰。像版权问题,我们并没有能力去验证,实际上是形同虚设的要求。

后来我们陆续进行了几项改变。

收录内容范围扩充,计划成为校内资料库。包含校内信息,在线教材,学习经验,共享文件等。

组建内部编辑组,积累原始内容。我们还通过技术从其他网站导入信息。内容积累足够多,用户对它的认可度也会增加。

在可视化编辑器部署之前,我们通过提供简捷的帮助,降低用户参与的难度。

同时也取消了不可执行的规则,以促进早期的内容积累。

现在的校内维基,已经改变了很多。我们很希望它会是一个成功的网站。

MediaWiki MathJax数学公式

原理

MediaWiki的插件一般由php脚本和javascript脚本组成,直接上传到服务器,并在配置文件内添加插件路径即可使用。

Math插件的安装比较繁琐,因为它还依赖于其他本地应用程序,如mineTex。Math是一个统一化的接口,用户使用同样的数学公式代码,却可以通过不同方式生成公式。这些方式包括:PNG图片,LaTex,Tex,HTML,MathML等。而Math并没有实现这些功能的模块,需要调用其它应用程序。

目前默认的后端是Texvc,它可以生成PNG图片。这种方式需要服务器安装mineTex本地应用程序。然而对于共享空间上的站点来说,可能无法安装软件。PNG图片的显示效果也不好,在屏幕分辨率高的情况下不够清晰平滑,不能随文本缩放。因此,MediaWiki未来将会采用另一种表现更好的方式——Mathjax。

MathJax是一个开源的JavaScript数学公式显示引擎,适用于几乎所有现代浏览器。它被广泛应用于Wiki,WordPress博客等站点。使用它非常简单,只要在网页上的head标签内加入

<script type="text/javascript"
   src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>

即可。对于WordPress,MediaWiki等平台,若需要在整个站点启用此特性,则应在站点皮肤的HTML/PHP脚本中添加。

可以看出,这实际上是调用了MathJax在线引擎,JavaScript脚本存放于远程服务器上。若是在本地局域网内不能访问国际互联网,则可以下载MathJax并安装在本地,链接修改为本地站点。

步骤

对于MediaWiki,通过Math插件添加更加方便控制,且能应用于所有皮肤中。

第一步,下载Math插件

第二步,上传Math插件。将插件解压并将文件夹上传到extension目录中,命令文件夹为Math。

第三步,注册Math插件。打开LocalSettings.php,在插件注册部分添加:

require_once("$IP/extensions/Math/Math.php");

第四步,配置Math插件。打开/extensions/Math/Math.php,更改如下几条配置信息:
1.关闭Tex

$wgUseTeX = false;

2.开启MathJax

$wgUseMathJax = true;

3.设MathJax为默认

$wgDefaultUserOptions['math'] = MW_MATH_MATHJAX;

Math默认调用MathJax官方网站的引擎。若你在不连接国际互联网的情况下使用,或者希望使用自己的服务器提高效率,可以安装自己的MathJax引擎。

第一步,下载MathJax引擎

第二步,上传MathJax到服务器。

第三步,修改Math插件配置:

$wgMathJaxUrl = 'http://yoursite.org/mathjax/MathJax.js?config=TeX-AMS_HTML';

URL修改为你的MathJax引擎所在的位置。

对于学校内,企业内,组织内的网络系统,可以搭建一个开放MathJax引擎,供所有内部站点使用。

《Code Rush》(奔腾的代码)

phpBB图片缩放插件安装

phpBB本身可谓几近节俭之极,甚至没有自动缩放图片的功能。

因此我们需要安装MOD,ReIMG是个不错的选择。

首先在phpBB官方网站下载此插件。

然后按照安装说明,上传文件到ftp,并修改相应文件。

最后是安装,在浏览器中输入域名+安装文件install-reimg.php。安装完成。

这时可能还不能立即看到效果,必须在管理面板首页“清空缓存”。

这时,reimg可以在默认phpBB主题下使用,但如果你想在自定义主题下使用,就需要同样照安装说明修改其他风格文件夹中的文件,并上传mod文件夹到每个风格的template文件夹中。

再见,Thunderbird

对很多人来说,Thunderbird应该算是老朋友了吧。除了Outlook之外,Thunderbird应该算得上最流行的邮件软件了。

正当它如日中天的时候,Mozilla基金会宣布停止了Thunderbird的开发。我们不得不与可爱的蓝鸟说再见了。

Thunderbird 的谢幕,标志着上一个时代结束。那时候,计算机,本地程序就是我们的全部,而互联网只不过是服务于本地软件的附庸。而现在,越来越多的功能被转移到web 上,我们在网页上收发邮件、聊天、编辑文档、甚至远程会议。在本地管理庞杂而无条理的资源,应对一堆复杂繁琐的软件,实在是令人恼火。相对的,web上正 引导一种快速、便捷、稳定的生活方式。我们不必再理会是否需要安装软件,它如何使用,它崩溃又该怎么办。只要打开网页,完成工作就行了。

未来,mailto标签会立即将我们引导到一个页面,而不是花几十秒打开一个邮件程序。这是时代思维与观念的转变。