Compare commits
No commits in common. "master" and "pages" have entirely different histories.
58
.drone.yml
58
.drone.yml
|
@ -1,58 +0,0 @@
|
|||
kind: pipeline
|
||||
type: docker
|
||||
name: Build & Deploy
|
||||
|
||||
clone:
|
||||
disable: true
|
||||
|
||||
steps:
|
||||
- name: Clone
|
||||
image: woodpeckerci/plugin-git
|
||||
settings:
|
||||
recursive: true
|
||||
|
||||
- name: Build site
|
||||
image: denoland/deno
|
||||
commands:
|
||||
- deno task build
|
||||
depends_on:
|
||||
- "Clone"
|
||||
|
||||
- name: Deploy to Deno Deploy
|
||||
image: git.froth.zone/sam/drone-deno-deploy
|
||||
environment:
|
||||
DENO_DEPLOY_TOKEN:
|
||||
from_secret: DENO_DEPLOY_TOKEN
|
||||
settings:
|
||||
project: samme
|
||||
entrypoint: server.ts
|
||||
production: true
|
||||
include: dist,server.ts,deno.json
|
||||
import_map: deno.json
|
||||
depends_on:
|
||||
- "Build site"
|
||||
when:
|
||||
branch:
|
||||
- master
|
||||
event:
|
||||
- push
|
||||
|
||||
- name: Push to Pages
|
||||
image: plugins/gh-pages
|
||||
settings:
|
||||
remote_url:
|
||||
from_secret: URL
|
||||
password:
|
||||
from_secret: PASS
|
||||
target_branch: pages
|
||||
pages_directory: dist
|
||||
copy_contents: true
|
||||
user_name: Sam Therapy
|
||||
user_email: sam@samtherapy.net
|
||||
depends_on:
|
||||
- "Build site"
|
||||
when:
|
||||
branch:
|
||||
- master
|
||||
event:
|
||||
- push
|
|
@ -1,12 +0,0 @@
|
|||
# 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
|
|
@ -1,88 +0,0 @@
|
|||
# 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
|
|
@ -1,11 +0,0 @@
|
|||
{
|
||||
"deno.enable": true,
|
||||
"deno.lint": true,
|
||||
"deno.unstable": true,
|
||||
"[typescript]": {
|
||||
"editor.defaultFormatter": "denoland.vscode-deno"
|
||||
},
|
||||
"[typescriptreact]": {
|
||||
"editor.defaultFormatter": "denoland.vscode-deno"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,2 @@
|
|||
<!doctype html><html lang=en><title>Well, how did I get here?</title><meta charset=utf-8><meta content="width=device-width,initial-scale=1"name=viewport><link rel="shortcut icon"href=/img/favicon.png type=image/png><link href=/css/style.css rel=stylesheet><meta content=website property=og:type><meta content="Sam's site"property=og:site_name><meta content=en property=og:locale><meta content="The website of a random fishe"property=og:description><meta content=https://samtherapy.net/404.html property=og:url><meta content=https://samtherapy.net/img/favicon.png property=og:image><meta content="The website of a random fishe"name=twitter:description><meta content=summary name=twitter:card><meta content=https://samtherapy.net/img/favicon.png name=twitter:image><meta content="The website of a random fishe"itemprop=description><meta content=https://samtherapy.net/img/favicon.png itemprop=image><meta content="The website of a random fishe"name=description><meta content=nothing name=keywords><meta content="index, follow"name=robots><meta content="Lume v1.16.2"name=generator><body><nav><ul class=main-nav><li><a href=/about>About</a><li><a href=/contact>Contact</a><li class=push><a href=/>Site</a></ul></nav><header><h1>Well, how did I get here?</h1><h2>404 - Not found</h2></header><main><h4>Where does that <a href=/>highway</a> go to?</h4><pre><code class="language-js hljs language-javascript"><span class="hljs-variable language_">window</span>.<span class=hljs-property>location</span>.<span class="hljs-title function_">replace</span>(<span class=hljs-string>"/"</span>);
|
||||
</code></pre></main><footer><small> Built with <a href=https://lume.land>Lume</a> • Hosted on <a href=https://deno.com/deploy>Deno Deploy</a> from <a href=https://samtherapy.net>here</a> <em>and</em> <a href=https://pages.git.froth.zone>Codeberg Pages</a> from <a href=https://samtherapy.xyz>here</a> • <a href=https://git.froth.zone/sam/site>Source</a> </small></footer>
|
110
LICENSE
110
LICENSE
|
@ -1,110 +0,0 @@
|
|||
Creative Commons Legal Code CC0 1.0 Universal Official translations of this
|
||||
legal tool are available
|
||||
|
||||
CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL
|
||||
SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN ATTORNEY-CLIENT
|
||||
RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS"
|
||||
BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE USE OF THIS
|
||||
DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER, AND DISCLAIMS
|
||||
LIABILITY FOR DAMAGES RESULTING FROM THE USE OF THIS DOCUMENT OR THE
|
||||
INFORMATION OR WORKS PROVIDED HEREUNDER.
|
||||
|
||||
Statement of Purpose
|
||||
|
||||
The laws of most jurisdictions throughout the world automatically confer
|
||||
exclusive Copyright and Related Rights (defined below) upon the creator and
|
||||
subsequent owner(s) (each and all, an "owner") of an original work of
|
||||
authorship and/or a database (each, a "Work").
|
||||
|
||||
Certain owners wish to permanently relinquish those rights to a Work for the
|
||||
purpose of contributing to a commons of creative, cultural and scientific works
|
||||
("Commons") that the public can reliably and without fear of later claims of
|
||||
infringement build upon, modify, incorporate in other works, reuse and
|
||||
redistribute as freely as possible in any form whatsoever and for any purposes,
|
||||
including without limitation commercial purposes. These owners may contribute
|
||||
to the Commons to promote the ideal of a free culture and the further
|
||||
production of creative, cultural and scientific works, or to gain reputation or
|
||||
greater distribution for their Work in part through the use and efforts of
|
||||
others.
|
||||
|
||||
For these and/or other purposes and motivations, and without any expectation of
|
||||
additional consideration or compensation, the person associating CC0 with a
|
||||
Work (the "Affirmer"), to the extent that he or she is an owner of Copyright
|
||||
and Related Rights in the Work, voluntarily elects to apply CC0 to the Work and
|
||||
publicly distribute the Work under its terms, with knowledge of his or her
|
||||
Copyright and Related Rights in the Work and the meaning and intended legal
|
||||
effect of CC0 on those rights.
|
||||
|
||||
1. Copyright and Related Rights. A Work made available under CC0 may be
|
||||
protected by copyright and related or neighboring rights ("Copyright and
|
||||
Related Rights"). Copyright and Related Rights include, but are not limited to,
|
||||
the following:
|
||||
|
||||
the right to reproduce, adapt, distribute, perform, display, communicate,
|
||||
and translate a Work; moral rights retained by the original author(s)
|
||||
and/or performer(s); publicity and privacy rights pertaining to a person's
|
||||
image or likeness depicted in a Work; rights protecting against unfair
|
||||
competition in regards to a Work, subject to the limitations in paragraph
|
||||
4(a), below; rights protecting the extraction, dissemination, use and reuse
|
||||
of data in a Work; database rights (such as those arising under Directive
|
||||
96/9/EC of the European Parliament and of the Council of 11 March 1996 on
|
||||
the legal protection of databases, and under any national implementation
|
||||
thereof, including any amended or successor version of such directive); and
|
||||
other similar, equivalent or corresponding rights throughout the world
|
||||
based on applicable law or treaty, and any national implementations
|
||||
thereof.
|
||||
|
||||
2. Waiver. To the greatest extent permitted by, but not in contravention of,
|
||||
applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and
|
||||
unconditionally waives, abandons, and surrenders all of Affirmer's Copyright
|
||||
and Related Rights and associated claims and causes of action, whether now
|
||||
known or unknown (including existing as well as future claims and causes of
|
||||
action), in the Work (i) in all territories worldwide, (ii) for the maximum
|
||||
duration provided by applicable law or treaty (including future time
|
||||
extensions), (iii) in any current or future medium and for any number of
|
||||
copies, and (iv) for any purpose whatsoever, including without limitation
|
||||
commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes
|
||||
the Waiver for the benefit of each member of the public at large and to the
|
||||
detriment of Affirmer's heirs and successors, fully intending that such Waiver
|
||||
shall not be subject to revocation, rescission, cancellation, termination, or
|
||||
any other legal or equitable action to disrupt the quiet enjoyment of the Work
|
||||
by the public as contemplated by Affirmer's express Statement of Purpose.
|
||||
|
||||
3. Public License Fallback. Should any part of the Waiver for any reason be
|
||||
judged legally invalid or ineffective under applicable law, then the Waiver
|
||||
shall be preserved to the maximum extent permitted taking into account
|
||||
Affirmer's express Statement of Purpose. In addition, to the extent the Waiver
|
||||
is so judged Affirmer hereby grants to each affected person a royalty-free, non
|
||||
transferable, non sublicensable, non exclusive, irrevocable and unconditional
|
||||
license to exercise Affirmer's Copyright and Related Rights in the Work (i) in
|
||||
all territories worldwide, (ii) for the maximum duration provided by applicable
|
||||
law or treaty (including future time extensions), (iii) in any current or
|
||||
future medium and for any number of copies, and (iv) for any purpose
|
||||
whatsoever, including without limitation commercial, advertising or promotional
|
||||
purposes (the "License"). The License shall be deemed effective as of the date
|
||||
CC0 was applied by Affirmer to the Work. Should any part of the License for any
|
||||
reason be judged legally invalid or ineffective under applicable law, such
|
||||
partial invalidity or ineffectiveness shall not invalidate the remainder of the
|
||||
License, and in such case Affirmer hereby affirms that he or she will not (i)
|
||||
exercise any of his or her remaining Copyright and Related Rights in the Work
|
||||
or (ii) assert any associated claims and causes of action with respect to the
|
||||
Work, in either case contrary to Affirmer's express Statement of Purpose.
|
||||
|
||||
4. Limitations and Disclaimers.
|
||||
|
||||
No trademark or patent rights held by Affirmer are waived, abandoned,
|
||||
surrendered, licensed or otherwise affected by this document. Affirmer
|
||||
offers the Work as-is and makes no representations or warranties of any
|
||||
kind concerning the Work, express, implied, statutory or otherwise,
|
||||
including without limitation warranties of title, merchantability, fitness
|
||||
for a particular purpose, non infringement, or the absence of latent or
|
||||
other defects, accuracy, or the present or absence of errors, whether or
|
||||
not discoverable, all to the greatest extent permissible under applicable
|
||||
law. Affirmer disclaims responsibility for clearing rights of other
|
||||
persons that may apply to the Work or any use thereof, including without
|
||||
limitation any person's Copyright and Related Rights in the Work. Further,
|
||||
Affirmer disclaims responsibility for obtaining any necessary consents,
|
||||
permissions or other rights required for any use of the Work. Affirmer
|
||||
understands and acknowledges that Creative Commons is not a party to this
|
||||
document and has no duty or obligation with respect to this CC0 or use of
|
||||
the Work.
|
60
_config.ts
60
_config.ts
|
@ -1,60 +0,0 @@
|
|||
import lume from "lume/mod.ts"
|
||||
|
||||
// Stable plugins
|
||||
import attributes from "lume/plugins/attributes.ts"
|
||||
import codeHighlight from "lume/plugins/code_highlight.ts"
|
||||
import esbuild from "lume/plugins/esbuild.ts"
|
||||
import jsx from "lume/plugins/jsx_preact.ts"
|
||||
import katex from "lume/plugins/katex.ts"
|
||||
import lightningcss from "lume/plugins/lightningcss.ts"
|
||||
import metas from "lume/plugins/metas.ts"
|
||||
import minifyHTML from "lume/plugins/minify_html.ts"
|
||||
import mdx from "lume/plugins/mdx.ts"
|
||||
import pug from "lume/plugins/pug.ts"
|
||||
import remark from "lume/plugins/remark.ts"
|
||||
import sass from "lume/plugins/sass.ts"
|
||||
import sitemap from "lume/plugins/sitemap.ts"
|
||||
import sourceMaps from "lume/plugins/source_maps.ts"
|
||||
import svgo from "lume/plugins/svgo.ts"
|
||||
|
||||
// Experimental plugins
|
||||
|
||||
// Custom plugins
|
||||
import toml from "./custom/toml/toml.ts"
|
||||
|
||||
const site = lume({
|
||||
src: "./src",
|
||||
dest: "./dist",
|
||||
location: new URL("https://samtherapy.net"),
|
||||
})
|
||||
|
||||
site
|
||||
.copy("static", ".")
|
||||
.copy("static/.well-known", ".well-known")
|
||||
.copy(".domains")
|
||||
.loadData([".toml"], toml)
|
||||
.use(attributes())
|
||||
.use(codeHighlight())
|
||||
.use(katex())
|
||||
.use(metas())
|
||||
.use(jsx())
|
||||
.use(mdx())
|
||||
.use(remark())
|
||||
.use(pug())
|
||||
.use(sitemap())
|
||||
.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",
|
||||
)
|
||||
.use(esbuild({
|
||||
extensions: [".ts", ".js"],
|
||||
}))
|
||||
.use(lightningcss())
|
||||
.use(sass())
|
||||
.use(minifyHTML())
|
||||
.use(sourceMaps({
|
||||
sourceContent: true,
|
||||
}))
|
||||
|
||||
export default site
|
|
@ -0,0 +1 @@
|
|||
<!doctype html><html lang=en><title>About me</title><meta charset=utf-8><meta content="width=device-width,initial-scale=1"name=viewport><link rel="shortcut icon"href=/img/favicon.png type=image/png><link href=/css/style.css rel=stylesheet><meta content=website property=og:type><meta content="Sam's site"property=og:site_name><meta content=en property=og:locale><meta content="The website of a random fishe"property=og:description><meta content=https://samtherapy.net/about/ property=og:url><meta content=https://samtherapy.net/img/favicon.png property=og:image><meta content="The website of a random fishe"name=twitter:description><meta content=summary name=twitter:card><meta content=https://samtherapy.net/img/favicon.png name=twitter:image><meta content="The website of a random fishe"itemprop=description><meta content=https://samtherapy.net/img/favicon.png itemprop=image><meta content="The website of a random fishe"name=description><meta content=nothing name=keywords><meta content="index, follow"name=robots><meta content="Lume v1.16.2"name=generator><body><nav><ul class=main-nav><li><a href=/about>About</a><li><a href=/contact>Contact</a><li class=push><a href=/>Site</a></ul></nav><header><h1>About me</h1><h2>This is actually just a list of things I host because I have the personality of a ham sandwich</h2></header><main><h3>An inexhaustible list of everything I host :)</h3><ul><li><a href=https://status.froth.zone>Status page</a></ul><h4>Federated stuff :)</h4><ul><li><a href=https://git.froth.zone>Gitea</a><li><a href=https://blog.froth.zone>Writefreely</a><li><a href=https://tube.froth.zone>PeerTube</a><li><a href=https://funkwhale.samtherapy.net>Funkwhale</a></ul><h4>Private frontends</h4><ul><li><a href=https://invidious.froth.zone>Invidious for YouTube</a><li><a href=https://nitter.bird.froth.zone>Nitter for Twitter</a><li><a href=https://teddit.froth.zone>Teddit for Reddit</a><li><a href=https://scribe.froth.zone>Scribe for Medium</a></ul><h5>DNS</h5><p>I also self-host <a href=https://dns.froth.zone>all of my DNS</a>.</main><footer><small> Built with <a href=https://lume.land>Lume</a> • Hosted on <a href=https://deno.com/deploy>Deno Deploy</a> from <a href=https://samtherapy.net>here</a> <em>and</em> <a href=https://pages.git.froth.zone>Codeberg Pages</a> from <a href=https://samtherapy.xyz>here</a> • <a href=https://git.froth.zone/sam/site>Source</a> </small></footer>
|
|
@ -0,0 +1 @@
|
|||
<!doctype html><html lang=en><title>Contact me</title><meta charset=utf-8><meta content="width=device-width,initial-scale=1"name=viewport><link rel="shortcut icon"href=/img/favicon.png type=image/png><link href=/css/style.css rel=stylesheet><meta content=website property=og:type><meta content="Sam's site"property=og:site_name><meta content=en property=og:locale><meta content="The website of a random fishe"property=og:description><meta content=https://samtherapy.net/contact/ property=og:url><meta content=https://samtherapy.net/img/favicon.png property=og:image><meta content="The website of a random fishe"name=twitter:description><meta content=summary name=twitter:card><meta content=https://samtherapy.net/img/favicon.png name=twitter:image><meta content="The website of a random fishe"itemprop=description><meta content=https://samtherapy.net/img/favicon.png itemprop=image><meta content="The website of a random fishe"name=description><meta content=nothing name=keywords><meta content="index, follow"name=robots><meta content="Lume v1.16.2"name=generator><body><nav><ul class=main-nav><li><a href=/about>About</a><li><a href=/contact>Contact</a><li class=push><a href=/>Site</a></ul></nav><header><h1>Contact me</h1><h2>(NOT RECOMMENDED)</h2></header><main><h5>List of ways that I may or may not respond to:</h5><ul><li>Email: <code>sam @ samtherapy DOT net</code> <br> If you want to use GPG try using WKD or DANE, the keys should be there.<li>XMPP: Same as email<li><a href=https://matrix.to/#/@samme:schizo.cafe>Matrix</a></ul></main><footer><small> Built with <a href=https://lume.land>Lume</a> • Hosted on <a href=https://deno.com/deploy>Deno Deploy</a> from <a href=https://samtherapy.net>here</a> <em>and</em> <a href=https://pages.git.froth.zone>Codeberg Pages</a> from <a href=https://samtherapy.xyz>here</a> • <a href=https://git.froth.zone/sam/site>Source</a> </small></footer>
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -1,7 +0,0 @@
|
|||
import { parse } from "std/encoding/toml.ts"
|
||||
|
||||
|
||||
export default async function toml(path: string | URL) {
|
||||
const content = await Deno.readTextFile(path)
|
||||
return parse(content)
|
||||
}
|
42
deno.json
42
deno.json
|
@ -1,42 +0,0 @@
|
|||
{
|
||||
"tasks": {
|
||||
"lume": "echo \"import 'lume/cli.ts'\" | deno run --unstable -A -",
|
||||
"build": "deno task lume",
|
||||
"serve": "deno task lume -s"
|
||||
},
|
||||
"lock": false,
|
||||
"compilerOptions": {
|
||||
"jsx": "react-jsx",
|
||||
"jsxImportSource": "npm:preact",
|
||||
"lib": [
|
||||
"dom",
|
||||
"dom.iterable",
|
||||
"dom.asynciterable",
|
||||
"deno.ns"
|
||||
]
|
||||
},
|
||||
"imports": {
|
||||
"lume/": "https://deno.land/x/lume@v1.16.2/",
|
||||
"experimental/": "https://raw.githubusercontent.com/lumeland/experimental-plugins/main/",
|
||||
"std/": "https://deno.land/std/"
|
||||
},
|
||||
"lint": {
|
||||
"files": {
|
||||
"exclude": [
|
||||
"src/_includes/styles/external/",
|
||||
"dist/"
|
||||
]
|
||||
}
|
||||
},
|
||||
"fmt": {
|
||||
"options": {
|
||||
"semiColons": false
|
||||
},
|
||||
"files": {
|
||||
"exclude": [
|
||||
"src/_includes/styles/external/",
|
||||
"dist"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
|
@ -0,0 +1 @@
|
|||
<!doctype html><html lang=en><title>Sam's Website, 2.0</title><meta charset=utf-8><meta content="width=device-width,initial-scale=1"name=viewport><link rel="shortcut icon"href=/img/favicon.png type=image/png><link href=/css/style.css rel=stylesheet><meta content=website property=og:type><meta content="Sam's site"property=og:site_name><meta content=en property=og:locale><meta content="The website of a random fishe"property=og:description><meta content=https://samtherapy.net/ property=og:url><meta content=https://samtherapy.net/img/favicon.png property=og:image><meta content="The website of a random fishe"name=twitter:description><meta content=summary name=twitter:card><meta content=https://samtherapy.net/img/favicon.png name=twitter:image><meta content="The website of a random fishe"itemprop=description><meta content=https://samtherapy.net/img/favicon.png itemprop=image><meta content="The website of a random fishe"name=description><meta content=nothing name=keywords><meta content="index, follow"name=robots><meta content="Lume v1.16.2"name=generator><body><nav><ul class=main-nav><li><a href=/about>About</a><li><a href=/contact>Contact</a><li class=push><a href=/>Site</a></ul></nav><header><h1>Sam's Website, 2.0</h1><h2>Under construction since October 2022</h2></header><main><h4>Hello there.</h4><p>(this space intentionally left blank)</main><footer><small> Built with <a href=https://lume.land>Lume</a> • Hosted on <a href=https://deno.com/deploy>Deno Deploy</a> from <a href=https://samtherapy.net>here</a> <em>and</em> <a href=https://pages.git.froth.zone>Codeberg Pages</a> from <a href=https://samtherapy.xyz>here</a> • <a href=https://git.froth.zone/sam/site>Source</a> </small></footer>
|
|
@ -0,0 +1,4 @@
|
|||
User-agent: *
|
||||
Allow: /
|
||||
|
||||
Sitemap: https://samtherapy.net/sitemap.xml
|
30
server.ts
30
server.ts
|
@ -1,30 +0,0 @@
|
|||
import Server from "lume/core/server.ts"
|
||||
import expires from "lume/middlewares/expires.ts"
|
||||
import not_found from "lume/middlewares/not_found.ts"
|
||||
|
||||
const port = 8000
|
||||
|
||||
const server = new Server({
|
||||
port: port,
|
||||
root: `${Deno.cwd()}/dist`,
|
||||
})
|
||||
|
||||
server.use(async (request, next) => {
|
||||
// Here you can modify the request before being passed to next middlewares
|
||||
const response = await next(request);
|
||||
|
||||
response.headers.set('Access-Control-Allow-Origin', '*')
|
||||
// Here you can modify the response before being returned to the previous middleware
|
||||
return response;
|
||||
});
|
||||
|
||||
server.use(expires())
|
||||
|
||||
server.use(not_found({
|
||||
root: `${Deno.cwd()}/dist`,
|
||||
page404: "404.html",
|
||||
}))
|
||||
|
||||
server.start()
|
||||
|
||||
console.log(`Listening on http://localhost:${port}`)
|
|
@ -0,0 +1,15 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
||||
<url>
|
||||
<loc>https://samtherapy.net/</loc>
|
||||
<lastmod>2023-05-27T11:55:59.716Z</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://samtherapy.net/about/</loc>
|
||||
<lastmod>2023-05-27T11:55:59.716Z</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://samtherapy.net/contact/</loc>
|
||||
<lastmod>2023-05-27T11:55:59.716Z</lastmod>
|
||||
</url>
|
||||
</urlset>
|
12
src/404.mdx
12
src/404.mdx
|
@ -1,12 +0,0 @@
|
|||
---
|
||||
title: Well, how did I get here?
|
||||
subtitle: 404 - Not found
|
||||
layout: layouts/base.pug
|
||||
url: /404.html
|
||||
---
|
||||
|
||||
#### Where does that [highway](/) go to?
|
||||
|
||||
```js
|
||||
window.location.replace("/");
|
||||
```
|
|
@ -1,24 +0,0 @@
|
|||
# Site metas from Lume metas plugin
|
||||
[metas]
|
||||
site = "Sam's site"
|
||||
lang = "en"
|
||||
description = "The website of a random fishe"
|
||||
icon = "img/favicon.png"
|
||||
keywords = ["nothing"]
|
||||
robots = true
|
||||
generator = true
|
||||
|
||||
[[menu.left]]
|
||||
name = "About"
|
||||
url = "/about"
|
||||
|
||||
[[menu.left]]
|
||||
name = "Contact"
|
||||
url = "/contact"
|
||||
|
||||
[[menu.right]]
|
||||
name = "Site"
|
||||
url = "/"
|
||||
|
||||
[mergedKeys]
|
||||
metas = "object"
|
|
@ -1,14 +0,0 @@
|
|||
doctype html
|
||||
html(lang=metas.lang)
|
||||
head
|
||||
title= title
|
||||
include meta.pug
|
||||
include nav.pug
|
||||
body
|
||||
header
|
||||
h1= title
|
||||
h2= subtitle
|
||||
main
|
||||
| !{content}
|
||||
footer
|
||||
include footer.html
|
|
@ -1,10 +0,0 @@
|
|||
<!-- This is a template because I need to make raw HTML -->
|
||||
<small>
|
||||
Built with <a href="https://lume.land">Lume</a>
|
||||
•
|
||||
Hosted on <a href="https://deno.com/deploy">Deno Deploy</a> from <a href="https://samtherapy.net">here</a>
|
||||
<em>and</em>
|
||||
<a href="https://pages.git.froth.zone">Codeberg Pages</a> from <a href="https://samtherapy.xyz">here</a>
|
||||
•
|
||||
<a href="https://git.froth.zone/sam/site">Source</a>
|
||||
</small>
|
|
@ -1,4 +0,0 @@
|
|||
meta(charset="utf-8")
|
||||
meta(name='viewport', content='width=device-width, initial-scale=1')
|
||||
link(rel="shortcut icon", href="/img/favicon.png", type="image/png")
|
||||
link(rel="stylesheet", href="/css/style.css")
|
|
@ -1,9 +0,0 @@
|
|||
nav
|
||||
ul(class= "main-nav")
|
||||
each val in menu.left
|
||||
li
|
||||
a(href=val.url)= val.name
|
||||
|
||||
each val in menu.right
|
||||
li(class= "push")
|
||||
a(href=val.url)= val.name
|
|
@ -1,31 +0,0 @@
|
|||
@use "styles/sakura.theme";
|
||||
|
||||
// Highlight.js theme
|
||||
@use "styles/external/nord.min";
|
||||
|
||||
|
||||
:root {
|
||||
font-family: -apple-system, BlinkMacSystemFont, "Avenir Next", Avenir, "Nimbus Sans L", Roboto, Noto, "Segoe UI", Arial, Helvetica, "Helvetica Neue", sans-serif;
|
||||
}
|
||||
|
||||
.row {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.column {
|
||||
flex: 50%;
|
||||
}
|
||||
|
||||
.main-nav {
|
||||
display: flex;
|
||||
list-style: none;
|
||||
max-width: 75%;
|
||||
}
|
||||
|
||||
nav li {
|
||||
margin: 0.5em;
|
||||
}
|
||||
|
||||
.push {
|
||||
margin-left: auto;
|
||||
}
|
|
@ -1 +0,0 @@
|
|||
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,264 +0,0 @@
|
|||
/* Sakura.css v1.4.1
|
||||
* ================
|
||||
* Minimal css theme.
|
||||
* Project: https://github.com/oxalorg/sakura/
|
||||
*/
|
||||
|
||||
/* Body */
|
||||
|
||||
html {
|
||||
font-size: 62.5%; // So that root size becomes 10px
|
||||
font-family: $font-family-base;
|
||||
}
|
||||
|
||||
body {
|
||||
// $font-size-base must be a rem value
|
||||
font-size: $font-size-base;
|
||||
line-height: 1.618;
|
||||
max-width: 60em;
|
||||
margin: auto;
|
||||
color: $color-text;
|
||||
background-color: $color-bg;
|
||||
padding: 13px;
|
||||
}
|
||||
|
||||
@media (max-width: 684px) {
|
||||
body {
|
||||
font-size: $font-size-base * 0.85;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 382px) {
|
||||
body {
|
||||
font-size: $font-size-base * 0.75;
|
||||
}
|
||||
}
|
||||
|
||||
@mixin word-wrap() {
|
||||
overflow-wrap: break-word;
|
||||
word-wrap: break-word;
|
||||
-ms-word-break: break-all;
|
||||
word-break: break-word;
|
||||
}
|
||||
|
||||
h1,
|
||||
h2,
|
||||
h3,
|
||||
h4,
|
||||
h5,
|
||||
h6 {
|
||||
line-height: 1.1;
|
||||
font-family: $font-family-heading;
|
||||
font-weight: 700;
|
||||
margin-top: 3rem;
|
||||
margin-bottom: 1.5rem;
|
||||
@include word-wrap;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-size: 2.35em
|
||||
}
|
||||
|
||||
h2 {
|
||||
font-size: 2.00em
|
||||
}
|
||||
|
||||
h3 {
|
||||
font-size: 1.75em
|
||||
}
|
||||
|
||||
h4 {
|
||||
font-size: 1.5em
|
||||
}
|
||||
|
||||
h5 {
|
||||
font-size: 1.25em
|
||||
}
|
||||
|
||||
h6 {
|
||||
font-size: 1em
|
||||
}
|
||||
|
||||
p {
|
||||
margin-top: 0px;
|
||||
margin-bottom: 2.5rem;
|
||||
}
|
||||
|
||||
small,
|
||||
sub,
|
||||
sup {
|
||||
font-size: 75%;
|
||||
}
|
||||
|
||||
hr {
|
||||
border-color: $color-blossom;
|
||||
}
|
||||
|
||||
a {
|
||||
text-decoration: none;
|
||||
color: $color-blossom;
|
||||
|
||||
&:visited {
|
||||
color: darken($color-blossom, 10%);
|
||||
}
|
||||
|
||||
&:hover {
|
||||
color: $color-fade;
|
||||
border-bottom: 2px solid $color-text;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
ul {
|
||||
padding-left: 1.4em;
|
||||
margin-top: 0px;
|
||||
margin-bottom: 2.5rem;
|
||||
}
|
||||
|
||||
li {
|
||||
margin-bottom: 0.4em;
|
||||
}
|
||||
|
||||
blockquote {
|
||||
margin-left: 0px;
|
||||
margin-right: 0px;
|
||||
padding-left: 1em;
|
||||
padding-top: 0.8em;
|
||||
padding-bottom: 0.8em;
|
||||
padding-right: 0.8em;
|
||||
border-left: 5px solid $color-blossom;
|
||||
margin-bottom: 2.5rem;
|
||||
background-color: $color-bg-alt;
|
||||
}
|
||||
|
||||
blockquote p {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
img,
|
||||
video {
|
||||
height: auto;
|
||||
max-width: 100%;
|
||||
margin-top: 0px;
|
||||
margin-bottom: 2.5rem;
|
||||
}
|
||||
|
||||
/* Pre and Code */
|
||||
|
||||
pre {
|
||||
background-color: $color-bg-alt;
|
||||
display: block;
|
||||
padding: 1em;
|
||||
overflow-x: auto;
|
||||
margin-top: 0px;
|
||||
margin-bottom: 2.5rem;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
|
||||
code,
|
||||
kbd,
|
||||
samp {
|
||||
font-size: 0.9em;
|
||||
padding: 0 0.5em;
|
||||
background-color: $color-bg-alt;
|
||||
white-space: pre-wrap;
|
||||
}
|
||||
|
||||
pre>code {
|
||||
padding: 0;
|
||||
background-color: transparent;
|
||||
white-space: pre;
|
||||
font-size: 1em;
|
||||
}
|
||||
|
||||
/* Tables */
|
||||
|
||||
table {
|
||||
text-align: justify;
|
||||
width: 100%;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
td,
|
||||
th {
|
||||
padding: 0.5em;
|
||||
border-bottom: 1px solid $color-bg-alt;
|
||||
}
|
||||
|
||||
/* Buttons, forms and input */
|
||||
|
||||
input,
|
||||
textarea {
|
||||
border: 1px solid $color-text;
|
||||
|
||||
&:focus {
|
||||
border: 1px solid $color-blossom;
|
||||
}
|
||||
}
|
||||
|
||||
textarea {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.button,
|
||||
button,
|
||||
input[type="submit"],
|
||||
input[type="reset"],
|
||||
input[type="button"] {
|
||||
display: inline-block;
|
||||
padding: 5px 10px;
|
||||
text-align: center;
|
||||
text-decoration: none;
|
||||
white-space: nowrap;
|
||||
|
||||
background-color: $color-blossom;
|
||||
color: $color-bg;
|
||||
border-radius: 1px;
|
||||
border: 1px solid $color-blossom;
|
||||
cursor: pointer;
|
||||
box-sizing: border-box;
|
||||
|
||||
&[disabled] {
|
||||
cursor: default;
|
||||
opacity: .5;
|
||||
}
|
||||
|
||||
&:focus:enabled,
|
||||
&:hover:enabled {
|
||||
background-color: $color-fade;
|
||||
border-color: $color-fade;
|
||||
color: $color-bg;
|
||||
outline: 0;
|
||||
}
|
||||
}
|
||||
|
||||
textarea,
|
||||
select,
|
||||
input {
|
||||
color: $color-text;
|
||||
padding: 6px 10px;
|
||||
/* The 6px vertically centers text on FF, ignored by Webkit */
|
||||
margin-bottom: 10px;
|
||||
background-color: $color-bg-alt;
|
||||
border: 1px solid $color-bg-alt;
|
||||
border-radius: 4px;
|
||||
box-shadow: none;
|
||||
box-sizing: border-box;
|
||||
|
||||
&:focus {
|
||||
border: 1px solid $color-blossom;
|
||||
outline: 0;
|
||||
}
|
||||
}
|
||||
|
||||
input[type="checkbox"]:focus {
|
||||
outline: 1px dotted $color-blossom;
|
||||
}
|
||||
|
||||
label,
|
||||
legend,
|
||||
fieldset {
|
||||
display: block;
|
||||
margin-bottom: .5rem;
|
||||
font-weight: 600;
|
||||
}
|
|
@ -1,15 +0,0 @@
|
|||
// Settings for SakuraCSS
|
||||
$color-blossom: #ffffff;
|
||||
$color-fade: #c9c9c9;
|
||||
|
||||
$color-bg: #222222;
|
||||
$color-bg-alt: #4a4a4a;
|
||||
|
||||
/* $color-text: #dedce5; */
|
||||
$color-text: #c9c9c9;
|
||||
$font-size-base: 1.8rem;
|
||||
|
||||
$font-family-base: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
|
||||
$font-family-heading: $font-family-base;
|
||||
|
||||
@import "styles/external/sakura";
|
|
@ -1,29 +0,0 @@
|
|||
---
|
||||
title: About me
|
||||
subtitle: This is actually just a list of things I host because I have the personality of a ham sandwich
|
||||
layout: layouts/base.pug
|
||||
---
|
||||
|
||||
### An inexhaustible list of everything I host :)
|
||||
|
||||
- [Status page](https://status.froth.zone)
|
||||
|
||||
#### Federated stuff :)
|
||||
|
||||
{/* - [Pleroma](https://froth.zone) */}
|
||||
- [Gitea](https://git.froth.zone)
|
||||
- [Writefreely](https://blog.froth.zone)
|
||||
- [PeerTube](https://tube.froth.zone)
|
||||
- [Funkwhale](https://funkwhale.samtherapy.net)
|
||||
{/* - [Fedifeed](https://fedifeed.com) */}
|
||||
|
||||
#### Private frontends
|
||||
|
||||
- [Invidious for YouTube](https://invidious.froth.zone)
|
||||
- [Nitter for Twitter](https://nitter.bird.froth.zone)
|
||||
- [Teddit for Reddit](https://teddit.froth.zone)
|
||||
- [Scribe for Medium](https://scribe.froth.zone)
|
||||
|
||||
##### DNS
|
||||
|
||||
I also self-host [all of my DNS](https://dns.froth.zone).
|
|
@ -1,14 +0,0 @@
|
|||
---
|
||||
title: Contact me
|
||||
subtitle: (NOT RECOMMENDED)
|
||||
layout: layouts/base.pug
|
||||
---
|
||||
|
||||
##### List of ways that I may or may not respond to:
|
||||
|
||||
- Email: `sam @ samtherapy DOT net` \
|
||||
If you want to use GPG try using WKD or DANE, the keys should be there.
|
||||
- XMPP: Same as email
|
||||
- [Matrix](https://matrix.to/#/@samme:schizo.cafe)
|
||||
{/* - [Fediverse](https://froth.zone/sam) (below)
|
||||
- <iframe title="Powered by Fedifeed" allowfullscreen sandbox="allow-top-navigation allow-scripts" width="400" height="800" src="https://fedifeed.com/api/v1/feed?user=sam&instance=https%3A%2F%2Ffroth.zone&instance_type=pleroma&theme=pleroma&size=100&header=true&replies=true&boosts=true"></iframe> */}
|
|
@ -1 +0,0 @@
|
|||
@use "styles/base.scss";
|
|
@ -1,9 +0,0 @@
|
|||
---
|
||||
title: Sam's Website, 2.0
|
||||
subtitle: Under construction since October 2022
|
||||
layout: layouts/base.pug
|
||||
---
|
||||
|
||||
#### Hello there.
|
||||
|
||||
(this space intentionally left blank)
|
Loading…
Reference in New Issue