From 7af58fe829e71b96b2725d0627924b182320d97e Mon Sep 17 00:00:00 2001 From: aleidk Date: Thu, 26 Dec 2024 13:18:50 -0300 Subject: [PATCH] feat(website): add content structure files --- packages/website/_scripts/build.ts | 45 +++++++++++++++---- packages/website/config.toml | 4 ++ packages/website/content/_index.md | 1 + packages/website/content/components/_index.md | 6 +++ .../website/content/components/accordion.md | 6 +++ .../website/content/components/dropdown.md | 6 +++ packages/website/content/components/modal.md | 6 +++ .../website/content/components/offcanvas.md | 6 +++ packages/website/content/components/tabs.md | 6 +++ .../website/content/components/tooltip.md | 6 +++ packages/website/content/content/_index.md | 4 ++ packages/website/content/content/fonts.md | 6 +++ packages/website/content/content/forms.md | 6 +++ packages/website/content/content/image.md | 6 +++ packages/website/content/content/table.md | 6 +++ packages/website/content/elements/_index.md | 4 ++ packages/website/content/elements/button.md | 6 +++ packages/website/content/elements/card.md | 6 +++ packages/website/content/elements/links.md | 6 +++ packages/website/content/elements/list.md | 6 +++ packages/website/content/elements/navbar.md | 6 +++ .../website/content/elements/pagination.md | 6 +++ packages/website/content/layout/_index.md | 4 ++ packages/website/content/layout/container.md | 6 +++ packages/website/content/layout/display.md | 6 +++ packages/website/content/layout/grid.md | 6 +++ packages/website/content/layout/position.md | 6 +++ .../content/layout/responsive-helpers.md | 6 +++ packages/website/content/layout/spacing.md | 6 +++ packages/website/package.json | 4 +- packages/website/templates/base.html | 4 +- .../website/templates/partials/header.html | 18 ++++++++ packages/website/templates/section.html | 6 --- packages/website/templates/taxonomy_list.html | 0 .../website/templates/taxonomy_single.html | 0 35 files changed, 214 insertions(+), 18 deletions(-) create mode 100644 packages/website/content/components/_index.md create mode 100644 packages/website/content/components/accordion.md create mode 100644 packages/website/content/components/dropdown.md create mode 100644 packages/website/content/components/modal.md create mode 100644 packages/website/content/components/offcanvas.md create mode 100644 packages/website/content/components/tabs.md create mode 100644 packages/website/content/components/tooltip.md create mode 100644 packages/website/content/content/_index.md create mode 100644 packages/website/content/content/fonts.md create mode 100644 packages/website/content/content/forms.md create mode 100644 packages/website/content/content/image.md create mode 100644 packages/website/content/content/table.md create mode 100644 packages/website/content/elements/_index.md create mode 100644 packages/website/content/elements/button.md create mode 100644 packages/website/content/elements/card.md create mode 100644 packages/website/content/elements/links.md create mode 100644 packages/website/content/elements/list.md create mode 100644 packages/website/content/elements/navbar.md create mode 100644 packages/website/content/elements/pagination.md create mode 100644 packages/website/content/layout/_index.md create mode 100644 packages/website/content/layout/container.md create mode 100644 packages/website/content/layout/display.md create mode 100644 packages/website/content/layout/grid.md create mode 100644 packages/website/content/layout/position.md create mode 100644 packages/website/content/layout/responsive-helpers.md create mode 100644 packages/website/content/layout/spacing.md create mode 100644 packages/website/templates/partials/header.html create mode 100644 packages/website/templates/taxonomy_list.html create mode 100644 packages/website/templates/taxonomy_single.html diff --git a/packages/website/_scripts/build.ts b/packages/website/_scripts/build.ts index 2838547..54b8e4f 100644 --- a/packages/website/_scripts/build.ts +++ b/packages/website/_scripts/build.ts @@ -1,11 +1,30 @@ import type { BuildConfig, BunPlugin, PluginBuilder } from "bun"; +import { parseArgs } from "node:util"; import { readdir, rm } from "node:fs/promises"; import { join } from "node:path"; import type { FileImporter } from "sass"; import { HTMLComponents } from "@mini-strap/components"; -const outdir = "./static"; +const { values } = parseArgs({ + args: Bun.argv, + options: { + filter: { + type: "string", + short: "f", + default: "all", + }, + output: { + type: "string", + short: "o", + default: "static", + }, + }, + strict: true, + allowPositionals: true, +}); + +const outdir = values.output ?? "./static"; const nodeModuleImporter: FileImporter<"async"> = { findFileUrl(url) { @@ -35,8 +54,12 @@ const sassPlugin: BunPlugin = { }, }; -const assets: BuildConfig[] = [ - { +const assets: BuildConfig[] = []; + +const filter = values.filter ?? "all"; + +if (["all", "sass"].includes(filter)) { + assets.push({ entrypoints: ["./sass/style.scss"], outdir: `${outdir}/css`, naming: "[name].css", @@ -46,17 +69,21 @@ const assets: BuildConfig[] = [ // On by default in Bun v1.2+ html: true, experimentalCss: true, - }, + }); +} - { +if (["all", "js", "ts"].includes(filter)) { + assets.push({ entrypoints: ["./js/index.ts"], outdir: `${outdir}/js`, target: "browser", splitting: true, minify: true, - }, + }); +} - { +if (["all", "html"].includes(filter)) { + assets.push({ entrypoints: Object.values(HTMLComponents), outdir: "./templates/ext-components", target: "browser", @@ -69,8 +96,8 @@ const assets: BuildConfig[] = [ // On by default in Bun v1.2+ html: true, experimentalCss: true, - }, -]; + }); +} const out = await Promise.all( assets.map(async (item) => { diff --git a/packages/website/config.toml b/packages/website/config.toml index aa8c799..56d5c27 100644 --- a/packages/website/config.toml +++ b/packages/website/config.toml @@ -9,6 +9,10 @@ compile_sass = false # Whether to build a search index to be used later on by a JavaScript library build_search_index = true +taxonomies = [ + { name = "section", feed = true } +] + [markdown] # Whether to do syntax highlighting # Theme can be customised by setting the `highlight_theme` variable to a theme supported by Zola diff --git a/packages/website/content/_index.md b/packages/website/content/_index.md index cbbe859..1e83855 100644 --- a/packages/website/content/_index.md +++ b/packages/website/content/_index.md @@ -1,4 +1,5 @@ +++ + +++ # mini-strap Documentation diff --git a/packages/website/content/components/_index.md b/packages/website/content/components/_index.md new file mode 100644 index 0000000..f55553b --- /dev/null +++ b/packages/website/content/components/_index.md @@ -0,0 +1,6 @@ ++++ ++++ + +# Components + +Complex elements that require custom javascript to run diff --git a/packages/website/content/components/accordion.md b/packages/website/content/components/accordion.md new file mode 100644 index 0000000..0185b94 --- /dev/null +++ b/packages/website/content/components/accordion.md @@ -0,0 +1,6 @@ ++++ +[taxonomies] +section = ["Components"] ++++ + +# accordion.md diff --git a/packages/website/content/components/dropdown.md b/packages/website/content/components/dropdown.md new file mode 100644 index 0000000..c1fb188 --- /dev/null +++ b/packages/website/content/components/dropdown.md @@ -0,0 +1,6 @@ ++++ +[taxonomies] +section = ["Components"] ++++ + +# dropdown.md diff --git a/packages/website/content/components/modal.md b/packages/website/content/components/modal.md new file mode 100644 index 0000000..c4d19c5 --- /dev/null +++ b/packages/website/content/components/modal.md @@ -0,0 +1,6 @@ ++++ +[taxonomies] +section = ["Components"] ++++ + +# modal.md diff --git a/packages/website/content/components/offcanvas.md b/packages/website/content/components/offcanvas.md new file mode 100644 index 0000000..1a3f402 --- /dev/null +++ b/packages/website/content/components/offcanvas.md @@ -0,0 +1,6 @@ ++++ +[taxonomies] +section = ["Components"] ++++ + +# offcanvas.md diff --git a/packages/website/content/components/tabs.md b/packages/website/content/components/tabs.md new file mode 100644 index 0000000..d256dfe --- /dev/null +++ b/packages/website/content/components/tabs.md @@ -0,0 +1,6 @@ ++++ +[taxonomies] +section = ["Components"] ++++ + +# tabs.md diff --git a/packages/website/content/components/tooltip.md b/packages/website/content/components/tooltip.md new file mode 100644 index 0000000..f12205f --- /dev/null +++ b/packages/website/content/components/tooltip.md @@ -0,0 +1,6 @@ ++++ +[taxonomies] +section = ["Components"] ++++ + +# tooltip.md diff --git a/packages/website/content/content/_index.md b/packages/website/content/content/_index.md new file mode 100644 index 0000000..cb14ecb --- /dev/null +++ b/packages/website/content/content/_index.md @@ -0,0 +1,4 @@ ++++ ++++ + +# Components diff --git a/packages/website/content/content/fonts.md b/packages/website/content/content/fonts.md new file mode 100644 index 0000000..9577274 --- /dev/null +++ b/packages/website/content/content/fonts.md @@ -0,0 +1,6 @@ ++++ +[taxonomies] +section = ["Content"] ++++ + +# Buttons diff --git a/packages/website/content/content/forms.md b/packages/website/content/content/forms.md new file mode 100644 index 0000000..9577274 --- /dev/null +++ b/packages/website/content/content/forms.md @@ -0,0 +1,6 @@ ++++ +[taxonomies] +section = ["Content"] ++++ + +# Buttons diff --git a/packages/website/content/content/image.md b/packages/website/content/content/image.md new file mode 100644 index 0000000..9577274 --- /dev/null +++ b/packages/website/content/content/image.md @@ -0,0 +1,6 @@ ++++ +[taxonomies] +section = ["Content"] ++++ + +# Buttons diff --git a/packages/website/content/content/table.md b/packages/website/content/content/table.md new file mode 100644 index 0000000..9577274 --- /dev/null +++ b/packages/website/content/content/table.md @@ -0,0 +1,6 @@ ++++ +[taxonomies] +section = ["Content"] ++++ + +# Buttons diff --git a/packages/website/content/elements/_index.md b/packages/website/content/elements/_index.md new file mode 100644 index 0000000..f0a0b6d --- /dev/null +++ b/packages/website/content/elements/_index.md @@ -0,0 +1,4 @@ ++++ ++++ + +foo diff --git a/packages/website/content/elements/button.md b/packages/website/content/elements/button.md new file mode 100644 index 0000000..75847dd --- /dev/null +++ b/packages/website/content/elements/button.md @@ -0,0 +1,6 @@ ++++ +[taxonomies] +section = ["Elements"] ++++ + +# Buttons diff --git a/packages/website/content/elements/card.md b/packages/website/content/elements/card.md new file mode 100644 index 0000000..75847dd --- /dev/null +++ b/packages/website/content/elements/card.md @@ -0,0 +1,6 @@ ++++ +[taxonomies] +section = ["Elements"] ++++ + +# Buttons diff --git a/packages/website/content/elements/links.md b/packages/website/content/elements/links.md new file mode 100644 index 0000000..75847dd --- /dev/null +++ b/packages/website/content/elements/links.md @@ -0,0 +1,6 @@ ++++ +[taxonomies] +section = ["Elements"] ++++ + +# Buttons diff --git a/packages/website/content/elements/list.md b/packages/website/content/elements/list.md new file mode 100644 index 0000000..75847dd --- /dev/null +++ b/packages/website/content/elements/list.md @@ -0,0 +1,6 @@ ++++ +[taxonomies] +section = ["Elements"] ++++ + +# Buttons diff --git a/packages/website/content/elements/navbar.md b/packages/website/content/elements/navbar.md new file mode 100644 index 0000000..75847dd --- /dev/null +++ b/packages/website/content/elements/navbar.md @@ -0,0 +1,6 @@ ++++ +[taxonomies] +section = ["Elements"] ++++ + +# Buttons diff --git a/packages/website/content/elements/pagination.md b/packages/website/content/elements/pagination.md new file mode 100644 index 0000000..75847dd --- /dev/null +++ b/packages/website/content/elements/pagination.md @@ -0,0 +1,6 @@ ++++ +[taxonomies] +section = ["Elements"] ++++ + +# Buttons diff --git a/packages/website/content/layout/_index.md b/packages/website/content/layout/_index.md new file mode 100644 index 0000000..cb14ecb --- /dev/null +++ b/packages/website/content/layout/_index.md @@ -0,0 +1,4 @@ ++++ ++++ + +# Components diff --git a/packages/website/content/layout/container.md b/packages/website/content/layout/container.md new file mode 100644 index 0000000..72e8acf --- /dev/null +++ b/packages/website/content/layout/container.md @@ -0,0 +1,6 @@ ++++ +[taxonomies] +section = ["Layout"] ++++ + +# Buttons diff --git a/packages/website/content/layout/display.md b/packages/website/content/layout/display.md new file mode 100644 index 0000000..72e8acf --- /dev/null +++ b/packages/website/content/layout/display.md @@ -0,0 +1,6 @@ ++++ +[taxonomies] +section = ["Layout"] ++++ + +# Buttons diff --git a/packages/website/content/layout/grid.md b/packages/website/content/layout/grid.md new file mode 100644 index 0000000..72e8acf --- /dev/null +++ b/packages/website/content/layout/grid.md @@ -0,0 +1,6 @@ ++++ +[taxonomies] +section = ["Layout"] ++++ + +# Buttons diff --git a/packages/website/content/layout/position.md b/packages/website/content/layout/position.md new file mode 100644 index 0000000..72e8acf --- /dev/null +++ b/packages/website/content/layout/position.md @@ -0,0 +1,6 @@ ++++ +[taxonomies] +section = ["Layout"] ++++ + +# Buttons diff --git a/packages/website/content/layout/responsive-helpers.md b/packages/website/content/layout/responsive-helpers.md new file mode 100644 index 0000000..72e8acf --- /dev/null +++ b/packages/website/content/layout/responsive-helpers.md @@ -0,0 +1,6 @@ ++++ +[taxonomies] +section = ["Layout"] ++++ + +# Buttons diff --git a/packages/website/content/layout/spacing.md b/packages/website/content/layout/spacing.md new file mode 100644 index 0000000..72e8acf --- /dev/null +++ b/packages/website/content/layout/spacing.md @@ -0,0 +1,6 @@ ++++ +[taxonomies] +section = ["Layout"] ++++ + +# Buttons diff --git a/packages/website/package.json b/packages/website/package.json index 8e34106..d0f6772 100644 --- a/packages/website/package.json +++ b/packages/website/package.json @@ -3,7 +3,9 @@ "type": "module", "scripts": { "link-dependencies": "bun run _scripts/link-dependencies.ts", - "dev": "zola serve --port 3000 --fast" + "prebuild": "bun run _scripts/build.ts", + "watch-deps": "bun run --watch _scripts/build.ts", + "dev": "zola serve --port 3000 --fast --open" }, "dependencies": { "@mini-strap/core": "workspace:*", diff --git a/packages/website/templates/base.html b/packages/website/templates/base.html index 782fc79..b3cc53d 100644 --- a/packages/website/templates/base.html +++ b/packages/website/templates/base.html @@ -13,8 +13,8 @@ -
- {% include "partials/navbar.html" %} +
+ {% include "partials/header.html" %}
{% block content %}{% endblock %} diff --git a/packages/website/templates/partials/header.html b/packages/website/templates/partials/header.html new file mode 100644 index 0000000..901df72 --- /dev/null +++ b/packages/website/templates/partials/header.html @@ -0,0 +1,18 @@ + diff --git a/packages/website/templates/section.html b/packages/website/templates/section.html index 882f637..c520de6 100644 --- a/packages/website/templates/section.html +++ b/packages/website/templates/section.html @@ -3,10 +3,4 @@ {% block content %} {{section.content | safe}} - - {% endblock content %} diff --git a/packages/website/templates/taxonomy_list.html b/packages/website/templates/taxonomy_list.html new file mode 100644 index 0000000..e69de29 diff --git a/packages/website/templates/taxonomy_single.html b/packages/website/templates/taxonomy_single.html new file mode 100644 index 0000000..e69de29