fix(web): remove windows line endings

Change-Id: I41ce21a927dfac5bfc9697cfce3058f3af87bb00
Reviewed-on: https://cl.snix.dev/c/snix/+/30231
Autosubmit: Paul Meyer <katexochen0@gmail.com>
Reviewed-by: Florian Klink <flokli@flokli.de>
Tested-by: besadii
This commit is contained in:
Paul Meyer 2025-03-21 13:07:10 +01:00 committed by clbot
parent 0959faf056
commit 7957909977
18 changed files with 580 additions and 580 deletions

View file

@ -1 +1 @@
// Put your custom JS code here // Put your custom JS code here

View file

@ -1,8 +1,8 @@
{ {
"compilerOptions": { "compilerOptions": {
"baseUrl": ".", "baseUrl": ".",
"paths": { "paths": {
"*": ["*", "..\\node_modules\\@thulite\\doks-core\\assets\\*"] "*": ["*", "..\\node_modules\\@thulite\\doks-core\\assets\\*"]
} }
} }
} }

View file

@ -1,5 +1,5 @@
// Put your custom SCSS code here // Put your custom SCSS code here
code.language-console .line .cl .gp { code.language-console .line .cl .gp {
user-select: none; user-select: none;
} }

View file

@ -1 +1 @@
// Put your custom SCSS variables here // Put your custom SCSS variables here

View file

@ -1,86 +1,86 @@
title = "Snix" title = "Snix"
baseurl = "http://snix.dev/" baseurl = "http://snix.dev/"
canonifyURLs = false canonifyURLs = false
disableAliases = true disableAliases = true
disableHugoGeneratorInject = true disableHugoGeneratorInject = true
# disableKinds = ["taxonomy", "term"] # disableKinds = ["taxonomy", "term"]
enableEmoji = true enableEmoji = true
enableGitInfo = false enableGitInfo = false
enableRobotsTXT = true enableRobotsTXT = true
languageCode = "en-US" languageCode = "en-US"
pagerSize = 10 pagerSize = 10
rssLimit = 10 rssLimit = 10
summarylength = 20 # 70 (default) summarylength = 20 # 70 (default)
# Multilingual # Multilingual
defaultContentLanguage = "en" defaultContentLanguage = "en"
disableLanguages = ["de", "nl"] disableLanguages = ["de", "nl"]
defaultContentLanguageInSubdir = false defaultContentLanguageInSubdir = false
copyRight = "Copyright (c) 2025 The Snix Project" copyRight = "Copyright (c) 2025 The Snix Project"
[build.buildStats] [build.buildStats]
enable = true enable = true
[outputs] [outputs]
home = ["HTML", "RSS", "searchIndex"] home = ["HTML", "RSS", "searchIndex"]
section = ["HTML", "RSS", "SITEMAP"] section = ["HTML", "RSS", "SITEMAP"]
[outputFormats.searchIndex] [outputFormats.searchIndex]
mediaType = "application/json" mediaType = "application/json"
baseName = "search-index" baseName = "search-index"
isPlainText = true isPlainText = true
notAlternative = true notAlternative = true
# Add output format for section sitemap.xml # Add output format for section sitemap.xml
[outputFormats.SITEMAP] [outputFormats.SITEMAP]
mediaType = "application/xml" mediaType = "application/xml"
baseName = "sitemap" baseName = "sitemap"
isHTML = false isHTML = false
isPlainText = true isPlainText = true
noUgly = true noUgly = true
rel = "sitemap" rel = "sitemap"
[sitemap] [sitemap]
changefreq = "monthly" changefreq = "monthly"
filename = "sitemap.xml" filename = "sitemap.xml"
priority = 0.5 priority = 0.5
[caches] [caches]
[caches.getjson] [caches.getjson]
dir = ":cacheDir/:project" dir = ":cacheDir/:project"
maxAge = -1 # "30m" maxAge = -1 # "30m"
[taxonomies] [taxonomies]
contributor = "contributors" contributor = "contributors"
category = "categories" category = "categories"
tag = "tags" tag = "tags"
[permalinks] [permalinks]
blog = "/blog/:slug/" blog = "/blog/:slug/"
docs = "/docs/:sections[1:]/:slug/" docs = "/docs/:sections[1:]/:slug/"
# docs = "/docs/1.0/:sections[1:]/:slug/" # docs = "/docs/1.0/:sections[1:]/:slug/"
[minify.tdewolff.html] [minify.tdewolff.html]
keepWhitespace = false keepWhitespace = false
[related] [related]
threshold = 80 threshold = 80
includeNewer = true includeNewer = true
toLower = false toLower = false
[[related.indices]] [[related.indices]]
name = "categories" name = "categories"
weight = 100 weight = 100
[[related.indices]] [[related.indices]]
name = "tags" name = "tags"
weight = 80 weight = 80
[[related.indices]] [[related.indices]]
name = "date" name = "date"
weight = 10 weight = 10
[imaging] [imaging]
anchor = "Center" anchor = "Center"
bgColor = "#ffffff" bgColor = "#ffffff"
hint = "photo" hint = "photo"
quality = 85 quality = 85
resampleFilter = "Lanczos" resampleFilter = "Lanczos"

