1
Fork 0
mirror of https://github.com/glassflame/glassflame.github.io.git synced 2024-11-23 00:24:25 +00:00
glassflame/index.html

196 lines
4.7 KiB
HTML
Raw Normal View History

2023-10-18 23:58:51 +00:00
<!DOCTYPE html>
<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-19 12:56:08 +00:00
<style>
@import "style/light.css";
@import "style/dark.css";
2023-10-21 22:37:05 +00:00
:root {
--color-background: #ffffff;
--color-foreground: #000000;
2023-10-22 01:40:49 +00:00
--color-accent: initial;
2023-10-21 22:37:05 +00:00
--color-gray: #7E7E7E;
--color-red: #FB464C;
--color-orange: #E9973F;
--color-yellow: #E0DE71;
--color-green: #44CF6E;
--color-blue: #53DFDD;
--color-purple: #A882FF;
--edge-width: 2px;
--node-group-border-width: 2px;
--node-file-border-width: 2px;
}
2023-10-19 12:56:08 +00:00
body {
padding: 128px;
width: max-content;
height: max-content;
2023-10-20 01:44:56 +00:00
2023-10-19 12:56:08 +00:00
background-color: var(--color-background);
color: var(--color-foreground);
}
</style>
<script type="module" src="src/index.mjs"></script>
2023-10-21 22:37:05 +00:00
<template id="template-display">
<slot name="display-container">{Displayed content}</slot>
2023-10-21 22:37:05 +00:00
</template>
<template id="template-node-group">
<style>
2023-10-21 22:37:05 +00:00
.node-group {
2023-10-20 01:44:56 +00:00
position: absolute;
box-sizing: border-box;
2023-10-21 22:37:05 +00:00
--color-node: var(--color-gray);
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;
overflow-x: visible;
overflow-y: visible;
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;
}
.node-group-label h1 {
margin: 0;
}
</style>
<section class="node-group">
<aside class="node-group-label">
<h1><slot name="node-label">{Group label}</slot></h1>
</aside>
</section>
</template>
<template id="template-node-file">
<style>
2023-10-20 01:44:56 +00:00
.node-file {
2023-10-21 22:37:05 +00:00
position: absolute;
box-sizing: border-box;
--color-node: var(--color-gray);
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-20 01:44:56 +00:00
overflow-x: clip;
overflow-y: scroll;
}
2023-10-22 01:40:49 +00:00
.node-file-title {
font-size: 2em;
margin-block-start: .67em;
margin-block-end: .67em;
}
</style>
2023-10-21 22:37:05 +00:00
<article class="node-file">
2023-10-22 01:40:49 +00:00
<h1 class="node-file-title">
2023-10-21 22:37:05 +00:00
<slot name="node-title">{Node title}</slot>
</h1>
2023-10-21 22:37:05 +00:00
<slot name="node-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-21 22:37:05 +00:00
.node-text {
position: absolute;
box-sizing: border-box;
2023-10-20 01:44:56 +00:00
2023-10-21 22:37:05 +00:00
--color-node: var(--color-gray);
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;
overflow-x: clip;
overflow-y: scroll;
2023-10-20 01:44:56 +00:00
}
</style>
2023-10-21 22:37:05 +00:00
<article class="node-text">
<slot name="node-contents">{Node contents}</slot>
</article>
</template>
<template id="template-edge">
<slot name="edge-svg">{Edge SVG}</slot>
</template>
<template id="template-markdown">
<slot name="markdown-contents">{Markdown text}</slot>
</template>
2023-10-22 01:40:49 +00:00
<template id="template-frontmatter">
<style>
.frontmatter {
opacity: 50%;
}
</style>
<pre class="frontmatter"><slot name="frontmatter-contents">{Markdown text}</slot></pre>
</template>
2023-10-21 22:37:05 +00:00
<template id="template-canvas">
<style>
.canvas {
position: relative;
display: flex;
width: max-content;
height: max-content;
}
2023-10-22 01:40:49 +00:00
.canvas * {
left: 0;
top: 0;
}
.canvas *:first-child {
position: relative;
}
.canvas *:not(:first-child) {
position: absolute;
}
</style>
<div class="canvas">
<slot name="canvas-edges">{Canvas edges}</slot>
2023-10-22 01:40:49 +00:00
<slot name="canvas-nodes">{Canvas nodes}</slot>
</div>
</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-21 22:37:05 +00:00
<a class="wikilink"><slot name="wikilink-text">{Wikilink text}</slot></a>
2023-10-19 12:56:08 +00:00
</template>
<template id="template-hashtag">
<style>
.hashtag {
2023-10-20 01:44:56 +00:00
background-color: color-mix(in srgb, var(--color-accent) 20%, transparent);
color: var(--color-accent);
2023-10-19 12:56:08 +00:00
}
</style>
2023-10-21 22:37:05 +00:00
<span class="hashtag"><slot name="hashtag-text">{#Hashtag}</slot></span>
2023-10-19 12:56:08 +00:00
</template>
2023-10-20 01:44:56 +00:00
</head>
<body>
</body>
</html>