Use 4 level indentation everywhere

master
Maik de Kruif 1 month ago
parent dd9e97016c
commit c859780f74
No known key found for this signature in database
GPG Key ID: DB1A8C782DD43CB3
  1. 110
      .github/workflows/hugo_cd.yml
  2. 50
      .github/workflows/hugo_ci.yml
  3. 351
      config/_default/hugo.toml
  4. 4
      config/production/hugo.toml
  5. 16
      themes/maik-blog/assets/js/menu.js
  6. 56
      themes/maik-blog/assets/js/nav.js
  7. 26
      themes/maik-blog/assets/js/theme.js
  8. 152
      themes/maik-blog/assets/scss/_buttons.scss
  9. 13
      themes/maik-blog/assets/scss/_code.scss
  10. 74
      themes/maik-blog/assets/scss/_fonts.scss
  11. 120
      themes/maik-blog/assets/scss/_footer.scss
  12. 72
      themes/maik-blog/assets/scss/_header.scss
  13. 78
      themes/maik-blog/assets/scss/_logo.scss
  14. 708
      themes/maik-blog/assets/scss/_main.scss
  15. 22
      themes/maik-blog/assets/scss/_masonry.scss
  16. 108
      themes/maik-blog/assets/scss/_menu.scss
  17. 4
      themes/maik-blog/assets/scss/_mixins.scss
  18. 122
      themes/maik-blog/assets/scss/_normalize.scss
  19. 330
      themes/maik-blog/assets/scss/_portfolio.scss
  20. 348
      themes/maik-blog/assets/scss/_portfolios.scss
  21. 164
      themes/maik-blog/assets/scss/_posts.scss
  22. 56
      themes/maik-blog/assets/scss/_sharing-buttons.scss
  23. 6
      themes/maik-blog/assets/scss/_variables.scss
  24. 800
      themes/maik-blog/assets/scss/syntax_highlighting.scss
  25. 6
      themes/maik-blog/i18n/en.toml
  26. 22
      themes/maik-blog/theme.toml

@ -1,62 +1,62 @@
name: Hugo CD
on:
push:
branches:
- "master"
push:
branches:
- "master"
defaults:
run:
working-directory: ./
run:
working-directory: ./
jobs:
build:
timeout-minutes: 6
name: Build
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup hugo
uses: peaceiris/actions-hugo@v3
with:
hugo-version: "latest"
extended: true
- name: Build
run: hugo --minify
- name: Upload deployment
uses: actions/upload-artifact@v4
with:
name: public-html
path: ./public
deploy:
timeout-minutes: 6
name: Deploy
runs-on: ubuntu-latest
needs: build
environment:
name: production
url: https://maik.dev/
steps:
- name: Download deployment
uses: actions/download-artifact@v4
with:
name: public-html
path: ./public-html
- name: Setup SSH config for remote server
run: |
mkdir -p ~/.ssh
echo "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/id_ed25519
echo "${{ secrets.SSH_HOST }} ssh-ed25519 ${{ secrets.SSH_HOST_KEY }}" > ~/.ssh/known_hosts
chmod 600 ~/.ssh/id_ed25519
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519
- name: Transfer deployment to remote server
run: |
rsync -avh --delete-after ./public-html/ ${{ secrets.SSH_USERNAME }}@${{ secrets.SSH_HOST }}:~/maik.dev
build:
timeout-minutes: 6
name: Build
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup hugo
uses: peaceiris/actions-hugo@v3
with:
hugo-version: "latest"
extended: true
- name: Build
run: hugo --minify
- name: Upload deployment
uses: actions/upload-artifact@v4
with:
name: public-html
path: ./public
deploy:
timeout-minutes: 6
name: Deploy
runs-on: ubuntu-latest
needs: build
environment:
name: production
url: https://maik.dev/
steps:
- name: Download deployment
uses: actions/download-artifact@v4
with:
name: public-html
path: ./public-html
- name: Setup SSH config for remote server
run: |
mkdir -p ~/.ssh
echo "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/id_ed25519
echo "${{ secrets.SSH_HOST }} ssh-ed25519 ${{ secrets.SSH_HOST_KEY }}" > ~/.ssh/known_hosts
chmod 600 ~/.ssh/id_ed25519
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519
- name: Transfer deployment to remote server
run: |
rsync -avh --delete-after ./public-html/ ${{ secrets.SSH_USERNAME }}@${{ secrets.SSH_HOST }}:~/maik.dev

@ -1,34 +1,34 @@
name: Hugo CI
on:
push:
branches:
- "*"
- "*/*"
- "**"
- "!master"
pull_request:
branches:
- "master"
push:
branches:
- "*"
- "*/*"
- "**"
- "!master"
pull_request:
branches:
- "master"
defaults:
run:
working-directory: ./
run:
working-directory: ./
jobs:
ci:
timeout-minutes: 5
name: CI
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
ci:
timeout-minutes: 5
name: CI
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup hugo
uses: peaceiris/actions-hugo@v3
with:
hugo-version: "latest"
extended: true
- name: Setup hugo
uses: peaceiris/actions-hugo@v3
with:
hugo-version: "latest"
extended: true
- name: Build
run: hugo -D -F
- name: Build
run: hugo -D -F

@ -10,192 +10,199 @@ pygmentsUseClasses = true
PygmentsStyle = "monokai"
archetypeDir = "archetypes"
contentDir = "content"
dataDir = "data"
layoutDir = "layouts"
publishDir = "public"
contentDir = "content"
dataDir = "data"
layoutDir = "layouts"
publishDir = "public"
buildDrafts = false
buildFuture = false
buildDrafts = false
buildFuture = false
buildExpired = false
canonifyURLs = true
enableRobotsTXT = true
enableGitInfo = true
enableEmoji = true
enableGitInfo = true
enableEmoji = true
[permalinks]
[permalinks.page]
posts = "/posts/:title/"
writeups = "/:sections/:title/"
# writeups = "/writeups/:title/"
portfolio = "/portfolio/:title/"
[permalinks.page]
posts = "/posts/:title/"
writeups = "/:sections/:title/"
# writeups = "/writeups/:title/"
portfolio = "/portfolio/:title/"
[outputs]
home = ["HTML", "RSS"]
page = ["HTML", "RSS"]
home = ["HTML", "RSS"]
page = ["HTML", "RSS"]
[pagination]
pagerSize = 12
pagerSize = 12
[params]
dateform = "Jan 2, 2006"
dateformShort = "Jan 2"
dateformNum = "2006-01-02"
dateformNumTime = "2006-01-02 15:04 -0700"
dateformMonth = "Jan, 2006"
# Metadata mostly used in document's head
description = "Hey there, my name is Maik de Kruif, I create websites, bots and other kinds of software. At the moment, I'm still studying computer science at Avans University of Applied Sciences. I am also a big fan of open-source software, which is why you'll find many of my projects on Github. And last but not least, I love playing around with cyber-security related stuff."
keywords = "Devloper, Software Engineer, Software Developer, Maik, Computer Science, Portfolio, Blog, Maik de Kruif"
images = [""]
genre = "Blog"
rssLimit = 15
showReadingTimeInList = false
homeSubtitle = "Software Engineering, Linux and Cyber Security"
# Prefix of link to the git commit detail page. GitInfo must be enabled.
gitUrl = "https://github.com/maikka39/Personal-Website/commit/"
# Add domain for GoatCounter to enable
goatCounter = "webstats.maik.dev"
# Show pageviews on posts, writeups, etc.
showPageViews = true
# Set disableReadOtherPosts to true in order to hide the links to other posts.
disableReadOtherPosts = false
# Sharing buttons
# There are a lot of buttons preconfigured. If you want to change them,
# generate the buttons here: https://sharingbuttons.io
# and add them into your own `layouts/partials/sharing-buttons.html`
# Preconfigured: facebook, twitter, tumblr, email, pinterest, linkedin, reddit, xing, whatsapp, hackernews, telegram
enableSharingButtons = true
sharingButtons = ["twitter", "email", "linkedin", "reddit", "whatsapp", "telegram"]
# Integrate Javascript files or stylesheets by adding the url to the external assets or by
# linking local files with their path relative to the static folder, e.g. "css/styles.css"
customCSS = []
customJS = []
# Toggle this option need to rebuild SCSS, requires extended version of Hugo
justifyContent = false # Set "text-align: justify" to .post-content.
# Default theme "light" or "dark"
defaultTheme = "light"
themeColor = "#252627"
# Colors for favicons
[params.favicon.color]
mask = "#252627"
msapplication = "#252627"
theme = "#252627"
[params.logo]
logoText = "$ cd /home/"
logoHomeLink = "/"
# Uncomment this if you want a portrait on your start page
[params.portrait]
path = "/img/home/portrait.png"
alt = "Portrait"
size = "175px"
[params.author]
name = "Maik de Kruif"
email = "maik@maik.dev"
twitter = "@maik_dev"
image = "/img/home/portrait.png"
[params.general]
twitter = "@maik_dev"
# Wallets
[[params.wallets]]
name = "XMR"
address = "83cfsXGHPaW81hKJtAPYZEgbfFqANMTXXRwghsBpjf5oTDRV3BnCC4jFno8tLTnF4C6gJzGjPEmpvjntXaiGBB7kVitkDKi"
# Social icons
[[params.social]]
name = "email"
url = "mailto:maik@maik.dev"
[[params.social]]
name = "github"
url = "https://github.com/maikka39"
[[params.social]]
name = "linkedin"
url = "https://www.linkedin.com/in/maikdekruif/"
[[params.social]]
name = "twitter"
url = "https://twitter.com/maik_dev"
[[params.social]]
name = "discord"
url = "https://discord.gg/wXCMdzCDcH"
[[params.social]]
name = "instagram"
url = "https://www.instagram.com/maik.dev/"
[[params.social]]
name = "stackoverflow"
url = "https://stackoverflow.com/users/9146982/maik-de-kruif"
# [[params.social]]
# name = "rss"
# url = "posts/index.xml"
# [[params.social]]
# name = "hackerrank"
# url = "https://www.hackerrank.com/maik_dev"
# [[params.social]]
# name = "medium"
# url = "https://medium.com/@maikka39"
[[params.social]]
name = "steam"
url = "https://steamcommunity.com/id/maikka39"
[[params.social]]
name = "reddit"
url = "https://www.reddit.com/user/maikka39"
# [[params.social]]
# name = "lbry"
# url = "https://lbry.tv/@Maik:c"
[[params.social]]
name = "youtube"
url = "https://www.youtube.com/channel/UCepNO6s7q0Kcyn8cc3rZNFA"
dateform = "Jan 2, 2006"
dateformShort = "Jan 2"
dateformNum = "2006-01-02"
dateformNumTime = "2006-01-02 15:04 -0700"
dateformMonth = "Jan, 2006"
# Metadata mostly used in document's head
description = "Hey there, my name is Maik de Kruif, I create websites, bots and other kinds of software. At the moment, I'm still studying computer science at Avans University of Applied Sciences. I am also a big fan of open-source software, which is why you'll find many of my projects on Github. And last but not least, I love playing around with cyber-security related stuff."
keywords = "Devloper, Software Engineer, Software Developer, Maik, Computer Science, Portfolio, Blog, Maik de Kruif"
images = [""]
genre = "Blog"
rssLimit = 15
showReadingTimeInList = false
homeSubtitle = "Software Engineering, Linux and Cyber Security"
# Prefix of link to the git commit detail page. GitInfo must be enabled.
gitUrl = "https://github.com/maikka39/Personal-Website/commit/"
# Add domain for GoatCounter to enable
goatCounter = "webstats.maik.dev"
# Show pageviews on posts, writeups, etc.
showPageViews = true
# Set disableReadOtherPosts to true in order to hide the links to other posts.
disableReadOtherPosts = false
# Sharing buttons
# There are a lot of buttons preconfigured. If you want to change them,
# generate the buttons here: https://sharingbuttons.io
# and add them into your own `layouts/partials/sharing-buttons.html`
# Preconfigured: facebook, twitter, tumblr, email, pinterest, linkedin, reddit, xing, whatsapp, hackernews, telegram
enableSharingButtons = true
sharingButtons = [
"twitter",
"email",
"linkedin",
"reddit",
"whatsapp",
"telegram",
]
# Integrate Javascript files or stylesheets by adding the url to the external assets or by
# linking local files with their path relative to the static folder, e.g. "css/styles.css"
customCSS = []
customJS = []
# Toggle this option need to rebuild SCSS, requires extended version of Hugo
justifyContent = false # Set "text-align: justify" to .post-content.
# Default theme "light" or "dark"
defaultTheme = "light"
themeColor = "#252627"
# Colors for favicons
[params.favicon.color]
mask = "#252627"
msapplication = "#252627"
theme = "#252627"
[params.logo]
logoText = "$ cd /home/"
logoHomeLink = "/"
# Uncomment this if you want a portrait on your start page
[params.portrait]
path = "/img/home/portrait.png"
alt = "Portrait"
size = "175px"
[params.author]
name = "Maik de Kruif"
email = "maik@maik.dev"
twitter = "@maik_dev"
image = "/img/home/portrait.png"
[params.general]
twitter = "@maik_dev"
# Wallets
[[params.wallets]]
name = "XMR"
address = "83cfsXGHPaW81hKJtAPYZEgbfFqANMTXXRwghsBpjf5oTDRV3BnCC4jFno8tLTnF4C6gJzGjPEmpvjntXaiGBB7kVitkDKi"
# Social icons
[[params.social]]
name = "email"
url = "mailto:maik@maik.dev"
[[params.social]]
name = "github"
url = "https://github.com/maikka39"
[[params.social]]
name = "linkedin"
url = "https://www.linkedin.com/in/maikdekruif/"
[[params.social]]
name = "twitter"
url = "https://twitter.com/maik_dev"
[[params.social]]
name = "discord"
url = "https://discord.gg/wXCMdzCDcH"
[[params.social]]
name = "instagram"
url = "https://www.instagram.com/maik.dev/"
[[params.social]]
name = "stackoverflow"
url = "https://stackoverflow.com/users/9146982/maik-de-kruif"
# [[params.social]]
# name = "rss"
# url = "posts/index.xml"
# [[params.social]]
# name = "hackerrank"
# url = "https://www.hackerrank.com/maik_dev"
# [[params.social]]
# name = "medium"
# url = "https://medium.com/@maikka39"
[[params.social]]
name = "steam"
url = "https://steamcommunity.com/id/maikka39"
[[params.social]]
name = "reddit"
url = "https://www.reddit.com/user/maikka39"
# [[params.social]]
# name = "lbry"
# url = "https://lbry.tv/@Maik:c"
[[params.social]]
name = "youtube"
url = "https://www.youtube.com/channel/UCepNO6s7q0Kcyn8cc3rZNFA"
[languages]
[languages.en]
weight = 1
copyright = "© Maik de Kruif (maik_dev). All rights reserved."
[languages.en]
weight = 1
copyright = "© Maik de Kruif (maik_dev). All rights reserved."
[menu]
[[menu.main]]
identifier = "about"
name = "About"
url = "about/"
[[menu.main]]
identifier = "portfolio"
name = "Portfolio"
url = "portfolio/"
[[menu.main]]
identifier = "posts"
name = "Posts"
url = "posts/"
[[menu.main]]
identifier = "writeups"
name = "Writeups"
url = "writeups/"
[[menu.main]]
identifier = "about"
name = "About"
url = "about/"
[[menu.main]]
identifier = "portfolio"
name = "Portfolio"
url = "portfolio/"
[[menu.main]]
identifier = "posts"
name = "Posts"
url = "posts/"
[[menu.main]]
identifier = "writeups"
name = "Writeups"
url = "writeups/"

