chore(snix): format TOML files

Change-Id: I4c5bf0a378c69a2a22097000583b1abcee089190
Reviewed-on: https://cl.snix.dev/c/snix/+/30602
Tested-by: besadii
Autosubmit: Florian Klink <flokli@flokli.de>
Reviewed-by: Yureka <snix@yuka.dev>
This commit is contained in:
Florian Klink 2025-07-13 13:43:57 +03:00 committed by clbot
parent fa2ea97ef3
commit 90eabc9ae0
26 changed files with 413 additions and 334 deletions

View file

@ -16,8 +16,12 @@ bytes = "1.6.1"
futures = "0.3.29" futures = "0.3.29"
tokio = { version = "1.37.0", features = ["full"] } tokio = { version = "1.37.0", features = ["full"] }
rusoto_core = { version = "0.48.0", default-features = false, features = ["hyper-rustls"] } rusoto_core = { version = "0.48.0", default-features = false, features = [
rusoto_s3 = { version = "0.48.0", default-features = false, features = ["rustls"] } "hyper-rustls",
] }
rusoto_s3 = { version = "0.48.0", default-features = false, features = [
"rustls",
] }
nix-compat = { version = "0.1.0", path = "../../snix/nix-compat" } nix-compat = { version = "0.1.0", path = "../../snix/nix-compat" }
sled = "0.34.7" sled = "0.34.7"
@ -31,7 +35,12 @@ bzip2 = "0.4.4"
xz2 = "0.1.7" xz2 = "0.1.7"
zstd = "0.13.0" zstd = "0.13.0"
prost = "0.12.2" prost = "0.12.2"
polars = { version = "0.35.4", default-features = false, features = ["parquet", "lazy", "sql", "dtype-struct"] } polars = { version = "0.35.4", default-features = false, features = [
"parquet",
"lazy",
"sql",
"dtype-struct",
] }
indicatif = "0.17.7" indicatif = "0.17.7"
clap = { version = "4.4.18", features = ["derive"] } clap = { version = "4.4.18", features = ["derive"] }

View file

@ -21,8 +21,4 @@ hashbrown = { version = "0.14.5", features = ["raw"] }
[dependencies.polars] [dependencies.polars]
version = "0.36.2" version = "0.36.2"
default-features = false default-features = false
features = [ features = ["parquet", "polars-io", "dtype-categorical"]
"parquet",
"polars-io",
"dtype-categorical"
]

View file

@ -8,7 +8,9 @@ edition = "2024"
members = ["."] members = ["."]
[dependencies] [dependencies]
aws_lambda_events = { version = "0.11.1", default-features = false, features = ["lambda_function_urls"] } aws_lambda_events = { version = "0.11.1", default-features = false, features = [
"lambda_function_urls",
] }
bytes = "1.5.0" bytes = "1.5.0"
data-encoding = "2.6.0" data-encoding = "2.6.0"
futures = { version = "0.3.30", default-features = false, features = ["std"] } futures = { version = "0.3.30", default-features = false, features = ["std"] }
@ -16,8 +18,12 @@ httparse = "1.8.0"
hyper = { version = "0.14.27", default-features = false } hyper = { version = "0.14.27", default-features = false }
lambda_runtime = "0.8.2" lambda_runtime = "0.8.2"
magic-buffer = "0.1.1" magic-buffer = "0.1.1"
rusoto_core = { version = "0.48.0", features = ["rustls"], default-features = false } rusoto_core = { version = "0.48.0", features = [
rusoto_s3 = { version = "0.48.0", features = ["rustls"], default-features = false } "rustls",
], default-features = false }
rusoto_s3 = { version = "0.48.0", features = [
"rustls",
], default-features = false }
serde_json = "1.0.108" serde_json = "1.0.108"
serde = { version = "1.0.190", features = ["derive"] } serde = { version = "1.0.190", features = ["derive"] }
tokio = { version = "1.33.0", features = ["full"] } tokio = { version = "1.33.0", features = ["full"] }

View file

