From: Geoff Kimball Date: Mon, 12 Oct 2015 23:22:55 +0000 (-0700) Subject: Add basics of Inky template parsing in docs X-Git-Tag: v2.0.0-rc.1~89 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2130830815673d90968d497db352e8c1a85fc8a4;p=thirdparty%2Ffoundation%2Ffoundation-emails.git Add basics of Inky template parsing in docs --- diff --git a/docs/pages/button.md b/docs/pages/button.md index f26df629..18df121c 100644 --- a/docs/pages/button.md +++ b/docs/pages/button.md @@ -6,8 +6,6 @@ sass: ./scss/ink/components/_button.scss Lorem ipsum dolor sit amet, consectetur adipisicing elit. Hic repellendus deserunt, tenetur amet dolorum, fugiat minima quisquam ducimus ad. Numquam magnam possimus quae corporis sint assumenda, sit vel harum repellendus? -```html - - - +```inky +
This is a row!
``` diff --git a/lib/buildInkySample.js b/lib/buildInkySample.js new file mode 100644 index 00000000..3ba286d7 --- /dev/null +++ b/lib/buildInkySample.js @@ -0,0 +1,28 @@ +var Cheerio = require('cheerio'); +var Inky = require('inky'); +var format = require('string-template'); +var hljs = require('highlight.js'); +var multiline = require('multiline'); + +var INKY_TEMPLATE = multiline(function() {/* +
+
+    {1}
+  
+
+
+
+    {2}
+  
+
+*/}); + +module.exports = function(code) { + var $ = Cheerio.load(code); + var output = Inky.releaseTheKraken($, {}); + + var inkyCode = hljs.highlight('html', code).value; + var htmlCode = hljs.highlight('html', output.html()).value; + + return format(INKY_TEMPLATE, ['html', inkyCode, htmlCode]); +} diff --git a/lib/marked.js b/lib/marked.js index 4397d03a..4fa0cf2f 100644 --- a/lib/marked.js +++ b/lib/marked.js @@ -1,6 +1,7 @@ -var marked = require('marked'); -var format = require('string-template'); -var hljs = require('highlight.js'); +var marked = require('marked'); +var format = require('string-template'); +var hljs = require('highlight.js'); +var buildInkySample = require('./buildInkySample'); var mdRenderer = new marked.Renderer(); @@ -16,6 +17,10 @@ mdRenderer.heading = function(text, level) { mdRenderer.code = function(code, language) { var extraOutput = ''; + if (language === 'inky') { + return buildInkySample(code); + } + if (typeof language === 'undefined') language = 'html'; // If the language is *_example, live code will print out along with the sample