diff --git a/.gitignore b/.gitignore
index d46af724..4742fc4b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
+public/
node_modules
.temp
.cache
diff --git a/.zine.ziggy-schema b/.zine.ziggy-schema
new file mode 100644
index 00000000..85cff02a
--- /dev/null
+++ b/.zine.ziggy-schema
@@ -0,0 +1,166 @@
+$ = Config
+
+/// This is the schema of a Zine website config file, usually named 'zine.ziggy'.
+struct Config {
+ /// A semver string representing the version of Zine that your website
+ /// requires. Used by GitHub / Forgejo actions to select automatically
+ /// the right version of Zine to fetch, see the 'Deploying' section of
+ /// https://zine-ssg.io/docs/.
+ zine_version: bytes,
+ /// SuperMD content rendering settings
+ supermd: ?SuperMd,
+ /// Your website definition
+ site: Site,
+ /// User-defined properties that you can reference from SuperHTML via
+ /// '$site.custom'.
+ custom: {:}any,
+}
+
+struct SuperMd {
+ /// SuperMD documents start at heading level 1 ('#') which by default
+ /// renders as `
`. Should SuperMD headings start at `
` instead?
+ headings_h2: ?bool,
+ /// Should external links generated by SuperMD automatically add
+ /// `target="_blank"`? Defaults to `false`.
+ ///
+ /// Note: you can override this setting on each link by using explicit
+ /// syntax (e.g. `[my link]($link.url(https://example.com).new(true))`)
+ auto_target_blank: ?bool,
+}
+
+union Site {
+ simple: Simple,
+ multilingual: Multilingual,
+
+ struct Simple {
+ title: bytes,
+ /// URL where the website will be hosted.
+ /// It must not contain a subpath, see `url_path_prefix`.
+ host_url: bytes,
+ /// Set this value if your website is hosted under a subpath of `host_url`.
+ ///
+ /// `host_url` and `url_prefix_path` are split to allow the development
+ /// server to generate correct relative paths when serving the website
+ /// locally.
+ url_path_prefix: ?bytes,
+
+ /// Directory containing your SuperHTML layouts.
+ layouts_dir_path: bytes,
+ /// Directory containing your SuperMD content.
+ content_dir_path: bytes,
+ /// Directory containing your site-wide assets.
+ assets_dir_path: bytes,
+
+ /// Subpaths in `assets_dir_path` that will be installed unconditionally.
+ /// All other assets will be installed only if referenced by a content file
+ /// or a layout by calling `$site.asset('foo').link()`.
+ ///
+ /// Examples of incorrect usage of this field:
+ /// - site-wide CSS files (should be `link`ed by templates)
+ /// - RSS feeds (should be generated by defining `alternative` pages)
+ ///
+ /// Examples of correct usage of this field:
+ /// - `favicon.ico` and other similar assets auto-discovered by browsers
+ /// - Font files only referenced inside of CSS files.
+ static_assets: []bytes,
+ /// When enabled, Zine will automatically add 'width' and 'height'
+ /// attributes to elements for local assets.
+ /// Be aware that setting 'width' and 'heigth' of an image will in some
+ /// circumstances cause browsers to distort images.
+ ///
+ /// This problem can be solved by adding the following CSS code to your
+ /// site:
+ ///
+ /// img { height: auto; }
+ ///
+ image_size_attributes: ?bool,
+ }
+
+ struct Multilingual {
+ /// URL where the website will be hosted.
+ /// It must not contain a subpath, see `Locale.output_prefix_override`.
+ host_url: bytes,
+ /// Directory that contains mappings from placeholders to translations,
+ /// expressed as Ziggy files.
+ ///
+ /// Each Ziggy file must be named after the locale it's meant to offer
+ /// translations for.
+ i18n_dir_path: bytes,
+ /// Directory containing your SuperHTML layouts.
+ layouts_dir_path: bytes,
+ /// Directory containing your site-wide assets.
+ assets_dir_path: bytes,
+ /// Location where site- and build- assets will be installed. By default
+ /// assets will be installed directly in the output location.
+ ///
+ /// In mulitilingual websites Zine will create a single copy of
+ /// site assets which will then be installed at this location. It
+ /// will be your duty to then copy this directory elsewhere if
+ /// needed in your deployment setup (e.g. when deploying different
+ /// localized variants to different hosts).
+ ///
+ /// NOTE: *page* assets will still be installed next to their
+ /// relative page.
+ assets_prefix_path: ?bytes,
+ /// Subpaths in `assets_dir_path` that will be installed unconditionally.
+ /// All other assets will be installed only if referenced by a content file
+ /// or a layout by using `$site.asset('foo').link()`.
+ ///
+ /// Examples of incorrect usage of this field:
+ /// - site-wide CSS files (should be `link`ed by templates)
+ /// - RSS feeds (should be generated by defining `alternative` pages)
+ ///
+ /// Examples of correct usage of this field:
+ /// - `favicon.ico` and other similar assets auto-discovered by browsers
+ /// - Font files only referenced inside of CSS files.
+ static_assets: []bytes,
+ /// A list of locales of this website.
+ ///
+ /// For each entry the following values must be unique:
+ /// - `code`
+ /// - `output_prefix_override` (if not null) + `host_url_override`
+ locales: []Locale,
+ /// When enabled, Zine will automatically add 'width' and 'height'
+ /// attributes to elements for local assets.
+ /// Be aware that setting 'width' and 'heigth' of an image will in some
+ /// circumstances cause browsers to distort images.
+ ///
+ /// This problem can be solved by adding the following CSS code to your
+ /// site:
+ ///
+ /// img { height: auto; }
+ ///
+ image_size_attributes: ?bool,
+
+ struct Locale {
+ /// A language-NATION code, e.g. 'en-US', used to identify each
+ /// individual localized variant of the website.
+ ///
+ /// Must be unique.
+ code: bytes,
+ /// A name that identifies this locale, e.g. 'English'
+ name: bytes,
+ /// Content dir for this locale,
+ content_dir_path: bytes,
+ /// Site title for this locale.
+ site_title: bytes,
+ /// Set to a non-null value when deploying this locale from a dedicated
+ /// host (e.g. 'https://us.site.com', 'http://de.site.com').
+ ///
+ /// It must not contain a path other than '/'.
+ host_url_override: ?bytes,
+ /// | output_ | host_ | resulting | resulting |
+ /// | prefix_ | url_ | url | path |
+ /// | override | override | prefix | prefix |
+ /// | -------- | ------------- | ---------------- | --------------- |
+ /// | null | null | site.com/en-US/ | zig-out/en-US/ |
+ /// | null | "us.site.com" | us.site.com/ | zig-out/en-US/ |
+ /// | "foo" | null | site.com/foo/ | zig-out/foo/ |
+ /// | "foo" | "us.site.com" | us.site.com/foo/ | zig-out/foo/ |
+ /// | "" | null | site.com/ | zig-out/ |
+ ///
+ /// The last case is how you create a default locale.
+ output_prefix_override: ?bytes,
+ }
+ }
+}
diff --git a/0.5.0/docs/.vuepress/dist/index.html b/0.5.0/docs/.vuepress/dist/index.html
deleted file mode 100644
index beb7fd03..00000000
--- a/0.5.0/docs/.vuepress/dist/index.html
+++ /dev/null
@@ -1,55 +0,0 @@
-
-
-
-
-
-
-
-
- buzz
-
-
-
-
-
+
+
+
diff --git a/0.5.0/docs/.vuepress/public/logo.png b/content/0.5.0/docs/.vuepress/dist/logo.png
similarity index 100%
rename from 0.5.0/docs/.vuepress/public/logo.png
rename to content/0.5.0/docs/.vuepress/dist/logo.png
diff --git a/0.5.0/docs/.vuepress/dist/reference/api.html b/content/0.5.0/docs/.vuepress/dist/reference/api.html
similarity index 100%
rename from 0.5.0/docs/.vuepress/dist/reference/api.html
rename to content/0.5.0/docs/.vuepress/dist/reference/api.html
diff --git a/0.5.0/docs/.vuepress/dist/reference/builtins/fibers.html b/content/0.5.0/docs/.vuepress/dist/reference/builtins/fibers.html
similarity index 100%
rename from 0.5.0/docs/.vuepress/dist/reference/builtins/fibers.html
rename to content/0.5.0/docs/.vuepress/dist/reference/builtins/fibers.html
diff --git a/0.5.0/docs/.vuepress/dist/reference/builtins/lists.html b/content/0.5.0/docs/.vuepress/dist/reference/builtins/lists.html
similarity index 100%
rename from 0.5.0/docs/.vuepress/dist/reference/builtins/lists.html
rename to content/0.5.0/docs/.vuepress/dist/reference/builtins/lists.html
diff --git a/0.5.0/docs/.vuepress/dist/reference/builtins/maps.html b/content/0.5.0/docs/.vuepress/dist/reference/builtins/maps.html
similarity index 100%
rename from 0.5.0/docs/.vuepress/dist/reference/builtins/maps.html
rename to content/0.5.0/docs/.vuepress/dist/reference/builtins/maps.html
diff --git a/0.5.0/docs/.vuepress/dist/reference/builtins/patterns.html b/content/0.5.0/docs/.vuepress/dist/reference/builtins/patterns.html
similarity index 100%
rename from 0.5.0/docs/.vuepress/dist/reference/builtins/patterns.html
rename to content/0.5.0/docs/.vuepress/dist/reference/builtins/patterns.html
diff --git a/0.5.0/docs/.vuepress/dist/reference/builtins/ranges.html b/content/0.5.0/docs/.vuepress/dist/reference/builtins/ranges.html
similarity index 100%
rename from 0.5.0/docs/.vuepress/dist/reference/builtins/ranges.html
rename to content/0.5.0/docs/.vuepress/dist/reference/builtins/ranges.html
diff --git a/0.5.0/docs/.vuepress/dist/reference/builtins/strings.html b/content/0.5.0/docs/.vuepress/dist/reference/builtins/strings.html
similarity index 100%
rename from 0.5.0/docs/.vuepress/dist/reference/builtins/strings.html
rename to content/0.5.0/docs/.vuepress/dist/reference/builtins/strings.html
diff --git a/0.5.0/docs/.vuepress/dist/reference/index.html b/content/0.5.0/docs/.vuepress/dist/reference/index.html
similarity index 100%
rename from 0.5.0/docs/.vuepress/dist/reference/index.html
rename to content/0.5.0/docs/.vuepress/dist/reference/index.html
diff --git a/0.5.0/docs/.vuepress/dist/reference/std/buffer.html b/content/0.5.0/docs/.vuepress/dist/reference/std/buffer.html
similarity index 100%
rename from 0.5.0/docs/.vuepress/dist/reference/std/buffer.html
rename to content/0.5.0/docs/.vuepress/dist/reference/std/buffer.html
diff --git a/0.5.0/docs/.vuepress/dist/reference/std/crypto.html b/content/0.5.0/docs/.vuepress/dist/reference/std/crypto.html
similarity index 100%
rename from 0.5.0/docs/.vuepress/dist/reference/std/crypto.html
rename to content/0.5.0/docs/.vuepress/dist/reference/std/crypto.html
diff --git a/0.5.0/docs/.vuepress/dist/reference/std/debug.html b/content/0.5.0/docs/.vuepress/dist/reference/std/debug.html
similarity index 100%
rename from 0.5.0/docs/.vuepress/dist/reference/std/debug.html
rename to content/0.5.0/docs/.vuepress/dist/reference/std/debug.html
diff --git a/0.5.0/docs/.vuepress/dist/reference/std/ffi.html b/content/0.5.0/docs/.vuepress/dist/reference/std/ffi.html
similarity index 100%
rename from 0.5.0/docs/.vuepress/dist/reference/std/ffi.html
rename to content/0.5.0/docs/.vuepress/dist/reference/std/ffi.html
diff --git a/0.5.0/docs/.vuepress/dist/reference/std/fs.html b/content/0.5.0/docs/.vuepress/dist/reference/std/fs.html
similarity index 100%
rename from 0.5.0/docs/.vuepress/dist/reference/std/fs.html
rename to content/0.5.0/docs/.vuepress/dist/reference/std/fs.html
diff --git a/0.5.0/docs/.vuepress/dist/reference/std/gc.html b/content/0.5.0/docs/.vuepress/dist/reference/std/gc.html
similarity index 100%
rename from 0.5.0/docs/.vuepress/dist/reference/std/gc.html
rename to content/0.5.0/docs/.vuepress/dist/reference/std/gc.html
diff --git a/0.5.0/docs/.vuepress/dist/reference/std/io.html b/content/0.5.0/docs/.vuepress/dist/reference/std/io.html
similarity index 100%
rename from 0.5.0/docs/.vuepress/dist/reference/std/io.html
rename to content/0.5.0/docs/.vuepress/dist/reference/std/io.html
diff --git a/0.5.0/docs/.vuepress/dist/reference/std/math.html b/content/0.5.0/docs/.vuepress/dist/reference/std/math.html
similarity index 100%
rename from 0.5.0/docs/.vuepress/dist/reference/std/math.html
rename to content/0.5.0/docs/.vuepress/dist/reference/std/math.html
diff --git a/0.5.0/docs/.vuepress/dist/reference/std/os.html b/content/0.5.0/docs/.vuepress/dist/reference/std/os.html
similarity index 100%
rename from 0.5.0/docs/.vuepress/dist/reference/std/os.html
rename to content/0.5.0/docs/.vuepress/dist/reference/std/os.html
diff --git a/0.5.0/docs/.vuepress/dist/reference/std/serialize.html b/content/0.5.0/docs/.vuepress/dist/reference/std/serialize.html
similarity index 100%
rename from 0.5.0/docs/.vuepress/dist/reference/std/serialize.html
rename to content/0.5.0/docs/.vuepress/dist/reference/std/serialize.html
diff --git a/0.5.0/docs/.vuepress/dist/reference/std/std.html b/content/0.5.0/docs/.vuepress/dist/reference/std/std.html
similarity index 100%
rename from 0.5.0/docs/.vuepress/dist/reference/std/std.html
rename to content/0.5.0/docs/.vuepress/dist/reference/std/std.html
diff --git a/0.5.0/docs/.vuepress/dist/repl.html b/content/0.5.0/docs/.vuepress/dist/repl.html
similarity index 100%
rename from 0.5.0/docs/.vuepress/dist/repl.html
rename to content/0.5.0/docs/.vuepress/dist/repl.html
diff --git a/0.5.0/docs/.vuepress/public/.DS_Store b/content/0.5.0/docs/.vuepress/public/.DS_Store
similarity index 100%
rename from 0.5.0/docs/.vuepress/public/.DS_Store
rename to content/0.5.0/docs/.vuepress/public/.DS_Store
diff --git a/0.5.0/docs/.vuepress/public/buzz.wasm b/content/0.5.0/docs/.vuepress/public/buzz.wasm
similarity index 100%
rename from 0.5.0/docs/.vuepress/public/buzz.wasm
rename to content/0.5.0/docs/.vuepress/public/buzz.wasm
diff --git a/0.5.0/docs/.vuepress/public/favicon.ico b/content/0.5.0/docs/.vuepress/public/favicon.ico
similarity index 100%
rename from 0.5.0/docs/.vuepress/public/favicon.ico
rename to content/0.5.0/docs/.vuepress/public/favicon.ico
diff --git a/main/docs/.vuepress/dist/logo.png b/content/0.5.0/docs/.vuepress/public/logo.png
similarity index 100%
rename from main/docs/.vuepress/dist/logo.png
rename to content/0.5.0/docs/.vuepress/public/logo.png
diff --git a/0.5.0/docs/.vuepress/styles/index.scss b/content/0.5.0/docs/.vuepress/styles/index.scss
similarity index 100%
rename from 0.5.0/docs/.vuepress/styles/index.scss
rename to content/0.5.0/docs/.vuepress/styles/index.scss
diff --git a/0.5.0/docs/guide/README.md b/content/0.5.0/docs/guide/README.md
similarity index 100%
rename from 0.5.0/docs/guide/README.md
rename to content/0.5.0/docs/guide/README.md
diff --git a/0.5.0/docs/guide/building-installing.md b/content/0.5.0/docs/guide/building-installing.md
similarity index 100%
rename from 0.5.0/docs/guide/building-installing.md
rename to content/0.5.0/docs/guide/building-installing.md
diff --git a/0.5.0/docs/guide/calling-native-code.md b/content/0.5.0/docs/guide/calling-native-code.md
similarity index 100%
rename from 0.5.0/docs/guide/calling-native-code.md
rename to content/0.5.0/docs/guide/calling-native-code.md
diff --git a/0.5.0/docs/guide/control-flow.md b/content/0.5.0/docs/guide/control-flow.md
similarity index 100%
rename from 0.5.0/docs/guide/control-flow.md
rename to content/0.5.0/docs/guide/control-flow.md
diff --git a/0.5.0/docs/guide/enums.md b/content/0.5.0/docs/guide/enums.md
similarity index 100%
rename from 0.5.0/docs/guide/enums.md
rename to content/0.5.0/docs/guide/enums.md
diff --git a/0.5.0/docs/guide/errors.md b/content/0.5.0/docs/guide/errors.md
similarity index 100%
rename from 0.5.0/docs/guide/errors.md
rename to content/0.5.0/docs/guide/errors.md
diff --git a/0.5.0/docs/guide/ffi.md b/content/0.5.0/docs/guide/ffi.md
similarity index 100%
rename from 0.5.0/docs/guide/ffi.md
rename to content/0.5.0/docs/guide/ffi.md
diff --git a/0.5.0/docs/guide/fibers.md b/content/0.5.0/docs/guide/fibers.md
similarity index 100%
rename from 0.5.0/docs/guide/fibers.md
rename to content/0.5.0/docs/guide/fibers.md
diff --git a/0.5.0/docs/guide/functions.md b/content/0.5.0/docs/guide/functions.md
similarity index 100%
rename from 0.5.0/docs/guide/functions.md
rename to content/0.5.0/docs/guide/functions.md
diff --git a/0.5.0/docs/guide/import-export.md b/content/0.5.0/docs/guide/import-export.md
similarity index 100%
rename from 0.5.0/docs/guide/import-export.md
rename to content/0.5.0/docs/guide/import-export.md
diff --git a/0.5.0/docs/guide/null-safety.md b/content/0.5.0/docs/guide/null-safety.md
similarity index 100%
rename from 0.5.0/docs/guide/null-safety.md
rename to content/0.5.0/docs/guide/null-safety.md
diff --git a/0.5.0/docs/guide/objects.md b/content/0.5.0/docs/guide/objects.md
similarity index 100%
rename from 0.5.0/docs/guide/objects.md
rename to content/0.5.0/docs/guide/objects.md
diff --git a/0.5.0/docs/guide/protocols.md b/content/0.5.0/docs/guide/protocols.md
similarity index 100%
rename from 0.5.0/docs/guide/protocols.md
rename to content/0.5.0/docs/guide/protocols.md
diff --git a/0.5.0/docs/guide/scope.md b/content/0.5.0/docs/guide/scope.md
similarity index 100%
rename from 0.5.0/docs/guide/scope.md
rename to content/0.5.0/docs/guide/scope.md
diff --git a/0.5.0/docs/guide/syntax.md b/content/0.5.0/docs/guide/syntax.md
similarity index 100%
rename from 0.5.0/docs/guide/syntax.md
rename to content/0.5.0/docs/guide/syntax.md
diff --git a/0.5.0/docs/guide/types.md b/content/0.5.0/docs/guide/types.md
similarity index 100%
rename from 0.5.0/docs/guide/types.md
rename to content/0.5.0/docs/guide/types.md
diff --git a/0.5.0/docs/reference/README.md b/content/0.5.0/docs/reference/README.md
similarity index 100%
rename from 0.5.0/docs/reference/README.md
rename to content/0.5.0/docs/reference/README.md
diff --git a/0.5.0/docs/reference/api.md b/content/0.5.0/docs/reference/api.md
similarity index 100%
rename from 0.5.0/docs/reference/api.md
rename to content/0.5.0/docs/reference/api.md
diff --git a/0.5.0/docs/reference/builtins/fibers.md b/content/0.5.0/docs/reference/builtins/fibers.md
similarity index 100%
rename from 0.5.0/docs/reference/builtins/fibers.md
rename to content/0.5.0/docs/reference/builtins/fibers.md
diff --git a/0.5.0/docs/reference/builtins/lists.md b/content/0.5.0/docs/reference/builtins/lists.md
similarity index 100%
rename from 0.5.0/docs/reference/builtins/lists.md
rename to content/0.5.0/docs/reference/builtins/lists.md
diff --git a/0.5.0/docs/reference/builtins/maps.md b/content/0.5.0/docs/reference/builtins/maps.md
similarity index 100%
rename from 0.5.0/docs/reference/builtins/maps.md
rename to content/0.5.0/docs/reference/builtins/maps.md
diff --git a/0.5.0/docs/reference/builtins/patterns.md b/content/0.5.0/docs/reference/builtins/patterns.md
similarity index 100%
rename from 0.5.0/docs/reference/builtins/patterns.md
rename to content/0.5.0/docs/reference/builtins/patterns.md
diff --git a/0.5.0/docs/reference/builtins/ranges.md b/content/0.5.0/docs/reference/builtins/ranges.md
similarity index 100%
rename from 0.5.0/docs/reference/builtins/ranges.md
rename to content/0.5.0/docs/reference/builtins/ranges.md
diff --git a/0.5.0/docs/reference/builtins/strings.md b/content/0.5.0/docs/reference/builtins/strings.md
similarity index 100%
rename from 0.5.0/docs/reference/builtins/strings.md
rename to content/0.5.0/docs/reference/builtins/strings.md
diff --git a/0.5.0/docs/reference/std/buffer.md b/content/0.5.0/docs/reference/std/buffer.md
similarity index 100%
rename from 0.5.0/docs/reference/std/buffer.md
rename to content/0.5.0/docs/reference/std/buffer.md
diff --git a/0.5.0/docs/reference/std/crypto.md b/content/0.5.0/docs/reference/std/crypto.md
similarity index 100%
rename from 0.5.0/docs/reference/std/crypto.md
rename to content/0.5.0/docs/reference/std/crypto.md
diff --git a/0.5.0/docs/reference/std/debug.md b/content/0.5.0/docs/reference/std/debug.md
similarity index 100%
rename from 0.5.0/docs/reference/std/debug.md
rename to content/0.5.0/docs/reference/std/debug.md
diff --git a/0.5.0/docs/reference/std/ffi.md b/content/0.5.0/docs/reference/std/ffi.md
similarity index 100%
rename from 0.5.0/docs/reference/std/ffi.md
rename to content/0.5.0/docs/reference/std/ffi.md
diff --git a/0.5.0/docs/reference/std/fs.md b/content/0.5.0/docs/reference/std/fs.md
similarity index 100%
rename from 0.5.0/docs/reference/std/fs.md
rename to content/0.5.0/docs/reference/std/fs.md
diff --git a/0.5.0/docs/reference/std/gc.md b/content/0.5.0/docs/reference/std/gc.md
similarity index 100%
rename from 0.5.0/docs/reference/std/gc.md
rename to content/0.5.0/docs/reference/std/gc.md
diff --git a/0.5.0/docs/reference/std/io.md b/content/0.5.0/docs/reference/std/io.md
similarity index 100%
rename from 0.5.0/docs/reference/std/io.md
rename to content/0.5.0/docs/reference/std/io.md
diff --git a/0.5.0/docs/reference/std/math.md b/content/0.5.0/docs/reference/std/math.md
similarity index 100%
rename from 0.5.0/docs/reference/std/math.md
rename to content/0.5.0/docs/reference/std/math.md
diff --git a/0.5.0/docs/reference/std/os.md b/content/0.5.0/docs/reference/std/os.md
similarity index 100%
rename from 0.5.0/docs/reference/std/os.md
rename to content/0.5.0/docs/reference/std/os.md
diff --git a/0.5.0/docs/reference/std/serialize.md b/content/0.5.0/docs/reference/std/serialize.md
similarity index 100%
rename from 0.5.0/docs/reference/std/serialize.md
rename to content/0.5.0/docs/reference/std/serialize.md
diff --git a/0.5.0/docs/reference/std/std.md b/content/0.5.0/docs/reference/std/std.md
similarity index 100%
rename from 0.5.0/docs/reference/std/std.md
rename to content/0.5.0/docs/reference/std/std.md
diff --git a/0.5.0/docs/repl.md b/content/0.5.0/docs/repl.md
similarity index 100%
rename from 0.5.0/docs/repl.md
rename to content/0.5.0/docs/repl.md
diff --git a/content/0.5.0/guide/index.smd b/content/0.5.0/guide/index.smd
new file mode 100644
index 00000000..946703e4
--- /dev/null
+++ b/content/0.5.0/guide/index.smd
@@ -0,0 +1,11 @@
+---
+.title = "buzz",
+.description = "A small/lightweight statically typed scripting language",
+.date = .date("1990-01-01T00:00:00"),
+.custom = {
+ "version": "0.5.0",
+},
+.layout = "page.shtml",
+---
+
+TODO: Guide
diff --git a/content/0.5.0/index.smd b/content/0.5.0/index.smd
new file mode 100755
index 00000000..0313797e
--- /dev/null
+++ b/content/0.5.0/index.smd
@@ -0,0 +1,66 @@
+---
+.title = "buzz",
+.description = "A small/lightweight statically typed scripting language",
+.date = .date("1990-01-01T00:00:00"),
+.custom = {
+ "version": "0.5.0",
+ "actions": [
+ { "text": "Guide", "link": "guide" },
+ { "text": "Reference", "link": "reference" },
+ { "text": "Try it", "link": "repl" },
+ { "text": "Latest release", "link": "https://github.com/buzz-language/buzz/releases/tag/0.5.0", "external": true },
+ ],
+ "features": [
+ {
+ "title": "Statically typed",
+ "details": "Find out bugs in your IDE rather than production",
+ },
+ {
+ "title": "JIT compiled",
+ "details": "Uses MIR, a fast and lightweight JIT compiler",
+ },
+ {
+ "title": "Unambiguous",
+ "details": "No implicit behavior or unexpected type coercion",
+ },
+ {
+ "title": "Small in size and complexity",
+ "details": "Does not take much space on your drive or in your mind",
+ },
+ {
+ "title": "Interoperability with C",
+ "details": "Call C functions easily with FFIs and embed buzz with its C API",
+ },
+ {
+ "title": "Fibers",
+ "details": "Single threaded cooperative multitasking",
+ },
+ ],
+},
+.layout = "home.shtml",
+---
+
+```kotlin buzz
+import "std";
+
+fun fibonacci(n: int) > void *> int? {
+ var n1 = 0;
+ var n2 = 1;
+ var next: int? = null;
+
+ foreach (_ in 0..n) {
+ _ = yield n1;
+ next = n1 + n2;
+ n1 = n2;
+ n2 = next!;
+ }
+}
+
+fun main(args: [str]) > void {
+ final N = std\parseInt(args[?0] ?? "10")!;
+
+ foreach (n in &fibonacci(N)) {
+ std\print("{n}");
+ }
+}
+```
diff --git a/0.5.0/nginx.conf b/content/0.5.0/nginx.conf
similarity index 100%
rename from 0.5.0/nginx.conf
rename to content/0.5.0/nginx.conf
diff --git a/0.5.0/package.json b/content/0.5.0/package.json
similarity index 100%
rename from 0.5.0/package.json
rename to content/0.5.0/package.json
diff --git a/0.5.0/pnpm-lock.yaml b/content/0.5.0/pnpm-lock.yaml
similarity index 100%
rename from 0.5.0/pnpm-lock.yaml
rename to content/0.5.0/pnpm-lock.yaml
diff --git a/content/0.5.0/reference/index.smd b/content/0.5.0/reference/index.smd
new file mode 100644
index 00000000..ccaba836
--- /dev/null
+++ b/content/0.5.0/reference/index.smd
@@ -0,0 +1,11 @@
+---
+.title = "buzz",
+.description = "A small/lightweight statically typed scripting language",
+.date = .date("1990-01-01T00:00:00"),
+.custom = {
+ "version": "0.5.0",
+},
+.layout = "page.shtml",
+---
+
+TODO: Reference
diff --git a/content/0.5.0/repl.smd b/content/0.5.0/repl.smd
new file mode 100644
index 00000000..22543ddc
--- /dev/null
+++ b/content/0.5.0/repl.smd
@@ -0,0 +1,11 @@
+---
+.title = "buzz",
+.description = "A small/lightweight statically typed scripting language",
+.date = .date("1990-01-01T00:00:00"),
+.custom = {
+ "version": "0.5.0",
+},
+.layout = "page.shtml",
+---
+
+TODO: REPL
diff --git a/content/index.smd b/content/index.smd
new file mode 100644
index 00000000..e39dae93
--- /dev/null
+++ b/content/index.smd
@@ -0,0 +1,7 @@
+---
+.title = "buzz",
+.date = .date("1990-01-01T00:00:00"),
+.layout = "redirect.shtml",
+// Redirect to latest stable release
+.custom = { "new-location": "/0.5.0", "version": "0.5.0" },
+---
diff --git a/main/AGENTS.md b/content/main/AGENTS.md
similarity index 100%
rename from main/AGENTS.md
rename to content/main/AGENTS.md
diff --git a/main/docs/.vuepress/config.ts b/content/main/docs/.vuepress/config.ts
similarity index 100%
rename from main/docs/.vuepress/config.ts
rename to content/main/docs/.vuepress/config.ts
diff --git a/main/docs/.vuepress/dist/.DS_Store b/content/main/docs/.vuepress/dist/.DS_Store
similarity index 100%
rename from main/docs/.vuepress/dist/.DS_Store
rename to content/main/docs/.vuepress/dist/.DS_Store
diff --git a/main/docs/.vuepress/dist/404.html b/content/main/docs/.vuepress/dist/404.html
similarity index 100%
rename from main/docs/.vuepress/dist/404.html
rename to content/main/docs/.vuepress/dist/404.html
diff --git a/main/docs/.vuepress/dist/assets/404.html-60b35caa.js b/content/main/docs/.vuepress/dist/assets/404.html-60b35caa.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/404.html-60b35caa.js
rename to content/main/docs/.vuepress/dist/assets/404.html-60b35caa.js
diff --git a/main/docs/.vuepress/dist/assets/404.html-d948ce64.js b/content/main/docs/.vuepress/dist/assets/404.html-d948ce64.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/404.html-d948ce64.js
rename to content/main/docs/.vuepress/dist/assets/404.html-d948ce64.js
diff --git a/main/docs/.vuepress/dist/assets/api.html-664752d9.js b/content/main/docs/.vuepress/dist/assets/api.html-664752d9.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/api.html-664752d9.js
rename to content/main/docs/.vuepress/dist/assets/api.html-664752d9.js
diff --git a/main/docs/.vuepress/dist/assets/api.html-7b1ffba8.js b/content/main/docs/.vuepress/dist/assets/api.html-7b1ffba8.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/api.html-7b1ffba8.js
rename to content/main/docs/.vuepress/dist/assets/api.html-7b1ffba8.js
diff --git a/main/docs/.vuepress/dist/assets/app-631b6948.js b/content/main/docs/.vuepress/dist/assets/app-631b6948.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/app-631b6948.js
rename to content/main/docs/.vuepress/dist/assets/app-631b6948.js
diff --git a/main/docs/.vuepress/dist/assets/back-to-top-8efcbe56.svg b/content/main/docs/.vuepress/dist/assets/back-to-top-8efcbe56.svg
similarity index 100%
rename from main/docs/.vuepress/dist/assets/back-to-top-8efcbe56.svg
rename to content/main/docs/.vuepress/dist/assets/back-to-top-8efcbe56.svg
diff --git a/main/docs/.vuepress/dist/assets/buffer.html-4cb461be.js b/content/main/docs/.vuepress/dist/assets/buffer.html-4cb461be.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/buffer.html-4cb461be.js
rename to content/main/docs/.vuepress/dist/assets/buffer.html-4cb461be.js
diff --git a/main/docs/.vuepress/dist/assets/buffer.html-bc4f6a2b.js b/content/main/docs/.vuepress/dist/assets/buffer.html-bc4f6a2b.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/buffer.html-bc4f6a2b.js
rename to content/main/docs/.vuepress/dist/assets/buffer.html-bc4f6a2b.js
diff --git a/main/docs/.vuepress/dist/assets/building-installing.html-3e68969f.js b/content/main/docs/.vuepress/dist/assets/building-installing.html-3e68969f.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/building-installing.html-3e68969f.js
rename to content/main/docs/.vuepress/dist/assets/building-installing.html-3e68969f.js
diff --git a/main/docs/.vuepress/dist/assets/building-installing.html-5062e075.js b/content/main/docs/.vuepress/dist/assets/building-installing.html-5062e075.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/building-installing.html-5062e075.js
rename to content/main/docs/.vuepress/dist/assets/building-installing.html-5062e075.js
diff --git a/main/docs/.vuepress/dist/assets/calling-native-code.html-7a10d775.js b/content/main/docs/.vuepress/dist/assets/calling-native-code.html-7a10d775.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/calling-native-code.html-7a10d775.js
rename to content/main/docs/.vuepress/dist/assets/calling-native-code.html-7a10d775.js
diff --git a/main/docs/.vuepress/dist/assets/calling-native-code.html-f0064cbc.js b/content/main/docs/.vuepress/dist/assets/calling-native-code.html-f0064cbc.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/calling-native-code.html-f0064cbc.js
rename to content/main/docs/.vuepress/dist/assets/calling-native-code.html-f0064cbc.js
diff --git a/main/docs/.vuepress/dist/assets/control-flow.html-54925a68.js b/content/main/docs/.vuepress/dist/assets/control-flow.html-54925a68.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/control-flow.html-54925a68.js
rename to content/main/docs/.vuepress/dist/assets/control-flow.html-54925a68.js
diff --git a/main/docs/.vuepress/dist/assets/control-flow.html-c4284ae0.js b/content/main/docs/.vuepress/dist/assets/control-flow.html-c4284ae0.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/control-flow.html-c4284ae0.js
rename to content/main/docs/.vuepress/dist/assets/control-flow.html-c4284ae0.js
diff --git a/main/docs/.vuepress/dist/assets/crypto.html-4423d2c8.js b/content/main/docs/.vuepress/dist/assets/crypto.html-4423d2c8.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/crypto.html-4423d2c8.js
rename to content/main/docs/.vuepress/dist/assets/crypto.html-4423d2c8.js
diff --git a/main/docs/.vuepress/dist/assets/crypto.html-4f1b84d7.js b/content/main/docs/.vuepress/dist/assets/crypto.html-4f1b84d7.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/crypto.html-4f1b84d7.js
rename to content/main/docs/.vuepress/dist/assets/crypto.html-4f1b84d7.js
diff --git a/main/docs/.vuepress/dist/assets/debug.html-553b1ba0.js b/content/main/docs/.vuepress/dist/assets/debug.html-553b1ba0.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/debug.html-553b1ba0.js
rename to content/main/docs/.vuepress/dist/assets/debug.html-553b1ba0.js
diff --git a/main/docs/.vuepress/dist/assets/debug.html-e233508d.js b/content/main/docs/.vuepress/dist/assets/debug.html-e233508d.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/debug.html-e233508d.js
rename to content/main/docs/.vuepress/dist/assets/debug.html-e233508d.js
diff --git a/main/docs/.vuepress/dist/assets/enums.html-bad178cc.js b/content/main/docs/.vuepress/dist/assets/enums.html-bad178cc.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/enums.html-bad178cc.js
rename to content/main/docs/.vuepress/dist/assets/enums.html-bad178cc.js
diff --git a/main/docs/.vuepress/dist/assets/enums.html-fac67bba.js b/content/main/docs/.vuepress/dist/assets/enums.html-fac67bba.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/enums.html-fac67bba.js
rename to content/main/docs/.vuepress/dist/assets/enums.html-fac67bba.js
diff --git a/main/docs/.vuepress/dist/assets/errors.html-0d72a89c.js b/content/main/docs/.vuepress/dist/assets/errors.html-0d72a89c.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/errors.html-0d72a89c.js
rename to content/main/docs/.vuepress/dist/assets/errors.html-0d72a89c.js
diff --git a/main/docs/.vuepress/dist/assets/errors.html-1c454e81.js b/content/main/docs/.vuepress/dist/assets/errors.html-1c454e81.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/errors.html-1c454e81.js
rename to content/main/docs/.vuepress/dist/assets/errors.html-1c454e81.js
diff --git a/main/docs/.vuepress/dist/assets/errors.html-223a5da6.js b/content/main/docs/.vuepress/dist/assets/errors.html-223a5da6.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/errors.html-223a5da6.js
rename to content/main/docs/.vuepress/dist/assets/errors.html-223a5da6.js
diff --git a/main/docs/.vuepress/dist/assets/errors.html-ecd1636f.js b/content/main/docs/.vuepress/dist/assets/errors.html-ecd1636f.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/errors.html-ecd1636f.js
rename to content/main/docs/.vuepress/dist/assets/errors.html-ecd1636f.js
diff --git a/main/docs/.vuepress/dist/assets/ffi.html-130a5838.js b/content/main/docs/.vuepress/dist/assets/ffi.html-130a5838.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/ffi.html-130a5838.js
rename to content/main/docs/.vuepress/dist/assets/ffi.html-130a5838.js
diff --git a/main/docs/.vuepress/dist/assets/ffi.html-b12e681a.js b/content/main/docs/.vuepress/dist/assets/ffi.html-b12e681a.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/ffi.html-b12e681a.js
rename to content/main/docs/.vuepress/dist/assets/ffi.html-b12e681a.js
diff --git a/main/docs/.vuepress/dist/assets/ffi.html-c5d36b59.js b/content/main/docs/.vuepress/dist/assets/ffi.html-c5d36b59.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/ffi.html-c5d36b59.js
rename to content/main/docs/.vuepress/dist/assets/ffi.html-c5d36b59.js
diff --git a/main/docs/.vuepress/dist/assets/ffi.html-eea11461.js b/content/main/docs/.vuepress/dist/assets/ffi.html-eea11461.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/ffi.html-eea11461.js
rename to content/main/docs/.vuepress/dist/assets/ffi.html-eea11461.js
diff --git a/main/docs/.vuepress/dist/assets/fibers.html-16508b49.js b/content/main/docs/.vuepress/dist/assets/fibers.html-16508b49.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/fibers.html-16508b49.js
rename to content/main/docs/.vuepress/dist/assets/fibers.html-16508b49.js
diff --git a/main/docs/.vuepress/dist/assets/fibers.html-71ea4736.js b/content/main/docs/.vuepress/dist/assets/fibers.html-71ea4736.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/fibers.html-71ea4736.js
rename to content/main/docs/.vuepress/dist/assets/fibers.html-71ea4736.js
diff --git a/main/docs/.vuepress/dist/assets/fibers.html-8e285f23.js b/content/main/docs/.vuepress/dist/assets/fibers.html-8e285f23.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/fibers.html-8e285f23.js
rename to content/main/docs/.vuepress/dist/assets/fibers.html-8e285f23.js
diff --git a/main/docs/.vuepress/dist/assets/fibers.html-f5030769.js b/content/main/docs/.vuepress/dist/assets/fibers.html-f5030769.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/fibers.html-f5030769.js
rename to content/main/docs/.vuepress/dist/assets/fibers.html-f5030769.js
diff --git a/main/docs/.vuepress/dist/assets/fs.html-122542d3.js b/content/main/docs/.vuepress/dist/assets/fs.html-122542d3.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/fs.html-122542d3.js
rename to content/main/docs/.vuepress/dist/assets/fs.html-122542d3.js
diff --git a/main/docs/.vuepress/dist/assets/fs.html-a69c80bd.js b/content/main/docs/.vuepress/dist/assets/fs.html-a69c80bd.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/fs.html-a69c80bd.js
rename to content/main/docs/.vuepress/dist/assets/fs.html-a69c80bd.js
diff --git a/main/docs/.vuepress/dist/assets/functions.html-6d499fbe.js b/content/main/docs/.vuepress/dist/assets/functions.html-6d499fbe.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/functions.html-6d499fbe.js
rename to content/main/docs/.vuepress/dist/assets/functions.html-6d499fbe.js
diff --git a/main/docs/.vuepress/dist/assets/functions.html-71d6b513.js b/content/main/docs/.vuepress/dist/assets/functions.html-71d6b513.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/functions.html-71d6b513.js
rename to content/main/docs/.vuepress/dist/assets/functions.html-71d6b513.js
diff --git a/main/docs/.vuepress/dist/assets/gc.html-068f31c7.js b/content/main/docs/.vuepress/dist/assets/gc.html-068f31c7.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/gc.html-068f31c7.js
rename to content/main/docs/.vuepress/dist/assets/gc.html-068f31c7.js
diff --git a/main/docs/.vuepress/dist/assets/gc.html-3d7a02c4.js b/content/main/docs/.vuepress/dist/assets/gc.html-3d7a02c4.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/gc.html-3d7a02c4.js
rename to content/main/docs/.vuepress/dist/assets/gc.html-3d7a02c4.js
diff --git a/main/docs/.vuepress/dist/assets/get-started.html-52577ec7.js b/content/main/docs/.vuepress/dist/assets/get-started.html-52577ec7.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/get-started.html-52577ec7.js
rename to content/main/docs/.vuepress/dist/assets/get-started.html-52577ec7.js
diff --git a/main/docs/.vuepress/dist/assets/get-started.html-8c2eb3a6.js b/content/main/docs/.vuepress/dist/assets/get-started.html-8c2eb3a6.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/get-started.html-8c2eb3a6.js
rename to content/main/docs/.vuepress/dist/assets/get-started.html-8c2eb3a6.js
diff --git a/main/docs/.vuepress/dist/assets/http.html-4a451b45.js b/content/main/docs/.vuepress/dist/assets/http.html-4a451b45.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/http.html-4a451b45.js
rename to content/main/docs/.vuepress/dist/assets/http.html-4a451b45.js
diff --git a/main/docs/.vuepress/dist/assets/http.html-e1f7da91.js b/content/main/docs/.vuepress/dist/assets/http.html-e1f7da91.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/http.html-e1f7da91.js
rename to content/main/docs/.vuepress/dist/assets/http.html-e1f7da91.js
diff --git a/main/docs/.vuepress/dist/assets/import-export.html-253553e6.js b/content/main/docs/.vuepress/dist/assets/import-export.html-253553e6.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/import-export.html-253553e6.js
rename to content/main/docs/.vuepress/dist/assets/import-export.html-253553e6.js
diff --git a/main/docs/.vuepress/dist/assets/import-export.html-c7a1cb0f.js b/content/main/docs/.vuepress/dist/assets/import-export.html-c7a1cb0f.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/import-export.html-c7a1cb0f.js
rename to content/main/docs/.vuepress/dist/assets/import-export.html-c7a1cb0f.js
diff --git a/main/docs/.vuepress/dist/assets/index.html-2ec4ef30.js b/content/main/docs/.vuepress/dist/assets/index.html-2ec4ef30.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/index.html-2ec4ef30.js
rename to content/main/docs/.vuepress/dist/assets/index.html-2ec4ef30.js
diff --git a/main/docs/.vuepress/dist/assets/index.html-7de7ebeb.js b/content/main/docs/.vuepress/dist/assets/index.html-7de7ebeb.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/index.html-7de7ebeb.js
rename to content/main/docs/.vuepress/dist/assets/index.html-7de7ebeb.js
diff --git a/main/docs/.vuepress/dist/assets/index.html-9bac4119.js b/content/main/docs/.vuepress/dist/assets/index.html-9bac4119.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/index.html-9bac4119.js
rename to content/main/docs/.vuepress/dist/assets/index.html-9bac4119.js
diff --git a/main/docs/.vuepress/dist/assets/index.html-9ce5cec2.js b/content/main/docs/.vuepress/dist/assets/index.html-9ce5cec2.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/index.html-9ce5cec2.js
rename to content/main/docs/.vuepress/dist/assets/index.html-9ce5cec2.js
diff --git a/main/docs/.vuepress/dist/assets/index.html-b1241025.js b/content/main/docs/.vuepress/dist/assets/index.html-b1241025.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/index.html-b1241025.js
rename to content/main/docs/.vuepress/dist/assets/index.html-b1241025.js
diff --git a/main/docs/.vuepress/dist/assets/index.html-ee2aed99.js b/content/main/docs/.vuepress/dist/assets/index.html-ee2aed99.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/index.html-ee2aed99.js
rename to content/main/docs/.vuepress/dist/assets/index.html-ee2aed99.js
diff --git a/main/docs/.vuepress/dist/assets/io.html-28d6763c.js b/content/main/docs/.vuepress/dist/assets/io.html-28d6763c.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/io.html-28d6763c.js
rename to content/main/docs/.vuepress/dist/assets/io.html-28d6763c.js
diff --git a/main/docs/.vuepress/dist/assets/io.html-c1a15cd0.js b/content/main/docs/.vuepress/dist/assets/io.html-c1a15cd0.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/io.html-c1a15cd0.js
rename to content/main/docs/.vuepress/dist/assets/io.html-c1a15cd0.js
diff --git a/main/docs/.vuepress/dist/assets/lists.html-6196a427.js b/content/main/docs/.vuepress/dist/assets/lists.html-6196a427.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/lists.html-6196a427.js
rename to content/main/docs/.vuepress/dist/assets/lists.html-6196a427.js
diff --git a/main/docs/.vuepress/dist/assets/lists.html-eaf29a24.js b/content/main/docs/.vuepress/dist/assets/lists.html-eaf29a24.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/lists.html-eaf29a24.js
rename to content/main/docs/.vuepress/dist/assets/lists.html-eaf29a24.js
diff --git a/main/docs/.vuepress/dist/assets/manifest.html-b658225f.js b/content/main/docs/.vuepress/dist/assets/manifest.html-b658225f.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/manifest.html-b658225f.js
rename to content/main/docs/.vuepress/dist/assets/manifest.html-b658225f.js
diff --git a/main/docs/.vuepress/dist/assets/manifest.html-c41026e8.js b/content/main/docs/.vuepress/dist/assets/manifest.html-c41026e8.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/manifest.html-c41026e8.js
rename to content/main/docs/.vuepress/dist/assets/manifest.html-c41026e8.js
diff --git a/main/docs/.vuepress/dist/assets/maps.html-7ad1e8ad.js b/content/main/docs/.vuepress/dist/assets/maps.html-7ad1e8ad.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/maps.html-7ad1e8ad.js
rename to content/main/docs/.vuepress/dist/assets/maps.html-7ad1e8ad.js
diff --git a/main/docs/.vuepress/dist/assets/maps.html-8551948f.js b/content/main/docs/.vuepress/dist/assets/maps.html-8551948f.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/maps.html-8551948f.js
rename to content/main/docs/.vuepress/dist/assets/maps.html-8551948f.js
diff --git a/main/docs/.vuepress/dist/assets/math.html-93f55f15.js b/content/main/docs/.vuepress/dist/assets/math.html-93f55f15.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/math.html-93f55f15.js
rename to content/main/docs/.vuepress/dist/assets/math.html-93f55f15.js
diff --git a/main/docs/.vuepress/dist/assets/math.html-eb02d6d2.js b/content/main/docs/.vuepress/dist/assets/math.html-eb02d6d2.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/math.html-eb02d6d2.js
rename to content/main/docs/.vuepress/dist/assets/math.html-eb02d6d2.js
diff --git a/main/docs/.vuepress/dist/assets/null-safety.html-27a10c06.js b/content/main/docs/.vuepress/dist/assets/null-safety.html-27a10c06.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/null-safety.html-27a10c06.js
rename to content/main/docs/.vuepress/dist/assets/null-safety.html-27a10c06.js
diff --git a/main/docs/.vuepress/dist/assets/null-safety.html-a8154d47.js b/content/main/docs/.vuepress/dist/assets/null-safety.html-a8154d47.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/null-safety.html-a8154d47.js
rename to content/main/docs/.vuepress/dist/assets/null-safety.html-a8154d47.js
diff --git a/main/docs/.vuepress/dist/assets/objects.html-030ef37c.js b/content/main/docs/.vuepress/dist/assets/objects.html-030ef37c.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/objects.html-030ef37c.js
rename to content/main/docs/.vuepress/dist/assets/objects.html-030ef37c.js
diff --git a/main/docs/.vuepress/dist/assets/objects.html-785a4b41.js b/content/main/docs/.vuepress/dist/assets/objects.html-785a4b41.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/objects.html-785a4b41.js
rename to content/main/docs/.vuepress/dist/assets/objects.html-785a4b41.js
diff --git a/main/docs/.vuepress/dist/assets/os.html-ac29c9d4.js b/content/main/docs/.vuepress/dist/assets/os.html-ac29c9d4.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/os.html-ac29c9d4.js
rename to content/main/docs/.vuepress/dist/assets/os.html-ac29c9d4.js
diff --git a/main/docs/.vuepress/dist/assets/os.html-c27c3a80.js b/content/main/docs/.vuepress/dist/assets/os.html-c27c3a80.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/os.html-c27c3a80.js
rename to content/main/docs/.vuepress/dist/assets/os.html-c27c3a80.js
diff --git a/main/docs/.vuepress/dist/assets/package.html-edeb64c9.js b/content/main/docs/.vuepress/dist/assets/package.html-edeb64c9.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/package.html-edeb64c9.js
rename to content/main/docs/.vuepress/dist/assets/package.html-edeb64c9.js
diff --git a/main/docs/.vuepress/dist/assets/package.html-f02962f6.js b/content/main/docs/.vuepress/dist/assets/package.html-f02962f6.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/package.html-f02962f6.js
rename to content/main/docs/.vuepress/dist/assets/package.html-f02962f6.js
diff --git a/main/docs/.vuepress/dist/assets/patterns.html-59e24f57.js b/content/main/docs/.vuepress/dist/assets/patterns.html-59e24f57.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/patterns.html-59e24f57.js
rename to content/main/docs/.vuepress/dist/assets/patterns.html-59e24f57.js
diff --git a/main/docs/.vuepress/dist/assets/patterns.html-f2b4d5aa.js b/content/main/docs/.vuepress/dist/assets/patterns.html-f2b4d5aa.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/patterns.html-f2b4d5aa.js
rename to content/main/docs/.vuepress/dist/assets/patterns.html-f2b4d5aa.js
diff --git a/main/docs/.vuepress/dist/assets/protocols.html-6e7ed9b1.js b/content/main/docs/.vuepress/dist/assets/protocols.html-6e7ed9b1.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/protocols.html-6e7ed9b1.js
rename to content/main/docs/.vuepress/dist/assets/protocols.html-6e7ed9b1.js
diff --git a/main/docs/.vuepress/dist/assets/protocols.html-f1222f71.js b/content/main/docs/.vuepress/dist/assets/protocols.html-f1222f71.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/protocols.html-f1222f71.js
rename to content/main/docs/.vuepress/dist/assets/protocols.html-f1222f71.js
diff --git a/main/docs/.vuepress/dist/assets/ranges.html-3ca80bd5.js b/content/main/docs/.vuepress/dist/assets/ranges.html-3ca80bd5.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/ranges.html-3ca80bd5.js
rename to content/main/docs/.vuepress/dist/assets/ranges.html-3ca80bd5.js
diff --git a/main/docs/.vuepress/dist/assets/ranges.html-3f025e6a.js b/content/main/docs/.vuepress/dist/assets/ranges.html-3f025e6a.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/ranges.html-3f025e6a.js
rename to content/main/docs/.vuepress/dist/assets/ranges.html-3f025e6a.js
diff --git a/main/docs/.vuepress/dist/assets/repl.html-e0ab52fe.js b/content/main/docs/.vuepress/dist/assets/repl.html-e0ab52fe.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/repl.html-e0ab52fe.js
rename to content/main/docs/.vuepress/dist/assets/repl.html-e0ab52fe.js
diff --git a/main/docs/.vuepress/dist/assets/repl.html-e56c24b3.js b/content/main/docs/.vuepress/dist/assets/repl.html-e56c24b3.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/repl.html-e56c24b3.js
rename to content/main/docs/.vuepress/dist/assets/repl.html-e56c24b3.js
diff --git a/main/docs/.vuepress/dist/assets/scope.html-8abe8ae3.js b/content/main/docs/.vuepress/dist/assets/scope.html-8abe8ae3.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/scope.html-8abe8ae3.js
rename to content/main/docs/.vuepress/dist/assets/scope.html-8abe8ae3.js
diff --git a/main/docs/.vuepress/dist/assets/scope.html-e02d0c59.js b/content/main/docs/.vuepress/dist/assets/scope.html-e02d0c59.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/scope.html-e02d0c59.js
rename to content/main/docs/.vuepress/dist/assets/scope.html-e02d0c59.js
diff --git a/main/docs/.vuepress/dist/assets/serialize.html-f25dd295.js b/content/main/docs/.vuepress/dist/assets/serialize.html-f25dd295.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/serialize.html-f25dd295.js
rename to content/main/docs/.vuepress/dist/assets/serialize.html-f25dd295.js
diff --git a/main/docs/.vuepress/dist/assets/serialize.html-faa98dc9.js b/content/main/docs/.vuepress/dist/assets/serialize.html-faa98dc9.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/serialize.html-faa98dc9.js
rename to content/main/docs/.vuepress/dist/assets/serialize.html-faa98dc9.js
diff --git a/main/docs/.vuepress/dist/assets/std.html-014dd46a.js b/content/main/docs/.vuepress/dist/assets/std.html-014dd46a.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/std.html-014dd46a.js
rename to content/main/docs/.vuepress/dist/assets/std.html-014dd46a.js
diff --git a/main/docs/.vuepress/dist/assets/std.html-d8724455.js b/content/main/docs/.vuepress/dist/assets/std.html-d8724455.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/std.html-d8724455.js
rename to content/main/docs/.vuepress/dist/assets/std.html-d8724455.js
diff --git a/main/docs/.vuepress/dist/assets/strings.html-19211e8e.js b/content/main/docs/.vuepress/dist/assets/strings.html-19211e8e.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/strings.html-19211e8e.js
rename to content/main/docs/.vuepress/dist/assets/strings.html-19211e8e.js
diff --git a/main/docs/.vuepress/dist/assets/strings.html-9536272f.js b/content/main/docs/.vuepress/dist/assets/strings.html-9536272f.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/strings.html-9536272f.js
rename to content/main/docs/.vuepress/dist/assets/strings.html-9536272f.js
diff --git a/main/docs/.vuepress/dist/assets/style-5aa52750.css b/content/main/docs/.vuepress/dist/assets/style-5aa52750.css
similarity index 100%
rename from main/docs/.vuepress/dist/assets/style-5aa52750.css
rename to content/main/docs/.vuepress/dist/assets/style-5aa52750.css
diff --git a/main/docs/.vuepress/dist/assets/syntax.html-979ec2fd.js b/content/main/docs/.vuepress/dist/assets/syntax.html-979ec2fd.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/syntax.html-979ec2fd.js
rename to content/main/docs/.vuepress/dist/assets/syntax.html-979ec2fd.js
diff --git a/main/docs/.vuepress/dist/assets/syntax.html-c5ec77a6.js b/content/main/docs/.vuepress/dist/assets/syntax.html-c5ec77a6.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/syntax.html-c5ec77a6.js
rename to content/main/docs/.vuepress/dist/assets/syntax.html-c5ec77a6.js
diff --git a/main/docs/.vuepress/dist/assets/testing.html-23e53806.js b/content/main/docs/.vuepress/dist/assets/testing.html-23e53806.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/testing.html-23e53806.js
rename to content/main/docs/.vuepress/dist/assets/testing.html-23e53806.js
diff --git a/main/docs/.vuepress/dist/assets/testing.html-ee7981d7.js b/content/main/docs/.vuepress/dist/assets/testing.html-ee7981d7.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/testing.html-ee7981d7.js
rename to content/main/docs/.vuepress/dist/assets/testing.html-ee7981d7.js
diff --git a/main/docs/.vuepress/dist/assets/toml.html-69771c57.js b/content/main/docs/.vuepress/dist/assets/toml.html-69771c57.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/toml.html-69771c57.js
rename to content/main/docs/.vuepress/dist/assets/toml.html-69771c57.js
diff --git a/main/docs/.vuepress/dist/assets/toml.html-f24fd17d.js b/content/main/docs/.vuepress/dist/assets/toml.html-f24fd17d.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/toml.html-f24fd17d.js
rename to content/main/docs/.vuepress/dist/assets/toml.html-f24fd17d.js
diff --git a/main/docs/.vuepress/dist/assets/types.html-2dc8ea4a.js b/content/main/docs/.vuepress/dist/assets/types.html-2dc8ea4a.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/types.html-2dc8ea4a.js
rename to content/main/docs/.vuepress/dist/assets/types.html-2dc8ea4a.js
diff --git a/main/docs/.vuepress/dist/assets/types.html-f2d7ed88.js b/content/main/docs/.vuepress/dist/assets/types.html-f2d7ed88.js
similarity index 100%
rename from main/docs/.vuepress/dist/assets/types.html-f2d7ed88.js
rename to content/main/docs/.vuepress/dist/assets/types.html-f2d7ed88.js
diff --git a/main/docs/.vuepress/dist/buzz.wasm b/content/main/docs/.vuepress/dist/buzz.wasm
similarity index 100%
rename from main/docs/.vuepress/dist/buzz.wasm
rename to content/main/docs/.vuepress/dist/buzz.wasm
diff --git a/main/docs/.vuepress/dist/favicon.ico b/content/main/docs/.vuepress/dist/favicon.ico
similarity index 100%
rename from main/docs/.vuepress/dist/favicon.ico
rename to content/main/docs/.vuepress/dist/favicon.ico
diff --git a/main/docs/.vuepress/dist/guide/building-installing.html b/content/main/docs/.vuepress/dist/guide/building-installing.html
similarity index 100%
rename from main/docs/.vuepress/dist/guide/building-installing.html
rename to content/main/docs/.vuepress/dist/guide/building-installing.html
diff --git a/main/docs/.vuepress/dist/guide/calling-native-code.html b/content/main/docs/.vuepress/dist/guide/calling-native-code.html
similarity index 100%
rename from main/docs/.vuepress/dist/guide/calling-native-code.html
rename to content/main/docs/.vuepress/dist/guide/calling-native-code.html
diff --git a/main/docs/.vuepress/dist/guide/control-flow.html b/content/main/docs/.vuepress/dist/guide/control-flow.html
similarity index 100%
rename from main/docs/.vuepress/dist/guide/control-flow.html
rename to content/main/docs/.vuepress/dist/guide/control-flow.html
diff --git a/main/docs/.vuepress/dist/guide/enums.html b/content/main/docs/.vuepress/dist/guide/enums.html
similarity index 100%
rename from main/docs/.vuepress/dist/guide/enums.html
rename to content/main/docs/.vuepress/dist/guide/enums.html
diff --git a/main/docs/.vuepress/dist/guide/errors.html b/content/main/docs/.vuepress/dist/guide/errors.html
similarity index 100%
rename from main/docs/.vuepress/dist/guide/errors.html
rename to content/main/docs/.vuepress/dist/guide/errors.html
diff --git a/main/docs/.vuepress/dist/guide/ffi.html b/content/main/docs/.vuepress/dist/guide/ffi.html
similarity index 100%
rename from main/docs/.vuepress/dist/guide/ffi.html
rename to content/main/docs/.vuepress/dist/guide/ffi.html
diff --git a/main/docs/.vuepress/dist/guide/fibers.html b/content/main/docs/.vuepress/dist/guide/fibers.html
similarity index 100%
rename from main/docs/.vuepress/dist/guide/fibers.html
rename to content/main/docs/.vuepress/dist/guide/fibers.html
diff --git a/main/docs/.vuepress/dist/guide/functions.html b/content/main/docs/.vuepress/dist/guide/functions.html
similarity index 100%
rename from main/docs/.vuepress/dist/guide/functions.html
rename to content/main/docs/.vuepress/dist/guide/functions.html
diff --git a/main/docs/.vuepress/dist/guide/get-started.html b/content/main/docs/.vuepress/dist/guide/get-started.html
similarity index 100%
rename from main/docs/.vuepress/dist/guide/get-started.html
rename to content/main/docs/.vuepress/dist/guide/get-started.html
diff --git a/main/docs/.vuepress/dist/guide/import-export.html b/content/main/docs/.vuepress/dist/guide/import-export.html
similarity index 100%
rename from main/docs/.vuepress/dist/guide/import-export.html
rename to content/main/docs/.vuepress/dist/guide/import-export.html
diff --git a/main/docs/.vuepress/dist/guide/index.html b/content/main/docs/.vuepress/dist/guide/index.html
similarity index 100%
rename from main/docs/.vuepress/dist/guide/index.html
rename to content/main/docs/.vuepress/dist/guide/index.html
diff --git a/main/docs/.vuepress/dist/guide/null-safety.html b/content/main/docs/.vuepress/dist/guide/null-safety.html
similarity index 100%
rename from main/docs/.vuepress/dist/guide/null-safety.html
rename to content/main/docs/.vuepress/dist/guide/null-safety.html
diff --git a/main/docs/.vuepress/dist/guide/objects.html b/content/main/docs/.vuepress/dist/guide/objects.html
similarity index 100%
rename from main/docs/.vuepress/dist/guide/objects.html
rename to content/main/docs/.vuepress/dist/guide/objects.html
diff --git a/main/docs/.vuepress/dist/guide/package.html b/content/main/docs/.vuepress/dist/guide/package.html
similarity index 100%
rename from main/docs/.vuepress/dist/guide/package.html
rename to content/main/docs/.vuepress/dist/guide/package.html
diff --git a/main/docs/.vuepress/dist/guide/protocols.html b/content/main/docs/.vuepress/dist/guide/protocols.html
similarity index 100%
rename from main/docs/.vuepress/dist/guide/protocols.html
rename to content/main/docs/.vuepress/dist/guide/protocols.html
diff --git a/main/docs/.vuepress/dist/guide/scope.html b/content/main/docs/.vuepress/dist/guide/scope.html
similarity index 100%
rename from main/docs/.vuepress/dist/guide/scope.html
rename to content/main/docs/.vuepress/dist/guide/scope.html
diff --git a/main/docs/.vuepress/dist/guide/syntax.html b/content/main/docs/.vuepress/dist/guide/syntax.html
similarity index 100%
rename from main/docs/.vuepress/dist/guide/syntax.html
rename to content/main/docs/.vuepress/dist/guide/syntax.html
diff --git a/main/docs/.vuepress/dist/guide/types.html b/content/main/docs/.vuepress/dist/guide/types.html
similarity index 100%
rename from main/docs/.vuepress/dist/guide/types.html
rename to content/main/docs/.vuepress/dist/guide/types.html
diff --git a/main/docs/.vuepress/dist/index.html b/content/main/docs/.vuepress/dist/index.html
similarity index 100%
rename from main/docs/.vuepress/dist/index.html
rename to content/main/docs/.vuepress/dist/index.html
diff --git a/main/docs/.vuepress/public/logo.png b/content/main/docs/.vuepress/dist/logo.png
similarity index 100%
rename from main/docs/.vuepress/public/logo.png
rename to content/main/docs/.vuepress/dist/logo.png
diff --git a/main/docs/.vuepress/dist/reference/api.html b/content/main/docs/.vuepress/dist/reference/api.html
similarity index 100%
rename from main/docs/.vuepress/dist/reference/api.html
rename to content/main/docs/.vuepress/dist/reference/api.html
diff --git a/main/docs/.vuepress/dist/reference/builtins/fibers.html b/content/main/docs/.vuepress/dist/reference/builtins/fibers.html
similarity index 100%
rename from main/docs/.vuepress/dist/reference/builtins/fibers.html
rename to content/main/docs/.vuepress/dist/reference/builtins/fibers.html
diff --git a/main/docs/.vuepress/dist/reference/builtins/lists.html b/content/main/docs/.vuepress/dist/reference/builtins/lists.html
similarity index 100%
rename from main/docs/.vuepress/dist/reference/builtins/lists.html
rename to content/main/docs/.vuepress/dist/reference/builtins/lists.html
diff --git a/main/docs/.vuepress/dist/reference/builtins/maps.html b/content/main/docs/.vuepress/dist/reference/builtins/maps.html
similarity index 100%
rename from main/docs/.vuepress/dist/reference/builtins/maps.html
rename to content/main/docs/.vuepress/dist/reference/builtins/maps.html
diff --git a/main/docs/.vuepress/dist/reference/builtins/patterns.html b/content/main/docs/.vuepress/dist/reference/builtins/patterns.html
similarity index 100%
rename from main/docs/.vuepress/dist/reference/builtins/patterns.html
rename to content/main/docs/.vuepress/dist/reference/builtins/patterns.html
diff --git a/main/docs/.vuepress/dist/reference/builtins/ranges.html b/content/main/docs/.vuepress/dist/reference/builtins/ranges.html
similarity index 100%
rename from main/docs/.vuepress/dist/reference/builtins/ranges.html
rename to content/main/docs/.vuepress/dist/reference/builtins/ranges.html
diff --git a/main/docs/.vuepress/dist/reference/builtins/strings.html b/content/main/docs/.vuepress/dist/reference/builtins/strings.html
similarity index 100%
rename from main/docs/.vuepress/dist/reference/builtins/strings.html
rename to content/main/docs/.vuepress/dist/reference/builtins/strings.html
diff --git a/main/docs/.vuepress/dist/reference/index.html b/content/main/docs/.vuepress/dist/reference/index.html
similarity index 100%
rename from main/docs/.vuepress/dist/reference/index.html
rename to content/main/docs/.vuepress/dist/reference/index.html
diff --git a/main/docs/.vuepress/dist/reference/std/buffer.html b/content/main/docs/.vuepress/dist/reference/std/buffer.html
similarity index 100%
rename from main/docs/.vuepress/dist/reference/std/buffer.html
rename to content/main/docs/.vuepress/dist/reference/std/buffer.html
diff --git a/main/docs/.vuepress/dist/reference/std/crypto.html b/content/main/docs/.vuepress/dist/reference/std/crypto.html
similarity index 100%
rename from main/docs/.vuepress/dist/reference/std/crypto.html
rename to content/main/docs/.vuepress/dist/reference/std/crypto.html
diff --git a/main/docs/.vuepress/dist/reference/std/debug.html b/content/main/docs/.vuepress/dist/reference/std/debug.html
similarity index 100%
rename from main/docs/.vuepress/dist/reference/std/debug.html
rename to content/main/docs/.vuepress/dist/reference/std/debug.html
diff --git a/main/docs/.vuepress/dist/reference/std/errors.html b/content/main/docs/.vuepress/dist/reference/std/errors.html
similarity index 100%
rename from main/docs/.vuepress/dist/reference/std/errors.html
rename to content/main/docs/.vuepress/dist/reference/std/errors.html
diff --git a/main/docs/.vuepress/dist/reference/std/ffi.html b/content/main/docs/.vuepress/dist/reference/std/ffi.html
similarity index 100%
rename from main/docs/.vuepress/dist/reference/std/ffi.html
rename to content/main/docs/.vuepress/dist/reference/std/ffi.html
diff --git a/main/docs/.vuepress/dist/reference/std/fs.html b/content/main/docs/.vuepress/dist/reference/std/fs.html
similarity index 100%
rename from main/docs/.vuepress/dist/reference/std/fs.html
rename to content/main/docs/.vuepress/dist/reference/std/fs.html
diff --git a/main/docs/.vuepress/dist/reference/std/gc.html b/content/main/docs/.vuepress/dist/reference/std/gc.html
similarity index 100%
rename from main/docs/.vuepress/dist/reference/std/gc.html
rename to content/main/docs/.vuepress/dist/reference/std/gc.html
diff --git a/main/docs/.vuepress/dist/reference/std/http.html b/content/main/docs/.vuepress/dist/reference/std/http.html
similarity index 100%
rename from main/docs/.vuepress/dist/reference/std/http.html
rename to content/main/docs/.vuepress/dist/reference/std/http.html
diff --git a/main/docs/.vuepress/dist/reference/std/io.html b/content/main/docs/.vuepress/dist/reference/std/io.html
similarity index 100%
rename from main/docs/.vuepress/dist/reference/std/io.html
rename to content/main/docs/.vuepress/dist/reference/std/io.html
diff --git a/main/docs/.vuepress/dist/reference/std/manifest.html b/content/main/docs/.vuepress/dist/reference/std/manifest.html
similarity index 100%
rename from main/docs/.vuepress/dist/reference/std/manifest.html
rename to content/main/docs/.vuepress/dist/reference/std/manifest.html
diff --git a/main/docs/.vuepress/dist/reference/std/math.html b/content/main/docs/.vuepress/dist/reference/std/math.html
similarity index 100%
rename from main/docs/.vuepress/dist/reference/std/math.html
rename to content/main/docs/.vuepress/dist/reference/std/math.html
diff --git a/main/docs/.vuepress/dist/reference/std/os.html b/content/main/docs/.vuepress/dist/reference/std/os.html
similarity index 100%
rename from main/docs/.vuepress/dist/reference/std/os.html
rename to content/main/docs/.vuepress/dist/reference/std/os.html
diff --git a/main/docs/.vuepress/dist/reference/std/serialize.html b/content/main/docs/.vuepress/dist/reference/std/serialize.html
similarity index 100%
rename from main/docs/.vuepress/dist/reference/std/serialize.html
rename to content/main/docs/.vuepress/dist/reference/std/serialize.html
diff --git a/main/docs/.vuepress/dist/reference/std/std.html b/content/main/docs/.vuepress/dist/reference/std/std.html
similarity index 100%
rename from main/docs/.vuepress/dist/reference/std/std.html
rename to content/main/docs/.vuepress/dist/reference/std/std.html
diff --git a/main/docs/.vuepress/dist/reference/std/testing.html b/content/main/docs/.vuepress/dist/reference/std/testing.html
similarity index 100%
rename from main/docs/.vuepress/dist/reference/std/testing.html
rename to content/main/docs/.vuepress/dist/reference/std/testing.html
diff --git a/main/docs/.vuepress/dist/reference/std/toml.html b/content/main/docs/.vuepress/dist/reference/std/toml.html
similarity index 100%
rename from main/docs/.vuepress/dist/reference/std/toml.html
rename to content/main/docs/.vuepress/dist/reference/std/toml.html
diff --git a/main/docs/.vuepress/dist/repl.html b/content/main/docs/.vuepress/dist/repl.html
similarity index 100%
rename from main/docs/.vuepress/dist/repl.html
rename to content/main/docs/.vuepress/dist/repl.html
diff --git a/main/docs/.vuepress/public/.DS_Store b/content/main/docs/.vuepress/public/.DS_Store
similarity index 100%
rename from main/docs/.vuepress/public/.DS_Store
rename to content/main/docs/.vuepress/public/.DS_Store
diff --git a/main/docs/.vuepress/public/buzz.wasm b/content/main/docs/.vuepress/public/buzz.wasm
similarity index 100%
rename from main/docs/.vuepress/public/buzz.wasm
rename to content/main/docs/.vuepress/public/buzz.wasm
diff --git a/main/docs/.vuepress/public/favicon.ico b/content/main/docs/.vuepress/public/favicon.ico
similarity index 100%
rename from main/docs/.vuepress/public/favicon.ico
rename to content/main/docs/.vuepress/public/favicon.ico
diff --git a/content/main/docs/.vuepress/public/logo.png b/content/main/docs/.vuepress/public/logo.png
new file mode 100644
index 00000000..12aec3e1
Binary files /dev/null and b/content/main/docs/.vuepress/public/logo.png differ
diff --git a/main/docs/.vuepress/styles/index.scss b/content/main/docs/.vuepress/styles/index.scss
similarity index 100%
rename from main/docs/.vuepress/styles/index.scss
rename to content/main/docs/.vuepress/styles/index.scss
diff --git a/main/docs/guide/README.md b/content/main/docs/guide/README.md
similarity index 100%
rename from main/docs/guide/README.md
rename to content/main/docs/guide/README.md
diff --git a/main/docs/guide/building-installing.md b/content/main/docs/guide/building-installing.md
similarity index 100%
rename from main/docs/guide/building-installing.md
rename to content/main/docs/guide/building-installing.md
diff --git a/main/docs/guide/calling-native-code.md b/content/main/docs/guide/calling-native-code.md
similarity index 100%
rename from main/docs/guide/calling-native-code.md
rename to content/main/docs/guide/calling-native-code.md
diff --git a/main/docs/guide/control-flow.md b/content/main/docs/guide/control-flow.md
similarity index 100%
rename from main/docs/guide/control-flow.md
rename to content/main/docs/guide/control-flow.md
diff --git a/main/docs/guide/enums.md b/content/main/docs/guide/enums.md
similarity index 100%
rename from main/docs/guide/enums.md
rename to content/main/docs/guide/enums.md
diff --git a/main/docs/guide/errors.md b/content/main/docs/guide/errors.md
similarity index 100%
rename from main/docs/guide/errors.md
rename to content/main/docs/guide/errors.md
diff --git a/main/docs/guide/ffi.md b/content/main/docs/guide/ffi.md
similarity index 100%
rename from main/docs/guide/ffi.md
rename to content/main/docs/guide/ffi.md
diff --git a/main/docs/guide/fibers.md b/content/main/docs/guide/fibers.md
similarity index 100%
rename from main/docs/guide/fibers.md
rename to content/main/docs/guide/fibers.md
diff --git a/main/docs/guide/functions.md b/content/main/docs/guide/functions.md
similarity index 100%
rename from main/docs/guide/functions.md
rename to content/main/docs/guide/functions.md
diff --git a/main/docs/guide/get-started.md b/content/main/docs/guide/get-started.md
similarity index 100%
rename from main/docs/guide/get-started.md
rename to content/main/docs/guide/get-started.md
diff --git a/main/docs/guide/import-export.md b/content/main/docs/guide/import-export.md
similarity index 100%
rename from main/docs/guide/import-export.md
rename to content/main/docs/guide/import-export.md
diff --git a/main/docs/guide/null-safety.md b/content/main/docs/guide/null-safety.md
similarity index 100%
rename from main/docs/guide/null-safety.md
rename to content/main/docs/guide/null-safety.md
diff --git a/main/docs/guide/objects.md b/content/main/docs/guide/objects.md
similarity index 100%
rename from main/docs/guide/objects.md
rename to content/main/docs/guide/objects.md
diff --git a/main/docs/guide/package.md b/content/main/docs/guide/package.md
similarity index 100%
rename from main/docs/guide/package.md
rename to content/main/docs/guide/package.md
diff --git a/main/docs/guide/protocols.md b/content/main/docs/guide/protocols.md
similarity index 100%
rename from main/docs/guide/protocols.md
rename to content/main/docs/guide/protocols.md
diff --git a/main/docs/guide/scope.md b/content/main/docs/guide/scope.md
similarity index 100%
rename from main/docs/guide/scope.md
rename to content/main/docs/guide/scope.md
diff --git a/main/docs/guide/syntax.md b/content/main/docs/guide/syntax.md
similarity index 100%
rename from main/docs/guide/syntax.md
rename to content/main/docs/guide/syntax.md
diff --git a/main/docs/guide/types.md b/content/main/docs/guide/types.md
similarity index 100%
rename from main/docs/guide/types.md
rename to content/main/docs/guide/types.md
diff --git a/main/docs/index.md b/content/main/docs/index.md
similarity index 100%
rename from main/docs/index.md
rename to content/main/docs/index.md
diff --git a/main/docs/reference/README.md b/content/main/docs/reference/README.md
similarity index 100%
rename from main/docs/reference/README.md
rename to content/main/docs/reference/README.md
diff --git a/main/docs/reference/api.md b/content/main/docs/reference/api.md
similarity index 100%
rename from main/docs/reference/api.md
rename to content/main/docs/reference/api.md
diff --git a/main/docs/reference/builtins/fibers.md b/content/main/docs/reference/builtins/fibers.md
similarity index 100%
rename from main/docs/reference/builtins/fibers.md
rename to content/main/docs/reference/builtins/fibers.md
diff --git a/main/docs/reference/builtins/lists.md b/content/main/docs/reference/builtins/lists.md
similarity index 100%
rename from main/docs/reference/builtins/lists.md
rename to content/main/docs/reference/builtins/lists.md
diff --git a/main/docs/reference/builtins/maps.md b/content/main/docs/reference/builtins/maps.md
similarity index 100%
rename from main/docs/reference/builtins/maps.md
rename to content/main/docs/reference/builtins/maps.md
diff --git a/main/docs/reference/builtins/patterns.md b/content/main/docs/reference/builtins/patterns.md
similarity index 100%
rename from main/docs/reference/builtins/patterns.md
rename to content/main/docs/reference/builtins/patterns.md
diff --git a/main/docs/reference/builtins/ranges.md b/content/main/docs/reference/builtins/ranges.md
similarity index 100%
rename from main/docs/reference/builtins/ranges.md
rename to content/main/docs/reference/builtins/ranges.md
diff --git a/main/docs/reference/builtins/strings.md b/content/main/docs/reference/builtins/strings.md
similarity index 100%
rename from main/docs/reference/builtins/strings.md
rename to content/main/docs/reference/builtins/strings.md
diff --git a/main/docs/reference/std/buffer.md b/content/main/docs/reference/std/buffer.md
similarity index 100%
rename from main/docs/reference/std/buffer.md
rename to content/main/docs/reference/std/buffer.md
diff --git a/main/docs/reference/std/crypto.md b/content/main/docs/reference/std/crypto.md
similarity index 100%
rename from main/docs/reference/std/crypto.md
rename to content/main/docs/reference/std/crypto.md
diff --git a/main/docs/reference/std/debug.md b/content/main/docs/reference/std/debug.md
similarity index 100%
rename from main/docs/reference/std/debug.md
rename to content/main/docs/reference/std/debug.md
diff --git a/main/docs/reference/std/errors.md b/content/main/docs/reference/std/errors.md
similarity index 100%
rename from main/docs/reference/std/errors.md
rename to content/main/docs/reference/std/errors.md
diff --git a/main/docs/reference/std/ffi.md b/content/main/docs/reference/std/ffi.md
similarity index 100%
rename from main/docs/reference/std/ffi.md
rename to content/main/docs/reference/std/ffi.md
diff --git a/main/docs/reference/std/fs.md b/content/main/docs/reference/std/fs.md
similarity index 100%
rename from main/docs/reference/std/fs.md
rename to content/main/docs/reference/std/fs.md
diff --git a/main/docs/reference/std/gc.md b/content/main/docs/reference/std/gc.md
similarity index 100%
rename from main/docs/reference/std/gc.md
rename to content/main/docs/reference/std/gc.md
diff --git a/main/docs/reference/std/http.md b/content/main/docs/reference/std/http.md
similarity index 100%
rename from main/docs/reference/std/http.md
rename to content/main/docs/reference/std/http.md
diff --git a/main/docs/reference/std/io.md b/content/main/docs/reference/std/io.md
similarity index 100%
rename from main/docs/reference/std/io.md
rename to content/main/docs/reference/std/io.md
diff --git a/main/docs/reference/std/manifest.md b/content/main/docs/reference/std/manifest.md
similarity index 100%
rename from main/docs/reference/std/manifest.md
rename to content/main/docs/reference/std/manifest.md
diff --git a/main/docs/reference/std/math.md b/content/main/docs/reference/std/math.md
similarity index 100%
rename from main/docs/reference/std/math.md
rename to content/main/docs/reference/std/math.md
diff --git a/main/docs/reference/std/os.md b/content/main/docs/reference/std/os.md
similarity index 100%
rename from main/docs/reference/std/os.md
rename to content/main/docs/reference/std/os.md
diff --git a/main/docs/reference/std/serialize.md b/content/main/docs/reference/std/serialize.md
similarity index 100%
rename from main/docs/reference/std/serialize.md
rename to content/main/docs/reference/std/serialize.md
diff --git a/main/docs/reference/std/std.md b/content/main/docs/reference/std/std.md
similarity index 100%
rename from main/docs/reference/std/std.md
rename to content/main/docs/reference/std/std.md
diff --git a/main/docs/reference/std/testing.md b/content/main/docs/reference/std/testing.md
similarity index 100%
rename from main/docs/reference/std/testing.md
rename to content/main/docs/reference/std/testing.md
diff --git a/main/docs/reference/std/toml.md b/content/main/docs/reference/std/toml.md
similarity index 100%
rename from main/docs/reference/std/toml.md
rename to content/main/docs/reference/std/toml.md
diff --git a/main/docs/repl.md b/content/main/docs/repl.md
similarity index 100%
rename from main/docs/repl.md
rename to content/main/docs/repl.md
diff --git a/content/main/guide/index.smd b/content/main/guide/index.smd
new file mode 100644
index 00000000..38bc1b9c
--- /dev/null
+++ b/content/main/guide/index.smd
@@ -0,0 +1,11 @@
+---
+.title = "buzz",
+.description = "A small/lightweight statically typed scripting language",
+.date = .date("1990-01-01T00:00:00"),
+.custom = {
+ "version": "main",
+},
+.layout = "page.shtml",
+---
+
+TODO: Guide
diff --git a/content/main/index.smd b/content/main/index.smd
new file mode 100644
index 00000000..21691e20
--- /dev/null
+++ b/content/main/index.smd
@@ -0,0 +1,81 @@
+---
+.title = "buzz",
+.description = "A small/lightweight statically typed scripting language",
+.date = .date("1990-01-01T00:00:00"),
+.custom = {
+ "version": "main",
+ "actions": [
+ { "text": "Guide", "link": "guide" },
+ { "text": "Reference", "link": "reference" },
+ { "text": "Try it", "link": "repl" },
+ { "text": "Latest release", "link": "https://github.com/buzz-language/buzz/releases/tag/0.5.0", "external": true },
+ ],
+ "features": [
+ {
+ "title": "Statically typed",
+ "details": "Find out bugs in your IDE rather than production",
+ },
+ {
+ "title": "JIT compiled",
+ "details": "Uses MIR, a fast and lightweight JIT compiler",
+ },
+ {
+ "title": "Unambiguous",
+ "details": "No implicit behavior or unexpected type coercion",
+ },
+ {
+ "title": "Small in size and complexity",
+ "details": "Does not take much space on your drive or in your mind",
+ },
+ {
+ "title": "Interoperability with C",
+ "details": "Call C functions easily with FFIs and embed buzz with its C API",
+ },
+ {
+ "title": "Fibers",
+ "details": "Single threaded cooperative multitasking",
+ },
+ ],
+},
+.layout = "home.shtml",
+---
+
+```kotlin buzz
+import "buzz:std";
+
+enum State { todo, doing, done }
+
+object Task {
+ title: str,
+ points: int?,
+ state: State = .todo,
+
+ fun score() => match (this.state) {
+ .done -> this.points ?? 0,
+ .doing, .todo -> 0
+ };
+}
+
+fun scores(tasks: [Task]) > str *> int {
+ foreach (task in tasks) {
+ _ = yield task.score();
+ }
+ return "scored {tasks.len()} tasks";
+}
+
+fun main() > void {
+ final tasks: [Task] = [
+ .{ title = "parser", points = 8, state = .done },
+ .{ title = "lsp", points = 5, state = .doing },
+ .{ title = "docs", points = 3 },
+ ];
+
+ var total = 0;
+ final fiber = &scores(tasks);
+ foreach (score in fiber) {
+ total += score;
+ }
+
+ std\print("completed points: {total}, message is {resolve fiber}");
+}
+```
diff --git a/main/nginx.conf b/content/main/nginx.conf
similarity index 100%
rename from main/nginx.conf
rename to content/main/nginx.conf
diff --git a/main/package.json b/content/main/package.json
similarity index 100%
rename from main/package.json
rename to content/main/package.json
diff --git a/main/pnpm-lock.yaml b/content/main/pnpm-lock.yaml
similarity index 100%
rename from main/pnpm-lock.yaml
rename to content/main/pnpm-lock.yaml
diff --git a/content/main/reference/index.smd b/content/main/reference/index.smd
new file mode 100644
index 00000000..5dc2376d
--- /dev/null
+++ b/content/main/reference/index.smd
@@ -0,0 +1,11 @@
+---
+.title = "buzz",
+.description = "A small/lightweight statically typed scripting language",
+.date = .date("1990-01-01T00:00:00"),
+.custom = {
+ "version": "main",
+},
+.layout = "page.shtml",
+---
+
+TODO: Reference
diff --git a/content/main/repl.smd b/content/main/repl.smd
new file mode 100644
index 00000000..11b77015
--- /dev/null
+++ b/content/main/repl.smd
@@ -0,0 +1,11 @@
+---
+.title = "buzz",
+.description = "A small/lightweight statically typed scripting language",
+.date = .date("1990-01-01T00:00:00"),
+.custom = {
+ "version": "main",
+},
+.layout = "page.shtml",
+---
+
+TODO: REPL
diff --git a/layouts/home.shtml b/layouts/home.shtml
new file mode 100644
index 00000000..992696b9
--- /dev/null
+++ b/layouts/home.shtml
@@ -0,0 +1,37 @@
+
+
+
+
+
+
+
+
+