2023-10-18 23:58:51 +00:00
|
|
|
<!DOCTYPE html>
|
2023-10-18 21:23:22 +00:00
|
|
|
<html lang="">
|
|
|
|
<head>
|
|
|
|
<meta charset="utf-8" />
|
2023-10-18 23:11:03 +00:00
|
|
|
<title>WIP: Obsiview</title>
|
2023-10-19 10:41:35 +00:00
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
2023-10-26 02:53:08 +00:00
|
|
|
<!-- Interaction scripts -->
|
|
|
|
<script type="module" src="src/index.mjs"></script>
|
|
|
|
<!-- Global style -->
|
2023-10-19 12:56:08 +00:00
|
|
|
<style>
|
2023-10-27 01:15:29 +00:00
|
|
|
@import "style/base.css";
|
2023-10-19 12:56:08 +00:00
|
|
|
@import "style/light.css";
|
|
|
|
@import "style/dark.css";
|
|
|
|
</style>
|
2023-10-26 02:53:08 +00:00
|
|
|
<!-- Templates -->
|
|
|
|
<template id="template-vault">
|
|
|
|
<style>
|
2023-10-27 00:44:49 +00:00
|
|
|
.vault {
|
2023-10-27 08:22:19 +00:00
|
|
|
margin-left: 64px;
|
|
|
|
margin-right: 64px;
|
2023-10-27 00:44:49 +00:00
|
|
|
}
|
2023-10-26 02:53:08 +00:00
|
|
|
</style>
|
|
|
|
<div class="vault">
|
|
|
|
<slot name="vault-child"></slot>
|
|
|
|
</div>
|
|
|
|
</template>
|
|
|
|
<template id="template-canvas">
|
|
|
|
<style>
|
|
|
|
.canvas {
|
|
|
|
position: relative;
|
|
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
|
|
width: max-content;
|
|
|
|
height: max-content;
|
2023-10-27 08:22:19 +00:00
|
|
|
|
|
|
|
margin-top: 64px;
|
|
|
|
margin-bottom: 64px;
|
2023-10-26 02:53:08 +00:00
|
|
|
}
|
|
|
|
</style>
|
|
|
|
<div class="canvas">
|
|
|
|
<slot name="canvas-nodes">{Canvas nodes}</slot>
|
2023-10-27 01:15:29 +00:00
|
|
|
<slot name="canvas-edges">{Canvas edges}</slot>
|
2023-10-26 02:53:08 +00:00
|
|
|
</div>
|
|
|
|
</template>
|
2023-10-21 22:37:05 +00:00
|
|
|
<template id="template-display">
|
2023-10-24 07:53:59 +00:00
|
|
|
<slot name="display-container">{Displayed content}</slot>
|
2023-10-21 22:37:05 +00:00
|
|
|
</template>
|
|
|
|
<template id="template-node-group">
|
2023-10-18 21:23:22 +00:00
|
|
|
<style>
|
2023-10-26 02:53:08 +00:00
|
|
|
.node {
|
2023-10-21 22:37:05 +00:00
|
|
|
outline: var(--node-group-border-width) solid var(--color-node);
|
|
|
|
background-color: color-mix(in srgb, var(--color-node) 20%, var(--color-background));
|
|
|
|
border-radius: 0 8px 8px 8px;
|
|
|
|
padding: 12px;
|
2023-10-20 01:44:56 +00:00
|
|
|
}
|
|
|
|
|
2023-10-21 22:37:05 +00:00
|
|
|
.node-group-label {
|
|
|
|
position: relative;
|
|
|
|
bottom: 14px;
|
|
|
|
left: -12px;
|
|
|
|
transform: translateY(-100%);
|
|
|
|
|
|
|
|
display: inline-block;
|
|
|
|
|
|
|
|
outline: var(--node-group-border-width) solid var(--color-node);
|
|
|
|
background-color: color-mix(in srgb, var(--color-node) 20%, var(--color-background));
|
|
|
|
border-radius: 8px 8px 0 0;
|
|
|
|
padding: 12px;
|
|
|
|
}
|
|
|
|
|
2023-10-26 02:53:08 +00:00
|
|
|
.node-group-label-title {
|
2023-10-21 22:37:05 +00:00
|
|
|
margin: 0;
|
|
|
|
}
|
|
|
|
</style>
|
2023-10-26 02:53:08 +00:00
|
|
|
<div class="canvas-item node node-group">
|
|
|
|
<aside class="node-group-label">
|
|
|
|
<h1 class="node-group-label-title"><slot name="node-group-label">{Group label}</slot></h1>
|
|
|
|
</aside>
|
|
|
|
</div>
|
2023-10-21 22:37:05 +00:00
|
|
|
</template>
|
|
|
|
<template id="template-node-file">
|
|
|
|
<style>
|
2023-10-26 02:53:08 +00:00
|
|
|
.node {
|
2023-10-21 22:37:05 +00:00
|
|
|
outline: var(--node-file-border-width) solid var(--color-node);
|
|
|
|
background-color: color-mix(in srgb, var(--color-node) 10%, var(--color-background));
|
2023-10-18 23:58:51 +00:00
|
|
|
border-radius: 8px;
|
|
|
|
padding: 12px;
|
2023-10-26 02:53:08 +00:00
|
|
|
}
|
2023-10-20 01:44:56 +00:00
|
|
|
|
2023-10-26 02:53:08 +00:00
|
|
|
.node-file {
|
2023-10-20 01:44:56 +00:00
|
|
|
overflow-x: clip;
|
|
|
|
overflow-y: scroll;
|
|
|
|
}
|
2023-10-22 01:40:49 +00:00
|
|
|
|
2023-10-26 02:53:08 +00:00
|
|
|
.node-file-label {
|
2023-10-22 01:40:49 +00:00
|
|
|
font-size: 2em;
|
|
|
|
margin-block-start: .67em;
|
|
|
|
margin-block-end: .67em;
|
|
|
|
}
|
2023-10-18 21:23:22 +00:00
|
|
|
</style>
|
2023-10-26 02:53:08 +00:00
|
|
|
<article class="canvas-item node node-file">
|
|
|
|
<h1 class="node-file-label">
|
|
|
|
<slot name="node-file-label">{Node title}</slot>
|
2023-10-18 21:23:22 +00:00
|
|
|
</h1>
|
2023-10-26 02:53:08 +00:00
|
|
|
<slot name="node-file-contents">{Node contents}</slot>
|
2023-10-20 01:44:56 +00:00
|
|
|
</article>
|
|
|
|
</template>
|
2023-10-21 22:37:05 +00:00
|
|
|
<template id="template-node-text">
|
2023-10-20 01:44:56 +00:00
|
|
|
<style>
|
2023-10-26 02:53:08 +00:00
|
|
|
.node {
|
2023-10-21 22:37:05 +00:00
|
|
|
outline: var(--node-file-border-width) solid var(--color-node);
|
|
|
|
background-color: color-mix(in srgb, var(--color-node) 10%, var(--color-background));
|
|
|
|
border-radius: 8px;
|
|
|
|
padding: 12px;
|
2023-10-26 02:53:08 +00:00
|
|
|
}
|
2023-10-21 22:37:05 +00:00
|
|
|
|
2023-10-26 02:53:08 +00:00
|
|
|
.node-text {
|
2023-10-21 22:37:05 +00:00
|
|
|
overflow-x: clip;
|
|
|
|
overflow-y: scroll;
|
2023-10-20 01:44:56 +00:00
|
|
|
}
|
|
|
|
</style>
|
2023-10-26 02:53:08 +00:00
|
|
|
<article class="canvas-item node node-text">
|
|
|
|
<slot name="node-text-contents">{Node contents}</slot>
|
2023-10-21 22:37:05 +00:00
|
|
|
</article>
|
|
|
|
</template>
|
|
|
|
<template id="template-edge">
|
2023-10-26 02:53:08 +00:00
|
|
|
<style>
|
2023-10-27 00:44:49 +00:00
|
|
|
.edge {
|
|
|
|
|
2023-10-26 02:53:08 +00:00
|
|
|
}
|
|
|
|
</style>
|
2023-10-27 00:44:49 +00:00
|
|
|
<div class="canvas-item edge">
|
2023-10-26 02:53:08 +00:00
|
|
|
<slot name="edge-svg">{Edge SVG}</slot>
|
|
|
|
</div>
|
2023-10-21 22:37:05 +00:00
|
|
|
</template>
|
|
|
|
<template id="template-markdown">
|
2023-10-26 02:53:08 +00:00
|
|
|
<style>
|
2023-10-27 00:44:49 +00:00
|
|
|
.markdown {
|
|
|
|
|
|
|
|
}
|
2023-10-26 02:53:08 +00:00
|
|
|
</style>
|
|
|
|
<div class="markdown">
|
|
|
|
<slot name="markdown-document">{Markdown text}</slot>
|
|
|
|
</div>
|
2023-10-21 22:37:05 +00:00
|
|
|
</template>
|
2023-10-22 01:40:49 +00:00
|
|
|
<template id="template-frontmatter">
|
|
|
|
<style>
|
|
|
|
.frontmatter {
|
|
|
|
opacity: 50%;
|
|
|
|
}
|
|
|
|
</style>
|
2023-10-26 02:53:08 +00:00
|
|
|
<div class="frontmatter">
|
|
|
|
<slot name="frontmatter-contents">{Markdown text}</slot>
|
|
|
|
</div>
|
2023-10-22 01:40:49 +00:00
|
|
|
</template>
|
2023-10-26 02:53:08 +00:00
|
|
|
<template id="template-hashtag">
|
2023-10-21 23:36:55 +00:00
|
|
|
<style>
|
2023-10-26 02:53:08 +00:00
|
|
|
.hashtag {
|
|
|
|
background-color: color-mix(in srgb, var(--color-accent) 20%, transparent);
|
|
|
|
color: var(--color-accent);
|
2023-10-22 01:40:49 +00:00
|
|
|
}
|
2023-10-21 23:36:55 +00:00
|
|
|
</style>
|
2023-10-26 02:53:08 +00:00
|
|
|
<span class="hashtag"><slot name="hashtag-tag">{#Hashtag}</slot></span>
|
2023-10-18 21:23:22 +00:00
|
|
|
</template>
|
2023-10-19 12:56:08 +00:00
|
|
|
<template id="template-wikilink">
|
|
|
|
<style>
|
|
|
|
.wikilink {
|
2023-10-20 01:44:56 +00:00
|
|
|
color: var(--color-accent);
|
|
|
|
text-decoration: underline 1px solid currentColor;
|
|
|
|
cursor: pointer;
|
2023-10-19 12:56:08 +00:00
|
|
|
}
|
|
|
|
</style>
|
2023-10-27 00:44:49 +00:00
|
|
|
<a class="wikilink"></a>
|
2023-10-19 12:56:08 +00:00
|
|
|
</template>
|
2023-10-20 01:44:56 +00:00
|
|
|
</head>
|
2023-10-27 00:44:49 +00:00
|
|
|
<body is="x-browse"></body>
|
2023-10-18 21:23:22 +00:00
|
|
|
</html>
|