@ -1,5 +1,5 @@
baseURL = "https://maik.dev/"
[services]
[services.googleAnalytics]
id = "UA-136337666-1"
[services.googleAnalytics]
id = "UA-136337666-1"

@ -3,20 +3,20 @@
const menuTrigger = document.querySelector(".menu-trigger");
const menu = document.querySelector(".menu");
const mobileQuery = getComputedStyle(document.body).getPropertyValue(
"--phoneWidth"
"--phoneWidth"
);
const isMobile = () => window.matchMedia(mobileQuery).matches;
const isMobileMenu = () => {
menuTrigger && menuTrigger.classList.toggle("hidden", !isMobile());
menu && menu.classList.toggle("hidden", isMobile());
menuTrigger && menuTrigger.classList.toggle("hidden", !isMobile());
menu && menu.classList.toggle("hidden", isMobile());
};
isMobileMenu();
menuTrigger &&
menuTrigger.addEventListener(
"click",
() => menu && menu.classList.toggle("hidden")
);
menuTrigger.addEventListener(
"click",
() => menu && menu.classList.toggle("hidden")
);
window.addEventListener("resize", isMobileMenu);
window.addEventListener("resize", isMobileMenu);

@ -1,38 +1,40 @@
// Path navigation on top left
window.addEventListener("load", () => {
const terminal = document.getElementById('nav-terminal')
const terminal = document.getElementById("nav-terminal");
const keyDown = (e) => {
if (e.keyCode === 13) {
if (document.activeElement !== document.body) return
if (terminal.textContent.length === 0) return
const keyDown = (e) => {
if (e.keyCode === 13) {
if (document.activeElement !== document.body) return;
if (terminal.textContent.length === 0) return;
if (terminal.textContent.includes("~")) terminal.textContent = ""
if (terminal.textContent.includes("~")) terminal.textContent = "";
window.location.href = window.location.origin + "/" + terminal.textContent
return
}
window.location.href =
window.location.origin + "/" + terminal.textContent;
return;
}
if (e.keyCode === 8) {
terminal.textContent = terminal.textContent.slice(0, -1)
return
}
if (e.keyCode === 8) {
terminal.textContent = terminal.textContent.slice(0, -1);
return;
}
if (e.keyCode === 192) {
if (terminal.textContent.length !== 0) return
if (e.keyCode === 192) {
if (terminal.textContent.length !== 0) return;
terminal.textContent += "~"
return
}
terminal.textContent += "~";
return;
}
if (e.keyCode === 191) {
terminal.textContent += "/"
return
}
if (e.keyCode === 191) {
terminal.textContent += "/";
return;
}
if (e.keyCode < 65 || e.keyCode > 90) return
if (e.keyCode < 65 || e.keyCode > 90) return;
terminal.textContent += e.key.toLowerCase()
}
terminal.textContent += e.key.toLowerCase();
};
document.addEventListener('keydown', keyDown)
})
document.addEventListener("keydown", keyDown);
});

@ -6,20 +6,20 @@ const isDark = theme === "dark";
var metaThemeColor = document.querySelector("meta[name=theme-color]");
if (theme !== null) {
document.body.classList.toggle("dark-theme", isDark);
isDark
? metaThemeColor.setAttribute("content", "#252627")
: metaThemeColor.setAttribute("content", "#fafafa");
document.body.classList.toggle("dark-theme", isDark);
isDark
? metaThemeColor.setAttribute("content", "#252627")
: metaThemeColor.setAttribute("content", "#fafafa");
}
themeToggle.addEventListener("click", () => {
document.body.classList.toggle("dark-theme");
window.localStorage &&
window.localStorage.setItem(
"theme",
document.body.classList.contains("dark-theme") ? "dark" : "light"
);
document.body.classList.contains("dark-theme")
? metaThemeColor.setAttribute("content", "#252627")
: metaThemeColor.setAttribute("content", "#fafafa");
document.body.classList.toggle("dark-theme");
window.localStorage &&
window.localStorage.setItem(
"theme",
document.body.classList.contains("dark-theme") ? "dark" : "light"
);
document.body.classList.contains("dark-theme")
? metaThemeColor.setAttribute("content", "#252627")
: metaThemeColor.setAttribute("content", "#fafafa");
});

