Initial Commit

This commit is contained in:
Sophia Atkinson 2022-11-03 21:23:41 -07:00
parent 9c8fbce0c1
commit b14b66bc69
184 changed files with 11297 additions and 1 deletions

3
.gitignore vendored
View File

@ -3,6 +3,9 @@
/public/
/resources/_gen/
/assets/jsconfig.json
/static/cdn
/static/images
/static/.htaccess
hugo_stats.json
# Executable may be added to repository

3
.gitmodules vendored Normal file
View File

@ -0,0 +1,3 @@
[submodule "themes/hugo-coder"]
path = themes/hugo-coder
url = https://github.com/luizdepra/hugo-coder.git

View File

@ -1,2 +1,3 @@
# sophia.wtf
# The style for my Website
## based off of Hugo Coder

6
archetypes/default.md Normal file
View File

@ -0,0 +1,6 @@
---
title: "{{ replace .Name "-" " " | title }}"
date: {{ .Date }}
draft: true
---

209
config.toml Normal file
View File

@ -0,0 +1,209 @@
baseURL = "http://www.example.com"
title = "johndoe"
theme = "hugo-coder"
languageCode = "en"
defaultContentLanguage = "en"
paginate = 20
pygmentsStyle = "bw"
pygmentsCodeFences = true
pygmentsCodeFencesGuessSyntax = true
enableEmoji = true
# Enable Disqus comments
# disqusShortname = "yourdiscussshortname"
[params]
author = "John Doe"
# license = '<a rel="license" href="http://creativecommons.org/licenses/by-sa/4.0/">CC BY-SA-4.0</a>'
description = "John Doe's personal website"
keywords = "blog,developer,personal"
info = ["Full Stack DevOps", "Magician"]
avatarURL = "images/avatar.jpg"
#gravatar = "john.doe@example.com"
dateFormat = "January 2, 2006"
since = 2019
# Git Commit in Footer, uncomment the line below to enable it
commit = "https://github.com/luizdepra/hugo-coder/tree/"
# Right To Left, shift content direction for languagues such as Arabic
rtl = false
# Specify light/dark colorscheme
# Supported values:
# "auto" (use preference set by browser)
# "dark" (dark background, light foreground)
# "light" (light background, dark foreground) (default)
colorScheme = "auto"
# Hide the toggle button, along with the associated vertical divider
hideColorSchemeToggle = false
# Series see also post count
maxSeeAlsoItems = 5
# Custom CSS
customCSS = []
# Custom SCSS, file path is relative to Hugo's asset folder (default: {your project root}/assets)
customSCSS = []
# Custom JS
customJS = []
touchIcon = "/images/apple-touch-icon.png"
snow = ["js/winter.js"]
ogimage = "https://cdn.statically.io/og/theme=dark/Sophia%20Atkinson.jpg"
mastodon = "https://mastodon.lol/@sophia"
[markup]
[markup.goldmark]
[markup.goldmark.renderer]
unsafe = true
disableKinds = ["taxonomy", "term"]
[taxonomies]
category = "categories"
tag = "tags"
# If you want to use fathom(https://usefathom.com) for analytics, add this section
# [params.fathomAnalytics]
# siteID = "ABCDE"
# serverURL = "analytics.example.com" # Default value is cdn.usefathom.com, overwrite this if you are self-hosting
# If you want to use plausible(https://plausible.io) for analytics, add this section
# [params.plausibleAnalytics]
# domain = "example.com"
# serverURL = "analytics.example.com" # Default value is plausible.io, overwrite this if you are self-hosting or using a custom domain
# If you want to use goatcounter(https://goatcounter.com) for analytics, add this section
# [params.goatCounter]
# code = "code"
# If you want to use Cloudflare Web Analytics(https://cloudflare.com) for analytics, add this section
# [params.cloudflare]
# token = "token"
# If you want to use Matomo(https://matomo.org) for analytics, add this section
# [params.matomo]
# siteID = "ABCDE" # Default value is "1", overwrite this if you are cloud-hosting
# serverURL = "analytics.example.com" # For cloud-hosting, use provided URL, e.g. example.matomo.cloud
# If you want to use Google Tag Manager(https://analytics.google.com/) for analytics, add this section
# [params.googleTagManager]
# id = "gid"
# If you want to use Application Insights(https://azure.com/) for analytics, add this section
# [params.applicationInsights]
# connectionString = "connectionString"
# If you want to implement a Content-Security-Policy, add this section
# [params.csp]
# childsrc = ["'self'"]
# fontsrc = ["'self'", "https://fonts.gstatic.com", "https://cdn.jsdelivr.net/"]
# formaction = ["'self'"]
# framesrc = ["'self'", "https://www.youtube.com"]
# imgsrc = ["'self'"]
# objectsrc = ["'none'"]
# stylesrc = [
# "'self'",
# "'unsafe-inline'",
# "https://fonts.googleapis.com/",
# "https://cdn.jsdelivr.net/",
# ]
# scriptsrc = [
# "'self'",
# "'unsafe-inline'",
# "https://www.google-analytics.com",
# "https://cdn.jsdelivr.net/",
# ]
# prefetchsrc = ["'self'"]
# # connect-src directive defines valid targets for to XMLHttpRequest (AJAX), WebSockets or EventSource
# connectsrc = ["'self'", "https://www.google-analytics.com"]
[taxonomies]
category = "categories"
series = "series"
tag = "tags"
author = "authors"
[[params.social]]
name = "Github"
icon = "fa fa-2x fa-github"
weight = 1
url = "https://github.com/johndoe/"
[[params.social]]
name = "Gitlab"
icon = "fa fa-2x fa-gitlab"
weight = 2
url = "https://gitlab.com/johndoe/"
[[params.social]]
name = "Twitter"
icon = "fa fa-2x fa-twitter"
weight = 3
url = "https://twitter.com/johndoe/"
[[params.social]]
name = "LinkedIn"
icon = "fa fa-2x fa-linkedin"
weight = 4
url = "https://www.linkedin.com/in/johndoe/"
[[params.social]]
name = "Medium"
icon = "fa fa-2x fa-medium"
weight = 5
url = "https://medium.com/@johndoe"
[[params.social]]
name = "RSS"
icon = "fa fa-2x fa-rss"
weight = 6
url = "https://myhugosite.com/index.xml"
rel = "alternate"
type = "application/rss+xml"
[languages.en]
languageName = ":uk:"
[[languages.en.menu.main]]
name = "About"
weight = 1
url = "about/"
[[languages.en.menu.main]]
name = "Blog"
weight = 2
url = "posts/"
[[languages.en.menu.main]]
name = "Projects"
weight = 3
url = "projects/"
[[languages.en.menu.main]]
name = "Contact me"
weight = 5
url = "contact/"
[languages.pt-br]
languageName = ":brazil:"
title = "João Ninguém"
[languages.pt-br.params]
author = "João Ninguém"
info = "Full Stack DevOps e Mágico"
description = "Sítio pessoal de João Ninguém"
keywords = "blog,desenvolvedor,pessoal"
[[languages.pt-br.menu.main]]
name = "Sobre"
weight = 1
url = "about/"
[[languages.pt-br.menu.main]]
name = "Blog"
weight = 2
url = "posts/"
[[languages.pt-br.menu.main]]
name = "Projetos"
weight = 3
url = "projects/"
[[languages.pt-br.menu.main]]
name = "Contato"
weight = 5
url = "contact/"

60
content/about.md Normal file
View File

