mirror of https://github.com/sveltejs/svelte
parent
15d25b7374
commit
e03ba9051c
@ -1,6 +1,6 @@
|
||||
<script>
|
||||
import { createEventDispatcher } from 'svelte';
|
||||
import { enter } from './events.js';
|
||||
import { enter } from '../events.js';
|
||||
|
||||
export let examples;
|
||||
export let name;
|
@ -1,5 +1,5 @@
|
||||
<script>
|
||||
import { user, logout } from '../../../user.js';
|
||||
import { user, logout } from '../../../../user.js';
|
||||
|
||||
let showMenu = false;
|
||||
let name;
|
@ -0,0 +1,55 @@
|
||||
<script>
|
||||
import { createEventDispatcher } from 'svelte';
|
||||
import * as fleece from 'golden-fleece';
|
||||
import CodeMirror from '../CodeMirror.html';
|
||||
|
||||
const dispatch = createEventDispatcher();
|
||||
|
||||
export let value;
|
||||
let json5;
|
||||
|
||||
if (value === undefined) {
|
||||
json5 = 'undefined';
|
||||
} else {
|
||||
json5 = fleece.stringify(value);
|
||||
}
|
||||
|
||||
$: try {
|
||||
value = fleece.evaluate(json5);
|
||||
} catch (err) {
|
||||
console.error(Object.keys(err));
|
||||
// TODO show in UI
|
||||
}
|
||||
|
||||
function handleChange(event) {
|
||||
try {
|
||||
const value = fleece.evaluate(event.detail.value);
|
||||
dispatch('change', { value });
|
||||
} catch (err) {
|
||||
// TODO indicate error
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.prop-editor {
|
||||
border: 1px solid #eee;
|
||||
}
|
||||
</style>
|
||||
|
||||
<div class="prop-editor">
|
||||
<CodeMirror
|
||||
mode="json"
|
||||
bind:code={json5}
|
||||
lineNumbers={false}
|
||||
on:change={handleChange}
|
||||
flex
|
||||
/>
|
||||
</div>
|
||||
|
||||
<!-- <CodeMirror
|
||||
mode="json"
|
||||
bind:code={json5}
|
||||
error={dataError}
|
||||
errorLoc={dataErrorLoc}
|
||||
/> -->
|
@ -1,62 +0,0 @@
|
||||
.module-name {
|
||||
position: relative;
|
||||
display: block;
|
||||
background-color: #ff00d4;
|
||||
}
|
||||
|
||||
.panel-header {
|
||||
/* padding: 0 40px .5em 0; */
|
||||
background-color: #ff00d4;
|
||||
}
|
||||
|
||||
.dropdown {
|
||||
position: relative;
|
||||
display: block;
|
||||
float: left;
|
||||
padding: 0 2em 0 0;
|
||||
background-color: #ff00d4;
|
||||
}
|
||||
|
||||
.dropdown::after {
|
||||
content: '▼';
|
||||
position: absolute;
|
||||
right: 1rem;
|
||||
top: .55rem;
|
||||
font-size: .8em;
|
||||
color: #999;
|
||||
pointer-events: none;
|
||||
background-color: #ff00d4;
|
||||
}
|
||||
|
||||
.input-wrapper {
|
||||
position: relative;
|
||||
display: block;
|
||||
float: left;
|
||||
line-height: 1;
|
||||
/* margin: 0 .3em 0 0; */
|
||||
background-color: #ff00d4;
|
||||
}
|
||||
|
||||
.file-tabs li.active {
|
||||
/* background-color: var(--back-light); */
|
||||
background-color: #ff00d4;
|
||||
}
|
||||
|
||||
.widther {
|
||||
display: block;
|
||||
font-family: inherit;
|
||||
font-size: inherit;
|
||||
border: 1px solid #eee;
|
||||
padding: calc(.5em - 1px) .25em;
|
||||
line-height: 1;
|
||||
background-color: #ff00d4;
|
||||
}
|
||||
|
||||
.file-extension {
|
||||
display: inline-block;
|
||||
padding: calc(.5em - 1px) 0;
|
||||
color: var(--prime);
|
||||
left: -.2em;
|
||||
pointer-events: none;
|
||||
background-color: #ff00d4;
|
||||
}
|
@ -0,0 +1,15 @@
|
||||
export default function process_markdown(markdown) {
|
||||
const match = /---\n([\s\S]+?)\n---/.exec(markdown);
|
||||
const frontMatter = match[1];
|
||||
const content = markdown.slice(match[0].length);
|
||||
|
||||
const metadata = {};
|
||||
frontMatter.split('\n').forEach(pair => {
|
||||
const colonIndex = pair.indexOf(':');
|
||||
metadata[pair.slice(0, colonIndex).trim()] = pair
|
||||
.slice(colonIndex + 1)
|
||||
.trim();
|
||||
});
|
||||
|
||||
return { metadata, content };
|
||||
}
|
Loading…
Reference in new issue