@ -112,7 +112,8 @@ reqwest = { version = "0.12.7", default-features = false }
reqwest-middleware = { version = "0.4.1", default-features = false } reqwest-middleware = { version = "0.4.1", default-features = false }
reqwest-tracing = { version = "0.5.6", default-features = false } reqwest-tracing = { version = "0.5.6", default-features = false }
rnix = "0.11.0" rnix = "0.11.0"
rowan = "0.15" # keep in sync with rnix # keep in sync with rnix
rowan = "0.15"
rstest = "0.19.0" rstest = "0.19.0"
rstest_reuse = "0.6.0" rstest_reuse = "0.6.0"
rustc-hash = "2.0.0" rustc-hash = "2.0.0"

View file

@ -13,7 +13,7 @@ tokio = { workspace = true, features = ["process"] }
tokio-listener = { workspace = true, features = ["tonic012"] } tokio-listener = { workspace = true, features = ["tonic012"] }
tonic = { workspace = true, features = ["tls", "tls-roots"] } tonic = { workspace = true, features = ["tls", "tls-roots"] }
# TODO: put the fuse dep behind a feature flag? # TODO: put the fuse dep behind a feature flag?
snix-castore = { path = "../castore", features = ["fuse"]} snix-castore = { path = "../castore", features = ["fuse"] }
tracing.workspace = true tracing.workspace = true
url.workspace = true url.workspace = true
mimalloc.workspace = true mimalloc.workspace = true

View file

@ -12,8 +12,13 @@ clap = { workspace = true, features = ["derive"] }
mime_guess = "2.0.5" mime_guess = "2.0.5"
mime = "0.3.17" mime = "0.3.17"
path-clean.workspace = true path-clean.workspace = true
tokio = { workspace = true, features = [ "tracing"] } tokio = { workspace = true, features = ["tracing"] }
tokio-listener = { workspace = true, features = ["axum07", "clap", "multi-listener", "sd_listen"] } tokio-listener = { workspace = true, features = [
"axum07",
"clap",
"multi-listener",
"sd_listen",
] }
tracing.workspace = true tracing.workspace = true
tracing-subscriber.workspace = true tracing-subscriber.workspace = true
tokio-util.workspace = true tokio-util.workspace = true

View file

@ -23,7 +23,14 @@ thiserror.workspace = true
tokio-stream = { workspace = true, features = ["fs", "net"] } tokio-stream = { workspace = true, features = ["fs", "net"] }
tokio-util = { workspace = true, features = ["io", "io-util", "codec"] } tokio-util = { workspace = true, features = ["io", "io-util", "codec"] }
tokio-tar.workspace = true tokio-tar.workspace = true
tokio = { workspace = true, features = ["fs", "macros", "net", "rt", "rt-multi-thread", "signal"] } tokio = { workspace = true, features = [
"fs",
"macros",
"net",
"rt",
"rt-multi-thread",
"signal",
] }
toml = { version = "0.8.19", optional = true } toml = { version = "0.8.19", optional = true }
tonic.workspace = true tonic.workspace = true
tower.workspace = true tower.workspace = true

View file

@ -9,7 +9,7 @@ path = "src/main.rs"
[dependencies] [dependencies]
snix-build = { path = "../build" } snix-build = { path = "../build" }
snix-store = { path = "../store", default-features = false, features = []} snix-store = { path = "../store", default-features = false, features = [] }
snix-eval = { path = "../eval" } snix-eval = { path = "../eval" }
snix-glue = { path = "../glue" } snix-glue = { path = "../glue" }
snix-tracing = { path = "../tracing" } snix-tracing = { path = "../tracing" }

View file

@ -4,5 +4,5 @@ ignore-interior-mutability = [
# make sure to specify the originating type name, not re-exports! # make sure to specify the originating type name, not re-exports!
"bytes::Bytes", "bytes::Bytes",
"snix_castore::digests::B3Digest", "snix_castore::digests::B3Digest",
"snix_castore::path::component::PathComponent" "snix_castore::path::component::PathComponent",
] ]

View file

@ -18,7 +18,11 @@ itertools.workspace = true
lexical-core = { workspace = true, features = ["format", "parse-floats"] } lexical-core = { workspace = true, features = ["format", "parse-floats"] }
os_str_bytes = { workspace = true, features = ["conversions"] } os_str_bytes = { workspace = true, features = ["conversions"] }
path-clean.workspace = true path-clean.workspace = true
proptest = { workspace = true, features = ["std", "alloc", "tempfile"], optional = true } proptest = { workspace = true, features = [
"std",
"alloc",
"tempfile",
], optional = true }
regex.workspace = true regex.workspace = true
rnix.workspace = true rnix.workspace = true
rowan.workspace = true # pinned by rnix rowan.workspace = true # pinned by rnix

