chore: get current changes

This commit is contained in:
Tine 2024-02-08 13:26:08 +01:00
parent 7a790020cb
commit 7a087362cd
Signed by: mentos1386
SSH key fingerprint: SHA256:MNtTsLbihYaWF8j1fkOHfkKNlnN1JQfxEU/rBU8nCGw
25 changed files with 713 additions and 772 deletions

View file

@ -1,4 +1,4 @@
Copyright (c) 2013-2023 Ghost Foundation
Copyright (c) 2013-2022 Ghost Foundation
Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation

View file

@ -66,4 +66,4 @@ You can add your own SVG icons in the same manner.
# Copyright & License
Copyright (c) 2013-2023 Ghost Foundation - Released under the [MIT license](LICENSE).
Copyright (c) 2013-2022 Ghost Foundation - Released under the [MIT license](LICENSE).

View file

@ -288,7 +288,7 @@ body {
::selection {
text-shadow: none;
background: #daf2fd;
background: var(--color-accent-200) !important;
}
hr {

8
assets/css/images.css Normal file
View file

@ -0,0 +1,8 @@
.viewer-button,
.viewer-navbar {
background-color: black !important;
}
.viewer-button:hover {
background-color: var(--ghost-accent-color) !important;
}

3
assets/css/prism.css Normal file
View file

@ -0,0 +1,3 @@
/* PrismJS 1.29.0
https://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript+abap+abnf+actionscript+ada+agda+al+antlr4+apacheconf+apex+apl+applescript+aql+arduino+arff+armasm+arturo+asciidoc+aspnet+asm6502+asmatmel+autohotkey+autoit+avisynth+avro-idl+awk+bash+basic+batch+bbcode+bbj+bicep+birb+bison+bnf+bqn+brainfuck+brightscript+bro+bsl+c+csharp+cpp+cfscript+chaiscript+cil+cilkc+cilkcpp+clojure+cmake+cobol+coffeescript+concurnas+csp+cooklang+coq+crystal+css-extras+csv+cue+cypher+d+dart+dataweave+dax+dhall+diff+django+dns-zone-file+docker+dot+ebnf+editorconfig+eiffel+ejs+elixir+elm+etlua+erb+erlang+excel-formula+fsharp+factor+false+firestore-security-rules+flow+fortran+ftl+gml+gap+gcode+gdscript+gedcom+gettext+gherkin+git+glsl+gn+linker-script+go+go-module+gradle+graphql+groovy+haml+handlebars+haskell+haxe+hcl+hlsl+hoon+http+hpkp+hsts+ichigojam+icon+icu-message-format+idris+ignore+inform7+ini+io+j+java+javadoc+javadoclike+javastacktrace+jexl+jolie+jq+jsdoc+js-extras+json+json5+jsonp+jsstacktrace+js-templates+julia+keepalived+keyman+kotlin+kumir+kusto+latex+latte+less+lilypond+liquid+lisp+livescript+llvm+log+lolcode+lua+magma+makefile+markdown+markup-templating+mata+matlab+maxscript+mel+mermaid+metafont+mizar+mongodb+monkey+moonscript+n1ql+n4js+nand2tetris-hdl+naniscript+nasm+neon+nevod+nginx+nim+nix+nsis+objectivec+ocaml+odin+opencl+openqasm+oz+parigp+parser+pascal+pascaligo+psl+pcaxis+peoplecode+perl+php+phpdoc+php-extras+plant-uml+plsql+powerquery+powershell+processing+prolog+promql+properties+protobuf+pug+puppet+pure+purebasic+purescript+python+qsharp+q+qml+qore+r+racket+cshtml+jsx+tsx+reason+regex+rego+renpy+rescript+rest+rip+roboconf+robotframework+ruby+rust+sas+sass+scss+scala+scheme+shell-session+smali+smalltalk+smarty+sml+solidity+solution-file+soy+sparql+splunk-spl+sqf+sql+squirrel+stan+stata+iecst+stylus+supercollider+swift+systemd+t4-templating+t4-cs+t4-vb+tap+tcl+tt2+textile+toml+tremor+turtle+twig+typescript+typoscript+unrealscript+uorazor+uri+v+vala+vbnet+velocity+verilog+vhdl+vim+visual-basic+warpscript+wasm+web-idl+wgsl+wiki+wolfram+wren+xeora+xml-doc+xojo+xquery+yaml+yang+zig */
code[class*=language-],pre[class*=language-]{color:#000;background:0 0;text-shadow:0 1px #fff;font-family:Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}code[class*=language-] ::-moz-selection,code[class*=language-]::-moz-selection,pre[class*=language-] ::-moz-selection,pre[class*=language-]::-moz-selection{text-shadow:none;background:#b3d4fc}code[class*=language-] ::selection,code[class*=language-]::selection,pre[class*=language-] ::selection,pre[class*=language-]::selection{text-shadow:none;background:#b3d4fc}@media print{code[class*=language-],pre[class*=language-]{text-shadow:none}}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#f5f2f0}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#708090}.token.punctuation{color:#999}.token.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#905}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:#690}.language-css .token.string,.style .token.string,.token.entity,.token.operator,.token.url{color:#9a6e3a;background:hsla(0,0%,100%,.5)}.token.atrule,.token.attr-value,.token.keyword{color:#07a}.token.class-name,.token.function{color:#dd4a68}.token.important,.token.regex,.token.variable{color:#e90}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}

View file

@ -2,7 +2,7 @@
/* ------------------------------------------------------------
This is a development CSS file which is built to a minified
production stylesheet in assets/built/screen.css
production stylesheet in /assets/built/screen.css
1. Global Styles
2. Layout
@ -19,7 +19,6 @@ production stylesheet in assets/built/screen.css
9. Error Template
10. Site Footer
11. Dark Mode
12. Lightbox
*/
@ -28,6 +27,71 @@ production stylesheet in assets/built/screen.css
/* Import CSS reset and base styles */
@import "global.css";
@import "images.css";
@font-face {
font-family: "CascadiaCode";
src: url("CascadiaCode-Light.otf");
font-weight: 100;
}
@font-face {
font-family: "CascadiaCode";
src: url("CascadiaCode-LightItalic.otf");
font-weight: 100;
font-style: italic;
}
@font-face {
font-family: "CascadiaCode";
src: url("CascadiaCode-SemiLight.otf");
font-weight: 200;
}
@font-face {
font-family: "CascadiaCode";
src: url("CascadiaCode-SemiLightItalic.otf");
font-weight: 200;
font-style: italic;
}
@font-face {
font-family: "CascadiaCode";
src: url("CascadiaCode-Regular.otf");
font-weight: 400;
}
@font-face {
font-family: "CascadiaCode";
src: url("CascadiaCode-Italic.otf");
font-weight: 400;
font-style: italic;
}
@font-face {
font-family: "CascadiaCode";
src: url("CascadiaCode-SemiBold.otf");
font-weight: 600;
}
@font-face {
font-family: "CascadiaCode";
src: url("CascadiaCode-SemiBoldItalic.otf");
font-weight: 600;
font-style: italic;
}
@font-face {
font-family: "CascadiaCode";
src: url("CascadiaCode-Bold.otf");
font-weight: 700;
}
@font-face {
font-family: "CascadiaCode";
src: url("CascadiaCode-BoldItalic.otf");
font-weight: 700;
font-style: italic;
}
html {
font-feature-settings: "calt", "ss01";
}
:root {
@ -52,11 +116,18 @@ production stylesheet in assets/built/screen.css
You can use this variable throughout your styles
*/
/* Fonts */
--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
--font-serif: Georgia, Times, serif;
--font-mono: Menlo, Courier, monospace;
/* Accent color Shades */
--color-accent-100: #efecf9;
--color-accent-200: #d0c5ec;
--color-accent-300: #b19fe0;
--color-accent-400: #9278d3;
--color-accent-500: #7352c7;
--color-accent-600: #5a38ad;
/* Fonts */
--font-sans: CascadiaCode, Fira Code, Menlo, Courier, monospace;
--font-serif: CascadiaCode, Fira Code, Menlo, Courier, monospace;
--font-mono: CascadiaCode, Fira Code, Menlo, Courier, monospace;
}
@ -1219,6 +1290,7 @@ html.no-infinite-scroll .pagination {
/* ---------------------------------------------------------- */
.article {
padding: max(8vmin, 40px) 0 max(8vmin, 64px);
word-break: break-word;
}
@ -1227,7 +1299,7 @@ html.no-infinite-scroll .pagination {
}
.post-template .article-header {
padding: 0 0 max(6.4vmin, 40px);
padding: 0 0 max(6.4vmin, 40px) 0;
}
.page-template .article-header {
@ -1300,20 +1372,21 @@ html.no-infinite-scroll .pagination {
is laid out on top of. Canvas just defines the grid, we don't
use it for applying any other styles. */
.gh-canvas,
.kg-width-full.kg-content-wide {
--gap: max(4vmin, 20px);
--main: min(var(--content-width, 720px), 100% - var(--gap) * 2);
--wide: minmax(0, calc((var(--container-width, 1200px) - var(--content-width, 720px)) / 2));
--full: minmax(var(--gap), 1fr);
.gh-canvas {
display: grid;
grid-template-columns:
[full-start] var(--full)
[wide-start] var(--wide)
[main-start] var(--main) [main-end]
var(--wide) [wide-end]
var(--full) [full-end];
[full-start]
minmax(max(4vmin, 20px), auto)
[wide-start]
minmax(auto, 240px)
[main-start]
min(720px, calc(100% - max(8vmin, 40px)))
[main-end]
minmax(auto, 240px)
[wide-end]
minmax(max(4vmin, 20px), auto)
[full-end]
;
}
.gh-canvas > * {
@ -1385,10 +1458,21 @@ is the very first element in the post content */
}
/* Now the content typography styles */
.gh-content strong,
.gh-content b,
.gh-content em,
.gh-content i {
background-color: var(--color-accent-100);
padding: 0.1em 0.25em;
}
.gh-content a {
color: var(--ghost-accent-color);
padding: 0.1em 0.25em;
font-style: italic;
text-decoration: underline;
word-break: break-word;
}
.gh-content a:hover {
background-color: var(--color-lightgrey);
color: var(--ghost-accent-color);
}
.gh-content > blockquote:not([class]),
@ -1478,27 +1562,13 @@ is the very first element in the post content */
background: var(--ghost-accent-color);
}
.gh-content :not(pre) > code {
vertical-align: middle;
padding: 0.15em 0.4em 0.15em;
border: #e1eaef 1px solid;
font-weight: 400 !important;
font-size: 0.9em;
line-height: 1em;
color: #15171A;
background: #f0f6f9;
border-radius: 0.25em;
.gh-content pre,
.gh-content code {
font-family: var(--font-mono) !important;
}
.gh-content pre {
overflow: auto;
padding: 16px 20px;
color: var(--color-wash);
font-size: 1.4rem;
line-height: 1.5em;
background: var(--color-darkgrey);
border-radius: 5px;
box-shadow: 0 2px 6px -2px rgba(0,0,0,.1), 0 0 1px rgba(0,0,0,.4);
.gh-content pre > code > * {
background: none !important;
}
.gh-content ol ol li {
@ -1546,9 +1616,11 @@ make sure they look good, and are given a bit of extra spacing. */
except for when immediately preceeded by a heading */
.gh-content :not(.kg-card):not([id]) + .kg-card {
margin-top: 6vmin;
margin-bottom: 0;
}
.gh-content .kg-card + :not(.kg-card) {
margin-top: 6vmin;
margin-bottom: 0;
}
/* This keeps small embeds centered */
@ -1875,6 +1947,21 @@ iframe.instagram-media + script + :not([id]) {
/* 6.4. Comments
/* ---------------------------------------------------------- */
.comment-via-email {
padding-top: max(8vmin,40px);
text-align:center;
}
.comment-via-email a {
padding: 0.1em 0.25em;
font-style: italic;
text-decoration: underline;
background-color: var(--color-accent-100);
}
.comment-via-email a:hover {
background-color: var(--color-lightgrey);
color: var(--ghost-accent-color);
}
.comments {
display: flex;
flex-direction: column;
@ -1882,7 +1969,6 @@ iframe.instagram-media + script + :not([id]) {
margin: 60px 0 44px;
}
.comments-head {
display: flex;
align-items: baseline;
@ -2063,12 +2149,21 @@ iframe.instagram-media + script + :not([id]) {
.site-footer .inner {
display: grid;
grid-gap: 40px;
grid-template-columns: auto 1fr auto;
grid-gap: 25px;
grid-template-columns: auto auto auto auto 1fr auto;
color: rgba(255,255,255,0.7);
font-size: 1.3rem;
}
.site-footer .icon svg {
height: 1.5em;
fill: var(--color-secondary-text);
}
.site-footer .icon a:hover svg {
fill: rgba(255,255,255,1);
}
.site-footer .copyright a {
color: #fff;
letter-spacing: -0.015em;
@ -2348,7 +2443,7 @@ html.dark-mode .footer-cta-title {
color: #fff;
}
html.auto-color body:not(.has-cover) .gh-head {
html.auto-color .gh-head {
background: var(--color-darkmode);
color: #fff;
}
@ -2514,510 +2609,6 @@ html.dark-mode .footer-cta-title {
html.auto-color .footer-cta-title {
color: #fff;
}
@media (max-width: 767px) {
html.auto-color .gh-head-open:not(.has-cover) #gh-head,
html.auto-color .gh-head-open:not(.has-cover) #gh-head .gh-head-actions {
background: var(--color-darkmode);
}
}
}
/* 12. Lightbox
/* ---------------------------------------------------------- */
.pswp {
position: absolute;
top: 0;
left: 0;
z-index: 3999999;
display: none;
width: 100%;
height: 100%;
overflow: hidden;
-ms-touch-action: none;
touch-action: none;
outline: none;
backface-visibility: hidden;
-webkit-text-size-adjust: 100%;
}
.pswp img {
max-width: none;
}
.pswp--animate_opacity {
opacity: 0.001;
transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1);
will-change: opacity;
}
.pswp--open {
display: block;
}
.pswp--zoom-allowed .pswp__img {
cursor: zoom-in;
}
.pswp--zoomed-in .pswp__img {
cursor: grab;
}
.pswp--dragging .pswp__img {
cursor: grabbing;
}
.pswp__bg {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.85);
opacity: 0;
transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1);
transform: translateZ(0);
backface-visibility: hidden;
will-change: opacity;
}
.pswp__scroll-wrap {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
overflow: hidden;
}
.pswp__container,
.pswp__zoom-wrap {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
touch-action: none;
backface-visibility: hidden;
}
.pswp__container,
.pswp__img {
user-select: none;
-webkit-tap-highlight-color: transparent;
-webkit-touch-callout: none;
}
.pswp__zoom-wrap {
position: absolute;
width: 100%;
transition: transform 333ms cubic-bezier(0.4, 0, 0.22, 1);
transform-origin: left top;
}
.pswp--animated-in .pswp__bg,
.pswp--animated-in .pswp__zoom-wrap {
transition: none;
}
.pswp__item {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
overflow: hidden;
}
.pswp__img {
position: absolute;
top: 0;
left: 0;
width: auto;
height: auto;
}
.pswp__img--placeholder {
backface-visibility: hidden;
}
.pswp__img--placeholder--blank {
background: #000;
}
.pswp--ie .pswp__img {
top: 0;
left: 0;
width: 100% !important;
height: auto !important;
}
.pswp__error-msg {
position: absolute;
top: 50%;
left: 0;
width: 100%;
margin-top: -8px;
font-size: 14px;
line-height: 16px;
color: var(--color-secondary-text);
text-align: center;
}
.pswp__error-msg a {
color: var(--color-secondary-text);
text-decoration: underline;
}
.pswp__button {
position: relative;
display: block;
float: right;
width: 44px;
height: 44px;
padding: 0;
margin: 0;
overflow: visible;
appearance: none;
cursor: pointer;
background: none;
border: 0;
box-shadow: none;
transition: opacity 0.2s;
}
.pswp__button:focus,
.pswp__button:hover {
opacity: 1;
}
.pswp__button:active {
outline: none;
opacity: 0.9;
}
.pswp__button::-moz-focus-inner {
padding: 0;
border: 0;
}
.pswp__ui--over-close .pswp__button--close {
opacity: 1;
}
.pswp__button,
.pswp__button--arrow--left::before,
.pswp__button--arrow--right::before {
width: 44px;
height: 44px;
background: url("../images/default-skin.png") 0 0 no-repeat;
background-size: 264px 88px;
}
@media (-webkit-min-device-pixel-ratio: 1.1), (-webkit-min-device-pixel-ratio: 1.09375), (min-resolution: 105dpi), (min-resolution: 1.1dppx) {
.pswp--svg .pswp__button,
.pswp--svg .pswp__button--arrow--left::before,
.pswp--svg .pswp__button--arrow--right::before {
background-image: url("../images/default-skin.svg");
}
.pswp--svg .pswp__button--arrow--left,
.pswp--svg .pswp__button--arrow--right {
background: none;
}
}
.pswp__button--close {
background-position: 0 -44px;
}
.pswp__button--share {
background-position: -44px -44px;
}
.pswp__button--fs {
display: none;
}
.pswp--supports-fs .pswp__button--fs {
display: block;
}
.pswp--fs .pswp__button--fs {
background-position: -44px 0;
}
.pswp__button--zoom {
display: none;
background-position: -88px 0;
}
.pswp--zoom-allowed .pswp__button--zoom {
display: block;
}
.pswp--zoomed-in .pswp__button--zoom {
background-position: -132px 0;
}
.pswp--touch .pswp__button--arrow--left,
.pswp--touch .pswp__button--arrow--right {
visibility: hidden;
}
.pswp__button--arrow--left,
.pswp__button--arrow--right {
position: absolute;
top: 50%;
width: 70px;
height: 100px;
margin-top: -50px;
background: none;
}
.pswp__button--arrow--left {
left: 0;
}
.pswp__button--arrow--right {
right: 0;
}
.pswp__button--arrow--left::before,
.pswp__button--arrow--right::before {
position: absolute;
top: 35px;
width: 32px;
height: 30px;
content: "";
}
.pswp__button--arrow--left::before {
left: 6px;
background-position: -138px -44px;
}
.pswp__button--arrow--right::before {
right: 6px;
background-position: -94px -44px;
}
.pswp__counter {
position: absolute;
top: 0;
left: 0;
height: 44px;
padding: 0 15px;
font-size: 11px;
font-weight: 700;
line-height: 44px;
color: #fff;
user-select: none;
}
.pswp__caption {
position: absolute;
bottom: 0;
left: 0;
width: 100%;
min-height: 44px;
}
.pswp__caption__center {
max-width: 420px;
padding: 25px 15px 30px;
margin: 0 auto;
font-size: 11px;
line-height: 1.6;
color: #fff;
text-align: center;
}
.pswp__caption__center .post-caption-title {
margin-bottom: 7px;
font-size: 15px;
font-weight: 500;
text-transform: uppercase;
}
.pswp__caption__center .post-caption-meta-item + .post-caption-meta-item::before {
padding: 0 4px;
content: "\02022";
}
.pswp__caption--empty {
display: none;
}
.pswp__caption--fake {
visibility: hidden;
}
.pswp__preloader {
position: absolute;
top: 0;
left: 50%;
width: 44px;
height: 44px;
margin-left: -22px;
opacity: 0;
transition: opacity 0.25s ease-out;
direction: ltr;
will-change: opacity;
}
.pswp__preloader__icn {
width: 20px;
height: 20px;
margin: 12px;
}
.pswp__preloader--active {
opacity: 1;
}
.pswp__preloader--active .pswp__preloader__icn {
background: url("../images/preloader.gif") 0 0 no-repeat;
}
.pswp--css_animation .pswp__preloader--active {
opacity: 1;
}
.pswp--css_animation .pswp__preloader--active .pswp__preloader__icn {
animation: clockwise 500ms linear infinite;
}
.pswp--css_animation .pswp__preloader--active .pswp__preloader__donut {
animation: donut-rotate 1000ms cubic-bezier(0.4, 0, 0.22, 1) infinite;
}
.pswp--css_animation .pswp__preloader__icn {
position: absolute;
top: 15px;
left: 15px;
width: 14px;
height: 14px;
margin: 0;
background: none;
opacity: 0.75;
}
.pswp--css_animation .pswp__preloader__cut {
position: relative;
width: 7px;
height: 14px;
overflow: hidden;
}
.pswp--css_animation .pswp__preloader__donut {
position: absolute;
top: 0;
left: 0;
box-sizing: border-box;
width: 14px;
height: 14px;
margin: 0;
background: none;
border: 2px solid #fff;
border-bottom-color: transparent;
border-left-color: transparent;
border-radius: 50%;
}
@media screen and (max-width: 1024px) {
.pswp__preloader {
position: relative;
top: auto;
left: auto;
float: right;
margin: 0;
}
}
@keyframes clockwise {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
@keyframes donut-rotate {
0% {
transform: rotate(0);
}
50% {
transform: rotate(-140deg);
}
100% {
transform: rotate(0);
}
}
.pswp__ui {
z-index: 1550;
visibility: visible;
opacity: 1;
-webkit-font-smoothing: auto;
}
.pswp__top-bar {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 44px;
}
.pswp__caption,
.pswp__top-bar,
.pswp--has_mouse .pswp__button--arrow--left,
.pswp--has_mouse .pswp__button--arrow--right {
backface-visibility: hidden;
transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1);
will-change: opacity;
}
.pswp--has_mouse .pswp__button--arrow--left,
.pswp--has_mouse .pswp__button--arrow--right {
visibility: visible;
}
.pswp__ui--idle .pswp__top-bar {
opacity: 0;
}
.pswp__ui--idle .pswp__button--arrow--left,
.pswp__ui--idle .pswp__button--arrow--right {
opacity: 0;
}
.pswp__ui--hidden .pswp__top-bar,
.pswp__ui--hidden .pswp__caption,
.pswp__ui--hidden .pswp__button--arrow--left,
.pswp__ui--hidden .pswp__button--arrow--right {
opacity: 0.001;
}
.pswp__ui--one-slide .pswp__button--arrow--left,
.pswp__ui--one-slide .pswp__button--arrow--right,
.pswp__ui--one-slide .pswp__counter {
display: none;
}
.pswp__element--disabled {
display: none !important;
}
.pswp--minimal--dark .pswp__top-bar {
background: none;
}
/*

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

300
assets/js/prism.js Normal file

File diff suppressed because one or more lines are too long

View file

@ -8,14 +8,18 @@
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="HandheldFriendly" content="True" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
{{!-- Preload scripts --}}
<link rel="preload" as="style" href="{{asset "built/screen.css"}}" />
<link rel="preload" as="script" href="{{asset "built/casper.js"}}" />
{{!-- Theme assets - use the {asset} helper to reference styles & scripts,
this will take care of caching and cache-busting automatically --}}
<link rel="stylesheet" type="text/css" href="{{asset "built/screen.css"}}" />
<link rel="stylesheet" type="text/css" href="{{asset "built/prism.css"}}" />
<link
rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/viewerjs/1.11.3/viewer.min.css"
integrity="sha512-zdX1vpRJc7+VHCUJcExqoI7yuYbSFAbSWxscAoLF0KoUPvMSAK09BaOZ47UFdP4ABSXpevKfcD0MTVxvh0jLHQ=="
crossorigin="anonymous"
referrerpolicy="no-referrer" />
{{!-- This tag outputs all your advanced SEO meta, structured data, and other important settings,
it should always be the last tag before the closing head tag --}}
@ -81,6 +85,9 @@
<footer class="site-footer outer">
<div class="inner">
<section class="copyright"><a href="{{@site.url}}">{{@site.title}}</a> &copy; {{date format="YYYY"}}</section>
<section class="icon"><a href="/rss/" target="_blank" rel="noopener">{{> "icons/rss" }} RSS Feed</a></section>
<section class="icon"><a href="https://github.com/mentos1386" target="_blank" rel="noopener">{{> "icons/github" }} Github</a></section>
<section class="icon"><a href="mailto: me@mnts.dev" target="_blank" rel="noopener">{{> "icons/email" }} Email</a></section>
<nav class="site-footer-nav">
{{navigation type="secondary"}}
</nav>
@ -91,17 +98,22 @@
</div>
{{!-- /.viewport --}}
{{#is "post, page"}}
{{> "lightbox"}}
{{/is}}
{{!-- Scripts - handle member signups, responsive videos, infinite scroll, floating headers, and galleries --}}
<script
src="https://code.jquery.com/jquery-3.5.1.min.js"
integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0="
crossorigin="anonymous">
crossorigin="anonymous"
referrerpolicy="no-referrer">
</script>
<script
src="https://cdnjs.cloudflare.com/ajax/libs/viewerjs/1.11.3/viewer.min.js"
integrity="sha512-f8kZwYACKF8unHuRV7j/5ILZfflRncxHp1f6y/PKuuRpCVgpORNZMne1jrghNzTVlXabUXIg1iJ5PvhuAaau6Q=="
crossorigin="anonymous"
referrerpolicy="no-referrer">
</script>
<script src="{{asset "built/casper.js"}}"></script>
<script src="{{asset "built/prism.js"}}"></script>
<script>
$(document).ready(function () {
// Mobile Menu Trigger
@ -111,6 +123,36 @@ $(document).ready(function () {
// FitVids - Makes video embeds responsive
$(".gh-content").fitVids();
});
const maxImageWidth = 2000;
function getHighestResImg(element) {
if (element.getAttribute("srcset")) {
return element
.getAttribute("srcset")
.split(",")
.reduce(
(acc, item) => {
let [url, width] = item.trim().split(" ");
width = parseInt(width);
if (width > acc.width && width < maxImageWidth) return { width, url };
return acc;
},
{ width: 0, url: "" }
).url;
}
return element.getAttribute("src");
}
$(document).ready(function () {
const articles = document.getElementById('site-main').getElementsByClassName('article');
const viewers = Array.from(articles).map(article => new Viewer(article, {
toolbar: 0,
inheritedAttributes: [],
url: (image) => getHighestResImg(image),
}));
});
</script>
{{!-- Ghost outputs required functional scripts with this tag - it should always be the last thing before the closing body tag --}}

View file

@ -1,179 +1,179 @@
{
"name": "casper",
"description": "A clean, minimal default theme for the Ghost publishing platform",
"demo": "https://demo.ghost.io",
"version": "5.7.0",
"engines": {
"ghost": ">=5.0.0"
"name": "mnts",
"description": "A clean, minimal default theme for the Ghost publishing platform",
"demo": "https://demo.ghost.io",
"version": "5.4.9",
"engines": {
"ghost": ">=5.0.0"
},
"license": "MIT",
"screenshots": {
"desktop": "assets/screenshot-desktop.jpg",
"mobile": "assets/screenshot-mobile.jpg"
},
"scripts": {
"dev": "gulp",
"zip": "gulp zip",
"test": "gscan .",
"test:ci": "gscan --fatal --verbose .",
"pretest": "gulp build",
"preship": "yarn test",
"ship": "STATUS=$(git status --porcelain); echo $STATUS; if [ -z \"$STATUS\" ]; then yarn version && git push --follow-tags; else echo \"Uncomitted changes found.\" && exit 1; fi",
"postship": "git fetch && gulp release"
},
"author": {
"name": "Ghost Foundation",
"email": "hello@ghost.org",
"url": "https://ghost.org/"
},
"gpm": {
"type": "theme",
"categories": [
"Minimal",
"Magazine"
]
},
"keywords": [
"ghost",
"theme",
"ghost-theme"
],
"repository": {
"type": "git",
"url": "https://github.com/TryGhost/Casper.git"
},
"bugs": "https://github.com/TryGhost/Casper/issues",
"contributors": "https://github.com/TryGhost/Casper/graphs/contributors",
"devDependencies": {
"@tryghost/release-utils": "0.8.1",
"autoprefixer": "10.4.7",
"beeper": "2.1.0",
"cssnano": "5.1.12",
"gscan": "4.36.1",
"gulp": "4.0.2",
"gulp-concat": "2.6.1",
"gulp-livereload": "4.0.2",
"gulp-postcss": "9.0.1",
"gulp-uglify": "3.0.2",
"gulp-zip": "5.1.0",
"inquirer": "8.2.4",
"postcss": "8.2.13",
"postcss-color-mod-function": "3.0.3",
"postcss-easy-import": "4.0.0",
"pump": "3.0.0"
},
"browserslist": [
"defaults"
],
"config": {
"posts_per_page": 25,
"image_sizes": {
"xxs": {
"width": 30
},
"xs": {
"width": 100
},
"s": {
"width": 300
},
"m": {
"width": 600
},
"l": {
"width": 1000
},
"xl": {
"width": 2000
}
},
"license": "MIT",
"screenshots": {
"desktop": "assets/screenshot-desktop.jpg",
"mobile": "assets/screenshot-mobile.jpg"
},
"scripts": {
"dev": "gulp",
"zip": "gulp zip",
"test": "gscan .",
"test:ci": "gscan --fatal --verbose .",
"pretest": "gulp build",
"preship": "yarn test",
"ship": "STATUS=$(git status --porcelain); echo $STATUS; if [ -z \"$STATUS\" ]; then yarn version && git push --follow-tags; else echo \"Uncomitted changes found.\" && exit 1; fi",
"postship": "git fetch && gulp release"
},
"author": {
"name": "Ghost Foundation",
"email": "hello@ghost.org",
"url": "https://ghost.org/"
},
"gpm": {
"type": "theme",
"categories": [
"Minimal",
"Magazine"
]
},
"keywords": [
"ghost",
"theme",
"ghost-theme"
],
"repository": {
"type": "git",
"url": "https://github.com/TryGhost/Casper.git"
},
"bugs": "https://github.com/TryGhost/Casper/issues",
"contributors": "https://github.com/TryGhost/Casper/graphs/contributors",
"devDependencies": {
"@tryghost/release-utils": "0.8.1",
"autoprefixer": "10.4.7",
"beeper": "2.1.0",
"cssnano": "5.1.12",
"gscan": "4.36.1",
"gulp": "4.0.2",
"gulp-concat": "2.6.1",
"gulp-livereload": "4.0.2",
"gulp-postcss": "9.0.1",
"gulp-uglify": "3.0.2",
"gulp-zip": "5.1.0",
"inquirer": "8.2.4",
"postcss": "8.2.13",
"postcss-color-mod-function": "3.0.3",
"postcss-easy-import": "4.0.0",
"pump": "3.0.0"
},
"browserslist": [
"defaults"
],
"config": {
"posts_per_page": 25,
"image_sizes": {
"xxs": {
"width": 30
},
"xs": {
"width": 100
},
"s": {
"width": 300
},
"m": {
"width": 600
},
"l": {
"width": 1000
},
"xl": {
"width": 2000
}
},
"card_assets": true,
"custom": {
"navigation_layout": {
"type": "select",
"options": [
"Logo on cover",
"Logo in the middle",
"Stacked"
],
"default": "Logo on cover"
},
"title_font": {
"type": "select",
"options": [
"Modern sans-serif",
"Elegant serif"
],
"default": "Modern sans-serif"
},
"body_font": {
"type": "select",
"options": [
"Modern sans-serif",
"Elegant serif"
],
"default": "Elegant serif"
},
"show_publication_cover": {
"type": "boolean",
"default": true,
"group": "homepage"
},
"header_style": {
"type": "select",
"options": [
"Center aligned",
"Left aligned",
"Hidden"
],
"default": "Center aligned",
"group": "homepage"
},
"feed_layout": {
"type": "select",
"options": [
"Classic",
"Grid",
"List"
],
"default": "Classic",
"group": "homepage"
},
"color_scheme": {
"type": "select",
"options": [
"Light",
"Dark",
"Auto"
],
"default": "Light"
},
"post_image_style": {
"type": "select",
"options": [
"Wide",
"Full",
"Small",
"Hidden"
],
"default": "Wide",
"group": "post"
},
"email_signup_text": {
"type": "text",
"default": "Sign up for more like this.",
"group": "post"
},
"show_recent_posts_footer": {
"type": "boolean",
"default": true,
"group": "post"
}
}
},
"renovate": {
"extends": [
"@tryghost:theme"
]
"card_assets": true,
"custom": {
"navigation_layout": {
"type": "select",
"options": [
"Logo on cover",
"Logo in the middle",
"Stacked"
],
"default": "Logo on cover"
},
"title_font": {
"type": "select",
"options": [
"Modern sans-serif",
"Elegant serif"
],
"default": "Modern sans-serif"
},
"body_font": {
"type": "select",
"options": [
"Modern sans-serif",
"Elegant serif"
],
"default": "Elegant serif"
},
"show_publication_cover": {
"type": "boolean",
"default": true,
"group": "homepage"
},
"header_style": {
"type": "select",
"options": [
"Center aligned",
"Left aligned",
"Hidden"
],
"default": "Center aligned",
"group": "homepage"
},
"feed_layout": {
"type": "select",
"options": [
"Classic",
"Grid",
"List"
],
"default": "Classic",
"group": "homepage"
},
"color_scheme": {
"type": "select",
"options": [
"Light",
"Dark",
"Auto"
],
"default": "Light"
},
"post_image_style": {
"type": "select",
"options": [
"Wide",
"Full",
"Small",
"Hidden"
],
"default": "Wide",
"group": "post"
},
"email_signup_text": {
"type": "text",
"default": "Sign up for more like this.",
"group": "post"
},
"show_recent_posts_footer": {
"type": "boolean",
"default": true,
"group": "post"
}
}
},
"renovate": {
"extends": [
"@tryghost:theme"
]
}
}

View file

@ -10,32 +10,32 @@ into the {body} tag of the default.hbs template --}}
<main id="site-main" class="site-main">
<article class="article {{post_class}}">
{{#match @page.show_title_and_feature_image}}
<header class="article-header gh-canvas">
{{#match @page.show_title_and_feature_image}}
<header class="article-header gh-canvas">
<h1 class="article-title">{{title}}</h1>
<h1 class="article-title">{{title}}</h1>
{{#if feature_image}}
<figure class="article-image">
{{!-- This is a responsive image, it loads different sizes depending on device
https://medium.freecodecamp.org/a-guide-to-responsive-images-with-ready-to-use-templates-c400bd65c433 --}}
<img
srcset="{{img_url feature_image size="s"}} 300w,
{{img_url feature_image size="m"}} 600w,
{{img_url feature_image size="l"}} 1000w,
{{img_url feature_image size="xl"}} 2000w"
sizes="(min-width: 1400px) 1400px, 92vw"
src="{{img_url feature_image size="xl"}}"
alt="{{#if feature_image_alt}}{{feature_image_alt}}{{else}}{{title}}{{/if}}"
/>
{{#if feature_image_caption}}
<figcaption>{{feature_image_caption}}</figcaption>
{{/if}}
</figure>
{{/if}}
{{#if feature_image}}
<figure class="article-image">
{{!-- This is a responsive image, it loads different sizes depending on device
https://medium.freecodecamp.org/a-guide-to-responsive-images-with-ready-to-use-templates-c400bd65c433 --}}
<img
srcset="{{img_url feature_image size="s"}} 300w,
{{img_url feature_image size="m"}} 600w,
{{img_url feature_image size="l"}} 1000w,
{{img_url feature_image size="xl"}} 2000w"
sizes="(min-width: 1400px) 1400px, 92vw"
src="{{img_url feature_image size="xl"}}"
alt="{{#if feature_image_alt}}{{feature_image_alt}}{{else}}{{title}}{{/if}}"
/>
{{#if feature_image_caption}}
<figcaption>{{feature_image_caption}}</figcaption>
{{/if}}
</figure>
{{/if}}
</header>
{{/match}}
</header>
{{/match}}
<section class="gh-content gh-canvas">
{{content}}
@ -44,4 +44,4 @@ into the {body} tag of the default.hbs template --}}
</article>
</main>
{{/post}}
{{/post}}

1
partials/icons/email.hbs Normal file
View file

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 6.4.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path d="M64 112c-8.8 0-16 7.2-16 16v22.1L220.5 291.7c20.7 17 50.4 17 71.1 0L464 150.1V128c0-8.8-7.2-16-16-16H64zM48 212.2V384c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V212.2L322 328.8c-38.4 31.5-93.7 31.5-132 0L48 212.2zM0 128C0 92.7 28.7 64 64 64H448c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128z"/></svg>

After

Width:  |  Height:  |  Size: 567 B

View file

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Pro 6.4.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

View file

@ -32,20 +32,6 @@ into the {body} tag of the default.hbs template --}}
<div class="article-byline">
<section class="article-byline-content">
<ul class="author-list">
{{#foreach authors}}
<li class="author-list-item">
{{#if profile_image}}
<a href="{{url}}" class="author-avatar" aria-label="Read more of {{name}}">
<img class="author-profile-image" src="{{img_url profile_image size="xs"}}" alt="{{name}}" />
</a>
{{else}}
<a href="{{url}}" class="author-avatar author-profile-image" aria-label="Read more of {{name}}">{{> "icons/avatar"}}</a>
{{/if}}
</li>
{{/foreach}}
</ul>
<div class="article-byline-meta">
<h4 class="author-name">{{authors}}</h4>
<div class="byline-meta-content">
@ -86,6 +72,15 @@ into the {body} tag of the default.hbs template --}}
{{content}}
</section>
<section class="comment-via-email gh-canvas">
<p aria-hidden="true">---</p>
<p>
This site is not using any commenting system, but you can share your thoughts with the author
<a href="mailto: me@mnts.dev?subject=Comment%20on%20{{title}}" type="_blank" rel="noopener noreferrer">by sending an email to me@mnts.dev</a>.
</p>
<p aria-hidden="true">---</p>
</section>
{{#if comments}}
<section class="article-comments gh-canvas">
{{comments}}