util.transMarkdown = function (blog) { var html = md.render(blog.content); html = hl(html, false, true); return html; }
var data = filenames.map(function (filename) { var extname = path.extname(filename), basename = path.basename(filename, extname); return { name: changeCase.camelCase(basename), filename: path.relative(process.cwd(), filename), data: highlight( "var config = " + JSON.stringify(require(filename), null, 4) ).replace('<span class="keyword">var</span> config = ','') } });
$(this.content).each(function() { var text = ''; [].concat(this.text).forEach(function(line) { if (line) { text += line + '\n'; } }); if (this.code) { $content.append($('<pre>').append($('<code class="' + this.code + '">').text(highlight(text)))); } else { $content.append($('<p>').text(text)); } });
function parseMarkdown (text) { var tokens = marked.lexer(text) , l = tokens.length , token; for (var i = 0; i < l; i++) { token = tokens[i]; if (token.type == 'code') { token.text = highlight(token.text); token.escaped = true; } } text = marked.parser(tokens); return text; };
fs.readFile(CE.absPath(), function (err, data) { if (err) return;//throw err; data = data.toString(); try { switch (info.ext) { case 'md': case 'markdown': var md = require("node-markdown").Markdown; content = md(data); //CE.Kern.log('Markdown parsing content of '+ info.name, content); break; case 'txt': case 'readme': content = '<pre>'+ data +'</pre>'; break; case 'php': case 'rb': case 'inc': case 'js': case 'coffee': var hl = require("highlight").Highlight; content = hl(data); break; } if (content != data) { content = '<div role="document-body"><div class="parsed">'+ content +'</div>'; content += '<form class="unparsed-content"><div class="inner"><textarea name="content">'+ data +'</textarea></div></form></div>'; } CE.set(K.analyse(content), {silent: true}); } catch (e) { CE.set({ error: e, title: 'Parsing error', regions: { main: e.message } }, {silent: true}); } });
util.transLiteMarkdown = function (blog) { var str = blog.content, count; str = str.replace(/(\r\n|\n|\r)/g, "\n"); count = count_lines(str); if (count > 5) { str = getLineStr(str, 5); } var html = md.render(str); html = hl(html, false, true); return html; }
var buildItem = function(item, path) { if (!item || !item.key || !item.path) { tools.log((item.name || item.key) + ' syntax error ' + path); return; } var html = tools.fileRead(path + item.path, CONFIG.encode); if (!html) { tools.log((item.name || item.key) + ' load error ' + path); return; } var itemHtml = BUFFER.template.item.replace(new RegExp('{%item_key%}', 'g'), item.key); itemHtml = itemHtml.replace(new RegExp('{%item_name%}', 'g'), item.name || item.key); itemHtml = itemHtml.replace(new RegExp('{%item_info%}', 'g'), item.info || ''); itemHtml = itemHtml.replace(new RegExp('{%item_code%}', 'g'), hl(html)); itemHtml = itemHtml.replace(new RegExp('{%item_element%}', 'g'), html); BUFFER.preview += itemHtml; BUFFER.navigation += '<a href="#' + item.key + '">' + (item.name || item.key) + '</a>'; };
highlight: function( code ){ return Highlight(code).value; }
.map(function (key) { return { name: key, content: highlight(data[key].toString()) } })
t = t.replace(/<code>[^<]+<\/code>/g, function(code) { return "<pre><code>" + prettyfy(code.match(/<code>([\s\S]+)<\/code>/)[1]) + "</code></pre>"; })
tips.forEach(function (tip) { if (tip.example) { tip.example = hl(tip.example.join('\n')); } });
highlight: function(code, lang) { var html = hl(code); return html }