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