@md-plugins/quasar-app-extension-q-press 0.1.0-alpha.25 → 0.1.0-alpha.27
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +24 -24
- package/package.json +14 -14
- package/src/templates/init/src/_q-press/components/MarkdownApi.vue +17 -12
- package/src/templates/init/src/_q-press/components/MarkdownCardTitle.vue +9 -3
- package/src/templates/init/src/_q-press/components/MarkdownCode.vue +8 -2
- package/src/templates/init/src/_q-press/components/MarkdownCodepen.vue +1 -1
- package/src/templates/init/src/_q-press/components/MarkdownCopyButton.vue +5 -2
- package/src/templates/init/src/_q-press/components/MarkdownExample.vue +16 -10
- package/src/templates/init/src/_q-press/components/MarkdownLink.vue +1 -1
- package/src/templates/init/src/_q-press/components/MarkdownPrerender.ts +2 -0
- package/src/templates/init/src/_q-press/components/MarkdownTree.vue +6 -3
- package/src/templates/init/src/_q-press/css/app.scss +17 -0
- package/src/templates/init/src/_q-press/layouts/MarkdownHeaderTextLinks.vue +12 -3
- package/src/templates/init/src/_q-press/layouts/MarkdownLayout.vue +2 -2
- package/src/templates/init/src/_q-press/layouts/MarkdownPage.vue +38 -14
- package/src/templates/init/src/_q-press/layouts/MarkdownPageFooter.vue +1 -1
- package/src/templates/init/src/_q-press/layouts/MarkdownPageToc.vue +2 -2
- package/src/templates/init/src/markdown/md-plugins/blockquote/overview.md +4 -4
- package/src/templates/init/src/markdown/md-plugins/codeblocks/overview.md +114 -24
- package/src/templates/init/src/markdown/md-plugins/containers/advanced.md +40 -12
- package/src/templates/init/src/markdown/md-plugins/containers/overview.md +44 -14
- package/src/templates/init/src/markdown/md-plugins/frontmatter/overview.md +4 -4
- package/src/templates/init/src/markdown/md-plugins/headers/overview.md +4 -4
- package/src/templates/init/src/markdown/md-plugins/image/overview.md +4 -4
- package/src/templates/init/src/markdown/md-plugins/imports/overview.md +4 -4
- package/src/templates/init/src/markdown/md-plugins/inline-code/overview.md +4 -4
- package/src/templates/init/src/markdown/md-plugins/link/overview.md +4 -4
- package/src/templates/init/src/markdown/md-plugins/table/overview.md +4 -4
- package/src/templates/init/src/markdown/md-plugins/title/overview.md +4 -4
- package/src/templates/init/src/markdown/privacy-policy.md +0 -2
- package/src/templates/init/src/markdown/quasar-app-extensions/qpress/advanced.md +4 -4
- package/src/templates/init/src/markdown/quasar-app-extensions/qpress/overview.md +12 -10
- package/src/templates/init/src/markdown/vite-plugins/vite-examples-plugin/overview.md +4 -4
- package/src/templates/init/src/markdown/vite-plugins/vite-md-plugin/advanced.md +2 -1
- package/src/templates/init/src/markdown/vite-plugins/vite-md-plugin/overview.md +5 -4
- package/src/templates/init/src/q-press.globals.d.ts +1 -1
- package/src/templates/update/src/_q-press/components/MarkdownApi.vue +17 -12
- package/src/templates/update/src/_q-press/components/MarkdownCardTitle.vue +9 -3
- package/src/templates/update/src/_q-press/components/MarkdownCode.vue +8 -2
- package/src/templates/update/src/_q-press/components/MarkdownCodepen.vue +1 -1
- package/src/templates/update/src/_q-press/components/MarkdownCopyButton.vue +5 -2
- package/src/templates/update/src/_q-press/components/MarkdownExample.vue +16 -10
- package/src/templates/update/src/_q-press/components/MarkdownLink.vue +1 -1
- package/src/templates/update/src/_q-press/components/MarkdownPrerender.ts +2 -0
- package/src/templates/update/src/_q-press/components/MarkdownTree.vue +6 -3
- package/src/templates/update/src/_q-press/css/app.scss +17 -0
- package/src/templates/update/src/_q-press/layouts/MarkdownHeaderTextLinks.vue +12 -3
- package/src/templates/update/src/_q-press/layouts/MarkdownLayout.vue +2 -2
- package/src/templates/update/src/_q-press/layouts/MarkdownPage.vue +38 -14
- package/src/templates/update/src/_q-press/layouts/MarkdownPageFooter.vue +1 -1
- package/src/templates/update/src/_q-press/layouts/MarkdownPageToc.vue +2 -2
- package/src/templates/update/src/q-press.globals.d.ts +1 -1
package/README.md
CHANGED
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
The Ultimate Markdown Solution for the Quasar Framework.
|
|
4
4
|
|
|
5
|
+
See the [documentation](https://md-plugins.netlify.app/quasar-app-extensions/qpress/overview) for more information.
|
|
6
|
+
|
|
5
7
|
## Features
|
|
6
8
|
|
|
7
9
|
- **Markdown**
|
|
@@ -63,32 +65,32 @@ The Ultimate Markdown Solution for the Quasar Framework.
|
|
|
63
65
|
3. Modify your `quasar.config.ts`
|
|
64
66
|
|
|
65
67
|
- ```ts
|
|
66
|
-
import { viteMdPlugin, type MenuItem } from '@md-plugins/vite-md-plugin'
|
|
67
|
-
|
|
68
|
+
import { viteMdPlugin, type MenuItem, type MarkdownOptions } from '@md-plugins/vite-md-plugin'
|
|
68
69
|
|
|
69
70
|
export default defineConfig(async (ctx) => {
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
71
|
+
// Dynamically import siteConfig
|
|
72
|
+
const siteConfig = await import('./src/siteConfig')
|
|
73
|
+
const { sidebar } = siteConfig
|
|
74
|
+
return {
|
|
75
|
+
build: {
|
|
76
|
+
vitePlugins: [
|
|
77
|
+
// add this plugin
|
|
78
|
+
[
|
|
79
|
+
viteMdPlugin,
|
|
80
|
+
{
|
|
81
|
+
path: ctx.appPaths.srcDir + '/markdown',
|
|
82
|
+
menu: sidebar as MenuItem[],
|
|
83
|
+
// options: myOptions as MarkdownOptions
|
|
84
|
+
},
|
|
85
|
+
],
|
|
86
|
+
// ...
|
|
85
87
|
```
|
|
86
88
|
|
|
87
89
|
4. Modify your `src/routes/routes.ts`
|
|
88
90
|
|
|
89
91
|
- ```ts
|
|
92
|
+
import type { RouteRecordRaw } from 'vue-router'
|
|
90
93
|
import mdPageList from 'src/markdown/listing'
|
|
91
|
-
|
|
92
94
|
const routes = [
|
|
93
95
|
{
|
|
94
96
|
path: '/',
|
|
@@ -126,14 +128,13 @@ The Ultimate Markdown Solution for the Quasar Framework.
|
|
|
126
128
|
}),
|
|
127
129
|
],
|
|
128
130
|
},
|
|
129
|
-
|
|
130
131
|
// Always leave this as last one,
|
|
131
132
|
// but you can also remove it
|
|
132
133
|
{
|
|
133
134
|
path: '/:catchAll(._)_',
|
|
134
135
|
component: () => import('pages/ErrorNotFound.vue'),
|
|
135
136
|
},
|
|
136
|
-
]
|
|
137
|
+
] as RouteRecordRaw[]
|
|
137
138
|
|
|
138
139
|
export default routes
|
|
139
140
|
```
|
|
@@ -145,11 +146,10 @@ The Ultimate Markdown Solution for the Quasar Framework.
|
|
|
145
146
|
<router-view />
|
|
146
147
|
</template>
|
|
147
148
|
|
|
148
|
-
|
|
149
149
|
<script setup lang="ts">
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
150
|
+
import { useDark } from 'src/.q-press/composables/dark'
|
|
151
|
+
const { initDark } = useDark()
|
|
152
|
+
initDark()
|
|
153
153
|
</script>
|
|
154
154
|
```
|
|
155
155
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@md-plugins/quasar-app-extension-q-press",
|
|
3
|
-
"version": "0.1.0-alpha.
|
|
3
|
+
"version": "0.1.0-alpha.27",
|
|
4
4
|
"description": "QPress - The Ultimate Markdown Solution for Quasar Framework",
|
|
5
5
|
"author": "hawkeye64 <galbraith64@gmail.com>",
|
|
6
6
|
"keywords": [
|
|
@@ -29,19 +29,19 @@
|
|
|
29
29
|
"dependencies": {
|
|
30
30
|
"@types/markdown-it": "^14.1.2",
|
|
31
31
|
"markdown-it": "^14.1.0",
|
|
32
|
-
"@md-plugins/md-plugin-
|
|
33
|
-
"@md-plugins/md-plugin-
|
|
34
|
-
"@md-plugins/md-plugin-
|
|
35
|
-
"@md-plugins/md-plugin-
|
|
36
|
-
"@md-plugins/md-plugin-
|
|
37
|
-
"@md-plugins/md-plugin-
|
|
38
|
-
"@md-plugins/md-plugin-
|
|
39
|
-
"@md-plugins/md-plugin-
|
|
40
|
-
"@md-plugins/md-plugin-
|
|
41
|
-
"@md-plugins/md-plugin-
|
|
42
|
-
"@md-plugins/
|
|
43
|
-
"@md-plugins/md-plugin-
|
|
44
|
-
"@md-plugins/
|
|
32
|
+
"@md-plugins/md-plugin-frontmatter": "0.1.0-alpha.27",
|
|
33
|
+
"@md-plugins/md-plugin-blockquote": "0.1.0-alpha.27",
|
|
34
|
+
"@md-plugins/md-plugin-containers": "0.1.0-alpha.27",
|
|
35
|
+
"@md-plugins/md-plugin-imports": "0.1.0-alpha.27",
|
|
36
|
+
"@md-plugins/md-plugin-image": "0.1.0-alpha.27",
|
|
37
|
+
"@md-plugins/md-plugin-table": "0.1.0-alpha.27",
|
|
38
|
+
"@md-plugins/md-plugin-inlinecode": "0.1.0-alpha.27",
|
|
39
|
+
"@md-plugins/md-plugin-headers": "0.1.0-alpha.27",
|
|
40
|
+
"@md-plugins/md-plugin-link": "0.1.0-alpha.27",
|
|
41
|
+
"@md-plugins/md-plugin-codeblocks": "0.1.0-alpha.27",
|
|
42
|
+
"@md-plugins/shared": "0.1.0-alpha.27",
|
|
43
|
+
"@md-plugins/md-plugin-title": "0.1.0-alpha.27",
|
|
44
|
+
"@md-plugins/vite-md-plugin": "0.1.0-alpha.27"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
47
47
|
"@types/markdown-it": "^14.1.2",
|
|
@@ -8,9 +8,9 @@
|
|
|
8
8
|
@click="onSearchFieldClick"
|
|
9
9
|
>
|
|
10
10
|
<input
|
|
11
|
-
class="col markdown-api__search text-right"
|
|
12
11
|
ref="inputRef"
|
|
13
12
|
v-model="filter"
|
|
13
|
+
class="col markdown-api__search text-right"
|
|
14
14
|
name="filter"
|
|
15
15
|
placeholder="Filter..."
|
|
16
16
|
/>
|
|
@@ -25,8 +25,8 @@
|
|
|
25
25
|
</div>
|
|
26
26
|
|
|
27
27
|
<q-btn
|
|
28
|
-
class="q-ml-sm header-btn"
|
|
29
28
|
v-if="props.pageLink"
|
|
29
|
+
class="q-ml-sm header-btn"
|
|
30
30
|
size="sm"
|
|
31
31
|
padding="xs sm"
|
|
32
32
|
no-caps
|
|
@@ -45,8 +45,8 @@
|
|
|
45
45
|
</template>
|
|
46
46
|
<template v-else>
|
|
47
47
|
<q-tabs
|
|
48
|
-
class="header-tabs"
|
|
49
48
|
v-model="currentTab"
|
|
49
|
+
class="header-tabs"
|
|
50
50
|
active-color="brand-primary"
|
|
51
51
|
indicator-color="brand-primary"
|
|
52
52
|
align="left"
|
|
@@ -63,12 +63,12 @@
|
|
|
63
63
|
<q-separator />
|
|
64
64
|
|
|
65
65
|
<q-tab-panels v-model="currentTab" animated>
|
|
66
|
-
<q-tab-panel
|
|
67
|
-
<div
|
|
66
|
+
<q-tab-panel v-for="tab in tabsList" :key="tab" class="q-pa-none" :name="tab">
|
|
67
|
+
<div v-if="innerTabsList[tab].length !== 1" class="markdown-api__container row no-wrap">
|
|
68
68
|
<div class="col-auto">
|
|
69
69
|
<q-tabs
|
|
70
|
-
class="header-tabs markdown-api__subtabs"
|
|
71
70
|
v-model="currentInnerTab"
|
|
71
|
+
class="header-tabs markdown-api__subtabs"
|
|
72
72
|
active-color="brand-primary"
|
|
73
73
|
indicator-color="brand-primary"
|
|
74
74
|
:breakpoint="0"
|
|
@@ -77,9 +77,9 @@
|
|
|
77
77
|
shrink
|
|
78
78
|
>
|
|
79
79
|
<q-tab
|
|
80
|
-
class="markdown-api__subtabs-item header-btn"
|
|
81
80
|
v-for="innerTab in innerTabsList[tab]"
|
|
82
81
|
:key="`api-inner-tab-${innerTab}`"
|
|
82
|
+
class="markdown-api__subtabs-item header-btn"
|
|
83
83
|
:name="innerTab"
|
|
84
84
|
>
|
|
85
85
|
<div class="row no-wrap items-center self-stretch q-pl-sm">
|
|
@@ -97,23 +97,23 @@
|
|
|
97
97
|
<q-separator vertical />
|
|
98
98
|
|
|
99
99
|
<q-tab-panels
|
|
100
|
-
class="col"
|
|
101
100
|
v-model="currentInnerTab"
|
|
101
|
+
class="col"
|
|
102
102
|
animated
|
|
103
103
|
transition-prev="slide-down"
|
|
104
104
|
transition-next="slide-up"
|
|
105
105
|
>
|
|
106
106
|
<q-tab-panel
|
|
107
|
-
class="q-pa-none"
|
|
108
107
|
v-for="innerTab in innerTabsList[tab]"
|
|
109
|
-
:name="innerTab"
|
|
110
108
|
:key="innerTab"
|
|
109
|
+
class="q-pa-none"
|
|
110
|
+
:name="innerTab"
|
|
111
111
|
>
|
|
112
112
|
<MarkdownApiEntry :type="tab" :definition="filteredApi[tab][innerTab]" />
|
|
113
113
|
</q-tab-panel>
|
|
114
114
|
</q-tab-panels>
|
|
115
115
|
</div>
|
|
116
|
-
<div class="markdown-api__container"
|
|
116
|
+
<div v-else class="markdown-api__container">
|
|
117
117
|
<MarkdownApiEntry :type="tab" :definition="filteredApi[tab][defaultInnerTabName]" />
|
|
118
118
|
</div>
|
|
119
119
|
</q-tab-panel>
|
|
@@ -369,12 +369,17 @@ const props = defineProps({
|
|
|
369
369
|
file: {
|
|
370
370
|
type: String,
|
|
371
371
|
required: false,
|
|
372
|
+
default: '',
|
|
372
373
|
},
|
|
373
374
|
api: {
|
|
374
375
|
type: Object,
|
|
375
376
|
required: false,
|
|
377
|
+
default: null,
|
|
378
|
+
},
|
|
379
|
+
name: {
|
|
380
|
+
type: String,
|
|
381
|
+
default: 'API Documentation',
|
|
376
382
|
},
|
|
377
|
-
name: String,
|
|
378
383
|
pageLink: Boolean,
|
|
379
384
|
})
|
|
380
385
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div class="markdown-card-title q-my-xs q-mr-sm cursor-pointer"
|
|
2
|
+
<div :id="id" class="markdown-card-title q-my-xs q-mr-sm cursor-pointer" @click="onClick">
|
|
3
3
|
{{ props.title }}
|
|
4
4
|
</div>
|
|
5
5
|
</template>
|
|
@@ -9,8 +9,14 @@ import { computed } from 'vue'
|
|
|
9
9
|
import { copyHeading, slugify } from './markdown-utils'
|
|
10
10
|
|
|
11
11
|
const props = defineProps({
|
|
12
|
-
title:
|
|
13
|
-
|
|
12
|
+
title: {
|
|
13
|
+
type: String,
|
|
14
|
+
required: true,
|
|
15
|
+
},
|
|
16
|
+
prefix: {
|
|
17
|
+
type: String,
|
|
18
|
+
default: '',
|
|
19
|
+
},
|
|
14
20
|
})
|
|
15
21
|
|
|
16
22
|
const id = computed(() => (props.prefix || '') + slugify(props.title))
|
|
@@ -12,8 +12,14 @@ import MarkdownCodePrism from './MarkdownCodePrism'
|
|
|
12
12
|
import MarkdownCopyButton from './MarkdownCopyButton.vue'
|
|
13
13
|
|
|
14
14
|
const props = defineProps({
|
|
15
|
-
code:
|
|
16
|
-
|
|
15
|
+
code: {
|
|
16
|
+
type: String,
|
|
17
|
+
required: true,
|
|
18
|
+
},
|
|
19
|
+
maxHeight: {
|
|
20
|
+
type: String,
|
|
21
|
+
default: void 0,
|
|
22
|
+
},
|
|
17
23
|
|
|
18
24
|
lang: {
|
|
19
25
|
type: String,
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
<q-icon :name="mdiClipboardOutline" color="brand-primary" @click="copy" />
|
|
4
4
|
|
|
5
5
|
<transition enter-active-class="animated fadeIn" leave-active-class="animated fadeOut">
|
|
6
|
-
<q-badge class="absolute header-badge"
|
|
6
|
+
<q-badge v-show="copied" class="absolute header-badge" label="Copied to clipboard" />
|
|
7
7
|
</transition>
|
|
8
8
|
</div>
|
|
9
9
|
</template>
|
|
@@ -14,7 +14,10 @@ import { copyToClipboard } from './markdown-utils'
|
|
|
14
14
|
import { mdiClipboardOutline } from '@quasar/extras/mdi-v7'
|
|
15
15
|
|
|
16
16
|
const props = defineProps({
|
|
17
|
-
lang:
|
|
17
|
+
lang: {
|
|
18
|
+
type: String,
|
|
19
|
+
default: 'markdown',
|
|
20
|
+
},
|
|
18
21
|
})
|
|
19
22
|
|
|
20
23
|
const { proxy } = getCurrentInstance()
|
|
@@ -24,14 +24,14 @@
|
|
|
24
24
|
<q-tooltip>View on GitHub</q-tooltip>
|
|
25
25
|
</q-btn>
|
|
26
26
|
<q-btn
|
|
27
|
-
class="header-btn q-ml-xs"
|
|
28
27
|
v-if="props.noEdit !== true"
|
|
28
|
+
class="header-btn q-ml-xs"
|
|
29
29
|
dense
|
|
30
30
|
flat
|
|
31
31
|
round
|
|
32
32
|
:icon="fabCodepen"
|
|
33
|
-
@click="openCodepen"
|
|
34
33
|
:disable="isBusy"
|
|
34
|
+
@click="openCodepen"
|
|
35
35
|
>
|
|
36
36
|
<q-tooltip>Edit in Codepen</q-tooltip>
|
|
37
37
|
</q-btn>
|
|
@@ -41,8 +41,8 @@
|
|
|
41
41
|
flat
|
|
42
42
|
round
|
|
43
43
|
icon="code"
|
|
44
|
-
@click="toggleExpand"
|
|
45
44
|
:disable="isBusy"
|
|
45
|
+
@click="toggleExpand"
|
|
46
46
|
>
|
|
47
47
|
<q-tooltip>View Source</q-tooltip>
|
|
48
48
|
</q-btn>
|
|
@@ -52,8 +52,8 @@
|
|
|
52
52
|
<q-slide-transition>
|
|
53
53
|
<div v-show="expanded">
|
|
54
54
|
<q-tabs
|
|
55
|
-
class="header-tabs"
|
|
56
55
|
v-model="currentTab"
|
|
56
|
+
class="header-tabs"
|
|
57
57
|
align="left"
|
|
58
58
|
no-caps
|
|
59
59
|
active-color="brand-primary"
|
|
@@ -68,8 +68,8 @@
|
|
|
68
68
|
|
|
69
69
|
<q-separator />
|
|
70
70
|
|
|
71
|
-
<q-tab-panels class="text-grey-3 text-weight-regular"
|
|
72
|
-
<q-tab-panel
|
|
71
|
+
<q-tab-panels v-model="currentTab" class="text-grey-3 text-weight-regular" animated>
|
|
72
|
+
<q-tab-panel v-for="tab in def.tabs" :key="`pane-${tab}`" class="q-pa-none" :name="tab">
|
|
73
73
|
<MarkdownCode lang="markup" :code="def.parts[tab]" max-height="70vh" />
|
|
74
74
|
</q-tab-panel>
|
|
75
75
|
</q-tab-panels>
|
|
@@ -83,9 +83,9 @@
|
|
|
83
83
|
<div class="row overflow-hidden">
|
|
84
84
|
<q-linear-progress v-if="isBusy" color="brand-primary" indeterminate />
|
|
85
85
|
<component
|
|
86
|
-
class="col markdown-example__content markdown-example-typography"
|
|
87
|
-
v-else
|
|
88
86
|
:is="component"
|
|
87
|
+
v-else
|
|
88
|
+
class="col markdown-example__content markdown-example-typography"
|
|
89
89
|
:class="componentClass"
|
|
90
90
|
/>
|
|
91
91
|
</div>
|
|
@@ -107,8 +107,14 @@ import MarkdownCardTitle from './MarkdownCardTitle.vue'
|
|
|
107
107
|
import siteConfig from '../../siteConfig'
|
|
108
108
|
|
|
109
109
|
const props = defineProps({
|
|
110
|
-
title:
|
|
111
|
-
|
|
110
|
+
title: {
|
|
111
|
+
type: String,
|
|
112
|
+
required: true,
|
|
113
|
+
},
|
|
114
|
+
file: {
|
|
115
|
+
type: String,
|
|
116
|
+
required: true,
|
|
117
|
+
},
|
|
112
118
|
noEdit: Boolean, // no codepen edit
|
|
113
119
|
scrollable: Boolean,
|
|
114
120
|
overflow: Boolean,
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
import { computed } from 'vue'
|
|
13
13
|
import { mdiLaunch } from '@quasar/extras/mdi-v6'
|
|
14
14
|
|
|
15
|
-
const props = defineProps({ to: String })
|
|
15
|
+
const props = defineProps({ to: { type: String, required: true } })
|
|
16
16
|
const internal = computed(
|
|
17
17
|
() => props.to.charAt(0) === '/' || props.to.charAt(0) === '.' || props.to.charAt(0) === '#',
|
|
18
18
|
)
|
|
@@ -17,16 +17,16 @@
|
|
|
17
17
|
|
|
18
18
|
<template v-if="prop.node.e">
|
|
19
19
|
<q-icon
|
|
20
|
+
v-if="prop.node.e"
|
|
20
21
|
:name="mdiInformationOutline"
|
|
21
22
|
class="q-ml-sm lt-sm"
|
|
22
|
-
v-if="prop.node.e"
|
|
23
23
|
color="grey"
|
|
24
24
|
@click.stop
|
|
25
25
|
@touchstart.stop
|
|
26
26
|
>
|
|
27
27
|
<q-tooltip>{{ prop.node.e }}</q-tooltip>
|
|
28
28
|
</q-icon>
|
|
29
|
-
<div class="markdown-tree__explanation text-grey q-ml-sm gt-xs"
|
|
29
|
+
<div v-if="prop.node.e" class="markdown-tree__explanation text-grey q-ml-sm gt-xs">
|
|
30
30
|
# {{ prop.node.e }}
|
|
31
31
|
</div>
|
|
32
32
|
</template>
|
|
@@ -38,7 +38,10 @@
|
|
|
38
38
|
import { mdiLaunch, mdiInformationOutline } from '@quasar/extras/mdi-v6'
|
|
39
39
|
|
|
40
40
|
const props = defineProps({
|
|
41
|
-
def:
|
|
41
|
+
def: {
|
|
42
|
+
type: Object,
|
|
43
|
+
required: true,
|
|
44
|
+
},
|
|
42
45
|
})
|
|
43
46
|
|
|
44
47
|
let id = 0
|
|
@@ -112,6 +112,10 @@ ul {
|
|
|
112
112
|
.markdown-token {
|
|
113
113
|
border-color: $brand-primary;
|
|
114
114
|
}
|
|
115
|
+
& strong {
|
|
116
|
+
font-weight: 700;
|
|
117
|
+
color: scale-color($brand-light-text, $lightness: 90%);
|
|
118
|
+
}
|
|
115
119
|
}
|
|
116
120
|
|
|
117
121
|
&--tip {
|
|
@@ -126,6 +130,10 @@ ul {
|
|
|
126
130
|
.markdown-token {
|
|
127
131
|
border-color: scale-color($positive, $lightness: -40%);
|
|
128
132
|
}
|
|
133
|
+
& strong {
|
|
134
|
+
font-weight: 700;
|
|
135
|
+
color: scale-color($positive, $lightness: 90%);
|
|
136
|
+
}
|
|
129
137
|
}
|
|
130
138
|
|
|
131
139
|
&--warning {
|
|
@@ -140,6 +148,10 @@ ul {
|
|
|
140
148
|
.markdown-token {
|
|
141
149
|
border-color: scale-color($warning, $lightness: -40%);
|
|
142
150
|
}
|
|
151
|
+
& strong {
|
|
152
|
+
font-weight: 700;
|
|
153
|
+
color: scale-color($warning, $lightness: 90%);
|
|
154
|
+
}
|
|
143
155
|
}
|
|
144
156
|
|
|
145
157
|
&--danger {
|
|
@@ -154,6 +166,11 @@ ul {
|
|
|
154
166
|
.markdown-token {
|
|
155
167
|
border-color: $negative;
|
|
156
168
|
}
|
|
169
|
+
|
|
170
|
+
& strong {
|
|
171
|
+
font-weight: 700;
|
|
172
|
+
color: scale-color($negative, $lightness: 90%);
|
|
173
|
+
}
|
|
157
174
|
}
|
|
158
175
|
|
|
159
176
|
&--details {
|
|
@@ -30,8 +30,17 @@ import MarkdownHeaderMenu from './MarkdownHeaderMenu'
|
|
|
30
30
|
import type { SiteMenuItem } from '../../siteConfig'
|
|
31
31
|
|
|
32
32
|
const props = defineProps({
|
|
33
|
-
menu:
|
|
34
|
-
|
|
35
|
-
|
|
33
|
+
menu: {
|
|
34
|
+
type: Array<SiteMenuItem>,
|
|
35
|
+
required: true,
|
|
36
|
+
},
|
|
37
|
+
mqPrefix: {
|
|
38
|
+
type: String,
|
|
39
|
+
default: '',
|
|
40
|
+
},
|
|
41
|
+
navClass: {
|
|
42
|
+
type: String,
|
|
43
|
+
default: '',
|
|
44
|
+
},
|
|
36
45
|
})
|
|
37
46
|
</script>
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
<MarkdownHeader />
|
|
4
4
|
|
|
5
5
|
<q-page-container>
|
|
6
|
-
<q-page
|
|
6
|
+
<q-page key="q-page" :class="pageClass">
|
|
7
7
|
<router-view v-if="isFullscreen" key="page-fullscreen" />
|
|
8
|
-
<div v-else
|
|
8
|
+
<div v-else key="page-standard" :class="pageContentClass">
|
|
9
9
|
<div
|
|
10
10
|
v-if="siteConfig.config.useSidebar === true"
|
|
11
11
|
class="markdown-layout__menu-container row justify-center"
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
{{ props.overline }}
|
|
5
5
|
</div>
|
|
6
6
|
|
|
7
|
-
<div v-if="!isFullscreen && props.title" class="markdown-heading markdown-h1"
|
|
7
|
+
<div v-if="!isFullscreen && props.title" id="introduction" class="markdown-heading markdown-h1">
|
|
8
8
|
<div class="row items-center q-gutter-sm">
|
|
9
9
|
<div>{{ props.title }}</div>
|
|
10
10
|
<q-badge v-if="props.badge" :label="props.badge" />
|
|
@@ -30,12 +30,12 @@
|
|
|
30
30
|
</q-btn>
|
|
31
31
|
</div>
|
|
32
32
|
|
|
33
|
-
<div
|
|
33
|
+
<div v-if="props.related" class="markdown-page__nav">
|
|
34
34
|
<div class="q-gutter-sm flex">
|
|
35
35
|
<router-link
|
|
36
|
-
class="q-link markdown-page__related rounded-borders cursor-pointer column justify-center"
|
|
37
36
|
v-for="link in props.related"
|
|
38
37
|
:key="link.category + link.path"
|
|
38
|
+
class="q-link markdown-page__related rounded-borders cursor-pointer column justify-center"
|
|
39
39
|
:to="link.path"
|
|
40
40
|
>
|
|
41
41
|
<div class="markdown-page__nav-categ">{{ link.category || 'Docs' }}</div>
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
|
|
50
50
|
<slot />
|
|
51
51
|
|
|
52
|
-
<div class="markdown-page__nav markdown-page__nav--footer"
|
|
52
|
+
<div v-if="props.nav" class="markdown-page__nav markdown-page__nav--footer">
|
|
53
53
|
<div class="text-h6 q-pb-md markdown-heading">Ready for more?</div>
|
|
54
54
|
<div class="q-gutter-sm flex">
|
|
55
55
|
<router-link
|
|
@@ -65,7 +65,7 @@
|
|
|
65
65
|
</div>
|
|
66
66
|
</div>
|
|
67
67
|
|
|
68
|
-
<div class="markdown-page__content-footer"
|
|
68
|
+
<div v-if="props.editLink" class="markdown-page__content-footer">
|
|
69
69
|
<q-separator class="q-mb-sm" />
|
|
70
70
|
|
|
71
71
|
<div class="q-mb-md">
|
|
@@ -103,19 +103,43 @@ import { useMarkdownStore } from '../stores/markdown'
|
|
|
103
103
|
import siteConfig from '../../siteConfig'
|
|
104
104
|
|
|
105
105
|
const props = defineProps({
|
|
106
|
-
title:
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
106
|
+
title: {
|
|
107
|
+
type: String,
|
|
108
|
+
default: null,
|
|
109
|
+
},
|
|
110
|
+
desc: {
|
|
111
|
+
type: String,
|
|
112
|
+
default: null,
|
|
113
|
+
},
|
|
114
|
+
overline: {
|
|
115
|
+
type: String,
|
|
116
|
+
default: null,
|
|
117
|
+
},
|
|
118
|
+
badge: {
|
|
119
|
+
type: String,
|
|
120
|
+
default: null,
|
|
121
|
+
},
|
|
110
122
|
|
|
111
123
|
fullscreen: Boolean,
|
|
112
124
|
|
|
113
125
|
heading: Boolean,
|
|
114
|
-
editLink:
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
126
|
+
editLink: {
|
|
127
|
+
type: String,
|
|
128
|
+
default: null,
|
|
129
|
+
},
|
|
130
|
+
|
|
131
|
+
toc: {
|
|
132
|
+
type: Array<TocItem>,
|
|
133
|
+
default: () => [],
|
|
134
|
+
},
|
|
135
|
+
related: {
|
|
136
|
+
type: Array<RelatedItem>,
|
|
137
|
+
default: () => [],
|
|
138
|
+
},
|
|
139
|
+
nav: {
|
|
140
|
+
type: Array<NavItem>,
|
|
141
|
+
default: () => [],
|
|
142
|
+
},
|
|
119
143
|
})
|
|
120
144
|
|
|
121
145
|
useMeta(
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div v-if="siteConfig.config.useFooter" class="markdown-page-footer markdown-brand">
|
|
3
3
|
<template v-if="props.fullscreen">
|
|
4
|
-
<nav class="markdown-page-footer__nav"
|
|
4
|
+
<nav v-once class="markdown-page-footer__nav">
|
|
5
5
|
<q-list v-for="entry in links" :key="entry.name" role="list">
|
|
6
6
|
<q-item-label
|
|
7
7
|
class="markdown-page-footer__title markdown-page-footer__margin row items-end text-weight-bold letter-spacing-225 q-mb-md"
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
<q-list class="markdown-page__toc">
|
|
3
3
|
<q-item
|
|
4
4
|
v-for="tocItem in markdownStore.toc"
|
|
5
|
-
:key="tocItem.id"
|
|
6
5
|
:id="`toc--${tocItem.id}`"
|
|
6
|
+
:key="tocItem.id"
|
|
7
|
+
v-ripple
|
|
7
8
|
clickable
|
|
8
9
|
class="markdown-layout__item"
|
|
9
10
|
active-class="markdown-layout__item--active"
|
|
10
|
-
v-ripple
|
|
11
11
|
:active="markdownStore.activeToc === tocItem.id"
|
|
12
12
|
@click="tocItem.onClick"
|
|
13
13
|
>
|
|
@@ -118,12 +118,12 @@ The official NPM name is `@md-plugins/md-plugin-blockquote`.
|
|
|
118
118
|
You can install the Blockquote plugin using `npm`, `yarn`, or `pnpm`. Choose your preferred method below:
|
|
119
119
|
|
|
120
120
|
```tabs
|
|
121
|
-
<<| bash npm |>>
|
|
122
|
-
npm install @md-plugins/md-plugin-blockquote
|
|
123
|
-
<<| bash yarn |>>
|
|
124
|
-
yarn add @md-plugins/md-plugin-blockquote
|
|
125
121
|
<<| bash pnpm |>>
|
|
126
122
|
pnpm add @md-plugins/md-plugin-blockquote
|
|
123
|
+
<<| bash yarn |>>
|
|
124
|
+
yarn add @md-plugins/md-plugin-blockquote
|
|
125
|
+
<<| bash npm |>>
|
|
126
|
+
npm install @md-plugins/md-plugin-blockquote
|
|
127
127
|
```
|
|
128
128
|
|
|
129
129
|
## Configuration
|