如果是第一次看到本篇,你可能需要看前面两篇:
- 用node.js建博客(一) - node.js安装及Express框架简介
- 用node.js建博客(二) - 构建第一个markdown页面
如果你已经对node.js,express,或者markdown语法很熟悉,那么可以继续看如下内容。
上篇中,我为express添加了markdown支持,在render时,可以渲染*.md格式文件。
思路
- 将所有markdown文件(即:*.md文件),统一放到views/blogs目录下
- 将/blogs/*.html的url, 映射到markdown文件
- 在首页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???
还没完,我还没添加错误处理,单元测试一行都没写。接下来开始如下工作:
- 添加404, 500等错误处理
- 采用Expresso/Vows,为blog添加单元测试.
- 采用CIJoe进行持续构建
- 大小: 150.7 KB
- 大小: 29.5 KB
- 大小: 51.8 KB
分享到:
相关推荐
Magical将markdown文件转换为静态网站
它是基于开源框架thinkJS(使用 ES6/7 特性开发 Node.js 框架)开发的nodejs项目 需要mysql数据库支持,具有管理后台功能,更新博客分为普通文章和markdown文章,markdown文章只需要导入你写好的Markdown文件即可。...
将GitHub风格的markdown解析为静态html。 安装 通过npm安装。 $ npm install [--global] github-markdown 用法 解析标准输入。 $ cat readme.md | ghmd --stdin 解析markdown文件。 # readme.html $ ghmd readme...
开源,高性能,并与Vue.js,React和每个现代前端框架配合使用。它允许您从Markdown,Pug,EJS或任何其他节点编译的标记语言生成页面,并通过FTP或SFTP将它们上传到服务器。
单元测试由Mocha模块提供支持,进行单元测试请在终端中执行以下命令:mocha 测试用例.test.js运行运行博客,请在配置好Node.js与Express框架及其他模块后,执行以下命令:npm start bin/www或者你也可以使用Forver...
Raneto是一个开源的知识库平台,它使用静态的Markdown文件来为知识库提供支持
Loppo 一个非常简单的markdown文档网站生成器
本项目是一个基于Node.js和Express框架开发的静态网页设计,包含37个文件,主要文件类型包括JavaScript脚本、HTML页面、CSS样式表、图片、地图文件、Git忽略文件、Markdown文档、SQL数据库文件、JSON配置文件和图标...
Loppo是Markdown文档的极其简单的静态站点生成器。 您只需一个命令即可获得站点。 请访问演示。 具有简单的配置(示例),简单的站点结构(示例),友好的模板语法(e Loppo是markdown文档的极其简单的静态站点生成...
npm install ngx-markdown --save 当库使用解析器时,您将需要将node_modules/marked/lib/marked.js到您的应用程序中。 如果您使用的是 ,则可以按照下面的angular.json示例进行操作... "scripts": [+ "node_...
特别是基于JavaScript的静态网站生成器(例如Gatsby,Next.js)的用户。 用法 node_module./bin mdg today_whether # => blog/today_whether.md 配置 我建议您在根目录下创建mdg.config.js ,以便可以创建默认模板...
它是单用户的,没有用node.js编写的数据库应用程序。特征简单的发布机制-使用单个命令没有数据库或静态文件服务器-所有数据都保存在文件中博客文章是单个文件,包含它们自己的配置可以处理多种语言可以标记帖子并...
wo-markdown-博客 将Markdown文件渲染为网页。 开始 分叉,或者npm install wo-markdown-blog ; npm install和bower install 。 写 将所有商品降价文件放在dir'src / articles /'; “ src / articles / readme.md...
静态现场表达static-site-express是使用EJS和Markdown的基于Node.js的简单静态站点生成器。 将您的静态站点部署到Netlify或您喜欢的任何平台。 适用于博客,文档站点,爱好项目等。2021年文档安装static-site-...
简单节点降价博客简单节点降价博客在具有自动搜索和分类功能的简单博客的上下文中,simple-node-markdown-blog本质上是一个静态站点生成器。 它不需要数据库。 它没有管理面板或发布工具。 在运行应用程序之前,帖子...
NOSSG 的意思是“NOde.js 驱动的静态站点生成器”。 该项目才刚刚开始。 ###特征: 具有便捷功能的降价编辑器 实时预览从 Markdown 转换的 html 预览要发布的最终站点 添加页面信息(标题、描述等) 你可以...
Batfish旨在为使用React和Webpack构建出色的静态网站提供必要的基础。 (通用)React。 使用React组件作为构建基块。 您的组件将在构建时呈现到HTML页面中,然后在运行时安装在浏览器中以实现交互性。 超级强大的...
gaby.dev ... _tools有一个Node.js脚本,该脚本按照posts/_template-post-dir的模板来解析posts文件夹以呈现HTML中的Markdown文章。 它还会更新所有页面上的帖子链接,并能够从降价文件中导入时间戳。
drupal-to-markdown是一个Node.js实用程序,用于从Drupal 7数据库中抓取数据,将文件转换为格式正确的Markdown,处理链接和重定向以及将结果输出到文件夹,以供选择的(我最喜欢的是(Metalsmith)[ ])。...