Full url links/images in messages. 401 needs fix
This commit is contained in:
parent
ec9c8a56bf
commit
8c1960917c
1 changed files with 21 additions and 48 deletions
|
|
@ -1,74 +1,47 @@
|
||||||
<template>
|
<template>
|
||||||
<span
|
<span :class="classes" :style="styles">
|
||||||
:class="classes"
|
|
||||||
:style="styles"
|
|
||||||
>
|
|
||||||
<!-- {{ $md.renderInline(content) }} -->
|
<!-- {{ $md.renderInline(content) }} -->
|
||||||
<vue3-markdown-it
|
<vue3-markdown-it :source="content" v-bind="$mdOpts"></vue3-markdown-it>
|
||||||
:source="content"
|
</span>
|
||||||
v-bind="$mdOpts"
|
<!-- <div v-html="content"/> -->
|
||||||
></vue3-markdown-it>
|
<!-- {{ content }} -->
|
||||||
</span>
|
|
||||||
<!-- <div v-html="content"/> -->
|
|
||||||
<!-- {{ content }} -->
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
export default {
|
export default {
|
||||||
name: 'Header',
|
name: "Header",
|
||||||
props: [
|
props: ["message"],
|
||||||
'message'
|
|
||||||
],
|
|
||||||
computed: {
|
computed: {
|
||||||
rawJSON() {
|
rawJSON() {
|
||||||
return '```json\n' + JSON.stringify(this.message, null, 2) + '\n```'
|
return "```json\n" + JSON.stringify(this.message, null, 2) + "\n```";
|
||||||
},
|
},
|
||||||
content() {
|
content() {
|
||||||
return (
|
let url = process.env.VUE_APP_ZULIP_site;
|
||||||
this
|
let m = this.message.content.replace("\n", "<br/>");
|
||||||
.message
|
m = m.replaceAll('src="','src="' + url);
|
||||||
.content
|
m = m.replaceAll('href="/','href="' + url + "/");
|
||||||
.replace('\n', '<br/>')
|
return m
|
||||||
)
|
|
||||||
},
|
},
|
||||||
classes() {
|
classes() {
|
||||||
return (
|
return this.message.reactions.map((r) => "u" + r.emoji_code);
|
||||||
this
|
|
||||||
.message
|
|
||||||
.reactions
|
|
||||||
.map(r => 'u' + r.emoji_code)
|
|
||||||
)
|
|
||||||
},
|
},
|
||||||
styles() {
|
styles() {
|
||||||
return (
|
return this.$store.state.rules
|
||||||
this
|
.filter((r) => this.classes.includes("u" + r.emoji_code))
|
||||||
.$store
|
.map((r) => r.rules)
|
||||||
.state
|
|
||||||
.rules
|
|
||||||
.filter(r =>
|
|
||||||
this
|
|
||||||
.classes
|
|
||||||
.includes(
|
|
||||||
'u' + r.emoji_code
|
|
||||||
)
|
|
||||||
)
|
|
||||||
.map(r => r.rules)
|
|
||||||
.flat()
|
.flat()
|
||||||
.map(s => s.text)
|
.map((s) => s.text);
|
||||||
)
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
console.log(this.message.content)
|
console.log(this.message.content);
|
||||||
}
|
},
|
||||||
}
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
|
|
||||||
header {
|
header {
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
margin: 1em;
|
margin: 1em;
|
||||||
}
|
}
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
Loading…
Reference in a new issue