build script + editor + other things

This commit is contained in:
2023-06-16 19:20:44 +02:00
parent 15c33ce2c5
commit b6fb8ef294
8 changed files with 176 additions and 169 deletions

View File

@@ -23,42 +23,27 @@
</template> </template>
<style> <style>
:root, :root.light { :root, :root.light {
--primary-color: #2c3e50; --primary-color: #2c3e50;
--accent-background: rgb(30, 30, 82); --accent-background: rgb(30, 30, 82);
--secondary-color: white; --secondary-color: white;
--background-color: white; --background-color: white;
--popup-color: rgb(224, 224, 224); --popup-color: rgb(224, 224, 224);
--accent-color: #42b983; --accent-color: #42b983;
--hover-color: rgb(165, 165, 165); --hover-color: rgb(165, 165, 165);
--accent-background-hover: #4380a8; --accent-background-hover: #4380a8;
--overlay-color: rgba(37, 37, 37, 0.575); --overlay-color: rgba(37, 37, 37, 0.575);
--inactive-color: rgb(100, 100, 100); --inactive-color: rgb(100, 100, 100);
--highlight-backdrop: rgb(143, 134, 192); --highlight-backdrop: rgb(143, 134, 192);
--PI: 3.14159265358979; --PI: 3.14159265358979;
} }
:root.dark { :root.dark {
--primary-color: white;
--accent-background: rgb(56, 56, 112);
--secondary-color: white;
--background-color: rgb(32, 32, 32);
--popup-color: rgb(58, 58, 58);
--accent-color: #42b983;
--hover-color: rgb(83, 83, 83);
--accent-background-hover: #4380a8;
--overlay-color: rgba(104, 104, 104, 0.575);
--inactive-color: rgb(190, 190, 190);
--highlight-backdrop: rgb(85, 63, 207);
}
@media ( prefers-color-scheme: dark ) {
:root {
--primary-color: white; --primary-color: white;
--popup-color: rgb(58, 58, 58);
--accent-background: rgb(56, 56, 112); --accent-background: rgb(56, 56, 112);
--secondary-color: white; --secondary-color: white;
--background-color: rgb(32, 32, 32); --background-color: rgb(32, 32, 32);
--popup-color: rgb(58, 58, 58);
--accent-color: #42b983; --accent-color: #42b983;
--hover-color: rgb(83, 83, 83); --hover-color: rgb(83, 83, 83);
--accent-background-hover: #4380a8; --accent-background-hover: #4380a8;
@@ -66,85 +51,104 @@
--inactive-color: rgb(190, 190, 190); --inactive-color: rgb(190, 190, 190);
--highlight-backdrop: rgb(85, 63, 207); --highlight-backdrop: rgb(85, 63, 207);
} }
}
::selection { @media ( prefers-color-scheme: dark ) {
background-color: var( --highlight-backdrop ); :root {
color: var( --secondary-color ); --primary-color: white;
} --popup-color: rgb(58, 58, 58);
--accent-background: rgb(56, 56, 112);
--secondary-color: white;
--background-color: rgb(32, 32, 32);
--accent-color: #42b983;
--hover-color: rgb(83, 83, 83);
--accent-background-hover: #4380a8;
--overlay-color: rgba(104, 104, 104, 0.575);
--inactive-color: rgb(190, 190, 190);
--highlight-backdrop: rgb(85, 63, 207);
}
}
#themeSelector { ::selection {
background-color: rgba( 0, 0, 0, 0 ); background-color: var( --highlight-backdrop );
color: var( --primary-color ); color: var( --secondary-color );
font-size: 130%; }
padding: 0;
margin: 0;
border: none;
cursor: pointer;
}
html, #themeSelector {
body { background-color: rgba( 0, 0, 0, 0 );
width: 100%; color: var( --primary-color );
height: 100%; font-size: 130%;
margin: 0; padding: 0;
padding: 0; margin: 0;
} border: none;
cursor: pointer;
}
#app { html,
transition: 0.5s; body {
background-color: var( --background-color ); width: 100%;
font-family: Avenir, Helvetica, Arial, sans-serif; height: 100%;
-webkit-font-smoothing: antialiased; margin: 0;
-moz-osx-font-smoothing: grayscale; padding: 0;
text-align: center; }
color: var( --primary-color );
height: 100%;
display: flex;
flex-direction: column;
}
nav { #app {
padding: 30px; transition: 0.5s;
} background-color: var( --background-color );
font-family: Avenir, Helvetica, Arial, sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-align: center;
color: var( --primary-color );
height: 100%;
display: flex;
flex-direction: column;
}
nav a { nav {
font-weight: bold; padding: 30px;
color: var( --primary-color ); }
}
nav a.router-link-exact-active { nav a {
color: #42b983; font-weight: bold;
} color: var( --primary-color );
}
.scale-enter-active, nav a.router-link-exact-active {
.scale-leave-active { color: #42b983;
transition: all 0.5s ease; }
}
.scale-enter-from, .scale-enter-active,
.scale-leave-to { .scale-leave-active {
opacity: 0; transition: all 0.5s ease;
transform: scale(0.9); }
}
.fade-enter-active, .scale-enter-from,
.fade-leave-active { .scale-leave-to {
transition: opacity 0.4s ease; opacity: 0;
} transform: scale(0.9);
}
.fade-enter-from, .fade-enter-active,
.fade-leave-to { .fade-leave-active {
opacity: 0; transition: opacity 0.4s ease;
} }
.material-symbols-outlined { .fade-enter-from,
font-variation-settings: .fade-leave-to {
'FILL' 0, opacity: 0;
'wght' 400, }
'GRAD' 0,
'opsz' 48 .material-symbols-outlined {
} font-variation-settings:
'FILL' 0,
'wght' 400,
'GRAD' 0,
'opsz' 48
}
.clr-open {
border: black solid 1px !important;
}
</style> </style>
<script> <script>