View file

@ -1,9 +1,9 @@
[en] [en]
languageName = "English" languageName = "English"
contentDir = "content/en" contentDir = "content/en"
weight = 10 weight = 10
[en.params] [en.params]
languageISO = "EN" languageISO = "EN"
languageTag = "en-US" languageTag = "en-US"
footer = '' footer = ''
# alertText = '<a class="alert-link stretched-link fw-normal" href="/blog/example-post/">Doks version 1.0 just shipped!</a>' # alertText = '<a class="alert-link stretched-link fw-normal" href="/blog/example-post/">Doks version 1.0 just shipped!</a>'

View file

@ -1,33 +1,33 @@
defaultMarkdownHandler = "goldmark" defaultMarkdownHandler = "goldmark"
[goldmark] [goldmark]
[goldmark.extensions] [goldmark.extensions]
linkify = false linkify = false
[goldmark.parser] [goldmark.parser]
autoHeadingID = true autoHeadingID = true
autoHeadingIDType = "github" autoHeadingIDType = "github"
[goldmark.parser.attribute] [goldmark.parser.attribute]
block = true block = true
title = true title = true
[goldmark.renderer] [goldmark.renderer]
unsafe = true unsafe = true
[highlight] [highlight]
anchorLineNos = false anchorLineNos = false
codeFences = true codeFences = true
guessSyntax = false guessSyntax = false
hl_Lines = '' hl_Lines = ''
hl_inline = false hl_inline = false
lineAnchors = '' lineAnchors = ''
lineNoStart = 1 lineNoStart = 1
lineNos = false lineNos = false
lineNumbersInTable = false lineNumbersInTable = false
noClasses = false noClasses = false
noHl = false noHl = false
style = 'monokai' style = 'monokai'
tabWidth = 2 tabWidth = 2
[tableOfContents] [tableOfContents]
endLevel = 3 endLevel = 3
ordered = false ordered = false
startLevel = 2 startLevel = 2

View file

@ -1,87 +1,87 @@
# mounts # mounts
## archetypes ## archetypes
[[mounts]] [[mounts]]
source = "node_modules/@thulite/doks-core/archetypes" source = "node_modules/@thulite/doks-core/archetypes"
target = "archetypes" target = "archetypes"
[[mounts]] [[mounts]]
source = "archetypes" source = "archetypes"
target = "archetypes" target = "archetypes"
## assets ## assets
[[mounts]] [[mounts]]
source = "node_modules/@thulite/core/assets" source = "node_modules/@thulite/core/assets"
target = "assets" target = "assets"
[[mounts]] [[mounts]]
source = "node_modules/@thulite/images/assets" source = "node_modules/@thulite/images/assets"
target = "assets" target = "assets"
[[mounts]] [[mounts]]
source = "node_modules/@thulite/doks-core/assets" source = "node_modules/@thulite/doks-core/assets"
target = "assets" target = "assets"
[[mounts]] [[mounts]]
source = "node_modules/@tabler/icons/icons" source = "node_modules/@tabler/icons/icons"
target = "assets/svgs/tabler-icons" target = "assets/svgs/tabler-icons"
[[mounts]] [[mounts]]
source = "assets" source = "assets"
target = "assets" target = "assets"
## content ## content
[[mounts]] [[mounts]]
source = "content" source = "content"
target = "content" target = "content"
## data ## data
[[mounts]] [[mounts]]
source = "node_modules/@thulite/doks-core/data" source = "node_modules/@thulite/doks-core/data"
target = "data" target = "data"
[[mounts]] [[mounts]]
source = "data" source = "data"
target = "data" target = "data"
## i18n ## i18n
[[mounts]] [[mounts]]
source = "node_modules/@thulite/doks-core/i18n" source = "node_modules/@thulite/doks-core/i18n"
target = "i18n" target = "i18n"
[[mounts]] [[mounts]]
source = "i18n" source = "i18n"
target = "i18n" target = "i18n"
## layouts ## layouts
[[mounts]] [[mounts]]
source = "node_modules/@thulite/core/layouts" source = "node_modules/@thulite/core/layouts"
target = "layouts" target = "layouts"
[[mounts]] [[mounts]]
source = "node_modules/@thulite/seo/layouts" source = "node_modules/@thulite/seo/layouts"
target = "layouts" target = "layouts"
[[mounts]] [[mounts]]
source = "node_modules/@thulite/images/layouts" source = "node_modules/@thulite/images/layouts"
target = "layouts" target = "layouts"
[[mounts]] [[mounts]]
source = "node_modules/@thulite/doks-core/layouts" source = "node_modules/@thulite/doks-core/layouts"
target = "layouts" target = "layouts"
[[mounts]] [[mounts]]
source = "node_modules/@thulite/inline-svg/layouts" source = "node_modules/@thulite/inline-svg/layouts"
target = "layouts" target = "layouts"
[[mounts]] [[mounts]]
source = "layouts" source = "layouts"
target = "layouts" target = "layouts"
## static ## static
[[mounts]] [[mounts]]
source = "node_modules/@thulite/doks-core/static" source = "node_modules/@thulite/doks-core/static"
target = "static" target = "static"
[[mounts]] [[mounts]]
source = "static" source = "static"
target = "static" target = "static"

