diff --git a/.gitignore b/.gitignore
index e1ad394..7258ec0 100644
--- a/.gitignore
+++ b/.gitignore
@@ -16,3 +16,9 @@ local/backups
/tmp
*.exe
.DS_Store
+
+# vim session saves
+Session.vim
+
+# tags files
+tags
diff --git a/public/style.css b/public/style.css
index 969a28b..6f628c4 100644
--- a/public/style.css
+++ b/public/style.css
@@ -540,7 +540,7 @@ input[type="url"],
height: 100%;
z-index: 100; }
-@media screen and (min-width: 30em) {
+@media screen and (min-width: 35em) {
.aspect-ratio-ns {
height: 0;
position: relative; }
@@ -576,7 +576,7 @@ input[type="url"],
height: 100%;
z-index: 100; } }
-@media screen and (min-width: 30em) and (max-width: 60em) {
+@media screen and (min-width: 35em) and (max-width: 60em) {
.aspect-ratio-m {
height: 0;
position: relative; }
@@ -679,13 +679,13 @@ img, video {
.contain {
background-size: contain !important; }
-@media screen and (min-width: 30em) {
+@media screen and (min-width: 35em) {
.cover-ns {
background-size: cover !important; }
.contain-ns {
background-size: contain !important; } }
-@media screen and (min-width: 30em) and (max-width: 60em) {
+@media screen and (min-width: 35em) and (max-width: 60em) {
.cover-m {
background-size: cover !important; }
.contain-m {
@@ -737,7 +737,7 @@ img, video {
background-repeat: no-repeat;
background-position: center left; }
-@media screen and (min-width: 30em) {
+@media screen and (min-width: 35em) {
.bg-center-ns {
background-repeat: no-repeat;
background-position: center center; }
@@ -754,7 +754,7 @@ img, video {
background-repeat: no-repeat;
background-position: center left; } }
-@media screen and (min-width: 30em) and (max-width: 60em) {
+@media screen and (min-width: 35em) and (max-width: 60em) {
.bg-center-m {
background-repeat: no-repeat;
background-position: center center; }
@@ -807,7 +807,7 @@ img, video {
.outline-0 {
outline: 0; }
-@media screen and (min-width: 30em) {
+@media screen and (min-width: 35em) {
.outline-ns {
outline: 1px solid; }
.outline-transparent-ns {
@@ -815,7 +815,7 @@ img, video {
.outline-0-ns {
outline: 0; } }
-@media screen and (min-width: 30em) and (max-width: 60em) {
+@media screen and (min-width: 35em) and (max-width: 60em) {
.outline-m {
outline: 1px solid; }
.outline-transparent-m {
@@ -877,7 +877,7 @@ img, video {
border-style: none;
border-width: 0; }
-@media screen and (min-width: 30em) {
+@media screen and (min-width: 35em) {
.ba-ns {
border-style: solid;
border-width: 1px; }
@@ -897,7 +897,7 @@ img, video {
border-style: none;
border-width: 0; } }
-@media screen and (min-width: 30em) and (max-width: 60em) {
+@media screen and (min-width: 35em) and (max-width: 60em) {
.ba-m {
border-style: solid;
border-width: 1px; }
@@ -1204,7 +1204,7 @@ img, video {
border-top-right-radius: 0;
border-bottom-right-radius: 0; }
-@media screen and (min-width: 30em) {
+@media screen and (min-width: 35em) {
.br0-ns {
border-radius: 0; }
.br1-ns {
@@ -1232,7 +1232,7 @@ img, video {
border-top-right-radius: 0;
border-bottom-right-radius: 0; } }
-@media screen and (min-width: 30em) and (max-width: 60em) {
+@media screen and (min-width: 35em) and (max-width: 60em) {
.br0-m {
border-radius: 0; }
.br1-m {
@@ -1322,7 +1322,7 @@ img, video {
.b--none {
border-style: none; }
-@media screen and (min-width: 30em) {
+@media screen and (min-width: 35em) {
.b--dotted-ns {
border-style: dotted; }
.b--dashed-ns {
@@ -1332,7 +1332,7 @@ img, video {
.b--none-ns {
border-style: none; } }
-@media screen and (min-width: 30em) and (max-width: 60em) {
+@media screen and (min-width: 35em) and (max-width: 60em) {
.b--dotted-m {
border-style: dotted; }
.b--dashed-m {
@@ -1405,7 +1405,7 @@ img, video {
.bl-0 {
border-left-width: 0; }
-@media screen and (min-width: 30em) {
+@media screen and (min-width: 35em) {
.bw0-ns {
border-width: 0; }
.bw1-ns {
@@ -1427,7 +1427,7 @@ img, video {
.bl-0-ns {
border-left-width: 0; } }
-@media screen and (min-width: 30em) and (max-width: 60em) {
+@media screen and (min-width: 35em) and (max-width: 60em) {
.bw0-m {
border-width: 0; }
.bw1-m {
@@ -1497,7 +1497,7 @@ img, video {
.shadow-5 {
box-shadow: 4px 4px 8px 0px rgba(0, 0, 0, 0.2); }
-@media screen and (min-width: 30em) {
+@media screen and (min-width: 35em) {
.shadow-1-ns {
box-shadow: 0px 0px 4px 2px rgba(0, 0, 0, 0.2); }
.shadow-2-ns {
@@ -1509,7 +1509,7 @@ img, video {
.shadow-5-ns {
box-shadow: 4px 4px 8px 0px rgba(0, 0, 0, 0.2); } }
-@media screen and (min-width: 30em) and (max-width: 60em) {
+@media screen and (min-width: 35em) and (max-width: 60em) {
.shadow-1-m {
box-shadow: 0px 0px 4px 2px rgba(0, 0, 0, 0.2); }
.shadow-2-m {
@@ -1635,7 +1635,7 @@ img, video {
bottom: 0;
left: 0; }
-@media screen and (min-width: 30em) {
+@media screen and (min-width: 35em) {
.top-0-ns {
top: 0; }
.left-0-ns {
@@ -1682,7 +1682,7 @@ img, video {
bottom: 0;
left: 0; } }
-@media screen and (min-width: 30em) and (max-width: 60em) {
+@media screen and (min-width: 35em) and (max-width: 60em) {
.top-0-m {
top: 0; }
.left-0-m {
@@ -1807,7 +1807,7 @@ img, video {
.cn {
clear: none; }
-@media screen and (min-width: 30em) {
+@media screen and (min-width: 35em) {
.cl-ns {
clear: left; }
.cr-ns {
@@ -1817,7 +1817,7 @@ img, video {
.cn-ns {
clear: none; } }
-@media screen and (min-width: 30em) and (max-width: 60em) {
+@media screen and (min-width: 35em) and (max-width: 60em) {
.cl-m {
clear: left; }
.cr-m {
@@ -1903,7 +1903,7 @@ img, video {
table-layout: fixed;
width: 100%; }
-@media screen and (min-width: 30em) {
+@media screen and (min-width: 35em) {
.dn-ns {
display: none; }
.di-ns {
@@ -1930,7 +1930,7 @@ img, video {
table-layout: fixed;
width: 100%; } }
-@media screen and (min-width: 30em) and (max-width: 60em) {
+@media screen and (min-width: 35em) and (max-width: 60em) {
.dn-m {
display: none; }
.di-m {
@@ -2138,7 +2138,7 @@ img, video {
.flex-shrink-1 {
flex-shrink: 1; }
-@media screen and (min-width: 30em) {
+@media screen and (min-width: 35em) {
.flex-ns {
display: flex; }
.inline-flex-ns {
@@ -2236,7 +2236,7 @@ img, video {
.flex-shrink-1-ns {
flex-shrink: 1; } }
-@media screen and (min-width: 30em) and (max-width: 60em) {
+@media screen and (min-width: 35em) and (max-width: 60em) {
.flex-m {
display: flex; }
.inline-flex-m {
@@ -2468,7 +2468,7 @@ img, video {
.fn {
float: none; }
-@media screen and (min-width: 30em) {
+@media screen and (min-width: 35em) {
.fl-ns {
float: left;
_display: inline; }
@@ -2478,7 +2478,7 @@ img, video {
.fn-ns {
float: none; } }
-@media screen and (min-width: 30em) and (max-width: 60em) {
+@media screen and (min-width: 35em) and (max-width: 60em) {
.fl-m {
float: left;
_display: inline; }
@@ -2570,13 +2570,13 @@ code, .code {
.fs-normal {
font-style: normal; }
-@media screen and (min-width: 30em) {
+@media screen and (min-width: 35em) {
.i-ns {
font-style: italic; }
.fs-normal-ns {
font-style: normal; } }
-@media screen and (min-width: 30em) and (max-width: 60em) {
+@media screen and (min-width: 35em) and (max-width: 60em) {
.i-m {
font-style: italic; }
.fs-normal-m {
@@ -2646,7 +2646,7 @@ code, .code {
.fw9 {
font-weight: 900; }
-@media screen and (min-width: 30em) {
+@media screen and (min-width: 35em) {
.normal-ns {
font-weight: normal; }
.b-ns {
@@ -2670,7 +2670,7 @@ code, .code {
.fw9-ns {
font-weight: 900; } }
-@media screen and (min-width: 30em) and (max-width: 60em) {
+@media screen and (min-width: 35em) and (max-width: 60em) {
.normal-m {
font-weight: normal; }
.b-m {
@@ -2819,7 +2819,7 @@ code, .code {
.h-inherit {
height: inherit; }
-@media screen and (min-width: 30em) {
+@media screen and (min-width: 35em) {
.h1-ns {
height: 1rem; }
.h2-ns {
@@ -2855,7 +2855,7 @@ code, .code {
.h-inherit-ns {
height: inherit; } }
-@media screen and (min-width: 30em) and (max-width: 60em) {
+@media screen and (min-width: 35em) and (max-width: 60em) {
.h1-m {
height: 1rem; }
.h2-m {
@@ -2947,7 +2947,7 @@ code, .code {
.tracked-mega {
letter-spacing: 0.25em; }
-@media screen and (min-width: 30em) {
+@media screen and (min-width: 35em) {
.tracked-ns {
letter-spacing: 0.1em; }
.tracked-tight-ns {
@@ -2955,7 +2955,7 @@ code, .code {
.tracked-mega-ns {
letter-spacing: 0.25em; } }
-@media screen and (min-width: 30em) and (max-width: 60em) {
+@media screen and (min-width: 35em) and (max-width: 60em) {
.tracked-m {
letter-spacing: 0.1em; }
.tracked-tight-m {
@@ -2991,7 +2991,7 @@ code, .code {
.lh-copy {
line-height: 1.5; }
-@media screen and (min-width: 30em) {
+@media screen and (min-width: 35em) {
.lh-solid-ns {
line-height: 1; }
.lh-title-ns {
@@ -2999,7 +2999,7 @@ code, .code {
.lh-copy-ns {
line-height: 1.5; } }
-@media screen and (min-width: 30em) and (max-width: 60em) {
+@media screen and (min-width: 35em) and (max-width: 60em) {
.lh-solid-m {
line-height: 1; }
.lh-title-m {
@@ -3114,7 +3114,7 @@ code, .code {
.mw-none {
max-width: none; }
-@media screen and (min-width: 30em) {
+@media screen and (min-width: 35em) {
.mw-100-ns {
max-width: 100%; }
.mw1-ns {
@@ -3138,7 +3138,7 @@ code, .code {
.mw-none-ns {
max-width: none; } }
-@media screen and (min-width: 30em) and (max-width: 60em) {
+@media screen and (min-width: 35em) and (max-width: 60em) {
.mw-100-m {
max-width: 100%; }
.mw1-m {
@@ -3303,7 +3303,7 @@ code, .code {
.w-auto {
width: auto; }
-@media screen and (min-width: 30em) {
+@media screen and (min-width: 35em) {
.w1-ns {
width: 1rem; }
.w2-ns {
@@ -3355,7 +3355,7 @@ code, .code {
.w-auto-ns {
width: auto; } }
-@media screen and (min-width: 30em) and (max-width: 60em) {
+@media screen and (min-width: 35em) and (max-width: 60em) {
.w1-m {
width: 1rem; }
.w2-m {
@@ -3505,7 +3505,7 @@ code, .code {
.overflow-y-auto {
overflow-y: auto; }
-@media screen and (min-width: 30em) {
+@media screen and (min-width: 35em) {
.overflow-visible-ns {
overflow: visible; }
.overflow-hidden-ns {
@@ -3531,7 +3531,7 @@ code, .code {
.overflow-y-auto-ns {
overflow-y: auto; } }
-@media screen and (min-width: 30em) and (max-width: 60em) {
+@media screen and (min-width: 35em) and (max-width: 60em) {
.overflow-visible-m {
overflow: visible; }
.overflow-hidden-m {
@@ -3606,7 +3606,7 @@ code, .code {
.fixed {
position: fixed; }
-@media screen and (min-width: 30em) {
+@media screen and (min-width: 35em) {
.static-ns {
position: static; }
.relative-ns {
@@ -3616,7 +3616,7 @@ code, .code {
.fixed-ns {
position: fixed; } }
-@media screen and (min-width: 30em) and (max-width: 60em) {
+@media screen and (min-width: 35em) and (max-width: 60em) {
.static-m {
position: static; }
.relative-m {
@@ -3707,7 +3707,7 @@ code, .code {
.rotate-315 {
transform: rotate(315deg); }
-@media screen and (min-width: 30em) {
+@media screen and (min-width: 35em) {
.rotate-45-ns {
transform: rotate(45deg); }
.rotate-90-ns {
@@ -3723,7 +3723,7 @@ code, .code {
.rotate-315-ns {
transform: rotate(315deg); } }
-@media screen and (min-width: 30em) and (max-width: 60em) {
+@media screen and (min-width: 35em) and (max-width: 60em) {
.rotate-45-m {
transform: rotate(45deg); }
.rotate-90-m {
@@ -4985,7 +4985,7 @@ input[type=submit]:not(.button-small), .notice {
margin-left: 16rem;
margin-right: 16rem; }
-@media screen and (min-width: 30em) {
+@media screen and (min-width: 35em) {
.pa0-ns {
padding: 0; }
.pa1-ns {
@@ -5247,7 +5247,7 @@ input[type=submit]:not(.button-small), .notice {
margin-left: 16rem;
margin-right: 16rem; } }
-@media screen and (min-width: 30em) and (max-width: 60em) {
+@media screen and (min-width: 35em) and (max-width: 60em) {
.pa0-m {
padding: 0; }
.pa1-m {
@@ -5895,7 +5895,7 @@ input[type=submit]:not(.button-small), .notice {
.nt7 {
margin-top: -16rem; }
-@media screen and (min-width: 30em) {
+@media screen and (min-width: 35em) {
.na1-ns {
margin: -0.25rem; }
.na2-ns {
@@ -5967,7 +5967,7 @@ input[type=submit]:not(.button-small), .notice {
.nt7-ns {
margin-top: -16rem; } }
-@media screen and (min-width: 30em) and (max-width: 60em) {
+@media screen and (min-width: 35em) and (max-width: 60em) {
.na1-m {
margin: -0.25rem; }
.na2-m {
@@ -6160,7 +6160,7 @@ input[type=submit]:not(.button-small), .notice {
.no-underline {
text-decoration: none; }
-@media screen and (min-width: 30em) {
+@media screen and (min-width: 35em) {
.strike-ns {
text-decoration: line-through; }
.underline-ns {
@@ -6168,7 +6168,7 @@ input[type=submit]:not(.button-small), .notice {
.no-underline-ns {
text-decoration: none; } }
-@media screen and (min-width: 30em) and (max-width: 60em) {
+@media screen and (min-width: 35em) and (max-width: 60em) {
.strike-m {
text-decoration: line-through; }
.underline-m {
@@ -6216,7 +6216,7 @@ input[type=submit]:not(.button-small), .notice {
.tj {
text-align: justify; }
-@media screen and (min-width: 30em) {
+@media screen and (min-width: 35em) {
.tl-ns {
text-align: left; }
.tr-ns, .edit-form .edit-form-row > :first-child {
@@ -6226,7 +6226,7 @@ input[type=submit]:not(.button-small), .notice {
.tj-ns {
text-align: justify; } }
-@media screen and (min-width: 30em) and (max-width: 60em) {
+@media screen and (min-width: 35em) and (max-width: 60em) {
.tl-m {
text-align: left; }
.tr-m {
@@ -6278,7 +6278,7 @@ input[type=submit]:not(.button-small), .notice {
.ttn {
text-transform: none; }
-@media screen and (min-width: 30em) {
+@media screen and (min-width: 35em) {
.ttc-ns {
text-transform: capitalize; }
.ttl-ns {
@@ -6288,7 +6288,7 @@ input[type=submit]:not(.button-small), .notice {
.ttn-ns {
text-transform: none; } }
-@media screen and (min-width: 30em) and (max-width: 60em) {
+@media screen and (min-width: 35em) and (max-width: 60em) {
.ttc-m {
text-transform: capitalize; }
.ttl-m {
@@ -6365,7 +6365,7 @@ input[type=submit]:not(.button-small), .notice {
.f7 {
font-size: 0.75rem; }
-@media screen and (min-width: 30em) {
+@media screen and (min-width: 35em) {
.f-6-ns,
.f-headline-ns {
font-size: 6rem; }
@@ -6387,7 +6387,7 @@ input[type=submit]:not(.button-small), .notice {
.f7-ns {
font-size: 0.75rem; } }
-@media screen and (min-width: 30em) and (max-width: 60em) {
+@media screen and (min-width: 35em) and (max-width: 60em) {
.f-6-m,
.f-headline-m {
font-size: 6rem; }
@@ -6469,7 +6469,7 @@ input[type=submit]:not(.button-small), .notice {
overflow: hidden;
text-overflow: ellipsis; }
-@media screen and (min-width: 30em) {
+@media screen and (min-width: 35em) {
.measure-ns {
max-width: 30em; }
.measure-wide-ns {
@@ -6487,7 +6487,7 @@ input[type=submit]:not(.button-small), .notice {
overflow: hidden;
text-overflow: ellipsis; } }
-@media screen and (min-width: 30em) and (max-width: 60em) {
+@media screen and (min-width: 35em) and (max-width: 60em) {
.measure-m {
max-width: 30em; }
.measure-wide-m {
@@ -6547,7 +6547,7 @@ input[type=submit]:not(.button-small), .notice {
.ml-auto {
margin-left: auto; }
-@media screen and (min-width: 30em) {
+@media screen and (min-width: 35em) {
.center-ns {
margin-right: auto;
margin-left: auto; }
@@ -6556,7 +6556,7 @@ input[type=submit]:not(.button-small), .notice {
.ml-auto-ns {
margin-left: auto; } }
-@media screen and (min-width: 30em) and (max-width: 60em) {
+@media screen and (min-width: 35em) and (max-width: 60em) {
.center-m {
margin-right: auto;
margin-left: auto; }
@@ -6595,7 +6595,7 @@ input[type=submit]:not(.button-small), .notice {
/* IE6, IE7 */
clip: rect(1px, 1px, 1px, 1px); }
-@media screen and (min-width: 30em) {
+@media screen and (min-width: 35em) {
.clip-ns {
position: fixed !important;
_position: absolute !important;
@@ -6603,7 +6603,7 @@ input[type=submit]:not(.button-small), .notice {
/* IE6, IE7 */
clip: rect(1px, 1px, 1px, 1px); } }
-@media screen and (min-width: 30em) and (max-width: 60em) {
+@media screen and (min-width: 35em) and (max-width: 60em) {
.clip-m {
position: fixed !important;
_position: absolute !important;
@@ -6638,7 +6638,7 @@ input[type=submit]:not(.button-small), .notice {
.pre {
white-space: pre; }
-@media screen and (min-width: 30em) {
+@media screen and (min-width: 35em) {
.ws-normal-ns {
white-space: normal; }
.nowrap-ns {
@@ -6646,7 +6646,7 @@ input[type=submit]:not(.button-small), .notice {
.pre-ns {
white-space: pre; } }
-@media screen and (min-width: 30em) and (max-width: 60em) {
+@media screen and (min-width: 35em) and (max-width: 60em) {
.ws-normal-m {
white-space: normal; }
.nowrap-m {
@@ -6684,7 +6684,7 @@ input[type=submit]:not(.button-small), .notice {
.v-btm {
vertical-align: bottom; }
-@media screen and (min-width: 30em) {
+@media screen and (min-width: 35em) {
.v-base-ns {
vertical-align: baseline; }
.v-mid-ns {
@@ -6694,7 +6694,7 @@ input[type=submit]:not(.button-small), .notice {
.v-btm-ns {
vertical-align: bottom; } }
-@media screen and (min-width: 30em) and (max-width: 60em) {
+@media screen and (min-width: 35em) and (max-width: 60em) {
.v-base-m {
vertical-align: baseline; }
.v-mid-m {
@@ -7357,7 +7357,7 @@ article code {
flex-grow: 1;
flex-shrink: 1; }
-@media screen and (min-width: 30em) {
+@media screen and (min-width: 35em) {
.flex-fair-ns {
flex-basis: 1px;
flex-grow: 1;
@@ -7556,7 +7556,7 @@ article code {
.hide-if-empty:empty {
display: none !important; }
-@media screen and (min-width: 30em) {
+@media screen and (min-width: 35em) {
.bi-avoid-ns {
break-inside: avoid; }
.cc-auto-ns {
@@ -7583,7 +7583,7 @@ article code {
background-color: #f0f0f0;
background-color: var(--dim-background); } }
-@media screen and (min-width: 30em) and (max-width: 60em) {
+@media screen and (min-width: 35em) and (max-width: 60em) {
.bi-avoid-m {
break-inside: avoid; }
.cc-auto-m {
@@ -7658,7 +7658,7 @@ article code {
margin-right: auto;
margin-left: auto; }
-@media screen and (min-width: 30em) {
+@media screen and (min-width: 35em) {
footer .list li:not(:last-child)::after {
content: ' / '; } }
@@ -7741,7 +7741,7 @@ article code {
border-width: 0px;
border-bottom-width: 1px;
padding-bottom: 0.5rem; }
- @media screen and (min-width: 30em) {
+ @media screen and (min-width: 35em) {
.optionbar {
flex-direction: row;
text-align: left;
@@ -7751,7 +7751,7 @@ article code {
border-top-width: 1px;
padding-bottom: 0;
padding-top: 0.5rem; }
- @media screen and (min-width: 30em) {
+ @media screen and (min-width: 35em) {
.optionbar.bottom {
padding-top: 0; } }
.optionbar.center {
@@ -7759,7 +7759,7 @@ article code {
.optionbar .options {
display: flex;
flex-direction: column; }
- @media screen and (min-width: 30em) {
+ @media screen and (min-width: 35em) {
.optionbar .options {
flex-direction: row; } }
@@ -7869,6 +7869,28 @@ article code {
--fade-color: #f8f8f8;
--fade-color: var(--background-even-background); }
+.sr-only, .sr-focusable {
+ border: 0;
+ clip: rect(1px, 1px, 1px, 1px);
+ clip-path: inset(50%);
+ height: 1px;
+ margin: -1px;
+ overflow: hidden;
+ padding: 0;
+ position: absolute;
+ width: 1px;
+ word-wrap: normal !important;
+ transition: 0.2s all; }
+
+.sr-focusable:focus {
+ padding: 15px 10px;
+ height: auto;
+ width: auto;
+ background: var(--content-background);
+ clip: initial;
+ clip-path: initial;
+ z-index: 99999; }
+
.userlist {
text-align: center;
width: 100%;
@@ -8075,7 +8097,7 @@ figure {
color: var(--dimmer-color);
font-style: italic; }
-@media screen and (min-width: 30em) {
+@media screen and (min-width: 35em) {
#preview-container {
max-height: calc(100vh - 20rem);
overflow: auto; } }
@@ -8083,7 +8105,7 @@ figure {
.edit-form .edit-form-row > :first-child {
font-weight: 500; }
-@media screen and (min-width: 30em) {
+@media screen and (min-width: 35em) {
.edit-form .edit-form-row .pt-input-ns {
padding-top: 0.3rem; } }
@@ -8827,10 +8849,10 @@ header .hmn-logo {
align-items: center;
justify-content: center;
color: white !important; }
- @media screen and (min-width: 30em) {
+ @media screen and (min-width: 35em) {
header .hmn-logo.big {
width: 11.25rem; } }
- @media screen and (min-width: 30em) {
+ @media screen and (min-width: 35em) {
header .hmn-logo.small {
width: 3.75rem;
padding: 0.8rem;
@@ -8845,7 +8867,7 @@ header .hmn-logo {
header .items {
position: relative; }
-@media screen and (min-width: 30em) {
+@media screen and (min-width: 35em) {
header .root-item {
position: relative;
height: 3.75rem; } }
@@ -8882,7 +8904,7 @@ header .submenu {
min-width: 10rem;
border-top-style: solid;
border-bottom-style: solid; }
- @media screen and (min-width: 30em) {
+ @media screen and (min-width: 35em) {
header .submenu {
border-top-style: none;
border-left-style: solid;
@@ -8895,7 +8917,7 @@ header .submenu {
z-index: 1;
font-weight: bold;
text-align: center; }
- @media screen and (min-width: 30em) {
+ @media screen and (min-width: 35em) {
header .submenu > a {
text-align: left; } }
@@ -8903,6 +8925,9 @@ header .menu-bar {
width: 100%;
z-index: 10; }
+header #login-link {
+ cursor: pointer; }
+
header #login-popup {
background-color: #fbfbfb;
background-color: var(--login-popup-background);
@@ -9452,7 +9477,7 @@ span.icon-rss::before {
.timeline-item .avatar-icon.big {
width: 3rem;
height: 3rem; }
- @media screen and (min-width: 30em) {
+ @media screen and (min-width: 35em) {
.timeline-item .avatar-icon.big {
width: 3.875rem;
height: 3.875rem; } }
@@ -9467,7 +9492,7 @@ span.icon-rss::before {
.timeline-modal .container {
max-height: 100vh;
max-width: 100%; }
- @media screen and (min-width: 30em) {
+ @media screen and (min-width: 35em) {
.timeline-modal .container {
width: auto;
max-width: calc(100% - 2rem);
diff --git a/public/visualjam2023/favicon-16x16.png b/public/visualjam2023/favicon-16x16.png
new file mode 100644
index 0000000..41346af
Binary files /dev/null and b/public/visualjam2023/favicon-16x16.png differ
diff --git a/public/visualjam2023/favicon-32x32.png b/public/visualjam2023/favicon-32x32.png
new file mode 100644
index 0000000..d3d57bf
Binary files /dev/null and b/public/visualjam2023/favicon-32x32.png differ
diff --git a/public/visualjam2023/logo.svg b/public/visualjam2023/logo.svg
new file mode 100644
index 0000000..740e1a5
--- /dev/null
+++ b/public/visualjam2023/logo.svg
@@ -0,0 +1,22 @@
+
diff --git a/public/visualjam2023/opengraph.png b/public/visualjam2023/opengraph.png
new file mode 100644
index 0000000..0442d06
Binary files /dev/null and b/public/visualjam2023/opengraph.png differ
diff --git a/src/config/config.go.example b/src/config/config.go.example
index 15a4c71..5b2fd79 100644
--- a/src/config/config.go.example
+++ b/src/config/config.go.example
@@ -14,6 +14,7 @@ var Config = HMNConfig{
BaseUrl: "http://handmade.local:9001",
LogLevel: zerolog.TraceLevel, // InfoLevel is recommended for production
Postgres: PostgresConfig{
+ // the "db seed" command depends on this user existing in Postgres, so you'll want to make sure it exists when running locally.
User: "hmn",
Password: "password",
Hostname: "localhost",
diff --git a/src/hmndata/jams.go b/src/hmndata/jams.go
index c8a717b..63d12bc 100644
--- a/src/hmndata/jams.go
+++ b/src/hmndata/jams.go
@@ -39,6 +39,15 @@ var WRJ2022 = Jam{
Slug: "WRJ2022",
}
+var VJ2023 = Jam{
+ Event: Event{
+ StartTime: time.Date(2023, 4, 14, 0, 0, 0, 0, utils.Must1(time.LoadLocation("America/Los_Angeles"))),
+ EndTime: time.Date(2023, 4, 16, 8, 0, 0, 0, utils.Must1(time.LoadLocation("America/Los_Angeles"))),
+ },
+ Name: "Visualization Jam 2023",
+ Slug: "VJ2023",
+}
+
var HMS2022 = Event{
StartTime: time.Date(2022, 11, 16, 0, 0, 0, 0, utils.Must1(time.LoadLocation("America/Los_Angeles"))),
EndTime: time.Date(2022, 11, 18, 0, 0, 0, 0, utils.Must1(time.LoadLocation("America/Los_Angeles"))),
diff --git a/src/hmnurl/urls.go b/src/hmnurl/urls.go
index 416053d..c8a550e 100644
--- a/src/hmnurl/urls.go
+++ b/src/hmnurl/urls.go
@@ -70,6 +70,13 @@ func BuildJamIndex2022() string {
return Url("/jam/2022", nil)
}
+var RegexVisualizationJamIndex2023 = regexp.MustCompile("^/visualization-jam/2023$")
+
+func BuildVisualizationJamIndex2023() string {
+ defer CatchPanic()
+ return Url("/visualization-jam/2023", nil)
+}
+
var RegexJamFeed2022 = regexp.MustCompile("^/jam/2022/feed$")
func BuildJamFeed2022() string {
diff --git a/src/rawdata/scss/_core.scss b/src/rawdata/scss/_core.scss
index b66c5ac..69c8858 100644
--- a/src/rawdata/scss/_core.scss
+++ b/src/rawdata/scss/_core.scss
@@ -769,3 +769,31 @@ footer {
@include usevar(background-color, background-even-background);
@include usevar(--fade-color, background-even-background);
}
+
+.sr-only {
+ border: 0;
+ clip: rect(1px, 1px, 1px, 1px);
+ clip-path: inset(50%);
+ height: 1px;
+ margin: -1px;
+ overflow: hidden;
+ padding: 0;
+ position: absolute;
+ width: 1px;
+ word-wrap: normal !important;
+ transition: 0.2s all;
+}
+
+.sr-focusable {
+ @extend .sr-only;
+
+ &:focus {
+ padding: 15px 10px;
+ height: auto;
+ width: auto;
+ background: var(--content-background);
+ clip: initial;
+ clip-path: initial;
+ z-index: 99999;
+ }
+}
diff --git a/src/rawdata/scss/_header.scss b/src/rawdata/scss/_header.scss
index b407291..3a403e0 100644
--- a/src/rawdata/scss/_header.scss
+++ b/src/rawdata/scss/_header.scss
@@ -122,6 +122,10 @@ header {
z-index: 10;
}
+ #login-link{
+ cursor: pointer;
+ }
+
#login-popup {
@include usevar(background-color, login-popup-background);
@include usevar(color, fg-font-color);
diff --git a/src/rawdata/scss/tachyons/scss/_variables.scss b/src/rawdata/scss/tachyons/scss/_variables.scss
index 339230a..575eacc 100644
--- a/src/rawdata/scss/tachyons/scss/_variables.scss
+++ b/src/rawdata/scss/tachyons/scss/_variables.scss
@@ -136,8 +136,8 @@ $washed-red: #ffdfdf !default;
// Custom Media Query Variables
-$breakpoint-not-small: 'screen and (min-width: 30em)' !default;
-$breakpoint-medium: 'screen and (min-width: 30em) and (max-width: 60em)' !default;
+$breakpoint-not-small: 'screen and (min-width: 35em)' !default;
+$breakpoint-medium: 'screen and (min-width: 35em) and (max-width: 60em)' !default;
$breakpoint-large: 'screen and (min-width: 60em)' !default;
/*
diff --git a/src/templates/src/include/header.html b/src/templates/src/include/header.html
index c90668f..a88bb25 100644
--- a/src/templates/src/include/header.html
+++ b/src/templates/src/include/header.html
@@ -1,4 +1,5 @@