Create initial website at mesche.cc #4

Merged
daviwil merged 4 commits from daviwil/mesche:site into master 2023-05-21 11:10:46 +00:00
81 changed files with 2492 additions and 0 deletions

View File

@ -7,3 +7,22 @@ pipeline:
cmake -DCMAKE_BUILD_TYPE=ReleaseWithDeb ..
make
make test
build-web:
image: silex/emacs:ci
when:
branch: master
event: push
secrets: [ repo_token ]
commands: |
cd site
CI=true emacs --batch -l ./publish.el --funcall site/publish
cd public
git init
git add -A
git config --global user.email "david@daviwil.com"
git config --global user.name "David Wilson"
git commit -m "Publish mesche.cc"
git remote add upstream https://daviwil:$REPO_TOKEN@codeberg.org/mesche/mesche.git
git push -f upstream HEAD:pages

4
site/.domains Normal file
View File

@ -0,0 +1,4 @@
mesche.cc
mesche.dev
mesche.mesche.codeberg.page
pages.mesche.mesche.codeberg.page

3
site/.gitignore vendored Normal file
View File

@ -0,0 +1,3 @@
.packages
.org-cache
public/

1051
site/assets/css/code.css Normal file

File diff suppressed because it is too large Load Diff

434
site/assets/css/site.css Normal file
View File

