themekit-js 1.1.63 → 1.1.65
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.
|
@@ -4,6 +4,7 @@ import { useData } from '../composables/data'
|
|
|
4
4
|
import Hero from './blocks/Hero.vue';
|
|
5
5
|
import Doc from './blocks/Doc.vue';
|
|
6
6
|
import Notion from './blocks/Notion.vue';
|
|
7
|
+
import HTML from './blocks/HTML.vue';
|
|
7
8
|
import Features from './blocks/Features.vue';
|
|
8
9
|
const { frontmatter } = useData()
|
|
9
10
|
</script>
|
|
@@ -16,6 +17,7 @@ const { frontmatter } = useData()
|
|
|
16
17
|
<Features :block="item" v-else-if="item.block_type =='Features'"></Features>
|
|
17
18
|
<Doc :block="item" v-else-if="item.block_type =='Doc'" ></Doc>
|
|
18
19
|
<Notion :block="item" v-else-if="item.block_type =='Notion'" ></Notion>
|
|
20
|
+
<HTML :block="item" v-else-if="item.block_type =='HTML'" ></HTML>
|
|
19
21
|
|
|
20
22
|
</div>
|
|
21
23
|
<VPHomeContent v-if="frontmatter.markdownStyles !== false">
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
import { computed } from 'vue'
|
|
3
|
+
import { useData } from 'themekit-js'
|
|
4
|
+
import MarkdownIt from 'markdown-it'
|
|
5
|
+
const { base } = useData()
|
|
6
|
+
|
|
7
|
+
const props = defineProps<{
|
|
8
|
+
block: any
|
|
9
|
+
}>()
|
|
10
|
+
|
|
11
|
+
const blockVarsRegex = /<scrip([\s\S]*?)cript>/g
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
let content:string=decodeURIComponent(props.block.content)
|
|
15
|
+
let match;
|
|
16
|
+
const mt=MarkdownIt({ html: true, linkify: true })
|
|
17
|
+
|
|
18
|
+
const scripts:any=[]
|
|
19
|
+
while ((match = blockVarsRegex.exec(content))) {
|
|
20
|
+
const script=match[0]
|
|
21
|
+
scripts.push(script)
|
|
22
|
+
}
|
|
23
|
+
for(let j=0;j<scripts.length;j++){
|
|
24
|
+
const scriptHTML:String = mt.render("```javascript\n"+scripts[j]+"\n```",{});
|
|
25
|
+
content=content.replace(scripts[j], scriptHTML+ "<textarea style='display:none;' class='jsloader'>"+scripts[j]+"</textarea>");
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
const styles= computed(() => {
|
|
30
|
+
|
|
31
|
+
let styles:any=[ ];
|
|
32
|
+
if(props.block['background-color']){
|
|
33
|
+
styles.push({ 'background-color':props.block['background-color']})
|
|
34
|
+
}
|
|
35
|
+
if(props.block['background-image']){
|
|
36
|
+
styles.push({ 'background-image':'url('+base.value+props.block['background-image']+")"})
|
|
37
|
+
|
|
38
|
+
}
|
|
39
|
+
return styles
|
|
40
|
+
})
|
|
41
|
+
</script>
|
|
42
|
+
|
|
43
|
+
<template >
|
|
44
|
+
|
|
45
|
+
<div class="vp-doc doc" v-if="block!=null " :style="styles" >
|
|
46
|
+
<div class="container" v-html="content"></div>
|
|
47
|
+
</div>
|
|
48
|
+
|
|
49
|
+
</template>
|
|
50
|
+
<script lang="ts">
|
|
51
|
+
|
|
52
|
+
export default {
|
|
53
|
+
|
|
54
|
+
mounted() {
|
|
55
|
+
const jss=document.getElementsByClassName("jsloader")
|
|
56
|
+
for(let i=0;i<jss.length;i++){
|
|
57
|
+
let scriptObj = document.createElement('script')
|
|
58
|
+
const input = jss[i] as HTMLInputElement;
|
|
59
|
+
scriptObj.innerHTML =input.value.split('>')[1].replace('</script','');
|
|
60
|
+
const parent=jss[0].parentElement;
|
|
61
|
+
if(parent!=null)parent.append(scriptObj)
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
</script>
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
<style>
|
|
69
|
+
.doc{ background-size: cover;background-position: center; margin: 0 auto;}
|
|
70
|
+
</style>
|
|
71
|
+
<style scoped>
|
|
72
|
+
.vp-doc{ max-width: 100%;}
|
|
73
|
+
|
|
74
|
+
.container {
|
|
75
|
+
margin: auto;
|
|
76
|
+
width: 100%;
|
|
77
|
+
max-width: 1280px;
|
|
78
|
+
padding: 0 24px;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
@media (min-width: 640px) {
|
|
82
|
+
.container {
|
|
83
|
+
padding: 0 48px;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
@media (min-width: 960px) {
|
|
88
|
+
.container {
|
|
89
|
+
width: 100%;
|
|
90
|
+
padding: 0 64px;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
.vp-doc :deep(.VPHomeSponsors),
|
|
95
|
+
.vp-doc :deep(.VPTeamPage) {
|
|
96
|
+
margin-left: var(--vp-offset, calc(50% - 50vw));
|
|
97
|
+
margin-right: var(--vp-offset, calc(50% - 50vw));
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
.vp-doc :deep(.VPHomeSponsors h2) {
|
|
101
|
+
border-top: none;
|
|
102
|
+
letter-spacing: normal;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
.vp-doc :deep(.VPHomeSponsors a),
|
|
106
|
+
.vp-doc :deep(.VPTeamPage a){
|
|
107
|
+
text-decoration: none;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
</style>
|
package/dist/node/cli.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as getDefaultExportFromCjs, q as c, t as clearCache, n as init, b as build, o as serve, v as version, p as createServer } from './serve-
|
|
1
|
+
import { a as getDefaultExportFromCjs, q as c, t as clearCache, n as init, b as build, o as serve, v as version, p as createServer } from './serve-Bb2I6QNP.js';
|
|
2
2
|
import { createLogger } from 'vite';
|
|
3
3
|
import 'path';
|
|
4
4
|
import 'shiki';
|
package/dist/node/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { normalizePath } from 'vite';
|
|
2
2
|
export { loadEnv } from 'vite';
|
|
3
|
-
import { g as glob, c as createMarkdownRenderer, f as fs, m as matter, a as getDefaultExportFromCjs } from './serve-
|
|
4
|
-
export { S as ScaffoldThemeType, b as build, p as createServer, e as defineConfig, h as defineConfigWithTheme, d as defineLoader, n as init, j as mergeConfig, r as resolveConfig, l as resolvePages, k as resolveSiteData, i as resolveUserConfig, s as scaffold, o as serve } from './serve-
|
|
3
|
+
import { g as glob, c as createMarkdownRenderer, f as fs, m as matter, a as getDefaultExportFromCjs } from './serve-Bb2I6QNP.js';
|
|
4
|
+
export { S as ScaffoldThemeType, b as build, p as createServer, e as defineConfig, h as defineConfigWithTheme, d as defineLoader, n as init, j as mergeConfig, r as resolveConfig, l as resolvePages, k as resolveSiteData, i as resolveUserConfig, s as scaffold, o as serve } from './serve-Bb2I6QNP.js';
|
|
5
5
|
import path from 'path';
|
|
6
6
|
import 'crypto';
|
|
7
7
|
import 'module';
|
|
@@ -38331,7 +38331,7 @@ async function createMarkdownToVueRenderFn(srcDir, options = {}, pages, isBuild
|
|
|
38331
38331
|
if (blockType == null) ; else if (blockType[0] == "Doc" || blockType[0] == "Github") {
|
|
38332
38332
|
blockContent = md.render(block, env);
|
|
38333
38333
|
} else if (blockType[0] == "HTML") {
|
|
38334
|
-
blockContent = block;
|
|
38334
|
+
blockContent = encodeURIComponent(block);
|
|
38335
38335
|
}
|
|
38336
38336
|
const blockItem = Object.assign(
|
|
38337
38337
|
blockVars,
|
|
@@ -46740,7 +46740,7 @@ function escapeHtml(string) {
|
|
|
46740
46740
|
|
|
46741
46741
|
var escape$1 = /*@__PURE__*/getDefaultExportFromCjs(escapeHtml_1);
|
|
46742
46742
|
|
|
46743
|
-
var version = "1.1.
|
|
46743
|
+
var version = "1.1.65";
|
|
46744
46744
|
|
|
46745
46745
|
async function renderPage(render, config, page, result, appChunk, cssChunk, assets, pageToHashMap, metadataScript, additionalHeadTags) {
|
|
46746
46746
|
const routePath = `/${page.replace(/\.md$/, "")}`;
|