View file

@ -1,138 +1,138 @@
# Hugo # Hugo
title = "My Docs" title = "My Docs"
description = "Congrats on setting up a new Doks project!" description = "Congrats on setting up a new Doks project!"
images = ["cover.png"] images = ["cover.png"]
# mainSections # mainSections
mainSections = ["docs"] mainSections = ["docs"]
[social] [social]
twitter = "getdoks" twitter = "getdoks"
# Doks (@thulite/doks-core) # Doks (@thulite/doks-core)
[doks] [doks]
# Color mode # Color mode
colorMode = "auto" # auto (default), light or dark colorMode = "auto" # auto (default), light or dark
colorModeToggler = true # true (default) or false (this setting is only relevant when colorMode = auto) colorModeToggler = true # true (default) or false (this setting is only relevant when colorMode = auto)
# Navbar # Navbar
navbarSticky = true # true (default) or false navbarSticky = true # true (default) or false
containerBreakpoint = "lg" # "", "sm", "md", "lg" (default), "xl", "xxl", or "fluid" containerBreakpoint = "lg" # "", "sm", "md", "lg" (default), "xl", "xxl", or "fluid"
## Button ## Button
navBarButton = false # false (default) or true navBarButton = false # false (default) or true
navBarButtonUrl = "/docs/prologue/introduction/" navBarButtonUrl = "/docs/prologue/introduction/"
navBarButtonText = "Get started" navBarButtonText = "Get started"
# FlexSearch # FlexSearch
flexSearch = true # true (default) or false flexSearch = true # true (default) or false
searchExclKinds = [] # list of page kinds to exclude from search indexing (e.g. ["home", "taxonomy", "term"] ) searchExclKinds = [] # list of page kinds to exclude from search indexing (e.g. ["home", "taxonomy", "term"] )
searchExclTypes = [] # list of content types to exclude from search indexing (e.g. ["blog", "docs", "legal", "contributors", "categories"]) searchExclTypes = [] # list of content types to exclude from search indexing (e.g. ["blog", "docs", "legal", "contributors", "categories"])
showSearch = [] # [] (all pages, default) or homepage (optionally) and list of sections (e.g. ["homepage", "blog", "guides"]) showSearch = [] # [] (all pages, default) or homepage (optionally) and list of sections (e.g. ["homepage", "blog", "guides"])
indexSummary = false # true or false (default); whether to index only the `.Summary` instead of the full `.Content`; limits the respective JSON field size and thus increases loading time indexSummary = false # true or false (default); whether to index only the `.Summary` instead of the full `.Content`; limits the respective JSON field size and thus increases loading time
## Search results ## Search results
showDate = false # false (default) or true showDate = false # false (default) or true
showSummary = true # true (default) or false showSummary = true # true (default) or false
searchLimit = 99 # 0 (no limit, default) or natural number searchLimit = 99 # 0 (no limit, default) or natural number
# Global alert # Global alert
alert = false # false (default) or true alert = false # false (default) or true
alertDismissable = true # true (default) or false alertDismissable = true # true (default) or false
# Bootstrap # Bootstrap
bootstrapJavascript = false # false (default) or true bootstrapJavascript = false # false (default) or true
# Nav # Nav
sectionNav = ["docs"] # ["docs"] (default) or list of sections (e.g. ["docs", "guides"]) sectionNav = ["docs"] # ["docs"] (default) or list of sections (e.g. ["docs", "guides"])
toTopButton = false # false (default) or true toTopButton = false # false (default) or true
breadcrumbTrail = false # false (default) or true breadcrumbTrail = false # false (default) or true
headlineHash = true # true (default) or false headlineHash = true # true (default) or false
scrollSpy = true # true (default) or false scrollSpy = true # true (default) or false
# Multilingual # Multilingual
multilingualMode = false # false (default) or true multilingualMode = false # false (default) or true
showMissingLanguages = true # whether or not to show untranslated languages in the language menu; true (default) or false showMissingLanguages = true # whether or not to show untranslated languages in the language menu; true (default) or false
# Versioning # Versioning
docsVersioning = false # false (default) or true docsVersioning = false # false (default) or true
docsVersion = "1.0" docsVersion = "1.0"
# UX # UX
headerBar = false # true (default) or false headerBar = false # true (default) or false
backgroundDots = true # true (default) or false backgroundDots = true # true (default) or false
# Homepage # Homepage
sectionFooter = false # false (default) or true sectionFooter = false # false (default) or true
# Blog # Blog
relatedPosts = false # false (default) or true relatedPosts = false # false (default) or true
imageList = true # true (default) or false imageList = true # true (default) or false
imageSingle = true # true (default) or false imageSingle = true # true (default) or false
# Repository # Repository
editPage = false # false (default) or true editPage = false # false (default) or true
lastMod = false # false (default) or true lastMod = false # false (default) or true
repoHost = "GitHub" # GitHub (default), Gitea, GitLab, Bitbucket, or BitbucketServer repoHost = "GitHub" # GitHub (default), Gitea, GitLab, Bitbucket, or BitbucketServer
docsRepo = "https://github.com/h-enk/doks" docsRepo = "https://github.com/h-enk/doks"
docsRepoBranch = "main" # main (default), master, or <branch name> docsRepoBranch = "main" # main (default), master, or <branch name>
docsRepoSubPath = "" # "" (none, default) or <sub path> docsRepoSubPath = "" # "" (none, default) or <sub path>
# SCSS colors # SCSS colors
# backGround = "yellowgreen" # backGround = "yellowgreen"
## Dark theme ## Dark theme
# textDark = "#dee2e6" # "#dee2e6" (default), "#dee2e6" (orignal), or custom color # textDark = "#dee2e6" # "#dee2e6" (default), "#dee2e6" (orignal), or custom color
# accentDark = "#5d2f86" # "#5d2f86" (default), "#5d2f86" (original), or custom color # accentDark = "#5d2f86" # "#5d2f86" (default), "#5d2f86" (original), or custom color
## Light theme ## Light theme
# textLight = "#1d2d35" # "#1d2d35" (default), "#1d2d35" (orignal), or custom color # textLight = "#1d2d35" # "#1d2d35" (default), "#1d2d35" (orignal), or custom color
# accentLight = "#8ed6fb" # "#8ed6fb" (default), "#8ed6fb" (orignal), or custom color # accentLight = "#8ed6fb" # "#8ed6fb" (default), "#8ed6fb" (orignal), or custom color
# [doks.menu] # [doks.menu]
# [doks.menu.section] # [doks.menu.section]
# auto = true # true (default) or false # auto = true # true (default) or false
# collapsibleSidebar = true # true (default) or false # collapsibleSidebar = true # true (default) or false
# Debug # Debug
[render_hooks.image] [render_hooks.image]
errorLevel = 'ignore' # ignore (default), warning, or error (fails the build) errorLevel = 'ignore' # ignore (default), warning, or error (fails the build)
[render_hooks.link] [render_hooks.link]
errorLevel = 'ignore' # ignore (default), warning, or error (fails the build) errorLevel = 'ignore' # ignore (default), warning, or error (fails the build)
highlightBroken = false # true or false (default) highlightBroken = false # true or false (default)
# Images (@thulite/images) # Images (@thulite/images)
[thulite_images] [thulite_images]
[thulite_images.defaults] [thulite_images.defaults]
decoding = "async" # sync, async, or auto (default) decoding = "async" # sync, async, or auto (default)
fetchpriority = "auto" # high, low, or auto (default) fetchpriority = "auto" # high, low, or auto (default)
loading = "lazy" # eager or lazy (default) loading = "lazy" # eager or lazy (default)
widths = [480, 576, 768, 1025, 1200, 1440] # [640, 768, 1024, 1366, 1600, 1920] for example widths = [480, 576, 768, 1025, 1200, 1440] # [640, 768, 1024, 1366, 1600, 1920] for example
sizes = "auto" # 100vw (default), 75vw, or auto for example sizes = "auto" # 100vw (default), 75vw, or auto for example
process = "" # "fill 1600x900" or "fill 2100x900" for example process = "" # "fill 1600x900" or "fill 2100x900" for example
lqip = "16x webp q20" # "16x webp q20" or "21x webp q20" for example lqip = "16x webp q20" # "16x webp q20" or "21x webp q20" for example
# Inline SVG (@thulite/inline-svg) # Inline SVG (@thulite/inline-svg)
[inline_svg] [inline_svg]
iconSetDir = "tabler-icons" # "tabler-icons" (default) iconSetDir = "tabler-icons" # "tabler-icons" (default)
# SEO (@thulite/seo) # SEO (@thulite/seo)
[seo] [seo]
[seo.title] [seo.title]
separator = " | " separator = " | "
suffix = "" suffix = ""
[seo.favicons] [seo.favicons]
sizes = [] sizes = []
icon = "favicon.png" # favicon.png (default) icon = "favicon.png" # favicon.png (default)
svgIcon = "favicon.svg" # favicon.svg (default) svgIcon = "favicon.svg" # favicon.svg (default)
maskIcon = "mask-icon.svg" # mask-icon.svg (default) maskIcon = "mask-icon.svg" # mask-icon.svg (default)
maskIconColor = "white" # white (default) maskIconColor = "white" # white (default)
[seo.schemas] [seo.schemas]
type = "Organization" # Organization (default) or Person type = "Organization" # Organization (default) or Person
logo = "favicon-512x512.png" # Logo of Organization — favicon-512x512.png (default) logo = "favicon-512x512.png" # Logo of Organization — favicon-512x512.png (default)
name = "Thulite" # Name of Organization or Person name = "Thulite" # Name of Organization or Person
sameAs = [] # E.g. ["https://github.com/thuliteio/thulite", "https://fosstodon.org/@thulite"] sameAs = [] # E.g. ["https://github.com/thuliteio/thulite", "https://fosstodon.org/@thulite"]
images = ["cover.png"] # ["cover.png"] (default) images = ["cover.png"] # ["cover.png"] (default)
article = [] # Article sections article = [] # Article sections
newsArticle = [] # NewsArticle sections newsArticle = [] # NewsArticle sections
blogPosting = ["blog"] # BlogPosting sections blogPosting = ["blog"] # BlogPosting sections
product = [] # Product sections product = [] # Product sections

