| // Copyright 2015 The Vanadium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style |
| // license that can be found in the LICENSE file. |
| |
| var marked = require('marked'); |
| |
| // Omits the given text. |
| exports.hidden = function(text) { |
| return ''; |
| }; |
| |
| // Creates an info block. |
| exports.info = function(text) { |
| return '<div class="note info">' + marked(unindent(text)) + '</div>\n'; |
| }; |
| |
| // Creates a warning block. |
| exports.warning = function(text) { |
| return '<div class="note warning">' + marked(unindent(text)) + '</div>\n'; |
| }; |
| |
| // Creates a code block with no copy-to-clipboard button. |
| exports.code = function(text) { |
| return mkcode(text, 'noclipboard'); |
| }; |
| |
| // Creates a code block with no copy-to-clipboard button and no syntax |
| // highlighting. |
| exports.codeoutput = function(text) { |
| return mkcode(text, 'noclipboard nohighlight'); |
| }; |
| |
| //////////////////////////////////////// |
| // Internal helpers |
| |
| // Used by code and codeoutput. |
| function mkcode(text, className) { |
| // Drop any leading or trailing whitespace. |
| text = text.replace(/^\s+|\s+$/g, ''); |
| return '<pre><code class="' + className + '">' + text + '</code></pre>\n'; |
| } |
| |
| // Removes leading tabs and spaces from lines in text. |
| function unindent(text) { |
| return text.replace(/^[ \t]+/gm, ''); |
| } |