diff options
Diffstat (limited to 'src/client/components/code-core.vue')
| -rw-r--r-- | src/client/components/code-core.vue | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/src/client/components/code-core.vue b/src/client/components/code-core.vue new file mode 100644 index 0000000000..a9253528d9 --- /dev/null +++ b/src/client/components/code-core.vue @@ -0,0 +1,34 @@ +<template> +<x-prism :inline="inline" :language="prismLang">{{ code }}</x-prism> +</template> + +<script lang="ts"> +import Vue from 'vue'; +import 'prismjs'; +import 'prismjs/themes/prism-okaidia.css'; +import XPrism from 'vue-prism-component'; +export default Vue.extend({ + components: { + XPrism + }, + props: { + code: { + type: String, + required: true + }, + lang: { + type: String, + required: false + }, + inline: { + type: Boolean, + required: false + } + }, + computed: { + prismLang() { + return Prism.languages[this.lang] ? this.lang : 'js'; + } + } +}); +</script> |