View file

@ -1,17 +1,17 @@
module.exports = { module.exports = {
presets: [ presets: [
[ [
'@babel/preset-env', '@babel/preset-env',
{ {
targets: { targets: {
browsers: [ browsers: [
// Best practice: https://github.com/babel/babel/issues/7789 // Best practice: https://github.com/babel/babel/issues/7789
'>=1%', '>=1%',
'not ie 11', 'not ie 11',
'not op_mini all' 'not op_mini all'
] ]
} }
} }
] ]
] ]
}; };

View file

@ -1,2 +1,2 @@
# Overrides for next environment # Overrides for next environment
baseurl = "/" baseurl = "/"

View file

@ -1,64 +1,64 @@
const autoprefixer = require('autoprefixer'); const autoprefixer = require('autoprefixer');
const purgecss = require('@fullhuman/postcss-purgecss'); const purgecss = require('@fullhuman/postcss-purgecss');
const whitelister = require('purgecss-whitelister'); const whitelister = require('purgecss-whitelister');
module.exports = { module.exports = {
plugins: [ plugins: [
autoprefixer(), autoprefixer(),
purgecss({ purgecss({
content: ['./hugo_stats.json'], content: ['./hugo_stats.json'],
extractors: [ extractors: [
{ {
extractor: (content) => { extractor: (content) => {
const els = JSON.parse(content).htmlElements; const els = JSON.parse(content).htmlElements;
return els.tags.concat(els.classes, els.ids); return els.tags.concat(els.classes, els.ids);
}, },
extensions: ['json'] extensions: ['json']
} }
], ],
dynamicAttributes: [ dynamicAttributes: [
'aria-expanded', 'aria-expanded',
'data-bs-popper', 'data-bs-popper',
'data-bs-target', 'data-bs-target',
'data-bs-theme', 'data-bs-theme',
'data-dark-mode', 'data-dark-mode',
'data-global-alert', 'data-global-alert',
'data-pane', // tabs.js 'data-pane', // tabs.js
'data-popper-placement', 'data-popper-placement',
'data-sizes', 'data-sizes',
'data-toggle-tab', // tabs.js 'data-toggle-tab', // tabs.js
'id', 'id',
'size', 'size',
'type' 'type'
], ],
safelist: [ safelist: [
'active', 'active',
'btn-clipboard', // clipboards.js 'btn-clipboard', // clipboards.js
'clipboard', // clipboards.js 'clipboard', // clipboards.js
'disabled', 'disabled',
'hidden', 'hidden',
'modal-backdrop', // search-modal.js 'modal-backdrop', // search-modal.js
'selected', // search-modal.js 'selected', // search-modal.js
'show', 'show',
'img-fluid', 'img-fluid',
'blur-up', 'blur-up',
'lazyload', 'lazyload',
'lazyloaded', 'lazyloaded',
'alert-link', 'alert-link',
'container-fw ', 'container-fw ',
'container-lg', 'container-lg',
'container-fluid', 'container-fluid',
'offcanvas-backdrop', 'offcanvas-backdrop',
'figcaption', 'figcaption',
'dt', 'dt',
'dd', 'dd',
'showing', 'showing',
'hiding', 'hiding',
'page-item', 'page-item',
'page-link', 'page-link',
'not-content', 'not-content',
...whitelister(['./assets/scss/**/*.scss', './node_modules/@thulite/doks-core/assets/scss/components/_code.scss', './node_modules/@thulite/doks-core/assets/scss/components/_expressive-code.scss', './node_modules/@thulite/doks-core/assets/scss/common/_syntax.scss']) ...whitelister(['./assets/scss/**/*.scss', './node_modules/@thulite/doks-core/assets/scss/components/_code.scss', './node_modules/@thulite/doks-core/assets/scss/components/_expressive-code.scss', './node_modules/@thulite/doks-core/assets/scss/common/_syntax.scss'])
] ]
}) })
] ]
}; };

