check in
This commit is contained in:
commit
f3387f5d44
46 changed files with 1006 additions and 0 deletions
3
.gitignore
vendored
Normal file
3
.gitignore
vendored
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
/public/
|
||||||
|
_gen/
|
||||||
|
.hugo*
|
6
archetypes/default.md
Normal file
6
archetypes/default.md
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
---
|
||||||
|
title: "{{ replace .Name "-" " " | title }}"
|
||||||
|
date: {{ .Date }}
|
||||||
|
draft: true
|
||||||
|
---
|
||||||
|
|
4
config.toml
Normal file
4
config.toml
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
baseURL = 'https://faulty.equipment/'
|
||||||
|
languageCode = 'en-us'
|
||||||
|
title = 'Faulty Equipment'
|
||||||
|
theme = "fesite"
|
69
content/blog/tgstation-roles.md
Normal file
69
content/blog/tgstation-roles.md
Normal file
|
@ -0,0 +1,69 @@
|
||||||
|
---
|
||||||
|
title: "Thoughts on /tg/station roles"
|
||||||
|
date: 2022-06-27T17:02:09+02:00
|
||||||
|
draft: true
|
||||||
|
---
|
||||||
|
|
||||||
|
This is a long winded post full of personal rants, if you want the short version:
|
||||||
|
|
||||||
|
{{< tldr >}}
|
||||||
|
I think Viro and Geneticists are bad roles as they should be reworked from the ground up to be less isolated and less "click on window and hope the RNG doesn't hate you"
|
||||||
|
{{< /tldr >}}
|
||||||
|
|
||||||
|
Do you have no clue what that was about? Cool, keep reading!
|
||||||
|
|
||||||
|
<!--more-->
|
||||||
|
|
||||||
|
## PREFACE: Space Station 13
|
||||||
|
|
||||||
|
_TODO: EXPLAIN SS13 IN A PARAGRAPH SOMEHOW_
|
||||||
|
|
||||||
|
### PREFACE act 2: /tg/station is a game design trial by fire
|
||||||
|
|
||||||
|
SS13 is an incredibly complex game, providing emergent gameplay in a multiplayer settings with constant changes and many communities testing different things.
|
||||||
|
|
||||||
|
With the same people playing for upwards of decades with very fast iterations (the average round on my preferred /tg/station server is ~45 minutes), players will generally react strongly to changes and when given the opportunity and test the limit of every new mechanic as soon as it is introduced.
|
||||||
|
|
||||||
|
Any new design has to account for weird interactions with the existing 9999 systems, exploits that might be found, [playerbase anger](https://hackmd.io/@tgstation/HJCoL8MUw#Ethical-and-Moral-Considerations-to-Avoid-Angering-Players) and cannot rely on secrets as the code is public.
|
||||||
|
|
||||||
|
I believe this to be an incredibly tricky environment but with opportunity to foster truly unique experiences. For coders, Space Station 13 is an incredible sandbox in which you can sneak your passions for everyone to poke at. For players, mechanics can be something to explore, just pass the time or can even become a story device.
|
||||||
|
|
||||||
|
## The roles
|
||||||
|
|
||||||
|
_TODO_
|
||||||
|
|
||||||
|
### Note on personal experience and role omissions
|
||||||
|
|
||||||
|
_TODO_
|
||||||
|
|
||||||
|
### Function vs Roleplay
|
||||||
|
|
||||||
|
_TODO_
|
||||||
|
|
||||||
|
### What makes a good functional role
|
||||||
|
|
||||||
|
_TODO_
|
||||||
|
|
||||||
|
### Good functional roles
|
||||||
|
|
||||||
|
_TODO_
|
||||||
|
|
||||||
|
#### Chemist
|
||||||
|
|
||||||
|
_TODO_
|
||||||
|
|
||||||
|
#### Engineering (Station engineer, Atmos Tech)
|
||||||
|
|
||||||
|
_TODO_
|
||||||
|
|
||||||
|
### Bad functional roles
|
||||||
|
|
||||||
|
_TODO_
|
||||||
|
|
||||||
|
### How RP level affects roles
|
||||||
|
|
||||||
|
_TODO_
|
||||||
|
|
||||||
|
## Closing notes
|
||||||
|
|
||||||
|
_TODO_
|
34
content/pages/better-cli.md
Normal file
34
content/pages/better-cli.md
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
---
|
||||||
|
title: "Better CLI tools"
|
||||||
|
date: 2022-06-29T01:42:46+02:00
|
||||||
|
---
|
||||||
|
|
||||||
|
These are a collection of command line tools that I use (on Windows) in place of the more traditional tools you would find in a \*NIX system.
|
||||||
|
|
||||||
|
- **What**: What is the tool for
|
||||||
|
- **OG**: Conventional tool
|
||||||
|
- **Better**: Better tool to use
|
||||||
|
- **Lang**: Language the tool is written in
|
||||||
|
- **Multi**: Works on all major platforms (Windows, Linux, Mac, \*BSD)
|
||||||
|
|
||||||
|
| What | OG | Better | Lang | Multi | How to install |
|
||||||
|
| ------------------------- | ----- | --------- | ---- | -------- | ---------------------------------------------- |
|
||||||
|
| Find text in files | grep | [ripgrep] | Rust | ✔️ | `cargo install ripgrep` |
|
||||||
|
| List files in a directory | ls | [exa] | Rust | ❌[^fn1] | `cargo install exa` |
|
||||||
|
| Read file content | cat | [bat] | Rust | ✔️ | Package manager (+ choco) |
|
||||||
|
| Find files by name | find | [fzf] | Go | ✔️ | Package manager (+ choco) |
|
||||||
|
| Count lines of code | cloc | [loc] | Rust | ✔️ | `cargo install loc` |
|
||||||
|
| Navigate/manipulate JSON | _jq?_ | [yq] | Go | ✔️ | `go install github.com/mikefarah/yq/v4@latest` |
|
||||||
|
| Navigate/manipulate HTML | _N/A_ | [pup] | Go | ✔️ | `go install github.com/ericchiang/pup@latest` |
|
||||||
|
|
||||||
|
[ripgrep]: https://github.com/BurntSushi/ripgrep
|
||||||
|
[loc]: https://github.com/cgag/loc
|
||||||
|
[bat]: https://github.com/sharkdp/bat
|
||||||
|
[jq]: https://stedolan.github.io/jq/
|
||||||
|
[pup]: github.com/ericchiang/pup
|
||||||
|
[fzf]: https://github.com/junegunn/fzf
|
||||||
|
[exa]: https://the.exa.website/
|
||||||
|
[many]: https://gist.github.com/willurd/5720255
|
||||||
|
[yq]: https://github.com/mikefarah/yq
|
||||||
|
|
||||||
|
[^fn1]: `exa` doesn't compile on Windows
|
5
data/home/links.toml
Normal file
5
data/home/links.toml
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
GitHub = "https://github.com/Hamcha"
|
||||||
|
Pleroma = "https://bulge.exposed/hamcha"
|
||||||
|
Telegram = "https://t.me/Hamcha"
|
||||||
|
Discord = "https://discord.com/users/96698919685222400"
|
||||||
|
Youtube = "https://www.youtube.com/user/zikyky"
|
9
layouts/blog/list.html
Normal file
9
layouts/blog/list.html
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
{{ define "main" }}
|
||||||
|
<h1>Blog</h1>
|
||||||
|
<p>Here is a list of my personal ranting from newest to oldest.</p>
|
||||||
|
{{ range .Pages.ByPublishDate.Reverse }}
|
||||||
|
<p>
|
||||||
|
<h3><time datetime="{{ .Date | time.Format "2006-01-02"}}">{{ .Date | time.Format "2006-01-02"}}</time> <a class="title" href="{{ .RelPermalink }}">{{ .Title }}</a></h3>
|
||||||
|
</p>
|
||||||
|
{{ end }}
|
||||||
|
{{ end }}
|
89
layouts/index.html
Normal file
89
layouts/index.html
Normal file
|
@ -0,0 +1,89 @@
|
||||||
|
{{ define "partials/list-limited.html" }}
|
||||||
|
|
||||||
|
{{/* This is not pretty but I'm not good at templates */}}
|
||||||
|
{{ $params := . | transform.Unmarshal (dict "delimiter" ";") }}
|
||||||
|
{{ $fields := index $params 0 }}
|
||||||
|
{{ $pageurl := index $fields 0 }}
|
||||||
|
{{ $pagename := index $fields 1 }}
|
||||||
|
{{ $limit := 5 }}
|
||||||
|
{{ $pages := where site.RegularPages "Section" $pageurl }}
|
||||||
|
{{- with $pages }}
|
||||||
|
<section class="post-list">
|
||||||
|
<h2>Latest {{$pagename}}</h2>
|
||||||
|
{{- range ( $pages | first $limit ) }}
|
||||||
|
<p>
|
||||||
|
<h3><time datetime="{{ .Date | time.Format "2006-01-02"}}">{{ .Date | time.Format "2006-01-02"}}</time> <a class="title" href="{{ .RelPermalink }}">{{ .Title }}</a></h3>
|
||||||
|
</p>
|
||||||
|
{{ end }}
|
||||||
|
{{ if (gt ($pages | len) $limit )}}
|
||||||
|
<a href="/{{ $pageurl }}">See more…</a>
|
||||||
|
{{ end }}
|
||||||
|
</section>
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
{{ define "main" }}
|
||||||
|
<header class="site-header">
|
||||||
|
<h1 class="title">Hello, this is a webpage</h1>
|
||||||
|
</header>
|
||||||
|
<section class="intro">
|
||||||
|
<p>
|
||||||
|
Hello, I'm your random internet dude and I figured that if I wrote something
|
||||||
|
on the Internet then maybe someone outght to read it, also I needed a
|
||||||
|
website cause everyone got one of those!
|
||||||
|
</p>
|
||||||
|
<h2>What did you do?!</h2>
|
||||||
|
<p>
|
||||||
|
Here are some of my more known projects, or rather, projects I'd prefer to
|
||||||
|
be known for:
|
||||||
|
</p>
|
||||||
|
<ul class="project-list">
|
||||||
|
<li>
|
||||||
|
<a href="https://github.com/Hamcha/tghandbook">/tg/station Handbook</a>, a
|
||||||
|
userscript that grew way out of scope
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="https://git.fromouter.space/crunchy-rocks/clessy-ng">Clessy</a>,
|
||||||
|
the <i>I-wish-it-wasnt-popular</i> multifunction Telegram bot
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="https://github.com/Hamcha/lumaupdate">Luma Updater</a>, my (now
|
||||||
|
very outdated) 3DS homebrew for updating Luma3DS
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
The <a href="https://github.com/hoverguys/hovercraft-old">two</a>
|
||||||
|
<a href="https://github.com/hoverguys/rehover">times</a> I tried to make a
|
||||||
|
Gamecube homebrew racing game.
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a
|
||||||
|
href="https://forum.unity.com/threads/how-would-i-find-a-specific-gameobject-for-the-camera-to-follow.490515/#post-3197196"
|
||||||
|
>Apparently</a
|
||||||
|
>, porting
|
||||||
|
<a href="https://gist.github.com/Hamcha/6096905"
|
||||||
|
>a stock Unity 3.x script to C#</a
|
||||||
|
>. I am still very confused about this by the way. I even
|
||||||
|
<a href="https://hiewb.itch.io/black-friday-mania">got credited</a> for
|
||||||
|
this!
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<h2>What's in this desperate corner of the net?</h2>
|
||||||
|
<p>
|
||||||
|
In here you will find my blog where I discuss things that I give enough
|
||||||
|
thought to actually write long form posts about rather than just rant on DMs
|
||||||
|
and other resources that I've been publishing all over the place and in dire
|
||||||
|
need of a more permanent home. Check the links at the top or look below for
|
||||||
|
the latest posts!
|
||||||
|
</p>
|
||||||
|
<h3>Miscellaneous link collection of ultimate destiny
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
<p>Find me at any of these places:
|
||||||
|
{{ range $name, $link := $.Site.Data.home.links }}
|
||||||
|
<span class="home-link"><a href="{{ $link }}">{{ $name }}</a></span>
|
||||||
|
{{ end }}</p>
|
||||||
|
</section>
|
||||||
|
{{ partial "list-limited.html" "blog;posts" }}
|
||||||
|
{{ partial "list-limited.html" "pages;pages" }}
|
||||||
|
{{ end }}
|
9
layouts/pages/list.html
Normal file
9
layouts/pages/list.html
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
{{ define "main" }}
|
||||||
|
<h1>All pages</h1>
|
||||||
|
<p>These documents are a personal dump of notes and may change at any time.</p>
|
||||||
|
{{ range .Pages.ByPublishDate.Reverse }}
|
||||||
|
<p>
|
||||||
|
<h3><a class="title" href="{{ .RelPermalink }}">{{ .Title }}</a> <span class="lastmod">(Last modified: <time datetime="{{ .Lastmod | time.Format "2006-01-02"}}">{{ .Lastmod | time.Format "2006-01-02"}}</time>)</span></h3>
|
||||||
|
</p>
|
||||||
|
{{ end }}
|
||||||
|
{{ end }}
|
4
layouts/partials/header.html
Normal file
4
layouts/partials/header.html
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
<nav class="section-list">
|
||||||
|
<a href="/">Hello</a>∷ <a href="/posts">Blog</a> ∷
|
||||||
|
<a href="/pages">Pages</a>
|
||||||
|
</nav>
|
7
themes/fesite/LICENSE
Normal file
7
themes/fesite/LICENSE
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
ISC License
|
||||||
|
|
||||||
|
Copyright 2022 Alessandro Gatti
|
||||||
|
|
||||||
|
Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
2
themes/fesite/archetypes/default.md
Normal file
2
themes/fesite/archetypes/default.md
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
+++
|
||||||
|
+++
|
351
themes/fesite/assets/css/normalize.css
vendored
Normal file
351
themes/fesite/assets/css/normalize.css
vendored
Normal file
|
@ -0,0 +1,351 @@
|
||||||
|
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
|
||||||
|
|
||||||
|
/* Document
|
||||||
|
========================================================================== */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 1. Correct the line height in all browsers.
|
||||||
|
* 2. Prevent adjustments of font size after orientation changes in iOS.
|
||||||
|
*/
|
||||||
|
|
||||||
|
html {
|
||||||
|
line-height: 1.15; /* 1 */
|
||||||
|
-webkit-text-size-adjust: 100%; /* 2 */
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Sections
|
||||||
|
========================================================================== */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Remove the margin in all browsers.
|
||||||
|
*/
|
||||||
|
|
||||||
|
body {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Render the `main` element consistently in IE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
main {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Correct the font size and margin on `h1` elements within `section` and
|
||||||
|
* `article` contexts in Chrome, Firefox, and Safari.
|
||||||
|
*/
|
||||||
|
|
||||||
|
h1 {
|
||||||
|
font-size: 2em;
|
||||||
|
margin: 0.67em 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Grouping content
|
||||||
|
========================================================================== */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 1. Add the correct box sizing in Firefox.
|
||||||
|
* 2. Show the overflow in Edge and IE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
hr {
|
||||||
|
box-sizing: content-box; /* 1 */
|
||||||
|
height: 0; /* 1 */
|
||||||
|
overflow: visible; /* 2 */
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 1. Correct the inheritance and scaling of font size in all browsers.
|
||||||
|
* 2. Correct the odd `em` font sizing in all browsers.
|
||||||
|
*/
|
||||||
|
|
||||||
|
pre {
|
||||||
|
font-family: monospace, monospace; /* 1 */
|
||||||
|
font-size: 1em; /* 2 */
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Text-level semantics
|
||||||
|
========================================================================== */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Remove the gray background on active links in IE 10.
|
||||||
|
*/
|
||||||
|
|
||||||
|
a {
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 1. Remove the bottom border in Chrome 57-
|
||||||
|
* 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
|
||||||
|
*/
|
||||||
|
|
||||||
|
abbr[title] {
|
||||||
|
border-bottom: none; /* 1 */
|
||||||
|
text-decoration: underline; /* 2 */
|
||||||
|
text-decoration: underline dotted; /* 2 */
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add the correct font weight in Chrome, Edge, and Safari.
|
||||||
|
*/
|
||||||
|
|
||||||
|
b,
|
||||||
|
strong {
|
||||||
|
font-weight: bolder;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 1. Correct the inheritance and scaling of font size in all browsers.
|
||||||
|
* 2. Correct the odd `em` font sizing in all browsers.
|
||||||
|
*/
|
||||||
|
|
||||||
|
code,
|
||||||
|
kbd,
|
||||||
|
samp {
|
||||||
|
font-family: monospace, monospace; /* 1 */
|
||||||
|
font-size: 1em; /* 2 */
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add the correct font size in all browsers.
|
||||||
|
*/
|
||||||
|
|
||||||
|
small {
|
||||||
|
font-size: 80%;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Prevent `sub` and `sup` elements from affecting the line height in
|
||||||
|
* all browsers.
|
||||||
|
*/
|
||||||
|
|
||||||
|
sub,
|
||||||
|
sup {
|
||||||
|
font-size: 75%;
|
||||||
|
line-height: 0;
|
||||||
|
position: relative;
|
||||||
|
vertical-align: baseline;
|
||||||
|
}
|
||||||
|
|
||||||
|
sub {
|
||||||
|
bottom: -0.25em;
|
||||||
|
}
|
||||||
|
|
||||||
|
sup {
|
||||||
|
top: -0.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Embedded content
|
||||||
|
========================================================================== */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Remove the border on images inside links in IE 10.
|
||||||
|
*/
|
||||||
|
|
||||||
|
img {
|
||||||
|
border-style: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Forms
|
||||||
|
========================================================================== */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 1. Change the font styles in all browsers.
|
||||||
|
* 2. Remove the margin in Firefox and Safari.
|
||||||
|
*/
|
||||||
|
|
||||||
|
button,
|
||||||
|
input,
|
||||||
|
optgroup,
|
||||||
|
select,
|
||||||
|
textarea {
|
||||||
|
font-family: inherit; /* 1 */
|
||||||
|
font-size: 100%; /* 1 */
|
||||||
|
line-height: 1.15; /* 1 */
|
||||||
|
margin: 0; /* 2 */
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Show the overflow in IE.
|
||||||
|
* 1. Show the overflow in Edge.
|
||||||
|
*/
|
||||||
|
|
||||||
|
button,
|
||||||
|
input {
|
||||||
|
/* 1 */
|
||||||
|
overflow: visible;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Remove the inheritance of text transform in Edge, Firefox, and IE.
|
||||||
|
* 1. Remove the inheritance of text transform in Firefox.
|
||||||
|
*/
|
||||||
|
|
||||||
|
button,
|
||||||
|
select {
|
||||||
|
/* 1 */
|
||||||
|
text-transform: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Correct the inability to style clickable types in iOS and Safari.
|
||||||
|
*/
|
||||||
|
|
||||||
|
button,
|
||||||
|
[type="button"],
|
||||||
|
[type="reset"],
|
||||||
|
[type="submit"] {
|
||||||
|
-webkit-appearance: button;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Remove the inner border and padding in Firefox.
|
||||||
|
*/
|
||||||
|
|
||||||
|
button::-moz-focus-inner,
|
||||||
|
[type="button"]::-moz-focus-inner,
|
||||||
|
[type="reset"]::-moz-focus-inner,
|
||||||
|
[type="submit"]::-moz-focus-inner {
|
||||||
|
border-style: none;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Restore the focus styles unset by the previous rule.
|
||||||
|
*/
|
||||||
|
|
||||||
|
button:-moz-focusring,
|
||||||
|
[type="button"]:-moz-focusring,
|
||||||
|
[type="reset"]:-moz-focusring,
|
||||||
|
[type="submit"]:-moz-focusring {
|
||||||
|
outline: 1px dotted ButtonText;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Correct the padding in Firefox.
|
||||||
|
*/
|
||||||
|
|
||||||
|
fieldset {
|
||||||
|
padding: 0.35em 0.75em 0.625em;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 1. Correct the text wrapping in Edge and IE.
|
||||||
|
* 2. Correct the color inheritance from `fieldset` elements in IE.
|
||||||
|
* 3. Remove the padding so developers are not caught out when they zero out
|
||||||
|
* `fieldset` elements in all browsers.
|
||||||
|
*/
|
||||||
|
|
||||||
|
legend {
|
||||||
|
box-sizing: border-box; /* 1 */
|
||||||
|
color: inherit; /* 2 */
|
||||||
|
display: table; /* 1 */
|
||||||
|
max-width: 100%; /* 1 */
|
||||||
|
padding: 0; /* 3 */
|
||||||
|
white-space: normal; /* 1 */
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add the correct vertical alignment in Chrome, Firefox, and Opera.
|
||||||
|
*/
|
||||||
|
|
||||||
|
progress {
|
||||||
|
vertical-align: baseline;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Remove the default vertical scrollbar in IE 10+.
|
||||||
|
*/
|
||||||
|
|
||||||
|
textarea {
|
||||||
|
overflow: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 1. Add the correct box sizing in IE 10.
|
||||||
|
* 2. Remove the padding in IE 10.
|
||||||
|
*/
|
||||||
|
|
||||||
|
[type="checkbox"],
|
||||||
|
[type="radio"] {
|
||||||
|
box-sizing: border-box; /* 1 */
|
||||||
|
padding: 0; /* 2 */
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Correct the cursor style of increment and decrement buttons in Chrome.
|
||||||
|
*/
|
||||||
|
|
||||||
|
[type="number"]::-webkit-inner-spin-button,
|
||||||
|
[type="number"]::-webkit-outer-spin-button {
|
||||||
|
height: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 1. Correct the odd appearance in Chrome and Safari.
|
||||||
|
* 2. Correct the outline style in Safari.
|
||||||
|
*/
|
||||||
|
|
||||||
|
[type="search"] {
|
||||||
|
-webkit-appearance: textfield; /* 1 */
|
||||||
|
outline-offset: -2px; /* 2 */
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Remove the inner padding in Chrome and Safari on macOS.
|
||||||
|
*/
|
||||||
|
|
||||||
|
[type="search"]::-webkit-search-decoration {
|
||||||
|
-webkit-appearance: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 1. Correct the inability to style clickable types in iOS and Safari.
|
||||||
|
* 2. Change font properties to `inherit` in Safari.
|
||||||
|
*/
|
||||||
|
|
||||||
|
::-webkit-file-upload-button {
|
||||||
|
-webkit-appearance: button; /* 1 */
|
||||||
|
font: inherit; /* 2 */
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Interactive
|
||||||
|
========================================================================== */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Add the correct display in Edge, IE 10+, and Firefox.
|
||||||
|
*/
|
||||||
|
|
||||||
|
details {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Add the correct display in all browsers.
|
||||||
|
*/
|
||||||
|
|
||||||
|
summary {
|
||||||
|
display: list-item;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Misc
|
||||||
|
========================================================================== */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add the correct display in IE 10+.
|
||||||
|
*/
|
||||||
|
|
||||||
|
template {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add the correct display in IE 10.
|
||||||
|
*/
|
||||||
|
|
||||||
|
[hidden] {
|
||||||
|
display: none;
|
||||||
|
}
|
8
themes/fesite/assets/scss/__var.scss
Normal file
8
themes/fesite/assets/scss/__var.scss
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
$inter: "Inter", "Gill Sans", "Gill Sans MT", "Segoe UI", sans-serif;
|
||||||
|
$iosevka: "Iosevka Aile Web", "Courier New", Courier, monospace;
|
||||||
|
$text-small: 9pt;
|
||||||
|
$screen-width: 50rem;
|
||||||
|
$color-bg: #151515;
|
||||||
|
$color-copy: #f3f3f3;
|
||||||
|
$color-light-border: #444;
|
||||||
|
$color-very-light-border: #333;
|
16
themes/fesite/assets/scss/home.scss
Normal file
16
themes/fesite/assets/scss/home.scss
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
.site-header {
|
||||||
|
h1 {
|
||||||
|
font-size: 30pt;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.project-list li {
|
||||||
|
margin-bottom: 0.2em;
|
||||||
|
}
|
||||||
|
.project-list a,
|
||||||
|
.project-list a:visited {
|
||||||
|
font-family: $iosevka;
|
||||||
|
}
|
||||||
|
|
||||||
|
.home-link:not(:last-of-type)::after {
|
||||||
|
content: " • ";
|
||||||
|
}
|
81
themes/fesite/assets/scss/layout.scss
Normal file
81
themes/fesite/assets/scss/layout.scss
Normal file
|
@ -0,0 +1,81 @@
|
||||||
|
$footer-border: 1px dotted $color-light-border;
|
||||||
|
|
||||||
|
footer {
|
||||||
|
border-top: $footer-border;
|
||||||
|
padding: 10pt 0;
|
||||||
|
font-size: $text-small;
|
||||||
|
font-family: $iosevka;
|
||||||
|
line-height: 1.5;
|
||||||
|
margin-top: 20pt;
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
font-family: $inter;
|
||||||
|
background-color: $color-bg;
|
||||||
|
color: $color-copy;
|
||||||
|
}
|
||||||
|
|
||||||
|
* {
|
||||||
|
line-height: 1.25;
|
||||||
|
}
|
||||||
|
|
||||||
|
p,
|
||||||
|
li {
|
||||||
|
line-height: 1.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
h1,
|
||||||
|
h2,
|
||||||
|
h3,
|
||||||
|
h4 {
|
||||||
|
font-family: $iosevka;
|
||||||
|
}
|
||||||
|
|
||||||
|
main {
|
||||||
|
max-width: $screen-width;
|
||||||
|
width: 100%;
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.content {
|
||||||
|
padding: 0 10pt;
|
||||||
|
}
|
||||||
|
|
||||||
|
a,
|
||||||
|
a:visited {
|
||||||
|
color: #e599e0;
|
||||||
|
}
|
||||||
|
|
||||||
|
hr {
|
||||||
|
border: 0;
|
||||||
|
border-top: 1px solid $color-light-border;
|
||||||
|
background: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
.section-list {
|
||||||
|
display: flex;
|
||||||
|
gap: 10pt;
|
||||||
|
font-family: $iosevka;
|
||||||
|
margin-top: 10pt;
|
||||||
|
|
||||||
|
&::before {
|
||||||
|
content: "[";
|
||||||
|
}
|
||||||
|
&::after {
|
||||||
|
content: "]";
|
||||||
|
}
|
||||||
|
|
||||||
|
a {
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
a.summary {
|
||||||
|
color: inherit;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lastmod {
|
||||||
|
font-weight: 400;
|
||||||
|
font-size: 10pt;
|
||||||
|
}
|
6
themes/fesite/assets/scss/main.scss
Normal file
6
themes/fesite/assets/scss/main.scss
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
@import url("https://rsms.me/inter/inter.css");
|
||||||
|
|
||||||
|
@import "__var.scss";
|
||||||
|
@import "layout.scss";
|
||||||
|
@import "home.scss";
|
||||||
|
@import "post.scss";
|
60
themes/fesite/assets/scss/post.scss
Normal file
60
themes/fesite/assets/scss/post.scss
Normal file
|
@ -0,0 +1,60 @@
|
||||||
|
$tldr-border: 1px solid #333;
|
||||||
|
$tldr-color: #e8e8d1;
|
||||||
|
$tldr-label-color: #fff696;
|
||||||
|
$table-bg: lighten($color-bg, 2%);
|
||||||
|
$table-bg-alt: lighten($table-bg, 2%);
|
||||||
|
$table-border-color: $color-very-light-border;
|
||||||
|
|
||||||
|
.meta {
|
||||||
|
font-family: $iosevka;
|
||||||
|
font-size: $text-small;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tldr {
|
||||||
|
border: $tldr-border;
|
||||||
|
padding: 5pt 10pt;
|
||||||
|
padding-top: 11pt;
|
||||||
|
font-family: $iosevka;
|
||||||
|
position: relative;
|
||||||
|
font-size: 11pt;
|
||||||
|
color: $tldr-color;
|
||||||
|
line-height: 1.6;
|
||||||
|
|
||||||
|
@media (max-width: $screen-width) {
|
||||||
|
border-left: 0;
|
||||||
|
border-right: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
&:before {
|
||||||
|
color: $tldr-label-color;
|
||||||
|
content: "TL;DR";
|
||||||
|
font-weight: bold;
|
||||||
|
position: absolute;
|
||||||
|
font-size: 8pt;
|
||||||
|
left: 4pt;
|
||||||
|
top: -8pt;
|
||||||
|
border: $tldr-border;
|
||||||
|
background-color: $color-bg;
|
||||||
|
padding: 1pt 5pt;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.content {
|
||||||
|
table {
|
||||||
|
border-collapse: collapse;
|
||||||
|
background-color: $table-bg;
|
||||||
|
td,
|
||||||
|
th {
|
||||||
|
padding: 5pt 10pt;
|
||||||
|
border: 1px solid $table-border-color;
|
||||||
|
font-size: 11pt;
|
||||||
|
line-height: 1.5;
|
||||||
|
}
|
||||||
|
tr:nth-child(even) {
|
||||||
|
background-color: $table-bg-alt;
|
||||||
|
}
|
||||||
|
th {
|
||||||
|
font-family: $iosevka;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
0
themes/fesite/layouts/404.html
Normal file
0
themes/fesite/layouts/404.html
Normal file
12
themes/fesite/layouts/_default/baseof.html
Normal file
12
themes/fesite/layouts/_default/baseof.html
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
{{- partial "head.html" . -}}
|
||||||
|
<body>
|
||||||
|
<main>
|
||||||
|
<div class="content">
|
||||||
|
{{- partial "header.html" . -}} {{- block "main" . }}{{- end }} {{-
|
||||||
|
partial "footer.html" . -}}
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
</body>
|
||||||
|
</html>
|
11
themes/fesite/layouts/_default/list.html
Normal file
11
themes/fesite/layouts/_default/list.html
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{{ define "main" }}
|
||||||
|
<h1>{{ .Title }}</h1>
|
||||||
|
{{ range .Pages.ByPublishDate.Reverse }}
|
||||||
|
<p>
|
||||||
|
<h3><a class="title" href="{{ .RelPermalink }}">{{ .Title }}</a></h3>
|
||||||
|
<a class="summary" href="{{ .RelPermalink }}">
|
||||||
|
<p>{{ .Summary }}</p>
|
||||||
|
</a>
|
||||||
|
</p>
|
||||||
|
{{ end }}
|
||||||
|
{{ end }}
|
7
themes/fesite/layouts/_default/single.html
Normal file
7
themes/fesite/layouts/_default/single.html
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
{{ define "main" }}
|
||||||
|
<h1>{{ .Title }}</h1>
|
||||||
|
<section class="meta">
|
||||||
|
Published on {{.Date | time.Format "2006-01-02" }} {{ if (gt .Lastmod .Date)
|
||||||
|
}}| Last modified on {{.Lastmod | time.Format "2006-01-02" }} {{ end }}
|
||||||
|
</section>
|
||||||
|
{{ .Content }} {{ end }}
|
5
themes/fesite/layouts/index.html
Normal file
5
themes/fesite/layouts/index.html
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
{{ define "main" }}
|
||||||
|
<header class="site-header">
|
||||||
|
<h1 class="title">{{ .Site.Title }}</h1>
|
||||||
|
</header>
|
||||||
|
{{ end }}
|
6
themes/fesite/layouts/partials/footer.html
Normal file
6
themes/fesite/layouts/partials/footer.html
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
<footer>
|
||||||
|
This was <a href="https://faulty.equipment">faulty.equipment</a>, brough to
|
||||||
|
you under <a href="http://www.wtfpl.net/">WTFPL</a> (unless otherwise noted).
|
||||||
|
Correction/Inquiries?
|
||||||
|
<a href="mailto:hamcha@crunchy.rocks">Email me!</a>
|
||||||
|
</footer>
|
14
themes/fesite/layouts/partials/head.html
Normal file
14
themes/fesite/layouts/partials/head.html
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8" />
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
|
{{ $title := print .Site.Title " | " .Title }} {{ if .IsHome }}{{ $title =
|
||||||
|
.Site.Title }}{{ end }}
|
||||||
|
<title>{{ $title }}</title>
|
||||||
|
{{ $normalize := resources.Get "css/normalize.css"| minify}}
|
||||||
|
<link rel="stylesheet" href="{{ $normalize.RelPermalink }}" />
|
||||||
|
{{ $style := resources.Get "scss/main.scss" | resources.ToCSS (dict
|
||||||
|
"targetPath" "css/main.css" "enableSourceMap" true ) | minify |
|
||||||
|
resources.Fingerprint }}
|
||||||
|
<link rel="stylesheet" href="{{ $style.RelPermalink }}" />
|
||||||
|
<link rel="stylesheet" href="/fonts/IosevkaAile/iosevka-aile.css" />
|
||||||
|
</head>
|
1
themes/fesite/layouts/shortcodes/tldr.html
Normal file
1
themes/fesite/layouts/shortcodes/tldr.html
Normal file
|
@ -0,0 +1 @@
|
||||||
|
<div class="tldr">{{.Inner}}</div>
|
165
themes/fesite/static/fonts/IosevkaAile/iosevka-aile.css
Normal file
165
themes/fesite/static/fonts/IosevkaAile/iosevka-aile.css
Normal file
|
@ -0,0 +1,165 @@
|
||||||
|
/*
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Iosevka Aile Web';
|
||||||
|
font-display: swap;
|
||||||
|
font-weight: 100;
|
||||||
|
font-stretch: normal;
|
||||||
|
font-style: normal;
|
||||||
|
src: url('woff2/iosevka-aile-thin.woff2') format("woff2");
|
||||||
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Iosevka Aile Web';
|
||||||
|
font-display: swap;
|
||||||
|
font-weight: 100;
|
||||||
|
font-stretch: normal;
|
||||||
|
font-style: italic;
|
||||||
|
src: url('woff2/iosevka-aile-thinitalic.woff2') format("woff2");
|
||||||
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Iosevka Aile Web';
|
||||||
|
font-display: swap;
|
||||||
|
font-weight: 200;
|
||||||
|
font-stretch: normal;
|
||||||
|
font-style: normal;
|
||||||
|
src: url('woff2/iosevka-aile-extralight.woff2') format("woff2");
|
||||||
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Iosevka Aile Web';
|
||||||
|
font-display: swap;
|
||||||
|
font-weight: 200;
|
||||||
|
font-stretch: normal;
|
||||||
|
font-style: italic;
|
||||||
|
src: url('woff2/iosevka-aile-extralightitalic.woff2') format("woff2");
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
@font-face {
|
||||||
|
font-family: "Iosevka Aile Web";
|
||||||
|
font-display: swap;
|
||||||
|
font-weight: 300;
|
||||||
|
font-stretch: normal;
|
||||||
|
font-style: normal;
|
||||||
|
src: url("woff2/iosevka-aile-light.woff2") format("woff2");
|
||||||
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: "Iosevka Aile Web";
|
||||||
|
font-display: swap;
|
||||||
|
font-weight: 300;
|
||||||
|
font-stretch: normal;
|
||||||
|
font-style: italic;
|
||||||
|
src: url("woff2/iosevka-aile-lightitalic.woff2") format("woff2");
|
||||||
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: "Iosevka Aile Web";
|
||||||
|
font-display: swap;
|
||||||
|
font-weight: 400;
|
||||||
|
font-stretch: normal;
|
||||||
|
font-style: normal;
|
||||||
|
src: url("woff2/iosevka-aile-regular.woff2") format("woff2");
|
||||||
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: "Iosevka Aile Web";
|
||||||
|
font-display: swap;
|
||||||
|
font-weight: 400;
|
||||||
|
font-stretch: normal;
|
||||||
|
font-style: italic;
|
||||||
|
src: url("woff2/iosevka-aile-italic.woff2") format("woff2");
|
||||||
|
}
|
||||||
|
/*
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Iosevka Aile Web';
|
||||||
|
font-display: swap;
|
||||||
|
font-weight: 500;
|
||||||
|
font-stretch: normal;
|
||||||
|
font-style: normal;
|
||||||
|
src: url('woff2/iosevka-aile-medium.woff2') format("woff2");
|
||||||
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Iosevka Aile Web';
|
||||||
|
font-display: swap;
|
||||||
|
font-weight: 500;
|
||||||
|
font-stretch: normal;
|
||||||
|
font-style: italic;
|
||||||
|
src: url('woff2/iosevka-aile-mediumitalic.woff2') format("woff2");
|
||||||
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Iosevka Aile Web';
|
||||||
|
font-display: swap;
|
||||||
|
font-weight: 600;
|
||||||
|
font-stretch: normal;
|
||||||
|
font-style: normal;
|
||||||
|
src: url('woff2/iosevka-aile-semibold.woff2') format("woff2");
|
||||||
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Iosevka Aile Web';
|
||||||
|
font-display: swap;
|
||||||
|
font-weight: 600;
|
||||||
|
font-stretch: normal;
|
||||||
|
font-style: italic;
|
||||||
|
src: url('woff2/iosevka-aile-semibolditalic.woff2') format("woff2");
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
@font-face {
|
||||||
|
font-family: "Iosevka Aile Web";
|
||||||
|
font-display: swap;
|
||||||
|
font-weight: 700;
|
||||||
|
font-stretch: normal;
|
||||||
|
font-style: normal;
|
||||||
|
src: url("woff2/iosevka-aile-bold.woff2") format("woff2");
|
||||||
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: "Iosevka Aile Web";
|
||||||
|
font-display: swap;
|
||||||
|
font-weight: 700;
|
||||||
|
font-stretch: normal;
|
||||||
|
font-style: italic;
|
||||||
|
src: url("woff2/iosevka-aile-bolditalic.woff2") format("woff2");
|
||||||
|
}
|
||||||
|
/*
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Iosevka Aile Web';
|
||||||
|
font-display: swap;
|
||||||
|
font-weight: 800;
|
||||||
|
font-stretch: normal;
|
||||||
|
font-style: normal;
|
||||||
|
src: url('woff2/iosevka-aile-extrabold.woff2') format('woff2');
|
||||||
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Iosevka Aile Web';
|
||||||
|
font-display: swap;
|
||||||
|
font-weight: 800;
|
||||||
|
font-stretch: normal;
|
||||||
|
font-style: italic;
|
||||||
|
src: url('woff2/iosevka-aile-extrabolditalic.woff2') format('woff2');
|
||||||
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Iosevka Aile Web';
|
||||||
|
font-display: swap;
|
||||||
|
font-weight: 900;
|
||||||
|
font-stretch: normal;
|
||||||
|
font-style: normal;
|
||||||
|
src: url('woff2/iosevka-aile-heavy.woff2') format('woff2');
|
||||||
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Iosevka Aile Web';
|
||||||
|
font-display: swap;
|
||||||
|
font-weight: 900;
|
||||||
|
font-stretch: normal;
|
||||||
|
font-style: italic;
|
||||||
|
src: url('woff2/iosevka-aile-heavyitalic.woff2') format('woff2');
|
||||||
|
}
|
||||||
|
|
||||||
|
*/
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
22
themes/fesite/theme.toml
Normal file
22
themes/fesite/theme.toml
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
# theme.toml template for a Hugo theme
|
||||||
|
# See https://github.com/gohugoio/hugoThemes#themetoml for an example
|
||||||
|
|
||||||
|
name = "Fesite"
|
||||||
|
license = "MIT"
|
||||||
|
licenselink = "https://github.com/yourname/yourtheme/blob/master/LICENSE"
|
||||||
|
description = ""
|
||||||
|
homepage = "http://example.com/"
|
||||||
|
tags = []
|
||||||
|
features = []
|
||||||
|
staticDir = ['static']
|
||||||
|
min_version = "0.41.0"
|
||||||
|
|
||||||
|
[author]
|
||||||
|
name = "Hamcha"
|
||||||
|
homepage = "https://faulty.equipment"
|
||||||
|
|
||||||
|
# If porting an existing theme
|
||||||
|
[original]
|
||||||
|
name = ""
|
||||||
|
homepage = ""
|
||||||
|
repo = ""
|
Loading…
Reference in a new issue