View File

@@ -11,7 +11,7 @@
<div id="stages" class="stages"> <div id="stages" class="stages">
<div id="rectangular" v-if="shape == 'rectangular'" class="stages"></div> <div id="rectangular" v-if="shape == 'rectangular'" class="stages"></div>
<div id="trapezoid" v-else-if="shape == 'trapezoid'" class="stages"><div id="trapezoid-ingredient"></div></div> <div id="trapezoid" v-else-if="shape == 'trapezoid'" class="stages"><div id="trapezoid-ingredient"></div></div>
<div id="circular" v-else-if="shape == 'circular'" class="stages">Stage</div> <div id="circular" v-else-if="shape == 'circular'" class="stages"><div id="circular-ingredient"></div></div>
</div> </div>
</template> </template>
@@ -25,7 +25,7 @@
border: solid black 2px; border: solid black 2px;
} }
#trapezoid { #trapezoid, #circular {
overflow: hidden; overflow: hidden;
} }
@@ -38,6 +38,16 @@
top: 29vh; top: 29vh;
right: 120vh; right: 120vh;
} }
#circular-ingredient {
border: solid black 2px;
border-radius: 100%;
height: 199%;
width: 199%;
position: relative;
top: 0;
right: 100%;
}
</style> </style>
<script> <script>

View File

@@ -11,7 +11,7 @@
<div id="stages"> <div id="stages">
<div id="rectangular" v-if="shape == 'rectangular'"></div> <div id="rectangular" v-if="shape == 'rectangular'"></div>
<div id="trapezoid" v-if="shape == 'trapezoid'"></div> <div id="trapezoid" v-if="shape == 'trapezoid'"></div>
<div id="circular" v-if="orishapegin == 'circular'"></div> <div id="circular" v-if="origin == 'circular'"></div>
</div> </div>
</template> </template>

View File

@@ -17,15 +17,29 @@
</div> </div>
<div class="ticket-settings"> <div class="ticket-settings">
<h3>Ticket Settings</h3> <h3>Ticket Settings</h3>
<div class="category" v-for="category in event.categories"> <table class="category" v-for="category in event.categories">
{{ category.name }}: {{ category.name }}:
<div v-for="price in category.price"> <tr v-for="price in category.price">
{{ price.name }}: <td>
<input type="number" v-model="price.price"> {{ price.name }}:
</div> </td>
{{ category.fg }} <td>
{{ category.bg }} <input type="number" v-model="price.price">
</div> </td>
</tr>
<tr>
<td>Foreground colour</td>
<td>
<input type="text" data-coloris v-model="category.fg" onkeydown="return false;">
</td>
</tr>
<tr>
<td>Background colour</td>
<td>
<input type="text" data-coloris v-model="category.bg" onkeydown="return false;">
</td>
</tr>
</table>
</div> </div>
<div class="special-settings"> <div class="special-settings">
<h3>Special Settings</h3> <h3>Special Settings</h3>

View File

