`
witcheryne
  • 浏览: 1100283 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

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

    博客分类:
  • node
 
阅读更多

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

 

 

  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进行持续构建

 

  • 大小: 150.7 KB
  • 大小: 29.5 KB
  • 大小: 51.8 KB
0
6
分享到:
评论
3 楼 manxisuo 2013-05-15  
请问一下,为啥报错:app不存在register方法啊
2 楼 witcheryne 2012-04-04  
wangyuhfut 写道
不错。已经尝试过了。准备在此基础上连接couchdb做个案例

我也想过, 连mongodb ...
后来把node 从0.4升到0.6, 现有代码报出一对bug(基本都是依赖问题), 之后就没再折腾...

你搞出来了分享一下经验
1 楼 wangyuhfut 2012-04-01  
不错。已经尝试过了。准备在此基础上连接couchdb做个案例

相关推荐

    Node.js-hexo-theme-material一个Hexo的Material主题

    Hexo 是一个快速、简洁且高效的静态站点生成器,它允许用户通过 Markdown 语言编写博客文章,然后通过 Hexo 转换为静态网页。而 "Material Theme" 是一套遵循谷歌 Material Design 设计规范的界面风格,以简洁、直观...

    node-v12.19.0-x64.msi(免费下载)

    对于Hexo,它是基于Node.js的静态网站生成器,尤其适合个人博客或者文档站点的搭建。它提供了一套简洁的Markdown语法,使得内容创作变得简单。通过安装和配置主题、插件,用户可以定制自己的网站样式和功能。当遇到...

    Node.js-StaticSiteBoilerplat-构建现代静态网站的更好工作流程

    标题 "Node.js-StaticSiteBoilerplat-构建现代静态网站的更好工作流程" 提到的是一种基于Node.js的静态网站生成器,它旨在提供一种高效、现代化的工作流程来创建静态网站。Node.js是一个开放源代码、跨平台的...

    Node.js-mdx-go⚡️闪电般快速基于MDX的开发服务器

    **Node.js-mdx-go:构建超快速的MDX开发服务器** MDX(Markdown + JSX)是一种流行的格式,它允许开发者在Markdown中嵌入React组件,为内容创作提供了强大的灵活性。`mdx-go`是一个专为MDX设计的开发服务器,其核心...

    Node.js-mdblog针对开发的人员的Markdown博客实现

    **Node.js-mdblog:Markdown博客系统实现** Node.js是一个基于Chrome V8引擎的JavaScript运行环境,它允许开发者使用JavaScript进行服务器端编程。在“mdblog”项目中,开发人员利用Node.js的强大功能构建了一个...

    Node.js-一个React.js静态网站生成器

    标题 "Node.js-一个React.js静态网站生成器" 指的是使用Node.js环境下的工具,如Gatsby.js,来创建基于React.js的静态网站。React.js是Facebook开发的一个JavaScript库,专门用于构建用户界面,尤其适合构建单页应用...

    Node.js-基于GatsbyJS的博客系统gatsby-starter-calpa-blog

    【标题】"Node.js-基于GatsbyJS的博客系统gatsby-starter-calpa-blog"涉及到的主要技术是Node.js和GatsbyJS,它们都是Web开发领域的关键工具。Node.js是一款开源、跨平台的JavaScript运行环境,它允许开发者在服务器...

    Node.js-Yohe一个静态博客生成器采用Node.js开发

    Yohe是一个基于Node.js开发的静态博客生成器,它的设计目标是帮助用户轻松地创建、管理和发布个人或团队的博客内容。Yohe这个名字是“哟呵”的拼音,寓意着当你使用它时,会不由自主地发出惊叹:“哟呵,不错哦!”...

    Node.js-一个MaterialDesign风格的Hexo主题

    Node.js是一个基于Chrome V8引擎的JavaScript运行环境,它让开发者能够在服务器端使用JavaScript编写程序。Node.js采用事件驱动、非阻塞I/O模型,使其轻量又高效,尤其适合构建数据密集型的实时应用。Hexo是一个快速...

    Node.js-Magical将markdown文件转换为静态网站

    Magical将markdown文件转换为静态网站

    Node.js-Raneto是一个开源的知识库平台它使用静态的Markdown文件来为知识库提供支持

    Raneto是用Node.js构建的,这是一个基于Chrome V8引擎的JavaScript运行时环境。Node.js以其事件驱动、非阻塞I/O模型而著名,特别适合用于构建高性能的网络应用,如API服务器、实时聊天应用和Web服务器。Raneto充分...

    Node.js-Cogear.JS是一个静态站点生成器使用Node.JS构建基于Webpack

    **Node.js-Cogear.JS** 是一个专为开发者设计的高效、开源的静态站点生成器,它基于强大的 **Node.js** 平台构建。利用 **Webpack** 的强大功能,这个工具能够帮助开发者轻松地创建和管理静态网页项目。与传统的动态...

    Git+node.js

    2. **Hexo**: Hexo 是一个快速、简洁且高效的静态博客框架,它使用 Markdown 编写博客文章,通过 Node.js 进行渲染生成静态 HTML 文件。首先,通过命令行工具安装 Hexo: ``` npm install hexo-cli -g ``` 3. **...

    基于Node.Js的Markdown博客系统Liblog.zip

    它是基于开源框架thinkJS(使用 ES6/7 特性开发 Node.js 框架)开发的nodejs项目 需要mysql数据库支持,具有管理后台功能,更新博客分为普通文章和markdown文章,markdown文章只需要导入你写好的Markdown文件即可。...

    Node.js-Reptar静态网站生成器

    **Node.js-Reptar静态网站生成器** Reptar是一个基于Node.js的静态网站生成器,它被设计用来简化和加速构建静态HTML站点的过程。在Web开发领域,静态网站生成器已经成为一种流行的工具,因为它们可以将动态内容转化...

    Node.js-Gloria是一个静态网站生成器如jekyll但使用JavaScript实现

    **Node.js-Gloria:用JavaScript打造的静态网站生成器** 在Web开发领域,静态网站生成器已经成为一种流行的趋势,它们允许开发者通过简单的文本编辑器创建内容,然后自动生成HTML、CSS和JavaScript文件,用于发布到...

    Node.js-maupassantHexo简洁博客主题

    Hexo是用JavaScript编写的,它允许用户快速地将Markdown或者其他文本格式的内容转换成静态网页,极大地简化了个人博客的创建和维护过程。 **Hexo框架** Hexo是一个流行的开源项目,用于快速、便捷地构建静态博客。...

    Node.js-JekyllNow让你在几分钟内构建Jekyll博客而不用接触命令行

    **Node.js与JekyllNow:快速构建静态博客的利器** JekyllNow是一个开源项目,由Barry Clark创建,它使得创建基于Jekyll的博客变得极其简单。Jekyll是一款静态站点生成器,通常需要通过命令行操作来搭建和管理。然而...

    Hexo - 采用Node.js开发的一个快速、简单和强大的博客框架.zip

    Hexo是一个基于Node.js的开源博客框架,以其快速、简洁且强大的特性深受开发者喜爱。它允许用户通过简单的配置和命令行工具快速搭建个人博客系统。Hexo的核心优势在于其高效的工作流程,它能够自动化处理文章的...

Global site tag (gtag.js) - Google Analytics