WIP Signed-off-by: Sam Therapy <sam@samtherapy.net>
This commit is contained in:
parent
1b5f0b63bf
commit
247b146e7d
26 changed files with 318 additions and 356 deletions
41
.drone.yml
41
.drone.yml
|
@ -1,21 +1,26 @@
|
|||
kind: pipeline
|
||||
type: docker
|
||||
name: example pipeline
|
||||
|
||||
steps:
|
||||
- name: deploy
|
||||
image: drillster/drone-rsync
|
||||
settings:
|
||||
user:
|
||||
from_secret: user
|
||||
hosts:
|
||||
- samtherapy.net
|
||||
port:
|
||||
from_secret: port
|
||||
key:
|
||||
from_secret: rsync_key
|
||||
recursive: true
|
||||
source:
|
||||
target:
|
||||
from_secret: target
|
||||
args:
|
||||
from_secret: args
|
||||
secrets: [ args, user, port, rsync_key, target ]
|
||||
- name: Build site
|
||||
image: denoland/deno:alpine
|
||||
commands:
|
||||
- deno task build
|
||||
|
||||
- name: Deploy to Deno Deploy (prod)
|
||||
image: git.froth.zone/sam/drone-deno-deploy
|
||||
environment:
|
||||
DENO_DEPLOY_TOKEN:
|
||||
from_secret: DENO_DEPLOY_TOKEN
|
||||
settings:
|
||||
project: samme-blog
|
||||
entrypoint: server.ts
|
||||
production: true
|
||||
depends_on:
|
||||
- "Build site"
|
||||
when:
|
||||
branch:
|
||||
- master
|
||||
event:
|
||||
- push
|
12
.editorconfig
Normal file
12
.editorconfig
Normal file
|
@ -0,0 +1,12 @@
|
|||
# EditorConfig is awesome: https://EditorConfig.org
|
||||
|
||||
# top-most EditorConfig file
|
||||
root = true
|
||||
|
||||
[*]
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
end_of_line = lf
|
||||
charset = utf-8
|
||||
trim_trailing_whitespace = true
|
||||
insert_final_newline = true
|
88
.gitignore
vendored
Normal file
88
.gitignore
vendored
Normal file
|
@ -0,0 +1,88 @@
|
|||
# Lume generated site
|
||||
dist/
|
||||
|
||||
# DS Store
|
||||
.DS_Store
|
||||
._.DS_Store
|
||||
**/.DS_Store
|
||||
**/._.DS_Store
|
||||
|
||||
# Logs
|
||||
logs
|
||||
*.log
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
|
||||
# Runtime data
|
||||
pids
|
||||
*.pid
|
||||
*.seed
|
||||
*.pid.lock
|
||||
|
||||
# Directory for instrumented libs generated by jscoverage/JSCover
|
||||
lib-cov
|
||||
|
||||
# Coverage directory used by tools like istanbul
|
||||
coverage
|
||||
|
||||
# nyc test coverage
|
||||
.nyc_output
|
||||
|
||||
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
|
||||
.grunt
|
||||
|
||||
# Bower dependency directory (https://bower.io/)
|
||||
bower_components
|
||||
|
||||
# node-waf configuration
|
||||
.lock-wscript
|
||||
|
||||
# Compiled binary addons (https://nodejs.org/api/addons.html)
|
||||
build/Release
|
||||
|
||||
# Dependency directories
|
||||
node_modules/
|
||||
jspm_packages/
|
||||
|
||||
# TypeScript v1 declaration files
|
||||
typings/
|
||||
|
||||
# Optional npm cache directory
|
||||
.npm
|
||||
|
||||
# Optional eslint cache
|
||||
.eslintcache
|
||||
|
||||
# Optional REPL history
|
||||
.node_repl_history
|
||||
|
||||
# Output of 'npm pack'
|
||||
*.tgz
|
||||
|
||||
# Yarn Integrity file
|
||||
.yarn-integrity
|
||||
|
||||
# dotenv environment variables file
|
||||
.env
|
||||
|
||||
# parcel-bundler cache (https://parceljs.org/)
|
||||
.cache
|
||||
|
||||
# next.js build output
|
||||
.next
|
||||
|
||||
# nuxt.js build output
|
||||
.nuxt
|
||||
|
||||
# vuepress build output
|
||||
.vuepress/dist
|
||||
|
||||
# Serverless directories
|
||||
.serverless
|
||||
|
||||
# FuseBox cache
|
||||
.fusebox/
|
||||
|
||||
# Snyk
|
||||
.dccache
|
3
.gitmodules
vendored
Normal file
3
.gitmodules
vendored
Normal file
|
@ -0,0 +1,3 @@
|
|||
[submodule "src/_includes/styles/external/pico"]
|
||||
path = src/_includes/styles/external/pico
|
||||
url = https://github.com/picocss/pico
|
13
.vscode/settings.json
vendored
Normal file
13
.vscode/settings.json
vendored
Normal file
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"deno.enable": true,
|
||||
"deno.lint": true,
|
||||
"deno.unstable": true,
|
||||
"deno.config": "./deno.json",
|
||||
"[typescript]": {
|
||||
"editor.defaultFormatter": "denoland.vscode-deno"
|
||||
},
|
||||
"deno.suggest.imports.hosts": {
|
||||
"https://deno.land": true,
|
||||
"https://esm.sh": true
|
||||
}
|
||||
}
|
27
404.html
27
404.html
|
@ -1,27 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<title>The Abyss</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<link rel="shortcut icon" href="favicon.png" />
|
||||
<link rel="stylesheet" href="style.css" />
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div align="center">
|
||||
<h1>404</h1>
|
||||
<em>
|
||||
You may ask yourself:
|
||||
<strong> well, how did I get here? </strong>
|
||||
</em>
|
||||
<br />
|
||||
<small>
|
||||
<small> By a bad link, probably </small>
|
||||
</small>
|
||||
<br />
|
||||
<br />
|
||||
<a href="https://samtherapy.net">Go back home</a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
35
PGP.asc
35
PGP.asc
|
@ -1,35 +0,0 @@
|
|||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
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
|
||||
=5zaJ
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
30
_config.ts
Normal file
30
_config.ts
Normal file
|
@ -0,0 +1,30 @@
|
|||
import lume from "lume/mod.ts";
|
||||
import attributes from "lume/plugins/attributes.ts";
|
||||
import codeHighlight from "lume/plugins/code_highlight.ts";
|
||||
import date from "lume/plugins/date.ts";
|
||||
import jsx_preact from "lume/plugins/jsx_preact.ts";
|
||||
// import lightningcss from "lume/plugins/lightningcss.ts";
|
||||
import sass from "lume/plugins/sass.ts";
|
||||
import svgo from "lume/plugins/svgo.ts";
|
||||
|
||||
const site = lume({
|
||||
src: "./src",
|
||||
dest: "./dist",
|
||||
});
|
||||
|
||||
site
|
||||
.copy("img")
|
||||
.copy(".well-known")
|
||||
.use(attributes())
|
||||
.use(date())
|
||||
.use(jsx_preact())
|
||||
// .use(mdx())
|
||||
.use(sass())
|
||||
.use(codeHighlight())
|
||||
// .use(lightningcss())
|
||||
.use(svgo())
|
||||
.remoteFile(
|
||||
"_includes/styles/external/nord.min.css",
|
||||
"https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/nord.min.css",
|
||||
);
|
||||
export default site;
|
12
deno.json
Normal file
12
deno.json
Normal file
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"importMap": "import_map.json",
|
||||
"tasks": {
|
||||
"lume": "deno eval \"import 'lume/task.ts'\" --",
|
||||
"build": "deno task lume",
|
||||
"serve": "deno task lume -s"
|
||||
},
|
||||
"compilerOptions": {
|
||||
"jsx": "react-jsx",
|
||||
"jsxImportSource": "preact"
|
||||
}
|
||||
}
|
7
import_map.json
Normal file
7
import_map.json
Normal file
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"imports": {
|
||||
"lume/": "https://deno.land/x/lume@v1.12.0/",
|
||||
"preact/jsx-runtime": "https://deno.land/x/lume@v1.12.0/deps/preact_runtime.ts",
|
||||
"preact": "https://deno.land/x/lume@v1.12.0/deps/preact.ts"
|
||||
}
|
||||
}
|
191
index.html
191
index.html
|
@ -1,191 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<title>Plain HTML is good</title>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" />
|
||||
<link rel="shortcut icon" href="favicon.png" />
|
||||
<link rel="stylesheet" href="style.css" />
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<span id="header">
|
||||
<h1>Just somebody on the internet</h1>
|
||||
<h2>Just a person on the internet too much.</h2>
|
||||
<br />
|
||||
<br />
|
||||
</span>
|
||||
<div id="grid">
|
||||
<div class="top">
|
||||
<div class="left">
|
||||
<iframe allowfullscreen sandbox="allow-top-navigation allow-scripts" width="400" height="600"
|
||||
src="https://fedifeed.com/api/v1/feed?user=sam&instance=https%3A%2F%2Ffroth.zone&instance_type=&theme=pleroma&size=95&header=true&replies=false&boosts=false"></iframe>
|
||||
</div>
|
||||
<div class="right">
|
||||
<table id="hosting">
|
||||
<tr>
|
||||
<th>Things I host</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="https://froth.zone">Pleroma</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="https://git.froth.zone">Gitea</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="https://blog.froth.zone">Writefreely</a>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
<a href="https://mk.froth.zone">Misskey</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="https://funkwhale.samtherapy.net">Funkwhale</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="https://tube.froth.zone">Peertube</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="https://poopchan.org">Poopchan</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="https://cy.tube.froth.zone">Cytube</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="https://invidious.samtherapy.net">Invidious</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="https://nitter.bird.froth.zone">Nitter</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="https://bibliogram.froth.zone">Bibliogram</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="https://teddit.froth.zone">Teddit</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="https://scribe.froth.zone">Scribe</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="https://f.ruina.exposed">linx-server</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="https://fedifeed.com/">Fedifeed</a>
|
||||
<br />(left)
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br /><br />
|
||||
<table id="comms">
|
||||
<tr>
|
||||
<th>Find me if you want to</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="https://froth.zone/users/sam">Shitpost</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="https://mk.froth.zone/@samme">Misskey alt</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="https://git.froth.zone/Sam">Code</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="https://blog.froth.zone/sam/">Blog</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="https://pixelfed.froth.zone/sam/">Images, possibly</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="bottom">
|
||||
<div class="left">
|
||||
<br />
|
||||
<br />
|
||||
<details>
|
||||
<summary>Contact details</summary>
|
||||
<br />
|
||||
Maybe my
|
||||
<a href="/PGP.asc">PGP key</a>
|
||||
if you want to shoot me an email?<br />
|
||||
<small>
|
||||
The fingerprint is 31EC 437B 458E 29B4 2F76 4409 4D8B 07C1 8F31
|
||||
ACBD
|
||||
<br /><br />
|
||||
<small>
|
||||
the email is sam @ this website
|
||||
<br />
|
||||
or on XMPP, same address
|
||||
<br />
|
||||
or on Matrix, @samme:schizo.cafe
|
||||
</small>
|
||||
</small>
|
||||
</details>
|
||||
</div>
|
||||
<div class="right">
|
||||
<br />
|
||||
<br />
|
||||
<em>
|
||||
cool people's secrtion
|
||||
<div id="frens">
|
||||
<a href="https://8777.ch/">8777.ch</a>
|
||||
|
|
||||
<a href="https://coy.neocities.org/~coy/">coy.neocities.org</a>
|
||||
|
|
||||
<a href="https://grumbulon.xyz/">grumbulon.xyz</a>
|
||||
|
|
||||
<a href="https://nekobit.net/">nekobit.net</a>
|
||||
|
|
||||
<a href="https://newblue.life/">newblue.life</a>
|
||||
|
|
||||
<a href="https://the.waifuism.life">the.waifuism.life</a>
|
||||
</div>
|
||||
</em>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</body>
|
||||
|
||||
</html>
|
24
serve.ts
Normal file
24
serve.ts
Normal file
|
@ -0,0 +1,24 @@
|
|||
import { Application, Router } from "https://deno.land/x/oak@v11.1.0/mod.ts";
|
||||
|
||||
const app = new Application();
|
||||
|
||||
// First we try to serve static files from the dist folder. If that fails, we
|
||||
// fall through to the router below.
|
||||
app.use(async (ctx, next) => {
|
||||
try {
|
||||
await ctx.send({
|
||||
root: `${Deno.cwd()}/dist`,
|
||||
index: "index.html",
|
||||
});
|
||||
} catch {
|
||||
next();
|
||||
}
|
||||
});
|
||||
|
||||
const router = new Router();
|
||||
|
||||
// After creating the router, we can add it to the app.
|
||||
app.use(router.routes());
|
||||
app.use(router.allowedMethods());
|
||||
|
||||
await app.listen({ port: 8000 });
|
13
src/404.md
Normal file
13
src/404.md
Normal file
|
@ -0,0 +1,13 @@
|
|||
---
|
||||
title: 404 - There's Nothing Here
|
||||
layout: layouts/base.tsx
|
||||
url: /404.html
|
||||
---
|
||||
|
||||
# You've found a dead end!
|
||||
|
||||
Would you like to [return](/)?
|
||||
|
||||
```ts
|
||||
window.location.replace("/");
|
||||
```
|
16
src/_includes/components/navbar.tsx
Normal file
16
src/_includes/components/navbar.tsx
Normal file
|
@ -0,0 +1,16 @@
|
|||
export default () => {
|
||||
return (
|
||||
<nav>
|
||||
<ul>
|
||||
<ul>
|
||||
<li>
|
||||
<a href="https://google.com">Test</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="https://google.com">Test 2</a>
|
||||
</li>
|
||||
</ul>
|
||||
</ul>
|
||||
</nav>
|
||||
);
|
||||
};
|
27
src/_includes/layouts/base.tsx
Normal file
27
src/_includes/layouts/base.tsx
Normal file
|
@ -0,0 +1,27 @@
|
|||
// This exists because lume doesn't actually add the <!DOCTYPE> header when rendering.
|
||||
export const layout = "layouts/doctype.njk";
|
||||
|
||||
import type { PageData } from "lume/core.ts";
|
||||
import Navbar from "../components/navbar.tsx";
|
||||
|
||||
export default ({ title, children }: PageData) => (
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charSet="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
||||
<title>{title}</title>
|
||||
|
||||
<link rel="shortcut icon" href="img/favicon.png" />
|
||||
<link rel="stylesheet" href="/styles/style.css" />
|
||||
</head>
|
||||
<body>
|
||||
{/* <header>
|
||||
{/* <Navbar />
|
||||
</header> */}
|
||||
<main>
|
||||
{children}
|
||||
</main>
|
||||
</body>
|
||||
</html>
|
||||
);
|
2
src/_includes/layouts/doctype.njk
Normal file
2
src/_includes/layouts/doctype.njk
Normal file
|
@ -0,0 +1,2 @@
|
|||
<!DOCTYPE html>
|
||||
{{ content | safe }}
|
16
src/_includes/styles/base.scss
Normal file
16
src/_includes/styles/base.scss
Normal file
|
@ -0,0 +1,16 @@
|
|||
// Imports
|
||||
@use "styles/external/pico/scss/pico.classless"; // Pico Framework
|
||||
@use "styles/external/nord.min"; // Highlight.js
|
||||
|
||||
// Font
|
||||
@import url("https://rsms.me/inter/inter.css");
|
||||
|
||||
html {
|
||||
font-family: "Inter", sans-serif;
|
||||
}
|
||||
|
||||
@supports (font-variation-settings: normal) {
|
||||
html {
|
||||
font-family: "Inter var", sans-serif;
|
||||
}
|
||||
}
|
1
src/_includes/styles/external/nord.min.css
vendored
Normal file
1
src/_includes/styles/external/nord.min.css
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{background:#2e3440}.hljs,.hljs-subst{color:#d8dee9}.hljs-selector-tag{color:#81a1c1}.hljs-selector-id{color:#8fbcbb;font-weight:700}.hljs-selector-attr,.hljs-selector-class{color:#8fbcbb}.hljs-property,.hljs-selector-pseudo{color:#88c0d0}.hljs-addition{background-color:rgba(163,190,140,.5)}.hljs-deletion{background-color:rgba(191,97,106,.5)}.hljs-built_in,.hljs-class,.hljs-type{color:#8fbcbb}.hljs-function,.hljs-function>.hljs-title,.hljs-title.hljs-function{color:#88c0d0}.hljs-keyword,.hljs-literal,.hljs-symbol{color:#81a1c1}.hljs-number{color:#b48ead}.hljs-regexp{color:#ebcb8b}.hljs-string{color:#a3be8c}.hljs-title{color:#8fbcbb}.hljs-params{color:#d8dee9}.hljs-bullet{color:#81a1c1}.hljs-code{color:#8fbcbb}.hljs-emphasis{font-style:italic}.hljs-formula{color:#8fbcbb}.hljs-strong{font-weight:700}.hljs-link:hover{text-decoration:underline}.hljs-comment,.hljs-quote{color:#4c566a}.hljs-doctag{color:#8fbcbb}.hljs-meta,.hljs-meta .hljs-keyword{color:#5e81ac}.hljs-meta .hljs-string{color:#a3be8c}.hljs-attr{color:#8fbcbb}.hljs-attribute{color:#d8dee9}.hljs-name{color:#81a1c1}.hljs-section{color:#88c0d0}.hljs-tag{color:#81a1c1}.hljs-template-variable,.hljs-variable{color:#d8dee9}.hljs-template-tag{color:#5e81ac}.language-abnf .hljs-attribute{color:#88c0d0}.language-abnf .hljs-symbol{color:#ebcb8b}.language-apache .hljs-attribute{color:#88c0d0}.language-apache .hljs-section{color:#81a1c1}.language-arduino .hljs-built_in{color:#88c0d0}.language-aspectj .hljs-meta{color:#d08770}.language-aspectj>.hljs-title{color:#88c0d0}.language-bnf .hljs-attribute{color:#8fbcbb}.language-clojure .hljs-name{color:#88c0d0}.language-clojure .hljs-symbol{color:#ebcb8b}.language-coq .hljs-built_in{color:#88c0d0}.language-cpp .hljs-meta .hljs-string{color:#8fbcbb}.language-css .hljs-built_in{color:#88c0d0}.language-css .hljs-keyword{color:#d08770}.language-diff .hljs-meta,.language-ebnf .hljs-attribute{color:#8fbcbb}.language-glsl .hljs-built_in{color:#88c0d0}.language-groovy .hljs-meta:not(:first-child),.language-haxe .hljs-meta,.language-java .hljs-meta{color:#d08770}.language-ldif .hljs-attribute{color:#8fbcbb}.language-lisp .hljs-name,.language-lua .hljs-built_in,.language-moonscript .hljs-built_in,.language-nginx .hljs-attribute{color:#88c0d0}.language-nginx .hljs-section{color:#5e81ac}.language-pf .hljs-built_in,.language-processing .hljs-built_in{color:#88c0d0}.language-scss .hljs-keyword,.language-stylus .hljs-keyword{color:#81a1c1}.language-swift .hljs-meta{color:#d08770}.language-vim .hljs-built_in{color:#88c0d0;font-style:italic}.language-yaml .hljs-meta{color:#d08770}
|
1
src/_includes/styles/external/pico
vendored
Submodule
1
src/_includes/styles/external/pico
vendored
Submodule
|
@ -0,0 +1 @@
|
|||
Subproject commit 3052db4bd3439e236479dc0f98069f7d3b559486
|
5
src/_site.json
Normal file
5
src/_site.json
Normal file
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"info": {
|
||||
"title": "samtherapy.net"
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
20
src/index.md
Normal file
20
src/index.md
Normal file
|
@ -0,0 +1,20 @@
|
|||
---
|
||||
title: Sam Site 2.0 (currently under construction)
|
||||
layout: layouts/base.tsx
|
||||
---
|
||||
|
||||
# Hello there
|
||||
|
||||
This is a website.
|
||||
|
||||
## There appears to be nothing here
|
||||
|
||||
You would be correct.
|
||||
|
||||
### Currently under (re)construction
|
||||
|
||||
It'll be ready, eventually. :)
|
||||
|
||||
#### Plans
|
||||
|
||||
As of now I'm using [lume.land](https://lume.land) and deploying to [Deno Deploy](https://deno.com/deploy) with a [custom Drone CI action](https://git.froth.zone/sam/drone-deno-deploy) ;)
|
4
src/robots.txt.njk
Normal file
4
src/robots.txt.njk
Normal file
|
@ -0,0 +1,4 @@
|
|||
Sitemap: {{ 'sitemap.xml' | url(true) }}
|
||||
|
||||
User-agent: *
|
||||
Disallow:
|
1
src/styles/style.scss
Normal file
1
src/styles/style.scss
Normal file
|
@ -0,0 +1 @@
|
|||
@use "styles/base";
|
85
style.css
85
style.css
|
@ -1,85 +0,0 @@
|
|||
a {
|
||||
color: rgba(200, 200, 200, 0.8);
|
||||
}
|
||||
|
||||
a:hover {
|
||||
color: rgba(200, 200, 200, 1);
|
||||
}
|
||||
|
||||
#frens a {
|
||||
color: rgba(250, 250, 250, 0.4);
|
||||
}
|
||||
|
||||
#frens a:hover {
|
||||
color: rgba(200, 200, 200, 0.6);
|
||||
}
|
||||
|
||||
.top, .bottom {
|
||||
display: grid;
|
||||
grid-template-rows: 1fr;
|
||||
grid-column-gap: 0;
|
||||
grid-row-gap: 5%;
|
||||
grid-auto-rows: minmax(100px, auto);
|
||||
}
|
||||
|
||||
.top {
|
||||
grid-template-rows: 0fr;
|
||||
}
|
||||
|
||||
.bottom {
|
||||
align-items: center;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.top .left {
|
||||
grid-row: 1 / 2;
|
||||
grid-column: 1 / 2;
|
||||
}
|
||||
|
||||
.top .right {
|
||||
grid-row: 1 / 2;
|
||||
grid-column: 2 / 2;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
bottom .right {
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
#header {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
||||
#hosting,
|
||||
#comms {
|
||||
border-collapse: collapse;
|
||||
width: 100%;
|
||||
table-layout: fixed;
|
||||
justify-content: right;
|
||||
align-items: right;
|
||||
text-align: center;
|
||||
font-size: larger;
|
||||
}
|
||||
|
||||
#frens {
|
||||
text-justify: auto;
|
||||
}
|
||||
|
||||
body {
|
||||
background-color: #000000;
|
||||
color: rgba(255, 255, 255, 1);
|
||||
max-width: 80%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
text-align: center;
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
margin-right: -50%;
|
||||
transform: translate(-50%, -50%);
|
||||
margin: auto;
|
||||
|
||||
}
|
Loading…
Reference in a new issue