fosscat-site/config.toml

217 lines
8.7 KiB
TOML

baseURL= "https://fosscat.com/"
defaultContentLanguage = "en-us"
title = "Foss Cat"
theme = "gokarna"
enableRobotsTXT= true
enableEmoji = true
# code highlighting: use CSS classes so customHeadHTML can override colors
# pygmentsStyle = "catppuccin-frappe"
[params]
accentColor = "#D8B56D"
socialIcons = [
{name = "gitea", url = "https://git.fosscat.com/n8r"},
{name = "twitch", url = "https://twitch.tv/fosscat"},
{name = "youtube", url = ""},
{name = "rss", url = "https://fosscat.com/index.xml"},
]
# <link> tags for favicon support
customHeadHTML = '''
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
<link rel="manifest" href="/site.webmanifest">
<style>
/* --- Maple Mono font --- */
@font-face {
font-family: 'Maple Mono';
font-style: normal;
font-display: swap;
font-weight: 400;
src: url(https://cdn.jsdelivr.net/fontsource/fonts/maple-mono@latest/latin-400-normal.woff2) format('woff2'),
url(https://cdn.jsdelivr.net/fontsource/fonts/maple-mono@latest/latin-400-normal.woff) format('woff');
}
@font-face {
font-family: 'Maple Mono';
font-style: normal;
font-display: swap;
font-weight: 700;
src: url(https://cdn.jsdelivr.net/fontsource/fonts/maple-mono@latest/latin-700-normal.woff2) format('woff2'),
url(https://cdn.jsdelivr.net/fontsource/fonts/maple-mono@latest/latin-700-normal.woff) format('woff');
}
@font-face {
font-family: 'Maple Mono';
font-style: italic;
font-display: swap;
font-weight: 400;
src: url(https://cdn.jsdelivr.net/fontsource/fonts/maple-mono@latest/latin-400-italic.woff2) format('woff2'),
url(https://cdn.jsdelivr.net/fontsource/fonts/maple-mono@latest/latin-400-italic.woff) format('woff');
}
html, body, code, pre, .post-content, .post-title {
font-family: 'Maple Mono', monospace !important;
}
/* --- Kimber (base16) theme: Light mode overrides --- */
:root {
--light-primary-color: 255, 255, 230; /* base07 #FFFFE6 warm cream */
--light-secondary-color: #C3C3B4; /* base06 borders/dividers */
--light-tertiary-color: #222222; /* base00 code block bg */
--light-text-color: #222222; /* base00 text */
}
/* Light mode: header shadow */
.header-shadow {
box-shadow: rgb(195, 195, 180) 0px -1px 0px 0px inset;
}
/* Light mode: blockquote text */
blockquote {
color: #5A5A5A; /* base04 */
}
/* Light mode: post dates */
.post-date {
color: #5A5A5A; /* base04 */
}
/* --- Kimber syntax highlighting (base16 palette) --- */
/* Background */
.bg { color: #DEDEE7; background-color: #222222; }
.chroma { color: #DEDEE7; background-color: #222222; }
/* Line infrastructure */
.chroma .lnlinks { outline: none; text-decoration: none; color: inherit; }
.chroma .lntd { vertical-align: top; padding: 0; margin: 0; border: 0; }
.chroma .lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; }
.chroma .hl { background-color: #313131; } /* base01 highlight */
.chroma .lnt { white-space: pre; -webkit-user-select: none; user-select: none; margin-right: 0.4em; padding: 0 0.4em 0 0.4em; color: #5A5A5A; } /* base04 */
.chroma .ln { white-space: pre; -webkit-user-select: none; user-select: none; margin-right: 0.4em; padding: 0 0.4em 0 0.4em; color: #5A5A5A; } /* base04 */
.chroma .line { display: flex; }
/* Keywords - base0E #86CACD (light teal) */
.chroma .k { color: #86CACD; }
.chroma .kc { color: #86CACD; }
.chroma .kd { color: #86CACD; }
.chroma .kn { color: #86CACD; }
.chroma .kp { color: #86CACD; }
.chroma .kr { color: #86CACD; }
.chroma .kt { color: #D8B56D; } /* base0A types */
/* Names */
.chroma .na { color: #537C9C; } /* base0D attributes */
.chroma .nc { color: #D8B56D; } /* base0A classes */
.chroma .no { color: #476C88; } /* base09 constants */
.chroma .nd { color: #D8B56D; } /* base0A decorators */
.chroma .ni { color: #DEDEE7; } /* base05 entities */
.chroma .ne { color: #C88C8C; } /* base08 exceptions */
.chroma .nl { color: #DEDEE7; } /* base05 labels */
.chroma .nn { color: #D8B56D; } /* base0A namespaces */
.chroma .nt { color: #C88C8C; } /* base08 tags */
.chroma .nb { color: #DEDEE7; } /* base05 builtins */
.chroma .bp { color: #DEDEE7; } /* base05 builtin pseudo */
.chroma .nv { color: #C88C8C; } /* base08 variables */
.chroma .vc { color: #C88C8C; } /* base08 */
.chroma .vg { color: #C88C8C; } /* base08 */
.chroma .vi { color: #C88C8C; } /* base08 */
.chroma .vm { color: #C88C8C; } /* base08 */
.chroma .nf { color: #537C9C; } /* base0D functions */
.chroma .fm { color: #537C9C; } /* base0D */
/* Strings - base0B #99C899 (sage green) */
.chroma .s { color: #99C899; }
.chroma .sa { color: #99C899; }
.chroma .sb { color: #99C899; }
.chroma .sc { color: #99C899; }
.chroma .dl { color: #99C899; }
.chroma .sd { color: #99C899; font-style: italic; }
.chroma .s2 { color: #99C899; }
.chroma .se { color: #78B4B4; } /* base0C escape chars */
.chroma .sh { color: #99C899; }
.chroma .si { color: #78B4B4; } /* base0C interpolation */
.chroma .sx { color: #99C899; }
.chroma .sr { color: #78B4B4; } /* base0C regex */
.chroma .s1 { color: #99C899; }
.chroma .ss { color: #99C899; }
/* Numbers - base09 #476C88 (steel blue) */
.chroma .m { color: #476C88; }
.chroma .mb { color: #476C88; }
.chroma .mf { color: #476C88; }
.chroma .mh { color: #476C88; }
.chroma .mi { color: #476C88; }
.chroma .il { color: #476C88; }
.chroma .mo { color: #476C88; }
/* Operators - base05 #DEDEE7 */
.chroma .o { color: #DEDEE7; }
.chroma .ow { color: #86CACD; } /* base0E operator words */
/* Comments - base03 #644646 (dusty mauve) */
.chroma .c { color: #644646; font-style: italic; }
.chroma .ch { color: #644646; font-style: italic; }
.chroma .cm { color: #644646; font-style: italic; }
.chroma .c1 { color: #644646; font-style: italic; }
.chroma .cs { color: #644646; font-style: italic; }
.chroma .cp { color: #D8B56D; } /* base0A preprocessor */
.chroma .cpf { color: #99C899; } /* base0B preproc file */
/* Generic */
.chroma .gd { color: #C88C8C; } /* base08 deleted */
.chroma .ge { font-style: italic; }
.chroma .gr { color: #C88C8C; } /* base08 error */
.chroma .gh { color: #537C9C; font-weight: bold; } /* base0D heading */
.chroma .gi { color: #99C899; } /* base0B inserted */
.chroma .go { color: #644646; } /* base03 output */
.chroma .gp { color: #644646; } /* base03 prompt */
.chroma .gs { font-weight: bold; }
.chroma .gu { color: #78B4B4; font-weight: bold; } /* base0C subheading */
.chroma .gt { color: #C88C8C; } /* base08 traceback */
.chroma .gl { text-decoration: underline; }
.chroma .w { color: #555D55; } /* base02 whitespace */
</style>
'''
# customFooterHTML = '<p>foot123</p>'
togglePreviousAndNextButtons = "true"
avatarUrl = "/images/fosscat_icon.png"
avatarSize = "size-s"
numberPostsOnHomePage = 5
showPostsOnHomePage = "recent"
[params.meta]
favicon = true
svg = false
# Show table of contents
[markup]
[markup.tableOfContents]
startLevel = 1
endLevel = 3
ordered = false
[markup.highlight]
noClasses = false
[menu]
[[menu.main]]
name = "Home"
url = "/"
weight = 1
[[menu.main]]
name = "Posts"
url = "/posts/"
weight = 2
[[menu.main]]
name = "Projects"
url = "/projects/"
weight = 4
[[menu.main]]
name = "Tags"
url= "/tags/"
weight= 5
[[menu.main]]
identifier = "Gitea"
url = "https://git.fosscat.com/n8r/fosscat-site"
weight = 6
# Add Icon
pre = "<span data-feather='code'></span>"
[[menu.main]]
identifier = "RSS"
url = "https://fosscat.com/index.xml"
weight = 6
# Add Icon
pre = "<span data-feather='rss'></span>"
# Enable raw HTML
[markup.goldmark.renderer]
unsafe=true