@ -1,99 +1,101 @@
.button-container {
display: table;
margin-left: auto;
margin-right: auto;
display: table;
margin-left: auto;
margin-right: auto;
}
button,
.button,
a.button {
position: relative;
display: flex;
align-items: center;
justify-content: center;
padding: 8px 18px;
margin-bottom: 5px;
background: $light-background-secondary;
text-decoration: none;
text-align: center;
font-weight: 500;
border-radius: 8px;
border: 1px solid transparent;
appearance: none;
cursor: pointer;
outline: none;
.dark-theme & {
background: $dark-background-secondary;
color: inherit;
}
/* variants */
&.outline {
background: transparent;
border-color: $light-background-secondary;
box-shadow: none;
position: relative;
display: flex;
align-items: center;
justify-content: center;
padding: 8px 18px;
margin-bottom: 5px;
background: $light-background-secondary;
text-decoration: none;
text-align: center;
font-weight: 500;
border-radius: 8px;
border: 1px solid transparent;
appearance: none;
cursor: pointer;
outline: none;
.dark-theme & {
border-color: $dark-background-secondary;
color: inherit;
background: $dark-background-secondary;
color: inherit;
}
:hover {
transform: none;
box-shadow: none;
/* variants */
&.outline {
background: transparent;
border-color: $light-background-secondary;
box-shadow: none;
padding: 8px 18px;
.dark-theme & {
border-color: $dark-background-secondary;
color: inherit;
}
:hover {
transform: none;
box-shadow: none;
}
}
}
&.primary {
box-shadow: 0 4px 6px rgba(50, 50, 93, .11), 0 1px 3px rgba(0, 0, 0, .08);
&.primary {
box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11),
0 1px 3px rgba(0, 0, 0, 0.08);
&:hover {
box-shadow: 0 2px 6px rgba(50, 50, 93, .21), 0 1px 3px rgba(0, 0, 0, .08);
&:hover {
box-shadow: 0 2px 6px rgba(50, 50, 93, 0.21),
0 1px 3px rgba(0, 0, 0, 0.08);
}
}
}
&.link {
background: none;
font-size: 1rem;
}
&.link {
background: none;
font-size: 1rem;
}
&.small {
font-size: .8rem;
}
&.small {
font-size: 0.8rem;
}
&.wide {
min-width: 200px;
padding: 14px 24px;
}
&.wide {
min-width: 200px;
padding: 14px 24px;
}
}
.code-toolbar {
margin-bottom: 20px;
margin-bottom: 20px;
.toolbar-item a {
position: relative;
display: inline-flex;
align-items: center;
justify-content: center;
padding: 3px 8px;
margin-bottom: 5px;
background: $light-background-secondary;
text-decoration: none;
text-align: center;
font-size: 13px;
font-weight: 500;
border-radius: 8px;
border: 1px solid transparent;
appearance: none;
cursor: pointer;
outline: none;
.toolbar-item a {
position: relative;
display: inline-flex;
align-items: center;
justify-content: center;
padding: 3px 8px;
margin-bottom: 5px;
background: $light-background-secondary;
text-decoration: none;
text-align: center;
font-size: 13px;
font-weight: 500;
border-radius: 8px;
border: 1px solid transparent;
appearance: none;
cursor: pointer;
outline: none;
.dark-theme & {
background: $dark-background-secondary;
color: inherit;
.dark-theme & {
background: $dark-background-secondary;
color: inherit;
}
}
}
}
}

@ -20,9 +20,8 @@
}
input[type="checkbox"]:checked {
~.highlight,
~.code-toolbar .highlight {
~ .highlight,
~ .code-toolbar .highlight {
max-height: 0;
padding: 0;
@ -30,7 +29,7 @@
overflow: hidden;
}
~.code-toolbar {
~ .code-toolbar {
padding: 0;
border-top: none;
@ -39,11 +38,11 @@
}
}
~label {
~ label {
border-radius: 10px;
}
~label .collapsable-code__toggle:after {
~ label .collapsable-code__toggle:after {
content: attr(data-label-expand);
}
}
@ -117,4 +116,4 @@
.code-toolbar {
margin: 0;
}
}
}

@ -1,53 +1,53 @@
@font-face {
font-family: 'Inter UI';
font-style: normal;
font-display: fallback;
font-weight: 400;
src: url("../fonts/Inter-UI-Regular.woff2") format("woff2"),
url("../fonts/Inter-UI-Regular.woff") format("woff");
font-family: "Inter UI";
font-style: normal;
font-display: fallback;
font-weight: 400;
src: url("../fonts/Inter-UI-Regular.woff2") format("woff2"),
url("../fonts/Inter-UI-Regular.woff") format("woff");
}
@font-face {
font-family: 'Inter UI';
font-style: italic;
font-display: fallback;
font-weight: 400;
src: url("../fonts/Inter-UI-Italic.woff2") format("woff2"),
url("../fonts/Inter-UI-Italic.woff") format("woff");
font-family: "Inter UI";
font-style: italic;
font-display: fallback;
font-weight: 400;
src: url("../fonts/Inter-UI-Italic.woff2") format("woff2"),
url("../fonts/Inter-UI-Italic.woff") format("woff");
}
@font-face {
font-family: 'Inter UI';
font-style: normal;
font-display: auto;
font-weight: 600;
src: url("../fonts/Inter-UI-Medium.woff2") format("woff2"),
url("../fonts/Inter-UI-Medium.woff") format("woff");
font-family: "Inter UI";
font-style: normal;
font-display: auto;
font-weight: 600;
src: url("../fonts/Inter-UI-Medium.woff2") format("woff2"),
url("../fonts/Inter-UI-Medium.woff") format("woff");
}
@font-face {
font-family: 'Inter UI';
font-style: italic;
font-display: fallback;
font-weight: 600;
src: url("../fonts/Inter-UI-MediumItalic.woff2") format("woff2"),
url("../fonts/Inter-UI-MediumItalic.woff") format("woff");
font-family: "Inter UI";
font-style: italic;
font-display: fallback;
font-weight: 600;
src: url("../fonts/Inter-UI-MediumItalic.woff2") format("woff2"),
url("../fonts/Inter-UI-MediumItalic.woff") format("woff");
}
@font-face {
font-family: 'Inter UI';
font-style: normal;
font-display: fallback;
font-weight: 800;
src: url("../fonts/Inter-UI-Bold.woff2") format("woff2"),
url("../fonts/Inter-UI-Bold.woff") format("woff");
font-family: "Inter UI";
font-style: normal;
font-display: fallback;
font-weight: 800;
src: url("../fonts/Inter-UI-Bold.woff2") format("woff2"),
url("../fonts/Inter-UI-Bold.woff") format("woff");
}
@font-face {
font-family: 'Inter UI';
font-style: italic;
font-display: fallback;
font-weight: 800;
src: url("../fonts/Inter-UI-BoldItalic.woff2") format("woff2"),
url("../fonts/Inter-UI-BoldItalic.woff") format("woff");
}
font-family: "Inter UI";
font-style: italic;
font-display: fallback;
font-weight: 800;
src: url("../fonts/Inter-UI-BoldItalic.woff2") format("woff2"),
url("../fonts/Inter-UI-BoldItalic.woff") format("woff");
}

@ -1,77 +1,77 @@
.footer {
padding: 40px 20px;
flex-grow: 0;
color: $light-color-secondary;
padding: 40px 20px;
flex-grow: 0;
color: $light-color-secondary;
&__inner {
display: flex;
align-items: center;
justify-content: center;
margin: 0 auto;
width: 760px;
max-width: 100%;
&__inner {
display: flex;
align-items: center;
justify-content: center;
margin: 0 auto;
width: 760px;
max-width: 100%;
@media #{$media-size-tablet} {
flex-direction: column;
@media #{$media-size-tablet} {
flex-direction: column;
}
}
}
&__content {
display: flex;
flex-direction: column;
align-items: center;
font-size: 1rem;
color: $light-color-secondary;
&__content {
display: flex;
flex-direction: column;
align-items: center;
font-size: 1rem;
color: $light-color-secondary;
&__section {
display: flex;
flex-direction: row;
align-items: center;
padding: 5px;
&__section {
display: flex;
flex-direction: row;
align-items: center;
padding: 5px;
@media #{$media-size-tablet} {
margin-top: 10px;
}
@media #{$media-size-tablet} {
margin-top: 10px;
}
&.regular {
@media #{$media-size-tablet} {
flex-direction: column;
}
&>*:not(:last-child)::after {
content: "";
padding: 0 5px;
&.regular {
@media #{$media-size-tablet} {
flex-direction: column;
}
& > *:not(:last-child)::after {
content: "";
padding: 0 5px;
@media #{$media-size-tablet} {
content: "";
padding: 0;
}
}
@media #{$media-size-tablet} {
content: "";
padding: 0;
}
}
&>*:last-child {
padding: 0 5px;
& > *:last-child {
padding: 0 5px;
@media #{$media-size-tablet} {
padding: 0;
}
}
}
@media #{$media-size-tablet} {
padding: 0;
}
}
}
&.donations {
white-space: nowrap;
overflow-x: scroll;
max-width: 600px;
position: relative;
&.donations {
white-space: nowrap;
overflow-x: scroll;
max-width: 600px;
position: relative;
@media #{$media-size-tablet} {
max-width: 180px;
}
@media #{$media-size-tablet} {
max-width: 180px;
}
.wallet {
.name {
font-weight: 700;
}
.wallet {
.name {
font-weight: 700;
}
}
}
}
}
}
}
}

@ -1,54 +1,54 @@
.header {
background: #fafafa;
display: flex;
align-items: center;
justify-content: center;
position: relative;
padding: 20px;
.dark-theme & {
background: #242626;
}
&__right {
background: #fafafa;
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
position: relative;
padding: 20px;
@media #{$media-size-phone} {
flex-direction: row-reverse;
.dark-theme & {
background: #242626;
}
}
&__inner {
display: flex;
align-items: center;
justify-content: space-between;
margin: 0 auto;
width: 760px;
max-width: 100%;
&__right {
display: flex;
flex-direction: row;
align-items: center;
@media #{$media-size-phone} {
flex-direction: row-reverse;
}
}
a {
text-decoration: none;
&__inner {
display: flex;
align-items: center;
justify-content: space-between;
margin: 0 auto;
width: 760px;
max-width: 100%;
a {
text-decoration: none;
}
}
}
}
.theme-toggle {
display: flex;
align-items: center;
justify-content: center;
line-height: 1;
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
line-height: 1;
cursor: pointer;
}
.theme-toggler {
fill: currentColor;
fill: currentColor;
}
.unselectable {
user-select: none;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
}