View file

@ -1,11 +1,18 @@
[package] [package]
name = "snix-eval-builtin-macros" name = "snix-eval-builtin-macros"
version = "0.0.1" version = "0.0.1"
authors = [ "Griffin Smith <root@gws.fyi>" ] authors = ["Griffin Smith <root@gws.fyi>"]
edition = "2021" edition = "2021"
[dependencies] [dependencies]
syn = { version = "1.0.109", features = ["full", "parsing", "printing", "visit", "visit-mut", "extra-traits"] } syn = { version = "1.0.109", features = [
"full",
"parsing",
"printing",
"visit",
"visit-mut",
"extra-traits",
] }
quote.workspace = true quote.workspace = true
proc-macro2.workspace = true proc-macro2.workspace = true

View file

@ -19,10 +19,17 @@ nix-compat = { path = "../nix-compat", features = ["async"] }
opentelemetry.workspace = true opentelemetry.workspace = true
thiserror.workspace = true thiserror.workspace = true
tokio.workspace = true tokio.workspace = true
tokio-listener = { workspace = true, features = ["axum07", "clap", "multi-listener", "sd_listen"] } tokio-listener = { workspace = true, features = [
"axum07",
"clap",
"multi-listener",
"sd_listen",
] }
tokio-util = { workspace = true, features = ["io", "io-util", "compat"] } tokio-util = { workspace = true, features = ["io", "io-util", "compat"] }
tonic = { workspace = true, features = ["tls", "tls-roots"] } tonic = { workspace = true, features = ["tls", "tls-roots"] }
tower-otel-http-metrics = { workspace = true, features = ["axum"], optional = true } tower-otel-http-metrics = { workspace = true, features = [
"axum",
], optional = true }
snix-castore = { path = "../castore" } snix-castore = { path = "../castore" }
snix-store = { path = "../store" } snix-store = { path = "../store" }
snix-tracing = { path = "../tracing", features = ["tonic", "axum"] } snix-tracing = { path = "../tracing", features = ["tonic", "axum"] }

View file

@ -12,7 +12,14 @@ nix-compat = { path = "../nix-compat" }
snix-castore = { path = "../castore" } snix-castore = { path = "../castore" }
snix-store = { path = "../store" } snix-store = { path = "../store" }
snix-tracing = { path = "../tracing" } snix-tracing = { path = "../tracing" }
tokio = { workspace = true, features = ["fs", "macros", "net", "rt", "rt-multi-thread", "signal"] } tokio = { workspace = true, features = [
"fs",
"macros",
"net",
"rt",
"rt-multi-thread",
"signal",
] }
tokio-listener.workspace = true tokio-listener.workspace = true
tracing.workspace = true tracing.workspace = true

View file

@ -5,7 +5,13 @@ edition = "2024"
[dependencies] [dependencies]
anyhow.workspace = true anyhow.workspace = true
async-compression = { workspace = true, features = ["tokio", "bzip2", "gzip", "xz", "zstd"] } async-compression = { workspace = true, features = [
"tokio",
"bzip2",
"gzip",
"xz",
"zstd",
] }
async-stream.workspace = true async-stream.workspace = true
blake3 = { workspace = true, features = ["rayon", "std"] } blake3 = { workspace = true, features = ["rayon", "std"] }
bstr.workspace = true bstr.workspace = true
@ -27,8 +33,20 @@ sha1.workspace = true
sha2.workspace = true sha2.workspace = true
md-5.workspace = true md-5.workspace = true
thiserror.workspace = true thiserror.workspace = true
tokio = { workspace = true, features = ["fs", "macros", "net", "rt", "rt-multi-thread", "signal"] } tokio = { workspace = true, features = [
tokio-listener = { workspace = true, features = ["clap", "multi-listener", "sd_listen", "tonic012"] } "fs",
"macros",
"net",
"rt",
"rt-multi-thread",
"signal",
] }
tokio-listener = { workspace = true, features = [
"clap",
"multi-listener",
"sd_listen",
"tonic012",
] }
tokio-stream = { workspace = true, features = ["fs"] } tokio-stream = { workspace = true, features = ["fs"] }
tokio-util = { workspace = true, features = ["io", "io-util", "compat"] } tokio-util = { workspace = true, features = ["io", "io-util", "compat"] }
tonic = { workspace = true, features = ["tls", "tls-roots"] } tonic = { workspace = true, features = ["tls", "tls-roots"] }
@ -67,10 +85,7 @@ hex-literal.workspace = true
[features] [features]
default = ["cloud", "fuse", "otlp", "tonic-reflection"] default = ["cloud", "fuse", "otlp", "tonic-reflection"]
cloud = [ cloud = ["dep:bigtable_rs", "snix-castore/cloud"]
"dep:bigtable_rs",
"snix-castore/cloud"
]
fuse = ["snix-castore/fuse"] fuse = ["snix-castore/fuse"]
otlp = ["snix-tracing/otlp"] otlp = ["snix-tracing/otlp"]
tonic-reflection = ["dep:tonic-reflection", "snix-castore/tonic-reflection"] tonic-reflection = ["dep:tonic-reflection", "snix-castore/tonic-reflection"]

