summaryrefslogtreecommitdiff
path: root/src/common/text/parse/elements/code.ts
diff options
context:
space:
mode:
authorAkihiko Odaki <nekomanma@pixiv.co.jp>2018-03-31 19:53:30 +0900
committerAkihiko Odaki <nekomanma@pixiv.co.jp>2018-03-31 20:30:28 +0900
commit7da60a0147116130a94274e4a20ae54dd7d59dea (patch)
tree442514d76f90ede80906659b14d5f7bbc531d32a /src/common/text/parse/elements/code.ts
parentSet empty array instead of null to mediaIds property of posts (diff)
downloadsharkey-7da60a0147116130a94274e4a20ae54dd7d59dea.tar.gz
sharkey-7da60a0147116130a94274e4a20ae54dd7d59dea.tar.bz2
sharkey-7da60a0147116130a94274e4a20ae54dd7d59dea.zip
Store texts as HTML
Diffstat (limited to 'src/common/text/parse/elements/code.ts')
-rw-r--r--src/common/text/parse/elements/code.ts17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/common/text/parse/elements/code.ts b/src/common/text/parse/elements/code.ts
new file mode 100644
index 0000000000..4821e95fe2
--- /dev/null
+++ b/src/common/text/parse/elements/code.ts
@@ -0,0 +1,17 @@
+/**
+ * Code (block)
+ */
+
+import genHtml from '../core/syntax-highlighter';
+
+module.exports = text => {
+ const match = text.match(/^```([\s\S]+?)```/);
+ if (!match) return null;
+ const code = match[0];
+ return {
+ type: 'code',
+ content: code,
+ code: code.substr(3, code.length - 6).trim(),
+ html: genHtml(code.substr(3, code.length - 6).trim())
+ };
+};