@ -1,42 +1,42 @@
.logo {
display: flex;
align-items: center;
text-decoration: none;
font-weight: bold;
font-display: auto;
font-family: monospace, monospace;
display: flex;
align-items: center;
text-decoration: none;
font-weight: bold;
font-display: auto;
font-family: monospace, monospace;
img {
height: 44px;
}
img {
height: 44px;
}
&__mark {
margin-right: 5px;
}
&__mark {
margin-right: 5px;
}
&__text {
font-size: 1.125rem;
}
&__text {
font-size: 1.125rem;
}
&__cursor {
display: inline-block;
width: 10px;
height: 1rem;
background: #252627;
margin-left: 2px;
border-radius: 1px;
animation: cursor 1s infinite;
&__cursor {
display: inline-block;
width: 10px;
height: 1rem;
background: #252627;
margin-left: 2px;
border-radius: 1px;
animation: cursor 1s infinite;
.dark-theme & {
background: #fafafa;
.dark-theme & {
background: #fafafa;
}
}
}
@media (prefers-reduced-motion: reduce) {
&__cursor {
animation: none;
@media (prefers-reduced-motion: reduce) {
&__cursor {
animation: none;
}
}
}
}
// // Fading
@ -56,15 +56,15 @@
// Blinking
@keyframes cursor {
0% {
visibility: hidden;
}
0% {
visibility: hidden;
}
50% {
visibility: hidden;
}
50% {
visibility: hidden;
}
100% {
visibility: visible;
}
100% {
visibility: visible;
}
}

@ -1,59 +1,60 @@
/* Webkit Scrollbar Customize */
::-webkit-scrollbar {
width: 8px;
height: 8px;
background: #212020;
width: 8px;
height: 8px;
background: #212020;
}
::-webkit-scrollbar-thumb {
background: #888;
background: #888;
&:hover {
background: #dcdcdc;
}
&:hover {
background: #dcdcdc;
}
}
html {
box-sizing: border-box;
line-height: 1.6;
letter-spacing: 0.06em;
scroll-behavior: smooth;
box-sizing: border-box;
line-height: 1.6;
letter-spacing: 0.06em;
scroll-behavior: smooth;
}
*,
*:before,
*:after {
box-sizing: inherit;
box-sizing: inherit;
}
body {
margin: 0;
padding: 0;
font-family: "Inter UI", -apple-system, BlinkMacSystemFont, "Roboto",
"Segoe UI", Helvetica, Arial, sans-serif;
font-display: auto;
font-size: 1rem;
line-height: 1.54;
background-color: $light-background;
color: $light-color;
text-rendering: optimizeLegibility;
-webkit-font-smoothing: antialiased;
font-feature-settings: "liga", "tnum", "case", "calt", "zero", "ss01", "locl";
-webkit-overflow-scrolling: touch;
-webkit-text-size-adjust: 100%;
display: flex;
min-height: 100vh;
flex-direction: column;
@media #{$media-size-phone} {
margin: 0;
padding: 0;
font-family: "Inter UI", -apple-system, BlinkMacSystemFont, "Roboto",
"Segoe UI", Helvetica, Arial, sans-serif;
font-display: auto;
font-size: 1rem;
}
line-height: 1.54;
background-color: $light-background;
color: $light-color;
text-rendering: optimizeLegibility;
-webkit-font-smoothing: antialiased;
font-feature-settings: "liga", "tnum", "case", "calt", "zero", "ss01",
"locl";
-webkit-overflow-scrolling: touch;
-webkit-text-size-adjust: 100%;
display: flex;
min-height: 100vh;
flex-direction: column;
@media #{$media-size-phone} {
font-size: 1rem;
}
&.dark-theme {
background-color: $dark-background;
color: $dark-color;
}
&.dark-theme {
background-color: $dark-background;
color: $dark-color;
}
}
h2,
@ -61,462 +62,461 @@ h3,
h4,
h5,
h6 {
display: flex;
align-items: center;
line-height: 1.3;
display: flex;
align-items: center;
line-height: 1.3;
}
h1 {
font-size: 2.625rem;
font-size: 2.625rem;
}
h2 {
font-size: 1.625rem;
font-size: 1.625rem;
}
h3 {
font-size: 1.375rem;
font-size: 1.375rem;
}
h4 {
font-size: 1.125rem;
font-size: 1.125rem;
}
@media #{$media-size-phone} {
h1 {
font-size: 2rem;
}
h1 {
font-size: 2rem;
}
h2 {
font-size: 1.4rem;
}
h2 {
font-size: 1.4rem;
}
h3 {
font-size: 1.15rem;
}
h3 {
font-size: 1.15rem;
}
h4 {
font-size: 1.125rem;
}
h4 {
font-size: 1.125rem;
}
}
a {
color: inherit;
color: inherit;
}
img {
display: block;
width: auto;
height: auto;
max-width: 100%;
display: block;
width: auto;
height: auto;
max-width: 100%;
&.left {
margin-right: auto;
}
&.left {
margin-right: auto;
}
&.center {
margin-left: auto;
margin-right: auto;
}
&.center {
margin-left: auto;
margin-right: auto;
}
&.right {
margin-left: auto;
}
&.right {
margin-left: auto;
}
&.circle {
border-radius: 50%;
max-width: 25%;
margin: auto;
}
&.circle {
border-radius: 50%;
max-width: 25%;
margin: auto;
}
}
figure {
display: table;
max-width: 100%;
margin: 25px 0;
display: table;
max-width: 100%;
margin: 25px 0;
img {
border-radius: 8px;
padding: 5px;
img {
border-radius: 8px;
padding: 5px;
.dark-theme & {
background-color: #ffffff4f;
.dark-theme & {
background-color: #ffffff4f;
}
}
}
&.left {
margin-right: auto;
}
&.left-floated {
margin-right: auto;
float: left;
img {
margin: 20px 20px 20px 0;
&.left {
margin-right: auto;
}
}
&.center {
margin-left: auto;
margin-right: auto;
}
&.right {
margin-left: auto;
}
&.left-floated {
margin-right: auto;
float: left;
&.right-floated {
margin-left: auto;
float: right;
img {
margin: 20px 20px 20px 0;
}
}
img {
margin: 20px 0 20px 20px;
&.center {
margin-left: auto;
margin-right: auto;
}
}
&.rounded {
img {
border-radius: 50%;
&.right {
margin-left: auto;
}
}
figcaption {
font-size: 1.125rem;
line-height: 1.3;
margin-top: 0.4em;
font-weight: bold;
opacity: 0.8;
&.right-floated {
margin-left: auto;
float: right;
&.left {
text-align: left;
img {
margin: 20px 0 20px 20px;
}
}
&.center {
text-align: center;
&.rounded {
img {
border-radius: 50%;
}
}
&.right {
text-align: right;
}
}
figcaption {
font-size: 1.125rem;
line-height: 1.3;
margin-top: 0.4em;
font-weight: bold;
opacity: 0.8;
&.left {
text-align: left;
}
&.small {
max-width: 300px;
width: 90%;
margin: 5px 0;
}
&.center {
text-align: center;
}
&.inline {
display: inline-table;
}
&.right {
text-align: right;
}
}
&.floated-focus {
display: flex;
position:fixed;
top: 0;
left: 0;
width: 100vw;
max-width: unset;
height: 100vh;
padding: 3rem;
margin: 0;
align-items: center;
justify-content: center;
flex-direction: column;
background-color: #212020ec;
z-index: 10000;
&.small {
max-width: 300px;
width: 90%;
margin: 5px 0;
}
figcaption {
color: #ddd3c6;
font-size: 1.5rem;
&.inline {
display: inline-table;
}
&:after {
content: "Close";
margin-top: 1rem;
text-decoration: underline;
cursor: pointer;
display: block;
color: #999288;
&.floated-focus {
display: flex;
position: fixed;
top: 0;
left: 0;
width: 100vw;
max-width: unset;
height: 100vh;
padding: 3rem;
margin: 0;
align-items: center;
justify-content: center;
flex-direction: column;
background-color: #212020ec;
z-index: 10000;
figcaption {
color: #ddd3c6;
font-size: 1.5rem;
}
&:after {
content: "Close";
margin-top: 1rem;
text-decoration: underline;
cursor: pointer;
display: block;
color: #999288;
}
}
}
}
code {
font-family: Consolas, Monaco, Andale Mono, Ubuntu Mono, monospace;
font-display: auto;
font-feature-settings: normal;
background: $light-background-secondary;
padding: 1px 6px;
margin: 0 2px;
border-radius: 5px;
font-size: 0.95rem;
word-wrap: break-word;
font-family: Consolas, Monaco, Andale Mono, Ubuntu Mono, monospace;
font-display: auto;
font-feature-settings: normal;
background: $light-background-secondary;
padding: 1px 6px;
margin: 0 2px;
border-radius: 5px;
font-size: 0.95rem;
word-wrap: break-word;
.dark-theme & {
background: $dark-background-secondary;
}
.dark-theme & {
background: $dark-background-secondary;
}
}
pre {
// background: #212020;
padding: 10px 10px 10px 20px;
border-radius: 8px;
font-size: 0.95rem;
overflow: auto;
@media #{$media-size-phone} {
white-space: pre-wrap;
word-wrap: break-word;
}
// background: #212020;
padding: 10px 10px 10px 20px;
border-radius: 8px;
font-size: 0.95rem;
overflow: auto;
code {
background: none !important;
color: #ccc;
margin: 0;
padding: 0;
font-size: inherit;
@media #{$media-size-phone} {
white-space: pre-wrap;
word-wrap: break-word;
}
.dark-theme & {
color: inherit;
code {
background: none !important;
color: #ccc;
margin: 0;
padding: 0;
font-size: inherit;
.dark-theme & {
color: inherit;
}
}
}
}
blockquote {
border-left: 2px solid;
margin: 40px;
padding: 10px 20px;
@media #{$media-size-phone} {
margin: 10px;
padding: 10px;
}
&:before {
content: "";
font-family: Georgia, serif;
font-display: auto;
font-size: 3.875rem;
position: absolute;
left: -40px;
top: -20px;
}
border-left: 2px solid;
margin: 40px;
padding: 10px 20px;
@media #{$media-size-phone} {
margin: 10px;
padding: 10px;
}
p:first-of-type {
margin-top: 0;
}
&:before {
content: "";
font-family: Georgia, serif;
font-display: auto;
font-size: 3.875rem;
position: absolute;
left: -40px;
top: -20px;
}
p:first-of-type {
margin-top: 0;
}
p:last-of-type {
margin-bottom: 0;
}
p:last-of-type {
margin-bottom: 0;
}
}
ul,
ol {
margin-left: 40px;
padding: 0;
margin-left: 40px;
padding: 0;
@media #{$media-size-phone} {
margin-left: 20px;
}
@media #{$media-size-phone} {
margin-left: 20px;
}
}
ol ol {
list-style-type: lower-alpha;
list-style-type: lower-alpha;
}
.container {
flex: 1 auto;
display: flex;
flex-direction: column;
justify-content: center;
text-align: center;
flex: 1 auto;
display: flex;
flex-direction: column;
justify-content: center;
text-align: center;
}
.content {
display: flex;
flex-direction: column;
flex: 1 auto;
align-items: center;
justify-content: center;
margin: 0;
@media #{$media-size-phone} {
margin-top: 0;
}
&-list {
display: block;
}
display: flex;
flex-direction: column;
flex: 1 auto;
align-items: center;
justify-content: center;
margin: 0;
@media #{$media-size-phone} {
margin-top: 0;
}
&-list {
display: block;
}
}
hr {
width: 100%;
border: none;
background: $light-border-color;
height: 1px;
width: 100%;
border: none;
background: $light-border-color;
height: 1px;
.dark-theme & {
background: $dark-border-color;
}
.dark-theme & {
background: $dark-border-color;
}
}
svg {
height: 1em;
height: 1em;
}
.hidden {
display: none;
display: none;
}
.hide-on-phone {
@media #{$media-size-phone} {
display: none;
}
@media #{$media-size-phone} {
display: none;
}
}
.hide-on-tablet {
@media #{$media-size-tablet} {
display: none;
}
@media #{$media-size-tablet} {
display: none;
}
}
// Accessibility
.screen-reader-text {
border: 0;
clip: rect(1px, 1px, 1px, 1px);
clip-path: inset(50%);
height: 1px;
margin: -1px;
overflow: hidden;
padding: 0;
position: absolute !important;
width: 1px;
word-wrap: normal !important;
border: 0;
clip: rect(1px, 1px, 1px, 1px);
clip-path: inset(50%);
height: 1px;
margin: -1px;
overflow: hidden;
padding: 0;
position: absolute !important;
width: 1px;
word-wrap: normal !important;
}
.screen-reader-text:focus {
background-color: #f1f1f1;
border-radius: 3px;
box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
clip: auto !important;
clip-path: none;
color: #21759b;
display: block;
font-size: 14px;
font-size: 0.875rem;
font-weight: bold;
height: auto;
width: auto;
top: 5px;
left: 5px;
line-height: normal;
padding: 15px 23px 14px;
text-decoration: none;
z-index: 100000;
background-color: #f1f1f1;
border-radius: 3px;
box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
clip: auto !important;
clip-path: none;
color: #21759b;
display: block;
font-size: 14px;
font-size: 0.875rem;
font-weight: bold;
height: auto;
width: auto;
top: 5px;
left: 5px;
line-height: normal;
padding: 15px 23px 14px;
text-decoration: none;
z-index: 100000;
}
// Custom
.socials {
user-select: none;
user-select: none;
svg {
font-size: 1.5rem;
}
svg {
font-size: 1.5rem;
}
}
table {
width: 100%;
padding: 10px 10px 10px 20px;
border-radius: 8px;
font-size: 0.95rem;
overflow: auto;
background: $light-background-secondary;
width: 100%;
padding: 10px 10px 10px 20px;
border-radius: 8px;
font-size: 0.95rem;
overflow: auto;
background: $light-background-secondary;
th {
padding: 8px 0px;
}
th {
padding: 8px 0px;
}
td {
padding: 6px 0px;
td {
padding: 6px 0px;
border-top: 1px solid $light-color-secondary;
}
border-top: 1px solid $light-color-secondary;
}
.dark-theme & {
background: $dark-background-secondary;
.dark-theme & {
background: $dark-background-secondary;
td {
border-top-color: $dark-color-secondary;
td {
border-top-color: $dark-color-secondary;
}
}
}
}
.feather {
display: inline-block;
vertical-align: -0.125em;
width: 1em;
height: 1em;
display: inline-block;
vertical-align: -0.125em;
width: 1em;
height: 1em;
}
.nostyle {
text-decoration: none;
text-decoration: none;
}
.breadcrumbs {
display: inline;
ol {
list-style-type: none;
margin: 0;
display: inline;
li {
display: inline;
ol {
list-style-type: none;
margin: 0;
display: inline;
li {
display: inline;
}
}
}
}
.article-heading {
a {
position: relative;
text-decoration: none;
&:hover {
&::after {
content: " ";
display: inline-block;
position: absolute;
top: 50%;
transform: translateY(-50%);
height: 100%;
background-image: url("data:image/svg+xml, %3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2224%22%20height=%2224%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22currentColor%22%20stroke-width=%222%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20class=%22feather%20feather-link%22%3E%3Cpath%20d=%22M10%2013a5%205%200%200%200%207.54.54l3-3a5%205%200%200%200-7.07-7.07l-1.72%201.71%22%3E%3C/path%3E%3Cpath%20d=%22M14%2011a5%205%200%200%200-7.54-.54l-3%203a5%205%200%200%200%207.07%207.07l1.71-1.71%22%3E%3C/path%3E%3C/svg%3E");
background-repeat: no-repeat;
background-position: center;
background-size: auto 50%;
}
}
@media #{$media-size-tablet-min} {
&:hover {
&::after {
right: 100%;
width: 1.5em;
a {
position: relative;
text-decoration: none;
&:hover {
&::after {
content: " ";
display: inline-block;
position: absolute;
top: 50%;
transform: translateY(-50%);
height: 100%;
background-image: url("data:image/svg+xml, %3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2224%22%20height=%2224%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22currentColor%22%20stroke-width=%222%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20class=%22feather%20feather-link%22%3E%3Cpath%20d=%22M10%2013a5%205%200%200%200%207.54.54l3-3a5%205%200%200%200-7.07-7.07l-1.72%201.71%22%3E%3C/path%3E%3Cpath%20d=%22M14%2011a5%205%200%200%200-7.54-.54l-3%203a5%205%200%200%200%207.07%207.07l1.71-1.71%22%3E%3C/path%3E%3C/svg%3E");
background-repeat: no-repeat;
background-position: center;
background-size: auto 50%;
}
}
@media #{$media-size-tablet-min} {
&:hover {
&::after {
right: 100%;
width: 1.5em;
}
}
}
}
}
@media #{$media-size-tablet} {
&:hover {
&::after {
left: 100%;
width: 1.2em;
@media #{$media-size-tablet} {
&:hover {
&::after {
left: 100%;
width: 1.2em;
}
}
}
}
}
}
}

@ -1,16 +1,14 @@
.masonry {
display: grid;
margin-top: 20px;
grid-gap: 20px 90px;
grid-template-columns: repeat(2, minmax(250px, 1fr));
// grid-auto-rows: 20px; // Set by JavaScript
// margin-bottom: calc(4 * 20px); // Set by JavaScript
display: grid;
margin-top: 20px;
grid-gap: 20px 90px;
grid-template-columns: repeat(2, minmax(250px, 1fr));
> * {
margin: 0;
}
> * {
margin: 0;
}
@media #{$media-size-medium} {
grid-template-columns: 1fr;
}
@media #{$media-size-medium} {
grid-template-columns: 1fr;
}
}

