D.H.Q的烂笔头

Just code for fun~

Archive for 1, 2013

Zotonic 模块制作 -- HTML Sitemap

其实 Zotonic 已经有一个sitemap 的模块 -- mod_seo_sitemap,在 /moudules/mod_seo_sitemap 目录下,不过这个模块只生成 xml 格式的 sitemap,不方便浏览。恰好之前了解了下 Zotonic 模块结构 一些相关知识,学以致用,所以就仿照 mod_seo_sitemap 模块,做一个 HTML 版的sitemap -- mod_html_sitemap。

下面是 mod_html_sitemap 模块的目录结构图:

|----mod_sitemap_html
| |----dispatch
| | |----dispatch
| |----mod_sitemap_html.erl
| |----templates
| | |----_sitemap_html.tpl
| | |----sitemap_html.tpl

继续阅读 »

zotonic 的模块结构

zotonic 的模块是把跟模块功能相关的一些文件或文件夹统一放在一个以模块名命名的文件夹里。以之前介绍过的 mod_syntaxhighlighter 模块为例,它的目录架构如下:

|----mod_syntaxhighlighter
| |----lib
| | |----css
| | |----js
| |----templates
| | |----_html_body.tpl
| |----mod_syntaxhighlighter.erl

从上往下,mod_syntaxhighlighter 是模块的文件夹,模块文件夹下包含有资源文件夹lib、模板文件夹templates和模块的初始信息文件 mod_syntaxhighlighter.erl (跟模块名一样的erl文件),资源文件夹lib下还包含有css 文件夹和js文件夹(这两个文件夹里还含有若干css和js文件,由于篇幅省略)。

其实,zotonic 的模块一般由以下文件或文件夹组成:

继续阅读 »

用 Nginx 作为 Zotonic 的反向代理

之前的 Zotonic 安装配置时也说过,Zotonic 的默认访问端口是8000,就是访问网站的时候要在网站域名后面加上端口值8000,例如本站:http://dhq.me:8000/。这个值由 "/priv/config" 文件里的 listen_port 值决定,如果要改为像平常访问网站那样只填域名不用写上端口值8000访问的话,可以把 listen_port 的值改为80,重启 zotonic 就行(PS:有些系统(例如Mac)使用1024以下端口的话需要管理员权限,不然启动 zotonic 会失败)。

不过,如果你像我在 linode 的 VPS 上用 nginx 架设有其他非 zotonic 的网站,那么就需要用 nginx 来作反向代理。还好,官方有一篇介绍用nginx作反向代理的文档 -- 《Proxying Zotonic with nginx》。下面是我用 nginx 配置作反向代理的配置:

继续阅读 »

安装 zotonic 代码语法高亮模块 -- mod_syntaxhighlighter

对于一个对代码有严重洁癖的我来说,一直想给文章里的代码弄个语法高亮显示,起码看代码能看得舒服些吧。还好,在 zotonic模块库 里找到了一个代码高亮的模块 -- mod_syntaxhighlighter(也可以说是zotonic的插件吧)。其实这个模块可以说是现在广为流行使用的语法高亮显示 SyntaxHighlighter 在 zotonic 里的集成,也就是说这个模块是基于…

继续阅读 »

Zotonic 自定义类似QQ空间404的公益页面

最近在微博上看到 QQ 空间修改了自己的 HTTP 404 状态码 页面,用户打开了一个网站不存在的页面时,会显示如下图所示的画面:

QQ空间404

这种把公益融合在功能上的修改,由心的觉得很赞!

恰好本人有一个蔽站,这种利人不损自的事情,何乐而不为:^)。

对于404的公益数据,国内的 益播公益 有提供调用的API,只需在定义的404页面上加上一下代码就行:

<iframe scrolling='no' frameborder='0' src='http://yibo.iyiyun.com/js/yibo404' width='735' height='700' style="display:block;"></iframe>

继续阅读 »
返回顶部