@ -0,0 +1,434 @@
/*
* Globals
*/
::root {
box-sizing: border-box;
}
html {
font-size: 12px;
}
@media screen and (max-width: 767px) {
html {
font-size: 12px;
}
.logo {
max-width: 200px;
}
.row .column:not(:last-child) {
margin-bottom: 1rem;
}
.video {
width: 100%;
}
.list-form {
width: 90%;
}
.newsletter-text {
font-size: 0.65rem;
}
}
/* sm */
@media screen and (min-width: 768px) {
html {
font-size: 13px;
}
.logo {
max-width: 200px;
}
.row {
display: flex;
flex-direction: row;
padding: 0;
width: 100%;
}
.row .column {
display: block;
flex: 1 1 auto;
max-width: 100%;
width: 100%;
}
.row .column:not(:last-child) {
margin-right: 10px;
}
.align-right {
text-align: right;
}
.video {
width: 70%;
}
.list-form {
width: 60%;
}
.newsletter-text {
font-size: 1.2rem;
}
}
/* md */
@media screen and (min-width: 992px) {
html {
font-size: 15px;
}
.logo {
max-width: 300px;
}
}
/* lg */
@media screen and (min-width: 2560px) {
html {
font-size: 18px;
}
}
body {
margin: 0;
font-family: "Iosevka Aile Web", sans-serif;
font-weight: 300;
font-size: 1.3rem;
line-height: 1.5;
color: #cbccc6;
background-color: #1f2430;
}
p {
margin-top: 0;
margin-bottom: 1rem;
}
b {
font-weight: 800;
}
blockquote {
font-style: italic;
}
.container {
margin-right: auto;
margin-left: auto;
padding-right: 0.75rem;
padding-left: 0.75rem;
}
.nav {
display: flex;
flex-wrap: wrap;
justify-content: center;
}
h1,
h2,
h3,
h4,
h5,
h6 {
font-family: "Iosevka Aile Web", sans-serif;
font-weight: 600;
line-height: 1.2;
margin-top: 1.3rem;
margin-bottom: 0.5rem;
color: #ffd580;
}
a {
color: #ffa759;
}
a:hover,
a:focus {
color: #ffa759;
}
.anchor {
color: #1f2430;
float: left;
padding-right: 4px;
margin-left: -23px;
}
.anchor:hover {
text-decoration: none;
}
h2:hover .anchor,
h3:hover .anchor,
h4:hover .anchor {
color: inherit;
}
kbd {
font-family: "JetBrains Mono", monospace;
font-weight: 200;
}
pre {
font-family: "JetBrains Mono", monospace;
background-color: #232635;
padding: 1em;
overflow-x: scroll;
}
code {
color: #c3e88d;
}
pre,
code {
font-family: "JetBrains Mono", monospace;
font-weight: 200;
font-size: 1rem;
}
strong {
font-weight: 700;
}
/*
* Override Bootstrap's default container.
*/
.container {
max-width: 60rem;
}
/*
* Masthead for nav
*/
.site-masthead {
margin-bottom: 0.5rem;
background-color: rgba(20, 24, 32, 0.5);
border-bottom: 0.05rem solid #ffa759;
-webkit-box-shadow: inset 0 -0.1rem 0.25rem rgba(0, 0, 0, 0.1);
box-shadow: inset 0 -0.1rem 0.25rem rgba(0, 0, 0, 0.1);
}
.logo {
display: block;
padding-top: 0.5rem;
padding-bottom: 0.5rem;
margin-left: auto;
margin-right: auto;
text-align: center;
}
/* Nav links */
.nav-link {
position: relative;
padding: 0rem;
font-size: 1.3rem;
margin: 0.5rem 1.25rem 0.5rem 0rem;
font-weight: bold;
/* color: #ffd580; */
color: #cbccc6;
}
.nav-link:hover,
.nav-link:focus {
color: #fff;
background-color: transparent;
}
/* Active state gets a caret at the bottom */
.nav-link.active {
color: #fff;
font-weight: bolder;
}
.nav-icon {
float: right;
}
.nav-icons {
width: auto;
}
/*
* Blog name and description
*/
.site-header {
font-family: "Iosevka Aile Web", sans-serif;
font-weight: bold;
background-image: url("/img/header_bg.png");
background-size: cover;
background-position: center;
}
.site-title {
margin-bottom: 0;
font-size: 3rem;
font-weight: bold;
color: #82aaff;
}
.site-description {
font-size: 1.5rem;
color: #999;
}
@media (max-width: 40em) {
.site-description {
margin-bottom: 1rem;
}
}
/*
* Site pages
*/
.site-post {
margin-bottom: 2rem;
}
.site-post-title {
margin-bottom: 0.75rem;
font-size: 2.5rem;
}
.site-post-meta {
margin-bottom: 1.25rem;
color: #999;
}
.site-post-tags {
margin-top: 3rem;
margin-bottom: 1.25rem;
font-size: 1.1rem;
color: #999;
}
/*
* Footer
*/
.site-footer {
padding: 1.3rem 0;
margin-top: 1rem;
color: #cbccc6;
font-size: 1rem;
background-color: #141820;
border-top: 0.05rem solid #ffa759;
}
.site-footer p:last-child {
margin-bottom: 0;
}
.site-footer-right {
text-align: right;
}
.video {
position: relative;
overflow: hidden;
margin-left: auto;
margin-right: auto;
text-align: center;
}
.center {
display: block;
margin-left: auto;
margin-right: auto;
text-align: center;
}
.video::after {
display: block;
content: "";
padding-top: 56.25%;
}
.video iframe {
position: absolute;
top: 0;
left: 0;
border: 0;
width: 100%;
height: 100%;
}
.cta {
width: 80%;
padding: 1rem;
margin-top: 1rem;
margin-bottom: 1rem;
border: 1px solid #f78c6c;
border-radius: 4px;
background-color: #232635;
}
.stream-time {
width: 80%;
padding: 1rem;
margin-top: 1rem;
margin-bottom: 1rem;
border: 1px solid #c792ea;
border-radius: 4px;
background-color: #232635;
}
.list-form {
font-size: 0.9rem;
padding: 1rem;
margin-bottom: 1rem;
border: 1px solid #c3e88d;
border-radius: 4px;
background-color: #232635;
}
.list-form-title {
font-family: "Iosevka Aile Web", sans-serif;
font-weight: 600;
font-size: 1.2rem;
margin-bottom: 0.5rem;
color: #c3e88d;
}
.list-form-label {
margin-top: 0.8rem;
font-weight: bold;
}
.list-form input[type="text"] {
width: 100%;
padding: 10px 10px;
margin: 8px 0;
box-sizing: border-box;
border: 1px solid #c3e88d;
border-radius: 4px;
background-color: #232635;
color: #eeffff;
}
.list-form input[type="submit"] {
width: 50%;
padding: 10px 10px;
margin: 8px 0;
box-sizing: border-box;
border: 1px solid #89aaeb;
border-radius: 4px;
background-color: #89aaeb;
color: #232635;
}
.newsletter-text {
}