@ -1,67 +1,67 @@
.menu {
background: #fafafa;
border-right: 1px solid;
margin-right: 18px;
z-index: 9999;
background: #fafafa;
border-right: 1px solid;
margin-right: 18px;
z-index: 9999;
.dark-theme & {
background: #252627;
}
@media #{$media-size-phone} {
position: absolute;
top: 50px;
right: 0;
border: none;
margin: 0;
padding: 10px;
}
&__inner {
display: flex;
align-items: center;
justify-content: flex-start;
max-width: 100%;
margin: 0 auto;
padding: 0 15px;
font-size: 1rem;
list-style: none;
li {
margin: 0 12px;
.dark-theme & {
background: #252627;
}
@media #{$media-size-phone} {
flex-direction: column;
align-items: flex-start;
padding: 0;
li {
position: absolute;
top: 50px;
right: 0;
border: none;
margin: 0;
padding: 5px;
}
padding: 10px;
}
}
&-trigger {
width: 24px;
height: 24px;
fill: currentColor;
margin-left: 10px;
cursor: pointer;
}
&__inner {
display: flex;
align-items: center;
justify-content: flex-start;
max-width: 100%;
margin: 0 auto;
padding: 0 15px;
font-size: 1rem;
list-style: none;
li {
margin: 0 12px;
}
a {
display: inline-block;
margin-right: 15px;
text-decoration: none;
@media #{$media-size-phone} {
flex-direction: column;
align-items: flex-start;
padding: 0;
&:hover {
text-decoration: underline;
li {
margin: 0;
padding: 5px;
}
}
}
&:last-of-type {
margin-right: 0;
&-trigger {
width: 24px;
height: 24px;
fill: currentColor;
margin-left: 10px;
cursor: pointer;
}
a {
display: inline-block;
margin-right: 15px;
text-decoration: none;
&:hover {
text-decoration: underline;
}
&:last-of-type {
margin-right: 0;
}
}
}
}
}

@ -1,3 +1,3 @@
@mixin dimmed {
opacity: .6;
}
opacity: 0.6;
}

