Skip to content

Commit 5ab732e

Browse files
author
hojas
committed
v2.0.0
1 parent f198903 commit 5ab732e

27 files changed

+10332
-2843
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,3 +21,5 @@ dist-ssr
2121
*.njsproj
2222
*.sln
2323
*.sw?
24+
25+
.nuxt

README.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,13 @@ $ npm install vue-markdown-viewer
1515
```vue
1616
<script lang="ts" setup>
1717
import { ref } from 'vue'
18-
import { VueMdRender } from 'vue-markdown-viewer'
18+
import { VueMarkdownRender } from 'vue-markdown-viewer'
1919
2020
const md = ref('## hi')
2121
</script>
2222
2323
<template>
24-
<VueMdRender>{{ md }}</VueMdRender>
24+
<VueMarkdownRender>{{ md }}</VueMarkdownRender>
2525
</template>
2626
```
2727

@@ -30,16 +30,16 @@ Use a plugin to support gfm:
3030
```vue
3131
<script lang="ts" setup>
3232
import { ref } from 'vue'
33-
import { VueMdRender } from 'vue-markdown-viewer'
33+
import { VueMarkdownRender } from 'vue-markdown-viewer'
3434
import remarkGfm from 'remark-gfm'
3535
3636
const md = ref('## hi')
3737
</script>
3838
3939
<template>
40-
<VueMdRender :remark-plugins="[remarkGfm]">
40+
<VueMarkdownRender :remark-plugins="[remarkGfm]">
4141
{{ md }}
42-
</VueMdRender>
42+
</VueMarkdownRender>
4343
</template>
4444
```
4545

