First commit
The basic parts of the layouts/theme should work. I have only populated 2 albums so far.
7
.gitignore
vendored
Normal file
|
@ -0,0 +1,7 @@
|
|||
/public/
|
||||
/resources/_gen/
|
||||
/assets/jsconfig.json
|
||||
hugo_stats.json
|
||||
/.hugo_build.lock
|
||||
|
||||
/assets/originals/
|
16
assets/scss/base/colors.scss
Normal file
|
@ -0,0 +1,16 @@
|
|||
body {
|
||||
background: #212121;
|
||||
color: white;
|
||||
}
|
||||
|
||||
a:link {
|
||||
color: hsl(210, 100%, 50%)
|
||||
}
|
||||
|
||||
a:visited {
|
||||
color: hsl(270, 100%, 75%)
|
||||
}
|
||||
|
||||
.photo-details {
|
||||
background: #111;
|
||||
}
|
44
assets/scss/base/layout.scss
Normal file
|
@ -0,0 +1,44 @@
|
|||
.development-info {
|
||||
display: none;
|
||||
}
|
||||
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.section {
|
||||
margin-block: 2rem;
|
||||
}
|
||||
|
||||
.container {
|
||||
padding-inline: 1rem;
|
||||
}
|
||||
|
||||
body {
|
||||
width: 100vw;
|
||||
max-width: var(--site-max-width, 120rem);
|
||||
margin-inline: auto;
|
||||
@media (min-width: 40rem) {
|
||||
display: grid;
|
||||
grid-template-areas:
|
||||
"head main"
|
||||
"foot main";
|
||||
grid-template-columns: 20em 1fr;
|
||||
grid-template-rows: 1fr auto;
|
||||
|
||||
> main {
|
||||
grid-area: main;
|
||||
height: 100vh;
|
||||
overflow-y: auto;
|
||||
}
|
||||
|
||||
.site-header {
|
||||
grid-area: head;
|
||||
}
|
||||
|
||||
.site-footer {
|
||||
grid-area: foot;
|
||||
}
|
||||
}
|
||||
}
|
21
assets/scss/base/variables.scss
Normal file
|
@ -0,0 +1,21 @@
|
|||
@import "hugo:vars";
|
||||
|
||||
html {
|
||||
--site-max-width: #{$site-max-width};
|
||||
--list-max-width: #{$list-max-width};
|
||||
}
|
||||
|
||||
.favorites-reel {
|
||||
--photo-grid-item-size: 15rem;
|
||||
--photo-grid-gap: 0.5em;
|
||||
}
|
||||
|
||||
.all-photos {
|
||||
--photo-grid-item-size: 9rem;
|
||||
--photo-grid-gap: 0.5em;
|
||||
}
|
||||
|
||||
.event-page {
|
||||
--photo-grid-item-size: 15rem;
|
||||
--photo-grid-gap: 0.5em;
|
||||
}
|
0
assets/scss/layouts/_default/albums.scss
Normal file
0
assets/scss/layouts/_default/all-photos.scss
Normal file
110
assets/scss/layouts/_default/event.scss
Normal file
|
@ -0,0 +1,110 @@
|
|||
.event-title {
|
||||
font-size: 1.4em;
|
||||
margin-block-end: 1rem;
|
||||
}
|
||||
|
||||
.event-subtitle {
|
||||
font-size: 1em;
|
||||
font-weight: normal;
|
||||
font-variant: small-caps;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.event-header svg {
|
||||
width: 1.5em;
|
||||
height: 1.5em;
|
||||
}
|
||||
|
||||
.event-header span {
|
||||
font-size: 1em;
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
.event-header p, .event-header li {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
span {
|
||||
margin-inline-start: 0.25em;
|
||||
margin-inline-end: 2em;
|
||||
}
|
||||
}
|
||||
|
||||
.event-content {
|
||||
h2 {
|
||||
font-size: 1em;
|
||||
font-variant: small-caps;
|
||||
}
|
||||
}
|
||||
|
||||
.event-tags {
|
||||
list-style: none;
|
||||
display: flex;
|
||||
flex-flow: row wrap;
|
||||
gap: 1em;
|
||||
a {
|
||||
color: #777;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
.event-photos {
|
||||
list-style: none;
|
||||
a {
|
||||
text-decoration: none;
|
||||
color: inherit;
|
||||
}
|
||||
display: grid;
|
||||
gap: 1em;
|
||||
}
|
||||
|
||||
.event-photo {
|
||||
img {
|
||||
display: block;
|
||||
max-width: 100%;
|
||||
}
|
||||
figcaption {
|
||||
background: #111;
|
||||
text-align: center;
|
||||
padding-block: 1em;
|
||||
|
||||
.photo-title {
|
||||
text-align: center;
|
||||
margin-block-end: 1em;
|
||||
}
|
||||
|
||||
.photo-summary {
|
||||
font-family: monospace;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.event-page .photos .event-subtitle {
|
||||
margin-block: 2rem;
|
||||
}
|
||||
|
||||
@media (min-width: 100rem) {
|
||||
.event-page {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 20rem;
|
||||
grid-template-areas:
|
||||
"photos info";
|
||||
height: 100vh;
|
||||
}
|
||||
.event-page .info {
|
||||
grid-area: info;
|
||||
height: 100vh;
|
||||
overflow-y: scroll;
|
||||
}
|
||||
|
||||
.event-page .photos {
|
||||
grid-area: photos;
|
||||
height: 100vh;
|
||||
overflow-y: scroll;
|
||||
margin: 0;
|
||||
.photos-list {
|
||||
max-width: 40rem;
|
||||
margin-inline: auto;
|
||||
}
|
||||
}
|
||||
}
|
73
assets/scss/layouts/_default/photo.scss
Normal file
|
@ -0,0 +1,73 @@
|
|||
.photo-page .photo {
|
||||
display: grid;
|
||||
grid-template-areas:
|
||||
"image"
|
||||
"title"
|
||||
"caption"
|
||||
"meta"
|
||||
"footer";
|
||||
@media (min-width: 80rem) {
|
||||
grid-template-areas:
|
||||
"image title"
|
||||
"image caption"
|
||||
"image meta"
|
||||
"image footer";
|
||||
grid-template-columns: 1fr 20em;
|
||||
grid-template-rows: auto auto auto 1fr;
|
||||
min-height: 100vh;
|
||||
}
|
||||
}
|
||||
|
||||
.photo-page picture, .photo-page source {
|
||||
display: contents;
|
||||
}
|
||||
|
||||
.photo-page .photo .title {
|
||||
grid-area: title;
|
||||
text-align: center;
|
||||
font-weight: normal;
|
||||
margin-block-start: 2rem;
|
||||
margin-block-end: 1rem;
|
||||
}
|
||||
|
||||
.photo-page .photo .caption {
|
||||
grid-area: caption;
|
||||
font-style: italic;
|
||||
font-family: monospace;
|
||||
margin-block-end: 2rem;
|
||||
max-width: 90%;
|
||||
margin-inline: auto;
|
||||
}
|
||||
|
||||
.photo-page .photo img {
|
||||
grid-area: image;
|
||||
display: block;
|
||||
max-width: 100%;
|
||||
place-self: center;
|
||||
}
|
||||
|
||||
.photo-page .photo .metadata {
|
||||
grid-area: meta;
|
||||
text-align: center;
|
||||
dt {
|
||||
font-weight: bold;
|
||||
font-variant: small-caps;
|
||||
}
|
||||
}
|
||||
|
||||
.photo-page footer {
|
||||
text-align: center;
|
||||
h2 {
|
||||
font-size: 1em;
|
||||
}
|
||||
}
|
||||
|
||||
.photo-page .tags {
|
||||
list-style: none;
|
||||
display: flex;
|
||||
flex-flow: row wrap;
|
||||
gap: 1em;
|
||||
a {
|
||||
color: #777;
|
||||
}
|
||||
}
|
10
assets/scss/layouts/_default/single.scss
Normal file
|
@ -0,0 +1,10 @@
|
|||
.content {
|
||||
max-width: 80ch;
|
||||
h2 {
|
||||
margin-block: 1rem;
|
||||
}
|
||||
p {
|
||||
line-height: 1.6;
|
||||
margin-block: 1rem;
|
||||
}
|
||||
}
|
8
assets/scss/layouts/_default/tag.scss
Normal file
|
@ -0,0 +1,8 @@
|
|||
.tag-page-title {
|
||||
font-size: 1.4em;
|
||||
}
|
||||
|
||||
.tag-page-subtitle {
|
||||
font-size: 1em;
|
||||
margin-block: 1em;
|
||||
}
|
26
assets/scss/layouts/_default/tags.scss
Normal file
|
@ -0,0 +1,26 @@
|
|||
.list-of-all-tags {
|
||||
list-style: none;
|
||||
display: grid;
|
||||
gap: 1em;
|
||||
li {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 5ch;
|
||||
grid-template-areas: "tag num";
|
||||
gap: 1em;
|
||||
max-width: 30ch;
|
||||
a {
|
||||
grid-area: tag;
|
||||
justify-self: start;
|
||||
}
|
||||
span {
|
||||
grid-area: num;
|
||||
justify-self: end;
|
||||
}
|
||||
}
|
||||
a:before {
|
||||
content: '#';
|
||||
}
|
||||
a {
|
||||
color: #777;
|
||||
}
|
||||
}
|
43
assets/scss/layouts/partials/albums-list.scss
Normal file
|
@ -0,0 +1,43 @@
|
|||
.albums-list {
|
||||
list-style: none;
|
||||
a {
|
||||
color: inherit;
|
||||
text-decoration: none;
|
||||
}
|
||||
max-width: var(--list-max-width, 60rem);
|
||||
}
|
||||
|
||||
.album {
|
||||
a {display: contents;}
|
||||
@media (min-width: 60rem) {
|
||||
display: grid;
|
||||
grid-template-areas: "cover details";
|
||||
grid-template-columns: 1fr 1fr;
|
||||
gap: 1em;
|
||||
}
|
||||
margin-block: 2rem;
|
||||
}
|
||||
|
||||
.album-cover {
|
||||
display: block;
|
||||
max-width: 100%;
|
||||
max-height: 80vh;
|
||||
margin-inline: auto;
|
||||
grid-area: cover;
|
||||
}
|
||||
|
||||
.album-details {
|
||||
grid-area: details;
|
||||
}
|
||||
|
||||
.album-title {
|
||||
margin-block-start: 1em;
|
||||
margin-block-end: 0.5em;
|
||||
font-weight: bold;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.album-summary {
|
||||
font-style: italic;
|
||||
text-align: center;
|
||||
}
|
21
assets/scss/layouts/partials/photos-grid.scss
Normal file
|
@ -0,0 +1,21 @@
|
|||
.photos-grid {
|
||||
list-style: none;
|
||||
a {
|
||||
color: inherit;
|
||||
text-decoration: none;
|
||||
display: contents;
|
||||
}
|
||||
max-width: var(--list-max-width, 60rem);
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fill, minmax(var(--photo-grid-item-size, 20rem), 1fr));
|
||||
gap: var(--photo-grid-gap, 1em);
|
||||
}
|
||||
|
||||
.photos-grid .photo-asset {
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
aspect-ratio: 1;
|
||||
object-fit: cover;
|
||||
object-position: center;
|
||||
}
|
38
assets/scss/layouts/partials/photos-list.scss
Normal file
|
@ -0,0 +1,38 @@
|
|||
.photos-list {
|
||||
list-style: none;
|
||||
a {
|
||||
color: inherit;
|
||||
text-decoration: none;
|
||||
}
|
||||
max-width: var(--photos-list-max-width, 28rem);
|
||||
|
||||
.photo {
|
||||
text-align: center;
|
||||
@media (min-width: 60rem) {
|
||||
display: grid;
|
||||
grid-template-areas: "photo" "details";
|
||||
grid-template-columns: 1fr;
|
||||
grid-template-rows: auto auto;
|
||||
}
|
||||
margin-block: 1rem;
|
||||
}
|
||||
|
||||
.photo-asset {
|
||||
grid-area: photo;
|
||||
display: block;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.photo-details {
|
||||
grid-area: details;
|
||||
padding: 1rem;
|
||||
}
|
||||
|
||||
.photo-title {
|
||||
margin-block-end: 1rem;
|
||||
}
|
||||
|
||||
.photo-summary {
|
||||
font-family: monospace;
|
||||
}
|
||||
}
|
4
assets/scss/layouts/partials/site-footer.scss
Normal file
|
@ -0,0 +1,4 @@
|
|||
.site-footer {
|
||||
padding-block: 2rem;
|
||||
text-align: center;
|
||||
}
|
84
assets/scss/layouts/partials/site-header.scss
Normal file
|
@ -0,0 +1,84 @@
|
|||
.site-header {
|
||||
display: flex;
|
||||
flex-flow: column;
|
||||
align-items: center;
|
||||
gap: 1em;
|
||||
padding-block: 1em;
|
||||
}
|
||||
|
||||
.site-header .masthead {
|
||||
margin-block-start: 1rem;
|
||||
}
|
||||
|
||||
.site-header nav {
|
||||
margin-block: 3rem;
|
||||
}
|
||||
|
||||
.site-header ul {
|
||||
list-style: none;
|
||||
display: flex;
|
||||
flex-flow: column;
|
||||
align-items: center;
|
||||
gap: 1em;
|
||||
li.active {
|
||||
color: gold;
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
||||
|
||||
.site-header nav a {
|
||||
color: inherit;
|
||||
text-decoration: none;
|
||||
svg {
|
||||
width: 0.75em;
|
||||
height: 0.75em;
|
||||
margin-inline-start: 0.5rem;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
.site-header input, .site-header label {
|
||||
display: none;
|
||||
}
|
||||
|
||||
@media (max-width: 40rem) {
|
||||
|
||||
.site-header label {
|
||||
display: unset;
|
||||
svg {
|
||||
width: 2rem;
|
||||
height: 2rem;
|
||||
}
|
||||
}
|
||||
|
||||
.site-header {
|
||||
display: grid;
|
||||
grid-template-areas:
|
||||
"menu logo ."
|
||||
"navs navs navs";
|
||||
grid-template-columns: 1fr auto 1fr;
|
||||
|
||||
.menu-icon {
|
||||
grid-area: menu;
|
||||
margin-left: 2rem;
|
||||
margin-top: 1rem;
|
||||
}
|
||||
.masthead {
|
||||
grid-area: logo;
|
||||
}
|
||||
.navs {
|
||||
grid-area: navs;
|
||||
}
|
||||
}
|
||||
|
||||
.site-header .navs {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.menu-btn:checked ~ .navs {
|
||||
display: unset;
|
||||
}
|
||||
|
||||
}
|
20
assets/scss/main.scss
Normal file
|
@ -0,0 +1,20 @@
|
|||
@import "base/variables.scss";
|
||||
@import "base/layout.scss";
|
||||
@import "base/colors.scss";
|
||||
|
||||
@import "layouts/partials/site-header.scss";
|
||||
@import "layouts/partials/site-footer.scss";
|
||||
|
||||
@import "layouts/_default/single.scss";
|
||||
|
||||
@import "layouts/_default/all-photos.scss";
|
||||
@import "layouts/_default/albums.scss";
|
||||
@import "layouts/_default/tags.scss";
|
||||
|
||||
@import "layouts/_default/tag.scss";
|
||||
@import "layouts/_default/event.scss";
|
||||
@import "layouts/_default/photo.scss";
|
||||
|
||||
@import "layouts/partials/albums-list.scss";
|
||||
@import "layouts/partials/photos-list.scss";
|
||||
@import "layouts/partials/photos-grid.scss";
|
3
content/_index.md
Normal file
|
@ -0,0 +1,3 @@
|
|||
+++
|
||||
title = "Home"
|
||||
+++
|
51
content/albums/2014-09-16/_index.md
Normal file
|
@ -0,0 +1,51 @@
|
|||
+++
|
||||
# Internal stuff
|
||||
layout = "event"
|
||||
aliases = [
|
||||
"/albums/balancebirmingham",
|
||||
]
|
||||
featured_asset = "**/IMAG0045.jpg"
|
||||
|
||||
# Basic metadata
|
||||
title = "The Things We Think We're Missing"
|
||||
summary = "Balance and Composure (w/ CREEPOID, Seahaven) - 2014/09/16 @ Zydeco, Birmingham, AL"
|
||||
|
||||
# Taxonomy
|
||||
categories = ["Concert"]
|
||||
tags = [
|
||||
"balancebirmingham",
|
||||
"zydeco",
|
||||
"birmingham al",
|
||||
"balance and composure",
|
||||
"seahaven",
|
||||
"creepoid",
|
||||
]
|
||||
|
||||
# Event metadata
|
||||
date = "2014-09-16T19:00:00-0500"
|
||||
|
||||
[location]
|
||||
name = "Zydeco"
|
||||
url = "https://zydecobirmingham.com"
|
||||
latitude = "33.4973328"
|
||||
longitude = "-86.7930727"
|
||||
altitude = "15"
|
||||
street-address = "2001 15th Ave S"
|
||||
locality = "Birmingham, Alabama"
|
||||
postal-code = "35205"
|
||||
country-name = "USA"
|
||||
|
||||
[[openers]]
|
||||
name = "CREEPOID"
|
||||
url = "https://creepoid.bandcamp.com"
|
||||
|
||||
[[openers]]
|
||||
name = "Seahaven"
|
||||
url = "https://www.facebook.com/welcometoseahaven"
|
||||
|
||||
[[headliners]]
|
||||
name = "Balance & Composure"
|
||||
url = "https://www.balanceandcomp.com"
|
||||
+++
|
||||
|
||||
my first concert.
|
49
content/albums/2014-10-21/_index.md
Normal file
|
@ -0,0 +1,49 @@
|
|||
+++
|
||||
# Internal stuff
|
||||
layout = "event"
|
||||
aliases = [
|
||||
"/albums/sumus-ubique",
|
||||
]
|
||||
featured_asset = "**/IMG-1594.jpg"
|
||||
|
||||
# Basic metadata
|
||||
title = "Sumus Ubique"
|
||||
summary = "Brand New (w/ Foxing, Cymbals Eat Guitars) - 2014/10/21 @ Iron City, Birmingham, AL"
|
||||
|
||||
# Taxonomy
|
||||
categories = ["Concert"]
|
||||
tags = [
|
||||
"sumus ubique",
|
||||
"iron city",
|
||||
"birmingham al",
|
||||
"brand new",
|
||||
"foxing",
|
||||
"cymbals eat guitars",
|
||||
]
|
||||
|
||||
# Event metadata
|
||||
date = "2014-10-21T19:00:00-0500"
|
||||
|
||||
[location]
|
||||
name = "Iron City"
|
||||
url = "https://ironcitybham.com"
|
||||
latitude = "33.5088971"
|
||||
longitude = "-86.7980653"
|
||||
altitude = "15"
|
||||
street-address = "513 22nd St S"
|
||||
locality = "Birmingham, Alabama"
|
||||
postal-code = "35233"
|
||||
country-name = "USA"
|
||||
|
||||
[[openers]]
|
||||
name = "Foxing"
|
||||
url = "https://foxingtheband.com"
|
||||
|
||||
[[openers]]
|
||||
name = "Cymbals Eat Guitars"
|
||||
url = "https://cymbalseatguitars.bandcamp.com"
|
||||
|
||||
[[headliners]]
|
||||
name = "Brand New"
|
||||
url = "https://www.fightoffyourdemons.com"
|
||||
+++
|
4
content/albums/_index.md
Normal file
|
@ -0,0 +1,4 @@
|
|||
+++
|
||||
layout = "albums"
|
||||
title = "concerts i've been to, in chronological order"
|
||||
+++
|
4
content/categories/_index.md
Normal file
|
@ -0,0 +1,4 @@
|
|||
+++
|
||||
title = "Categories of photos"
|
||||
summary = "Different types of photos I've taken"
|
||||
+++
|
5
content/favorites/_index.md
Normal file
|
@ -0,0 +1,5 @@
|
|||
+++
|
||||
layout = "favorites"
|
||||
title = "favorites"
|
||||
summary = "some of the best photos i've taken"
|
||||
+++
|
24
content/info.md
Normal file
|
@ -0,0 +1,24 @@
|
|||
+++
|
||||
title = "info"
|
||||
summary = "birdsounds.media is the creative arm of trwnh and an archive of concert media for general appreciation."
|
||||
+++
|
||||
|
||||
birdsounds.media is the creative arm of trwnh and an archive of concert media for general appreciation.
|
||||
|
||||
## support
|
||||
|
||||
if you appreciate any of what you see here, you can show your appreciation by backing me as a patron on [liberapay.com/trwnh](https://liberapay.com/trwnh) or on [patreon.com/trwnh](https://patreon.com/trwnh).
|
||||
|
||||
or you can donate directly via paypal (tarawneh.abdullah@gmail.com, friends and family -- maybe via [paypal/me/obvious_humor](https://paypal.me/obvious_humor)).
|
||||
|
||||
or if you shop via amazon, then you can use my affiliate link so that i get paid a small fraction of anything you buy: [https://amzn.to/2rydvvC](https://amzn.to/2rydvvC)
|
||||
|
||||
## booking
|
||||
|
||||
if you would like to book my services to photograph a concert, event, or miscellaneous subject, please contact me at **a@trwnh.com**
|
||||
|
||||
i am available in the birmingham, al area, but am willing to travel to other areas if travel costs are covered.
|
||||
|
||||
## prints and merch
|
||||
|
||||
you can buy prints of select photos as wall art, apparel, and much more via [society6.com/trwnh](https://society6.com/trwnh) -- however, if you would like to order a print of a photo that is not available on society6, please contact me at **a@trwnh.com** and i can add your requested photo to society6 for on-demand ordering.
|
27
content/photos/2014-09-16_21-50-06.md
Normal file
|
@ -0,0 +1,27 @@
|
|||
+++
|
||||
# Internal stuff
|
||||
layout = "photo"
|
||||
aliases = [
|
||||
"/albums/balancebirmingham/content/galena",
|
||||
"/content/galena",
|
||||
]
|
||||
photo_asset = "**/IMG-1311.jpg"
|
||||
date = "2014-09-16T21:50:06-0500"
|
||||
|
||||
# Basic metadata
|
||||
title = "galena"
|
||||
summary = "your breathing gets shorter, your hands are getting cold, but you can't die here; you're only nineteen years old."
|
||||
alt = "jon simmons is swinging a guitar and singing into a microphone, his mouth open wide as if out of breath. the picture is edited to be grainy and slightly washed out, with a cooler color temperature."
|
||||
|
||||
# Taxonomy
|
||||
albums = ["2014-09-16"]
|
||||
categories = ["Concert"]
|
||||
tags = [
|
||||
"balance and composure",
|
||||
"balancebirmingham",
|
||||
"birmingham al",
|
||||
"zydeco",
|
||||
"jon simmons",
|
||||
]
|
||||
reels = []
|
||||
+++
|
28
content/photos/2014-09-16_22-02-35.md
Normal file
|
@ -0,0 +1,28 @@
|
|||
+++
|
||||
# Internal stuff
|
||||
layout = "photo"
|
||||
aliases = [
|
||||
"/albums/balancebirmingham/content/keepsake",
|
||||
"/content/keepsake",
|
||||
"/favorites/keepsake",
|
||||
]
|
||||
photo_asset = "**/IMAG0045.jpg"
|
||||
date = "2014-09-16T22:02:35-0500"
|
||||
|
||||
# Basic metadata
|
||||
title = "keepsake"
|
||||
summary = "paint a portrait of this scene that is acting out a dream"
|
||||
alt = "a mobile photo of a band playing music, where bright blue floodlights are peaking the image to give it a dreamy blurry watercolor look. the edges of the photo are faded to white to give the appearance of a picture frame."
|
||||
|
||||
# Taxonomy
|
||||
albums = ["2014-09-16"]
|
||||
categories = ["Concert"]
|
||||
tags = [
|
||||
"balance and composure",
|
||||
"balancebirmingham",
|
||||
"birmingham al",
|
||||
"zydeco",
|
||||
"jon simmons",
|
||||
]
|
||||
reels = ["favorites"]
|
||||
+++
|
26
content/photos/2014-10-21_21-02-53.md
Normal file
|
@ -0,0 +1,26 @@
|
|||
+++
|
||||
# Internal stuff
|
||||
layout = "photo"
|
||||
aliases = [
|
||||
"/albums/sumus-ubique/content/inuit",
|
||||
"/content/inuit",
|
||||
]
|
||||
photo_asset = "**/IMG-1434.jpg"
|
||||
date = "2014-10-21T21:02:53-0500"
|
||||
|
||||
# Basic metadata
|
||||
title = "inuit"
|
||||
summary = "my brightest love it was more than i shared, it was more than you cared"
|
||||
alt = ""
|
||||
|
||||
# Taxonomy
|
||||
albums = ["2014-10-21"]
|
||||
categories = ["Concert"]
|
||||
tags = [
|
||||
"birmingham al",
|
||||
"iron city",
|
||||
"foxing",
|
||||
"conor murphy",
|
||||
]
|
||||
reels = []
|
||||
+++
|
26
content/photos/2014-10-21_21-19-11.md
Normal file
|
@ -0,0 +1,26 @@
|
|||
+++
|
||||
# Internal stuff
|
||||
layout = "photo"
|
||||
aliases = [
|
||||
"/albums/sumus-ubique/content/rory",
|
||||
"/content/rory",
|
||||
]
|
||||
photo_asset = "**/IMG-1503.jpg"
|
||||
date = "2014-10-21T21:19:11-0500"
|
||||
|
||||
# Basic metadata
|
||||
title = "rory"
|
||||
summary = "i swear i'm a good man, so why don't you love me back?"
|
||||
alt = ""
|
||||
|
||||
# Taxonomy
|
||||
albums = ["2014-10-21"]
|
||||
categories = ["Concert"]
|
||||
tags = [
|
||||
"birmingham al",
|
||||
"iron city",
|
||||
"foxing",
|
||||
"conor murphy",
|
||||
]
|
||||
reels = []
|
||||
+++
|
25
content/photos/2014-10-21_21-44-26.md
Normal file
|
@ -0,0 +1,25 @@
|
|||
+++
|
||||
# Internal stuff
|
||||
layout = "photo"
|
||||
aliases = [
|
||||
"/albums/sumus-ubique/content/cymbals-eat-guitars",
|
||||
"/content/cymbals-eat-guitars",
|
||||
]
|
||||
photo_asset = "**/IMG-1523.jpg"
|
||||
date = "2014-10-21T21:44:26-0500"
|
||||
|
||||
# Basic metadata
|
||||
title = "cymbals eat guitars"
|
||||
summary = ""
|
||||
alt = ""
|
||||
|
||||
# Taxonomy
|
||||
albums = ["2014-10-21"]
|
||||
categories = ["Concert"]
|
||||
tags = [
|
||||
"birmingham al",
|
||||
"iron city",
|
||||
"cymbals eat guitars",
|
||||
]
|
||||
reels = []
|
||||
+++
|
27
content/photos/2014-10-21_23-20-53.md
Normal file
|
@ -0,0 +1,27 @@
|
|||
+++
|
||||
# Internal stuff
|
||||
layout = "photo"
|
||||
aliases = [
|
||||
"/albums/sumus-ubique/content/sowing-season",
|
||||
"/content/sowing-season",
|
||||
"/favorites/sowing-season",
|
||||
]
|
||||
photo_asset = "**/IMG-1594.jpg"
|
||||
date = "2014-10-21T23:20:53-0500"
|
||||
|
||||
# Basic metadata
|
||||
title = "sowing season"
|
||||
summary = "before you put my body in the cold ground, take some time to warm it with your hand"
|
||||
alt = "jesse lacey with his head bowed forward, looking at the ground. a bright orange light flares from behind his hands, illuminating the outline of a guitar and the flower wreath on the microphone stand."
|
||||
|
||||
# Taxonomy
|
||||
albums = ["2014-10-21"]
|
||||
categories = ["Concert"]
|
||||
tags = [
|
||||
"birmingham al",
|
||||
"iron city",
|
||||
"brand new",
|
||||
"jesse lacey",
|
||||
]
|
||||
reels = ["favorites"]
|
||||
+++
|
8
content/photos/_index.md
Normal file
|
@ -0,0 +1,8 @@
|
|||
+++
|
||||
layout = "all-photos"
|
||||
title = "all photos"
|
||||
url = "/"
|
||||
aliases = [
|
||||
"/photos",
|
||||
]
|
||||
+++
|
4
content/tags/_index.md
Normal file
|
@ -0,0 +1,4 @@
|
|||
+++
|
||||
layout = "tags"
|
||||
title = "index of tags"
|
||||
+++
|
75
hugo.toml
Normal file
|
@ -0,0 +1,75 @@
|
|||
baseURL = 'https://birdsounds.media/'
|
||||
languageCode = 'en-us'
|
||||
title = 'birdsounds.media'
|
||||
summary = "you're not awake at all"
|
||||
capitalizeListTitles = false
|
||||
|
||||
|
||||
|
||||
[imaging]
|
||||
quality = 80
|
||||
|
||||
|
||||
|
||||
[markup.goldmark.renderer]
|
||||
unsafe = true
|
||||
|
||||
|
||||
|
||||
[[menus.main]]
|
||||
name = "albums"
|
||||
pageRef = "/albums"
|
||||
weight = 30
|
||||
|
||||
[[menus.main]]
|
||||
name = "all photos"
|
||||
pageRef = "/"
|
||||
weight = 10
|
||||
|
||||
[[menus.main]]
|
||||
name = "favorites"
|
||||
pageRef = "/favorites"
|
||||
weight = 20
|
||||
|
||||
[[menus.main]]
|
||||
name = "tags"
|
||||
pageRef = "/tags"
|
||||
weight = 40
|
||||
|
||||
|
||||
|
||||
[[menus.second]]
|
||||
name = "info"
|
||||
pageRef = "/info"
|
||||
weight = 10
|
||||
|
||||
[[menus.second]]
|
||||
name = "prints/merch"
|
||||
url = "https://society6.com/trwnh"
|
||||
weight = 20
|
||||
|
||||
|
||||
|
||||
[[menus.third]]
|
||||
name = "trwnh.com"
|
||||
url = "https://trwnh.com"
|
||||
weight = 10
|
||||
|
||||
[[menus.third]]
|
||||
name = "social"
|
||||
url = "https://mastodon.social/@trwnh"
|
||||
weight = 20
|
||||
|
||||
|
||||
|
||||
[params.style]
|
||||
site-max-width = "120rem"
|
||||
list-max-width = "60rem"
|
||||
|
||||
|
||||
|
||||
[taxonomies]
|
||||
album = "albums"
|
||||
category = "categories"
|
||||
tag = "tags"
|
||||
reel = "reels"
|
21
layouts/_default/albums.html
Normal file
|
@ -0,0 +1,21 @@
|
|||
{{ define "main" }}
|
||||
{{ if not hugo.IsProduction }}
|
||||
<aside class="development-info">
|
||||
<p>template: albums.html</p>
|
||||
<p>{{debug.Dump .}}</p>
|
||||
<p><br></p>
|
||||
</aside>
|
||||
{{ end }}
|
||||
<main>
|
||||
<header class="section">
|
||||
<div class="container">
|
||||
<h1>{{ .Title }}</h1>
|
||||
</div>
|
||||
</header>
|
||||
<section class="section">
|
||||
<div class="container">
|
||||
{{ partial "albums-list.html" .Data.Pages.Reverse }}
|
||||
</div>
|
||||
</section>
|
||||
</main>
|
||||
{{ end }}
|
18
layouts/_default/all-photos.html
Normal file
|
@ -0,0 +1,18 @@
|
|||
{{ define "main" }}
|
||||
{{ if not hugo.IsProduction }}
|
||||
<aside class="development-info">
|
||||
<p>template: all-photos.html</p>
|
||||
{{debug.Dump .}}
|
||||
</aside>
|
||||
{{ end }}
|
||||
<main>
|
||||
<header class="section">
|
||||
<div class="container">
|
||||
</div>
|
||||
</header>
|
||||
<section class="all-photos">
|
||||
{{ $photos := where .RegularPages "Type" "photos" }}
|
||||
{{ partial "photos-grid.html" $photos }}
|
||||
</section>
|
||||
</main>
|
||||
{{ end }}
|
37
layouts/_default/baseof.html
Normal file
|
@ -0,0 +1,37 @@
|
|||
<!DOCTYPE html>
|
||||
<html
|
||||
lang="{{.Site.Language.Lang }}"
|
||||
xml:lang="{{.Site.Language.Lang }}"
|
||||
prefix="og: http://ogp.me/ns# article: http://ogp.me/ns/article#"
|
||||
>
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
|
||||
{{ with resources.Get "scss/main.scss" }}
|
||||
{{ $options := dict
|
||||
"targetPath" "css/style.css"
|
||||
"transpiler" "libsass"
|
||||
"vars" site.Params.style
|
||||
}}
|
||||
{{ $style := . | toCSS $options | minify | fingerprint }}
|
||||
<link rel="stylesheet" href="{{ $style.RelPermalink }}" integrity="{{ $style.Data.Integrity }}">
|
||||
{{ end }}
|
||||
{{ with resources.Get "js/main.js" }}
|
||||
{{ $js := . | minify | minify | fingerprint }}
|
||||
<script type="text/javascript" src="{{ $js.RelPermalink }}" integrity="{{ $js.Data.Integrity }}"></script>
|
||||
{{ end }}
|
||||
{{ partial "seo.html" . }}
|
||||
{{ block "head" . }}
|
||||
{{ end }}
|
||||
</head>
|
||||
<body>
|
||||
{{ block "body" . }}
|
||||
{{ partial "site-header.html" . }}
|
||||
{{ block "main" . }}
|
||||
{{ end }}
|
||||
{{ partial "site-footer.html" . }}
|
||||
{{ end }}
|
||||
</body>
|
||||
</html>
|
125
layouts/_default/event.html
Normal file
|
@ -0,0 +1,125 @@
|
|||
{{ define "main" }}
|
||||
{{ if not hugo.IsProduction }}
|
||||
<aside class="development-info">
|
||||
<p>template: event.html</p>
|
||||
{{debug.Dump .}}
|
||||
</aside>
|
||||
{{ end }}
|
||||
<main class="event-page">
|
||||
<div class="info">
|
||||
<header class="section event-header">
|
||||
<div class="container">
|
||||
<h1 class="event-title">{{ .Title }}</h1>
|
||||
{{ with .Params.location }}
|
||||
<h2 class="event-subtitle">Venue</h2>
|
||||
<p class="event-location">
|
||||
{{ partial "svg/mdi.map-marker.html" . }}
|
||||
{{ if .url }}
|
||||
<a href="{{ .url }}">
|
||||
<span>
|
||||
{{ .name }}
|
||||
</span>
|
||||
</a>
|
||||
{{ else }} {{/* no url */}}
|
||||
<span>
|
||||
{{ .name }}
|
||||
</span>
|
||||
{{ end }} {{/* url check */}}
|
||||
</p>
|
||||
<p class="event-locality">
|
||||
{{ partial "svg/mdi.map.html" . }}
|
||||
<span>
|
||||
{{ .locality }}, {{ index . "country-name" }}
|
||||
</span>
|
||||
</p>
|
||||
{{ end }} {{/* with location */}}
|
||||
{{ if and .Params.location .Date }}
|
||||
{{ with .Date }}
|
||||
<p class="event-date">
|
||||
{{ partial "svg/mdi.calendar-time.html" . }}
|
||||
<span>
|
||||
<time datetime="{{ .Format " 2006-01-02T15:04:05-0700" }}">{{ .Format "2006-01-02 3:04 PM" }}</time>
|
||||
</span>
|
||||
</p>
|
||||
{{ end }} {{/* with date */}}
|
||||
{{ end }} {{/* event check */}}
|
||||
{{ with .Params.openers }}
|
||||
<h2 class="event-subtitle">Openers</h2>
|
||||
<ul class="event-openers">
|
||||
{{ range . }}
|
||||
<li>
|
||||
{{ partial "svg/mdi.artist.html" . }}
|
||||
{{ if .url }}
|
||||
<a href="{{ .url }}">
|
||||
<span>
|
||||
{{ .name }}
|
||||
</span>
|
||||
</a>
|
||||
{{ else }} {{/* no url */}}
|
||||
<span>
|
||||
{{ .name }}
|
||||
</span>
|
||||
{{ end }} {{/* url */}}
|
||||
</li>
|
||||
{{ end }} {{/* range */}}
|
||||
</ul>
|
||||
{{ end }} {{/* with openers */}}
|
||||
{{ with .Params.headliners }}
|
||||
<h2 class="event-subtitle">Headliners</h2>
|
||||
<ul class="event-headliners">
|
||||
{{ range . }}
|
||||
<li>
|
||||
{{ partial "svg/mdi.artist.html" . }}
|
||||
{{ partial "svg/mdi.star.html" . }}
|
||||
{{ if .url }}
|
||||
<a href="{{ .url }}">
|
||||
<span>
|
||||
{{ .name }}
|
||||
</span>
|
||||
</a>
|
||||
{{ else }} {{/* no url */}}
|
||||
<span>
|
||||
{{ .name }}
|
||||
</span>
|
||||
{{ end }} {{/* url */}}
|
||||
</li>
|
||||
{{ end }} {{/* range */}}
|
||||
</ul>
|
||||
{{ end }} {{/* with headliners */}}
|
||||
</div>
|
||||
</header>
|
||||
{{ with .Content }}
|
||||
<section class="section">
|
||||
<div class="container">
|
||||
<h2 class="event-subtitle">Notes</h2>
|
||||
<div class="event-content">
|
||||
{{ . }}
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
{{ end }}
|
||||
{{ with .Params.tags }}
|
||||
<section class="section">
|
||||
<div class="container">
|
||||
<h2 class="event-subtitle">Tagged with</h2>
|
||||
<ul class="event-tags">
|
||||
{{ range . }}
|
||||
<li>
|
||||
<a href="{{ "/tags/" | relLangURL }}{{ . | urlize }}">
|
||||
#{{.}}
|
||||
</a>
|
||||
</li>
|
||||
{{ end }} {{/* range */}}
|
||||
</ul>
|
||||
</div>
|
||||
</section>
|
||||
{{ end }} {{/* with tags */}}
|
||||
</div>
|
||||
<section class="section photos">
|
||||
<div class="container">
|
||||
<h2 class="event-subtitle">Photos ({{ .Pages.Len }})</h2>
|
||||
{{ partial "photos-grid.html" .Pages.Reverse }}
|
||||
</div>
|
||||
</section>
|
||||
</main>
|
||||
{{ end }}
|
17
layouts/_default/favorites.html
Normal file
|
@ -0,0 +1,17 @@
|
|||
{{ define "main" }}
|
||||
<main>
|
||||
<header class="section">
|
||||
<div class="container">
|
||||
<h1>{{.Title}}</h1>
|
||||
<p>{{.Summary}}</p>
|
||||
</div>
|
||||
</header>
|
||||
<section class="section favorites-reel">
|
||||
<div class="container">
|
||||
{{ $reels := index .Site.Taxonomies "reels" }}
|
||||
{{ $favorites := index $reels "favorites" }}
|
||||
{{ partial "photos-grid.html" $favorites }}
|
||||
</div>
|
||||
</section>
|
||||
</main>
|
||||
{{ end }}
|
26
layouts/_default/list.html
Normal file
|
@ -0,0 +1,26 @@
|
|||
{{ define "main" }}
|
||||
{{ if not hugo.IsProduction }}
|
||||
<aside class="development-info">
|
||||
<p>template: list.html</p>
|
||||
{{debug.Dump .}}
|
||||
</aside>
|
||||
{{ end }}
|
||||
<main>
|
||||
<header>
|
||||
<div class="container">
|
||||
<h1>{{ .Title }}</h1>
|
||||
</div>
|
||||
</header>
|
||||
<section>
|
||||
<div class="container">
|
||||
<ul>
|
||||
{{ range .Pages }}
|
||||
<li>
|
||||
<a href="{{ .Permalink }}">{{ .Title }}</a>
|
||||
</li>
|
||||
{{ end }}
|
||||
</ul>
|
||||
</div>
|
||||
</section>
|
||||
</main>
|
||||
{{ end }}
|
34
layouts/_default/photo.html
Normal file
|
@ -0,0 +1,34 @@
|
|||
{{ define "main" }}
|
||||
{{ if not hugo.IsProduction }}
|
||||
<aside class="development-info">
|
||||
<p>template: photo.html</p>
|
||||
{{debug.Dump .}}
|
||||
</aside>
|
||||
{{ end }}
|
||||
<main class="photo-page">
|
||||
<article class="h-entry photo">
|
||||
<h1 class="p-name title">{{ .Title }}</h1>
|
||||
<p class="p-summary caption">{{ .Summary | markdownify }}</p>
|
||||
{{ partial "photo_asset.html" .}}
|
||||
{{ partial "photo_asset.exif.html" .}}
|
||||
<footer class="section">
|
||||
{{ partial "next-prev-photo-in-album.html" . }}
|
||||
{{ with .Params.tags }}
|
||||
<section class="section">
|
||||
<div class="container">
|
||||
<ul class="tags">
|
||||
{{ range . }}
|
||||
<li>
|
||||
<a href="{{ "/tags/" | relLangURL }}{{ . | urlize }}">
|
||||
#{{.}}
|
||||
</a>
|
||||
</li>
|
||||
{{ end }} {{/* range */}}
|
||||
</ul>
|
||||
</div>
|
||||
</section>
|
||||
{{ end }} {{/* with tags */}}
|
||||
</footer>
|
||||
</article>
|
||||
</main>
|
||||
{{ end }}
|
20
layouts/_default/single.html
Normal file
|
@ -0,0 +1,20 @@
|
|||
{{ define "main" }}
|
||||
{{ if not hugo.IsProduction }}
|
||||
<aside class="development-info">
|
||||
<p>template: single.html</p>
|
||||
{{debug.Dump .}}
|
||||
</aside>
|
||||
{{ end }}
|
||||
<main>
|
||||
<header class="section">
|
||||
<div class="container">
|
||||
<h1>{{.Title}}</h1>
|
||||
</div>
|
||||
</header>
|
||||
<section class="content section">
|
||||
<div class="container">
|
||||
{{ .Content }}
|
||||
</div>
|
||||
</section>
|
||||
</main>
|
||||
{{ end }}
|
29
layouts/_default/tag.html
Normal file
|
@ -0,0 +1,29 @@
|
|||
{{ define "main" }}
|
||||
{{ if not hugo.IsProduction }}
|
||||
<aside class="development-info">
|
||||
<p>template: tag.html</p>
|
||||
{{ debug.Dump . }}
|
||||
</aside>
|
||||
{{ end }}
|
||||
<main>
|
||||
<header class="section">
|
||||
<div class="container">
|
||||
<h1 class="tag-page-title">tagged with #{{ .Title }}</h1>
|
||||
</div>
|
||||
</header>
|
||||
<section class="section">
|
||||
<div class="container">
|
||||
{{ $album_pages := where .Pages "Type" "albums" }}
|
||||
<h2 class="tag-page-subtitle">Albums ({{ $album_pages.Len }})</h2>
|
||||
{{ partial "albums-list.html" $album_pages}}
|
||||
</div>
|
||||
</section>
|
||||
<section class="section">
|
||||
<div class="container">
|
||||
{{ $photo_pages := where .Pages "Type" "photos"}}
|
||||
<h2 class="tag-page-subtitle">Photos ({{ $photo_pages.Len }})</h2>
|
||||
{{ partial "photos-list.html" $photo_pages }}
|
||||
</div>
|
||||
</section>
|
||||
</main>
|
||||
{{ end }}
|
28
layouts/_default/tags.html
Normal file
|
@ -0,0 +1,28 @@
|
|||
{{ define "main" }}
|
||||
{{ if not hugo.IsProduction }}
|
||||
<aside class="development-info">
|
||||
<p>template: tags.html</p>
|
||||
<p>{{debug.Dump .}}</p>
|
||||
<p><br></p>
|
||||
</aside>
|
||||
{{ end }}
|
||||
<main>
|
||||
<header class="page-header section">
|
||||
<div class="container">
|
||||
<h1>{{ .Title }}</h1>
|
||||
</div>
|
||||
</header>
|
||||
<section class="section">
|
||||
<div class="container">
|
||||
<ul class="list-of-all-tags">
|
||||
{{ range .Data.Terms.ByCount }}
|
||||
<li>
|
||||
<a href="{{ .Page.Permalink }}">{{ .Name }}</a>
|
||||
<span>{{ .Count }}</span>
|
||||
</li>
|
||||
{{end}}
|
||||
</ul>
|
||||
</div>
|
||||
</section>
|
||||
</main>
|
||||
{{ end }}
|
32
layouts/partials/albums-list.html
Normal file
|
@ -0,0 +1,32 @@
|
|||
<ul class="albums-list">
|
||||
{{ range . }}
|
||||
<li>
|
||||
{{ $album_title := .Title }}
|
||||
{{ $album_permalink := .Permalink }}
|
||||
{{ $page := . }}
|
||||
<figure class="album">
|
||||
{{ with resources.GetMatch .Params.featured_asset }}
|
||||
|
||||
|
||||
{{/*
|
||||
1280px (80rem) = 640
|
||||
*/}}
|
||||
|
||||
{{ $smallw := default "640x webp Lanczos" }}
|
||||
|
||||
{{ $page.Scratch.Set "small" (.Resize $smallw) }}
|
||||
|
||||
{{ $small := $page.Scratch.Get "small" }}
|
||||
|
||||
<a href="{{ $album_permalink }}">
|
||||
<img class="album-cover" src="{{ $small.Permalink }}" alt="{{ $album_title }}" title="{{ $album_title }}">
|
||||
</a>
|
||||
{{ end }}
|
||||
<figcaption class="album-details">
|
||||
<p class="album-title"><a href="{{ .Permalink }}">{{ .Title }}</a></p>
|
||||
<p class="album-summary">{{ .Summary }}</p>
|
||||
</figcaption>
|
||||
</figure>
|
||||
</li>
|
||||
{{end}}
|
||||
</ul>
|
16
layouts/partials/name.html
Normal file
|
@ -0,0 +1,16 @@
|
|||
{{ $firstH1 :=
|
||||
(
|
||||
substr
|
||||
(
|
||||
delimit
|
||||
(
|
||||
findRE
|
||||
"^#{1} ([^{\n]+)"
|
||||
.RawContent
|
||||
1
|
||||
)
|
||||
""
|
||||
)
|
||||
2
|
||||
)
|
||||
}}
|
43
layouts/partials/next-prev-photo-in-album.html
Normal file
|
@ -0,0 +1,43 @@
|
|||
{{ range (.GetTerms "albums") }}
|
||||
<!-- Get next page -->
|
||||
{{ $pageReached := false }}
|
||||
{{ $next := false }}
|
||||
{{ range .Pages.Reverse }}
|
||||
{{ if not $next}}
|
||||
{{ if $pageReached }}
|
||||
{{ $next = . }}
|
||||
{{ else if eq .Permalink $.Permalink }}
|
||||
{{ $pageReached = true}}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
<!-- Get previous page -->
|
||||
{{ $pageReached = false }}
|
||||
{{ $prev := false }}
|
||||
{{ range .Pages }}
|
||||
{{ if not $prev}}
|
||||
{{ if $pageReached }}
|
||||
{{ $prev = . }}
|
||||
{{ else if eq .Permalink $.Permalink }}
|
||||
{{ $pageReached = true}}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
<!-- Print album info -->
|
||||
<nav class="album-nav">
|
||||
<header>
|
||||
<h2>Part of an album:</h2>
|
||||
<a href="{{ .Permalink }}">{{ .LinkTitle }}</a>
|
||||
</header>
|
||||
<div class="nav-buttons">
|
||||
{{ if $prev }}
|
||||
<a href="{{ $prev.Permalink }}">← previous</a>
|
||||
{{ end }}
|
||||
{{ if $next }}
|
||||
<a href="{{ $next.Permalink }}">next →</a>
|
||||
{{ end }}
|
||||
</div>
|
||||
</nav>
|
||||
{{ end }}
|
30
layouts/partials/photo_asset.exif.html
Normal file
|
@ -0,0 +1,30 @@
|
|||
{{ with resources.GetMatch .Params.photo_asset }}
|
||||
{{ with .Exif }}
|
||||
<dl class="exif metadata">
|
||||
{{ with .Date }}
|
||||
<dt class="date">Captured</dt>
|
||||
<dd class=""><time datetime="{{ .Format "2006-01-02T15:04:05-0700" }}">{{ . | time.Format ":date_full" }}<br>{{ . | time.Format ":time_full" }}</time></dd>
|
||||
{{ end }}
|
||||
{{ with .Tags }}
|
||||
{{ with .FNumber }}
|
||||
<dt>Aperture</dt>
|
||||
<dd>f/{{ . }}</dd>
|
||||
{{ end }}
|
||||
{{ with .ExposureTime }}
|
||||
<dt>Exposure</dt>
|
||||
<dd>{{ . }} s</dd>
|
||||
{{ end }}
|
||||
{{ with .ISOSpeedRatings }}
|
||||
<dt>ISO</dt>
|
||||
<dd>{{ . }}</dd>
|
||||
{{ end }}
|
||||
{{ with .Model }}
|
||||
<dt>Model</dt>
|
||||
<dd>{{ . }}</dd>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
</dl>
|
||||
{{ end }}
|
||||
{{ end }} {{/* with asset */}}
|
||||
|
||||
|
29
layouts/partials/photo_asset.html
Normal file
|
@ -0,0 +1,29 @@
|
|||
{{ $alt := or .Params.alt .Title "image" }}
|
||||
|
||||
{{ with resources.GetMatch .Params.photo_asset }}
|
||||
|
||||
{{/*
|
||||
1280px (80rem) = 640,
|
||||
1600px (100rem) = 960,
|
||||
1920px (120rem) = 1280
|
||||
*/}}
|
||||
|
||||
{{ $smallw := default "640x webp Lanczos" }}
|
||||
{{ $mediumw := default "960x webp Lanczos" }}
|
||||
{{ $largew := default "1280x webp Lanczos" }}
|
||||
|
||||
{{ $.Scratch.Set "small" (.Resize $smallw) }}
|
||||
{{ $.Scratch.Set "medium" (.Resize $mediumw) }}
|
||||
{{ $.Scratch.Set "large" (.Resize $largew) }}
|
||||
|
||||
{{ $small := $.Scratch.Get "small" }}
|
||||
{{ $medium := $.Scratch.Get "medium" }}
|
||||
{{ $large := $.Scratch.Get "large" }}
|
||||
|
||||
<picture>
|
||||
<source media="(max-width: 80rem)" srcset="{{ $small.Permalink }}" />
|
||||
<source media="(max-width: 100rem)" srcset="{{ $medium.Permalink }}" />
|
||||
<img src="{{ $large.Permalink }}" alt="{{ $alt }}" title="{{ $alt }}">
|
||||
</picture>
|
||||
|
||||
{{ end }} {{/* with asset */}}
|
21
layouts/partials/photos-grid.html
Normal file
|
@ -0,0 +1,21 @@
|
|||
<ul class="photos-grid">
|
||||
{{ range . }}
|
||||
<li>
|
||||
<a href="{{ .Permalink }}">
|
||||
{{ $page := . }}
|
||||
{{ $alt := or .Title "image" }}
|
||||
{{ with resources.GetMatch .Params.photo_asset}}
|
||||
|
||||
{{ $tinyw := default "480x webp Lanczos" }}
|
||||
|
||||
{{ $page.Scratch.Set "tiny" (.Resize $tinyw) }}
|
||||
|
||||
{{ $tiny := $page.Scratch.Get "tiny" }}
|
||||
|
||||
<img class="photo-asset" src="{{ $tiny.Permalink }}" alt="{{ $alt }}" title="{{ $alt }}">
|
||||
|
||||
{{ end }}
|
||||
</a>
|
||||
</li>
|
||||
{{end}}
|
||||
</ul>
|
36
layouts/partials/photos-list.html
Normal file
|
@ -0,0 +1,36 @@
|
|||
<ul class="photos-list">
|
||||
{{ range . }}
|
||||
<li>
|
||||
<a href="{{ .Permalink }}">
|
||||
{{ $page := . }}
|
||||
{{ $alt := or .Title "image" }}
|
||||
<figure class="photo">
|
||||
{{ with resources.GetMatch .Params.photo_asset}}
|
||||
|
||||
{{ $smallw := default "640x webp Lanczos" }}
|
||||
{{ $mediumw := default "960x webp Lanczos" }}
|
||||
{{ $largew := default "1280x webp Lanczos" }}
|
||||
|
||||
{{ $page.Scratch.Set "small" (.Resize $smallw) }}
|
||||
{{ $page.Scratch.Set "medium" (.Resize $mediumw) }}
|
||||
{{ $page.Scratch.Set "large" (.Resize $largew) }}
|
||||
|
||||
{{ $small := $page.Scratch.Get "small" }}
|
||||
{{ $medium := $page.Scratch.Get "medium" }}
|
||||
{{ $large := $page.Scratch.Get "large" }}
|
||||
|
||||
<picture>
|
||||
<source media="(max-width: 80rem)" srcset="{{ $small.Permalink }}" />
|
||||
<source media="(max-width: 100rem)" srcset="{{ $medium.Permalink }}" />
|
||||
<img class="photo-asset" src="{{ $large.Permalink }}" alt="{{ $alt }}" title="{{ $alt }}">
|
||||
</picture>
|
||||
{{ end }}
|
||||
<figcaption class="photo-details">
|
||||
<p class="photo-title">{{ .Title }}</p>
|
||||
<p class="photo-summary">{{ .Summary }}</p>
|
||||
</figcaption>
|
||||
</figure>
|
||||
</a>
|
||||
</li>
|
||||
{{end}}
|
||||
</ul>
|
154
layouts/partials/seo.html
Normal file
|
@ -0,0 +1,154 @@
|
|||
{{- $firstH1 := partial "name.html" . }}
|
||||
{{- $title := or .Title $firstH1 $.File.ContentBaseName }}
|
||||
|
||||
{{- $cover := ($.Resources.ByType "image").GetMatch "{*opengraph*}" -}}
|
||||
{{ $icon := resources.GetMatch (default "" .Site.Params.icon) -}}
|
||||
|
||||
{{/*=== title ===*/}}
|
||||
{{ "<!-- text -->" | safeHTML }}
|
||||
{{- with .Site.Title }}
|
||||
<meta name="application-name" property="og:site_name" content="{{ . }}" />
|
||||
{{- end -}}
|
||||
{{- if .IsHome}}
|
||||
{{- with or .Params.name .Site.Title }}
|
||||
<title>{{ . }}</title>
|
||||
<meta property="og:title" name="twitter:title" itemprop="name" content="{{ . }}" />
|
||||
{{- end }}
|
||||
{{- else }}
|
||||
<title>{{ or .Params.name (print $title " - " .Site.Title) }}</title>
|
||||
<meta property="og:title" name="twitter:title" itemprop="name" content="{{ or .Params.name $title }}" />
|
||||
{{- end -}}
|
||||
|
||||
{{/*=== description ===*/}}
|
||||
{{- with or .Description .Summary .Site.Params.description }}
|
||||
<meta name="description" itemprop="description" property="og:description" content="{{ . }}" />
|
||||
<meta name="twitter:description" content="{{ . }}" />
|
||||
{{- end }}
|
||||
{{ "<!-- url -->" | safeHTML }}
|
||||
{{- with .Permalink | absURL}}
|
||||
<base href="{{ . }}" />
|
||||
<link rel="canonical" href="{{ or $.Params.canonical . }}" />
|
||||
<meta name="url" property="og:url" itemprop="url" content="{{ . }}" />
|
||||
<meta name="twitter:url" content="{{ . }}" />
|
||||
{{- end -}}
|
||||
|
||||
{{/*=== image ===*/}}
|
||||
{{- $staticIcon := "icon.png" | absURL -}}
|
||||
{{- with or $cover $icon }}
|
||||
{{ "<!-- image -->" | safeHTML }}
|
||||
<meta property="og:image" itemprop="image" content="{{ .Permalink | absURL }}" />
|
||||
{{- with .Width }}
|
||||
<meta property="og:image:width" content="{{ . }}" />
|
||||
{{- end }}
|
||||
{{- with .Height }}
|
||||
<meta property="og:image:height" content="{{ . }}" />
|
||||
{{- end }}
|
||||
<meta name="twitter:image" content="{{ .Permalink | absURL }}" />
|
||||
<meta name="twitter:image:src" content="{{ .Permalink | absURL }}" />
|
||||
{{- else }}
|
||||
{{ "<!-- image -->" | safeHTML }}
|
||||
<meta property="og:image" itemprop="image" content="{{ $staticIcon }}" />
|
||||
<meta name="twitter:image" content="{{ $staticIcon }}" />
|
||||
<meta name="twitter:image:src" content="{{ $staticIcon }}" />
|
||||
{{- end -}}
|
||||
|
||||
{{/*=== extra params? ===*/}}
|
||||
{{- with .Params.audio }}<meta property="og:audio" content="{{ . }}" />{{ end }}
|
||||
{{- with .Params.locale }}<meta property="og:locale" content="{{ . }}" />{{ end }}
|
||||
{{- with .Params.videos }}{{- range . }}
|
||||
<meta property="og:video" content="{{ . | absURL }}" />
|
||||
{{ end }}{{ end }}
|
||||
|
||||
{{/*=== article ===*/}}
|
||||
{{ with or .Params.author .Site.Params.author -}}
|
||||
{{ "<!-- author -->" | safeHTML }}
|
||||
<meta name="author" property="article:author" content="{{ . }}" />
|
||||
{{- end }}
|
||||
<meta property="article:publisher" content="{{ .Site.BaseURL }}" />
|
||||
{{ "<!-- time -->" | safeHTML }}
|
||||
{{ with .Date -}}
|
||||
<meta property="article:published_time" itemprop="datePublished" content={{ .Format "2006-01-02T03:04:05Z" | safeHTML }} />
|
||||
{{ end -}}
|
||||
{{ with .Lastmod -}}
|
||||
<meta property="article:modified_time" itemprop="dateModified" content={{ .Format "2006-01-02T03:04:05Z" | safeHTML }} />
|
||||
{{ end -}}
|
||||
|
||||
{{/*=== section and keywords ===*/}}
|
||||
{{- "<!-- keywords -->" | safeHTML }}
|
||||
{{ with.Params.category -}}
|
||||
<meta property="article:section" content="{{ . }}" />
|
||||
{{- end -}}
|
||||
{{- with .Params.tags }}
|
||||
<meta property="article:tag" itemprop="keywords" name="keywords" content='{{ delimit . " "}}' />
|
||||
{{- end -}}
|
||||
|
||||
{{- if isset .Params "date" }}
|
||||
{{ "<!-- article metadata -->" | safeHTML }}
|
||||
<meta property="og:type" content="article" />
|
||||
<meta itemprop="wordCount" content="{{ .WordCount }}" />
|
||||
<script defer type="application/ld+json">
|
||||
{
|
||||
"@context": "http://schema.org",
|
||||
"@type": "Article",
|
||||
"headline": {{ $title }},
|
||||
"author": {
|
||||
"@type": "Person",
|
||||
"name": {{ or .Params.author .Site.Params.author }},
|
||||
"url": {{ .Site.BaseURL }}
|
||||
},
|
||||
"datePublished": {{ .Date.UTC.Format "2006-01-02T03:04:05Z" }},
|
||||
"description": {{ (or .Description .Summary) | plainify }},
|
||||
"wordCount": {{ .WordCount }},
|
||||
"mainEntityOfPage": {{.Permalink}},
|
||||
"dateModified": "{{ .Lastmod.UTC.Format "2006-01-02T03:04:05Z" }}",
|
||||
"image": {
|
||||
"@type": "ImageObject",
|
||||
"url": {{ with or $cover $icon }}{{ .Permalink | absURL }}{{ end }}
|
||||
},
|
||||
"publisher": {
|
||||
"@type": "WebSite",
|
||||
"name": {{ .Site.Title }},
|
||||
"url": {{ .Site.BaseURL }},
|
||||
"image": {
|
||||
"@type": "ImageObject",
|
||||
"url": {{with $icon}}{{.Permalink}}{{else}}{{$staticIcon}}{{end}}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
{{- else }}
|
||||
{{ "<!-- webpage metadata -->" | safeHTML }}
|
||||
<meta property="og:type" content="website" />
|
||||
<script defer type="application/ld+json">
|
||||
{
|
||||
"@context": "http://schema.org",
|
||||
"@type": "WebPage",
|
||||
"name": {{ .Title }},
|
||||
"url": {{ .Permalink }},
|
||||
"description": {{ (or .Description .Summary) | plainify }},
|
||||
"image": {
|
||||
"@type": "ImageObject",
|
||||
"url": {{with $icon}}{{.Permalink}}{{else}}{{$staticIcon}}{{end}}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
{{- end -}}
|
||||
|
||||
{{/* auxiliary info */}}
|
||||
{{ "<!-- site presentation -->" | safeHTML }}
|
||||
{{ with $icon }}
|
||||
<link rel="shortcut icon" href='{{ .Permalink }}' sizes="{{.Width}}x{{.Height}}" />
|
||||
{{- else -}}
|
||||
<link rel="shortcut icon" href='{{ $staticIcon }}' sizes="512x512" />
|
||||
{{- end }}
|
||||
<meta name="theme-color" content="#ffffff" />
|
||||
<meta name="msapplication-TileColor" content="#ffffff" />
|
||||
<link rel="sitemap" type="application/xml" title="Sitemap" href="{{ .Site.BaseURL }}sitemap.xml" />
|
||||
{{ with .OutputFormats.Get "RSS" -}}
|
||||
<link href="{{ .Permalink }}" rel="feed alternate" type="application/rss+xml" title="{{ $.Site.Title }}" />
|
||||
{{- end -}}
|
||||
|
||||
{{/* robots */}}
|
||||
{{ "<!-- robots -->" | safeHTML }}
|
||||
<meta name="robots" content="index,follow" />
|
||||
<meta name="googlebot" content="index,follow" />
|
12
layouts/partials/site-footer.html
Normal file
|
@ -0,0 +1,12 @@
|
|||
<footer class="site-footer" style="color: #aaa">
|
||||
<a href="https://creativecommons.org/licenses/by-nc-sa/4.0/" style="text-decoration: none; color: inherit;">
|
||||
<div>
|
||||
{{ partial "svg/cib.creative-commons.html" . }}
|
||||
{{ partial "svg/cib.creative-commons-by.html" . }}
|
||||
{{ partial "svg/cib.creative-commons-nc.html" . }}
|
||||
{{ partial "svg/cib.creative-commons-sa.html" . }}
|
||||
</div>
|
||||
<p style="text-decoration: underline; display: inline-block">CC BY-NC-SA 4.0</p>
|
||||
</a>
|
||||
<p>birdsounds.media</p>
|
||||
</footer>
|
41
layouts/partials/site-header.html
Normal file
|
@ -0,0 +1,41 @@
|
|||
<header class="site-header">
|
||||
<header class="masthead">
|
||||
<a href="{{ .Site.BaseURL }}">
|
||||
<img src="/koken_y.png" alt="birdsounds.media logo">
|
||||
</a>
|
||||
</header>
|
||||
<input class="menu-btn" type="checkbox" id="menu-btn" name="menu-btn" />
|
||||
<label class="menu-icon" for="menu-btn">
|
||||
{{ partial "svg/mdi.menu.html" . }}
|
||||
</label>
|
||||
<div class="navs">
|
||||
{{ $currentPage := . }}
|
||||
<nav class="main">
|
||||
{{ with .Site.Menus.main }}
|
||||
<ul>
|
||||
{{ range . }}
|
||||
<li class="{{ if $currentPage.IsMenuCurrent "main" .}}active{{ end }}"><a href="{{ or .PageRef .URL }}">{{ .Name }}{{ if not .PageRef }}{{ partial "svg/oi.external-link.html" .}}{{ end }}</a></li>
|
||||
{{ end }}
|
||||
</ul>
|
||||
{{ end }}
|
||||
</nav>
|
||||
<nav class="second">
|
||||
{{ with .Site.Menus.second }}
|
||||
<ul>
|
||||
{{ range . }}
|
||||
<li class="{{ if $currentPage.IsMenuCurrent "second" .}}active{{ end }}"><a href="{{ or .PageRef .URL }}">{{ .Name }}{{ if not .PageRef }}{{ partial "svg/oi.external-link.html" .}}{{ end }}</a></li>
|
||||
{{ end }}
|
||||
</ul>
|
||||
{{ end }}
|
||||
</nav>
|
||||
<nav class="third">
|
||||
{{ with .Site.Menus.third }}
|
||||
<ul>
|
||||
{{ range . }}
|
||||
<li class="{{ if $currentPage.IsMenuCurrent "third" .}}active{{ end }}"><a href="{{ or .PageRef .URL }}">{{ .Name }}{{ if not .PageRef }}{{ partial "svg/oi.external-link.html" .}}{{ end }}</a></li>
|
||||
{{ end }}
|
||||
</ul>
|
||||
{{ end }}
|
||||
</nav>
|
||||
</div>
|
||||
</header>
|
1
layouts/partials/svg/cib.creative-commons-by.html
Normal file
|
@ -0,0 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 32 32"><path fill="currentColor" d="M20.181 12.15v6.338h-1.768v7.531h-4.819v-7.525h-1.769V12.15c0-.275.1-.512.288-.706a.967.967 0 0 1 .706-.294h6.369c.256 0 .488.1.694.294c.194.2.3.431.3.706zm-6.344-3.981c0-1.456.719-2.188 2.156-2.188s2.156.731 2.156 2.188c0 1.438-.719 2.156-2.156 2.156s-2.156-.719-2.156-2.156M15.975.5C24.837.5 31.5 7.381 31.5 16c0 9.194-7.406 15.5-15.525 15.5C7.6 31.5.5 24.656.5 16C.5 7.694 7.044.5 15.975.5m.05 2.794C8.638 3.294 3.294 9.413 3.294 16c0 6.863 5.7 12.675 12.731 12.675c6.45 0 12.675-5.069 12.675-12.675c.006-7.113-5.637-12.706-12.675-12.706"/></svg>
|
After Width: | Height: | Size: 663 B |
1
layouts/partials/svg/cib.creative-commons-nc.html
Normal file
|
@ -0,0 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 32 32"><path fill="currentColor" d="M15.975.5C24.712.5 31.5 7.244 31.5 16c0 9.2-7.406 15.5-15.525 15.5C7.569 31.5.5 24.575.5 16C.5 7.694 7.044.5 15.975.5M3.988 11.819c-.463 1.275-.694 2.669-.694 4.181c0 6.931 5.756 12.65 12.731 12.65c7.65 0 11.075-6.362 11.156-6.506l-5.837-2.6c-.481 2.319-2.575 3.313-4.262 3.463v2.381h-1.8v-2.387c-1.719-.019-3.288-.637-4.706-1.856l2.131-2.156c1.981 1.837 5.4 1.988 5.4-.137a1.2 1.2 0 0 0-.412-.944c-.888-.375-.113-.006-13.706-6.087zm12.037-8.55c-2.4 0-7.025.544-10.656 5.812l5.925 2.656c.625-1.956 2.525-2.681 3.988-2.769V6.587h1.8v2.381c1.419.075 2.712.556 3.875 1.438l-2.019 2.075c-2.669-1.869-5.219-.5-4.375.694c3.337 1.506 2.738 1.238 5.813 2.6l7.944 3.544c.256-1.088.387-2.194.387-3.319c0-3.563-1.238-6.563-3.706-8.994c-2.456-2.494-5.45-3.738-8.975-3.738z"/></svg>
|
After Width: | Height: | Size: 883 B |
1
layouts/partials/svg/cib.creative-commons-sa.html
Normal file
|
@ -0,0 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 32 32"><path fill="currentColor" d="M15.975.5C24.837.5 31.5 7.381 31.5 16c0 9.194-7.406 15.5-15.525 15.5C7.6 31.5.5 24.656.5 16C.5 7.694 7.044.5 15.975.5m.05 2.794C8.638 3.294 3.294 9.413 3.294 16c0 6.863 5.7 12.675 12.731 12.675c6.45 0 12.675-5.069 12.675-12.675c.006-7.113-5.637-12.706-12.675-12.706M9.106 13.813c.813-5.244 5.031-5.981 6.806-5.981c6.237 0 7.969 5.156 7.969 8.387c0 3.975-2.563 8.306-8.056 8.306c-2.431 0-6.194-1.25-6.837-6.063h3.906c.094 1.881 1.225 2.825 3.406 2.825c1.456 0 3.625-1.138 3.625-5.175c0-5.156-3.069-5.038-3.544-5.038c-2.069 0-3.232.913-3.488 2.738h1.137l-3.075 3.075l-3.063-3.075z"/></svg>
|
After Width: | Height: | Size: 701 B |
1
layouts/partials/svg/cib.creative-commons.html
Normal file
|
@ -0,0 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 32 32"><path fill="currentColor" d="m15.864 13.429l-2.076 1.08c-.589-1.224-1.577-1.246-1.716-1.246c-1.383 0-2.076.913-2.076 2.74c0 1.473.576 2.74 2.076 2.74c.905 0 1.541-.443 1.911-1.329l1.909.969c-.386.719-1.606 2.436-4.069 2.436c-1.413 0-4.623-.645-4.623-4.816c0-3.668 2.687-4.816 4.539-4.816c1.92-.001 3.294.747 4.124 2.241zm8.941 0l-2.049 1.08c-.594-1.236-1.608-1.246-1.744-1.246c-1.384 0-2.076.913-2.076 2.74c0 1.472.577 2.74 2.076 2.74c.903 0 1.541-.443 1.909-1.329l1.938.969c-.131.234-1.337 2.436-4.068 2.436c-1.418 0-4.622-.617-4.622-4.816c0-3.667 2.686-4.816 4.539-4.816c1.919-.001 3.286.747 4.097 2.241zM15.972.503C7.046.503.5 7.694.5 16.003c0 8.656 7.1 15.5 15.472 15.5c8.121 0 15.528-6.304 15.528-15.5c0-8.617-6.664-15.5-15.528-15.5m.055 28.176c-7.034 0-12.731-5.815-12.731-12.676c0-6.589 5.339-12.704 12.732-12.704c7.033 0 12.676 5.591 12.676 12.704c0 7.606-6.23 12.676-12.678 12.676z"/></svg>
|
After Width: | Height: | Size: 984 B |
1
layouts/partials/svg/mdi.artist.html
Normal file
|
@ -0,0 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24"><path fill="currentColor" d="M11 14c1 0 2.05.16 3.2.44c-.81.87-1.2 1.89-1.2 3.06c0 .89.25 1.73.78 2.5H3v-2c0-1.19.91-2.15 2.74-2.88C7.57 14.38 9.33 14 11 14m0-2c-1.08 0-2-.39-2.82-1.17C7.38 10.05 7 9.11 7 8c0-1.08.38-2 1.18-2.82C9 4.38 9.92 4 11 4c1.11 0 2.05.38 2.83 1.18C14.61 6 15 6.92 15 8c0 1.11-.39 2.05-1.17 2.83S12.11 12 11 12m7.5-2H22v2h-2v5.5a2.5 2.5 0 0 1-2.5 2.5a2.5 2.5 0 0 1-2.5-2.5a2.5 2.5 0 0 1 2.5-2.5c.36 0 .69.07 1 .21z"/></svg>
|
After Width: | Height: | Size: 532 B |
1
layouts/partials/svg/mdi.calendar-time.html
Normal file
|
@ -0,0 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24"><path fill="currentColor" d="M15 13h1.5v2.82l2.44 1.41l-.75 1.3L15 16.69zm4-5H5v11h4.67c-.43-.91-.67-1.93-.67-3a7 7 0 0 1 7-7c1.07 0 2.09.24 3 .67zM5 21a2 2 0 0 1-2-2V5c0-1.11.89-2 2-2h1V1h2v2h8V1h2v2h1a2 2 0 0 1 2 2v6.1c1.24 1.26 2 2.99 2 4.9a7 7 0 0 1-7 7c-1.91 0-3.64-.76-4.9-2zm11-9.85A4.85 4.85 0 0 0 11.15 16c0 2.68 2.17 4.85 4.85 4.85A4.85 4.85 0 0 0 20.85 16c0-2.68-2.17-4.85-4.85-4.85"/></svg>
|
After Width: | Height: | Size: 487 B |
1
layouts/partials/svg/mdi.map-marker.html
Normal file
|
@ -0,0 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24"><path fill="currentColor" d="M12 11.5A2.5 2.5 0 0 1 9.5 9A2.5 2.5 0 0 1 12 6.5A2.5 2.5 0 0 1 14.5 9a2.5 2.5 0 0 1-2.5 2.5M12 2a7 7 0 0 0-7 7c0 5.25 7 13 7 13s7-7.75 7-13a7 7 0 0 0-7-7"/></svg>
|
After Width: | Height: | Size: 277 B |
1
layouts/partials/svg/mdi.map.html
Normal file
|
@ -0,0 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24"><path fill="currentColor" d="m15 19l-6-2.11V5l6 2.11M20.5 3h-.16L15 5.1L9 3L3.36 4.9c-.21.07-.36.25-.36.48V20.5a.5.5 0 0 0 .5.5c.05 0 .11 0 .16-.03L9 18.9l6 2.1l5.64-1.9c.21-.1.36-.25.36-.48V3.5a.5.5 0 0 0-.5-.5"/></svg>
|
After Width: | Height: | Size: 305 B |
1
layouts/partials/svg/mdi.menu.html
Normal file
|
@ -0,0 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24"><path fill="currentColor" d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg>
|
After Width: | Height: | Size: 159 B |
1
layouts/partials/svg/mdi.star.html
Normal file
|
@ -0,0 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24"><path fill="currentColor" d="M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.62L12 2L9.19 8.62L2 9.24l5.45 4.73L5.82 21z"/></svg>
|
After Width: | Height: | Size: 211 B |
1
layouts/partials/svg/mdi.web.html
Normal file
|
@ -0,0 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24"><path fill="currentColor" d="M16.36 14c.08-.66.14-1.32.14-2s-.06-1.34-.14-2h3.38c.16.64.26 1.31.26 2s-.1 1.36-.26 2m-5.15 5.56c.6-1.11 1.06-2.31 1.38-3.56h2.95a8.03 8.03 0 0 1-4.33 3.56M14.34 14H9.66c-.1-.66-.16-1.32-.16-2s.06-1.35.16-2h4.68c.09.65.16 1.32.16 2s-.07 1.34-.16 2M12 19.96c-.83-1.2-1.5-2.53-1.91-3.96h3.82c-.41 1.43-1.08 2.76-1.91 3.96M8 8H5.08A7.92 7.92 0 0 1 9.4 4.44C8.8 5.55 8.35 6.75 8 8m-2.92 8H8c.35 1.25.8 2.45 1.4 3.56A8 8 0 0 1 5.08 16m-.82-2C4.1 13.36 4 12.69 4 12s.1-1.36.26-2h3.38c-.08.66-.14 1.32-.14 2s.06 1.34.14 2M12 4.03c.83 1.2 1.5 2.54 1.91 3.97h-3.82c.41-1.43 1.08-2.77 1.91-3.97M18.92 8h-2.95a15.7 15.7 0 0 0-1.38-3.56c1.84.63 3.37 1.9 4.33 3.56M12 2C6.47 2 2 6.5 2 12a10 10 0 0 0 10 10a10 10 0 0 0 10-10A10 10 0 0 0 12 2"/></svg>
|
After Width: | Height: | Size: 851 B |
1
layouts/partials/svg/oi.external-link.html
Normal file
|
@ -0,0 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 8 8"><path fill="currentColor" d="M0 0v8h8V6H7v1H1V1h1V0zm4 0l1.5 1.5L3 4l1 1l2.5-2.5L8 4V0z"/></svg>
|
After Width: | Height: | Size: 179 B |
BIN
static/koken_y.png
Normal file
After Width: | Height: | Size: 3.4 KiB |