View file

@ -1,2 +1,2 @@
# Overrides for production environment # Overrides for production environment
baseurl = "/" baseurl = "/"

View file

@ -1,63 +1,63 @@
{{ define "main" }} {{ define "main" }}
<section class="section container-fluid mt-n3 pb-3"> <section class="section container-fluid mt-n3 pb-3">
<div class="row justify-content-center"> <div class="row justify-content-center">
<div class="col-lg-12 text-center"> <div class="col-lg-12 text-center">
<h1>{{ .Title }}</h1> <h1>{{ .Title }}</h1>
</div> </div>
<div class="col-lg-9 col-xl-8 text-center"> <div class="col-lg-9 col-xl-8 text-center">
<p class="lead">{{ .Params.lead | safeHTML }}</p> <p class="lead">{{ .Params.lead | safeHTML }}</p>
<a class="btn btn-primary btn-cta rounded-pill btn-lg my-3" href="/about" role="button">Learn More</a> <a class="btn btn-primary btn-cta rounded-pill btn-lg my-3" href="/about" role="button">Learn More</a>
{{ .Content }} {{ .Content }}
</div> </div>
</div> </div>
</section> </section>
{{ end }} {{ end }}
{{ define "sidebar-prefooter" }} {{ define "sidebar-prefooter" }}
{{ if site.Params.doks.backgroundDots -}} {{ if site.Params.doks.backgroundDots -}}
<div class="d-flex justify-content-start"> <div class="d-flex justify-content-start">
<div class="bg-dots"></div> <div class="bg-dots"></div>
</div> </div>
{{ end -}} {{ end -}}
{{ if eq $.Site.Language.LanguageName "English" }} {{ if eq $.Site.Language.LanguageName "English" }}
<section class="section section-md section-features"> <section class="section section-md section-features">
<div class="container"> <div class="container">
<div class="row justify-content-center text-center"> <div class="row justify-content-center text-center">
<div class="col-lg-5"> <div class="col-lg-5">
<h2 class="h4">Composable and Modular by Design</h2> <h2 class="h4">Composable and Modular by Design</h2>
<p>Snix is architected with a focus on composability. Different components representing different aspects of Nix can be combined and extended freely, allowing it to be tailored to your usecase.</p> <p>Snix is architected with a focus on composability. Different components representing different aspects of Nix can be combined and extended freely, allowing it to be tailored to your usecase.</p>
</div> </div>
<div class="col-lg-5"> <div class="col-lg-5">
<h2 class="h4">Library-first Approach</h2> <h2 class="h4">Library-first Approach</h2>
<p>Designed to be embedded in your project, it opens up the possibility to interact with Nix expressions and concepts more natively than conventional Nix CLI-based tools.</p> <p>Designed to be embedded in your project, it opens up the possibility to interact with Nix expressions and concepts more natively than conventional Nix CLI-based tools.</p>
</div> </div>
<div class="col-lg-5"> <div class="col-lg-5">
<h2 class="h4">Robust Unit Test Coverage</h2> <h2 class="h4">Robust Unit Test Coverage</h2>
<p>Snix has a strong commitment to reliability and compatibility with Nix' behaviour, resulting in an extensive test suite, documentation and regression testing.</p> <p>Snix has a strong commitment to reliability and compatibility with Nix' behaviour, resulting in an extensive test suite, documentation and regression testing.</p>
</div> </div>
<div class="col-lg-5"> <div class="col-lg-5">
<h2 class="h4">Content-addressed Storage model</h2> <h2 class="h4">Content-addressed Storage model</h2>
<p>With its own content-addressed storage engine, Snix can store and exchange store path contents in a much more granular fashion, while providing great deduplication, consistency and integrity across build artifacts and dependencies.</p> <p>With its own content-addressed storage engine, Snix can store and exchange store path contents in a much more granular fashion, while providing great deduplication, consistency and integrity across build artifacts and dependencies.</p>
</div> </div>
<div class="col-lg-5"> <div class="col-lg-5">
<h2 class="h4">Interoperability with Nix</h2> <h2 class="h4">Interoperability with Nix</h2>
<p>While potentially doing thing differently underneath, it provides a "Nix-compatible surface". This results in nixpkgs compatibility, allowing to produce the same build expressions as Nix, bit-by-bit, and interoperability with existing Nix binary caches.</p> <p>While potentially doing thing differently underneath, it provides a "Nix-compatible surface". This results in nixpkgs compatibility, allowing to produce the same build expressions as Nix, bit-by-bit, and interoperability with existing Nix binary caches.</p>
</div> </div>
</div> </div>
</div> </div>
</section> </section>
{{ end }} {{ end }}
{{ end }} {{ end }}
{{ define "sidebar-footer" }} {{ define "sidebar-footer" }}
{{ if site.Params.doks.sectionFooter -}} {{ if site.Params.doks.sectionFooter -}}
<section class="section section-md container-fluid bg-light"> <section class="section section-md container-fluid bg-light">
<div class="row justify-content-center text-center"> <div class="row justify-content-center text-center">
<div class="col-lg-7"> <div class="col-lg-7">
<h2 class="mt-2">Start building with Doks today</h2> <h2 class="mt-2">Start building with Doks today</h2>
<a class="btn btn-primary rounded-pill px-4 my-2" href="/docs/{{ if site.Params.doks.docsVersioning }}{{ site.Params.doks.docsVersion }}/{{ end }}prologue/introduction/" role="button">{{ i18n "get-started" }}</a> <a class="btn btn-primary rounded-pill px-4 my-2" href="/docs/{{ if site.Params.doks.docsVersioning }}{{ site.Params.doks.docsVersion }}/{{ end }}prologue/introduction/" role="button">{{ i18n "get-started" }}</a>
</div> </div>
</div> </div>
</section> </section>
{{ end -}} {{ end -}}
{{ end }} {{ end }}