@@ -7,19 +7,48 @@
* *
*/ */
const prompt = require( 'prompt-sync' );
const markdownIt = require( 'markdown-it' ); const markdownIt = require( 'markdown-it' );
const md2html = new markdownIt(); const md2html = new markdownIt();
const fs = require( 'fs' );
const path = require( 'path' );
buildNav( buildDocs() );
if ( prompt( 'Do you want to rebuild the ' ).toLowercase === 'y' ) { function buildNav ( pathObject ) {
buildDocs(); console.log( 'building nav ' + pathObject );
buildNav();
}
function buildNav () {
} }
function buildDocs () { function buildDocs () {
let directoriesToScan = [];
let files = fs.readdirSync( path.join( __dirname + '/src/' ) );
for ( let file in files ) {
if ( files[ file ].substring( files[ file ].length - 3 ) == '.md' ) {
handleMD( files[ file ] );
} else {
directoriesToScan.push( files[ file ] );
}
}
let count = directoriesToScan.length;
while ( count > 0 ) {
for ( let missing in directoriesToScan ) {
let files = fs.readdirSync( path.join( __dirname + '/src/' + directoriesToScan[ missing ] ) );
count -= 1;
for ( let file in files ) {
if ( files[ file ].substring( files[ file ].length - 3 ) == '.md' ) {
handleMD( files[ file ] );
} else {
directoriesToScan.push( directoriesToScan[ missing ] + '/' + files[ file ] );
count += 1;
}
}
}
}
md2html.render( '#Test' ); md2html.render( '#Test' );
return 'Hi';
}
function handleMD ( path ) {
console.log( 'md file', path );
} }

View File

@@ -9,16 +9,7 @@
"version": "1.0.0", "version": "1.0.0",
"license": "GPL-3.0-or-later", "license": "GPL-3.0-or-later",
"dependencies": { "dependencies": {
"markdown-it": "^13.0.1", "markdown-it": "^13.0.1"
"prompt-sync": "^4.2.0"
}
},
"node_modules/ansi-regex": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz",
"integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==",
"engines": {
"node": ">=6"
} }
}, },
"node_modules/argparse": { "node_modules/argparse": {
@@ -65,25 +56,6 @@
"resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz",
"integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==" "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g=="
}, },
"node_modules/prompt-sync": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/prompt-sync/-/prompt-sync-4.2.0.tgz",
"integrity": "sha512-BuEzzc5zptP5LsgV5MZETjDaKSWfchl5U9Luiu8SKp7iZWD5tZalOxvNcZRwv+d2phNFr8xlbxmFNcRKfJOzJw==",
"dependencies": {
"strip-ansi": "^5.0.0"
}
},
"node_modules/strip-ansi": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
"integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
"dependencies": {
"ansi-regex": "^4.1.0"
},
"engines": {
"node": ">=6"
}
},
"node_modules/uc.micro": { "node_modules/uc.micro": {
"version": "1.0.6", "version": "1.0.6",
"resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz",
@@ -91,11 +63,6 @@
} }
}, },
"dependencies": { "dependencies": {
"ansi-regex": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz",
"integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g=="
},
"argparse": { "argparse": {
"version": "2.0.1", "version": "2.0.1",
"resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
@@ -131,22 +98,6 @@
"resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz",
"integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==" "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g=="
}, },
"prompt-sync": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/prompt-sync/-/prompt-sync-4.2.0.tgz",
"integrity": "sha512-BuEzzc5zptP5LsgV5MZETjDaKSWfchl5U9Luiu8SKp7iZWD5tZalOxvNcZRwv+d2phNFr8xlbxmFNcRKfJOzJw==",
"requires": {
"strip-ansi": "^5.0.0"
}
},
"strip-ansi": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
"integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
"requires": {
"ansi-regex": "^4.1.0"
}
},
"uc.micro": { "uc.micro": {
"version": "1.0.6", "version": "1.0.6",
"resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz",

View File

@@ -4,7 +4,7 @@
"description": "The website of libreevent", "description": "The website of libreevent",
"main": "build.js", "main": "build.js",
"scripts": { "scripts": {
"test": "echo \"Error: no test specified\" && exit 1" "build": "node build.js"
}, },
"repository": { "repository": {
"type": "git", "type": "git",
@@ -17,7 +17,6 @@
}, },
"homepage": "https://libreevent.janishutz.com", "homepage": "https://libreevent.janishutz.com",
"dependencies": { "dependencies": {
"markdown-it": "^13.0.1", "markdown-it": "^13.0.1"
"prompt-sync": "^4.2.0"
} }
} }

View File