diff --git a/.github/workflows/pagine.yml b/.github/workflows/pagine.yml
index 5b61d86..c67c97c 100644
--- a/.github/workflows/pagine.yml
+++ b/.github/workflows/pagine.yml
@@ -32,7 +32,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Install Pagine
- run: go install github.com/webpagine/go-pagine/cmd/pagine@latest
+ run: go install github.com/webpagine/pagine/cmd/pagine@latest
- name: Checkout
uses: actions/checkout@v4
@@ -45,7 +45,7 @@ jobs:
uses: actions/configure-pages@v4
- name: Build with Pagine
- run: ~/go/bin/pagine --gen --public ./public/
+ run: ~/go/bin/pagine --public ./public/
- name: Upload artifact
uses: actions/upload-pages-artifact@v3
diff --git a/.gitmodules b/.gitmodules
new file mode 100644
index 0000000..6ba210d
--- /dev/null
+++ b/.gitmodules
@@ -0,0 +1,3 @@
+[submodule "templates/genesis"]
+ path = templates/genesis
+ url = https://github.com/webpagine/genesis
diff --git a/404.html b/404.html
new file mode 100644
index 0000000..fcab05b
--- /dev/null
+++ b/404.html
@@ -0,0 +1,5 @@
+
+
+
404
+
Page not found.
+
diff --git a/404.html.pagine b/404.html.pagine
deleted file mode 100644
index f4d89a1..0000000
--- a/404.html.pagine
+++ /dev/null
@@ -1,14 +0,0 @@
-[templates]
-header = "/templates/header.gohtml"
-footer = "/templates/footer.gohtml"
-head = "/templates/head.gohtml"
-main = "/templates/404.gohtml"
-
-[include]
-header = [ "/data/header.toml" ]
-footer = [ "/data/footer.toml" ]
-head = [ "/data/head.toml" ]
-
-[define.main]
-lang = "en"
-title = "Pagine - Web Generator"
diff --git a/assets/base.css b/assets/base.css
deleted file mode 100644
index 99285fb..0000000
--- a/assets/base.css
+++ /dev/null
@@ -1,33 +0,0 @@
-@import "components.css";
-@import "footer.css";
-@import "header.css";
-
-body {
- font-family: "Noto Sans", serif;
- margin: 0;
-}
-
-footer {
- color: white;
- background-color: black;
-}
-
-header {
- margin: 0;
-}
-
-.invert {
- filter: invert(1);
-}
-
-.content {
- a {
- text-decoration: none;
- transition-duration: 500ms;
- }
-
- a:hover {
- color: deepskyblue;
- transition-duration: 500ms;
- }
-}
\ No newline at end of file
diff --git a/assets/components.css b/assets/components.css
deleted file mode 100644
index d20a3c0..0000000
--- a/assets/components.css
+++ /dev/null
@@ -1,22 +0,0 @@
-a.button {
- margin: 0 10px;
- padding: 10px 20px;
- border-radius: 30px;
-
- font-family: "Droid Sans", serif;
- font-weight: bolder;
-
- color: white;
-
- transition-duration: 200ms;
-
- background-color: #ff336a;
-
- text-decoration: none;
-}
-
-.button:hover {
- transition-duration: 200ms;
-
- background-color: #f58;
-}
diff --git a/assets/footer.css b/assets/footer.css
deleted file mode 100644
index 3376389..0000000
--- a/assets/footer.css
+++ /dev/null
@@ -1,71 +0,0 @@
-.footer {
- margin: 0 40px;
- padding: 50px 50px 10px 50px;
-}
-
-.footer-row {
- display: flex;
- align-items: stretch;
- box-sizing: border-box;
- margin-left: 14px;
- margin-right: 14px;
- flex-wrap: wrap;
-}
-
-.footer-link-list-block {
- margin: 0 14px 32px 14px;
-}
-
-.footer-link-list-title {
- color: #aaa;
-
- font-weight: bold;
-}
-
-.footer-link-list {
- display: flex;
- flex-direction: column;
- align-items: flex-start;
-
- min-width: 200px;
-
- a {
- color: white;
- margin-top: 10px;
-
- text-decoration: none;
- }
-
- a:hover {
- text-decoration: underline;
- }
-}
-
-.footer-icon-list {
- margin-top: 10px;
-
- display: flex;
- flex-direction: initial;
- align-items: flex-start;
-
- min-width: 200px;
-}
-
-.footer-icon {
- margin: 0 40px 30px 0;
-
- width: 30px;
- height: 30px;
-
- filter: invert(100%);
-}
-
-.footer-hr {
- display: block;
- height: 0;
- overflow: visible;
- padding: 0;
- border: 0;
- margin: 0 0 40px 0;
- border-bottom: 1px solid #333;
-}
diff --git a/assets/header.css b/assets/header.css
deleted file mode 100644
index 3b8cab6..0000000
--- a/assets/header.css
+++ /dev/null
@@ -1,35 +0,0 @@
-.nav-bar {
- padding: 0 100px;
-
- user-select: none;
-
- a {
- color: black;
- text-decoration: none;
- }
-}
-
-.nav-logo {
- margin-top: 30px;
- display: block;
-}
-
-.nav-item-link {
- margin: 30px;
- padding: 10px 20px;
- border-radius: 30px;
-
- display: inline-block;
-
- transition-duration: 200ms;
-
- font-family: "Droid Sans", serif;
- font-weight: bolder;
-}
-
-.nav-item-link:hover {
- transition-duration: 200ms;
-
- color: white;
- background-color: #ff006a;
-}
diff --git a/data/head.toml b/data/head.toml
deleted file mode 100644
index 260770e..0000000
--- a/data/head.toml
+++ /dev/null
@@ -1 +0,0 @@
-icon = "https://avatars.githubusercontent.com/u/168826426"
\ No newline at end of file
diff --git a/data/header.toml b/docs/metadata.toml
similarity index 63%
rename from data/header.toml
rename to docs/metadata.toml
index 794dff7..9f63546 100644
--- a/data/header.toml
+++ b/docs/metadata.toml
@@ -1,11 +1,11 @@
-[[nav.items]]
+[genesis.header.nav.logo]
+src = "/assets/img/pagine.svg"
+height = 50
+
+[[genesis.header.nav.items]]
name = "Documentation"
link = "/docs/"
-[[nav.items]]
+[[genesis.header.nav.items]]
name = "Repositories"
link = "https://github.com/webpagine"
-
-[nav.logo]
-src = "/assets/img/pagine.svg"
-height = 50
diff --git a/env.toml b/env.toml
new file mode 100644
index 0000000..51b7631
--- /dev/null
+++ b/env.toml
@@ -0,0 +1,8 @@
+ignore = [
+ "/.git*",
+ "/*toml",
+ "/*html",
+]
+
+[use]
+genesis = "/templates/genesis"
diff --git a/index.html.pagine b/index.html.pagine
deleted file mode 100644
index 2f46813..0000000
--- a/index.html.pagine
+++ /dev/null
@@ -1,14 +0,0 @@
-[templates]
-header = "/templates/header.gohtml"
-footer = "/templates/footer.gohtml"
-head = "/templates/head.gohtml"
-main = "/templates/mainpage.gohtml"
-
-[include]
-header = [ "/data/header.toml" ]
-footer = [ "/data/footer.toml" ]
-head = [ "/data/head.toml" ]
-
-[define.main]
-lang = "en"
-title = "Pagine - Web Generator"
diff --git a/mainpage.html b/mainpage.html
new file mode 100644
index 0000000..60ab29a
--- /dev/null
+++ b/mainpage.html
@@ -0,0 +1,8 @@
+
+
+
+
Quickly build web content with frames from templates.
Just in milliseconds.
+
+
+
+
diff --git a/data/footer.toml b/metadata.toml
similarity index 62%
rename from data/footer.toml
rename to metadata.toml
index eefd3bf..c55833d 100644
--- a/data/footer.toml
+++ b/metadata.toml
@@ -1,13 +1,32 @@
-[copyright]
-owner = "Symboltics"
-date = "2024"
-license = "Text is available under the Creative Commons Attribution-ShareAlike License 4.0; additional terms may apply."
+[genesis.head]
+icon = "https://avatars.githubusercontent.com/u/168826426"
+
+[genesis.header.nav.logo]
+src = "/assets/img/pagine.svg"
+height = 50
+
+# Header
+
+[[genesis.header.nav.items]]
+name = "Documentation"
+link = "/docs/"
+
+[[genesis.header.nav.items]]
+name = "Repositories"
+link = "https://github.com/webpagine"
-[logo]
+# Footer
+
+[genesis.footer.logo]
src = "/assets/img/symboltics_white.svg"
height = 40
-[[lists]]
+[genesis.footer.copyright]
+owner = "Symboltics"
+date = "2024"
+license = "Text is available under the Creative Commons Attribution-ShareAlike License 4.0; additional terms may apply."
+
+[[genesis.footer.lists]]
title = "About Symboltics"
links = [
{ name = "Vision", link = "" },
@@ -16,7 +35,7 @@ links = [
{ name = "Where we come", link = "" },
]
-[[lists]]
+[[genesis.footer.lists]]
title = "Infrastructure"
links = [
{ name = "LangVM", link = "https://github.com/langvm/" },
@@ -25,16 +44,17 @@ links = [
{ name = "Web Pagine", link = "https://github.com/webpagine/" },
]
-[[lists]]
+[[genesis.footer.lists]]
title = "Services"
links = [
{ name = "Modularis", link = "https://github.com/symboltics/modularis/" },
]
-[[media.list]]
-logo = "github"
+[[genesis.footer.media.list]]
+icon = "github"
link = "https://github.com/jellyterra"
-[[media.list]]
-logo = "x"
+[[genesis.footer.media.list]]
+icon = "x"
link = "https://x.com/jellyterra"
+
diff --git a/pagine.toml b/pagine.toml
deleted file mode 100644
index 858d0d1..0000000
--- a/pagine.toml
+++ /dev/null
@@ -1 +0,0 @@
-ignore = [ "/.git*", "/*.toml", "/templates/*" ]
\ No newline at end of file
diff --git a/templates/404.gohtml b/templates/404.gohtml
deleted file mode 100644
index 1127afb..0000000
--- a/templates/404.gohtml
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-Page not found!
-{{ .templates.head }}
-
-
-{{ .templates.header }}
-
-
-
404
-
Page not found.
-
-{{ .templates.footer }}
-
-
diff --git a/templates/footer.gohtml b/templates/footer.gohtml
deleted file mode 100644
index 4a0ad6f..0000000
--- a/templates/footer.gohtml
+++ /dev/null
@@ -1,61 +0,0 @@
-{{ with .data }}
-
-{{ end }}
diff --git a/templates/genesis b/templates/genesis
new file mode 160000
index 0000000..819fbeb
--- /dev/null
+++ b/templates/genesis
@@ -0,0 +1 @@
+Subproject commit 819fbeb855ff6f8aaa3dff559bb740cb8a5f1bdb
diff --git a/templates/head.gohtml b/templates/head.gohtml
deleted file mode 100644
index 8de5cb3..0000000
--- a/templates/head.gohtml
+++ /dev/null
@@ -1,2 +0,0 @@
-
-
diff --git a/templates/header.gohtml b/templates/header.gohtml
deleted file mode 100644
index 394be01..0000000
--- a/templates/header.gohtml
+++ /dev/null
@@ -1,12 +0,0 @@
-{{ with .data.nav }}
-
-
-
-
-
-
-{{ end }}
\ No newline at end of file
diff --git a/templates/mainpage.gohtml b/templates/mainpage.gohtml
deleted file mode 100644
index fa6e0ea..0000000
--- a/templates/mainpage.gohtml
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-{{ .data.title }}
-{{ .templates.head }}
-
-
-{{ .templates.header }}
-
-
-
-
Quickly build web content with frames from templates.
Just in milliseconds.
-
-
-
-
-{{ .templates.footer }}
-
-
diff --git a/templates/post.gohtml b/templates/post.gohtml
deleted file mode 100644
index 35bf068..0000000
--- a/templates/post.gohtml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-{{ .data.title }}
-
-
-{{ .templates.header }}
-
-{{ .content.post }}
-
-{{ .templates.footer }}
-
-
diff --git a/unit.toml b/unit.toml
new file mode 100644
index 0000000..ae19a2e
--- /dev/null
+++ b/unit.toml
@@ -0,0 +1,9 @@
+[[unit]]
+template = "genesis:page"
+output = "/index.html"
+define = { title = "Pagine - Web Generator", content = "/mainpage.html" }
+
+[[unit]]
+template = "genesis:page"
+output = "/404.html"
+define = { title = "Pagine - Web Generator", content = "/404.html" }