@@ -48,7 +48,7 @@ Use a plugin to support syntax highlight:
4848
````vue
4949
<script lang="ts" setup>
5050
import { ref } from 'vue'
51-
import { VueMdRender } from 'vue-markdown-viewer'
51+
import { VueMarkdownRender } from 'vue-markdown-viewer'
5252
import rehypeHighlight from 'rehype-highlight'
5353
5454
const md = ref(`
@@ -61,9 +61,9 @@ console.log("hi")
6161
</script>
6262
6363
<template>
64-
<VueMdRender :rehype-plugins="[rehypeHighlight]">
64+
<VueMarkdownRender :rehype-plugins="[rehypeHighlight]">
6565
{{ md }}
66-
</VueMdRender>
66+
</VueMarkdownRender>
6767
</template>
6868
````
6969

package.json

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
{
22
"name": "vue-markdown-viewer",
33
"type": "module",
4-
"version": "1.0.1",
5-
"packageManager": "pnpm@8.14.1",
4+
"version": "2.0.0",
5+
"packageManager": "pnpm@9.0.6",
66
"license": "MIT",
77
"repository": "hojas/vue-markdown-viewer",
88
"bugs": "https://github.com/hojas/vue-markdown-viewer/issues",
@@ -21,17 +21,17 @@
2121
".": {
2222
"types": "./dist/index.d.ts",
2323
"import": "./dist/vue-markdown-viewer.js",
24-
"require": "./dist/vue-markdown-viewer.umd.cjs"
24+
"require": "./dist/vue-markdown-viewer.cjs"
2525
}
2626
},
27-
"main": "./dist/vue-markdown-viewer.umd.cjs",
27+
"main": "./dist/vue-markdown-viewer.cjs",
2828
"module": "./dist/vue-markdown-viewer.js",
2929
"types": "./dist/index.d.ts",
3030
"files": ["dist"],
3131
"scripts": {
32-
"dev": "node ./scripts/dev.cjs",
32+
"dev:vue": "node ./scripts/dev.cjs --demo=vue",
33+
"dev:nuxt": "node ./scripts/dev.cjs --demo=nuxt",
3334
"build": "node ./scripts/build.cjs",
34-
"build:demo": "node ./scripts/build-demo.cjs",
3535
"lint": "eslint .",
3636
"push": "pnpm build && npm publish"
3737
},
@@ -42,12 +42,12 @@
4242
"unified": "^11.0.4"
4343
},
4444
"devDependencies": {
45-
"@antfu/eslint-config": "^2.6.3",
46-
"@types/node": "^20.11.5",
47-
"eslint": "^8.56.0",
45+
"@antfu/eslint-config": "^2.16.1",
46+
"@types/node": "^20.12.8",
47+
"eslint": "^9.2.0",
4848
"shelljs": "^0.8.5",
49-
"typescript": "^5.3.3",
50-
"vite": "^5.0.12",
51-
"vue-tsc": "^1.8.27"
49+
"typescript": "^5.4.5",
50+
"vite": "^5.2.11",
51+
"vue-tsc": "^2.0.16"
5252
}
5353
}

packages/demo/package.json

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,24 +7,23 @@
77
"build": "vite build"
88
},
99
"dependencies": {
10-
"github-markdown-css": "^5.5.0",
10+
"github-markdown-css": "^5.5.1",
1111
"highlight.js": "^11.9.0",
12-
"katex": "^0.16.9",
13-
"mermaid": "^10.6.1",
12+
"katex": "^0.16.10",
13+
"mermaid": "^10.9.0",
1414
"rehype-highlight": "^7.0.0",
1515
"rehype-katex": "^7.0.0",
16-
"rehype-raw": "^7.0.0",
1716
"rehype-slug": "^6.0.0",
1817
"remark-gfm": "^4.0.0",
1918
"remark-math": "^6.0.0",
2019
"remark-toc": "^9.0.0",
21-
"vue": "^3.4.3",
20+
"vue": "^3.4.26",
2221
"vue-markdown-viewer": "workspace:*"
2322
},
2423
"devDependencies": {
25-
"@vitejs/plugin-vue": "^5.0.2",
26-
"typescript": "^5.3.3",
27-
"vite": "^5.0.10",
28-
"vue-tsc": "^1.8.27"
24+
"@vitejs/plugin-vue": "^5.0.4",
25+
"typescript": "^5.4.5",
26+
"vite": "^5.2.11",
27+
"vue-tsc": "^2.0.16"
2928
}
3029
}

packages/demo/src/App.vue

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,15 @@
22
import 'github-markdown-css/github-markdown-dark.css'
33
import 'highlight.js/styles/night-owl.css'
44
import 'katex/dist/katex.css'
5+
56
import remarkGfm from 'remark-gfm'
67
import remarkToc from 'remark-toc'
78
import remarkMath from 'remark-math'
89
import rehypeSlug from 'rehype-slug'
9-
import rehypeRaw from 'rehype-raw'
1010
import rehypeHighlight from 'rehype-highlight'
1111
import rehypeKatex from 'rehype-katex'
1212
13-
import { VueMdRender } from 'vue-markdown-viewer'
13+
import { VueMarkdownRender } from 'vue-markdown-viewer'
1414
import MermaidRender from './components/MermaidRender.vue'
1515
import NormalCode from './components/NormalCode.vue'
1616
import content from './demo.md?raw'
@@ -24,14 +24,13 @@ function code(properties: any) {
2424
</script>
2525

2626
<template>
27-
<VueMdRender
27+
<VueMarkdownRender
2828
class="markdown-body"
2929
:content="content"
3030
:components="{ code }"
3131
:remark-plugins="[remarkGfm, remarkToc, remarkMath]"
3232
:rehype-plugins="[
3333
rehypeSlug,
34-
rehypeRaw,
3534
[
3635
rehypeHighlight,
3736
{

packages/demo/src/demo.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ Here is an example of a plugin to highlight code: [rehype-highlight](https://git
2222

2323
```html
2424
<script lang="ts" setup>
25-
import { VueMdRender } from 'vue-markdown-viewer'
25+
import { VueMarkdownRender } from 'vue-markdown-viewer'
2626
import rehypeHighlight from 'rehype-highlight'
2727
</script>
2828

@@ -106,7 +106,7 @@ You can pass components to change things:
106106

107107
```html
108108
<script lang="ts" setup>
109-
import { VueMdRender } from 'vue-markdown-viewer'
109+
import { VueMarkdownRender } from 'vue-markdown-viewer'
110110
import MyFancyRule from './components/my-fancy-rule.js'
111111
112112
const renderHr = (properties) => MyFancyRule

packages/nuxt-demo/README.md

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
# Nuxt 3 Minimal Starter
2+
3+
Look at the [Nuxt 3 documentation](https://nuxt.com/docs/getting-started/introduction) to learn more.
4+
5+
## Setup
6+
7+
Make sure to install the dependencies:
8+
9+
```bash
10+
# npm
11+
npm install
12+
13+
# pnpm
14+
pnpm install
15+
16+
# yarn
17+
yarn install
18+
19+
# bun
20+
bun install
21+
```
22+
23+
## Development Server
24+
25+
Start the development server on `http://localhost:3000`:
26+
27+
```bash
28+
# npm
29+
npm run dev
30+
31+
# pnpm
32+
pnpm run dev
33+
34+
# yarn
35+
yarn dev
36+
37+
# bun
38+
bun run dev
39+
```
40+
41+
## Production
42+
43+
Build the application for production:
44+
45+
```bash
46+
# npm
47+
npm run build
48+
49+
# pnpm
50+
pnpm run build
51+
52+
# yarn
53+
yarn build
54+
55+
# bun
56+
bun run build
57+
```
58+
59+
Locally preview production build:
60+
61+
```bash
62+
# npm
63+
npm run preview
64+
65+
# pnpm
66+
pnpm run preview
67+
68+
# yarn
69+
yarn preview
70+
71+
# bun
72+
bun run preview
73+
```
74+
75+
Check out the [deployment documentation](https://nuxt.com/docs/getting-started/deployment) for more information.

packages/nuxt-demo/app.vue

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
<script setup lang="ts">
2+
import 'github-markdown-css/github-markdown-dark.css'
3+
import 'highlight.js/styles/night-owl.css'
4+
import 'katex/dist/katex.css'
5+
6+
import { onMounted, getCurrentInstance } from 'vue'
7+
import remarkGfm from 'remark-gfm'
8+
import remarkToc from 'remark-toc'
9+
import remarkMath from 'remark-math'
10+
import rehypeRaw from 'rehype-raw'
11+
import rehypeHighlight from 'rehype-highlight'
12+
import rehypeKatex from 'rehype-katex'
13+
14+
import { VueMarkdownRender } from 'vue-markdown-viewer'
15+
import MermaidRender from './components/MermaidRender.vue'
16+
import NormalCode from './components/NormalCode.vue'
17+
import content from './demo.md?raw'
18+
19+
function code(properties: any) {
20+
if (properties.className?.includes('language-mermaid')) {
21+
return MermaidRender
22+
}
23+
24+
return NormalCode
25+
}
26+
27+
const instance = getCurrentInstance()
28+
onMounted(() => {
29+
instance?.proxy?.$forceUpdate()
30+
})
31+
</script>
32+
33+
<template>
34+
<VueMarkdownRender
35+
class="markdown-body"
36+
:content="content"
37+
:components="{ code }"
38+
:remark-plugins="[remarkGfm, remarkToc, remarkMath]"
39+
:rehype-plugins="[
40+
rehypeRaw,
41+
[
42+
rehypeHighlight,
43+
{
44+
plainText: ['mermaid'],
45+
},
46+
],
47+
[
48+
rehypeKatex,
49+
{
50+
macros: {
51+
'\\f': '#1f(#2)',
52+
},
53+
},
54+
],
55+
]"
56+
/>
57+
</template>
58+
59+
<style>
60+
html,
61+
body {
62+
padding: 0;
63+
margin: 0;
64+
background: #000;
65+
scroll-behavior: smooth;
66+
}
67+
</style>
68+
69+
<style scoped>
70+
.markdown-body {
71+
box-sizing: border-box;
72+
min-width: 200px;
73+
max-width: 980px;
74+
margin: 0 auto;
75+
padding: 45px;
76+
}
77+
78+
@media (max-width: 767px) {
79+
.markdown-body {
80+
padding: 15px;
81+
}
82+
}
83+
</style>
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
<script lang="ts" setup>
2+
import { ref, onMounted } from "vue"
3+
import mermaid from 'mermaid'
4+
5+
const pre = ref()
6+
7+
onMounted(async () => {
8+
mermaid.initialize({ startOnLoad: false })
9+
await mermaid.run({
10+
nodes: [pre.value],
11+
suppressErrors: true
12+
})
13+
})
14+
</script>
15+
16+
<template>
17+
<div>
18+
<div ref="pre" class="mermaid"><slot /></div>
19+
</div>
20+
</template>
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
<template>
2+
<code><slot /></code>
3+
</template>

0 commit comments

Comments
 (0)