Browse Source
logs-content: Replaced old post rendering with actual irc caret notation parsing.
master
logs-content: Replaced old post rendering with actual irc caret notation parsing.
master
Gisle Aune
6 years ago
7 changed files with 84 additions and 40 deletions
-
23marko/components/irc-caret-notation/component.js
-
5marko/components/irc-caret-notation/index.marko
-
34marko/page/logs-content/components/post/component.js
-
10marko/page/logs-content/components/post/index.marko
-
46marko/page/logs-content/components/post/style.less
-
5package-lock.json
-
1package.json
@ -0,0 +1,23 @@ |
|||
const {parse, BOLD} = require("irc-caret-notation") |
|||
|
|||
module.exports = class { |
|||
onCreate() { |
|||
this.state = { |
|||
paragraphs: [], |
|||
prev: "", |
|||
} |
|||
} |
|||
|
|||
onInput(input) { |
|||
if (this.state == null) { |
|||
return |
|||
} |
|||
|
|||
if (input.source != this.state.prev) { |
|||
this.state.prev = input.source |
|||
this.state.paragraphs = input.source.split("\n").filter(l => l.length > 0).map(l => parse(l, { |
|||
"*": (!(input.source.startsWith("(")) ? BOLD : null), |
|||
})) |
|||
} |
|||
} |
|||
} |
@ -0,0 +1,5 @@ |
|||
<div class=["irc-caret-notation", input.class]> |
|||
<p for(p in state.paragraphs)> |
|||
<span for(chunk in p) class=chunk.cssClasses("icn-")>${chunk.text}</span> |
|||
</p> |
|||
</div> |
Write
Preview
Loading…
Cancel
Save
Reference in new issue