Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 6 additions & 2 deletions .releaserc.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,12 @@
module.exports = {
branches: [
{ name: "master" },
{ name: "next", channel: "next", prerelease: "alpha" }, // Only after the `next` is created in the repo
],
plugins: [
"@semantic-release/commit-analyzer",
"@semantic-release/release-notes-generator",
"@semantic-release/npm",
"@semantic-release/github"
]
"@semantic-release/github",
],
};
4 changes: 4 additions & 0 deletions demo/App.vue
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
:editorProps="{ lineNumbers: true }"
:code="codeTemplate"
:layout="CustomLayout"
:components="registeredComponents"
@error="(e) => log('Error on first example', e)"
/>
</div>
Expand Down Expand Up @@ -98,6 +99,7 @@
</template>
<script>
import { markRaw } from "vue";
import DatePicker from "vue3-datepicker";
import { VueLive, VueLiveEditor, VueLivePreview } from "../src";
import CustomLayout from "./CustomLayout";
import codeSfc from "!!raw-loader!./assets/Button.vue";
Expand All @@ -107,6 +109,7 @@ import codeTemplate from "!!raw-loader!./assets/PureTemplate.html";
import codeChicago from "!!raw-loader!./assets/Chicago.jsx";
import all from "./assets/chicagoNeighbourhoods";
import "prismjs/themes/prism-tomorrow.css";
import "vue3-datepicker/dist/vue3-datepicker.css";

import GithubCorners from "vue-github-corners";

Expand All @@ -115,6 +118,7 @@ export default {
components: { VueLive, VueLiveEditor, VueLivePreview, GithubCorners },
data() {
return {
registeredComponents: { DatePicker: markRaw(DatePicker) },
codeSfc,
codeTemplate,
codeJs,
Expand Down
5 changes: 4 additions & 1 deletion demo/assets/PureTemplate.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,7 @@
let today = new Date();

<input type="checkbox" v-model="show">
<h1 v-if="show">Hello World</h1>
<date-picker
style="text-align:center;"
v-if="show"
v-model="today"/>
21 changes: 16 additions & 5 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@
"vue": "^3.0.0",
"vue-gh-corners": "^3.0.1",
"vue-github-corners": "^1.2.3",
"vuejs-datepicker": "^1.6.2"
"vue3-datepicker": "^0.1.0"
},
"peerDependencies": {
"vue": ">= 2.6.0"
Expand Down
17 changes: 9 additions & 8 deletions src/Editor.vue
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<template>
<PrismEditor
v-model="stableCode"
@input="updatePreview"
@update:modelValue="updatePreview"
:highlight="highlighter"
v-bind="editorProps"
/>
Expand Down Expand Up @@ -41,20 +41,21 @@ const highlight = (lang, jsxInExamples) => {
return scriptCodeHighlighted;
}
const templateCode = code.slice(scriptCode.length);
const templateHighlighted = prismHighlight(templateCode, languages["html"], lang)
return (
scriptCodeHighlighted +
templateHighlighted
const templateHighlighted = prismHighlight(
templateCode,
languages["html"],
lang
);
return scriptCodeHighlighted + templateHighlighted;
};
} else {
return (code) => {
const langScheme = languages[lang];
if(!langScheme){
return code
if (!langScheme) {
return code;
}
return prismHighlight(code, langScheme, lang);
}
};
}
};

Expand Down
5 changes: 3 additions & 2 deletions src/Preview.vue
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
</template>

<script>
import { markRaw } from "vue";
import { markRaw, h } from "vue";
import {
compile as compileScript,
isCodeVueSfc,
Expand Down Expand Up @@ -148,7 +148,8 @@ export default {
script,
(filepath) => requireAtRuntime(this.requires, filepath),
adaptCreateElement,
concatenate
concatenate,
h
) || {};

if (this.dataScope) {
Expand Down
14 changes: 11 additions & 3 deletions src/utils/evalInContext.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,18 @@ export default function evalInContext(
code,
require,
adaptCreateElement,
concatenate
concatenate,
h
) {
// eslint-disable-next-line no-new-func
const func = new Function("require", "__pragma__", "__concatenate__", code);
const func = new Function(
"require",
"__pragma__",
"__concatenate__",
"h",
// FIXME: this "replace" should be removed as soona s the compiler utils are updated to vue 3
code.replace(/var h = this\.\$createElement;/, "")
);

return func(require, adaptCreateElement, concatenate);
return func(require, adaptCreateElement, concatenate, h);
}
2 changes: 2 additions & 0 deletions src/utils/getScript.js
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@ export default function(code, jsxInExamples) {
return code;
}

code = code || "";

//else it will be considered pseudo jsx of vue-styleguidist
return /^</.test(code.trim()) ? "" : code.split(/\n[\t ]*</)[0];
}