@@ -8,11 +8,34 @@ next: false
88import { ref , onMounted , computed } from ' vue'
99import { useData } from ' vitepress'
1010import { VPLink , VPButton } from ' vitepress/theme'
11+ import Dialog from ' ../../../components/Dialog.vue'
12+ import markdownit from ' markdown-it'
13+ const md = markdownit ()
1114
1215const { params } = useData ()
1316
1417const module = ref (params .value .module )
15- const showModal = ref (false )
18+
19+ const readmeContent = ref (" No README found." )
20+ const showReadmeModal = ref (false )
21+ const openModal = () => {
22+ document .body .style .overflow = " hidden" ;
23+ showReadmeModal .value = true ;
24+ };
25+
26+ const closeModal = () => {
27+ document .body .style .overflow = " unset" ;
28+ showReadmeModal .value = false ;
29+ };
30+
31+ onMounted (()=> {
32+ if (! module .value .readme ) return
33+ fetch (module .value .readme )
34+ .then ((res )=> res .text ())
35+ .then ((text )=> {
36+ readmeContent .value = text
37+ })
38+ })
1639
1740const versions = computed (() => {
1841 return [... module .value .versions ].reverse ();
@@ -36,8 +59,7 @@ const latestVersion = computed(() => {
3659
3760<div v-if =" module.note " >
3861
39- > [ !NOTE]
40- > {{ module.note.message }}
62+ > [ !NOTE] > {{ module.note.message }}
4163
4264</div >
4365
@@ -48,6 +70,7 @@ const latestVersion = computed(() => {
4870<div :class =" $style.moduleActions " >
4971 <VPButton text="Download latest version" size="medium" target="_blank" theme="brand" :href="latestVersion.zipUrl" />
5072 <VPButton v-if="module.support" :href="module.support" target="_blank" text="Support" size="medium" theme="alt" />
73+ <VPButton v-if="module.readme" @click="openModal()" text="README" size="medium" theme="alt" />
5174</div >
5275
5376<div v-if =" module.screenshots && module.screenshots.length " >
@@ -59,7 +82,6 @@ const latestVersion = computed(() => {
5982 </div>
6083</div >
6184
62-
6385<div v-if =" module.track.antifeatures && module.track.antifeatures.length " >
6486 <h2>Anti-Features</h2>
6587 <p>The following Anti-Features have been found.</p>
@@ -87,7 +109,9 @@ const latestVersion = computed(() => {
87109 </article>
88110</div >
89111
90-
112+ <Dialog :open =" showReadmeModal " :onClose =" closeModal " :onOpen =" openModal " :contentStyle =" { padding: '16px 26px' } " title =" README " >
113+ <div class="vp-doc" v-html="md.render(readmeContent)" />
114+ </Dialog >
91115
92116<style scoped >
93117a {
196220 margin : 4px ;
197221 transform : translateY (-2px );
198222}
199- </style >
223+ </style >
0 commit comments