npm install markdown
var markdown = require( "markdown" ).markdown;
console.log( markdown.toHTML( "Hello *World*!" ) );content:markdown.toHTML(row.content),
var restify = require(‘restify‘);
var _ = require(‘underscore‘)._;
var sqlite3 = require(‘sqlite3‘).verbose();
var markdown = require( "markdown" ).markdown;
var db = new sqlite3.Database(‘sqlite3.db‘);
var server = restify.createServer();
var content = new Array();
server.use(
function crossOrigin(req,res,next){
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "X-Requested-With");
return next();
}
);
db.all("SELECT id,content,title,description,slug,created,updated,publish_date,keywords_string FROM blog_blogpost", function(err, rows) {
rows.forEach(function (row) {
content.push({
id:row.id,
slug:row.slug,
description:row.description,
title:row.title,
content:markdown.toHTML(row.content),
keywords:row.keywords_string,
created:row.created,
updated:row.updated,
publish_date:row.publish_date
});
});
function respond(req,res,next){
var data = content[req.params.name-1];
res.json(data, {‘content-type‘: ‘application/json; charset=utf-8‘});
}
function all(req,res,next){
var data = {blogposts_sum:rows.length};
res.json(data, {‘content-type‘: ‘application/json; charset=utf-8‘});
}
function respages(req,res,next){
var data = _.last(content,10);
data = data.reverse();
res.json(data, {‘content-type‘: ‘application/json; charset=utf-8‘});
}
server.get (‘/blog‘,all);
server.get (‘/blog/page/:page‘,respages);
server.head (‘/blog/page/:page‘,respages);
server.get (‘/blog/:name‘,respond);
server.head (‘/blog/:name‘,respond);
db.close();
});
server.listen(10086, function() {
console.log(‘%s listening at %s‘, server.name, server.url);
});
function Ctrl($scope, $sce) {
$scope.snippet =
‘<p style="color:blue">an html\n‘ +
‘<em onmouseover="this.textContent=\‘PWN3D!\‘">click here</em>\n‘ +
‘snippet</p>‘;
$scope.deliberatelyTrustDangerousSnippet = function() {
return $sce.trustAsHtml($scope.snippet);
};
}<pre><div ng-bind-html="deliberatelyTrustDangerousSnippet()">
<!doctype html>
<html lang="en" ng-app="blogposts">
<head>
<meta charset="utf-8">
<title>Phodal‘s New Homepage</title>
<script src="js/angular.min.js"></script>
<script src="js/app.js"></script>
</head>
<body ng-controller="postlistCtrl">
<div class="container-fluid">
<div class="row-fluid">
<div class="span10">
<ul class="posts">
<article ng-repeat="post in posts">
<h1>{{post.title}}</h1>
<p>{{post.description}}</p>
</article>
<article>
<div ng-bind-html="deliberatelyTrustDangerousSnippet()"></div>
</article>
</ul>
</div>
</div>
</div>
</body>
</html> var blogposts = angular.module(‘blogposts‘, []);
blogposts.controller(‘postlistCtrl‘, function($scope, $http, $sce) {
$http.get(‘http://0.0.0.0:10086/blog/page/1‘).success(function(data) {
$scope.posts = data;
});
$http.get(‘http://0.0.0.0:10086/blog/1‘).success(function(data) {
$scope.post1 = data;
console.log(data.content);
$scope.deliberatelyTrustDangerousSnippet = function() {
return $sce.trustAsHtml(data.content);
};
});
});网站重构——轻量化的网站架构设计四markdown angular,布布扣,bubuko.com
网站重构——轻量化的网站架构设计四markdown angular
原文:http://blog.csdn.net/phodal/article/details/21795991