Compare commits
	
		
			6 Commits
		
	
	
		
			b0a56bec64
			...
			db6c5f5079
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| db6c5f5079 | |||
| 3700c525ae | |||
| d70e660a79 | |||
| 4cda747412 | |||
| 68e4de75bf | |||
| bd548f16da | 
| @ -242,7 +242,7 @@ JavaScript module (or make requests to an API service that renders them for you) | |||||||
| ```javascript | ```javascript | ||||||
| var slim = exports.slimjs || require("slimjs"); | var slim = exports.slimjs || require("slimjs"); | ||||||
| function render(contentstr /*, desi*/) { | function render(contentstr /*, desi*/) { | ||||||
|   return PromiseA.resolve(slim(contentstr)); |   return Promise.resolve(slim(contentstr)); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| Desirae.registerRenderer(".slim", render); | Desirae.registerRenderer(".slim", render); | ||||||
|  | |||||||
| @ -5,7 +5,7 @@ | |||||||
|   function create(Desi) { |   function create(Desi) { | ||||||
|     // Chrome, Firefox, and even MSIE11+ all support crypto
 |     // Chrome, Firefox, and even MSIE11+ all support crypto
 | ||||||
|     var crypto = window.crypto || window.msCrypto, |     var crypto = window.crypto || window.msCrypto, | ||||||
|       PromiseA = window.Promise, |       Promise = window.Promise, | ||||||
|       algos; |       algos; | ||||||
| 
 | 
 | ||||||
|     // convenience mappings for common digest algorithms
 |     // convenience mappings for common digest algorithms
 | ||||||
| @ -111,7 +111,7 @@ | |||||||
|     function request() {} |     function request() {} | ||||||
|     request.get = function (url /*, query*/) { |     request.get = function (url /*, query*/) { | ||||||
|       // Return a new promise.
 |       // Return a new promise.
 | ||||||
|       return new PromiseA(function (resolve, reject) { |       return new Promise(function (resolve, reject) { | ||||||
|         // Do the usual XHR stuff
 |         // Do the usual XHR stuff
 | ||||||
|         var req = new XMLHttpRequest(); |         var req = new XMLHttpRequest(); | ||||||
|         req.onload = function () { |         req.onload = function () { | ||||||
| @ -139,7 +139,7 @@ | |||||||
|     }; |     }; | ||||||
|     request.post = function (url /*, query*/, body) { |     request.post = function (url /*, query*/, body) { | ||||||
|       // Return a new promise.
 |       // Return a new promise.
 | ||||||
|       return new PromiseA(function (resolve, reject) { |       return new Promise(function (resolve, reject) { | ||||||
|         // Do the usual XHR stuff
 |         // Do the usual XHR stuff
 | ||||||
|         var req = new XMLHttpRequest(); |         var req = new XMLHttpRequest(); | ||||||
|         req.onload = function () { |         req.onload = function () { | ||||||
|  | |||||||
| @ -1,7 +1,7 @@ | |||||||
| "use strict"; | "use strict"; | ||||||
| 
 | 
 | ||||||
| var PromiseA = require("bluebird").Promise, | var fs = require('fs').promises; | ||||||
|   fs = PromiseA.promisifyAll(require("fs")); | 
 | ||||||
| function create(Desi, options) { | function create(Desi, options) { | ||||||
|   var fsapi = Desi.fsapi; |   var fsapi = Desi.fsapi; | ||||||
|   options.blogdir = options.blogdir || options.working_path; |   options.blogdir = options.blogdir || options.working_path; | ||||||
| @ -35,7 +35,7 @@ function create(Desi, options) { | |||||||
| 
 | 
 | ||||||
|   fsapi.getCache = function () { |   fsapi.getCache = function () { | ||||||
|     return fs |     return fs | ||||||
|       .readFileAsync(options.blogdir, "/cache.json") |       .readFile(options.blogdir, "/cache.json") | ||||||
|       .catch(function (/*e*/) { |       .catch(function (/*e*/) { | ||||||
|         return {}; |         return {}; | ||||||
|       }) |       }) | ||||||
|  | |||||||
| @ -10,7 +10,7 @@ var safeResolve = require("../utils").safeResolve; | |||||||
| var sha1sum = function (str) { | var sha1sum = function (str) { | ||||||
|   return require("secret-utils").hashsum("sha1", str); |   return require("secret-utils").hashsum("sha1", str); | ||||||
| }; | }; | ||||||
| var fsExtra = PromiseA.promisifyAll(require("fs.extra")); | var copyAll = require("util").promisify(require("fs.extra").copy); | ||||||
| 
 | 
 | ||||||
| //, tmpdir        = require('os').tmpdir()
 | //, tmpdir        = require('os').tmpdir()
 | ||||||
| function strip(prefix, pathname) { | function strip(prefix, pathname) { | ||||||
| @ -48,7 +48,7 @@ function walkDir(parent, sub, opts) { | |||||||
|     return true; |     return true; | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   return new PromiseA(function (resolve) { |   return new Promise(function (resolve) { | ||||||
|     var walker = walk.walk(trueRoot); |     var walker = walk.walk(trueRoot); | ||||||
|     walker.on("nodeError", function (filepath, stat, next) { |     walker.on("nodeError", function (filepath, stat, next) { | ||||||
|       //stats.forEach(function (stat) {
 |       //stats.forEach(function (stat) {
 | ||||||
| @ -76,7 +76,7 @@ function walkDir(parent, sub, opts) { | |||||||
|         var file; |         var file; | ||||||
| 
 | 
 | ||||||
|         if (!filter(stat.name)) { |         if (!filter(stat.name)) { | ||||||
|           return PromiseA.resolve(); |           return Promise.resolve(); | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         file = { |         file = { | ||||||
| @ -93,12 +93,12 @@ function walkDir(parent, sub, opts) { | |||||||
|         files.push(file); |         files.push(file); | ||||||
| 
 | 
 | ||||||
|         if (!(opts.sha1sum || opts.content)) { |         if (!(opts.sha1sum || opts.content)) { | ||||||
|           return PromiseA.resolve(); |           return Promise.resolve(); | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         // TODO stream sha1 (for assets)
 |         // TODO stream sha1 (for assets)
 | ||||||
|         return fs |         return fs | ||||||
|           .readFileAsync(path.join(root, stat.name), null) |           .readFile(path.join(root, stat.name), null) | ||||||
|           .then(function (buffer) { |           .then(function (buffer) { | ||||||
|             var contents = buffer.toString("utf8"); |             var contents = buffer.toString("utf8"); | ||||||
|             file.sha1 = sha1sum(contents); |             file.sha1 = sha1sum(contents); | ||||||
| @ -144,7 +144,7 @@ function getfs(blogdir, filepaths) { | |||||||
|   return forEachAsync(filepaths, function (filepath) { |   return forEachAsync(filepaths, function (filepath) { | ||||||
|     var pathname = safeResolve(blogdir, filepath); |     var pathname = safeResolve(blogdir, filepath); | ||||||
|     return fs |     return fs | ||||||
|       .lstatAsync(pathname) |       .lstat(pathname) | ||||||
|       .then(function (stat) { |       .then(function (stat) { | ||||||
|         return fs.readFile(pathname, null).then(function (buffer) { |         return fs.readFile(pathname, null).then(function (buffer) { | ||||||
|           files.push({ |           files.push({ | ||||||
| @ -208,7 +208,7 @@ function copyfs(blogdir, files) { | |||||||
|     //, filename = path.basename(dest)
 |     //, filename = path.basename(dest)
 | ||||||
|     dirpaths[pathname] = true; |     dirpaths[pathname] = true; | ||||||
| 
 | 
 | ||||||
|     return PromiseA.resolve(); |     return Promise.resolve(); | ||||||
|   }) |   }) | ||||||
|     .then(function () { |     .then(function () { | ||||||
|       // TODO is it better to do this lazy-like or as a batch?
 |       // TODO is it better to do this lazy-like or as a batch?
 | ||||||
| @ -224,7 +224,7 @@ function copyfs(blogdir, files) { | |||||||
|       // TODO allow delete?
 |       // TODO allow delete?
 | ||||||
|       return forEachAsync(sources, function (source) { |       return forEachAsync(sources, function (source) { | ||||||
|         return fsExtra |         return fsExtra | ||||||
|           .copyAsync( |           .copyAll( | ||||||
|             safeResolve(blogdir, source), |             safeResolve(blogdir, source), | ||||||
|             safeResolve(blogdir, files[source]), |             safeResolve(blogdir, files[source]), | ||||||
|             { replace: true } |             { replace: true } | ||||||
| @ -276,7 +276,7 @@ function putfs(blogdir, files, options) { | |||||||
| 
 | 
 | ||||||
|     dirpaths[pathname] = true; |     dirpaths[pathname] = true; | ||||||
| 
 | 
 | ||||||
|     return PromiseA.resolve(); |     return Promise.resolve(); | ||||||
|   }) |   }) | ||||||
|     .then(function () { |     .then(function () { | ||||||
|       // TODO is it better to do this lazy-like or as a batch?
 |       // TODO is it better to do this lazy-like or as a batch?
 | ||||||
| @ -304,13 +304,9 @@ function putfs(blogdir, files, options) { | |||||||
|       return forEachAsync(files, function (file) { |       return forEachAsync(files, function (file) { | ||||||
|         // TODO use lastModifiedDate as per client request?
 |         // TODO use lastModifiedDate as per client request?
 | ||||||
|         // TODO compare sha1 sums for integrity
 |         // TODO compare sha1 sums for integrity
 | ||||||
|         // NOTE existsAsync is backwards
 |  | ||||||
|         return fs |         return fs | ||||||
|           .existsAsync(file.realPath) |           .access(file.realPath) | ||||||
|           .then(function () { |           .then(function () { | ||||||
|             return fs.writeFile(file.realPath, file.contents, "utf8"); |  | ||||||
|           }) |  | ||||||
|           .catch(function (/*exists*/) { |  | ||||||
|             if (file.delete || !file.contents) { |             if (file.delete || !file.contents) { | ||||||
|               return fs.unlink(file.realPath); |               return fs.unlink(file.realPath); | ||||||
|             } |             } | ||||||
| @ -321,6 +317,9 @@ function putfs(blogdir, files, options) { | |||||||
| 
 | 
 | ||||||
|             return fs.writeFile(file.realPath, file.contents, "utf8"); |             return fs.writeFile(file.realPath, file.contents, "utf8"); | ||||||
|           }) |           }) | ||||||
|  |           .catch(function () { | ||||||
|  |             return fs.writeFile(file.realPath, file.contents, "utf8"); | ||||||
|  |           }) | ||||||
|           .catch(function (e) { |           .catch(function (e) { | ||||||
|             putfsResults.errors.push({ |             putfsResults.errors.push({ | ||||||
|               type: "file", |               type: "file", | ||||||
|  | |||||||
| @ -2,13 +2,12 @@ | |||||||
| (function (exports) { | (function (exports) { | ||||||
|   "use strict"; |   "use strict"; | ||||||
| 
 | 
 | ||||||
|   var PromiseA = exports.Promise || require("bluebird").Promise; |  | ||||||
|   function renderMd(contentstr /*, desi*/) { |   function renderMd(contentstr /*, desi*/) { | ||||||
|     var markitdown = (exports.markdownit || require("markdown-it"))({ |     var markitdown = (exports.markdownit || require("markdown-it"))({ | ||||||
|       html: true, |       html: true, | ||||||
|       linkify: true, |       linkify: true, | ||||||
|     }); |     }); | ||||||
|     return PromiseA.resolve( |     return Promise.resolve( | ||||||
|       markitdown.render(contentstr) |       markitdown.render(contentstr) | ||||||
|       //.replace('"', '"')
 |       //.replace('"', '"')
 | ||||||
|       //.replace(''', "'")
 |       //.replace(''', "'")
 | ||||||
| @ -18,7 +17,7 @@ | |||||||
| 
 | 
 | ||||||
|   function renderNoop(contentstr /*, desi*/) { |   function renderNoop(contentstr /*, desi*/) { | ||||||
|     // hmmm... that was easy
 |     // hmmm... that was easy
 | ||||||
|     return PromiseA.resolve(contentstr); |     return Promise.resolve(contentstr); | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   function renderJade(contentstr, desi, options) { |   function renderJade(contentstr, desi, options) { | ||||||
| @ -30,7 +29,7 @@ | |||||||
|     var jade = exports.jade || require("jade"), |     var jade = exports.jade || require("jade"), | ||||||
|       fn = jade.compile(contentstr, options), |       fn = jade.compile(contentstr, options), | ||||||
|       html = fn(desi); |       html = fn(desi); | ||||||
|     return PromiseA.resolve(html); |     return Promise.resolve(html); | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   exports.DesiraeRenderMarkdown = renderMd.DesiraeRenderMarkdown = renderMd; |   exports.DesiraeRenderMarkdown = renderMd.DesiraeRenderMarkdown = renderMd; | ||||||
|  | |||||||
							
								
								
									
										2
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										2
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							| @ -1,6 +1,6 @@ | |||||||
| { | { | ||||||
|   "name": "desirae", |   "name": "desirae", | ||||||
|   "version": "0.12.0", |   "version": "0.12.3", | ||||||
|   "lockfileVersion": 1, |   "lockfileVersion": 1, | ||||||
|   "requires": true, |   "requires": true, | ||||||
|   "dependencies": { |   "dependencies": { | ||||||
|  | |||||||
| @ -1,6 +1,6 @@ | |||||||
| { | { | ||||||
|   "name": "desirae", |   "name": "desirae", | ||||||
|   "version": "0.12.0", |   "version": "0.12.3", | ||||||
|   "description": "An in-browser static blog library and static site generator. Similar to Jekyll, Octopress, Nanoc, etc", |   "description": "An in-browser static blog library and static site generator. Similar to Jekyll, Octopress, Nanoc, etc", | ||||||
|   "main": "desirae.js", |   "main": "desirae.js", | ||||||
|   "scripts": { |   "scripts": { | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user