用node.js建博客(三) - 用markdown写静态博客

如果是第一次看到本篇,你可能需要看前面两篇:

 

 

  1. 用node.js建博客(一) - node.js安装及Express框架简介
  2. 用node.js建博客(二) - 构建第一个markdown页面

如果你已经对node.js,express,或者markdown语法很熟悉,那么可以继续看如下内容。

 

 

上篇中,我为express添加了markdown支持,在render时,可以渲染*.md格式文件。

思路

 

  1. 将所有markdown文件(即:*.md文件),统一放到views/blogs目录下
  2. 将/blogs/*.html的url, 映射到markdown文件
  3. 在首页index.jade中,添加文章的链接

 

Let's do it (4步)

1. 在app.js中添加url处理代码:

 

app.get('/blogs/:title.html', function(req, res, next) {
    var path = [
        'blogs/',
        req.params.title, '.md'
    ].join('');
    
    console.log(path)
    res.render(path, {layout: false});
})

 

 在上篇中,已经提到过如何让express支持markdown:

 

app.register('.md', {
  compile: function(str, options){
    var html = markdown.makeHtml(str);
    return function(locals){
      return html.replace(/\{([^}]+)\}/g, function(_, name){
        return locals[name];
      });
    };
  }
});

 

 

2. 在views/blogs文件夹中添加*.md文件:

views/blogs/monitor_doc.md

 

monitor 项目说明
==============

部署环境
----    
----
1. JDK:	1.6_x 最好采用最新版本的JDK
2. Tomcat: 6.x	请不要使用tomcat5.5的安装版
3. 数据库:	支持SQL Server和Oracle, 如果需要切换数据库请看后面部分: _更换数据库环境_
	+ __SQLServer__:	修改oracleDriver_mssql2005.properties 中的配置
	+ __Oracle__:	修改oracleDriver.properties 中的配置 

 

  这个文件是我为测试/实施写得项目部署说明,截取了一段

 

3. views/index.jade中添加链接:

 

h1= title
p Welcome to #{title}
ul
    li
        a(href='/markdown') Markdown Demo page
    li
        a(href='/blogs/first.html') My First markdown blog
    li
        a(href='/blogs/monitor_doc.html') Monitor项目说明

 

4. 上传应用:

$ vmc login

  $ vmc update nodeblog --path ./

 

http://nodeblog.cloudfoundry.com/

看一下结果:

1. 首页

2. monitor_doc.md

 

这么简单!!!why?

对,是这么简单。在建这个博客的时候,我不想因为技术方面的问题分心,坚持keep simple原则,一步一步迭代,最总构建一个功能全面的动态blog

 

 

What next???

还没完,我还没添加错误处理,单元测试一行都没写。接下来开始如下工作:

 

  1. 添加404, 500等错误处理
  2. 采用Expresso/Vows,为blog添加单元测试.
  3. 采用CIJoe进行持续构建

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值