@ -8,8 +8,8 @@
* 2. Prevent adjustments of font size after orientation changes in iOS.
*/
html {
line-height: 1.15; // 1
-webkit-text-size-adjust: 100%; // 2
line-height: 1.15; // 1
-webkit-text-size-adjust: 100%; // 2
}
/* Sections
@ -20,7 +20,7 @@ html {
*/
body {
margin: 0;
margin: 0;
}
/**
@ -28,7 +28,7 @@ body {
*/
main {
display: block;
display: block;
}
/**
@ -37,8 +37,8 @@ main {
*/
h1 {
font-size: 2em;
margin: 0.67em 0;
font-size: 2em;
margin: 0.67em 0;
}
/* Grouping content
@ -50,9 +50,9 @@ h1 {
*/
hr {
box-sizing: content-box; // 1
height: 0; // 1
overflow: visible; // 2
box-sizing: content-box; // 1
height: 0; // 1
overflow: visible; // 2
}
/**
@ -61,9 +61,9 @@ hr {
*/
pre {
font-family: monospace, monospace; // 1
font-display: auto;
font-size: 1em; // 2
font-family: monospace, monospace; // 1
font-display: auto;
font-size: 1em; // 2
}
/* Text-level semantics
@ -74,7 +74,7 @@ pre {
*/
a {
background-color: transparent;
background-color: transparent;
}
/**
@ -83,9 +83,9 @@ a {
*/
abbr[title] {
border-bottom: none; // 1
text-decoration: underline; // 2
text-decoration: underline dotted; // 2
border-bottom: none; // 1
text-decoration: underline; // 2
text-decoration: underline dotted; // 2
}
/**
@ -94,7 +94,7 @@ abbr[title] {
b,
strong {
font-weight: bolder;
font-weight: bolder;
}
/**
@ -105,9 +105,9 @@ strong {
code,
kbd,
samp {
font-family: monospace, monospace; // 1
font-display: auto;
font-size: 1em; // 2
font-family: monospace, monospace; // 1
font-display: auto;
font-size: 1em; // 2
}
/**
@ -115,7 +115,7 @@ samp {
*/
small {
font-size: 80%;
font-size: 80%;
}
/**
@ -125,18 +125,18 @@ small {
sub,
sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
sub {
bottom: -0.25em;
bottom: -0.25em;
}
sup {
top: -0.5em;
top: -0.5em;
}
/* Embedded content
@ -147,7 +147,7 @@ sup {
*/
img {
border-style: none;
border-style: none;
}
/* Forms
@ -163,11 +163,11 @@ input,
optgroup,
select,
textarea {
font-family: inherit; // 1
font-display: auto;
font-size: 100%; // 1
line-height: 1.15; // 1
margin: 0; // 2
font-family: inherit; // 1
font-display: auto;
font-size: 100%; // 1
line-height: 1.15; // 1
margin: 0; // 2
}
/**
@ -177,7 +177,7 @@ textarea {
button,
input {
overflow: visible; // 1
overflow: visible; // 1
}
/**
@ -187,7 +187,7 @@ input {
button,
select {
text-transform: none; // 1
text-transform: none; // 1
}
/**
@ -198,7 +198,7 @@ button,
[type="button"],
[type="reset"],
[type="submit"] {
-webkit-appearance: button;
-webkit-appearance: button;
}
/**
@ -209,8 +209,8 @@ button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
border-style: none;
padding: 0;
border-style: none;
padding: 0;
}
/**
@ -221,7 +221,7 @@ button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
outline: 1px dotted ButtonText;
outline: 1px dotted ButtonText;
}
/**
@ -229,7 +229,7 @@ button:-moz-focusring,
*/
fieldset {
padding: 0.35em 0.75em 0.625em;
padding: 0.35em 0.75em 0.625em;
}
/**
@ -240,12 +240,12 @@ fieldset {
*/
legend {
box-sizing: border-box; // 1
color: inherit; // 2
display: table; // 1
max-width: 100%; // 1
padding: 0; // 3
white-space: normal; // 1
box-sizing: border-box; // 1
color: inherit; // 2
display: table; // 1
max-width: 100%; // 1
padding: 0; // 3
white-space: normal; // 1
}
/**
@ -253,7 +253,7 @@ legend {
*/
progress {
vertical-align: baseline;
vertical-align: baseline;
}
/**
@ -261,7 +261,7 @@ progress {
*/
textarea {
overflow: auto;
overflow: auto;
}
/**
@ -271,8 +271,8 @@ textarea {
[type="checkbox"],
[type="radio"] {
box-sizing: border-box; // 1
padding: 0; // 2
box-sizing: border-box; // 1
padding: 0; // 2
}
/**
@ -281,7 +281,7 @@ textarea {
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
height: auto;
height: auto;
}
/**
@ -290,8 +290,8 @@ textarea {
*/
[type="search"] {
-webkit-appearance: textfield; // 1
outline-offset: -2px; // 2
-webkit-appearance: textfield; // 1
outline-offset: -2px; // 2
}
/**
@ -299,7 +299,7 @@ textarea {
*/
[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
-webkit-appearance: none;
}
/**
@ -308,8 +308,8 @@ textarea {
*/
::-webkit-file-upload-button {
-webkit-appearance: button; // 1
font: inherit; // 2
-webkit-appearance: button; // 1
font: inherit; // 2
}
/* Interactive
@ -320,7 +320,7 @@ textarea {
*/
details {
display: block;
display: block;
}
/*
@ -328,7 +328,7 @@ details {
*/
summary {
display: list-item;
display: list-item;
}
/* Misc
@ -339,7 +339,7 @@ summary {
*/
template {
display: none;
display: none;
}
/**
@ -347,5 +347,5 @@ template {
*/
[hidden] {
display: none;
}
display: none;
}

@ -1,206 +1,206 @@
.portfolio {
width: 100%;
max-width: 1000px;
text-align: left;
padding: 20px;
margin: 20px auto;
width: 100%;
max-width: 1000px;
text-align: left;
padding: 20px;
margin: 20px auto;
@media #{$media-size-medium} {
max-width: 800px;
}
@media #{$media-size-medium} {
max-width: 800px;
}
@media #{$media-size-tablet} {
max-width: 600px;
}
@media #{$media-size-tablet} {
max-width: 600px;
}
&-title {
font-size: 2.625rem;
margin: 0 0 20px;
&-title {
font-size: 2.625rem;
margin: 0 0 20px;
@media #{$media-size-phone} {
font-size: 2rem;
}
@media #{$media-size-phone} {
font-size: 2rem;
a {
text-decoration: none;
}
}
a {
text-decoration: none;
&-timespan {
margin-top: -20px;
font-size: 0.9em;
}
}
&-timespan {
margin-top: -20px;
font-size: 0.9em;
}
&-tags {
display: block;
margin-bottom: 20px;
font-size: 1rem;
opacity: 0.5;
&-tags {
display: block;
margin-bottom: 20px;
font-size: 1rem;
opacity: 0.5;
a {
text-decoration: none;
}
}
a {
text-decoration: none;
&-content {
margin-top: 30px;
}
}
&-content {
margin-top: 30px;
}
&-links {
font-size: 0.8em;
margin-top: -8px;
opacity: 0.7;
&-links {
font-size: 0.8em;
margin-top: -8px;
opacity: 0.7;
a {
text-decoration: none;
}
a {
text-decoration: none;
> * {
margin-right: 8px;
}
}
> * {
margin-right: 8px;
}
}
&-cover {
border-radius: 8px;
margin: 30px -50px;
width: 1060px;
max-width: 1060px;
&-cover {
border-radius: 8px;
margin: 30px -50px;
width: 1060px;
max-width: 1060px;
@media #{$media-size-medium} {
max-width: 860px;
}
@media #{$media-size-medium} {
max-width: 860px;
@media #{$media-size-tablet} {
margin: 20px 0;
width: 100%;
}
}
@media #{$media-size-tablet} {
margin: 20px 0;
width: 100%;
}
}
&-info {
margin-top: 30px;
font-size: 0.8rem;
line-height: normal;
@include dimmed;
&-info {
margin-top: 30px;
font-size: 0.8rem;
line-height: normal;
@include dimmed;
p {
margin: 0.8em 0;
}
p {
margin: 0.8em 0;
a:hover {
border-bottom: 1px solid white;
}
svg {
margin-right: 0.8em;
}
.tag {
margin-right: 0.5em;
display: inline-block;
&::before {
content: "#";
}
}
}
a:hover {
border-bottom: 1px solid white;
.flag {
border-radius: 50%;
margin: 0 5px;
}
}
svg {
margin-right: 0.8em;
.pagination {
margin-top: 20px;
&__title {
display: flex;
text-align: center;
position: relative;
margin: 20px 0;
&-h {
text-align: center;
margin: 0 auto;
padding: 5px 10px;
background: $light-background;
color: $light-color-secondary;
font-size: 0.8rem;
text-transform: uppercase;
text-decoration: none;
letter-spacing: 0.1em;
z-index: 1;
.dark-theme & {
background: $dark-background;
color: $dark-color-secondary;
}
}
hr {
position: absolute;
left: 0;
right: 0;
width: 100%;
margin-top: 15px;
z-index: 0;
}
}
.tag {
margin-right: 0.5em;
display: inline-block;
&__buttons {
display: flex;
align-items: center;
justify-content: center;
&::before {
content: "#";
}
a {
text-decoration: none;
font-weight: bold;
}
}
}
.flag {
border-radius: 50%;
margin: 0 5px;
}
}
.pagination {
margin-top: 20px;
&__title {
display: flex;
text-align: center;
.button {
position: relative;
margin: 20px 0;
&-h {
text-align: center;
margin: 0 auto;
padding: 5px 10px;
background: $light-background;
color: $light-color-secondary;
font-size: 0.8rem;
text-transform: uppercase;
text-decoration: none;
letter-spacing: 0.1em;
z-index: 1;
.dark-theme & {
background: $dark-background;
color: $dark-color-secondary;
}
}
hr {
position: absolute;
left: 0;
right: 0;
width: 100%;
margin-top: 15px;
z-index: 0;
}
}
&__buttons {
display: flex;
display: inline-flex;
align-items: center;
justify-content: center;
background: $light-background-secondary;
font-size: 1rem;
font-weight: 600;
border-radius: 8px;
max-width: 40%;
padding: 0;
cursor: pointer;
appearance: none;
.dark-theme & {
background: $dark-background-secondary;
}
+ .button {
margin-left: 10px;
}
a {
text-decoration: none;
font-weight: bold;
display: flex;
padding: 8px 16px;
text-decoration: none;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
}
}
}
.button {
position: relative;
display: inline-flex;
align-items: center;
justify-content: center;
background: $light-background-secondary;
font-size: 1rem;
font-weight: 600;
border-radius: 8px;
max-width: 40%;
padding: 0;
cursor: pointer;
appearance: none;
.dark-theme & {
background: $dark-background-secondary;
}
+ .button {
margin-left: 10px;
}
a {
display: flex;
padding: 8px 16px;
text-decoration: none;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
}
&__text {
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
}
&.next .button__icon {
margin-left: 8px;
}
&.previous .button__icon {
margin-right: 8px;
}
&__text {
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
}
&.next .button__icon {
margin-left: 8px;
}
&.previous .button__icon {
margin-right: 8px;
}
}

@ -1,192 +1,192 @@
.portfolios {
width: 100%;
max-width: calc(1000px + 50px + 80px);
text-align: left;
padding: 20px calc(20px + 50px + 15px);
margin: 20px auto;
counter-reset: portfolio;
@media #{$media-size-medium} {
max-width: calc(800px + 50px + 80px);
}
@media #{$media-size-tablet} {
max-width: 660px;
}
&:not(:last-of-type) {
border-bottom: 1px solid $light-border-color;
.dark-theme & {
border-color: $dark-border-color;
}
}
&-group {
display: flex;
margin-bottom: 1.9em;
line-height: normal;
width: 100%;
max-width: calc(1000px + 50px + 80px);
text-align: left;
padding: 20px calc(20px + 50px + 15px);
margin: 20px auto;
counter-reset: portfolio;
@media #{$media-size-tablet} {
display: block;
}
}
&-list {
flex-grow: 1;
margin: 0;
padding: 0;
list-style: none;
}
.portfolio {
display: flex;
flex-direction: row;
flex-wrap: nowrap;
align-items: center;
margin: 80px auto;
position: relative;
counter-increment: portfolio;
> * {
flex: 1;
padding: 5px;
@media #{$media-size-medium} {
max-width: calc(800px + 50px + 80px);
}
@media #{$media-size-tablet} {
flex-direction: column-reverse;
max-width: 660px;
}
.read-more {
white-space: nowrap;
max-width: max-content;
}
&-cover {
margin: 0;
}
&-title {
font-size: 1rem;
margin: 5px 0 2px 0;
}
&-company {
font-size: 0.9rem;
margin: 5px 0 5px 0;
}
&-meta {
font-size: 0.8em;
}
&:not(:last-of-type) {
border-bottom: 1px solid $light-border-color;
&-content {
margin-top: 12px;
.dark-theme & {
border-color: $dark-border-color;
}
}
&-item {
border-bottom: 1px grey dashed;
a {
&-group {
display: flex;
justify-content: space-between;
align-items: baseline;
padding: 12px 0;
text-decoration: none;
}
}
&-day {
flex-shrink: 0;
margin-left: 1em;
@include dimmed;
}
&-skills {
&-title {
font-size: 0.9rem;
margin: 15px 0 0 0;
}
}
margin-bottom: 1.9em;
line-height: normal;
&::before {
display: block;
content: counter(portfolio);
position: absolute;
transform: translate(-50%, -50%);
border-radius: 50%;
font-weight: bold;
min-width: 50px;
min-height: 50px;
line-height: 50px;
text-align: center;
top: 30px;
z-index: 10;
background-color: $light-color;
color: $light-background;
.dark-theme & {
background-color: $dark-color;
color: $dark-background;
}
@media #{$media-size-tablet} {
display: block;
}
}
&::after {
display: block;
content: "";
position: absolute;
top: -50px;
width: calc(50% + 50px);
height: calc(100% + 83px);
pointer-events: none;
border-bottom: 3px solid;
border-top: 3px solid;
&-list {
flex-grow: 1;
margin: 0;
padding: 0;
list-style: none;
}
&:nth-child(odd) {
// margin-left: 40px;
// background: #cfc;
&::before {
left: -48.5px;
}
&::after {
left: -50px;
border-left: 3px solid;
border-radius: 15px 0 0 15px;
}
}
&:nth-child(even) {
// margin-left: -40px;
// background: #fcc;
&::before {
right: -98.5px;
}
&::after {
right: -50px;
border-right: 3px solid;
border-radius: 0 15px 15px 0;
}
}
&:first-child {
&::after {
border-top: 0;
border-top-left-radius: 0;
border-top-right-radius: 0;
}
}
&:last-child {
&::after {
border-bottom: 0;
border-bottom-left-radius: 0;
border-bottom-right-radius: 0;
}
.portfolio {
display: flex;
flex-direction: row;
flex-wrap: nowrap;
align-items: center;
margin: 80px auto;
position: relative;
counter-increment: portfolio;
> * {
flex: 1;
padding: 5px;
}
@media #{$media-size-tablet} {
flex-direction: column-reverse;
}
.read-more {
white-space: nowrap;
max-width: max-content;
}
&-cover {
margin: 0;
}
&-title {
font-size: 1rem;
margin: 5px 0 2px 0;
}
&-company {
font-size: 0.9rem;
margin: 5px 0 5px 0;
}
&-meta {
font-size: 0.8em;
}
&-content {
margin-top: 12px;
}
&-item {
border-bottom: 1px grey dashed;
a {
display: flex;
justify-content: space-between;
align-items: baseline;
padding: 12px 0;
text-decoration: none;
}
}
&-day {
flex-shrink: 0;
margin-left: 1em;
@include dimmed;
}
&-skills {
&-title {
font-size: 0.9rem;
margin: 15px 0 0 0;
}
}
&::before {
display: block;
content: counter(portfolio);
position: absolute;
transform: translate(-50%, -50%);
border-radius: 50%;
font-weight: bold;
min-width: 50px;
min-height: 50px;
line-height: 50px;
text-align: center;
top: 30px;
z-index: 10;
background-color: $light-color;
color: $light-background;
.dark-theme & {
background-color: $dark-color;
color: $dark-background;
}
}
&::after {
display: block;
content: "";
position: absolute;
top: -50px;
width: calc(50% + 50px);
height: calc(100% + 83px);
pointer-events: none;
border-bottom: 3px solid;
border-top: 3px solid;
}
&:nth-child(odd) {
// margin-left: 40px;
// background: #cfc;
&::before {
left: -48.5px;
}
&::after {
left: -50px;
border-left: 3px solid;
border-radius: 15px 0 0 15px;
}
}
&:nth-child(even) {
// margin-left: -40px;
// background: #fcc;
&::before {
right: -98.5px;
}
&::after {
right: -50px;
border-right: 3px solid;
border-radius: 0 15px 15px 0;
}
}
&:first-child {
&::after {
border-top: 0;
border-top-left-radius: 0;
border-top-right-radius: 0;
}
}
&:last-child {
&::after {
border-bottom: 0;
border-bottom-left-radius: 0;
border-bottom-right-radius: 0;
}
}
}
}
}

@ -1,101 +1,101 @@
.posts {
width: 100%;
max-width: 1000px;
text-align: left;
padding: 20px;
margin: 20px auto;
@media #{$media-size-medium} {
max-width: 800px;
}
@media #{$media-size-tablet} {
max-width: 660px;
}
&:not(:last-of-type) {
border-bottom: 1px solid $light-border-color;
.dark-theme & {
border-color: $dark-border-color;
width: 100%;
max-width: 1000px;
text-align: left;
padding: 20px;
margin: 20px auto;
@media #{$media-size-medium} {
max-width: 800px;
}
}
&-group {
display: flex;
margin-bottom: 1.9em;
line-height: normal;
@media #{$media-size-tablet} {
display: block;
}
}
&-list {
flex-grow: 1;
margin: 0;
padding: 0;
list-style: none;
}
&-breadcrumbs {
margin: 0 0 -25px;
@media #{$media-size-phone} {
font-size: 0.9rem;
margin: 0 0 -15px;
max-width: 660px;
}
}
.post {
&-title {
font-size: 1.9rem;
margin: 5px 0 5px 0;
}
&:not(:last-of-type) {
border-bottom: 1px solid $light-border-color;
&-subtitle {
font-size: 1.1rem;
margin: 5px 0 10px 0;
font-weight: 600;
.dark-theme & {
border-color: $dark-border-color;
}
}
&-year {
padding-top: 6px;
margin-right: 1.8em;
font-size: 1.6em;
@include dimmed;
&-group {
display: flex;
margin-bottom: 1.9em;
line-height: normal;
@media #{$media-size-tablet} {
margin: -6px 0 4px;
}
@media #{$media-size-tablet} {
display: block;
}
}
&-item {
border-bottom: 1px grey dashed;
a {
display: flex;
justify-content: space-between;
align-items: baseline;
padding: 12px 0;
text-decoration: none;
}
&-list {
flex-grow: 1;
margin: 0;
padding: 0;
list-style: none;
}
&-day {
flex-shrink: 0;
margin-left: 1em;
@include dimmed;
}
&-breadcrumbs {
margin: 0 0 -25px;
&-cover {
margin-top: 20px;
margin-bottom: 20px;
@media #{$media-size-phone} {
font-size: 0.9rem;
margin: 0 0 -15px;
}
}
&-content {
margin-top: 10px;
margin-bottom: 10px;
.post {
&-title {
font-size: 1.9rem;
margin: 5px 0 5px 0;
}
&-subtitle {
font-size: 1.1rem;
margin: 5px 0 10px 0;
font-weight: 600;
}
&-year {
padding-top: 6px;
margin-right: 1.8em;
font-size: 1.6em;
@include dimmed;
@media #{$media-size-tablet} {
margin: -6px 0 4px;
}
}
&-item {
border-bottom: 1px grey dashed;
a {
display: flex;
justify-content: space-between;
align-items: baseline;
padding: 12px 0;
text-decoration: none;
}
}
&-day {
flex-shrink: 0;
margin-left: 1em;
@include dimmed;
}
&-cover {
margin-top: 20px;
margin-bottom: 20px;
}
&-content {
margin-top: 10px;
margin-bottom: 10px;
}
}
}
}

