add highlight option for demos

This commit is contained in:
Philipp Kühn
2020-08-12 09:37:15 +02:00
parent 6d1a333171
commit eeac0fce37
8 changed files with 76 additions and 15 deletions

View File

@@ -0,0 +1,53 @@
<template>
<pre :class="`language-${language}`" :data-line="highlight"><code :class="`language-${language}`">{{ code }}</code></pre>
</template>
<script>
import Prism from 'prismjs'
import 'prismjs/plugins/line-highlight/prism-line-highlight.js'
import 'prismjs/plugins/line-highlight/prism-line-highlight.css'
export default {
props: {
language: {
default: 'js',
type: String,
},
code: {
default: null,
type: String,
},
highlight: {
type: String,
default: null,
},
},
watch: {
highlight() {
this.$nextTick(this.highlightCode)
},
},
methods: {
highlightCode() {
Prism.highlightAllUnder(this.$el)
}
},
mounted() {
this.highlightCode()
},
beforeDestroy() {
console.log('JOOOO')
},
}
</script>
<style>
</style>