diff options
-rw-r--r-- | README.md | 1 | ||||
-rw-r--r-- | lib/app.js | 1 | ||||
-rw-r--r-- | lib/render.js | 14 |
3 files changed, 9 insertions, 7 deletions
@@ -93,6 +93,7 @@ To make config options persistent, set them in `~/.ssb/config`, e.g.: - `showPrivates`: Whether or not to show private messages. Default is `true`. Overridden by `filter=all`. - `previewVotes`: Whether to preview creating votes/likes/digs (`true`) or publish them immediately (`false`). default: `false` - `ooo`: if true, use `ssb-ooo` to try to fetch missing messages in threads. also can set per-request with query string `?ooo=1`. default: `false` +`codeInTextareas`: if `true`, render markdown code blocks in textareas. if `false`, render them in `pre` tags. default: `false` ## TODO @@ -41,6 +41,7 @@ function App(sbot, config) { img_base: conf.img_base || (base + 'image/'), emoji_base: conf.emoji_base || (base + 'emoji/'), encode_msgids: conf.encode_msgids == null ? true : Boolean(conf.encode_msgids), + codeInTextareas: conf.codeInTextareas, } sbot.get = memo({cache: lru(100)}, sbot.get) diff --git a/lib/render.js b/lib/render.js index ace346d..fd357a0 100644 --- a/lib/render.js +++ b/lib/render.js @@ -63,15 +63,15 @@ MdRenderer.prototype.mention = function (preceding, id) { } MdRenderer.prototype.code = function (code, lang, escaped) { - if (void 'TODO: check a config option') { + if (this.render.opts.codeInTextareas) { + return h('div', h('textarea', { + cols: 80, + rows: u.rows(code), + innerHTML: escaped ? code : u.escapeHTML(code) + })).outerHTML + } else { return marked.Renderer.prototype.code.call(this, code, lang, escaped) } - // render as a textarea for better line wrapping in dillo - return h('textarea', { - cols: 80, - rows: u.rows(code), - innerHTML: escaped ? code : u.escapeHTML(code) - }).outerHTML } function lexerRenderEmoji(emoji) { |