View file

@ -1,13 +1,13 @@
{{/* Put your custom <script></script> tags here */}} {{/* Put your custom <script></script> tags here */}}
{{/* EXAMPLE - only load script for production {{/* EXAMPLE - only load script for production
{{ if eq (hugo.Environment) "production" -}} {{ if eq (hugo.Environment) "production" -}}
{{ partial "footer/esbuild" (dict "src" "js/instantpage.js" "load" "async" "transpile" false) -}} {{ partial "footer/esbuild" (dict "src" "js/instantpage.js" "load" "async" "transpile" false) -}}
{{ end -}} {{ end -}}
*/}} */}}
{{/* EXAMPLE - only load script for a page type e.g. contact or gallery {{/* EXAMPLE - only load script for a page type e.g. contact or gallery
{{ if eq .Type "gallery" -}} {{ if eq .Type "gallery" -}}
{{ partial "footer/esbuild" (dict "src" "js/gallery.js" "load" "async" "transpile" false) -}} {{ partial "footer/esbuild" (dict "src" "js/gallery.js" "load" "async" "transpile" false) -}}
{{ end -}} {{ end -}}
*/}} */}}

View file

@ -1 +1 @@
<!-- Custom head --> <!-- Custom head -->

View file

@ -1 +1 @@
<!-- Insert scripts NOT needed by stylesheets here --> <!-- Insert scripts NOT needed by stylesheets here -->

