Alexander Avery
3 years ago
17 changed files with 455 additions and 1 deletions
@ -0,0 +1,81 @@ |
|||
@mixin shadow { |
|||
box-shadow: 0px 4px 8px black; |
|||
} |
|||
|
|||
.shadow { |
|||
@include shadow |
|||
} |
|||
|
|||
.float-on-hover { |
|||
transition: (all 0.25s cubic-bezier(0.2,0.1,0.47,1)); |
|||
&:hover { |
|||
transform: (translateY(-10px)); |
|||
} |
|||
} |
|||
|
|||
article { |
|||
display: flex; |
|||
background-color: $dark; |
|||
border-radius: 10px; |
|||
} |
|||
|
|||
article.card { |
|||
height: 420px; |
|||
flex: 1 1 305px; |
|||
flex-direction: column; |
|||
overflow: hidden; |
|||
|
|||
div.article-info-container, div.article-image { |
|||
overflow: hidden; |
|||
flex: 1; |
|||
} |
|||
|
|||
div.article-info { |
|||
box-sizing: border-box; |
|||
padding: 25px; |
|||
height: 200px; |
|||
display: flex; |
|||
flex-direction: column; |
|||
|
|||
a.article-title { |
|||
flex: 2; |
|||
display: flex; |
|||
justify-content: space-between; |
|||
flex-direction: column; |
|||
text-decoration: none; |
|||
color: $font-color; |
|||
} |
|||
} |
|||
} |
|||
|
|||
.circle { |
|||
border-radius: 50%; |
|||
} |
|||
|
|||
img.small-image { |
|||
width: 400px; |
|||
} |
|||
|
|||
.article-link { |
|||
text-decoration: none; |
|||
color: $font-color; |
|||
} |
|||
|
|||
article.card-alternate { |
|||
justify-content: space-evenly; |
|||
align-items: center; |
|||
flex-wrap: wrap; |
|||
gap: 40px; |
|||
|
|||
div { |
|||
padding: 16px; |
|||
} |
|||
img { |
|||
width: 250px; |
|||
height: 250px; |
|||
border-radius: 50%; |
|||
} |
|||
p { |
|||
max-width: 500px; |
|||
} |
|||
} |
@ -0,0 +1,22 @@ |
|||
code { |
|||
background: $dark; |
|||
border-radius: .4rem; |
|||
margin: 0 .2rem; |
|||
padding: .2rem .5rem; |
|||
white-space: nowrap; |
|||
} |
|||
|
|||
pre { |
|||
background-color: $background-color !important; |
|||
max-width: 100%; |
|||
|
|||
& > code { |
|||
@include shadow; |
|||
display: block; |
|||
padding: 1rem 1.5rem; |
|||
white-space: pre; |
|||
max-width: 100%; |
|||
overflow-x: auto; |
|||
border-left: .3rem solid $beetbox-purple; |
|||
} |
|||
} |
@ -0,0 +1,13 @@ |
|||
$background-color: #1f2835; |
|||
$font-color: #f8f8ff; |
|||
$top-bar: #f8f8ffcc; |
|||
|
|||
$beetbox-red: #9e0008; |
|||
$beetbox-pink: #d93370; |
|||
$beetbox-purple: #ac65cb; |
|||
$beetbox-green: #003f56; |
|||
$beetbox-blue: #5fcfd0; |
|||
|
|||
$dark: #111; |
|||
$visited-link: #e4cdef; |
|||
|
@ -0,0 +1,130 @@ |
|||
@import 'colors.scss'; |
|||
@import 'cards.scss'; |
|||
@import 'code.scss'; |
|||
|
|||
@mixin screen-max($max) { |
|||
@media (max-width: $max - 1) { |
|||
@content |
|||
} |
|||
} |
|||
|
|||
body { |
|||
background-color: $background-color; |
|||
color: $font-color; |
|||
margin: 0px; |
|||
overflow-y: scroll; |
|||
} |
|||
|
|||
header { |
|||
background-color: $top-bar; |
|||
box-shadow: 0px 5px 10px black; |
|||
.spread { |
|||
gap: 24px; |
|||
display: flex; |
|||
align-items: flex-end; |
|||
justify-content: space-between; |
|||
@include screen-max(1000px){justify-content: center;} |
|||
ul { |
|||
margin: 0px; |
|||
padding: 0px; |
|||
list-style-type: none; |
|||
a { |
|||
text-align: center; |
|||
margin: auto; |
|||
font-weight: bold; |
|||
text-decoration: none; |
|||
color: $background-color; |
|||
} |
|||
} |
|||
} |
|||
nav { |
|||
max-width: 1400px; |
|||
margin: 0px auto; |
|||
padding: 8px; |
|||
flex-wrap: wrap; |
|||
a { |
|||
@include screen-max(1000px){flex-basis: 100%;} |
|||
} |
|||
img { |
|||
max-width: 300px; |
|||
display: block; |
|||
@include screen-max(1000px){margin: auto; flex-basis: 100%;} |
|||
} |
|||
} |
|||
} |
|||
|
|||
a { |
|||
color: $beetbox-blue; |
|||
} |
|||
|
|||
a:visited, a:hover { |
|||
color: $visited-link; |
|||
} |
|||
|
|||
.content-wrapper, .article-meta { |
|||
max-width: 820px; |
|||
margin: auto; |
|||
padding: 4px; |
|||
} |
|||
|
|||
.center-text { |
|||
text-align: center; |
|||
flex-basis: 100%; |
|||
} |
|||
|
|||
.break { |
|||
flex-basis: 100%; |
|||
height: 0px; |
|||
} |
|||
|
|||
a, p, span, li, h2, code { |
|||
font-size: 1.25rem; |
|||
} |
|||
|
|||
p { |
|||
text-align: justify; |
|||
} |
|||
|
|||
img { |
|||
object-fit: cover; |
|||
} |
|||
|
|||
.small-text { |
|||
font-size: 1rem; |
|||
} |
|||
|
|||
.article-meta { |
|||
display: flex; |
|||
justify-content: center; |
|||
align-items: center; |
|||
gap: 4px 8px; |
|||
flex-wrap: wrap; |
|||
h1 { |
|||
font-size: 2rem; |
|||
} |
|||
img { |
|||
border-radius: 8px; |
|||
} |
|||
img.large-image { |
|||
width: 100%; |
|||
max-height: 500px; |
|||
} |
|||
} |
|||
|
|||
section { |
|||
max-width: 1000px; |
|||
margin: 16px auto; |
|||
padding: 8px; |
|||
} |
|||
|
|||
section.article-list { |
|||
display: flex; |
|||
flex-wrap: wrap; |
|||
justify-content: center; |
|||
gap: 40px; |
|||
} |
|||
|
|||
.fill-wh { |
|||
width: 100%; |
|||
height: 100% |
|||
} |
@ -0,0 +1,29 @@ |
|||
<!DOCTYPE html> |
|||
<head> |
|||
<link rel="shortcut icon" href="/images/favicon.ico"/> |
|||
|
|||
{{ with .OutputFormats.Get "rss" -}} |
|||
{{ printf `<link rel="%s" type="%s" href="%s" title="%s" />` .Rel .MediaType.Type .Permalink $.Site.Title | safeHTML }} |
|||
{{ end -}} |
|||
|
|||
<meta charset="utf-8"> |
|||
<meta name="viewport" content="width=device-width, initial-scale=1.0"/> |
|||
<meta name="description" content="{{ if .Description }}{{ .Description }}{{ else }}{{ .Site.Params.Description }}{{ end }}"> |
|||
{{ $style := resources.Get "/sass/main.scss" | resources.ToCSS }} |
|||
<link rel="stylesheet" href="{{ $style.Permalink }}" /> |
|||
<title> |
|||
{{ block "title" . }} {{ .Site.Title }} {{ end }} |
|||
</title> |
|||
</head> |
|||
<body> |
|||
{{ partial "header.html" . }} |
|||
{{ block "headline" . }} |
|||
{{ end }} |
|||
{{ block "main" . }} |
|||
{{ end }} |
|||
|
|||
{{ partial "footer.html" . }} |
|||
{{ block "footer" . }} |
|||
{{ end }} |
|||
</body> |
|||
</html> |
@ -0,0 +1,14 @@ |
|||
{{ define "main" }} |
|||
{{if not .IsHome }} |
|||
<h1 class="center-text">{{ .Title | markdownify | lower }}</h1> |
|||
{{ end }} |
|||
{{ .Content }} |
|||
<section class="article-list"> |
|||
{{ $pages := .Pages }} |
|||
{{ if .IsHome }}{{ $pages = where .Site.RegularPages "Section" "not in" (default "[]" .Site.Params.excludedSections) }}{{ end }} |
|||
{{ range (where $pages "Section" "ne" "") }} |
|||
{{ partial "article-card.html" . }} |
|||
{{ end }} |
|||
</section> |
|||
{{ end }} |
|||
|
@ -0,0 +1,29 @@ |
|||
{{ define "main" }} |
|||
<div class="article-meta"> |
|||
<h1 class="center-text">{{ .Title | markdownify }}</h1> |
|||
{{ $authors := .Params.authors | default (slice .Site.Params.defaultAuthor) }} |
|||
<a class="center-text" href={{ printf "/%s/%s" "authors" (index $authors 0 | urlize) }}><h2 class="center-text">{{ index $authors 0 }}</h2></a> |
|||
{{ if .Params.date }}<h2 class="small-text">{{ .Date.Format "Mon | Jan 2, 2006" }}</h2>{{ end }} |
|||
{{ range (.GetTerms "tags") }} |
|||
<a class="small-text" href="{{ .Permalink }}">{{ .LinkTitle }}</a> |
|||
{{ end}} |
|||
<img class="shadow large-image" srcset="{{ .Params.featured.srcset }}" src="{{ .Params.featured.url }}" alt="{{ .Params.featured.alt }}"/> |
|||
</div> |
|||
|
|||
{{ if .Params.toc }} |
|||
{{ .TableOfContents }} |
|||
{{ end }} |
|||
<div class="content-wrapper"> |
|||
<main> |
|||
{{ .Content }} |
|||
{{ with .NextInSection }} |
|||
<p>Next: <a href="{{ .Permalink }}">{{ .Title | markdownify }}</a></p> |
|||
{{ end }} |
|||
{{ with .PrevInSection }} |
|||
<p>Previous: <a href="{{ .Permalink }}">{{ .Title | markdownify }}</a></p> |
|||
{{ end }} |
|||
<br> |
|||
<a href="/"> >> Home</a> |
|||
</main> |
|||
</div> |
|||
{{ end }} |
@ -0,0 +1,12 @@ |
|||
{{ define "main" }} |
|||
<h1 class="center-text">{{ .Title | markdownify | lower }} tag</h1> |
|||
<div class="content-wrapper"> |
|||
{{ .Content }} |
|||
</div> |
|||
<section class="article-list"> |
|||
{{ $pages := .Pages }} |
|||
{{ range (where $pages "Section" "ne" "") }} |
|||
{{ partial "article-card.html" . }} |
|||
{{ end }} |
|||
</section> |
|||
{{ end }} |
@ -0,0 +1,12 @@ |
|||
{{ define "main" }} |
|||
<h1 class="center-text">{{ .Title | markdownify | lower }}</h1> |
|||
<div class="content-wrapper"> |
|||
{{ .Content }} |
|||
</div> |
|||
<section class="article-list"> |
|||
{{ $pages := .Pages }} |
|||
{{ range (where $pages "Section" "ne" "") }} |
|||
{{ partial "article-card.html" . }} |
|||
{{ end }} |
|||
</section> |
|||
{{ end }} |
@ -0,0 +1,23 @@ |
|||
{{ define "main" }} |
|||
<section> |
|||
{{if not .IsHome }} |
|||
<div class="article-meta"> |
|||
<h1 class="center-text">{{ .Params.name }}</h1> |
|||
<p class="center-text">{{ .Params.bio }}</p> |
|||
<a class="small-text" href={{ .Params.projects}}>Projects</a> |
|||
<span> | </span> |
|||
<a class="small-text" href="mailto:{{ .Params.email }}">{{ .Params.email}}</a> |
|||
<div class="break"></div> |
|||
<img class="shadow small-image" src="{{ .Params.avatar }}" alt="{{ .Params.alt }}"/> |
|||
</div> |
|||
{{ end }} |
|||
{{ .Content }} |
|||
<h2>Posts:</h2> |
|||
</section> |
|||
<section class="article-list"> |
|||
{{ range .Data.Pages }} |
|||
{{ partial "article-card.html" . }} |
|||
{{ end }} |
|||
</section> |
|||
{{ end }} |
|||
|
@ -0,0 +1,9 @@ |
|||
{{ define "main" }} |
|||
<h1 class="center-text">Authors</h1> |
|||
|
|||
<section> |
|||
{{ range .Data.Pages }} |
|||
{{ partial "article-card-alternate.html" . }} |
|||
{{ end }} |
|||
</section> |
|||
{{ end }} |
@ -0,0 +1,33 @@ |
|||
{{ define "main" }} |
|||
<div class="article-meta"> |
|||
<h1 class="center-text">{{ .Title | markdownify }}</h1> |
|||
{{ $authors := .Params.authors | default (slice .Site.Params.defaultAuthor) }} |
|||
<a class="center-text" href={{ printf "/%s/%s" "authors" (index $authors 0 | urlize) }}><h2 class="center-text">{{ index $authors 0 }}</h2></a> |
|||
{{ if .Params.date }}<h2 class="small-text">{{ .Date.Format "Mon | Jan 2, 2006" }}</h2>{{ end }} |
|||
{{ range (.GetTerms "tags") }} |
|||
<a class="small-text" href="{{ .Permalink }}">{{ .LinkTitle }}</a> |
|||
{{ end }} |
|||
<div class="break"></div> |
|||
<h2 class="small-text">Platforms:</h2> |
|||
<span class="margin small-text">{{ delimit .Params.platforms " · " }}</span> |
|||
<img class="shadow" srcset="{{ .Params.featured.srcset }}" src="{{ .Params.featured.url }}" alt="{{ .Params.featured.alt }}"/> |
|||
</div> |
|||
|
|||
{{ if .Params.toc }} |
|||
{{ .TableOfContents }} |
|||
{{ end }} |
|||
<div class="content-wrapper"> |
|||
<main> |
|||
{{ .Content }} |
|||
{{ if gt (len .Data.Pages) 0 }} |
|||
<h2>Devlogs:</h2> |
|||
<section class="article-list"> |
|||
{{ range .Data.Pages }} |
|||
{{ partial "article-card.html" . }} |
|||
{{ end }} |
|||
</section> |
|||
{{ end }} |
|||
<a href="/"> >> Home</a> |
|||
</main> |
|||
</div> |
|||
{{ end }} |
@ -0,0 +1,12 @@ |
|||
<a class="article-link" href={{ printf "/%s/%s" "authors" (.Params.name | urlize) }}> |
|||
<article class="card-alternate shadow float-on-hover"> |
|||
<div> |
|||
<img class="shadow" src="{{ .Params.avatar }}" alt="{{ .Params.alt }}"/> |
|||
</div> |
|||
<div> |
|||
<h2>{{ .Params.name }}</h2> |
|||
<p>{{ .Params.bio }}</p> |
|||
</div> |
|||
</article> |
|||
</a> |
|||
|
@ -0,0 +1,19 @@ |
|||
<article class="shadow float-on-hover card"> |
|||
<div class="article-image"> |
|||
<a href=" {{ .Permalink }}"> |
|||
<img class="fill-wh" src="{{ .Params.featured.url }}" alt="{{ .Params.featured.alt }}"/></a> |
|||
</div> |
|||
<div class="article-info-container"> |
|||
<div class="article-info"> |
|||
{{ range first 1 (.GetTerms "tags") }} |
|||
<a class="small-text" href="{{ .Permalink }}">{{ .LinkTitle }}</a> |
|||
{{ end }} |
|||
<a href="{{ .Permalink }}" class="article-title fill-wh"> |
|||
<h2>{{ .Title | markdownify }}</h2> |
|||
{{ if ne .Kind "term"}} |
|||
<span class="date">{{ .Date.Format "2006/01/02" }}</span> |
|||
{{ end }} |
|||
</a> |
|||
</div> |
|||
</div> |
|||
</article> |
@ -0,0 +1,4 @@ |
|||
<footer> |
|||
<hr/> |
|||
<p class="center-text small-text">{{ $.Site.Copyright | safeHTML }}</p> |
|||
</footer> |
@ -0,0 +1,12 @@ |
|||
<header> |
|||
<nav class="spread"> |
|||
<a href="/"><img src="/images/logo.svg"/></a> |
|||
<ul class="spread"> |
|||
<li><a href="https://gitea.beetbox.io/BeetBox" title="Gitea Repositories">Gitea</a></li> |
|||
<li><a href="https://odysee.com/@BeetBox:f" title="Odysee Channel">Odysee</a></li> |
|||
<li><a href="/games" title="Games">Games</a></li> |
|||
<li><a href="/authors" title="Authors">Authors</a></li> |
|||
<li>{{ printf `<a href="/index.xml" title="%s">RSS</a>` $.Site.Title | safeHTML }}</li> |
|||
</ul> |
|||
</nav> |
|||
</header> |
Loading…
Reference in new issue