View File

@ -0,0 +1,382 @@
@font-face {
font-family: "Iosevka Aile Web";
font-display: swap;
font-weight: 100;
font-stretch: normal;
font-style: normal;
src: url("/fonts/iosevka-aile/woff2/iosevka-aile-thin.woff2") format("woff2"),
url("ttf/iosevka-aile-thin.ttf") format("truetype");
}
@font-face {
font-family: "Iosevka Aile Web";
font-display: swap;
font-weight: 100;
font-stretch: normal;
font-style: oblique;
src: url("/fonts/iosevka-aile/woff2/iosevka-aile-thinoblique.woff2")
format("woff2"),
url("ttf/iosevka-aile-thinoblique.ttf") format("truetype");
}
@font-face {
font-family: "Iosevka Aile Web Oblique";
font-display: swap;
font-weight: 100;
font-stretch: normal;
src: url("/fonts/iosevka-aile/woff2/iosevka-aile-thinoblique.woff2")
format("woff2"),
url("ttf/iosevka-aile-thinoblique.ttf") format("truetype");
}
@font-face {
font-family: "Iosevka Aile Web";
font-display: swap;
font-weight: 100;
font-stretch: normal;
font-style: italic;
src: url("/fonts/iosevka-aile/woff2/iosevka-aile-thinitalic.woff2")
format("woff2"),
url("ttf/iosevka-aile-thinitalic.ttf") format("truetype");
}
@font-face {
font-family: "Iosevka Aile Web";
font-display: swap;
font-weight: 200;
font-stretch: normal;
font-style: normal;
src: url("/fonts/iosevka-aile/woff2/iosevka-aile-extralight.woff2")
format("woff2"),
url("ttf/iosevka-aile-extralight.ttf") format("truetype");
}
@font-face {
font-family: "Iosevka Aile Web";
font-display: swap;
font-weight: 200;
font-stretch: normal;
font-style: oblique;
src: url("/fonts/iosevka-aile/woff2/iosevka-aile-extralightoblique.woff2")
format("woff2"),
url("ttf/iosevka-aile-extralightoblique.ttf") format("truetype");
}
@font-face {
font-family: "Iosevka Aile Web Oblique";
font-display: swap;
font-weight: 200;
font-stretch: normal;
src: url("/fonts/iosevka-aile/woff2/iosevka-aile-extralightoblique.woff2")
format("woff2"),
url("ttf/iosevka-aile-extralightoblique.ttf") format("truetype");
}
@font-face {
font-family: "Iosevka Aile Web";
font-display: swap;
font-weight: 200;
font-stretch: normal;
font-style: italic;
src: url("/fonts/iosevka-aile/woff2/iosevka-aile-extralightitalic.woff2")
format("woff2"),
url("ttf/iosevka-aile-extralightitalic.ttf") format("truetype");
}
@font-face {
font-family: "Iosevka Aile Web";
font-display: swap;
font-weight: 300;
font-stretch: normal;
font-style: normal;
src: url("/fonts/iosevka-aile/woff2/iosevka-aile-light.woff2") format("woff2"),
url("ttf/iosevka-aile-light.ttf") format("truetype");
}
@font-face {
font-family: "Iosevka Aile Web";
font-display: swap;
font-weight: 300;
font-stretch: normal;
font-style: oblique;
src: url("/fonts/iosevka-aile/woff2/iosevka-aile-lightoblique.woff2")
format("woff2"),
url("ttf/iosevka-aile-lightoblique.ttf") format("truetype");
}
@font-face {
font-family: "Iosevka Aile Web Oblique";
font-display: swap;
font-weight: 300;
font-stretch: normal;
src: url("/fonts/iosevka-aile/woff2/iosevka-aile-lightoblique.woff2")
format("woff2"),
url("ttf/iosevka-aile-lightoblique.ttf") format("truetype");
}
@font-face {
font-family: "Iosevka Aile Web";
font-display: swap;
font-weight: 300;
font-stretch: normal;
font-style: italic;
src: url("/fonts/iosevka-aile/woff2/iosevka-aile-lightitalic.woff2")
format("woff2"),
url("ttf/iosevka-aile-lightitalic.ttf") format("truetype");
}
@font-face {
font-family: "Iosevka Aile Web";
font-display: swap;
font-weight: 400;
font-stretch: normal;
font-style: normal;
src: url("/fonts/iosevka-aile/woff2/iosevka-aile-regular.woff2")
format("woff2"),
url("ttf/iosevka-aile-regular.ttf") format("truetype");
}
@font-face {
font-family: "Iosevka Aile Web";
font-display: swap;
font-weight: 400;
font-stretch: normal;
font-style: oblique;
src: url("/fonts/iosevka-aile/woff2/iosevka-aile-oblique.woff2")
format("woff2"),
url("ttf/iosevka-aile-oblique.ttf") format("truetype");
}
@font-face {
font-family: "Iosevka Aile Web Oblique";
font-display: swap;
font-weight: 400;
font-stretch: normal;
src: url("/fonts/iosevka-aile/woff2/iosevka-aile-oblique.woff2")
format("woff2"),
url("ttf/iosevka-aile-oblique.ttf") format("truetype");
}
@font-face {
font-family: "Iosevka Aile Web";
font-display: swap;
font-weight: 400;
font-stretch: normal;
font-style: italic;
src: url("/fonts/iosevka-aile/woff2/iosevka-aile-italic.woff2")
format("woff2"),
url("ttf/iosevka-aile-italic.ttf") format("truetype");
}
@font-face {
font-family: "Iosevka Aile Web";
font-display: swap;
font-weight: 500;
font-stretch: normal;
font-style: normal;
src: url("/fonts/iosevka-aile/woff2/iosevka-aile-medium.woff2")
format("woff2"),
url("ttf/iosevka-aile-medium.ttf") format("truetype");
}
@font-face {
font-family: "Iosevka Aile Web";
font-display: swap;
font-weight: 500;
font-stretch: normal;
font-style: oblique;
src: url("/fonts/iosevka-aile/woff2/iosevka-aile-mediumoblique.woff2")
format("woff2"),
url("ttf/iosevka-aile-mediumoblique.ttf") format("truetype");
}
@font-face {
font-family: "Iosevka Aile Web Oblique";
font-display: swap;
font-weight: 500;
font-stretch: normal;
src: url("/fonts/iosevka-aile/woff2/iosevka-aile-mediumoblique.woff2")
format("woff2"),
url("ttf/iosevka-aile-mediumoblique.ttf") format("truetype");
}
@font-face {
font-family: "Iosevka Aile Web";
font-display: swap;
font-weight: 500;
font-stretch: normal;
font-style: italic;
src: url("/fonts/iosevka-aile/woff2/iosevka-aile-mediumitalic.woff2")
format("woff2"),
url("ttf/iosevka-aile-mediumitalic.ttf") format("truetype");
}
@font-face {
font-family: "Iosevka Aile Web";
font-display: swap;
font-weight: 600;
font-stretch: normal;
font-style: normal;
src: url("/fonts/iosevka-aile/woff2/iosevka-aile-semibold.woff2")
format("woff2"),
url("ttf/iosevka-aile-semibold.ttf") format("truetype");
}
@font-face {
font-family: "Iosevka Aile Web";
font-display: swap;
font-weight: 600;
font-stretch: normal;
font-style: oblique;
src: url("/fonts/iosevka-aile/woff2/iosevka-aile-semiboldoblique.woff2")
format("woff2"),
url("ttf/iosevka-aile-semiboldoblique.ttf") format("truetype");
}
@font-face {
font-family: "Iosevka Aile Web Oblique";
font-display: swap;
font-weight: 600;
font-stretch: normal;
src: url("/fonts/iosevka-aile/woff2/iosevka-aile-semiboldoblique.woff2")
format("woff2"),
url("ttf/iosevka-aile-semiboldoblique.ttf") format("truetype");
}
@font-face {
font-family: "Iosevka Aile Web";
font-display: swap;
font-weight: 600;
font-stretch: normal;
font-style: italic;
src: url("/fonts/iosevka-aile/woff2/iosevka-aile-semibolditalic.woff2")
format("woff2"),
url("ttf/iosevka-aile-semibolditalic.ttf") format("truetype");
}
@font-face {
font-family: "Iosevka Aile Web";
font-display: swap;
font-weight: 700;
font-stretch: normal;
font-style: normal;
src: url("/fonts/iosevka-aile/woff2/iosevka-aile-bold.woff2") format("woff2"),
url("ttf/iosevka-aile-bold.ttf") format("truetype");
}
@font-face {
font-family: "Iosevka Aile Web";
font-display: swap;
font-weight: 700;
font-stretch: normal;
font-style: oblique;
src: url("/fonts/iosevka-aile/woff2/iosevka-aile-boldoblique.woff2")
format("woff2"),
url("ttf/iosevka-aile-boldoblique.ttf") format("truetype");
}
@font-face {
font-family: "Iosevka Aile Web Oblique";
font-display: swap;
font-weight: 700;
font-stretch: normal;
src: url("/fonts/iosevka-aile/woff2/iosevka-aile-boldoblique.woff2")
format("woff2"),
url("ttf/iosevka-aile-boldoblique.ttf") format("truetype");
}
@font-face {
font-family: "Iosevka Aile Web";
font-display: swap;
font-weight: 700;
font-stretch: normal;
font-style: italic;
src: url("/fonts/iosevka-aile/woff2/iosevka-aile-bolditalic.woff2")
format("woff2"),
url("ttf/iosevka-aile-bolditalic.ttf") format("truetype");
}
@font-face {
font-family: "Iosevka Aile Web";
font-display: swap;
font-weight: 800;
font-stretch: normal;
font-style: normal;
src: url("/fonts/iosevka-aile/woff2/iosevka-aile-extrabold.woff2")
format("woff2"),
url("ttf/iosevka-aile-extrabold.ttf") format("truetype");
}
@font-face {
font-family: "Iosevka Aile Web";
font-display: swap;
font-weight: 800;
font-stretch: normal;
font-style: oblique;
src: url("/fonts/iosevka-aile/woff2/iosevka-aile-extraboldoblique.woff2")
format("woff2"),
url("ttf/iosevka-aile-extraboldoblique.ttf") format("truetype");
}
@font-face {
font-family: "Iosevka Aile Web Oblique";
font-display: swap;
font-weight: 800;
font-stretch: normal;
src: url("/fonts/iosevka-aile/woff2/iosevka-aile-extraboldoblique.woff2")
format("woff2"),
url("ttf/iosevka-aile-extraboldoblique.ttf") format("truetype");
}
@font-face {
font-family: "Iosevka Aile Web";
font-display: swap;
font-weight: 800;
font-stretch: normal;
font-style: italic;
src: url("/fonts/iosevka-aile/woff2/iosevka-aile-extrabolditalic.woff2")
format("woff2"),
url("ttf/iosevka-aile-extrabolditalic.ttf") format("truetype");
}
@font-face {
font-family: "Iosevka Aile Web";
font-display: swap;
font-weight: 900;
font-stretch: normal;
font-style: normal;
src: url("/fonts/iosevka-aile/woff2/iosevka-aile-heavy.woff2") format("woff2"),
url("ttf/iosevka-aile-heavy.ttf") format("truetype");
}
@font-face {
font-family: "Iosevka Aile Web";
font-display: swap;
font-weight: 900;
font-stretch: normal;
font-style: oblique;
src: url("/fonts/iosevka-aile/woff2/iosevka-aile-heavyoblique.woff2")
format("woff2"),
url("ttf/iosevka-aile-heavyoblique.ttf") format("truetype");
}
@font-face {
font-family: "Iosevka Aile Web Oblique";
font-display: swap;
font-weight: 900;
font-stretch: normal;
src: url("/fonts/iosevka-aile/woff2/iosevka-aile-heavyoblique.woff2")
format("woff2"),
url("ttf/iosevka-aile-heavyoblique.ttf") format("truetype");
}
@font-face {
font-family: "Iosevka Aile Web";
font-display: swap;
font-weight: 900;
font-stretch: normal;
font-style: italic;
src: url("/fonts/iosevka-aile/woff2/iosevka-aile-heavyitalic.woff2")
format("woff2"),
url("ttf/iosevka-aile-heavyitalic.ttf") format("truetype");
}

Some files were not shown because too many files have changed in this diff Show More