View file

@ -4,7 +4,10 @@ version = "0.1.0"
edition = "2024" edition = "2024"
[dependencies] [dependencies]
tracing = { workspace = true, features = ["max_level_trace", "release_max_level_debug"] } tracing = { workspace = true, features = [
"max_level_trace",
"release_max_level_debug",
] }
tracing-subscriber = { workspace = true, features = ["env-filter"] } tracing-subscriber = { workspace = true, features = ["env-filter"] }
indicatif.workspace = true indicatif.workspace = true
tracing-indicatif.workspace = true tracing-indicatif.workspace = true
@ -13,9 +16,15 @@ thiserror.workspace = true
tracing-opentelemetry = { workspace = true, optional = true } tracing-opentelemetry = { workspace = true, optional = true }
opentelemetry = { workspace = true, optional = true } opentelemetry = { workspace = true, optional = true }
opentelemetry-otlp = { workspace = true, features = ["grpc-tonic"], optional = true } opentelemetry-otlp = { workspace = true, features = [
opentelemetry_sdk = { workspace = true, features = ["rt-tokio"], optional = true } "grpc-tonic",
tracing-tracy = { workspace = true, features = ["flush-on-exit"], optional = true } ], optional = true }
opentelemetry_sdk = { workspace = true, features = [
"rt-tokio",
], optional = true }
tracing-tracy = { workspace = true, features = [
"flush-on-exit",
], optional = true }
opentelemetry-http = { workspace = true, optional = true } opentelemetry-http = { workspace = true, optional = true }
opentelemetry-semantic-conventions = { workspace = true, optional = true } opentelemetry-semantic-conventions = { workspace = true, optional = true }
@ -37,19 +46,7 @@ otlp = [
"dep:opentelemetry-semantic-conventions", "dep:opentelemetry-semantic-conventions",
"reqwest-tracing?/opentelemetry_0_28", "reqwest-tracing?/opentelemetry_0_28",
] ]
tracy = [ tracy = ["dep:tracing-tracy"]
"dep:tracing-tracy" tonic = ["dep:tonic", "dep:http"]
] reqwest = ["dep:reqwest-tracing"]
tonic = [ axum = ["dep:axum"]
"dep:tonic",
"dep:http",
]
reqwest = [
"dep:reqwest-tracing",
]
axum = [
"dep:axum",
]
[lints]
workspace = true

View file

