From 23cd085f4cf52dfdd2d00b75c2370cf34508a98a Mon Sep 17 00:00:00 2001 From: cel Date: Wed, 27 Dec 2017 14:18:30 -1000 Subject: Add codeInTextareas option --- README.md | 1 + lib/app.js | 1 + lib/render.js | 14 +++++++------- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 6d59e18..dcf2019 100644 --- a/README.md +++ b/README.md @@ -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 diff --git a/lib/app.js b/lib/app.js index 81f58f5..2483357 100644 --- a/lib/app.js +++ b/lib/app.js @@ -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) { -- cgit v1.2.3