@ -0,0 +1,60 @@
---
title: "About Me"
date: 2022-11-01T19:14:31-07:00
draft: false
---
#### Hello my name is Sophia.
#### I am a Fullstack developer, I have been a developer for 3 years, and I am decently experienced in Lua, C++, C#, and Java. I am very experienced in Node.js, Javascript, PHP, HTML, and CSS. I am very involved in the open-source initiative. Along with many other initiatives. [Pronouns Card](https://sop.wtf/sapronouns)
---
#### Hobbies
- Running My Homelab
- Building Computers
- Coding
- Gaming
---
#### Social Media
- [Mastodon](https://sop.wtf/samastodon)
- [Gitea](https://sop.wtf/sagit)
- [Keybase](https://sop.wtf/sakeybase)
- [My Blog](https://sop.wtf/sablog)
---
### My Computer
CPU: Ryzen 5 3600
CPU Cooler: Noctua NH-U12S Redux
Motherboard: MSI MAG B550 TOMAHAWK
RAM: 16 GB Crucial Ballistix DDR4 3600
GPU: ROG Strix RTX 3060
Case: Corsair 4000D Airflow
Fans: 6 Arctic F12 PWM PST
Storage: 1TB Samsung 870 QVO, HGST 4TB HDD
PSU: EVGA SuperNova 650 G5
Displays: 1x GW2480 1x BL2480
Keyboard: HyperX Alloy FPS Pro
Mouse: Razer Basilisk X Hyperspeed
Sound: Sennheiser HD 559
Mic: Rode Podmic, Behringer U-PHORIA UM2
OS: Windows 10 Pro

7
content/deprecated.md Normal file
View File

@ -0,0 +1,7 @@
---
title: "Page Deprecated"
date: 2022-11-01T23:19:34-07:00
draft: false
---
<h2><a href="/">Head On Home</a></h2>

19
content/domains.md Normal file
View File

@ -0,0 +1,19 @@
---
title: "Domains"
date: 2022-11-01T19:23:41-07:00
draft: false
---
### [sophia.wtf](https://www.whois.com/whois/sophia.wtf) (NOT for Sale)
### [sophiaatkinson.com](https://www.whois.com/whois/sophiaatkinson.com) (NOT for Sale)
### [sop.wtf](https://www.whois.com/whois/sop.wtf) (NOT for Sale)
### [tms.cx](https://www.whois.com/whois/tms.cx) (NOT for Sale)
### [theminecraftserver.org](https://www.whois.com/whois/theminecraftserver.org) (NOT for Sale)
### [projectfirewatch.com](https://www.whois.com/whois/projectfirewatch.com) (NOT for Sale)
### [perlathedog.com](https://www.whois.com/whois/perlathedog.com) (NOT for Sale)
### [codsworth.xyz](https://www.whois.com/whois/codsworth.xyz) (NOT for Sale)
### [atkinson.top](https://www.whois.com/whois/atkinson.top) (NOT for Sale)
### [satki.net](https://www.whois.com/whois/satki.net) (NOT for Sale)
### [bobatkinson.org](https://www.whois.com/whois/bobatkinson.org) (NOT for Sale)
### [oldgate.org](https://www.whois.com/whois/oldgate.org) (NOT for Sale)
### [linustechtips.xyz](https://www.whois.com/whois/linustechtips.xyz) (NOT for Sale)

40
content/music/2021.md Normal file
View File

@ -0,0 +1,40 @@
---
title: "2021 Music Vault"
date: 2022-11-01T22:12:15-07:00
draft: false
---
[Aoi Shiori by Galileo Galilei](https://www.youtube.com/watch?v=T3bxbVGWy5k)
[Sharinno Jiku by Galileo Galilei](https://open.spotify.com/album/0LfxOWTVdWR5QSJFUB1Vyz)
[Sea and The Darkness by Galileo Galilei](https://open.spotify.com/album/6vDFCF1YqhE5WKzYNSHOs7)
[warbear by warbear](https://open.spotify.com/album/3WMokB4YijvhsVF8Dz4pTj)
[Bubble Gum by warbear](https://open.spotify.com/album/3WMokB4YijvhsVF8Dz4pTj)
[Moon Boots by Bird Bear Hare and Fish](https://open.spotify.com/album/13Vr20gOcFUa3tCOLyCdWo)
[BBHF1 -YOUNG MAN GOES SOUTH- by BBHF](https://open.spotify.com/album/0t6tvs8YMlkBbE9UFRLDQS)
[Kakeagatte by BBHF](https://open.spotify.com/album/6yz29OGiI91l36fnJpEkEg?highlight=spotify:track:6RPvbiR4WRqEdDvGD5Bba6)
[Family by BBHF](https://open.spotify.com/album/0YdnhZUEtjLWLOyqoes01W)
[Kuroi Tsubasa no Aidawo by BBHF](https://open.spotify.com/album/5ypryztYkFip8obULYIgeI?highlight=spotify:track:0JUEN89Xy8JZ8ViAAbA4vF)
[Naimononedari by Kana-Boon](https://open.spotify.com/track/1dsh4buvcBs2u7YtHy29c7?si=18c46c43e07c4a5f)
[未来茶屋 vol.0 by Yunomi](https://music.apple.com/library/albums/l.xBCqX44)
[未来茶屋 vol.1 by Yunomi](https://music.apple.com/library/albums/l.Krch7H2)
[Lockdown (feat. Neona) by Pikasonic, Tatsunoshin](https://music.apple.com/library/albums/l.IlgvWzf)
[Tsuioku (feat. Nakotanmaru) by Pikasonic](https://music.apple.com/library/albums/l.p7M6Ej3)
My [Playlist](https://music.apple.com/library/playlist/p.06aW3YphVZZv0bQ)
Soundcloud [favorites](https://soundcloud.com/sophialul/likes)

55
content/music/_index.md Normal file
View File

@ -0,0 +1,55 @@
---
title: "Music"
date: 2022-11-01T21:59:40-07:00
draft: false
---
# Favorite Songs
[Carson by Rare Americans](https://www.youtube.com/watch?v=G-Bn4JUAIzw)
[Green Eye'd Monsta by Rare Americans](https://www.youtube.com/watch?v=O7rchGi_8R4)
[Shay by Rare Americans](https://www.youtube.com/watch?v=lwlMOCqb6_s)
[Fuck U Pal by Rare Americans](https://sop.wtf/oxqfn)
[Same Boat We Row by Rare Americans](https://sop.wtf/23qa7)
[Baggage by Rare Americans](https://sop.wtf/1u4xa)
[Brittle Bones Nicky by Rare Americans](https://sop.wtf/lvj8v)
[Brittle Bones Nicky 2 by Rare Americans](https://sop.wtf/pdbtt)
[Ryan & Dave by Rare Americans](https://sop.wtf/vvxya)
[Milk Man by Rare Americans](https://sop.wtf/xpbpz)
[Gas Mask by Rare Americans](https://sop.wtf/6js0i)
[I vs I by Rare Americans](https://sop.wtf/wn405)
[Still Alive (J.C. Mix) by Jonathan Coulton](https://sop.wtf/kh6l5)
[Want You Gone by Aperture Science Psychoacoustic Laboratories](https://sop.wtf/nf9om)
---
# Favorite Albums
[You're Not A Bad Person, it's Just A Bad World by Rare Americans]()
[Jamesy Boy & The Screw Loose Zoo by Rare Americans](https://sop.wtf/l57jf)
[Rare Americans 2 by Rare Americans](https://sop.wtf/4flj4)
[Rare Americans by Rare Americans](https://sop.wtf/mx9a6)
[what. by Bo Burnham](https://sop.wtf/n.ghb)
---
# My Music Vault
[2021](/music/2021/)

66
content/projects.md Normal file
View File

@ -0,0 +1,66 @@
---
title: "Projects"
date: 2022-11-01T23:01:44-07:00
draft: false
---
<img src="/images/previews/rja.webp"
width="480"
height="270" />
<h3>Robert James Atkinson Jr</h3>
<p>Found it pretty sad that all of the images of my Grandpa were from his Obit, So I made him a site. (<a href="https://bobatkinson.org/">bobatkinson.org</a>)</p>
<img src="/images/previews/sop.webp"
width="480"
height="270" />
<h3>sop.wtf</h3>
<p>URL Shortening Service, No Ads. No BS. 100% Free. (<a href="https://sop.wtf/">sop.wtf</a>)</p>
<img src="/images/previews/ptd.webp"
width="480"
height="270" />
<h3>Perla The Dog</h3>
<p>A Site Dedicated To My Dog. (<a href="https://perlathedog.com/">perlathedog.com</a>)</p>
<img src="/images/previews/pf.webp"
width="480"
height="270" />
<h3>Project Firewatch</h3>
<p>A Site Dedicated To Firewatch. (<a href="https://projectfirewatch.com/">projectfirewatch.com</a>)</p>
<img src="/images/previews/cw.webp"
width="480"
height="270" />
<h3>Codsworth The Discord Bot (Discontinued)</h3>
<p>A No-compromises Music Experience For Discord. (<a href="https://web.archive.org/web/20210912053249/https://codsworth.xyz/">codsworth.xyz</a>)</p>
<img src="/images/previews/tms.webp"
width="480"
height="270" />
<h3>The Minecraft Server</h3>
<p>A community server started in the thick of Covid-19. <a href="https://tms.cx">(tms.cx)</a></p>
<img src="/images/previews/jb.webp"
width="480"
height="270" />
<h3>Jim Bot (Discontinued)</h3>
<p>A Multipurpose Discord Bot.</p>
<img src="/images/previews/ab.webp"
width="480"
height="270" />
<h3>Annoyance Bot (Discontinued)</h3>
<p>Designed To Annoyance People On Discord.</p>
<img src="/images/previews/osrp.webp"
width="480"
height="270" />
<h3>Oregon State Roleplay (Closed)</h3>
<p>A FiveM Roleplay Server.</p>

188
static/js/winter.js Normal file
View File

@ -0,0 +1,188 @@
/** @license
* DHTML Snowstorm! JavaScript-based snow for web pages
* Making it snow on the internets since 2003. You're welcome.
* -----------------------------------------------------------
* Version 1.44.20131208 (Previous rev: 1.44.20131125)
* Copyright (c) 2007, Scott Schiller. All rights reserved.
* Code provided under the BSD License
* http://schillmania.com/projects/snowstorm/license.txt
*/
var snowStorm = function(e, t) {
this.autoStart = !0, this.excludeMobile = !0, this.flakesMax = 128, this.flakesMaxActive = 64, this.animationInterval = 33, this.useGPU = !0, this.className = null, this.excludeMobile = !0, this.flakeBottom = null, this.followMouse = !1, this.snowColor = "#fff", this.snowCharacter = "&bull;", this.snowStick = !0, this.targetElement = null, this.useMeltEffect = !0, this.useTwinkleEffect = !1, this.usePositionFixed = !1, this.usePixelPosition = !1, this.freezeOnBlur = !0, this.flakeLeftOffset = 0, this.flakeRightOffset = 0, this.flakeWidth = 8, this.flakeHeight = 8, this.vMaxX = 5, this.vMaxY = 4, this.zIndex = 0;
var i, s = this,
n = navigator.userAgent.match(/msie/i),
l = navigator.userAgent.match(/msie 6/i),
o = navigator.userAgent.match(/mobile|opera m(ob|in)/i),
a = n && "BackCompat" === t.compatMode || l,
r = null,
f = null,
m = null,
h = null,
u = null,
c = null,
d = null,
v = 1,
p = !1,
y = !1,
k = function() {
try {
t.createElement("div").style.opacity = "0.5"
} catch (e) {
return !1
}
return !0
}(),
g = !1,
x = t.createDocumentFragment();
function w(e, t) {
return isNaN(t) && (t = 0), Math.random() * e + t
}
function F() {
e.setTimeout((function() {
s.start(!0)
}), 20), s.events.remove(n ? t : e, "mousemove", F)
}
return i = function() {
var i;
var n, l = e.requestAnimationFrame || e.webkitRequestAnimationFrame || e.mozRequestAnimationFrame || e.oRequestAnimationFrame || e.msRequestAnimationFrame || function(t) {
e.setTimeout(t, 1e3 / (s.animationInterval || 20))
};
function o(e) {
return void 0 !== n.style[e] ? e : null
}
i = l ? function() {
return l.apply(e, arguments)
} : null, n = t.createElement("div");
var a = {
transform: {
ie: o("-ms-transform"),
moz: o("MozTransform"),
opera: o("OTransform"),
webkit: o("webkitTransform"),
w3: o("transform"),
prop: null
},
getAnimationFrame: i
};
return a.transform.prop = a.transform.w3 || a.transform.moz || a.transform.webkit || a.transform.ie || a.transform.opera, n = null, a
}(), this.timer = null, this.flakes = [], this.disabled = !1, this.active = !1, this.meltFrameCount = 20, this.meltFrames = [], this.setXY = function(e, t, i) {
if (!e) return !1;
s.usePixelPosition || y ? (e.style.left = t - s.flakeWidth + "px", e.style.top = i - s.flakeHeight + "px") : a || s.flakeBottom ? (e.style.right = 100 - t / r * 100 + "%", e.style.top = Math.min(i, u - s.flakeHeight) + "px") : (e.style.right = 100 - t / r * 100 + "%", e.style.bottom = 100 - i / m * 100 + "%")
}, this.events = function() {
var t = !e.addEventListener && e.attachEvent,
i = Array.prototype.slice,
s = {
add: t ? "attachEvent" : "addEventListener",
remove: t ? "detachEvent" : "removeEventListener"
};
function n(e) {
var s = i.call(e),
n = s.length;
return t ? (s[1] = "on" + s[1], n > 3 && s.pop()) : 3 === n && s.push(!1), s
}
function l(e, i) {
var n = e.shift(),
l = [s[i]];
t ? n[l](e[0], e[1]) : n[l].apply(n, e)
}
return {
add: function() {
l(n(arguments), "add")
},
remove: function() {
l(n(arguments), "remove")
}
}
}(), this.randomizeWind = function() {
var e, t;
if (t = w(s.vMaxX, .2), c = 1 === parseInt(w(2), 10) ? -1 * t : t, d = w(s.vMaxY, .2), this.flakes)
for (e = 0; e < this.flakes.length; e++) this.flakes[e].active && this.flakes[e].setVelocities()
}, this.scrollHandler = function() {
var i;
if (h = s.flakeBottom ? 0 : parseInt(e.scrollY || t.documentElement.scrollTop || (a ? t.body.scrollTop : 0), 10), isNaN(h) && (h = 0), !p && !s.flakeBottom && s.flakes)
for (i = 0; i < s.flakes.length; i++) 0 === s.flakes[i].active && s.flakes[i].stick()
}, this.resizeHandler = function() {
e.innerWidth || e.innerHeight ? (r = e.innerWidth - 16 - s.flakeRightOffset, m = s.flakeBottom || e.innerHeight) : (r = (t.documentElement.clientWidth || t.body.clientWidth || t.body.scrollWidth) - (n ? 0 : 8) - s.flakeRightOffset, m = s.flakeBottom || t.documentElement.clientHeight || t.body.clientHeight || t.body.scrollHeight), u = t.body.offsetHeight, f = parseInt(r / 2, 10)
}, this.resizeHandlerAlt = function() {
r = s.targetElement.offsetWidth - s.flakeRightOffset, m = s.flakeBottom || s.targetElement.offsetHeight, f = parseInt(r / 2, 10), u = t.body.offsetHeight
}, this.freeze = function() {
if (s.disabled) return !1;
s.disabled = 1, s.timer = null
}, this.resume = function() {
if (!s.disabled) return !1;
s.disabled = 0, s.timerInit()
}, this.toggleSnow = function() {
s.flakes.length ? (s.active = !s.active, s.active ? (s.show(), s.resume()) : (s.stop(), s.freeze())) : s.start()
}, this.stop = function() {
var i;
for (this.freeze(), i = 0; i < this.flakes.length; i++) this.flakes[i].o.style.display = "none";
s.events.remove(e, "scroll", s.scrollHandler), s.events.remove(e, "resize", s.resizeHandler), s.freezeOnBlur && (n ? (s.events.remove(t, "focusout", s.freeze), s.events.remove(t, "focusin", s.resume)) : (s.events.remove(e, "blur", s.freeze), s.events.remove(e, "focus", s.resume)))
}, this.show = function() {
var e;
for (e = 0; e < this.flakes.length; e++) this.flakes[e].o.style.display = "block"
}, this.SnowFlake = function(e, n, l) {
var o = this;
this.type = e, this.x = n || parseInt(w(r - 20), 10), this.y = isNaN(l) ? -w(m) - 12 : l, this.vX = null, this.vY = null, this.vAmpTypes = [1, 1.2, 1.4, 1.6, 1.8], this.vAmp = this.vAmpTypes[this.type] || 1, this.melting = !1, this.meltFrameCount = s.meltFrameCount, this.meltFrames = s.meltFrames, this.meltFrame = 0, this.twinkleFrame = 0, this.active = 1, this.fontSize = 10 + this.type / 5 * 10, this.o = t.createElement("div"), this.o.innerHTML = s.snowCharacter, s.className && this.o.setAttribute("class", s.className), this.o.style.color = s.snowColor, this.o.style.position = p ? "fixed" : "absolute", s.useGPU && i.transform.prop && (this.o.style[i.transform.prop] = "translate3d(0px, 0px, 0px)"), this.o.style.width = s.flakeWidth + "px", this.o.style.height = s.flakeHeight + "px", this.o.style.fontFamily = "arial,verdana", this.o.style.cursor = "default", this.o.style.overflow = "hidden", this.o.style.fontWeight = "normal", this.o.style.zIndex = s.zIndex, x.appendChild(this.o), this.refresh = function() {
if (isNaN(o.x) || isNaN(o.y)) return !1;
s.setXY(o.o, o.x, o.y)
}, this.stick = function() {
a || s.targetElement !== t.documentElement && s.targetElement !== t.body ? o.o.style.top = m + h - s.flakeHeight + "px" : s.flakeBottom ? o.o.style.top = s.flakeBottom + "px" : (o.o.style.display = "none", o.o.style.bottom = "0%", o.o.style.position = "fixed", o.o.style.display = "block")
}, this.vCheck = function() {
o.vX >= 0 && o.vX < .2 ? o.vX = .2 : o.vX < 0 && o.vX > -.2 && (o.vX = -.2), o.vY >= 0 && o.vY < .2 && (o.vY = .2)
}, this.move = function() {
var e = o.vX * v;
o.x += e, o.y += o.vY * o.vAmp, o.x >= r || r - o.x < s.flakeWidth ? o.x = 0 : e < 0 && o.x - s.flakeLeftOffset < -s.flakeWidth && (o.x = r - s.flakeWidth - 1), o.refresh(), m + h - o.y + s.flakeHeight < s.flakeHeight ? (o.active = 0, s.snowStick ? o.stick() : o.recycle()) : (s.useMeltEffect && o.active && o.type < 3 && !o.melting && Math.random() > .998 && (o.melting = !0, o.melt()), s.useTwinkleEffect && (o.twinkleFrame < 0 ? Math.random() > .97 && (o.twinkleFrame = parseInt(8 * Math.random(), 10)) : (o.twinkleFrame--, k ? o.o.style.opacity = o.twinkleFrame && o.twinkleFrame % 2 == 0 ? 0 : 1 : o.o.style.visibility = o.twinkleFrame && o.twinkleFrame % 2 == 0 ? "hidden" : "visible")))
}, this.animate = function() {
o.move()
}, this.setVelocities = function() {
o.vX = c + w(.12 * s.vMaxX, .1), o.vY = d + w(.12 * s.vMaxY, .1)
}, this.setOpacity = function(e, t) {
if (!k) return !1;
e.style.opacity = t
}, this.melt = function() {
s.useMeltEffect && o.melting && o.meltFrame < o.meltFrameCount ? (o.setOpacity(o.o, o.meltFrames[o.meltFrame]), o.o.style.fontSize = o.fontSize - o.fontSize * (o.meltFrame / o.meltFrameCount) + "px", o.o.style.lineHeight = s.flakeHeight + 2 + .75 * s.flakeHeight * (o.meltFrame / o.meltFrameCount) + "px", o.meltFrame++) : o.recycle()
}, this.recycle = function() {
o.o.style.display = "none", o.o.style.position = p ? "fixed" : "absolute", o.o.style.bottom = "auto", o.setVelocities(), o.vCheck(), o.meltFrame = 0, o.melting = !1, o.setOpacity(o.o, 1), o.o.style.padding = "0px", o.o.style.margin = "0px", o.o.style.fontSize = o.fontSize + "px", o.o.style.lineHeight = s.flakeHeight + 2 + "px", o.o.style.textAlign = "center", o.o.style.verticalAlign = "baseline", o.x = parseInt(w(r - s.flakeWidth - 20), 10), o.y = parseInt(-1 * w(m), 10) - s.flakeHeight, o.refresh(), o.o.style.display = "block", o.active = 1
}, this.recycle(), this.refresh()
}, this.snow = function() {
var e, t, n = 0,
l = null;
for (e = 0, t = s.flakes.length; e < t; e++) 1 === s.flakes[e].active && (s.flakes[e].move(), n++), s.flakes[e].melting && s.flakes[e].melt();
n < s.flakesMaxActive && 0 === (l = s.flakes[parseInt(w(s.flakes.length), 10)]).active && (l.melting = !0), s.timer && i.getAnimationFrame(s.snow)
}, this.mouseMove = function(e) {
if (!s.followMouse) return !0;
var t = parseInt(e.clientX, 10);
v = t < f ? t / f * 2 - 2 : (t -= f) / f * 2
}, this.createSnow = function(e, t) {
var i;
for (i = 0; i < e; i++) s.flakes[s.flakes.length] = new s.SnowFlake(parseInt(w(6), 10)), (t || i > s.flakesMaxActive) && (s.flakes[s.flakes.length - 1].active = -1);
s.targetElement.appendChild(x)
}, this.timerInit = function() {
s.timer = !0, s.snow()
}, this.init = function() {
var i;
for (i = 0; i < s.meltFrameCount; i++) s.meltFrames.push(1 - i / s.meltFrameCount);
s.randomizeWind(), s.createSnow(s.flakesMax), s.events.add(e, "resize", s.resizeHandler), s.events.add(e, "scroll", s.scrollHandler), s.freezeOnBlur && (n ? (s.events.add(t, "focusout", s.freeze), s.events.add(t, "focusin", s.resume)) : (s.events.add(e, "blur", s.freeze), s.events.add(e, "focus", s.resume))), s.resizeHandler(), s.scrollHandler(), s.followMouse && s.events.add(n ? t : e, "mousemove", s.mouseMove), s.animationInterval = Math.max(20, s.animationInterval), s.timerInit()
}, this.start = function(i) {
if (g) {
if (i) return !0
} else g = !0;
if ("string" == typeof s.targetElement) {
var n = s.targetElement;
if (s.targetElement = t.getElementById(n), !s.targetElement) throw new Error('Snowstorm: Unable to get targetElement "' + n + '"')
}
if (s.targetElement || (s.targetElement = t.body || t.documentElement), s.targetElement !== t.documentElement && s.targetElement !== t.body && (s.resizeHandler = s.resizeHandlerAlt, s.usePixelPosition = !0), s.resizeHandler(), s.usePositionFixed = s.usePositionFixed && !a && !s.flakeBottom, e.getComputedStyle) try {
y = "relative" === e.getComputedStyle(s.targetElement, null).getPropertyValue("position")
} catch (e) {
y = !1
}
p = s.usePositionFixed, r && m && !s.disabled && (s.init(), s.active = !0)
}, s.autoStart && s.events.add(e, "load", (function t() {
s.excludeMobile && o || F(), s.events.remove(e, "load", t)
}), !1), this
}(window, document);

View File

@ -0,0 +1,29 @@
# http://editorconfig.org
# this file is the top-most editorconfig file
root = true
# all files
[*]
charset = utf-8
end_of_line = lf
indent_style = space
indent_size = 4
insert_final_newline = true
trim_trailing_whitespace = true
# markdown files
[*.md]
insert_final_newline = false
trim_trailing_whitespace = false
# configuration files
[*.toml]
indent_size = 2
# web files
[*.{html,css,scss}]
indent_size = 2
[Makefile]
indent_style = tab

1
themes/hugo-coder/.github/FUNDING.yml vendored Normal file
View File

@ -0,0 +1 @@
custom: https://www.buymeacoffee.com/luizdepra

View File

@ -0,0 +1,33 @@
### Prerequisites
Put an `x` into the box(es) that apply:
- [ ] This pull request fixes a bug.
- [ ] This pull request adds a feature.
- [ ] This pull request introduces breaking change.
### Description
Describe what this pull request achieves.
### Issues Resolved
List any existing issues this pull request resolves.
### Checklist
Put an `x` into the box(es) that apply:
#### General
- [ ] Describe what changes are being made
- [ ] Explain why and how the changes were necessary and implemented respectively
- [ ] Reference issue with `#<ISSUE_NO>` if applicable
#### Resources
- [ ] If you have changed any SCSS code, run `make release` to regenerate all CSS files
#### Contributors
- [ ] Add yourself to `CONTRIBUTORS.md` if you aren't on it already

6
themes/hugo-coder/.gitignore vendored Normal file
View File

@ -0,0 +1,6 @@
.idea
**/themes/
exampleSite/public/
exampleSite/resources/
*.lock
public

View File

@ -0,0 +1,120 @@
# Contributors
- [Chip Senkbeil](https://github.com/chipsenkbeil)
- [Dale Noe](https://github.com/dalenoe)
- [Gabor Nagy](https://github.com/Aigeruth)
- [Harry Khanna](https://github.com/hkhanna)
- [Ihor Dvoretskyi](https://github.com/idvoretskyi)
- [Jacob Wood](https://github.com/jacoblukewood)
- [Jan Baudisch](https://github.com/flyingP0tat0)
- [Jiri Hubacek](https://github.com/qeef)
- [Khosrow Moossavi](https://github.com/khos2ow)
- [Maikel](https://github.com/mbollemeijer)
- [MetBril](https://github.com/metbril)
- [Myles Johnson](https://github.com/MylesJohnson)
- [Niels Reijn](https://github.com/reijnn)
- [Padraic Renaghan](https://github.com/prenagha)
- [peterrus](https://github.com/peterrus)
- [Philipp Rintz](https://github.com/p-rintz)
- [Ralf Junghanns](https://github.com/rabbl)
- [rdhox](https://rdhox.io)
- [tobaloidee](https://github.com/Tobaloidee)
- [Tomasz Wąsiński](https://github.com/wasinski)
- [Vinícius dos Santos Oliveira](https://github.com/vinipsmaker)
- [Vlad Ionescu](https://github.com/Vlaaaaaaad)
- [Joseph Ting](https://github.com/josephting)
- [Abner Campanha](https://github.com/abnerpc)
- [Martin Kiesel](https://github.com/Kyslik)
- [John Tobin](https://www.johntobin.ie/)
- [Thomas Nys](https://thomasnys.com)
- [Piotr Januszewski](https://piojanu.github.io)
- [Artem Khvastunov](https://artspb.me)
- [Gabriel Nepomuceno](https://blog.nepomuceno.me)
- [Salvatore Giordano](https://salvatore-giordano.github.io)
- [Jeffrey Carpenter](https://uvolabs.me)
- [Paul Lettington](https://github.com/plett)
- [Thomas Vochten](https://github.com/thomasvochten)
- [Caspar Krieger](https://www.asparck.com)
- [D_DAndrew](https://d-dandrew.github.io)
- [Wataru Mizukami](https://github.com/tarumzu)
- [Yudi Widiyanto](https://github.com/yudiwdynto)
- [Łukasz Mróz](https://github.com/mrozlukasz)
- [Jia "Jay" Tan](https://github.com/j7an)
- [Ryan](https://github.com/alrayyes)
- [Naim A.](https://github.com/naim94a)
- [Alexander Rohde](https://github.com/a1x42)
- [Shreyansh Khajanchi](https://shreyanshja.in)
- [Lionel Brianto](https://lionel.brianto.dev)
- [Luis Zarate](https://github.com/jlzaratec)
- [Ariejan de Vroom](https://www.devroom.io)
- [Bobby Lindsey](https://bobbywlindsey.com)
- [José Mª Escartín](https://github.com/jme52)
- [John Schroeder](https://blog.schroedernet.software)
- [Tobias Lindberg](https://github.com/tobiasehlert)
- [KK](https://github.com/bebound)
- [Eli W. Hunter](https://github.com/elihunter173)
- [Víctor López](https://github.com/viticlick)
- [Anson VanDoren](https://github.com/anson-vandoren)
- [Michael Lynch](https://github.com/mtlynch)
- [FIGBERT](https://figbert.com/)
- [Yash Mehrotra](https://yashmehrotra.com)
- [Paolo Mainardi](https://paolomainardi.com)
- [Ka-Wai Lin](https://github.com/kwlin)
- [Piotr Orzechowski](https://orzechowski.tech)
- [Glenn Feunteun](https://github.com/gfeun)
- [Santiago González](https://github.com/netrules)
- [Codruț Constantin Gușoi](https://www.codrut.pro)
- [Clément Pannetier](https://clementpannetier.dev)
- [FantasticMao](https://github.com/FantasticMao)
- [Utkarsh Gupta](https://utkarsh2102.com)
- [Latiif Alsharif](https://latiif.se)
- [Endormi](https://endormi.io)
- [Rajiv Ranjan Singh](https://iamrajiv.github.io/)
- [Pakhomov Alexander](https://github.com/PakhomovAlexander)
- [Rhys Perry](https://rhysperry.com)
- [Arunvel Sriram](https://github.com/arunvelsriram)
- [Lorenzo Cameroni](https://github.com/came88)
- [Jared Sturdy](https://github.com/jsturdy)
- [Daniel Monteiro](https://github.com/dfamonteiro)
- [Dave Rolsky](https://github.com/autarch)
- [Joseph Sanders](https://github.com/jls83)
- [Rabin Adhikari](https://github.com/rabinadk1/)
- [Hussaini Zulkifli](https://github.com/hussaini/)
- [Ellison Leão](https://github.com/ellisonleao)
- [Lucas de Oliveira](https://github.com/lucas-dOliveira)
- [Jian Loong Liew](https://github.com/JianLoong)
- [earnest ma](https://github.com/earnestma)
- [TMineCola](https://github.com/tminecola)
- [Arafat Hasan](https://github.com/arafat-hasan)
- [YUJI](https://yuji.ne.jp/)
- [JaeSang Yoo](https://github.com/JSYoo5B)
- [tianheg](https://github.com/tianheg)
- [Felix](https://github.com/lazyyz)
- [Peter Duchnovsky](https://pduchnovsky.com)
- [Alex Miranda](https://ammiranda.com)
- [Alphonse Mariya](https://github.com/alfunx)
- [Ziwei Pan](https://github.com/PanZiwei/)
- [Viktar Patotski](https://github.com/xp-vit)
- [cuso4-5h2o](https://www.cuso4.me)
- [freeformz](https://icanhazdowntime.org)
- [Roberto Gongora](https://yourfavourite.blog)
- [kuba86](https://kuba86.com)
- [Vladislav Matus](https://github.com/matusvla)
- [Kirill Feoktistov](https://feoktistoff.org)
- [leins275](https://github.com/LanskovNV)
- [Michael Weiss](https://mweiss.ch)
- [Simon Pai](https://github.com/simonpai)
- [Brenton Mallen](https://github.com/brentonmallen1)
- [Xiaoyang Luo](https://github.com/ccviolett/)
- [Michiel Appelman](https://appelman.se)
- [Mark Wood](https://digitalnotions.net)
- [Sam A.](https://samsapti.dev)
- [John Feminella](https://jxf.me)
- [zzsqwq](https://zzsqwq.cn)
- [George Tsiokos](https://george.tsiokos.com)
- [Eltjo](https://github.com/eltjo)
- [Saurmandal](https://saur.neocities.org)
- [Jneo8](https://github.com/jneo8)
- [Daniel Nduati](https://github.com/DanNduati)
- [Simon Hollingshead](https://github.com/simonhollingshead)
- [yangyangdaji](https://github.com/yangyangdaji)

View File

@ -0,0 +1,20 @@
The MIT License (MIT)
Copyright (c) 2018 Luiz F. A. de Prá
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

View File

@ -0,0 +1,12 @@
HUGO_BIN=hugo
.PHONY: build demo release
build:
$(HUGO_BIN) --themesDir=../.. --source=exampleSite
demo:
$(HUGO_BIN) server -D --themesDir=../.. --source=exampleSite --bind 0.0.0.0
release: build
rm -rf ./resources && cp -r ./exampleSite/resources ./resources

View File

@ -0,0 +1,53 @@
<p align="center">
<p align="center">
<a href="https://themes.gohugo.io/hugo-coder/">
<img src="https://img.shields.io/badge/theme-hugo--coder-2b8cbe" alt="Hugo Theme Badge"">
</a>
<a href="https://github.com/luizdepra/hugo-coder/blob/master/LICENSE.txt">
<img src="https://img.shields.io/github/license/luizdepra/hugo-coder.svg" alt="MIT License Badge">
</a>
</p>
<p align="center">
<a href="https://github.com/luizdepra/hugo-coder">
<img src="images/logos/logotype-a.png" alt="Hugo Coder Logo" width="600px" height="184px">
</a>
</p>
</p>
A simple and clean blog theme for [Hugo](https://gohugo.io/).
![](images/screenshot.png)
## Live Demo
See [here](https://hugo-coder.netlify.app/).
## Quick Start
1. Add the repository into your Hugo Project repository as a submodule, `git submodule add https://github.com/luizdepra/hugo-coder.git themes/hugo-coder`.
2. Configure your `config.toml`. You can either use [this minimal configuration](https://github.com/luizdepra/hugo-coder/blob/main/docs/configurations.md#complete-example) as a base, or look for a complete explanation about all configurations [here](https://github.com/luizdepra/hugo-coder/blob/main/docs/configurations.md). The [`config.toml`](https://github.com/luizdepra/hugo-coder/blob/master/exampleSite/config.toml) inside the [`exampleSite`](https://github.com/luizdepra/hugo-coder/tree/master/exampleSite) is also a good reference.
3. Build your site with `hugo server` and see the result at `http://localhost:1313/`.
## Documentation
See the [`docs`](docs/home.md) folder.
## License
Coder is licensed under the [MIT license](https://github.com/luizdepra/hugo-coder/blob/master/LICENSE.md).
## Maintenance
This theme is maintained by its author [Luiz de Prá](https://github.com/luizdepra) with the help from these awesome [contributors](CONTRIBUTORS.md).
## Sponsoring
If you like my project or it was useful for you, consider supporting its development. Just:
<a href="https://www.buymeacoffee.com/luizdepra" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/default-green.png" alt="Buy Me A Coffee" height="41" width="174"></a>
## Special Thanks
- Gleen McComb, for his great [article](https://glennmccomb.com/articles/how-to-build-custom-hugo-pagination/) about custom pagination.
- All contributors, for every PR and Issue reported.

View File

@ -0,0 +1,6 @@
+++
draft = true
date = {{ .Date }}
title = ""
slug = ""
+++

View File

@ -0,0 +1,12 @@
+++
draft = true
date = {{ .Date }}
title = ""
description = ""
slug = ""
authors = []
tags = []
categories = []
externalLink = ""
series = []
+++

View File

@ -0,0 +1,83 @@
const body = document.body;
const darkModeToggle = document.getElementById('dark-mode-toggle');
const darkModeMediaQuery = window.matchMedia('(prefers-color-scheme: dark)');
// Check if user preference is set, if not check value of body class for light or dark else it means that colorscheme = auto
if (localStorage.getItem("colorscheme")) {
setTheme(localStorage.getItem("colorscheme"));
} else if (body.classList.contains('colorscheme-light') || body.classList.contains('colorscheme-dark')) {
setTheme(body.classList.contains("colorscheme-dark") ? "dark" : "light");
} else {
setTheme(darkModeMediaQuery.matches ? "dark" : "light");
}
if (darkModeToggle) {
darkModeToggle.addEventListener('click', () => {
let theme = body.classList.contains("colorscheme-dark") ? "light" : "dark";
setTheme(theme);
rememberTheme(theme);
});
}
darkModeMediaQuery.addListener((event) => {
setTheme(event.matches ? "dark" : "light");
});
document.addEventListener("DOMContentLoaded", function () {
let node = document.querySelector('.preload-transitions');
node.classList.remove('preload-transitions');
});
function setTheme(theme) {
body.classList.remove('colorscheme-auto');
let inverse = theme === 'dark' ? 'light' : 'dark';
body.classList.remove('colorscheme-' + inverse);
body.classList.add('colorscheme-' + theme);
document.documentElement.style['color-scheme'] = theme;
function waitForElm(selector) {
return new Promise(resolve => {
if (document.querySelector(selector)) {
return resolve(document.querySelector(selector));
}
const observer = new MutationObserver(mutations => {
if (document.querySelector(selector)) {
resolve(document.querySelector(selector));
observer.disconnect();
}
});
observer.observe(document.body, {
childList: true,
subtree: true
});
});
}
if (theme === 'dark') {
const message = {
type: 'set-theme',
theme: 'github-dark'
};
waitForElm('.utterances-frame').then((iframe) => {
iframe.contentWindow.postMessage(message, 'https://utteranc.es');
})
}
else {
const message = {
type: 'set-theme',
theme: 'github-light'
};
waitForElm('.utterances-frame').then((iframe) => {
iframe.contentWindow.postMessage(message, 'https://utteranc.es');
})
}
}
function rememberTheme(theme) {
localStorage.setItem('colorscheme', theme);
}

View File

@ -0,0 +1,266 @@
*,
*:after,
*:before {
box-sizing: inherit;
}
html {
box-sizing: border-box;
font-size: 62.5%;
}
body {
color: $fg-color;
background-color: $bg-color;
font-family: $font-family;
font-size: 1.8em;
font-weight: 400;
line-height: 1.8em;
@media only screen and (max-width: 768px) {
font-size: 1.6em;
line-height: 1.6em;
}
}
a {
font-weight: 500;
color: #4E5D94;
text-decoration: none;
transition: all 0.25s ease-in;
&:focus,
&:hover {
text-decoration: underline;
}
}
p {
margin: 2rem 0 2rem 0;
}
h1,
h2,
h3,
h4,
h5,
h6 {
font-family: $font-family;
font-weight: 600;
color: $alt-fg-color;
margin: 4rem 0 2.5rem 0;
&:hover .heading-link {
visibility: visible;
}
.heading-link {
color: #4E5D94;
font-weight: inherit;
text-decoration: none;
font-size: 80%;
visibility: hidden;
}
.title-link {
color: inherit;
font-weight: inherit;
text-decoration: none;
}
}
h1 {
font-size: 3.2rem;
line-height: 3.6rem;
@media only screen and (max-width: 768px) {
font-size: 3rem;
line-height: 3.4rem;
}
}
h2 {
font-size: 2.8rem;
line-height: 3.2rem;
@media only screen and (max-width: 768px) {
font-size: 2.6rem;
line-height: 3rem;
}
}
h3 {
font-size: 2.4rem;
line-height: 2.8rem;
@media only screen and (max-width: 768px) {
font-size: 2.2rem;
line-height: 2.6rem;
}
}
h4 {
font-size: 2.2rem;
line-height: 2.6rem;
@media only screen and (max-width: 768px) {
font-size: 2rem;
line-height: 2.4rem;
}
}
h5 {
font-size: 2rem;
line-height: 2.4rem;
@media only screen and (max-width: 768px) {
font-size: 1.8rem;
line-height: 2.2rem;
}
}
h6 {
font-size: 1.8rem;
line-height: 2.2rem;
@media only screen and (max-width: 768px) {
font-size: 1.6rem;
line-height: 2rem;
}
}
b,
strong {
font-weight: 700;
}
.highlight>div,
.highlight>pre {
margin: 2rem 0 2rem;
padding: 1rem;
border-radius: 1rem;
}
pre {
display: block;
font-family: $code-font-family;
font-size: 1.6rem;
font-weight: 400;
line-height: 2.6rem;
overflow-x: auto;
margin: 0;
code {
display: inline-block;
background-color: inherit;
color: inherit;
}
}
code {
font-family: $code-font-family;
font-size: 1.6rem;
font-weight: 400;
background-color: $alt-bg-color;
color: $fg-color;
border-radius: 0.6rem;
padding: 0.3rem 0.6rem;
}
blockquote {
border-left: 2px solid $alt-bg-color;
padding-left: 2rem;
line-height: 2.2rem;
font-weight: 400;
font-style: italic;
}
th,
td {
padding: 1.6rem;
}
table {
border-collapse: collapse;
}
table td,
table th {
border: 2px solid $alt-fg-color;
}
table tr:first-child th {
border-top: 0;
}
table tr:last-child td {
border-bottom: 0;
}
table tr td:first-child,
table tr th:first-child {
border-left: 0;
}
table tr td:last-child,
table tr th:last-child {
border-right: 0;
}
img {
max-width: 100%;
}
figure {
text-align: center;
}
.preload-transitions * {
$null-transition: none !important;
-webkit-transition: $null-transition;
-moz-transition: $null-transition;
-ms-transition: $null-transition;
-o-transition: $null-transition;
transition: $null-transition;
}
.wrapper {
display: flex;
flex-direction: column;
min-height: 100vh;
width: 100%;
}
.container {
margin: 1rem auto;
max-width: 90rem;
width: 100%;
padding-left: 2rem;
padding-right: 2rem;
}
.fab {
font-weight: 400;
}
.fas {
font-weight: 700;
}
.float-right {
float: right;
}
.float-left {
float: left;
}
.fab {
font-weight: 400;
}
.fas {
font-weight: 900;
}

View File

@ -0,0 +1,101 @@
@mixin base_dark {
color: $fg-color-dark;
background-color: $bg-color-dark;
a {
color: $link-color-dark;
}
h1,
h2,
h3,
h4,
h5,
h6 {
color: $alt-fg-color-dark;
&:hover .heading-link {
visibility: visible;
}
.heading-link {
color: $link-color-dark;
font-weight: inherit;
text-decoration: none;
font-size: 80%;
visibility: hidden;
}
.title-link {
color: inherit;
font-weight: inherit;
text-decoration: none;
}
}
code {
background-color: $alt-bg-color-dark;
color: $fg-color-dark;
}
// fix color schemes which do not explicitly set fg-color
.highlight {
pre {
background-color: $alt-bg-color-dark;
color: $fg-color-dark;
}
}
:not(.highlight) > pre {
code {
background-color: inherit;
color: inherit;
}
}
blockquote {
border-left: 2px solid $alt-bg-color-dark;
}
th,
td {
padding: 1.6rem;
}
table {
border-collapse: collapse;
}
table td,
table th {
border: 2px solid $alt-fg-color-dark;
}
table tr:first-child th {
border-top: 0;
}
table tr:last-child td {
border-bottom: 0;
}
table tr td:first-child,
table tr th:first-child {
border-left: 0;
}
table tr td:last-child,
table tr th:last-child {
border-right: 0;
}
}
body.colorscheme-dark {
@include base_dark();
}
body.colorscheme-auto {
@media (prefers-color-scheme: dark) {
@include base_dark();
}
}

View File

@ -0,0 +1,24 @@
body.rtl {
direction: rtl;
pre {
direction: ltr;
}
blockquote {
border-left: none;
border-right: 2px solid $alt-bg-color;
padding-left: 0;
padding-right: 1.6rem;
}
table tr td:first-child,
table tr th:first-child {
border-right: 0;
}
table tr td:last-child,
table tr th:last-child {
border-left: 0;
}
}

View File

@ -0,0 +1,236 @@
.content {
flex: 1;
display: flex;
margin-top: 1.6rem;
margin-bottom: 3.2rem;
article {
details {
summary {
cursor: pointer;
}
}
header {
margin-top: 6.4rem;
margin-bottom: 3.2rem;
h1 {
font-size: 4.2rem;
line-height: 4.6rem;
margin: 0;
@media only screen and (max-width: 768px) {
font-size: 4rem;
line-height: 4.4rem;
}
}
}
footer {
margin-top: 4rem;
.see-also {
margin: 3.2rem 0;
h3 {
margin: 3.2rem 0;
}
}
}
p {
text-align: justify;
text-justify: auto;
hyphens: auto;
}
}
.post {
.post-title {
margin-bottom: 0.75em;
}
.post-meta {
i {
text-align: center;
width: 1.6rem;
margin-left: 0;
margin-right: 0.5rem;
}
.date {
.posted-on {
margin-left: 0;
margin-right: 1.5rem;
}
}
.tags {
.tag {
display: inline-block;
padding: 0.3rem 0.6rem;
background-color: $alt-bg-color;
border-radius: 0.6rem;
line-height: 1.4em;
a {
color: $fg-color;
}
a:active {
color: $fg-color;
}
}
}
}
}
figure {
margin: 0;
padding: 0;
}
figcaption p {
text-align: center;
font-style: italic;
font-size: 1.6rem;
margin: 0;
}
}
.avatar img {
width: 20rem;
height: auto;
border-radius: 50%;
@media only screen and (max-width: 768px) {
width: 10rem;
}
}
.list {
ul {
margin: 3.2rem 0 3.2rem 0;
list-style: none;
padding: 0;
li {
font-size: 1.8rem;
@media only screen and (max-width: 768px) {
margin: 1.6rem 0 1.6rem 0;
}
.date {
display: inline-block;
flex: 1;
width: 20rem;
text-align: right;
margin-right: 3rem;
@media only screen and (max-width: 768px) {
display: block;
text-align: left;
}
}
.title {
font-size: 1.8rem;
flex: 2;
color: $fg-color;
font-family: $font-family;
font-weight: 700;
&:hover,
&:focus {
color: $link-color;
}
}
}
}
ul:not(.pagination) {
li {
@media only screen and (min-width: 768.1px) {
display: flex;
}
}
}
}
.centered {
display: flex;
align-items: center;
justify-content: center;
.about {
text-align: center;
h1 {
margin-top: 2rem;
margin-bottom: 0.5rem;
}
h2 {
margin-top: 1rem;
margin-bottom: 0.5rem;
font-size: 2.4rem;
@media only screen and (max-width: 768px) {
font-size: 2rem;
}
}
ul {
list-style: none;
margin: 3rem 0 1rem 0;
padding: 0;
li {
display: inline-block;
position: relative;
a {
color: $fg-color;
text-transform: uppercase;
margin-left: 1rem;
margin-right: 1rem;
font-size: 1.6rem;
&:hover,
&:focus {
color: $link-color;
}
@media only screen and (max-width: 768px) {
font-size: 1.4rem;
}
}
}
}
}
.error {
text-align: center;
h1 {
margin-top: 2rem;
margin-bottom: 0.5rem;
font-size: 4.6rem;
@media only screen and (max-width: 768px) {
font-size: 3.2rem;
}
}
h2 {
margin-top: 2rem;
margin-bottom: 3.2rem;
font-size: 3.2rem;
@media only screen and (max-width: 768px) {
font-size: 2.8rem;
}
}
}
}

View File

@ -0,0 +1,59 @@
@mixin content_dark {
.content {
.post {
.tags {
.tag {
background-color: $alt-bg-color-dark;
a {
color: $fg-color-dark;
}
a:active {
color: $fg-color-dark;
}
}
}
}
.list {
ul {
li {
.title {
color: $fg-color-dark;
&:hover,
&:focus {
color: $link-color-dark;
}
}
}
}
}
.centered {
.about {
ul {
li {
a {
color: $fg-color-dark;
&:hover,
&:focus {
color: $link-color-dark;
}
}
}
}
}
}
}
}
body.colorscheme-dark {
@include content_dark();
}
body.colorscheme-auto {
@media (prefers-color-scheme: dark) {
@include content_dark();
}
}

View File

@ -0,0 +1,36 @@
body.rtl {
.content {
.post {
.post-meta {
.posted-on {
margin-left: 1.5rem;
margin-right: 0;
}
}
.tags,
.categories {
i {
margin-left: 0.5rem;
margin-right: 0;
}
}
}
}
.list {
ul {
li {
.date {
text-align: left;
margin-left: 3rem;
margin-right: 0;
@media only screen and (max-width: 768px) {
text-align: right;
}
}
}
}
}
}

View File

@ -0,0 +1,38 @@
.float-container {
bottom: 2rem;
right: 2rem;
z-index: 100;
position: fixed;
font-size: 1.6em;
a {
position: relative;
display: inline-block;
width: 3rem;
height: 3rem;
font-size: 2rem;
color: $alt-fg-color;
background-color: $alt-bg-color;
border-radius: 0.2rem;
opacity: 0.5;
transition: all 0.25s ease-in;
&:hover,
&:focus {
color: $link-color;
opacity: 1;
@media only screen and (max-width: 768px) {
color: $alt-fg-color;
opacity: 0.5;
}
}
i {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
}
}

View File

@ -0,0 +1,27 @@
@mixin float_dark {
.float-container {
a {
color: $alt-fg-color-dark;
background-color: $alt-bg-color-dark;
&:hover,
&:focus {
color: $link-color-dark;
@media only screen and (max-width: 768px) {
color: $alt-fg-color-dark;
}
}
}
}
}
body.colorscheme-dark {
@include float_dark();
}
body.colorscheme-auto {
@media (prefers-color-scheme: dark) {
@include float_dark();
}
}

View File

@ -0,0 +1,11 @@
.footer {
width: 100%;
text-align: center;
font-size: 1.6rem;
line-height: 2rem;
margin-bottom: 1rem;
a {
color: $link-color;
}
}

View File

@ -0,0 +1,17 @@
@mixin footer_dark {
.footer {
a {
color: $link-color-dark;
}
}
}
body.colorscheme-dark {
@include footer_dark();
}
body.colorscheme-auto {
@media (prefers-color-scheme: dark) {
@include footer_dark();
}
}

View File

@ -0,0 +1,143 @@
.navigation {
height: 6rem;
width: 100%;
a,
span {
display: inline;
font-size: 1.7rem;
font-family: $font-family;
font-weight: 600;
color: $fg-color;
}
a {
&:hover,
&:focus {
color: $link-color;
}
}
.navigation-title {
letter-spacing: 0.1rem;
text-transform: uppercase;
}
.navigation-list {
float: right;
list-style: none;
margin-bottom: 0;
margin-top: 0;
@media only screen and (max-width: 768px) {
position: relative;
top: 2rem;
right: 0;
z-index: 5;
visibility: hidden;
opacity: 0;
padding: 0;
max-height: 0;
width: 100%;
background-color: $bg-color;
border-top: solid 2px $alt-bg-color;
border-bottom: solid 2px $alt-bg-color;
transition: opacity 0.25s, max-height 0.15s linear;
}
.navigation-item {
float: left;
margin: 0;
position: relative;
@media only screen and (max-width: 768px) {
float: none !important;
text-align: center;
a,
span {
line-height: 5rem;
}
}
a,
span {
margin-left: 1rem;
margin-right: 1rem;
}
}
.separator {
@media only screen and (max-width: 768px) {
display: none;
}
}
.menu-separator {
@media only screen and (max-width: 768px) {
border-top: 2px solid $fg-color;
margin: 0 8rem;
span {
display: none;
}
}
}
}
#dark-mode-toggle {
margin: 1.7rem 0;
font-size: 2.4rem;
line-height: inherit;
bottom: 2rem;
left: 2rem;
z-index: 100;
position: fixed;
}
#menu-toggle {
display: none;
@media only screen and (max-width: 768px) {
&:checked+label>i {
color: $alt-bg-color;
}
&:checked+label+ul {
visibility: visible;
opacity: 1;
max-height: 100rem;
}
}
}
.menu-button {
display: none;
@media only screen and (max-width: 768px) {
position: relative;
display: block;
font-size: 2.4rem;
font-weight: 400;
}
i {
&:hover,
&:focus {
color: $alt-fg-color;
}
}
}
i {
color: $fg-color;
cursor: pointer;
&:hover,
&:focus {
color: $link-color;
}
}
}

View File

@ -0,0 +1,68 @@
@mixin navigation_dark {
.navigation {
a,
span {
color: $fg-color-dark;
}
a {
&:hover,
&:focus {
color: $link-color-dark;
}
}
.navigation-list {
@media only screen and (max-width: 768px) {
background-color: $bg-color-dark;
border-top: solid 2px $alt-bg-color-dark;
border-bottom: solid 2px $alt-bg-color-dark;
}
.menu-separator {
@media only screen and (max-width: 768px) {
border-top: 2px solid $fg-color-dark;
}
}
}
#menu-toggle {
@media only screen and (max-width: 768px) {
&:checked+label>i {
color: $alt-bg-color-dark;
}
}
}
i {
color: $fg-color-dark;
&:hover,
&:focus {
color: $link-color-dark;
}
}
.menu-button {
i {
&:hover,
&:focus {
color: $alt-fg-color-dark;
}
}
}
}
}
body.colorscheme-dark {
@include navigation_dark();
}
body.colorscheme-auto {
@media (prefers-color-scheme: dark) {
@include navigation_dark();
}
}

View File

@ -0,0 +1,20 @@
body.rtl {
.navigation-list {
float: left;
@media only screen and (max-width: 768px) {
left: 0;
right: auto;
}
.navigation-item {
float: right;
}
}
.menu-button {
@media only screen and (max-width: 768px) {
float: left;
}
}
}

View File

@ -0,0 +1,111 @@
.notice {
border-radius: 0.2rem;
position: relative;
margin: 2rem 0;
padding: 0 0.75rem;
overflow: auto;
.notice-title {
position: relative;
font-weight: 700;
margin: 0 -0.75rem;
padding: 0.2rem 3.5rem;
border-bottom: 1px solid $bg-color;
i {
position: absolute;
top: 50%;
left: 1.8rem;
transform: translate(-50%, -50%);
}
}
.notice-content {
display: block;
margin: 2rem 2rem;
}
}
.notice.note {
background-color: $bg-color-notice-note-content;
.notice-title {
background-color: $bg-color-notice-note-title;
i {
color: $fg-color-notice-note-icon;
}
}
}
.notice.tip {
background-color: $bg-color-notice-tip-content;
.notice-title {
background-color: $bg-color-notice-tip-title;
i {
color: $fg-color-notice-tip-icon;
}
}
}
.notice.example {
background-color: $bg-color-notice-example-content;
.notice-title {
background-color: $bg-color-notice-example-title;
i {
color: $fg-color-notice-example-icon;
}
}
}
.notice.question {
background-color: $bg-color-notice-question-content;
.notice-title {
background-color: $bg-color-notice-question-title;
i {
color: $fg-color-notice-question-icon;
}
}
}
.notice.info {
background-color: $bg-color-notice-info-content;
.notice-title {
background-color: $bg-color-notice-info-title;
i {
color: $fg-color-notice-info-icon;
}
}
}
.notice.warning {
background-color: $bg-color-notice-warning-content;
.notice-title {
background-color: $bg-color-notice-warning-title;
i {
color: $fg-color-notice-warning-icon;
}
}
}
.notice.error {
background-color: $bg-color-notice-error-content;
.notice-title {
background-color: $bg-color-notice-error-title;
i {
color: $fg-color-notice-error-icon;
}
}
}

View File

@ -0,0 +1,17 @@
@mixin notices_dark {
.notice {
.notice-title {
border-bottom: 1px solid $bg-color-dark;
}
}
}
body.colorscheme-dark {
@include notices_dark();
}
body.colorscheme-auto {
@media (prefers-color-scheme: dark) {
@include notices_dark();
}
}

View File

@ -0,0 +1,27 @@
.pagination {
margin-top: 6rem;
text-align: center;
font-family: $font-family;
li {
display: inline;
text-align: center;
font-weight: 700;
span {
margin: 0;
text-align: center;
width: 3.2rem;
}
a {
font-weight: 300;
span {
margin: 0;
text-align: center;
width: 3.2rem;
}
}
}
}

View File

@ -0,0 +1,77 @@
.tabs {
display: flex;
flex-wrap: wrap;
margin: 2rem 0 2rem 0;
position: relative;
&.tabs-left {
justify-content: flex-start;
label.tab-label {
margin-right: 0.5rem;
}
.tab-content {
border-radius: 0px 4px 4px 4px;
}
}
&.tabs-right {
justify-content: flex-end;
label.tab-label {
margin-left: 0.5rem;
}
.tab-content {
border-radius: 4px 0px 4px 4px;
}
}
input.tab-input {
display: none;
}
label.tab-label {
background-color: $alt-bg-color;
border-color: $darker-alt-bg-color;
border-radius: 4px 4px 0px 0px;
border-style: solid;
border-bottom-style: hidden;
border-width: 1px;
cursor: pointer;
display: inline-block;
order: 1;
padding: 0.3rem 0.6rem;
position: relative;
top: 1px;
user-select: none;
}
input.tab-input:checked + label.tab-label {
background-color: $bg-color;
}
.tab-content {
background-color: $bg-color;
border-color: $darker-alt-bg-color;
border-style: solid;
border-width: 1px;
display: none;
order: 2;
padding: 1rem;
width: 100%;
}
&.tabs-code {
.tab-content {
padding: 0.5rem;
pre {
margin: 0;
}
}
}
}

View File

@ -0,0 +1,27 @@
@mixin tabs_dark {
.tabs {
label.tab-label {
background-color: $alt-bg-color-dark;
border-color: $lighter-alt-bg-color-dark;
}
input.tab-input:checked + label.tab-label {
background-color: $bg-color-dark;
}
.tab-content {
background-color: $bg-color-dark;
border-color: $lighter-alt-bg-color-dark;
}
}
}
body.colorscheme-dark {
@include tabs_dark();
}
body.colorscheme-auto {
@media (prefers-color-scheme: dark) {
@include tabs_dark();
}
}

View File

@ -0,0 +1,20 @@
.taxonomy {
li {
display: inline-block;
margin: 0.9rem;
}
.taxonomy-element {
display: block;
padding: 0.3rem 0.9rem;
background-color: $alt-bg-color;
border-radius: 0.6rem;
a {
color: $fg-color;
}
a:active {
color: $fg-color;
}
}
}

View File

@ -0,0 +1,22 @@
@mixin taxonomy_dark {
.taxonomy-element {
background-color: $alt-bg-color-dark;
a {
color: $fg-color-dark;
}
a:active {
color: $fg-color-dark;
}
}
}
body.colorscheme-dark {
@include taxonomy_dark();
}
body.colorscheme-auto {
@media (prefers-color-scheme: dark) {
@include taxonomy_dark();
}
}

View File

@ -0,0 +1,60 @@
// Fonts
$font-family: -apple-system,
BlinkMacSystemFont,
"Segoe UI",
Roboto,
Oxygen-Sans,
Ubuntu,
Cantarell,
"Helvetica Neue",
Helvetica,
"PingFang SC",
STXihei,"华文细黑",
"Microsoft YaHei","微软雅黑",
SimSun,"宋体",
Heiti,"黑体",
sans-serif;
$code-font-family: SFMono-Regular,
Consolas,
Liberation Mono,
Menlo,
monospace;
// Colors
$bg-color: #fafafa !default;
$fg-color: #212121 !default;
$alt-bg-color: #e0e0e0 !default;
$alt-fg-color: #000 !default;
$darker-alt-bg-color: #ccc !default;
$link-color: #1565c0 !default;
// Dark colors
$bg-color-dark: #212121 !default;
$fg-color-dark: #dadada !default;
$alt-bg-color-dark: #424242 !default;
$alt-fg-color-dark: #dadada !default;
$lighter-alt-bg-color-dark: #4f4f4f !default;
$link-color-dark: #42a5f5 !default;
// Notice colors
$fg-color-notice-note-icon: #5e35b1 !default;
$bg-color-notice-note-title: #673ab71a !default;
$bg-color-notice-note-content: #7e57c21a !default;
$fg-color-notice-tip-icon: #00897b !default;
$bg-color-notice-tip-title: #0096881a !default;
$bg-color-notice-tip-content: #26a69a1a !default;
$fg-color-notice-example-icon: #6d4c41 !default;
$bg-color-notice-example-title: #7955481a !default;
$bg-color-notice-example-content: #8d6e631a !default;
$fg-color-notice-question-icon: #7cb342 !default;
$bg-color-notice-question-title: #8bc34a1a !default;
$bg-color-notice-question-content: #9ccc651a !default;
$fg-color-notice-info-icon: #1e88e5 !default;
$bg-color-notice-info-title: #2196f31a !default;
$bg-color-notice-info-content: #42a5f51a !default;
$fg-color-notice-warning-icon: #ffb300 !default;
$bg-color-notice-warning-title: #ffc1071a !default;
$bg-color-notice-warning-content: #ffca281a !default;
$fg-color-notice-error-icon: #e53935 !default;
$bg-color-notice-error-title: #f443361a !default;
$bg-color-notice-error-content: #ef53501a !default;

View File

@ -0,0 +1,435 @@
body.colorscheme-dark {
color: #fff;
background-image: url(/images/bgs/tehb.webp);
background-color: #121212;
min-height: 100%;
background-repeat: no-repeat;
background-attachment: fixed;
background-position: 50%;
background-size: cover;
}
::-webkit-scrollbar {
display: none;
}
body.colorscheme-dark a {
color: #fff;
text-decoration: underline;
}
body.colorscheme-dark a:hover, a:focus, a:active{
color: #7289DA;
}
body.colorscheme-dark h1,body.colorscheme-dark h2,body.colorscheme-dark h3,body.colorscheme-dark h4,body.colorscheme-dark h5,body.colorscheme-dark h6 {
color: #fff;
}
li.navigation-item a{
color: #fff;
text-decoration: none;
}
section.title-container a{
color: #fff;
text-decoration: none;
}
.title-container {
margin: 1rem auto;
max-width: 90rem;
width: 100%;
padding-left: 2rem;
padding-right: 2rem; }
body.colorscheme-dark h1:hover .heading-link,body.colorscheme-dark h2:hover .heading-link,body.colorscheme-dark h3:hover .heading-link,body.colorscheme-dark h4:hover .heading-link,body.colorscheme-dark h5:hover .heading-link,body.colorscheme-dark h6:hover .heading-link {
visibility: visible;
}
body.colorscheme-dark h1 .heading-link,body.colorscheme-dark h2 .heading-link,body.colorscheme-dark h3 .heading-link,body.colorscheme-dark h4 .heading-link,body.colorscheme-dark h5 .heading-link,body.colorscheme-dark h6 .heading-link {
color: #7289da;
font-weight: inherit;
text-decoration: none;
font-size: 80%;
visibility: hidden;
}
body.colorscheme-dark h1 .title-link,body.colorscheme-dark h2 .title-link,body.colorscheme-dark h3 .title-link,body.colorscheme-dark h4 .title-link,body.colorscheme-dark h5 .title-link,body.colorscheme-dark h6 .title-link {
color: inherit;
font-weight: inherit;
text-decoration: none;
}
body.colorscheme-dark code {
background-color: #424242;
color: #fff;
}
body.colorscheme-dark .highlight pre {
background-color: #424242;
color: #fff;
}
body.colorscheme-dark :not(.highlight)>pre code {
background-color: inherit;
color: inherit;
}
body.colorscheme-dark blockquote {
border-left: 2px solid #424242;
}
body.colorscheme-dark th,body.colorscheme-dark td {
padding: 1.6rem;
}
body.colorscheme-dark table {
border-collapse: collapse;
}
body.colorscheme-dark table td,body.colorscheme-dark table th {
border: 2px solid #fff;
}
body.colorscheme-dark table tr:first-child th {
border-top: 0;
}
body.colorscheme-dark table tr:last-child td {
border-bottom: 0;
}
body.colorscheme-dark table tr td:first-child,body.colorscheme-dark table tr th:first-child {
border-left: 0;
}
body.colorscheme-dark table tr td:last-child,body.colorscheme-dark table tr th:last-child {
border-right: 0;
}
@media(prefers-color-scheme:dark) {
body.colorscheme-auto {
color: #fff;
background-color: #212121;
}
body.colorscheme-auto a {
color: #7289da;
}
body.colorscheme-auto h1,body.colorscheme-auto h2,body.colorscheme-auto h3,body.colorscheme-auto h4,body.colorscheme-auto h5,body.colorscheme-auto h6 {
color: #fff;
}
body.colorscheme-auto h1:hover .heading-link,body.colorscheme-auto h2:hover .heading-link,body.colorscheme-auto h3:hover .heading-link,body.colorscheme-auto h4:hover .heading-link,body.colorscheme-auto h5:hover .heading-link,body.colorscheme-auto h6:hover .heading-link {
visibility: visible;
}
body.colorscheme-auto h1 .heading-link,body.colorscheme-auto h2 .heading-link,body.colorscheme-auto h3 .heading-link,body.colorscheme-auto h4 .heading-link,body.colorscheme-auto h5 .heading-link,body.colorscheme-auto h6 .heading-link {
color: #7289da;
font-weight: inherit;
text-decoration: none;
font-size: 80%;
visibility: hidden;
}
body.colorscheme-auto h1 .title-link,body.colorscheme-auto h2 .title-link,body.colorscheme-auto h3 .title-link,body.colorscheme-auto h4 .title-link,body.colorscheme-auto h5 .title-link,body.colorscheme-auto h6 .title-link {
color: inherit;
font-weight: inherit;
text-decoration: none;
}
body.colorscheme-auto code {
background-color: #424242;
color: #fff;
}
body.colorscheme-auto .highlight pre {
background-color: #424242;
color: #fff;
}
body.colorscheme-auto :not(.highlight)>pre code {
background-color: inherit;
color: inherit;
}
body.colorscheme-auto blockquote {
border-left: 2px solid #424242;
}
body.colorscheme-auto th,body.colorscheme-auto td {
padding: 1.6rem;
}
body.colorscheme-auto table {
border-collapse: collapse;
}
body.colorscheme-auto table td,body.colorscheme-auto table th {
border: 2px solid #fff;
}
body.colorscheme-auto table tr:first-child th {
border-top: 0;
}
body.colorscheme-auto table tr:last-child td {
border-bottom: 0;
}
body.colorscheme-auto table tr td:first-child,body.colorscheme-auto table tr th:first-child {
border-left: 0;
}
body.colorscheme-auto table tr td:last-child,body.colorscheme-auto table tr th:last-child {
border-right: 0;
}
}
body.colorscheme-dark .content .post .tags .tag {
background-color: #424242;
}
body.colorscheme-dark .content .post .tags .tag a {
color: #fff;
}
body.colorscheme-dark .content .post .tags .tag a:active {
color: #fff;
}
body.colorscheme-dark .content .list ul li .title {
color: #fff;
}
body.colorscheme-dark .content .list ul li .title:hover,body.colorscheme-dark .content .list ul li .title:focus {
color: #7289da;
}
body.colorscheme-dark .content .centered .about ul li a {
color: #fff;
}
body.colorscheme-dark .content .centered .about ul li a:hover,body.colorscheme-dark .content .centered .about ul li a:focus {
color: #7289da;
}
@media(prefers-color-scheme:dark) {
body.colorscheme-auto .content .post .tags .tag {
background-color: #424242;
}
body.colorscheme-auto .content .post .tags .tag a {
color: #fff;
}
body.colorscheme-auto .content .post .tags .tag a:active {
color: #fff;
}
body.colorscheme-auto .content .list ul li .title {
color: #fff;
}
body.colorscheme-auto .content .list ul li .title:hover,body.colorscheme-auto .content .list ul li .title:focus {
color: #4e5d94;
}
body.colorscheme-auto .content .centered .about ul li a {
color: #fff;
}
body.colorscheme-auto .content .centered .about ul li a:hover,body.colorscheme-auto .content .centered .about ul li a:focus {
color: #4e5d94;
}
}
body.colorscheme-dark .notice .notice-title {
border-bottom: 1px solid #212121;
}
@media(prefers-color-scheme:dark) {
body.colorscheme-auto .notice .notice-title {
border-bottom: 1px solid #212121;
}
}
body.colorscheme-dark .navigation a,body.colorscheme-dark .navigation span {
color: #fff;
}
body.colorscheme-dark .navigation a:hover,body.colorscheme-dark .navigation a:focus {
color: #7289da;
}
@media only screen and (max-width:768px) {
body.colorscheme-dark .navigation .navigation-list {
background-color: #212121;
border-top: solid 2px #424242;
border-bottom: solid 2px #424242;
}
}
@media only screen and (max-width:768px) {
body.colorscheme-dark .navigation .navigation-list .menu-separator {
border-top: 2px solid #fff;
}
}
@media only screen and (max-width:768px) {
body.colorscheme-dark .navigation #menu-toggle:checked+label>i {
color: #424242;
}
}
body.colorscheme-dark .navigation i {
color: #fff;
}
body.colorscheme-dark .navigation i:hover,body.colorscheme-dark .navigation i:focus {
color: #7289da;
}
body.colorscheme-dark .navigation .menu-button i:hover,body.colorscheme-dark .navigation .menu-button i:focus {
color: #fff;
}
@media(prefers-color-scheme:dark) {
body.colorscheme-auto .navigation a,body.colorscheme-auto .navigation span {
color: #fff;
}
body.colorscheme-auto .navigation a:hover,body.colorscheme-auto .navigation a:focus {
color: #7289da;
}
}
@media only screen and (prefers-color-scheme:dark) and (max-width:768px) {
body.colorscheme-auto .navigation .navigation-list {
background-color: #212121;
border-top: solid 2px #424242;
border-bottom: solid 2px #424242;
}
}
@media only screen and (prefers-color-scheme:dark) and (max-width:768px) {
body.colorscheme-auto .navigation .navigation-list .menu-separator {
border-top: 2px solid #fff;
}
}
@media only screen and (prefers-color-scheme:dark) and (max-width:768px) {
body.colorscheme-auto .navigation #menu-toggle:checked+label>i {
color: #424242;
}
}
@media(prefers-color-scheme:dark) {
body.colorscheme-auto .navigation i {
color: #fff;
}
body.colorscheme-auto .navigation i:hover,body.colorscheme-auto .navigation i:focus {
color: #7289da;
}
body.colorscheme-auto .navigation .menu-button i:hover,body.colorscheme-auto .navigation .menu-button i:focus {
color: #fff;
}
}
body.colorscheme-dark .tabs label.tab-label {
background-color: #424242;
border-color: #4f4f4f;
}
body.colorscheme-dark .tabs input.tab-input:checked+label.tab-label {
background-color: #212121;
}
body.colorscheme-dark .tabs .tab-content {
background-color: #212121;
border-color: #4f4f4f;
}
@media(prefers-color-scheme:dark) {
body.colorscheme-auto .tabs label.tab-label {
background-color: #424242;
border-color: #4f4f4f;
}
body.colorscheme-auto .tabs input.tab-input:checked+label.tab-label {
background-color: #212121;
}
body.colorscheme-auto .tabs .tab-content {
background-color: #212121;
border-color: #4f4f4f;
}
}
body.colorscheme-dark .taxonomy-element {
background-color: #424242;
}
body.colorscheme-dark .taxonomy-element a {
color: #fff;
}
body.colorscheme-dark .taxonomy-element a:active {
color: #fff;
}
@media(prefers-color-scheme:dark) {
body.colorscheme-auto .taxonomy-element {
background-color: #424242;
}
body.colorscheme-auto .taxonomy-element a {
color: #fff;
}
body.colorscheme-auto .taxonomy-element a:active {
color: #fff;
}
}
body.colorscheme-dark .footer a {
color: #fff;
text-decoration: none;
}
body.colorscheme-dark .footer a:hover, a:focus, a:active {
color: #7289da;
}
@media(prefers-color-scheme:dark) {
body.colorscheme-auto .footer a {
color: #7289da;
}
}
body.colorscheme-adark .float-container a {
color: #fff;
background-color: #424242;
}
body.colorscheme-dark .float-container a:hover,body.colorscheme-dark .float-container a:focus {
color: #7289da;
}
@media only screen and (max-width:768px) {
body.colorscheme-dark .float-container a:hover,body.colorscheme-dark .float-container a:focus {
color: #fff;
}
}
@media(prefers-color-scheme:dark) {
body.colorscheme-auto .float-container a {
color: #fff;
background-color: #424242;
}
body.colorscheme-auto .float-container a:hover,body.colorscheme-auto .float-container a:focus {
color: #7289da;
}
}
@media only screen and (prefers-color-scheme:dark) and (max-width:768px) {
body.colorscheme-auto .float-container a:hover,body.colorscheme-auto .float-container a:focus {
color: #4e5d94;
}
}

View File

@ -0,0 +1,4 @@
@import "_variables";
@import "_base_rtl";
@import "_content_rtl";
@import "_navigation_rtl";

View File

@ -0,0 +1,11 @@
@import "css/normalize";
@import "variables";
@import "base";
@import "content";
@import "notices";
@import "navigation";
@import "pagination";
@import "tabs";
@import "taxonomies";
@import "footer";
@import "float";

View File

@ -0,0 +1,350 @@
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
========================================================================== */
/**
* 1. Correct the line height in all browsers.
* 2. Prevent adjustments of font size after orientation changes in iOS.
*/
html {
line-height: 1.15; /* 1 */
-webkit-text-size-adjust: 100%; /* 2 */
}
/* Sections
========================================================================== */
/**
* Remove the margin in all browsers.
*/
body {
margin: 0;
}
/**
* Render the `main` element consistently in IE.
*/
main {
display: block;
}
/**
* Correct the font size and margin on `h1` elements within `section` and
* `article` contexts in Chrome, Firefox, and Safari.
*/
h1 {
font-size: 2em;
margin: 0.67em 0;
}
/* Grouping content
========================================================================== */
/**
* 1. Add the correct box sizing in Firefox.
* 2. Show the overflow in Edge and IE.
*/
hr {
box-sizing: content-box; /* 1 */
height: 0; /* 1 */
overflow: visible; /* 2 */
}
/**
* 1. Correct the inheritance and scaling of font size in all browsers.
* 2. Correct the odd `em` font sizing in all browsers.
*/
pre {
font-family: monospace, monospace; /* 1 */
font-size: 1em; /* 2 */
}
/* Text-level semantics
========================================================================== */
/**
* Remove the gray background on active links in IE 10.
*/
a {
background-color: transparent;
word-wrap: break-word;
}
/**
* 1. Remove the bottom border in Chrome 57-
* 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
*/
abbr[title] {
border-bottom: none; /* 1 */
text-decoration: underline; /* 2 */
text-decoration: underline dotted; /* 2 */
}
/**
* Add the correct font weight in Chrome, Edge, and Safari.
*/
b,
strong {
font-weight: bolder;
}
/**
* 1. Correct the inheritance and scaling of font size in all browsers.
* 2. Correct the odd `em` font sizing in all browsers.
*/
code,
kbd,
samp {
font-family: monospace, monospace; /* 1 */
font-size: 1em; /* 2 */
}
/**
* Add the correct font size in all browsers.
*/
small {
font-size: 80%;
}
/**
* Prevent `sub` and `sup` elements from affecting the line height in
* all browsers.
*/
sub,
sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
sub {
bottom: -0.25em;
}
sup {
top: -0.5em;
}
/* Embedded content
========================================================================== */
/**
* Remove the border on images inside links in IE 10.
*/
img {
border-style: none;
}
/* Forms
========================================================================== */
/**
* 1. Change the font styles in all browsers.
* 2. Remove the margin in Firefox and Safari.
*/
button,
input,
optgroup,
select,
textarea {
font-family: inherit; /* 1 */
font-size: 100%; /* 1 */
line-height: 1.15; /* 1 */
margin: 0; /* 2 */
}
/**
* Show the overflow in IE.
* 1. Show the overflow in Edge.
*/
button,
input { /* 1 */
overflow: visible;
}
/**
* Remove the inheritance of text transform in Edge, Firefox, and IE.
* 1. Remove the inheritance of text transform in Firefox.
*/
button,
select { /* 1 */
text-transform: none;
}
/**
* Correct the inability to style clickable types in iOS and Safari.
*/
button,
[type="button"],
[type="reset"],
[type="submit"] {
-webkit-appearance: button;
}
/**
* Remove the inner border and padding in Firefox.
*/
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
border-style: none;
padding: 0;
}
/**
* Restore the focus styles unset by the previous rule.
*/
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
outline: 1px dotted ButtonText;
}
/**
* Correct the padding in Firefox.
*/
fieldset {
padding: 0.35em 0.75em 0.625em;
}
/**
* 1. Correct the text wrapping in Edge and IE.
* 2. Correct the color inheritance from `fieldset` elements in IE.
* 3. Remove the padding so developers are not caught out when they zero out
* `fieldset` elements in all browsers.
*/
legend {
box-sizing: border-box; /* 1 */
color: inherit; /* 2 */
display: table; /* 1 */
max-width: 100%; /* 1 */
padding: 0; /* 3 */
white-space: normal; /* 1 */
}
/**
* Add the correct vertical alignment in Chrome, Firefox, and Opera.
*/
progress {
vertical-align: baseline;
}
/**
* Remove the default vertical scrollbar in IE 10+.
*/
textarea {
overflow: auto;
}
/**
* 1. Add the correct box sizing in IE 10.
* 2. Remove the padding in IE 10.
*/
[type="checkbox"],
[type="radio"] {
box-sizing: border-box; /* 1 */
padding: 0; /* 2 */
}
/**
* Correct the cursor style of increment and decrement buttons in Chrome.
*/
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
height: auto;
}
/**
* 1. Correct the odd appearance in Chrome and Safari.
* 2. Correct the outline style in Safari.
*/
[type="search"] {
-webkit-appearance: textfield; /* 1 */
outline-offset: -2px; /* 2 */
}
/**
* Remove the inner padding in Chrome and Safari on macOS.
*/
[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
/**
* 1. Correct the inability to style clickable types in iOS and Safari.
* 2. Change font properties to `inherit` in Safari.
*/
::-webkit-file-upload-button {
-webkit-appearance: button; /* 1 */
font: inherit; /* 2 */
}
/* Interactive
========================================================================== */
/*
* Add the correct display in Edge, IE 10+, and Firefox.
*/
details {
display: block;
}
/*
* Add the correct display in all browsers.
*/
summary {
display: list-item;
}
/* Misc
========================================================================== */
/**
* Add the correct display in IE 10+.
*/
template {
display: none;
}
/**
* Add the correct display in IE 10.
*/
[hidden] {
display: none;
}

View File

@ -0,0 +1,5 @@
baseURL = "https://example.com/"
[module]
[module.hugoVersion]
min = "0.77.0"

View File

@ -0,0 +1 @@
WIP

View File

@ -0,0 +1 @@
WIP

View File

@ -0,0 +1,354 @@
# Configurations
* [About Hugo Configurations](#about-hugo-configurations)
* [Analytics](#analytics)
* [Google Analytics](#google-analytics)
* [Google Tag Manager](#google-tag-manager)
* [Fathom Analytics](#fathom-analytics)
* [Plausible Analytics](#plausible-analytics)
* [Goat Counter](#goat-counter)
* [Cloudflare](#cloudflare)
* [Matomo](#matomo)
* [Application Insights](#application-insights)
* [Commenting Systems](#commenting-systems)
* [Disqus](#disqus)
* [Commento](#commento)
* [Utterances](#utterances)
* [Theme Parameters](#theme-parameters)
* [Social Icons Configuration](#social-icons-configuration)
* [Menu Items Configurations](#menu-items-configurations)
* [CSP](#csp)
* [Complete Example](#complete-example)
* [Front Matter](#front-matter)
* [Posts](#posts)
## About Hugo Configurations
This theme supports:
* Analytics
* [Google Analytics](https://developers.google.com/analytics)
* [Google Tag Manager](https://developers.google.com/tag-manager)
* [Fathom Analytics](https://usefathom.com/)
* [Plausible Analytics](https://plausible.io/)
* [Goat Counter](https://www.goatcounter.com/)
* [Cloudflare](https://www.cloudflare.com/analytics/)
* [Matomo](https://matomo.org/)
* [Application Insights](https://azure.com/)
* Commenting Systems
* [Disqus](https://disqus.com/)
* [Commento](https://commento.io/)
* [Utterances](https://utteranc.es/)
### Analytics
#### Google Analytics
Follow [these steps](https://gohugo.io/templates/internal/#configure-google-analytics).
#### Google Tag Manager
```toml
[params.googleTagManager]
id = "gid"
```
#### Fathom Analytics
```toml
[params.fathomAnalytics]
siteID = "ABCDE"
serverURL = "cdn.usefathom.com" # (optionnal) Replace if you use a custom domain
```
#### Plausible Analytics
```toml
[params.plausibleAnalytics]
domain = "example.com"
serverURL = "plausible.io" # (optionnal) Replace if you use a custom domain
```
#### Goat Counter
```toml
[params.goatCounter]
code = "code" # You will access your account at https://[code].goatcounter.com
```
#### Cloudflare
```toml
[params.cloudflare]
token = "token"
```
#### Matomo
```toml
[params.matomo]
siteID = "ABCDE"
serverURL = "analytics.example.com"
```
#### Application Insights
```toml
[params.applicationInsights]
connectionString = "connectionstring" # https://docs.microsoft.com/en-us/azure/azure-monitor/app/sdk-connection-string
```
### Commenting Systems
Comments are displayed within post pages, but can be disabled with `disableComments` front-matter.
#### Disqus
Follow [these steps](https://gohugo.io/content-management/comments/#configure-disqus).
#### Commento
```toml
[params]
commentoURL = "https://cdn.commento.io" # Replace if you use a custom domain
```
#### Utterances
```toml
[params.utterances]
repo = "" # https://utteranc.es/#heading-repository
issueTerm = "" # https://utteranc.es/#heading-mapping
label = "" # https://utteranc.es/#heading-issue-label
theme = "" # https://utteranc.es/#heading-theme
```
## Theme Parameters
These are all the parameters used by `hugo-coder` theme.
| Name | Type | Required | Description | Default | Example |
| ----------------------------- | ------ | -------- | ------------------------------------------------ | -------------------------------- | ------------------------------------------------ |
| author | string | Yes | Author name. | | `"John Doe"` |
| info | string | Yes | An headline, job title or similar. | | `"Full Stack Developer"` |
| description | string | Yes | Description of the site. | | `"John Doe's personal website"` |
| keywords | string | Yes | Site keywords. | | `"blog,developer,personal"` |
| avatarURL | string | No | Photo of the author. | | `"images/avatar.jpg"` |
| gravatar | string | No | Gravatar photo of the author | | `"john.doe@example.com"` |
| favicon_32 | string | No | Custom path to a 32x32 favicon. | `"/img/favicon-32x32.png"` | `"/img/favicon-32x32.png"` |
| favicon_16 | string | No | Custom path to a 16x16 favicon. | `"/img/favicon-16x16.png"` | `"/img/favicon-16x16.png"` |
| touchIcon | string | No | Custom path to a touch-icon | `"/images/apple-touch-icon.png"` | `"/images/apple-touch-icon.png"` |
| since | string | No | Date shown in the footer before now year | | `"2020"` |
| maxSeeAlsoItems | number | No | Series see also post count | `5` | `10` |
| commit | string | No | Show the last git commit in the footer | | `"https://github.com/luizdepra/hugo-coder/tree/"`|
| rtl | bool | No | Enable the Right To Left mode. | `false` | `true` or `false` |
| math | bool | No | Enable MathJax Module and add JS into your site. | `false` | `true` or `false` |
| katex | bool | No | Enable katex for all content types. | `false` | `true` or `false` |
| colorScheme | string | No | Specify light/dark colorscheme | `"auto"` | `"auto"` or `"light"` or `"dark"` |
| hideColorSchemeToggle | bool | No | If true, hides the color sheme toggle | `false` | `true` or `false` |
| customCSS | list | No | Add extra CSS files to the website. | [] | `["css/extra-style.css"]` |
| customSCSS | list | No | Add extra SCSS files to the website. | [] | `["scss/extra-style.scss"]` |
| customJS | list | No | Add extra JS files to the website. | [] | `["js/extra-script.js"]` |
| enableTwemoji | bool | No | Adds support for Twemoji | `false` | `true` or `false` |
### Social Icons Configuration
Social Icons are optional. To use them you will need to set at least all the following required parameters for each icon.
| Configuration | Type | Required | Description | Example |
| -------------- | ------ | -------- | ---------------------------------------- | ------------------------------- |
| name | string | Yes | Icon name. | `"Github"` |
| icon | string | Yes | ForkAwesome icon classes. | `"fa fa-github"` |
| weight | int | Yes | Icon order. | `1` |
| url | string | Yes | URL to redirect. | `"https://github.com/johndoe/"` |
An example:
```toml
[[params.social]]
name = "Github"
icon = "fa fa-github fa-2x"
weight = 1
url = "https://github.com/johndoe/"
[[params.social]]
name = "Gitlab"
icon = "fa fa-gitlab fa-2x"
weight = 2
url = "https://gitlab.com/johndoe/"
[[params.social]]
name = "Twitter"
icon = "fa fa-twitter fa-2x"
weight = 3
url = "https://twitter.com/johndoe/"
```
### Menu Items Configurations
Menu Items are optional. To use them you will need to set all the following required parameters for each icon.
| Configuration | Type | Required | Description | Example |
| -------------- | ------ | -------- | ---------------------------------------- | ------------------------------- |
| name | string | Yes | Menu Item name. | `"Posts"` |
| weight | int | Yes | Menu Item order. | `1` |
| url | string | Yes | URL to redirect. | `"/posts/"` |
| target | string | No | URL target attribute. | `"_blank"` |
| rel | string | No | URL rel attribute. | `"alternate"` |
| type | string | No | URL type attribute. | `"application/rss+xml"` |
An example:
```toml
[[menu.main]]
name = "Blog"
weight = 1
url = "posts/"
[[menu.main]]
name = "About"
weight = 2
url = "about/"
```
### CSP
CSP stands for [Content Security Policy](https://developers.google.com/web/fundamentals/security/csp). These configurations are optional. To use them you will need to set all the following required parameters. See [here](https://developers.google.com/web/fundamentals/security/csp#policy_applies_to_a_wide_variety_of_resources) for reference.
| Configuration | Type | Required | Description | Example |
| -------------- | ----------- | -------- | ----------- | ------------------------------- |
| childsrc | string list | Yes | | `["'self'"]` |
| fontsrc | string list | Yes | | `["'self'"]` |
| formaction | string list | Yes | | `["'self'"]` |
| framesrc | string list | Yes | | `["'self'"]` |
| imgsrc | string list | Yes | | `["'self'"]` |
| objectsrc | string list | Yes | | `["'self'"]` |
| stylesrc | string list | Yes | | `["'self'"]` |
| scriptsrc | string list | Yes | | `["'self'"]` |
| prefetchsrc | string list | Yes | | `["'self'"]` |
An example:
```toml
[params.csp]
childsrc = ["'self'"]
fontsrc = [
"'self'",
"https://fonts.gstatic.com",
"https://cdn.jsdelivr.net/"
]
formaction = ["'self'"]
framesrc = ["'self'"]
imgsrc = ["'self'"]
objectsrc = ["'none'"]
stylesrc = [
"'self'",
"'unsafe-inline'",
"https://fonts.googleapis.com/",
"https://cdn.jsdelivr.net/"
]
scriptsrc = [
"'self'",
"'unsafe-inline'",
"https://www.google-analytics.com"
]
prefetchsrc = ["'self'"]
```
## Complete Example
This is a complete configuration example with some recommended values.
```toml
baseurl = "http://www.example.com"
title = "johndoe"
theme = "hugo-coder"
languagecode = "en"
defaultcontentlanguage = "en"
paginate = 20
pygmentsstyle = "bw"
pygmentscodefences = true
pygmentscodefencesguesssyntax = true
disqusShortname = "yourdiscussshortname"
[params]
author = "John Doe"
info = "Full Stack DevOps and Magician"
description = "John Doe's personal website"
keywords = "blog,developer,personal"
avatarurl = "images/avatar.jpg"
#gravatar = "john.doe@example.com"
favicon_32 = "/img/favicon-32x32.png"
favicon_16 = "/img/favicon-16x16.png"
since = 2019
enableTwemoji = true
colorScheme = "auto"
hidecolorschemetoggle = false
customCSS = ["css/custom.css"]
customSCSS = ["scss/custom.scss"]
customJS = ["js/custom.js"]
[taxonomies]
category = "categories"
series = "series"
tag = "tags"
author = "authors"
# Social links
[[params.social]]
name = "Github"
icon = "fa fa-github fa-2x"
weight = 1
url = "https://github.com/johndoe/"
[[params.social]]
name = "Gitlab"
icon = "fa fa-gitlab fa-2x"
weight = 2
url = "https://gitlab.com/johndoe/"
[[params.social]]
name = "Twitter"
icon = "fa fa-twitter fa-2x"
weight = 3
url = "https://twitter.com/johndoe/"
# Menu links
[[menu.main]]
name = "Blog"
weight = 1
url = "posts/"
[[menu.main]]
name = "About"
weight = 2
url = "about/"
```
## Front Matter
Hugo documentation: https://gohugo.io/content-management/front-matter
This theme includes one content type:
* [Posts](#posts), useful to display blog posts
### Posts
These are the front matter variables used by `hugo-coder` theme.
| Name | Type | Required | Description | Default | Example |
| ---------------- | ------ | -------- | -------------------------------------------------- | ------- | ----------------------------------------------------------------------------- |
| tags | list | No | Add tag(s) to this post. | | `["Hugo", "Go"]` |
| categories | list | No | Add categorie(s) to this post. | | `["Hugo", "Go"]` |
| series | list | No | Add series to this post (used by OpenGraph). | | `["Theme Demo"]` |
| author | list | No | Add author to this post. | | `["John Doe"]` |
| externalLink | string | No | Link to an external post. | | `"https://github.com/luizdepra/hugo-coder/wiki"` |
| featuredImage | string | No | Link/path to add an image below post metadata. | | `"https://github.com/luizdepra/hugo-coder/blob/master/images/screenshot.png"` |
| math | bool | No | If true, MathJax is enabled only for this post. | `false` | `true` or `false` |
| katex | bool | No | If true, katex is enabled only for this post. | `false` | `true` or `false` |
| disableComments | bool | No | If true, comments are disabled. | `false` | `true` or `false` |
> "tags", "categories", "series" and "authors" are taxonomies defined in the `config.toml` file.

View File

@ -0,0 +1 @@
WIP

View File

@ -0,0 +1 @@
WIP

View File

@ -0,0 +1,19 @@
# Welcome to the hugo-coder docs!
## Basic Usage
* [Quick Start](quick-start.md)
* [Configurations](configurations.md)
* [FAQ](faq.md)
## Extra Guides
* [Multilingual Mode](multilingual-mode.md)
* [Comment System](comment-system.md)
* [Analytics](analytics.md)
## Maintainers & Developers
* [Contributing](contributing.md)

View File

@ -0,0 +1,73 @@
# Multilingual-Mode
* [Available Languages](#available-languages)
* [Configure Languages](#configure-languages)
* [Translation File Example](#translation-file-example)
## Available Languages
This theme supports the following languages:
- Arabic
- Bengali
- Czech
- German
- English
- Spanish
- Finnish
- French
- Hebrew
- Hindi
- Hungarian
- Italian
- Japanese
- Malay
- Dutch
- Polish
- Brazilian Portuguese
- Romanian
- Russian
- Swedish
- Slovak
- Turkish
- Simplified Chinese
- Taiwan Chinese
## Configure languages
Go to [this Hugo documentation page](https://gohugo.io/content-management/multilingual/#configure-languages) to configure one or multiple languages for your website.
## Translation File Example
```toml
[category]
other = "category"
[tag]
other = "tag"
[series]
other = "series"
[author]
other = "author"
[reading_time]
one = "One-minute read"
other = "{{ .Count }}-minute read"
[page_not_found]
other = "Page Not Found"
[page_does_not_exist]
other = "Sorry, this page does not exist."
[head_back]
other = "You can head back to <a href=\"{{ . }}\">homepage</a>."
[powered_by]
other = "Powered by"
[see_also]
other = "See also in"
```

View File

@ -0,0 +1,23 @@
# Quick Start
To start using `hugo-coder`:
1. Add the repository into your Hugo Project repository as a submodule, `git submodule add https://github.com/luizdepra/hugo-coder.git themes/coder`.
2. Configure your `config.toml`. You can either use the [this minimal configuration](https://github.com/luizdepra/hugo-coder/blob/main/docs/configurations.md#complete-example) as a base, or look for a complete explanation about all configurations [here](https://github.com/luizdepra/hugo-coder/wiki/Configurations). The [`config.toml`](https://github.com/luizdepra/hugo-coder/blob/master/exampleSite/config.toml) inside the [exampleSite](https://github.com/luizdepra/hugo-coder/tree/master/exampleSite) from the `exampleSite` is also a good reference.
3. Build your site with `hugo serve` and see the result at `http://localhost:1313/`.
If you just want to test this theme, go to [this page](https://themes.gohugo.io/theme/hugo-coder/).
You can also clone or download it, then run these commands:
```
git clone https://github.com/luizdepra/hugo-coder.git
cd hugo-coder
make demo
```
You'll see the result at [http://localhost:1313/](http://localhost:1313/).
> These last two methods don't use the same content directory, the first one leads to 404 pages for some pages. More info [here](https://github.com/gohugoio/hugoThemes#adding-a-theme-to-the-list).

View File

@ -0,0 +1,195 @@
baseURL = "http://www.example.com"
title = "johndoe"
theme = "hugo-coder"
languageCode = "en"
defaultContentLanguage = "en"
paginate = 20
pygmentsStyle = "bw"
pygmentsCodeFences = true
pygmentsCodeFencesGuessSyntax = true
enableEmoji = true
# Enable Disqus comments
# disqusShortname = "yourdiscussshortname"
[params]
author = "John Doe"
# license = '<a rel="license" href="http://creativecommons.org/licenses/by-sa/4.0/">CC BY-SA-4.0</a>'
description = "John Doe's personal website"
keywords = "blog,developer,personal"
info = ["Full Stack DevOps", "Magician"]
avatarURL = "images/avatar.jpg"
#gravatar = "john.doe@example.com"
dateFormat = "January 2, 2006"
since = 2019
# Git Commit in Footer, uncomment the line below to enable it
commit = "https://github.com/luizdepra/hugo-coder/tree/"
# Right To Left, shift content direction for languagues such as Arabic
rtl = false
# Specify light/dark colorscheme
# Supported values:
# "auto" (use preference set by browser)
# "dark" (dark background, light foreground)
# "light" (light background, dark foreground) (default)
colorScheme = "auto"
# Hide the toggle button, along with the associated vertical divider
hideColorSchemeToggle = false
# Series see also post count
maxSeeAlsoItems = 5
# Custom CSS
customCSS = []
# Custom SCSS, file path is relative to Hugo's asset folder (default: {your project root}/assets)
customSCSS = []
# Custom JS
customJS = []
# If you want to use fathom(https://usefathom.com) for analytics, add this section
# [params.fathomAnalytics]
# siteID = "ABCDE"
# serverURL = "analytics.example.com" # Default value is cdn.usefathom.com, overwrite this if you are self-hosting
# If you want to use plausible(https://plausible.io) for analytics, add this section
# [params.plausibleAnalytics]
# domain = "example.com"
# serverURL = "analytics.example.com" # Default value is plausible.io, overwrite this if you are self-hosting or using a custom domain
# If you want to use goatcounter(https://goatcounter.com) for analytics, add this section
# [params.goatCounter]
# code = "code"
# If you want to use Cloudflare Web Analytics(https://cloudflare.com) for analytics, add this section
# [params.cloudflare]
# token = "token"
# If you want to use Matomo(https://matomo.org) for analytics, add this section
# [params.matomo]
# siteID = "ABCDE" # Default value is "1", overwrite this if you are cloud-hosting
# serverURL = "analytics.example.com" # For cloud-hosting, use provided URL, e.g. example.matomo.cloud
# If you want to use Google Tag Manager(https://analytics.google.com/) for analytics, add this section
# [params.googleTagManager]
# id = "gid"
# If you want to use Application Insights(https://azure.com/) for analytics, add this section
# [params.applicationInsights]
# connectionString = "connectionString"
# If you want to implement a Content-Security-Policy, add this section
# [params.csp]
# childsrc = ["'self'"]
# fontsrc = ["'self'", "https://fonts.gstatic.com", "https://cdn.jsdelivr.net/"]
# formaction = ["'self'"]
# framesrc = ["'self'", "https://www.youtube.com"]
# imgsrc = ["'self'"]
# objectsrc = ["'none'"]
# stylesrc = [
# "'self'",
# "'unsafe-inline'",
# "https://fonts.googleapis.com/",
# "https://cdn.jsdelivr.net/",
# ]
# scriptsrc = [
# "'self'",
# "'unsafe-inline'",
# "https://www.google-analytics.com",
# "https://cdn.jsdelivr.net/",
# ]
# prefetchsrc = ["'self'"]
# # connect-src directive defines valid targets for to XMLHttpRequest (AJAX), WebSockets or EventSource
# connectsrc = ["'self'", "https://www.google-analytics.com"]
[taxonomies]
category = "categories"
series = "series"
tag = "tags"
author = "authors"
[[params.social]]
name = "Github"
icon = "fa fa-2x fa-github"
weight = 1
url = "https://github.com/johndoe/"
[[params.social]]
name = "Gitlab"
icon = "fa fa-2x fa-gitlab"
weight = 2
url = "https://gitlab.com/johndoe/"
[[params.social]]
name = "Twitter"
icon = "fa fa-2x fa-twitter"
weight = 3
url = "https://twitter.com/johndoe/"
[[params.social]]
name = "LinkedIn"
icon = "fa fa-2x fa-linkedin"
weight = 4
url = "https://www.linkedin.com/in/johndoe/"
[[params.social]]
name = "Medium"
icon = "fa fa-2x fa-medium"
weight = 5
url = "https://medium.com/@johndoe"
[[params.social]]
name = "RSS"
icon = "fa fa-2x fa-rss"
weight = 6
url = "https://myhugosite.com/index.xml"
rel = "alternate"
type = "application/rss+xml"
[languages.en]
languageName = ":uk:"
[[languages.en.menu.main]]
name = "About"
weight = 1
url = "about/"
[[languages.en.menu.main]]
name = "Blog"
weight = 2
url = "posts/"
[[languages.en.menu.main]]
name = "Projects"
weight = 3
url = "projects/"
[[languages.en.menu.main]]
name = "Contact me"
weight = 5
url = "contact/"
[languages.pt-br]
languageName = ":brazil:"
title = "João Ninguém"
[languages.pt-br.params]
author = "João Ninguém"
info = "Full Stack DevOps e Mágico"
description = "Sítio pessoal de João Ninguém"
keywords = "blog,desenvolvedor,pessoal"
[[languages.pt-br.menu.main]]
name = "Sobre"
weight = 1
url = "about/"
[[languages.pt-br.menu.main]]
name = "Blog"
weight = 2
url = "posts/"
[[languages.pt-br.menu.main]]
name = "Projetos"
weight = 3
url = "projects/"
[[languages.pt-br.menu.main]]
name = "Contato"
weight = 5
url = "contact/"

View File

@ -0,0 +1,25 @@
+++
title = "About"
description = "Hugo, the world's fastest framework for building websites"
date = "2019-02-28"
aliases = ["about-us", "about-hugo", "contact"]
author = "Hugo Authors"
+++
Written in Go, Hugo is an open source static site generator available under the [Apache Licence 2.0.](https://github.com/gohugoio/hugo/blob/master/LICENSE) Hugo supports TOML, YAML and JSON data file types, Markdown and HTML content files and uses shortcodes to add rich content. Other notable features are taxonomies, multilingual mode, image processing, custom output formats, HTML/CSS/JS minification and support for Sass SCSS workflows.
Hugo makes use of a variety of open source projects including:
* https://github.com/yuin/goldmark
* https://github.com/alecthomas/chroma
* https://github.com/muesli/smartcrop
* https://github.com/spf13/cobra
* https://github.com/spf13/viper
Hugo is ideal for blogs, corporate websites, creative portfolios, online magazines, single page applications or even a website with thousands of pages.
Hugo is for people who want to hand code their own website without worrying about setting up complicated runtimes, dependencies and databases.
Websites built with Hugo are extremely fast, secure and can be deployed anywhere including, AWS, GitHub Pages, Heroku, Netlify and any other hosting provider.
Learn more and contribute on [GitHub](https://github.com/gohugoio).

View File

@ -0,0 +1,25 @@
+++
title = "About"
description = "Hugo, the world's fastest framework for building websites"
date = "2019-02-28"
aliases = ["about-us", "about-hugo", "contact"]
author = "Hugo Authors"
+++
Escrito em Go, Hugo é um gerador de sites estáticos de código aberto disponível sobre a licença [Apache Licence 2.0.](https://github.com/gohugoio/hugo/blob/master/LICENSE) O Hugo suporta TOML, YAML e JSON como arquivos de dados, Markdown e HTML como arquivos de conteúdo, e usa shortcodes para adicionar conteúdos ricos. Outras funcionalidades notaveis são taxonomias, modo multilingual, processamento de imagens, formatos de saída customizaveis, minificação de HTML/CSS/JS e suporte a fluxos SASS/SCSS.
O Hugo faz o uso de vários projetos de código aberto incluíndo:
* https://github.com/yuin/goldmark
* https://github.com/alecthomas/chroma
* https://github.com/muesli/smartcrop
* https://github.com/spf13/cobra
* https://github.com/spf13/viper
O Hugo é ideal para blogs, sites corporativos, protfólio criativos, revistas online, aplicações de página única ou até sites com milhares de páginas.
O Hugo é para pessoas que querem cuidar do seu próprio site sem se preocupar com a configuração ambientes complicados, dependências e bancos de dados.
Sites contru;idos com Hugo são extremamente rápidos, seguros e podem ser implantados em qualquer lugar, incluíndo AWS, GitHub Pages, Heroku, Netlify e outros provedores de hospedagem.
Saiba mais e contribua em [GitHub](https://github.com/gohugoio).

View File

@ -0,0 +1,6 @@
+++
title = "Contact"
slug = "contact"
+++
Follow me, @johndoe.

View File

@ -0,0 +1,6 @@
+++
title = "Contato"
slug = "contact"
+++
Me siga em @joaoninguem.

View File

@ -0,0 +1,46 @@
+++
author = "Hugo Authors"
title = "Emoji Support"
date = "2019-03-05"
description = "Guide to emoji usage in Hugo"
tags = [
"emoji",
]
+++
Emoji can be enabled in a Hugo project in a number of ways.
<!--more-->
The [`emojify`](https://gohugo.io/functions/emojify/) function can be called directly in templates or [Inline Shortcodes](https://gohugo.io/templates/shortcode-templates/#inline-shortcodes).
To enable emoji globally, set `enableEmoji` to `true` in your site's [configuration](https://gohugo.io/getting-started/configuration/) and then you can type emoji shorthand codes directly in content files; e.g.
<p><span class="nowrap"><span class="emojify">🙈</span> <code>:see_no_evil:</code></span> <span class="nowrap"><span class="emojify">🙉</span> <code>:hear_no_evil:</code></span> <span class="nowrap"><span class="emojify">🙊</span> <code>:speak_no_evil:</code></span></p>
<br>
The [Emoji cheat sheet](http://www.emoji-cheat-sheet.com/) is a useful reference for emoji shorthand codes.
***
**N.B.** The above steps enable Unicode Standard emoji characters and sequences in Hugo, however the rendering of these glyphs depends on the browser and the platform. To style the emoji you can either use a third party emoji font or a font stack; e.g.
{{< highlight html >}}
.emoji {
font-family: Apple Color Emoji, Segoe UI Emoji, NotoColorEmoji, Segoe UI Symbol, Android Emoji, EmojiSymbols;
}
{{< /highlight >}}
{{< css.inline >}}
<style>
.emojify {
font-family: Apple Color Emoji, Segoe UI Emoji, NotoColorEmoji, Segoe UI Symbol, Android Emoji, EmojiSymbols;
font-size: 2rem;
vertical-align: middle;
}
@media screen and (max-width:650px) {
.nowrap {
display: block;
margin: 25px 0;
}
}
</style>
{{< /css.inline >}}

View File

@ -0,0 +1,46 @@
+++
author = "Hugo Authors"
title = "Suporte a Emojis"
date = "2019-03-05"
description = "Um guia de utilização de emojis com Hugo"
tags = [
"emoji",
]
+++
Emojis podem ser ativados em um projeto Hugo de diversar formas.
<!--more-->
A função [`emojify`](https://gohugo.io/functions/emojify/) pode ser chamada diretamente nos templates ou com [Inline Shortcodes](https://gohugo.io/templates/shortcode-templates/#inline-shortcodes).
Para ativar os emojis globalmente, aplique `enableEmoji` com o valor `true` na [configuração](https://gohugo.io/getting-started/configuration/) do seu site e então você poderá adicionar códigos de emoji diretamente nos arquivos de conteúdo. Por exemplo:
<p><span class="nowrap"><span class="emojify">🙈</span> <code>:see_no_evil:</code></span> <span class="nowrap"><span class="emojify">🙉</span> <code>:hear_no_evil:</code></span> <span class="nowrap"><span class="emojify">🙊</span> <code>:speak_no_evil:</code></span></p>
<br>
O [Emoji cheat sheet](http://www.emoji-cheat-sheet.com/) é uma referência útil para identificar códigos de emojis.
***
**Nota:** Os passos anteriores ativam os caractéres e sequências de emoji do Padrão Unicode no Hugo, porém a renderização desses glifos depende do navegador e plataforma utilizada. Para escolher o estilo dos emojis você pode tanto usar um font de emoji de terceiros ou uma lista de fontes. Por exemplo:
{{< highlight html >}}
.emoji {
font-family: Apple Color Emoji, Segoe UI Emoji, NotoColorEmoji, Segoe UI Symbol, Android Emoji, EmojiSymbols;
}
{{< /highlight >}}
{{< css.inline >}}
<style>
.emojify {
font-family: Apple Color Emoji, Segoe UI Emoji, NotoColorEmoji, Segoe UI Symbol, Android Emoji, EmojiSymbols;
font-size: 2rem;
vertical-align: middle;
}
@media screen and (max-width:650px) {
.nowrap {
display: block;
margin: 25px 0;
}
}
</style>
{{< /css.inline >}}

View File

@ -0,0 +1,15 @@
+++
author = "Hugo Authors"
date = "2019-03-04"
title = "External Page: Hugo Coder Wiki"
slug = "hugo-coder-wiki"
tags = [
"hugo",
"development",
"themes"
]
categories = [
"Development",
]
externalLink = "https://github.com/luizdepra/hugo-coder/wiki"
+++

View File

@ -0,0 +1,15 @@
+++
author = "Hugo Authors"
date = "2019-03-04"
title = "Página Externa: Wiki Hugo Coder"
slug = "hugo-coder-wiki"
tags = [
"hugo",
"development",
"themes"
]
categories = [
"Development",
]
externalLink = "https://github.com/luizdepra/hugo-coder/wiki"
+++

View File

@ -0,0 +1,133 @@
+++
author = "Hugo Authors"
title = "HTML and CSS only tabs"
date = "2022-05-15"
description = "Sample article showcasing shortcodes for HTML/CSS only tabs"
tags = [
"markdown",
"css",
"html",
]
categories = [
"themes",
"syntax",
]
series = ["Themes Guide"]
aliases = ["migrate-from-jekyl"]
+++
## Basic shortcodes
The following content:
```markdown
{{</* tabgroup */>}}
{{</* tab name="Hello" */>}}
Hello World!
{{</* /tab */>}}
{{</* tab name="Goodbye" */>}}
Goodbye Everybody!
{{</* /tab */>}}
{{</* /tabgroup */>}}
```
Will generate:
{{< tabgroup >}}
{{< tab name="Hello" >}}
Hello World!
{{< /tab >}}
{{< tab name="Goodbye" >}}
Goodbye Everybody!
{{< /tab >}}
{{< /tabgroup >}}
## Right alighment
You can also align the tabs to the right:
```markdown
{{</* tabgroup align="right" */>}}
{{</* tab name="Hello" */>}}
Hello World!
{{</* /tab */>}}
{{</* tab name="Goodbye" */>}}
Goodbye Everybody!
{{</* /tab */>}}
{{</* /tabgroup */>}}
```
Giving you this look:
{{< tabgroup align="right" >}}
{{< tab name="Hello" >}}
Hello World!
{{< /tab >}}
{{< tab name="Goodbye" >}}
Goodbye Everybody!
{{< /tab >}}
{{< /tabgroup >}}
## Markdown content
Any valid markdown can be used inside the tab:
~~~markdown
{{</* tabgroup align="right" style="code" */>}}
{{</* tab name="Ruby" */>}}
```ruby
puts 'Hello'
```
{{</* /tab */>}}
{{</* tab name="Python" */>}}
```python
print('Hello')
```
{{</* /tab */>}}
{{</* tab name="JavaScript" */>}}
```js
console.log('Hello')
```
{{</* /tab */>}}
{{</* /tabgroup */>}}
~~~
And you get this lovely content:
{{< tabgroup align="right" style="code" >}}
{{< tab name="Ruby" >}}
```ruby
puts 'Hello'
```
{{< /tab >}}
{{< tab name="Python" >}}
```python
print('Hello')
```
{{< /tab >}}
{{< tab name="JavaScript" >}}
```js
console.log('Hello')
```
{{< /tab >}}
{{< /tabgroup >}}
In this case `style="code"` makes it look a little nicer for scenarios where
your content purely a code block.

View File

@ -0,0 +1,148 @@
+++
author = "Hugo Authors"
title = "Markdown Syntax Guide"
date = "2019-03-11"
description = "Sample article showcasing basic Markdown syntax and formatting for HTML elements."
tags = [
"markdown",
"css",
"html",
]
categories = [
"themes",
"syntax",
]
series = ["Themes Guide"]
aliases = ["migrate-from-jekyl"]
+++
This article offers a sample of basic Markdown syntax that can be used in Hugo content files, also it shows whether basic HTML elements are decorated with CSS in a Hugo theme.
<!--more-->
## Headings
The following HTML `<h1>`—`<h6>` elements represent six levels of section headings. `<h1>` is the highest section level while `<h6>` is the lowest.
# H1
## H2
### H3
#### H4
##### H5
###### H6
## Paragraph
Xerum, quo qui aut unt expliquam qui dolut labo. Aque venitatiusda cum, voluptionse latur sitiae dolessi aut parist aut dollo enim qui voluptate ma dolestendit peritin re plis aut quas inctum laceat est volestemque commosa as cus endigna tectur, offic to cor sequas etum rerum idem sintibus eiur? Quianimin porecus evelectur, cum que nis nust voloribus ratem aut omnimi, sitatur? Quiatem. Nam, omnis sum am facea corem alique molestrunt et eos evelece arcillit ut aut eos eos nus, sin conecerem erum fuga. Ri oditatquam, ad quibus unda veliamenimin cusam et facea ipsamus es exerum sitate dolores editium rerore eost, temped molorro ratiae volorro te reribus dolorer sperchicium faceata tiustia prat.
Itatur? Quiatae cullecum rem ent aut odis in re eossequodi nonsequ idebis ne sapicia is sinveli squiatum, core et que aut hariosam ex eat.
## Blockquotes
The blockquote element represents content that is quoted from another source, optionally with a citation which must be within a `footer` or `cite` element, and optionally with in-line changes such as annotations and abbreviations.
#### Blockquote without attribution
> Tiam, ad mint andaepu dandae nostion secatur sequo quae.
> **Note** that you can use *Markdown syntax* within a blockquote.
#### Blockquote with attribution
> Don't communicate by sharing memory, share memory by communicating.<br>
> — <cite>Rob Pike[^1]</cite>
[^1]: The above quote is excerpted from Rob Pike's [talk](https://www.youtube.com/watch?v=PAAkCSZUG1c) during Gopherfest, November 18, 2015.
## Tables
Tables aren't part of the core Markdown spec, but Hugo supports them out-of-the-box.
Name | Age
--------|------
Bob | 27
Alice | 23
#### Inline Markdown within tables
| Italics | Bold | Code |
| -------- | -------- | ------ |
| *italics* | **bold** | `code` |
## Code Blocks
#### Code block with backticks
```html
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Example HTML5 Document</title>
</head>
<body>
<p>Test</p>
</body>
</html>
```
#### Code block indented with four spaces
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Example HTML5 Document</title>
</head>
<body>
<p>Test</p>
</body>
</html>
#### Code block with Hugo's internal highlight shortcode
{{< highlight html >}}
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Example HTML5 Document</title>
</head>
<body>
<p>Test</p>
</body>
</html>
{{< /highlight >}}
## List Types
#### Ordered List
1. First item
2. Second item
3. Third item
#### Unordered List
* List item
* Another item
* And another item
#### Nested list
* Fruit
* Apple
* Orange
* Banana
* Dairy
* Milk
* Cheese
## Other Elements — abbr, sub, sup, kbd, mark
<abbr title="Graphics Interchange Format">GIF</abbr> is a bitmap image format.
H<sub>2</sub>O
X<sup>n</sup> + Y<sup>n</sup> = Z<sup>n</sup>
Press <kbd><kbd>CTRL</kbd>+<kbd>ALT</kbd>+<kbd>Delete</kbd></kbd> to end the session.
Most <mark>salamanders</mark> are nocturnal, and hunt for insects, worms, and other small creatures.

View File

@ -0,0 +1,149 @@
+++
author = "Hugo Authors"
title = "Guia de Sintaxe Markdown"
date = "2019-03-11"
description = "Artigo de exemplo mostrando a sintaxe básica Markdown e a formatação de elementos HTML."
tags = [
"markdown",
"css",
"html",
]
categories = [
"temas",
"sintaxe",
]
series = ["Guia do Thema"]
aliases = ["migrate-from-jekyl"]
+++
Esse artigo é um exemplo básico para mostrar a sintaxe Markdown que é usada nos arquivos de conteúdo do Hugo. Ele também mostrar como cada elemento básico HTML é estilizado com CSS com os temas do Hugo.
<!--more-->
## Cabeçalhos
Os seguintes elementos HTML `<h1>`—`<h6>` representam 6 níveis de cabeçalhos de seção. `<h1>` é para seções de nível mais alto enquanto `<h6>` é para o nível mais baixo.
# H1
## H2
### H3
#### H4
##### H5
###### H6
## Parágrafo
Xerum, quo qui aut unt expliquam qui dolut labo. Aque venitatiusda cum, voluptionse latur sitiae dolessi aut parist aut dollo enim qui voluptate ma dolestendit peritin re plis aut quas inctum laceat est volestemque commosa as cus endigna tectur, offic to cor sequas etum rerum idem sintibus eiur? Quianimin porecus evelectur, cum que nis nust voloribus ratem aut omnimi, sitatur? Quiatem. Nam, omnis sum am facea corem alique molestrunt et eos evelece arcillit ut aut eos eos nus, sin conecerem erum fuga. Ri oditatquam, ad quibus unda veliamenimin cusam et facea ipsamus es exerum sitate dolores editium rerore eost, temped molorro ratiae volorro te reribus dolorer sperchicium faceata tiustia prat.
Itatur? Quiatae cullecum rem ent aut odis in re eossequodi nonsequ idebis ne sapicia is sinveli squiatum, core et que aut hariosam ex eat.
## Citações
O elemento de citações representa um conteúdo citado de outra origem, opcionalmente com atribuição que deve estar contida em um elemento `footer` ou `cite`, e também opcionalmente com informações in-line como anotações e abreviações.
#### Citações sem atribuição
> Tiam, ad mint andaepu dandae nostion secatur sequo quae.
> **Note** that you can use *Markdown syntax* within a blockquote.
#### Citações com atribuição
> Não comunique compartilhando memória, compartilhe memória comunicando.<br>
> — <cite>Rob Pike[^1]</cite>
[^1]: A citação acima foi extraída da [apresentação](https://www.youtube.com/watch?v=PAAkCSZUG1c) do Rob Pike durante a Gopherfest, de 18 de Novembro de 2015.
## Tabelas
Tabelas não fazem parte do cerne da especificação do Markdown, mas o Hugo oferece suporte a elas.
Nome | Idade
--------|-------
Bob | 27
Alice | 23
#### Tabelas com Markdown inline
| Italics | Bold | Code |
| -------- | -------- | ------ |
| *italics* | **bold** | `code` |
## Blocos de código
#### Blocos de código com crase
```html
<!doctype html>
<html lang="pt-br">
<head>
<meta charset="utf-8">
<title>Exemplo de Documento HTML5</title>
</head>
<body>
<p>Teste</p>
</body>
</html>
```
#### Blocos de código com quatro espaços
<!doctype html>
<html lang="pt-br">
<head>
<meta charset="utf-8">
<title>Exemplo de Documento HTML5</title>
</head>
<body>
<p>Teste</p>
</body>
</html>
#### Blocos de código com highlight shortcode interno do Hugo
{{< highlight html >}}
<!doctype html>
<html lang="pt-br">
<head>
<meta charset="utf-8">
<title>Exemplo de Documento HTML5</title>
</head>
<body>
<p>Teste</p>
</body>
</html>
{{< /highlight >}}
## Tipos de Listas
#### Listas Ordenada
1. Primeiro item
2. Segundo item
3. Terceiro item
#### Listas não Ordenada
* Um item
* Outro item
* Algum outro item
#### Listas aninhadas
* Frutas
* Maçã
* Laranja
* Banana
* Laticínios
* Leite
* Queijo
## Outros Elementos — abbr, sub, sup, kbd, mark
<abbr title="Graphics Interchange Format">GIF</abbr> é um formato de imagem bitmap.
H<sub>2</sub>O
X<sup>n</sup> + Y<sup>n</sup> = Z<sup>n</sup>
Aperte <kbd><kbd>CTRL</kbd>+<kbd>ALT</kbd>+<kbd>Delete</kbd></kbd> para fechar.
A maioria das <mark>salamandras</mark> são noturnas e caçam insetos, vermes, e outras criaturas pequenas.

View File

@ -0,0 +1,49 @@
---
author: Hugo Authors
title: Math Typesetting
date: 2019-03-08
description: A brief guide to setup KaTeX
math: true
---
Mathematical notation in a Hugo project can be enabled by using third party JavaScript libraries.
<!--more-->
In this example we will be using [KaTeX](https://katex.org/)
- Create a partial under `/layouts/partials/math.html`
- Within this partial reference the [Auto-render Extension](https://katex.org/docs/autorender.html) or host these scripts locally.
- Include the partial in your templates like so:
```bash
{{ if or .Params.math .Site.Params.math }}
{{ partial "math.html" . }}
{{ end }}
```
- To enable KaTex globally set the parameter `math` to `true` in a project's configuration
- To enable KaTex on a per page basis include the parameter `math: true` in content files
**Note:** Use the online reference of [Supported TeX Functions](https://katex.org/docs/supported.html)
{{< math.inline >}}
{{ if or .Page.Params.math .Site.Params.math }}
<!-- KaTeX -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.11.1/dist/katex.min.css" integrity="sha384-zB1R0rpPzHqg7Kpt0Aljp8JPLqbXI3bhnPWROx27a9N0Ll6ZP/+DiW/UqRcLbRjq" crossorigin="anonymous">
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.11.1/dist/katex.min.js" integrity="sha384-y23I5Q6l+B6vatafAwxRu/0oK/79VlbSz7Q9aiSZUvyWYIYsd+qj+o24G5ZU2zJz" crossorigin="anonymous"></script>
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.11.1/dist/contrib/auto-render.min.js" integrity="sha384-kWPLUVMOks5AQFrykwIup5lo0m3iMkkHrD0uJ4H5cjeGihAutqP0yW0J6dpFiVkI" crossorigin="anonymous" onload="renderMathInElement(document.body);"></script>
{{ end }}
{{</ math.inline >}}
### Examples
{{< math.inline >}}
<p>
Inline math: \(\varphi = \dfrac{1+\sqrt5}{2}= 1.6180339887…\)
</p>
{{</ math.inline >}}
Block math:
$$
\varphi = 1+\frac{1} {1+\frac{1} {1+\frac{1} {1+\cdots} } }
$$

View File

@ -0,0 +1,49 @@
---
author: Hugo Authors
title: Configuração de Equações Matemáticas
date: 2019-03-08
description: Um guia rápido sobre utilizar KaTeX
math: true
---
Em um projeto Hugo as Notações Matemáticas podem ser usadas com a ajuda de bibliotecas JavaScript de terceiros.
<!--more-->
Nesse exemplo usaremos o [KaTeX](https://katex.org/).
- Crie um partial template em `/layouts/partials/math.html`
- Dentro, utilize o [Auto-render Extension](https://katex.org/docs/autorender.html) ou sirva os scripts localmente.
- Inclua o partial nos seus templates da seguinte forma:
```bash
{{ if or .Params.math .Site.Params.math }}
{{ partial "math.html" . }}
{{ end }}
```
- Para ativar o KaTex globalmente defina o parâmetro `math` como `true` na confgiuração do projeto
- Para ativar o KaTex em páginas específicas inclua o parâmetro `math: true` nos arquivos de conteúdo
**Nota:** Use a referência online [Supported TeX Functions](https://katex.org/docs/supported.html) como base para criar notações matemáticas.
{{< math.inline >}}
{{ if or .Page.Params.math .Site.Params.math }}
<!-- KaTeX -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.11.1/dist/katex.min.css" integrity="sha384-zB1R0rpPzHqg7Kpt0Aljp8JPLqbXI3bhnPWROx27a9N0Ll6ZP/+DiW/UqRcLbRjq" crossorigin="anonymous">
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.11.1/dist/katex.min.js" integrity="sha384-y23I5Q6l+B6vatafAwxRu/0oK/79VlbSz7Q9aiSZUvyWYIYsd+qj+o24G5ZU2zJz" crossorigin="anonymous"></script>
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.11.1/dist/contrib/auto-render.min.js" integrity="sha384-kWPLUVMOks5AQFrykwIup5lo0m3iMkkHrD0uJ4H5cjeGihAutqP0yW0J6dpFiVkI" crossorigin="anonymous" onload="renderMathInElement(document.body);"></script>
{{ end }}
{{</ math.inline >}}
### Examples
{{< math.inline >}}
<p>
Notação inline: \(\varphi = \dfrac{1+\sqrt5}{2}= 1.6180339887…\)
</p>
{{</ math.inline >}}
Notação em bloco:
$$
\varphi = 1+\frac{1} {1+\frac{1} {1+\frac{1} {1+\cdots} } }
$$

View File

@ -0,0 +1,33 @@
+++
date = "2022-07-25"
title = "Mermaid JS support"
description = "The post demonstrates Mermaid JS support"
series = ["Theme", "Hugo"]
+++
If you want to use [Mermaid-JS](https://mermaid-js.github.io/mermaid/#/) on your website.
Provide `mermaid` as [Shortcode](https://gohugo.io/content-management/shortcodes/#readout) in your markdown file.
{{<mermaid>}}
flowchart LR
A --> B
B --> C
C --> D
D --> B
{{</mermaid>}}
{{<mermaid>}}
sequenceDiagram
participant Alice
participant Bob
Alice->>Bob: Hi Bob
Bob->>Alice: Hi Alice
{{</mermaid>}}
Find more example on [Mermaid-JS](https://mermaid-js.github.io/mermaid/#/) website.

View File

@ -0,0 +1,43 @@
+++
author = "Hugo Authors"
title = "More Rich Content"
date = "2019-03-09"
description = "A brief description about Hugo Coder's Custom Shortcodes"
tags = [
"shortcodes"
]
+++
Hugo Coder provides some Custom Shortcodes.
<!--more-->
---
## Shortcodes Avisos
{{< notice note >}}
One note here.
{{< /notice >}}
{{< notice tip >}}
I'm giving a tip about something.
{{< /notice >}}
{{< notice example >}}
This is an example.
{{< /notice >}}
{{< notice question >}}
Is this a question?
{{< /notice >}}
{{< notice info >}}
Notice that this box contain information.
{{< /notice >}}
{{< notice warning >}}
This is the last warning!
{{< /notice >}}
{{< notice error >}}
There is an error in your code.
{{< /notice >}}

View File

@ -0,0 +1,43 @@
+++
author = "Hugo Authors"
title = "Mais Conteúdo Rico"
date = "2019-03-09"
description = "Uma breve descrição sobre Shortcodes customizados do Hugo Coder"
tags = [
"shortcodes"
]
+++
O Hugo Coder proporciona alguns Shortcodes Customizados.
<!--more-->
---
## Shortcodes Avisos
{{< notice note >}}
Uma nota aqui.
{{< /notice >}}
{{< notice tip >}}
Estou lhe dando uma dica.
{{< /notice >}}
{{< notice example >}}
Isso é um exemplo.
{{< /notice >}}
{{< notice question >}}
Isso é um pergunta?
{{< /notice >}}
{{< notice info >}}
Note que essa caixa contém informações.
{{< /notice >}}
{{< notice warning >}}
Este é o último aviso!
{{< /notice >}}
{{< notice error >}}
Há um erro no seu código.
{{< /notice >}}

View File

@ -0,0 +1,45 @@
+++
author = "Hugo Authors"
title = "Placeholder Text"
date = "2019-03-09"
description = "Lorem Ipsum Dolor Si Amet"
tags = [
"markdown",
"text",
]
+++
Lorem est tota propiore conpellat pectoribus de pectora summo. <!--more-->Redit teque digerit hominumque toris verebor lumina non cervice subde tollit usus habet Arctonque, furores quas nec ferunt. Quoque montibus nunc caluere tempus inhospita parcite confusaque translucet patri vestro qui optatis lumine cognoscere flos nubis! Fronde ipsamque patulos Dryopen deorum.
1. Exierant elisi ambit vivere dedere
2. Duce pollice
3. Eris modo
4. Spargitque ferrea quos palude
Rursus nulli murmur; hastile inridet ut ab gravi sententia! Nomine potitus silentia flumen, sustinet placuit petis in dilapsa erat sunt. Atria tractus malis.
1. Comas hunc haec pietate fetum procerum dixit
2. Post torum vates letum Tiresia
3. Flumen querellas
4. Arcanaque montibus omnes
5. Quidem et
# Vagus elidunt
<svg class="canon" xmlns="http://www.w3.org/2000/svg" overflow="visible" viewBox="0 0 496 373" height="373" width="496"><g fill="none"><path stroke="#000" stroke-width=".75" d="M.599 372.348L495.263 1.206M.312.633l494.95 370.853M.312 372.633L247.643.92M248.502.92l246.76 370.566M330.828 123.869V1.134M330.396 1.134L165.104 124.515"></path><path stroke="#ED1C24" stroke-width=".75" d="M275.73 41.616h166.224v249.05H275.73zM54.478 41.616h166.225v249.052H54.478z"></path><path stroke="#000" stroke-width=".75" d="M.479.375h495v372h-495zM247.979.875v372"></path><ellipse cx="498.729" cy="177.625" rx=".75" ry="1.25"></ellipse><ellipse cx="247.229" cy="377.375" rx=".75" ry="1.25"></ellipse></g></svg>
[The Van de Graaf Canon](https://en.wikipedia.org/wiki/Canons_of_page_construction#Van_de_Graaf_canon)
## Mane refeci capiebant unda mulcebat
Victa caducifer, malo vulnere contra dicere aurato, ludit regale, voca! Retorsit colit est profanae esse virescere furit nec; iaculi matertera et visa est, viribus. Divesque creatis, tecta novat collumque vulnus est, parvas. **Faces illo pepulere** tempus adest. Tendit flamma, ab opes virum sustinet, sidus sequendo urbis.
Iubar proles corpore raptos vero auctor imperium; sed et huic: manus caeli Lelegas tu lux. Verbis obstitit intus oblectamina fixis linguisque ausus sperare Echionides cornuaque tenent clausit possit. Omnia putatur. Praeteritae refert ausus; ferebant e primus lora nutat, vici quae mea ipse. Et iter nil spectatae vulnus haerentia iuste et exercebat, sui et.
Eurytus Hector, materna ipsumque ut Politen, nec, nate, ignari, vernum cohaesit sequitur. Vel **mitis temploque** vocatus, inque alis, *oculos nomen* non silvis corpore coniunx ne displicet illa. Crescunt non unus, vidit visa quantum inmiti flumina mortis facto sic: undique a alios vincula sunt iactata abdita! Suspenderat ego fuit tendit: luna, ante urbem Propoetides **parte**.
{{< css.inline >}}
<style>
.canon { background: white; width: 100%; height: auto; }
</style>
{{< /css.inline >}}

View File

@ -0,0 +1,45 @@
+++
author = "Hugo Authors"
title = "Texto de Exemplo"
date = "2019-03-09"
description = "Lorem Ipsum Dolor Si Amet"
tags = [
"markdown",
"text",
]
+++
Lorem est tota propiore conpellat pectoribus de pectora summo. <!--more-->Redit teque digerit hominumque toris verebor lumina non cervice subde tollit usus habet Arctonque, furores quas nec ferunt. Quoque montibus nunc caluere tempus inhospita parcite confusaque translucet patri vestro qui optatis lumine cognoscere flos nubis! Fronde ipsamque patulos Dryopen deorum.
1. Exierant elisi ambit vivere dedere
2. Duce pollice
3. Eris modo
4. Spargitque ferrea quos palude
Rursus nulli murmur; hastile inridet ut ab gravi sententia! Nomine potitus silentia flumen, sustinet placuit petis in dilapsa erat sunt. Atria tractus malis.
1. Comas hunc haec pietate fetum procerum dixit
2. Post torum vates letum Tiresia
3. Flumen querellas
4. Arcanaque montibus omnes
5. Quidem et
# Vagus elidunt
<svg class="canon" xmlns="http://www.w3.org/2000/svg" overflow="visible" viewBox="0 0 496 373" height="373" width="496"><g fill="none"><path stroke="#000" stroke-width=".75" d="M.599 372.348L495.263 1.206M.312.633l494.95 370.853M.312 372.633L247.643.92M248.502.92l246.76 370.566M330.828 123.869V1.134M330.396 1.134L165.104 124.515"></path><path stroke="#ED1C24" stroke-width=".75" d="M275.73 41.616h166.224v249.05H275.73zM54.478 41.616h166.225v249.052H54.478z"></path><path stroke="#000" stroke-width=".75" d="M.479.375h495v372h-495zM247.979.875v372"></path><ellipse cx="498.729" cy="177.625" rx=".75" ry="1.25"></ellipse><ellipse cx="247.229" cy="377.375" rx=".75" ry="1.25"></ellipse></g></svg>
[The Van de Graaf Canon](https://en.wikipedia.org/wiki/Canons_of_page_construction#Van_de_Graaf_canon)
## Mane refeci capiebant unda mulcebat
Victa caducifer, malo vulnere contra dicere aurato, ludit regale, voca! Retorsit colit est profanae esse virescere furit nec; iaculi matertera et visa est, viribus. Divesque creatis, tecta novat collumque vulnus est, parvas. **Faces illo pepulere** tempus adest. Tendit flamma, ab opes virum sustinet, sidus sequendo urbis.
Iubar proles corpore raptos vero auctor imperium; sed et huic: manus caeli Lelegas tu lux. Verbis obstitit intus oblectamina fixis linguisque ausus sperare Echionides cornuaque tenent clausit possit. Omnia putatur. Praeteritae refert ausus; ferebant e primus lora nutat, vici quae mea ipse. Et iter nil spectatae vulnus haerentia iuste et exercebat, sui et.
Eurytus Hector, materna ipsumque ut Politen, nec, nate, ignari, vernum cohaesit sequitur. Vel **mitis temploque** vocatus, inque alis, *oculos nomen* non silvis corpore coniunx ne displicet illa. Crescunt non unus, vidit visa quantum inmiti flumina mortis facto sic: undique a alios vincula sunt iactata abdita! Suspenderat ego fuit tendit: luna, ante urbem Propoetides **parte**.
{{< css.inline >}}
<style>
.canon { background: white; width: 100%; height: auto; }
</style>
{{< /css.inline >}}

View File

@ -0,0 +1,34 @@
+++
author = "Hugo Authors"
title = "Rich Content"
date = "2019-03-10"
description = "A brief description of Hugo Shortcodes"
tags = [
"shortcodes",
"privacy",
]
+++
Hugo ships with several [Built-in Shortcodes](https://gohugo.io/content-management/shortcodes/#use-hugos-built-in-shortcodes) for rich content, along with a [Privacy Config](https://gohugo.io/about/hugo-and-gdpr/) and a set of Simple Shortcodes that enable static and no-JS versions of various social media embeds.
<!--more-->
---
## YouTube Privacy Enhanced Shortcode
{{< youtube ZJthWmvUzzc >}}
<br>
---
## Twitter Simple Shortcode
{{< twitter_simple 1085870671291310081 >}}
<br>
---
## Vimeo Simple Shortcode
{{< vimeo_simple 48912912 >}}

View File

@ -0,0 +1,34 @@
+++
author = "Hugo Authors"
title = "Conteúdo Rico"
date = "2019-03-10"
description = "Uma breve descrição sobre Shortcodes do Hugo"
tags = [
"shortcodes",
"privacy",
]
+++
O Hugo vem com vários [Shortcodes Internos](https://gohugo.io/content-management/shortcodes/#use-hugos-built-in-shortcodes) para conteúdo rico, assim como uma [Configuração de Privacidade](https://gohugo.io/about/hugo-and-gdpr/) e uma gama de Shortcodes simples que permitem embutir versões estáticas e sem JS de várias de redes sociais.
<!--more-->
---
## Shortcode do YouTube com privacidade melhorada
{{< youtube ZJthWmvUzzc >}}
<br>
---
## Shortcode simples do Twitter
{{< twitter_simple 1085870671291310081 >}}
<br>
---
## Shortcode simples do Vimeo
{{< vimeo_simple 48912912 >}}

View File

@ -0,0 +1,6 @@
+++
title = "Projects"
slug = "projects"
+++
Nothing to see here... Move along!

View File

@ -0,0 +1,6 @@
+++
title = "Projetos"
slug = "projects"
+++
Nada para ver aqui.. Circulando!

Binary file not shown.

After

Width:  |  Height:  |  Size: 406 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 398 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 559 B

3
themes/hugo-coder/go.mod Normal file
View File

@ -0,0 +1,3 @@
module github.com/luizdepra/hugo-coder
go 1.16

View File

@ -0,0 +1,63 @@
[categories]
one = "فئة"
other = "categories"
[tags]
one = "وَسم"
other = "tags"
[series]
one = "سلسلة"
other = "series"
[authors]
one = "الكاتب"
other = "authors"
[posts]
other = "المنشورات"
[reading_time]
other = "تستغرق {{ .Count }} د"
[page_not_found]
other = "الصفحة غير موجودة"
[page_does_not_exist]
other = "هذه الصفحة غير موجودة"
[head_back]
other = "بإمكانك العودة إلى <a href=\"{{ . }}\">homepage</a>."
[licensed_under]
other = "Licensed under"
[powered_by]
other = "بواسطة"
[see_also]
other = "انظر أيضاً"
[note]
other = "note"
[tip]
other = "tip"
[example]
other = "example"
[question]
other = "question"
[info]
other = "info"
[warning]
other = "warning"
[error]
other = "error"
[link_to_heading]
other = "Link to heading"

View File

@ -0,0 +1,64 @@
[categories]
one = "বিভাগ"
other = "বিভাগসমূহ"
[tags]
one = "ট্যাগ"
other = "ট্যাগসমূহ"
[series]
one = "সিরিজ"
other = "সিরিজ"
[authors]
one = "লেখক"
other = "লেখকসমূহ"
[posts]
other = "সব পোস্ট"
[reading_time]
one = "পড়তে এক মিনিট লাগবে"
other = "পড়তে {{ .Count }} মিনিট লাগবে"
[page_not_found]
other = "পাতাটি পাওয়া যায় নি"
[page_does_not_exist]
other = "দুঃখিত, কাঙ্ক্ষিত পাতাটির অস্তিত্ব নেই"
[head_back]
other = "আপনি <a href=\"{{ . }}\">নীড়পাতায়</a> ফিরে যেতে পারেন"
[licensed_under]
other = "লাইসেন্স:"
[powered_by]
other = "চালনা:"
[see_also]
other = "আরও দেখুন"
[note]
other = "নোট"
[tip]
other = "টিপ"
[example]
other = "উদাহরণ"
[question]
other = "প্রশ্ন"
[info]
other = "তথ্য"
[warning]
other = "নির্দেশ"
[error]
other = "ত্রুটি"
[link_to_heading]
other = "Link to heading"

View File

@ -0,0 +1,63 @@
[categories]
one = "kategorie"
other = "categories"
[tags]
one = "tag"
other = "tags"
[series]
one = "série"
other = "series"
[authors]
one = "author"
other = "authors"
[posts]
other = "posts"
[reading_time]
other = "Délka čtení: {{ .Count }}"
[page_not_found]
other = "Stránka nenalezena"
[page_does_not_exist]
other = "Omlouváme se, stránka nebyla nalezena."
[head_back]
other = "Můžete se vrátit na <a href=\"{{ . }}\">homepage</a>."
[licensed_under]
other = "Licensed under"
[powered_by]
other = "Stránka používá"
[see_also]
other = "Podívejte se také na"
[note]
other = "note"
[tip]
other = "tip"
[example]
other = "example"
[question]
other = "question"
[info]
other = "info"
[warning]
other = "warning"
[error]
other = "error"
[link_to_heading]
other = "Link to heading"

View File

@ -0,0 +1,64 @@
[categories]
one = "Kategorie"
other = "Kategorien"
[tags]
one = "Tag"
other = "Tags"
[series]
one = "Serie"
other = "Serien"
[authors]
one = "Autor"
other = "Autoren"
[posts]
other = "Beiträge"
[reading_time]
one = "Eine Minute Lesezeit"
other = "{{ .Count }} Minuten Lesezeit"
[page_not_found]
other = "Seite nicht gefunden"
[page_does_not_exist]
other = "Tut mir Leid, die Seite existiert leider nicht."
[head_back]
other = "Du kannst hier zurück zur <a href=\"{{ . }}\">Startseite</a>."
[licensed_under]
other = "Lizenziert unter"
[powered_by]
other = "Gestaltet mit"
[see_also]
other = "Siehe auch in"
[note]
other = "Bemerkung"
[tip]
other = "Tipp"
[example]
other = "Beispiel"
[question]
other = "Frage"
[info]
other = "Info"
[warning]
other = "Warnung"
[error]
other = "Fehler"
[link_to_heading]
other = "Link to heading"

View File

@ -0,0 +1,64 @@
[categories]
one = "category"
other = "categories"
[tags]
one = "tag"
other = "tags"
[series]
one = "series"
other = "series"
[authors]
one = "author"
other = "authors"
[posts]
other = "posts"
[reading_time]
one = "One-minute read"
other = "{{ .Count }}-minute read"
[page_not_found]
other = "Page Not Found"
[page_does_not_exist]
other = "Sorry, this page does not exist."
[head_back]
other = "You can head back to the <a href=\"{{ . }}\">homepage</a>."
[licensed_under]
other = "Licensed under"
[powered_by]
other = "Powered by"
[see_also]
other = "See also in"
[note]
other = "note"
[tip]
other = "tip"
[example]
other = "example"
[question]
other = "question"
[info]
other = "info"
[warning]
other = "warning"
[error]
other = "error"
[link_to_heading]
other = "Link to heading"

View File

@ -0,0 +1,64 @@
[categories]
one = "categoría"
other = "categorías"
[tags]
one = "etiqueta"
other = "etiquetas"
[series]
one = "serie"
other = "series"
[authors]
one = "autor"
other = "autores"
[posts]
other = "publicaciones"
[reading_time]
one = "Un minuto de lectura"
other = "{{ .Count }} minutos de lectura."
[page_not_found]
other = "Página no encontrada."
[page_does_not_exist]
other = "Disculpa, la página no existe."
[head_back]
other = "Puedes regresar a la <a href=\"{{ . }}\">página inicial</a>."
[licensed_under]
other = "Licensed under"
[powered_by]
other = "Desarrollado por"
[see_also]
other = "También ver en"
[note]
other = "nota"
[tip]
other = "consejo"
[example]
other = "ejemplo"
[question]
other = "pregunta"
[info]
other = "información"
[warning]
other = "advertencia"
[error]
other = "error"
[link_to_heading]
other = "Link to heading"

View File

@ -0,0 +1,64 @@
[categories]
one = "kategoria"
other = "categories"
[tags]
one = "merkki"
other = "tags"
[series]
one = "sarja"
other = "series"
[authors]
one = "Kirjoittaja"
other = "authors"
[posts]
other = "Artikkelit"
[reading_time]
one = "Yksi lukuminuutti"
other = "{{ .Count }} lukuminuuttia"
[page_not_found]
other = "Sivua ei löydetty"
[page_does_not_exist]
other = "Valitettavasti tätä sivua ei ole olemassa."
[head_back]
other = "Voit palata takaisin <a href=\"{{ . }}\">kotisivulle</a>."
[licensed_under]
other = "Licensed under"
[powered_by]
other = "Tarjoaa"
[see_also]
other = "Katso myös"
[note]
other = "note"
[tip]
other = "tip"
[example]
other = "example"
[question]
other = "question"
[info]
other = "info"
[warning]
other = "warning"
[error]
other = "error"
[link_to_heading]
other = "Link to heading"

View File

@ -0,0 +1,64 @@
[categories]
one = "catégorie"
other = "catégories"
[tags]
one = "tag"
other = "tags"
[series]
one = "série"
other = "séries"
[authors]
one = "auteur"
other = "auteurs"
[posts]
other = "articles"
[reading_time]
one = "Une minute de lecture"
other = "{{ .Count }} minutes de lecture"
[page_not_found]
other = "Page Non Trouvée"
[page_does_not_exist]
other = "Désolé, cette page n'existe pas."
[head_back]
other = "Vous pouvez revenir à <a href=\"{{ . }}\">l'accueil</a>."
[licensed_under]
other = "Licensed under"
[powered_by]
other = "Propulsé par"
[see_also]
other = "Voir aussi dans"
[note]
other = "note"
[tip]
other = "tip"
[example]
other = "example"
[question]
other = "question"
[info]
other = "info"
[warning]
other = "warning"
[error]
other = "error"
[link_to_heading]
other = "Link to heading"

View File

@ -0,0 +1,64 @@
[categories]
one = "קטגוריה"
other = "categories"
[tags]
one = "תגית"
other = "tags"
[series]
one = "סדרה"
other = "series"
[authors]
one = "סופר"
other = "authors"
[posts]
other = "פוסטים"
[reading_time]
one = "דקה אחת לקרוא"
other = "דקות לקרוא {{ .Count }}"
[page_not_found]
other = "דף האינטרנט שביקשת לא נמצא"
[page_does_not_exist]
other = "מצטערים, דף אינטרנט זה אינו קיים"
[head_back]
other = " אתה יכול לחזור<a href=\"{{ . }}\">לדף הבית</a>."
[licensed_under]
other = "Licensed under"
[powered_by]
other = "מופעל על ידי"
[see_also]
other = "רואה עוד ב"
[note]
other = "note"
[tip]
other = "tip"
[example]
other = "example"
[question]
other = "question"
[info]
other = "info"
[warning]
other = "warning"
[error]
other = "error"
[link_to_heading]
other = "Link to heading"

View File

@ -0,0 +1,65 @@
[categories]
one = "श्रेणी"
other = "श्रेणियाँ"
[tags]
one = "टैग"
other = "टैग्स"
[series]
one = "श्रृंखला"
other = "श्रृंखलाएँ"
[authors]
one = "लेखक"
other = "लेखक"
[posts]
other = "सामग्री"
[reading_time]
one = "पढ़ने में एक मिनट लगेगा"
other = "पढ़ने में {{ .Count }} मिनट लगेंगे"
[page_not_found]
other = "पृष्ठ नहीं मिला"
[page_does_not_exist]
other = "क्षमा करें, यह पृष्ठ मौजूद नहीं है।"
[head_back]
other = "आप <a href=\"{{ . }}\">मुखपृष्ठ</a> पर वापस आ सकते हैं।"
[licensed_under]
other = "लाइसेंस:"
[powered_by]
other = "संचालन:"
[see_also]
other = "यह भी देखें"
[note]
other = "नोट"
[tip]
other = "टिप्पणी"
[example]
other = "उदाहरण"
[question]
other = "प्रश्न"
[info]
other = "जानकारी"
[warning]
other = "चेतावनी"
[error]
other = "त्रुटि"
[link_to_heading]
other = "हैडिंग की कड़ी"

View File

@ -0,0 +1,64 @@
[categories]
one = "Kategória"
other = "categories"
[tags]
one = "Címke"
other = "tags"
[series]
one = "Sorozat"
other = "series"
[authors]
one = "Szerző"
other = "authors"
[posts]
other = "Írások"
[reading_time]
one = "Egyperces"
other = "{{ .Count }} percnyi olvasnivaló"
[page_not_found]
other = "Az oldal nem található"
[page_does_not_exist]
other = "Sajnálom, a kért oldal nem létezik."
[head_back]
other = "Itt visszaléphet a <a href=\"{{ . }}\">Főoldalra</a>."
[licensed_under]
other = "Licensed under"
[powered_by]
other = "Motor:"
[see_also]
other = "Lásd még"
[note]
other = "note"
[tip]
other = "tip"
[example]
other = "example"
[question]
other = "question"
[info]
other = "info"
[warning]
other = "warning"
[error]
other = "error"
[link_to_heading]
other = "Link to heading"

View File

@ -0,0 +1,64 @@
[categories]
one = "kategori"
other = "categories"
[tags]
one = "label"
other = "tags"
[series]
one = "seri"
other = "series"
[authors]
one = "penulis"
other = "authors"
[posts]
other = "artikel"
[reading_time]
one = "bacaan satu menit"
other = "bacaan {{ .Count }} menit"
[page_not_found]
other = "Halaman tidak ditemukan"
[page_does_not_exist]
other = "Maaf, halaman ini tidak ada."
[head_back]
other = "Anda dapat kembali ke <a href=\"{{ . }}\">beranda</a>."
[licensed_under]
other = "Licensed under"
[powered_by]
other = "Dipersembahkan oleh"
[see_also]
other = "artikel terkait"
[note]
other = "note"
[tip]
other = "tip"
[example]
other = "example"
[question]
other = "question"
[info]
other = "info"
[warning]
other = "warning"
[error]
other = "error"
[link_to_heading]
other = "Link to heading"

View File

@ -0,0 +1,64 @@
[categories]
one = "categoria"
other = "categorie"
[tags]
one = "tag"
other = "tags"
[series]
one = "serie"
other = "serie"
[authors]
one = "autore"
other = "autori"
[posts]
other = "post"
[reading_time]
one = "Lettura di un minuto"
other = "{{ .Count }} minuti di lettura"
[page_not_found]
other = "Pagina non trovata"
[page_does_not_exist]
other = "Siamo spiacenti, questa pagina non esiste."
[head_back]
other = "Torna alla <a href=\"{{ . }}\">homepage</a>."
[licensed_under]
other = "Licensed under"
[powered_by]
other = "Generato da"
[see_also]
other = "Vedi anche in"
[note]
other = "note"
[tip]
other = "tip"
[example]
other = "example"
[question]
other = "question"
[info]
other = "info"
[warning]
other = "warning"
[error]
other = "error"
[link_to_heading]
other = "Link to heading"

Some files were not shown because too many files have changed in this diff Show More