Very initial commit to get going
This commit is contained in:
commit
58d06e9f0d
20 changed files with 4705 additions and 0 deletions
31
.eleventy.js
Normal file
31
.eleventy.js
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
module.exports = function (eleventyConfig) {
|
||||||
|
eleventyConfig.addPassthroughCopy ("src/media");
|
||||||
|
eleventyConfig.addPassthroughCopy ("src/resources");
|
||||||
|
eleventyConfig.addPassthroughCopy ("src/robots.txt");
|
||||||
|
|
||||||
|
eleventyConfig.addPlugin( require("@11ty/eleventy-plugin-rss") );
|
||||||
|
|
||||||
|
const {
|
||||||
|
DateTime
|
||||||
|
} = require("luxon");
|
||||||
|
|
||||||
|
// https://html.spec.whatwg.org/multipage/common-microsyntaxes.html#valid-date-string
|
||||||
|
eleventyConfig.addFilter('htmlDateString', (dateObj) => {
|
||||||
|
return DateTime.fromJSDate(dateObj, {
|
||||||
|
zone: 'utc'
|
||||||
|
}).toFormat('yyyy-MM-dd');
|
||||||
|
});
|
||||||
|
|
||||||
|
eleventyConfig.addFilter("readableDate", dateObj => {
|
||||||
|
return DateTime.fromJSDate(dateObj, {
|
||||||
|
zone: 'utc'
|
||||||
|
}).toFormat("yyyy-MM-dd");
|
||||||
|
});
|
||||||
|
|
||||||
|
return {
|
||||||
|
dir: {
|
||||||
|
input: "src",
|
||||||
|
output: "public",
|
||||||
|
},
|
||||||
|
};
|
||||||
|
};
|
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
node_modules
|
||||||
|
public
|
4096
package-lock.json
generated
Normal file
4096
package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load diff
17
package.json
Normal file
17
package.json
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
{
|
||||||
|
"name": "cheri.pink",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"description": "Cherie's personal website",
|
||||||
|
"main": "index.js",
|
||||||
|
"scripts": {
|
||||||
|
"start": "eleventy --serve",
|
||||||
|
"build": "eleventy"
|
||||||
|
},
|
||||||
|
"keywords": [],
|
||||||
|
"author": "cheri",
|
||||||
|
"license": "MIT",
|
||||||
|
"devDependencies": {
|
||||||
|
"@11ty/eleventy": "^2.0.0",
|
||||||
|
"@11ty/eleventy-plugin-rss": "^1.2.0"
|
||||||
|
}
|
||||||
|
}
|
8
src/_data/site.json
Normal file
8
src/_data/site.json
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
{
|
||||||
|
"name": "Cherie's pink site",
|
||||||
|
"url": "https://cheri.pink",
|
||||||
|
"authorName": "cheri",
|
||||||
|
"description": "A personal website with random things, sometimes a blog, Cherie's corner of the internet.",
|
||||||
|
"language": "en",
|
||||||
|
"favicon": "https://cheri.pink/media/favicon.svg"
|
||||||
|
}
|
48
src/_includes/base.njk
Normal file
48
src/_includes/base.njk
Normal file
|
@ -0,0 +1,48 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
|
<meta name="author" content="{{ site.authorName }}">
|
||||||
|
<meta name="description" content="{{ site.description }}">
|
||||||
|
<link rel="icon" href="{{ site.favicon }}" type="image/svg+xml" />
|
||||||
|
|
||||||
|
<title>{{ title }}</title>
|
||||||
|
<link rel="stylesheet" href="/resources/style.css">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<nav class="menu">
|
||||||
|
<div class="nav-left">
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
<a href="/">
|
||||||
|
<img class="logo" src="/media/cherry-blossom.png" alt="" />
|
||||||
|
<span class="sitename">{{ site.name }}</span>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div class="nav-right">
|
||||||
|
<ul>
|
||||||
|
<li><a href="/about.html">about</a></li>
|
||||||
|
<li><a href="https://git.vibb.ro">git</a></li>
|
||||||
|
<li><a href="https://live.cheri.pink">livestreams</a></li>
|
||||||
|
<li><a href="/posts/">posts</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<div class="content">
|
||||||
|
{{ content | safe }}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<footer>
|
||||||
|
<p>
|
||||||
|
Brought here with love <3.
|
||||||
|
Content licensed under <a rel="license" href="http://creativecommons.org/licenses/by-nc/4.0/"><img alt="Creative Commons License" style="border-width:0" src="https://i.creativecommons.org/l/by-nc/4.0/80x15.png" /></a>
|
||||||
|
</p>
|
||||||
|
</footer>
|
||||||
|
<script src="/resources/themechange.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
9
src/_includes/listposts.njk
Normal file
9
src/_includes/listposts.njk
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
<ul>
|
||||||
|
{% for post in listposts %}
|
||||||
|
<li>
|
||||||
|
<strong><a href="{{ post.url | url }}"> {{ post.data.title }}</a></strong>
|
||||||
|
-
|
||||||
|
<time datetime="{{ post.date | htmlDateString}}">{{ post.date | readableDate}}</time>
|
||||||
|
</li>
|
||||||
|
{% endfor %}
|
||||||
|
</ul>
|
8
src/_includes/post.njk
Normal file
8
src/_includes/post.njk
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
---
|
||||||
|
layout: base.njk
|
||||||
|
---
|
||||||
|
<h1>{{ title }}</h1>
|
||||||
|
<h3>{{ date }}</h3>
|
||||||
|
<article>
|
||||||
|
{{ content | safe }}
|
||||||
|
</article>
|
25
src/feed.njk
Normal file
25
src/feed.njk
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
---
|
||||||
|
permalink: /feed.xml
|
||||||
|
eleventyExcludeFromCollections: true
|
||||||
|
---
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xml:base="{{ site.url }}" xmlns:atom="http://www.w3.org/2005/Atom">
|
||||||
|
<channel>
|
||||||
|
<title>{{ site.name }}</title>
|
||||||
|
<link>{{ site.url }}</link>
|
||||||
|
<atom:link href="{{ permalink | absoluteUrl(site.url) }}" rel="self" type="application/rss+xml" />
|
||||||
|
<description>{{ site.description }}</description>
|
||||||
|
<language>{{ site.language }}</language>
|
||||||
|
{%- for post in collections.posts | reverse %}
|
||||||
|
{%- set absolutePostUrl = post.url | absoluteUrl(site.url) %}
|
||||||
|
<item>
|
||||||
|
<title>{{ post.data.title }}</title>
|
||||||
|
<link>{{ absolutePostUrl }}</link>
|
||||||
|
<description>{{ post.templateContent | htmlToAbsoluteUrls(absolutePostUrl) }}</description>
|
||||||
|
<pubDate>{{ post.date | dateToRfc822 }}</pubDate>
|
||||||
|
<dc:creator>{{ site.authorName }}</dc:creator>
|
||||||
|
<guid>{{ absolutePostUrl }}</guid>
|
||||||
|
</item>
|
||||||
|
{%- endfor %}
|
||||||
|
</channel>
|
||||||
|
</rss>
|
12
src/index.md
Normal file
12
src/index.md
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
---
|
||||||
|
title: Hello thereee
|
||||||
|
layout: base.njk
|
||||||
|
---
|
||||||
|
|
||||||
|
# My website woah
|
||||||
|
|
||||||
|
This is a site wew
|
||||||
|
|
||||||
|
**Uhh here is** more stuff <abreviation>DOE</abreviation>
|
||||||
|
|
||||||
|
I just want to write some content here
|
BIN
src/media/cheri-avi.png
Normal file
BIN
src/media/cheri-avi.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 121 KiB |
BIN
src/media/cherry-blossom.png
Normal file
BIN
src/media/cherry-blossom.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 9.4 KiB |
6
src/posts.njk
Normal file
6
src/posts.njk
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
---
|
||||||
|
layout: base.njk
|
||||||
|
permalink: /posts/
|
||||||
|
---
|
||||||
|
{% set listposts = collections.posts %}
|
||||||
|
{% include "listposts.njk" %}
|
21
src/posts/another-post.md
Normal file
21
src/posts/another-post.md
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
---
|
||||||
|
title: wahoo this is another post
|
||||||
|
description: This post also has a proper description lmao
|
||||||
|
date: 2023-02-11 09:13:21
|
||||||
|
---
|
||||||
|
|
||||||
|
## Wow!
|
||||||
|
|
||||||
|
This is yet another post.
|
||||||
|
|
||||||
|
Here is a [link](https://ddg.gg)
|
||||||
|
|
||||||
|
Here is an [not pressed link](https://example.org)
|
||||||
|
|
||||||
|
<p style="background: var(--bg)">bg</p>
|
||||||
|
<p style="background: var(--fg)">fg</p>
|
||||||
|
<p style="background: var(--link)">link</p>
|
||||||
|
<p style="background: var(--link_v)">link_v</p>
|
||||||
|
<p style="background: var(--link_h)">link_h</p>
|
||||||
|
<p style="background: var(--bg_grey)">bg_grey</p>
|
||||||
|
<p style="background: var(--dark_grey)">dark_grey</p>
|
4
src/posts/posts.json
Normal file
4
src/posts/posts.json
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
{
|
||||||
|
"layout": "post.njk",
|
||||||
|
"tags": "posts"
|
||||||
|
}
|
9
src/posts/test-post.md
Normal file
9
src/posts/test-post.md
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
---
|
||||||
|
tags: posts
|
||||||
|
title: This is a test post!
|
||||||
|
date: 2022-02-12
|
||||||
|
---
|
||||||
|
|
||||||
|
Here I am going to write **something**.
|
||||||
|
> Very fancy
|
||||||
|
|
363
src/resources/style.css
Normal file
363
src/resources/style.css
Normal file
|
@ -0,0 +1,363 @@
|
||||||
|
html {
|
||||||
|
font-size: 100%;
|
||||||
|
overflow-y: scroll;
|
||||||
|
-webkit-text-size-adjust: 100%;
|
||||||
|
-ms-text-size-adjust: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
:root {
|
||||||
|
--bg: #f7caca;
|
||||||
|
--fg: #2c2c3b;
|
||||||
|
--link: #FF5975;
|
||||||
|
--link_v: #F8758B;
|
||||||
|
--link_h: #771e2d;
|
||||||
|
--bg_grey: #ebadc1;
|
||||||
|
--dark_grey: #f46c97;
|
||||||
|
}
|
||||||
|
@media (prefers-color-scheme: dark) {
|
||||||
|
:root {
|
||||||
|
--bg: #302c3b;
|
||||||
|
--fg: #fdf0f0;
|
||||||
|
--link: #ff597d;
|
||||||
|
--link_v: #f87596;
|
||||||
|
--link_h: #f94578;
|
||||||
|
--bg_grey: #2d2531;
|
||||||
|
--dark_grey: #221c25;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.logo {
|
||||||
|
max-height: 30px
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
color: var(--fg);
|
||||||
|
font-family: 'Open Sans', sans-serif;
|
||||||
|
font-size: 12px;
|
||||||
|
line-height: 1.5em;
|
||||||
|
padding: 1em;
|
||||||
|
margin: auto;
|
||||||
|
max-width: 52em;
|
||||||
|
background: var(--bg);
|
||||||
|
}
|
||||||
|
|
||||||
|
a {
|
||||||
|
color: var(--link);
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
a:visited {
|
||||||
|
color: var(--link_v);
|
||||||
|
}
|
||||||
|
|
||||||
|
a:hover {
|
||||||
|
color: var(--link_h);
|
||||||
|
cursor:pointer;
|
||||||
|
background-color: var(--dark_grey);
|
||||||
|
}
|
||||||
|
|
||||||
|
a:active {
|
||||||
|
color: var(--link_h);
|
||||||
|
}
|
||||||
|
|
||||||
|
a:focus {
|
||||||
|
outline: thin dotted;
|
||||||
|
}
|
||||||
|
|
||||||
|
a:hover,
|
||||||
|
a:active {
|
||||||
|
outline: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
p {
|
||||||
|
margin: 1em 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
img {
|
||||||
|
max-width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
h1,
|
||||||
|
h2,
|
||||||
|
h3,
|
||||||
|
h4,
|
||||||
|
h5,
|
||||||
|
h6 {
|
||||||
|
font-weight: 600;
|
||||||
|
color: var(--fg);
|
||||||
|
line-height: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
h4,
|
||||||
|
h5,
|
||||||
|
h6 {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
h1 {
|
||||||
|
font-size: 1.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
h2 {
|
||||||
|
font-size: 1.2em;
|
||||||
|
}
|
||||||
|
|
||||||
|
h3 {
|
||||||
|
font-size: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
h4 {
|
||||||
|
font-size: 0.9em;
|
||||||
|
}
|
||||||
|
|
||||||
|
h5 {
|
||||||
|
font-size: 0.9em;
|
||||||
|
}
|
||||||
|
|
||||||
|
h6 {
|
||||||
|
font-size: 0.9em;
|
||||||
|
}
|
||||||
|
|
||||||
|
blockquote {
|
||||||
|
color: var(--fg);
|
||||||
|
margin: 0;
|
||||||
|
padding-left: 3em;
|
||||||
|
border-left: 0.5em var(--dark_grey) solid;
|
||||||
|
}
|
||||||
|
|
||||||
|
pre,
|
||||||
|
code,
|
||||||
|
kbd,
|
||||||
|
samp {
|
||||||
|
font-family: 'Fira Code', monospace;
|
||||||
|
font-size: 0.98em;
|
||||||
|
}
|
||||||
|
|
||||||
|
code {
|
||||||
|
white-space: pre;
|
||||||
|
white-space: pre-wrap;
|
||||||
|
word-wrap: break-word;
|
||||||
|
background: var(--bg_grey);
|
||||||
|
color: var(--fg);
|
||||||
|
padding: 3px;
|
||||||
|
border-radius: 3px;
|
||||||
|
}
|
||||||
|
pre > code {
|
||||||
|
display: block;
|
||||||
|
padding: 10px 15px;
|
||||||
|
}
|
||||||
|
b,
|
||||||
|
strong {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
dfn {
|
||||||
|
font-style: italic;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
sub,
|
||||||
|
sup {
|
||||||
|
font-size: 75%;
|
||||||
|
line-height: 0;
|
||||||
|
position: relative;
|
||||||
|
vertical-align: baseline;
|
||||||
|
}
|
||||||
|
|
||||||
|
sup {
|
||||||
|
top: -0.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
sub {
|
||||||
|
bottom: -0.25em;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul,
|
||||||
|
ol {
|
||||||
|
margin: 1em 0;
|
||||||
|
padding: 0 0 0 2em;
|
||||||
|
}
|
||||||
|
|
||||||
|
li p:last-child {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
dd {
|
||||||
|
margin: 0 0 0 2em;
|
||||||
|
}
|
||||||
|
|
||||||
|
img {
|
||||||
|
border: 0;
|
||||||
|
-ms-interpolation-mode: bicubic;
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
|
||||||
|
table {
|
||||||
|
border-collapse: collapse;
|
||||||
|
border-spacing: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
td {
|
||||||
|
vertical-align: top;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media only screen and (max-width: 768px) {
|
||||||
|
body {
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
.sitename {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media only screen and (min-width: 768px) {
|
||||||
|
body {
|
||||||
|
font-size: 16px;
|
||||||
|
}
|
||||||
|
article {
|
||||||
|
margin: 50px 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media print {
|
||||||
|
* {
|
||||||
|
background: transparent !important;
|
||||||
|
color: black !important;
|
||||||
|
filter: none !important;
|
||||||
|
-ms-filter: none !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
font-size: 12pt;
|
||||||
|
max-width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
a,
|
||||||
|
a:visited {
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
|
||||||
|
hr {
|
||||||
|
height: 1px;
|
||||||
|
border: 0;
|
||||||
|
border-bottom: 1px solid black;
|
||||||
|
}
|
||||||
|
|
||||||
|
a[href]:after {
|
||||||
|
content: " (" attr(href) ")";
|
||||||
|
}
|
||||||
|
|
||||||
|
abbr[title]:after {
|
||||||
|
content: " (" attr(title) ")";
|
||||||
|
}
|
||||||
|
|
||||||
|
.ir a:after,
|
||||||
|
a[href^="javascript:"]:after,
|
||||||
|
a[href^="#"]:after {
|
||||||
|
content: "";
|
||||||
|
}
|
||||||
|
|
||||||
|
pre,
|
||||||
|
blockquote {
|
||||||
|
border: 1px solid var(--dark_grey);
|
||||||
|
padding-right: 1em;
|
||||||
|
page-break-inside: avoid;
|
||||||
|
}
|
||||||
|
|
||||||
|
tr,
|
||||||
|
img {
|
||||||
|
page-break-inside: avoid;
|
||||||
|
}
|
||||||
|
|
||||||
|
img {
|
||||||
|
max-width: 100% !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
@page :left {
|
||||||
|
margin: 15mm 20mm 15mm 10mm;
|
||||||
|
}
|
||||||
|
|
||||||
|
@page :right {
|
||||||
|
margin: 15mm 10mm 15mm 20mm;
|
||||||
|
}
|
||||||
|
|
||||||
|
p,
|
||||||
|
h2,
|
||||||
|
h3 {
|
||||||
|
orphans: 3;
|
||||||
|
widows: 3;
|
||||||
|
}
|
||||||
|
|
||||||
|
h2,
|
||||||
|
h3 {
|
||||||
|
page-break-after: avoid;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
nav {
|
||||||
|
background-color: var(--bg_grey);
|
||||||
|
padding: 5px;
|
||||||
|
}
|
||||||
|
nav ul {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
list-style-type: none;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
nav ul li {
|
||||||
|
/* This allow us to arrange list items in a row, without using float */
|
||||||
|
display: inline-block;
|
||||||
|
list-style-type: none;
|
||||||
|
}
|
||||||
|
/* Create a style for the first level items */
|
||||||
|
nav > div > ul > li > a {
|
||||||
|
color: var(--fg) !important;
|
||||||
|
display: block;
|
||||||
|
line-height: 2em;
|
||||||
|
padding: 0.5em 0.5em;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
nav > div.nav-right > ul > li > a {
|
||||||
|
padding: 0.5em 0.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
nav > div > ul > li > a:hover {
|
||||||
|
color: var(--fg) !important;
|
||||||
|
}
|
||||||
|
.nav-left {
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
.nav-left ul li {
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
.nav-right ul li {
|
||||||
|
float: right;
|
||||||
|
}
|
||||||
|
.logo {
|
||||||
|
margin-right: 0.5em
|
||||||
|
}
|
||||||
|
article img {
|
||||||
|
margin: 1em 0;
|
||||||
|
}
|
||||||
|
p.date {
|
||||||
|
font-size: 13px;
|
||||||
|
color: var(--fg);
|
||||||
|
}
|
||||||
|
ul.articles {
|
||||||
|
list-style: none;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul.articles li {
|
||||||
|
padding-bottom: 10px;
|
||||||
|
}
|
||||||
|
.content {
|
||||||
|
padding: 0.5em;
|
||||||
|
}
|
||||||
|
footer {
|
||||||
|
background-color: var(--bg_grey);
|
||||||
|
padding: 5px;
|
||||||
|
font-size: 13px;
|
||||||
|
}
|
29
src/resources/themechange.js
Normal file
29
src/resources/themechange.js
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
// Get the theme toggle input
|
||||||
|
const currentTheme = localStorage.getItem("theme"); // If the current local storage item can be found
|
||||||
|
|
||||||
|
if (
|
||||||
|
window.matchMedia &&
|
||||||
|
window.matchMedia("(prefers-color-scheme: dark)").matches &&
|
||||||
|
!localStorage.getItem("theme")
|
||||||
|
) {
|
||||||
|
localStorage.setItem("theme", "dark");
|
||||||
|
}
|
||||||
|
|
||||||
|
// Function that will switch the theme based on the if the theme toggle is checked or not
|
||||||
|
function switchTheme() {
|
||||||
|
if (document.documentElement.getAttribute("data-theme") === "dark") {
|
||||||
|
document.documentElement.setAttribute("data-theme", "light");
|
||||||
|
// Set the user's theme preference to dark
|
||||||
|
localStorage.setItem("theme", "light");
|
||||||
|
} else {
|
||||||
|
document.documentElement.setAttribute("data-theme", "dark");
|
||||||
|
// Set the user's theme preference to light
|
||||||
|
localStorage.setItem("theme", "dark");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Get the current theme from local storage
|
||||||
|
if (currentTheme) {
|
||||||
|
// Set the body data-theme attribute to match the local storage item
|
||||||
|
document.documentElement.setAttribute("data-theme", currentTheme);
|
||||||
|
}
|
4
src/robots.txt
Normal file
4
src/robots.txt
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
Sitemap: https://cheri.pink/sitemap.xml
|
||||||
|
|
||||||
|
User-agent: *
|
||||||
|
Disallow:
|
13
src/sitemap.njk
Normal file
13
src/sitemap.njk
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
---
|
||||||
|
permalink: /sitemap.xml
|
||||||
|
eleventyExcludeFromCollections: true
|
||||||
|
---
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
||||||
|
{% for page in collections.all %}
|
||||||
|
<url>
|
||||||
|
<loc>{{ site.url }}{{ page.url | url }}</loc>
|
||||||
|
<lastmod>{{ page.date.toISOString() }}</lastmod>
|
||||||
|
</url>
|
||||||
|
{% endfor %}
|
||||||
|
</urlset>
|
Loading…
Reference in a new issue