View file

@ -1,49 +1,49 @@
[build] [build]
publish = "public" publish = "public"
functions = "functions" functions = "functions"
[build.environment] [build.environment]
NODE_VERSION = "20.11.0" NODE_VERSION = "20.11.0"
NPM_VERSION = "10.2.4" NPM_VERSION = "10.2.4"
HUGO_VERSION = "0.125.1" HUGO_VERSION = "0.125.1"
[context.production] [context.production]
command = "npm run build" command = "npm run build"
[context.deploy-preview] [context.deploy-preview]
command = "npm run build" command = "npm run build"
[context.branch-deploy] [context.branch-deploy]
command = "npm run build" command = "npm run build"
[context.next] [context.next]
command = "npm run build" command = "npm run build"
[context.next.environment] [context.next.environment]
HUGO_ENV = "next" HUGO_ENV = "next"
[dev] [dev]
framework = "#custom" framework = "#custom"
command = "npm run dev" command = "npm run dev"
targetPort = 1313 targetPort = 1313
port = 8888 port = 8888
publish = "public" publish = "public"
autoLaunch = false autoLaunch = false
# Redirects and rewrites — https://docs.netlify.com/routing/redirects/#syntax-for-the-netlify-configuration-file # Redirects and rewrites — https://docs.netlify.com/routing/redirects/#syntax-for-the-netlify-configuration-file
# Custom headers — https://docs.netlify.com/routing/headers/#syntax-for-the-netlify-configuration-file # Custom headers — https://docs.netlify.com/routing/headers/#syntax-for-the-netlify-configuration-file
[[headers]] [[headers]]
for = "/*" for = "/*"
[headers.values] [headers.values]
Strict-Transport-Security = "max-age=31536000; includeSubDomains; preload" Strict-Transport-Security = "max-age=31536000; includeSubDomains; preload"
X-Content-Type-Options = "nosniff" X-Content-Type-Options = "nosniff"
X-XSS-Protection = "1; mode=block" X-XSS-Protection = "1; mode=block"
Content-Security-Policy = "default-src 'self'; manifest-src 'self'; connect-src 'self'; font-src 'self'; img-src 'self' https://avatars.githubusercontent.com data:; script-src 'self' 'nonce-dXNlcj0iaGVsbG8iLGRvbWFpbj0iaGVua3ZlcmxpbmRlLmNvbSIsZG9jdW1lbnQud3JpdGUodXNlcisiQCIrZG9tYWluKTs=' 'sha256-aWZ3y/RxbBYKHXH0z8+8ljrHG1mSBvyzSfxSMjBSaXk='; style-src 'self'" Content-Security-Policy = "default-src 'self'; manifest-src 'self'; connect-src 'self'; font-src 'self'; img-src 'self' https://avatars.githubusercontent.com data:; script-src 'self' 'nonce-dXNlcj0iaGVsbG8iLGRvbWFpbj0iaGVua3ZlcmxpbmRlLmNvbSIsZG9jdW1lbnQud3JpdGUodXNlcisiQCIrZG9tYWluKTs=' 'sha256-aWZ3y/RxbBYKHXH0z8+8ljrHG1mSBvyzSfxSMjBSaXk='; style-src 'self'"
X-Frame-Options = "SAMEORIGIN" X-Frame-Options = "SAMEORIGIN"
Referrer-Policy = "strict-origin" Referrer-Policy = "strict-origin"
Permissions-Policy = "geolocation=(self), microphone=(), camera=()" Permissions-Policy = "geolocation=(self), microphone=(), camera=()"
Cache-Control= ''' Cache-Control= '''
public, public,
max-age=31536000''' max-age=31536000'''
Access-Control-Allow-Origin = "*" Access-Control-Allow-Origin = "*"