@ -1,34 +1,34 @@
.sharing-buttons {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
.resp-sharing-button__icon,
.resp-sharing-button__link {
display: inline-block;
}
.resp-sharing-button__icon,
.resp-sharing-button__link {
display: inline-block;
}
.resp-sharing-button__link {
text-decoration: none;
margin: 0.5em;
}
.resp-sharing-button__link {
text-decoration: none;
margin: 0.5em;
}
.resp-sharing-button {
border-radius: 5px;
transition: 25ms ease-out;
padding: 0.5em 0.75em;
font-family: Helvetica Neue, Helvetica, Arial, sans-serif;
}
.resp-sharing-button {
border-radius: 5px;
transition: 25ms ease-out;
padding: 0.5em 0.75em;
font-family: Helvetica Neue, Helvetica, Arial, sans-serif;
}
.resp-sharing-button__icon svg {
width: 1em;
height: 1em;
margin-right: 0.4em;
vertical-align: top;
}
.resp-sharing-button__icon svg {
width: 1em;
height: 1em;
margin-right: 0.4em;
vertical-align: top;
}
.resp-sharing-button--small svg {
margin: 0;
vertical-align: middle;
}
}
.resp-sharing-button--small svg {
margin: 0;
vertical-align: middle;
}
}

@ -23,7 +23,7 @@ $media-size-medium-min: "(min-width: 1200px)";
/* variables for js, must be the same as these in @custom-media queries */
:root {
--phoneWidth: (max-width: 684px);
--tabletWidth: (max-width: 900px);
--mediumWidth: (max-width: 1200px);
--phoneWidth: (max-width: 684px);
--tabletWidth: (max-width: 900px);
--mediumWidth: (max-width: 1200px);
}

