Build step for the css themes continued
This commit is contained in:
parent
e49ce63db9
commit
0a6279823e
2 changed files with 119 additions and 0 deletions
89
src/themes/theme.css
Normal file
89
src/themes/theme.css
Normal file
|
@ -0,0 +1,89 @@
|
||||||
|
@font-face {
|
||||||
|
font-family: "ProggyClean";
|
||||||
|
src: url(https://witchcraft.systems/ProggyCleanNerdFont-Regular.ttf);
|
||||||
|
}
|
||||||
|
|
||||||
|
:root {
|
||||||
|
--link-color: #646cff;
|
||||||
|
--link-hover-color: #535bf2;
|
||||||
|
--background-color: #12082b;
|
||||||
|
--header-background-color: #1f1145;
|
||||||
|
--content-background-color: #0d0620;
|
||||||
|
--text-color: white;
|
||||||
|
--border-color: #8054f0;
|
||||||
|
--indicator-inactive-color: #4a4a4a;
|
||||||
|
--indicator-active-color: #8054f0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
::-webkit-scrollbar {
|
||||||
|
width: 0px;
|
||||||
|
background: transparent;
|
||||||
|
padding: 0;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
::-webkit-scrollbar-thumb {
|
||||||
|
background: transparent;
|
||||||
|
border-radius: 0;
|
||||||
|
}
|
||||||
|
::-webkit-scrollbar-track {
|
||||||
|
background: transparent;
|
||||||
|
border-radius: 0;
|
||||||
|
}
|
||||||
|
::-webkit-scrollbar-corner {
|
||||||
|
background: transparent;
|
||||||
|
border-radius: 0;
|
||||||
|
}
|
||||||
|
::-webkit-scrollbar-button {
|
||||||
|
background: transparent;
|
||||||
|
border-radius: 0;
|
||||||
|
}
|
||||||
|
* {
|
||||||
|
scrollbar-width: none;
|
||||||
|
scrollbar-color: transparent transparent;
|
||||||
|
-ms-overflow-style: none; /* IE and Edge */
|
||||||
|
-webkit-overflow-scrolling: touch;
|
||||||
|
-webkit-scrollbar: none; /* Safari */
|
||||||
|
}
|
||||||
|
|
||||||
|
a {
|
||||||
|
font-weight: 500;
|
||||||
|
color: var(--link-color);
|
||||||
|
text-decoration: inherit;
|
||||||
|
}
|
||||||
|
a:hover {
|
||||||
|
color: var(--link-hover-color);
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
margin: 0;
|
||||||
|
display: flex;
|
||||||
|
place-items: center;
|
||||||
|
min-width: 320px;
|
||||||
|
min-height: 100vh;
|
||||||
|
background-color: var(--background-color);
|
||||||
|
font-family: "ProggyClean", monospace;
|
||||||
|
font-size: 24px;
|
||||||
|
color: var(--text-color);
|
||||||
|
border-color: var(--border-color);
|
||||||
|
overflow-wrap: break-word;
|
||||||
|
word-wrap: normal;
|
||||||
|
word-break: break-word;
|
||||||
|
hyphens: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
h1 {
|
||||||
|
font-size: 3.2em;
|
||||||
|
line-height: 1.1;
|
||||||
|
}
|
||||||
|
|
||||||
|
#app {
|
||||||
|
max-width: 1400px;
|
||||||
|
width: 100%;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
margin-left: auto;
|
||||||
|
margin-right: auto;
|
||||||
|
text-align: center;
|
||||||
|
}
|
30
theming.ts
Normal file
30
theming.ts
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
import { Plugin } from 'vite';
|
||||||
|
import { Config } from './config';
|
||||||
|
// Replaces app.css with the contents of the file specified in the
|
||||||
|
// config file.
|
||||||
|
|
||||||
|
export const themePlugin = (): Plugin => {
|
||||||
|
const themeFile = Config.THEME;
|
||||||
|
console.log(`Using theme file: ${themeFile}`);
|
||||||
|
return {
|
||||||
|
name: 'theme-generator',
|
||||||
|
transform(code, id) {
|
||||||
|
if (id.endsWith('app.css')) {
|
||||||
|
// Read the theme file and replace the contents of app.css with it
|
||||||
|
// Needs full path to the file
|
||||||
|
const themeCode = Deno.readTextFileSync(Deno.cwd() + '/src/themes/' + themeFile);
|
||||||
|
// Replace the contents of app.css with the theme code
|
||||||
|
|
||||||
|
// and add a comment at the top
|
||||||
|
const themeComment = `/* Generated from ${themeFile} */\n`;
|
||||||
|
const themeCodeWithComment = themeComment + themeCode;
|
||||||
|
// Return the theme code as the new contents of app.css
|
||||||
|
return {
|
||||||
|
code: themeCodeWithComment,
|
||||||
|
map: null,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
};
|
Loading…
Add table
Add a link
Reference in a new issue