@ -20,6 +20,11 @@ let
command = "${pkgs.rustfmt}/bin/rustfmt" command = "${pkgs.rustfmt}/bin/rustfmt"
includes = [ "*.rs" ] includes = [ "*.rs" ]
[formatter.toml]
command = "${pkgs.taplo}/bin/taplo"
options = [ "format" ]
includes = [ "*.toml" ]
[formatter.editorconfig] [formatter.editorconfig]
command = "${pkgs.editorconfig-checker}/bin/editorconfig-checker" command = "${pkgs.editorconfig-checker}/bin/editorconfig-checker"
includes = [ includes = [

View file

@ -20,67 +20,67 @@ 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

@ -17,37 +17,37 @@
# url = "/docs/lorem/" # url = "/docs/lorem/"
[[guide]] [[guide]]
name = "Lorem" name = "Lorem"
weight = 10 weight = 10
identifier = "lorem" identifier = "lorem"
url = "/guide/lorem/" url = "/guide/lorem/"
[[tutorial]] [[tutorial]]
name = "Lorem" name = "Lorem"
weight = 10 weight = 10
identifier = "lorem" identifier = "lorem"
url = "/tutorial/lorem/" url = "/tutorial/lorem/"
[[main]] [[main]]
name = "About" name = "About"
url = "/about/" url = "/about/"
weight = 10 weight = 10
[[main]] [[main]]
name = "Docs" name = "Docs"
url = "/docs/components/architecture/" url = "/docs/components/architecture/"
# url = "/docs/1.0/prologue/introduction/" # url = "/docs/1.0/prologue/introduction/"
weight = 20 weight = 20
[[main]] [[main]]
name = "Blog" name = "Blog"
url = "/blog/" url = "/blog/"
weight = 30 weight = 30
[[main]] [[main]]
name = "Contact" name = "Contact"
url = "/contact/" url = "/contact/"
weight = 31 weight = 31
# [[social]] # [[social]]
# name = "X" # name = "X"
@ -62,22 +62,22 @@
# weight = 20 # weight = 20
[[social]] [[social]]
name = "Gerrit" name = "Gerrit"
pre = '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-brand-git"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M16 12m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0" /><path d="M12 8m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0" /><path d="M12 16m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0" /><path d="M12 15v-6" /><path d="M15 11l-2 -2" /><path d="M11 7l-1.9 -1.9" /><path d="M13.446 2.6l7.955 7.954a2.045 2.045 0 0 1 0 2.892l-7.955 7.955a2.045 2.045 0 0 1 -2.892 0l-7.955 -7.955a2.045 2.045 0 0 1 0 -2.892l7.955 -7.955a2.045 2.045 0 0 1 2.892 0z" /></svg>' pre = '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-brand-git"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M16 12m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0" /><path d="M12 8m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0" /><path d="M12 16m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0" /><path d="M12 15v-6" /><path d="M15 11l-2 -2" /><path d="M11 7l-1.9 -1.9" /><path d="M13.446 2.6l7.955 7.954a2.045 2.045 0 0 1 0 2.892l-7.955 7.955a2.045 2.045 0 0 1 -2.892 0l-7.955 -7.955a2.045 2.045 0 0 1 0 -2.892l7.955 -7.955a2.045 2.045 0 0 1 2.892 0z" /></svg>'
url = "https://cl.snix.dev" url = "https://cl.snix.dev"
weight = 30 weight = 30
[[social]] [[social]]
name = "Code" name = "Code"
pre = '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-code"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M7 8l-4 4l4 4" /><path d="M17 8l4 4l-4 4" /><path d="M14 4l-4 16" /></svg>' pre = '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-code"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M7 8l-4 4l4 4" /><path d="M17 8l4 4l-4 4" /><path d="M14 4l-4 16" /></svg>'
url = "https://git.snix.dev/snix/snix" url = "https://git.snix.dev/snix/snix"
weight = 31 weight = 31
[[social]] [[social]]
name = "Rustdoc" name = "Rustdoc"
pre = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" id="Cubes--Streamline-Font-Awesome" height="16" width="16"><desc>Cubes Streamline Icon: https://streamlinehq.com</desc><!--! Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="m8.074847222222221 2.352027777777778 2.133852777777778 0.8083611111111111 -2.210061111111111 0.849186111111111 -2.210061111111111 -0.849186111111111 2.133852777777778 -0.8083611111111111c0.04899166666666666 -0.019049999999999997 0.10342499999999999 -0.019049999999999997 0.15513888888888888 0Zm-4.213266666666667 1.19485v3.0538027777777774c-0.03538333333333333 0.010886111111111112 -0.07076666666666666 0.021772222222222224 -0.10615 0.03538333333333333l-2.6128777777777774 0.9907166666666666C0.5519333333333333 7.8499638888888885 0.15999999999999998 8.418808333333333 0.15999999999999998 9.050255555555553v3.244325c0 0.6042277777777777 0.35655 1.1513 0.9117861111111111 1.3962583333333334l2.6128805555555554 1.1485777777777777c0.39193055555555556 0.17146944444444445 0.8355777777777778 0.17146944444444445 1.2275083333333332 0l3.086463888888889 -1.3581527777777778 3.089186111111111 1.3581527777777778c0.3919333333333333 0.17146944444444445 0.8355777777777778 0.17146944444444445 1.2275083333333332 0l2.6128805555555554 -1.1485777777777777c0.5525166666666667 -0.2422361111111111 0.9117861111111111 -0.7920305555555556 0.9117861111111111 -1.3962583333333334V9.050255555555553c0 -0.6341694444444445 -0.39193055555555556 -1.2002916666666668 -0.9825527777777776 -1.4261972222222221l-2.6128777777777774 -0.9907166666666666c-0.03538333333333333 -0.013608333333333333 -0.07076666666666666 -0.024497222222222222 -0.10615 -0.03538333333333333V3.5468777777777776c0 -0.6341694444444445 -0.39193055555555556 -1.2002916666666668 -0.9825499999999999 -1.4261972222222221l-2.6128805555555554 -0.9907166666666666c-0.3483833333333333 -0.13064444444444442 -0.73215 -0.13064444444444442 -1.0805333333333333 0l-2.6128805555555554 0.9907166666666666c-0.5960638888888888 0.22590555555555555 -0.9879944444444444 0.79475 -0.9879944444444444 1.4261972222222221Zm6.967677777777777 3.2143861111111107 -2.242722222222222 0.849186111111111v-2.4278027777777775l2.242722222222222 -0.8600722222222221v2.4386888888888887Zm-6.455988888888889 1.0968638888888889 2.13385 0.8083611111111111 -2.210061111111111 0.8464638888888888 -2.2100583333333335 -0.8464638888888888 2.13385 -0.8083611111111111c0.04899166666666666 -0.019052777777777776 0.10342777777777777 -0.019052777777777776 0.15513888888888888 0Zm0.5116888888888889 5.563258333333333V10.686027777777777l2.242722222222222 -0.860075V12.43611111111111l-2.242722222222222 0.985275Zm6.739052777777777 -5.563258333333333c0.04898888888888889 -0.019052777777777776 0.10342499999999999 -0.019052777777777776 0.15513888888888888 0l2.13385 0.8083611111111111 -2.2127805555555553 0.8464638888888888 -2.210061111111111 -0.8464638888888888 2.13385 -0.8083611111111111Zm2.776183333333333 4.635141666666667 -2.112077777777778 0.9281166666666666V10.686027777777777l2.242722222222222 -0.860075v2.4686277777777774c0 0.08709722222222221 -0.051713888888888886 0.16330555555555554 -0.13064444444444442 0.1986888888888889Z" fill="currentColor" stroke-width="0.0278"></path></svg>' pre = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" id="Cubes--Streamline-Font-Awesome" height="16" width="16"><desc>Cubes Streamline Icon: https://streamlinehq.com</desc><!--! Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="m8.074847222222221 2.352027777777778 2.133852777777778 0.8083611111111111 -2.210061111111111 0.849186111111111 -2.210061111111111 -0.849186111111111 2.133852777777778 -0.8083611111111111c0.04899166666666666 -0.019049999999999997 0.10342499999999999 -0.019049999999999997 0.15513888888888888 0Zm-4.213266666666667 1.19485v3.0538027777777774c-0.03538333333333333 0.010886111111111112 -0.07076666666666666 0.021772222222222224 -0.10615 0.03538333333333333l-2.6128777777777774 0.9907166666666666C0.5519333333333333 7.8499638888888885 0.15999999999999998 8.418808333333333 0.15999999999999998 9.050255555555553v3.244325c0 0.6042277777777777 0.35655 1.1513 0.9117861111111111 1.3962583333333334l2.6128805555555554 1.1485777777777777c0.39193055555555556 0.17146944444444445 0.8355777777777778 0.17146944444444445 1.2275083333333332 0l3.086463888888889 -1.3581527777777778 3.089186111111111 1.3581527777777778c0.3919333333333333 0.17146944444444445 0.8355777777777778 0.17146944444444445 1.2275083333333332 0l2.6128805555555554 -1.1485777777777777c0.5525166666666667 -0.2422361111111111 0.9117861111111111 -0.7920305555555556 0.9117861111111111 -1.3962583333333334V9.050255555555553c0 -0.6341694444444445 -0.39193055555555556 -1.2002916666666668 -0.9825527777777776 -1.4261972222222221l-2.6128777777777774 -0.9907166666666666c-0.03538333333333333 -0.013608333333333333 -0.07076666666666666 -0.024497222222222222 -0.10615 -0.03538333333333333V3.5468777777777776c0 -0.6341694444444445 -0.39193055555555556 -1.2002916666666668 -0.9825499999999999 -1.4261972222222221l-2.6128805555555554 -0.9907166666666666c-0.3483833333333333 -0.13064444444444442 -0.73215 -0.13064444444444442 -1.0805333333333333 0l-2.6128805555555554 0.9907166666666666c-0.5960638888888888 0.22590555555555555 -0.9879944444444444 0.79475 -0.9879944444444444 1.4261972222222221Zm6.967677777777777 3.2143861111111107 -2.242722222222222 0.849186111111111v-2.4278027777777775l2.242722222222222 -0.8600722222222221v2.4386888888888887Zm-6.455988888888889 1.0968638888888889 2.13385 0.8083611111111111 -2.210061111111111 0.8464638888888888 -2.2100583333333335 -0.8464638888888888 2.13385 -0.8083611111111111c0.04899166666666666 -0.019052777777777776 0.10342777777777777 -0.019052777777777776 0.15513888888888888 0Zm0.5116888888888889 5.563258333333333V10.686027777777777l2.242722222222222 -0.860075V12.43611111111111l-2.242722222222222 0.985275Zm6.739052777777777 -5.563258333333333c0.04898888888888889 -0.019052777777777776 0.10342499999999999 -0.019052777777777776 0.15513888888888888 0l2.13385 0.8083611111111111 -2.2127805555555553 0.8464638888888888 -2.210061111111111 -0.8464638888888888 2.13385 -0.8083611111111111Zm2.776183333333333 4.635141666666667 -2.112077777777778 0.9281166666666666V10.686027777777777l2.242722222222222 -0.860075v2.4686277777777774c0 0.08709722222222221 -0.051713888888888886 0.16330555555555554 -0.13064444444444442 0.1986888888888889Z" fill="currentColor" stroke-width="0.0278"></path></svg>'
url = "https://snix.dev/rustdoc" url = "https://snix.dev/rustdoc"
weight = 32 weight = 32
# [[sidebar_docs]] # [[sidebar_docs]]
# name = "Guides" # name = "Guides"

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

@ -7,132 +7,145 @@ images = ["cover.png"]
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 = [
searchExclTypes = [] # list of content types to exclude from search indexing (e.g. ["blog", "docs", "legal", "contributors", "categories"]) ] # list of page kinds to exclude from search indexing (e.g. ["home", "taxonomy", "term"] )
showSearch = [] # [] (all pages, default) or homepage (optionally) and list of sections (e.g. ["homepage", "blog", "guides"]) searchExclTypes = [
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 ] # 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"])
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 = [
toTopButton = false # false (default) or true "docs",
breadcrumbTrail = false # false (default) or true ] # ["docs"] (default) or list of sections (e.g. ["docs", "guides"])
headlineHash = true # true (default) or false toTopButton = false # false (default) or true
scrollSpy = true # true (default) or false breadcrumbTrail = false # false (default) or true
headlineHash = 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 = [
sizes = "auto" # 100vw (default), 75vw, or auto for example 480,
process = "" # "fill 1600x900" or "fill 2100x900" for example 576,
lqip = "16x webp q20" # "16x webp q20" or "21x webp q20" for example 768,
1025,
1200,
1440,
] # [640, 768, 1024, 1366, 1600, 1920] for example
sizes = "auto" # 100vw (default), 75vw, or auto for example
process = "" # "fill 1600x900" or "fill 2100x900" 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 = [
images = ["cover.png"] # ["cover.png"] (default) ] # E.g. ["https://github.com/thuliteio/thulite", "https://fosstodon.org/@thulite"]
article = [] # Article sections images = ["cover.png"] # ["cover.png"] (default)
newsArticle = [] # NewsArticle sections article = [] # Article sections
blogPosting = ["blog"] # BlogPosting sections newsArticle = [] # NewsArticle sections
product = [] # Product sections blogPosting = ["blog"] # BlogPosting sections
product = [] # Product sections

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 = "*"