@ -1,403 +1,403 @@
/* Background */
.chroma {
color: #f8f8f2;
background-color: #272822;
/* Other */
.x {
}
/* Error */
.err {
color: #960050;
background-color: #1e0010;
}
/* LineTableTD */
.lntd {
vertical-align: top;
padding: 0;
margin: 0;
border: 0;
}
/* LineTable */
.lntable {
border-spacing: 0;
padding: 0;
margin: 0;
border: 0;
width: auto;
overflow: auto;
display: block;
}
/* LineHighlight */
.hl {
display: block;
width: 100%;
background-color: #ffffcc;
}
/* LineNumbersTable */
.lnt {
margin-right: 0.4em;
padding: 0 0.4em 0 0.4em;
color: #7f7f7f;
}
/* LineNumbers */
.ln {
margin-right: 0.4em;
padding: 0 0.4em 0 0.4em;
color: #7f7f7f;
}
/* Keyword */
.k {
color: #66d9ef;
}
/* KeywordConstant */
.kc {
color: #66d9ef;
}
/* KeywordDeclaration */
.kd {
color: #66d9ef;
}
/* KeywordNamespace */
.kn {
color: #f92672;
}
/* KeywordPseudo */
.kp {
color: #66d9ef;
}
/* KeywordReserved */
.kr {
color: #66d9ef;
}
/* KeywordType */
.kt {
color: #66d9ef;
}
/* Name */
.n {
}
/* NameAttribute */
.na {
color: #a6e22e;
}
/* NameBuiltin */
.nb {
}
/* NameBuiltinPseudo */
.bp {
}
/* NameClass */
.nc {
color: #a6e22e;
}
/* NameConstant */
.no {
color: #66d9ef;
}
/* NameDecorator */
.nd {
color: #a6e22e;
}
/* NameEntity */
.ni {
}
/* NameException */
.ne {
color: #a6e22e;
}
/* NameFunction */
.nf {
color: #a6e22e;
}
/* NameFunctionMagic */
.fm {
}
/* NameLabel */
.nl {
}
/* NameNamespace */
.nn {
}
/* NameOther */
.nx {
color: #a6e22e;
}
/* NameProperty */
.py {
}
/* NameTag */
.nt {
color: #f92672;
}
/* NameVariable */
.nv {
}
/* NameVariableClass */
.vc {
}
/* NameVariableGlobal */
.vg {
}
/* NameVariableInstance */
.vi {
}
/* NameVariableMagic */
.vm {
}
/* Literal */
.l {
color: #ae81ff;
}
/* LiteralDate */
.ld {
color: #e6db74;
}
/* LiteralString */
.s {
color: #e6db74;
}
/* LiteralStringAffix */
.sa {
color: #e6db74;
}
/* LiteralStringBacktick */
.sb {
color: #e6db74;
}
/* LiteralStringChar */
.sc {
color: #e6db74;
}
/* LiteralStringDelimiter */
.dl {
color: #e6db74;
}
/* LiteralStringDoc */
.sd {
color: #e6db74;
}
/* LiteralStringDouble */
.s2 {
color: #e6db74;
}
/* LiteralStringEscape */
.se {
color: #ae81ff;
}
/* LiteralStringHeredoc */
.sh {
color: #e6db74;
}
/* LiteralStringInterpol */
.si {
color: #e6db74;
}
/* LiteralStringOther */
.sx {
color: #e6db74;
}
/* LiteralStringRegex */
.sr {
color: #e6db74;
}
/* LiteralStringSingle */
.s1 {
color: #e6db74;
}
/* LiteralStringSymbol */
.ss {
color: #e6db74;
}
/* LiteralNumber */
.m {
color: #ae81ff;
}
/* LiteralNumberBin */
.mb {
color: #ae81ff;
}
/* LiteralNumberFloat */
.mf {
color: #ae81ff;
}
/* LiteralNumberHex */
.mh {
color: #ae81ff;
}
/* LiteralNumberInteger */
.mi {
color: #ae81ff;
}
/* LiteralNumberIntegerLong */
.il {
color: #ae81ff;
}
/* LiteralNumberOct */
.mo {
color: #ae81ff;
}
/* Operator */
.o {
color: #f92672;
}
/* OperatorWord */
.ow {
color: #f92672;
}
/* Punctuation */
.p {
}
/* Comment */
.c {
color: #75715e;
}
/* CommentHashbang */
.ch {
color: #75715e;
}
/* CommentMultiline */
.cm {
color: #75715e;
}
/* CommentSingle */
.c1 {
color: #75715e;
}
/* CommentSpecial */
.cs {
color: #75715e;
}
/* CommentPreproc */
.cp {
color: #75715e;
}
/* CommentPreprocFile */
.cpf {
color: #75715e;
}
/* Generic */
.g {
}
/* GenericDeleted */
.gd {
color: #f92672;
}
/* GenericEmph */
.ge {
font-style: italic;
}
/* GenericError */
.gr {
}
/* GenericHeading */
.gh {
}
/* GenericInserted */
.gi {
color: #a6e22e;
}
/* GenericOutput */
.go {
}
/* GenericPrompt */
.gp {
}
/* GenericStrong */
.gs {
font-weight: bold;
}
/* GenericSubheading */
.gu {
color: #75715e;
}
/* GenericTraceback */
.gt {
}
/* GenericUnderline */
.gl {
}
/* TextWhitespace */
.w {
}
color: #f8f8f2;
background-color: #272822;
/* Other */
.x {
}
/* Error */
.err {
color: #960050;
background-color: #1e0010;
}
/* LineTableTD */
.lntd {
vertical-align: top;
padding: 0;
margin: 0;
border: 0;
}
/* LineTable */
.lntable {
border-spacing: 0;
padding: 0;
margin: 0;
border: 0;
width: auto;
overflow: auto;
display: block;
}
/* LineHighlight */
.hl {
display: block;
width: 100%;
background-color: #ffffcc;
}
/* LineNumbersTable */
.lnt {
margin-right: 0.4em;
padding: 0 0.4em 0 0.4em;
color: #7f7f7f;
}
/* LineNumbers */
.ln {
margin-right: 0.4em;
padding: 0 0.4em 0 0.4em;
color: #7f7f7f;
}
/* Keyword */
.k {
color: #66d9ef;
}
/* KeywordConstant */
.kc {
color: #66d9ef;
}
/* KeywordDeclaration */
.kd {
color: #66d9ef;
}
/* KeywordNamespace */
.kn {
color: #f92672;
}
/* KeywordPseudo */
.kp {
color: #66d9ef;
}
/* KeywordReserved */
.kr {
color: #66d9ef;
}
/* KeywordType */
.kt {
color: #66d9ef;
}
/* Name */
.n {
}
/* NameAttribute */
.na {
color: #a6e22e;
}
/* NameBuiltin */
.nb {
}
/* NameBuiltinPseudo */
.bp {
}
/* NameClass */
.nc {
color: #a6e22e;
}
/* NameConstant */
.no {
color: #66d9ef;
}
/* NameDecorator */
.nd {
color: #a6e22e;
}
/* NameEntity */
.ni {
}
/* NameException */
.ne {
color: #a6e22e;
}
/* NameFunction */
.nf {
color: #a6e22e;
}
/* NameFunctionMagic */
.fm {
}
/* NameLabel */
.nl {
}
/* NameNamespace */
.nn {
}
/* NameOther */
.nx {
color: #a6e22e;
}
/* NameProperty */
.py {
}
/* NameTag */
.nt {
color: #f92672;
}
/* NameVariable */
.nv {
}
/* NameVariableClass */
.vc {
}
/* NameVariableGlobal */
.vg {
}
/* NameVariableInstance */
.vi {
}
/* NameVariableMagic */
.vm {
}
/* Literal */
.l {
color: #ae81ff;
}
/* LiteralDate */
.ld {
color: #e6db74;
}
/* LiteralString */
.s {
color: #e6db74;
}
/* LiteralStringAffix */
.sa {
color: #e6db74;
}
/* LiteralStringBacktick */
.sb {
color: #e6db74;
}
/* LiteralStringChar */
.sc {
color: #e6db74;
}
/* LiteralStringDelimiter */
.dl {
color: #e6db74;
}
/* LiteralStringDoc */
.sd {
color: #e6db74;
}
/* LiteralStringDouble */
.s2 {
color: #e6db74;
}
/* LiteralStringEscape */
.se {
color: #ae81ff;
}
/* LiteralStringHeredoc */
.sh {
color: #e6db74;
}
/* LiteralStringInterpol */
.si {
color: #e6db74;
}
/* LiteralStringOther */
.sx {
color: #e6db74;
}
/* LiteralStringRegex */
.sr {
color: #e6db74;
}
/* LiteralStringSingle */
.s1 {
color: #e6db74;
}
/* LiteralStringSymbol */
.ss {
color: #e6db74;
}
/* LiteralNumber */
.m {
color: #ae81ff;
}
/* LiteralNumberBin */
.mb {
color: #ae81ff;
}
/* LiteralNumberFloat */
.mf {
color: #ae81ff;
}
/* LiteralNumberHex */
.mh {
color: #ae81ff;
}
/* LiteralNumberInteger */
.mi {
color: #ae81ff;
}
/* LiteralNumberIntegerLong */
.il {
color: #ae81ff;
}
/* LiteralNumberOct */
.mo {
color: #ae81ff;
}
/* Operator */
.o {
color: #f92672;
}
/* OperatorWord */
.ow {
color: #f92672;
}
/* Punctuation */
.p {
}
/* Comment */
.c {
color: #75715e;
}
/* CommentHashbang */
.ch {
color: #75715e;
}
/* CommentMultiline */
.cm {
color: #75715e;
}
/* CommentSingle */
.c1 {
color: #75715e;
}
/* CommentSpecial */
.cs {
color: #75715e;
}
/* CommentPreproc */
.cp {
color: #75715e;
}
/* CommentPreprocFile */
.cpf {
color: #75715e;
}
/* Generic */
.g {
}
/* GenericDeleted */
.gd {
color: #f92672;
}
/* GenericEmph */
.ge {
font-style: italic;
}
/* GenericError */
.gr {
}
/* GenericHeading */
.gh {
}
/* GenericInserted */
.gi {
color: #a6e22e;
}
/* GenericOutput */
.go {
}
/* GenericPrompt */
.gp {
}
/* GenericStrong */
.gs {
font-weight: bold;
}
/* GenericSubheading */
.gu {
color: #75715e;
}
/* GenericTraceback */
.gt {
}
/* GenericUnderline */
.gl {
}
/* TextWhitespace */
.w {
}
}

@ -25,14 +25,14 @@ other = "Oops, page not found…"
# posts/single.html
#
[readingTime]
one = "One minute"
one = "One minute"
other = "{{ .Count }} minutes"
[tableOfContents]
other = "Table of Contents"
[wordCount]
one = "One Word"
one = "One Word"
other = "{{ .Count }} Words"
[post]
@ -44,4 +44,4 @@ present = "Present"
skillsDeveloped = "Skills developed"
viewSource = "View source"
viewSourceKind = "View {{ . }} source"
liveDemo = "Live demo"
liveDemo = "Live demo"

@ -1,14 +1,24 @@
name = "maik-blog"
description = "A simple theme for my blog."
tags = ["blog", "clean", "dark", "light", "monochromatic", "personal", "responsive"]
tags = [
"blog",
"clean",
"dark",
"light",
"monochromatic",
"personal",
"responsive",
"technical",
"highlighting",
]
features = ["blog", "shortcode", "syntax highlighting"]
min_version = 0.30
[author]
name = "Maik de Kruif"
homepage = "https://maik.dev/"
name = "Maik de Kruif"
homepage = "https://maik.dev/"
[original]
name = "hello-friend"
homepage = "https://github.com/panr/hugo-theme-hello-friend"
repo = "https://github.com/panr/hugo-theme-hello-friend"
name = "hello-friend"
homepage = "https://github.com/panr/hugo-theme-hello-friend"
repo = "https://github.com/panr/hugo-theme-hello-friend"

Loading…
Cancel
Save