From f062faf147d7659bb26df341f41abd17b78aac3e Mon Sep 17 00:00:00 2001 From: array-in-a-matrix Date: Mon, 8 Jan 2024 22:28:34 -0500 Subject: [PATCH 01/16] fixed fonts --- src/components/nav.nim | 1 - src/index.html | 17 ++++++++--------- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/src/components/nav.nim b/src/components/nav.nim index 065ec30..d514952 100644 --- a/src/components/nav.nim +++ b/src/components/nav.nim @@ -7,7 +7,6 @@ component Nav: tNav(class="text-center text-white w-64 max-md:w-32 max-sm:w-full bg-black"): tP(class="font-asix"): "Sidebar" - tUl(class="list-none"): component NavButton("Home", "/") component NavButton("Test Article", "/test") diff --git a/src/index.html b/src/index.html index 1855a02..72734ea 100644 --- a/src/index.html +++ b/src/index.html @@ -3,7 +3,7 @@ Blog in a Matrix - - - +
-- 2.49.0 From a7fe1ef499c850c40683b772bcbcb1d7f756a655 Mon Sep 17 00:00:00 2001 From: array-in-a-matrix Date: Mon, 8 Jan 2024 23:00:06 -0500 Subject: [PATCH 02/16] error code route needs to be above other routes --- src/main.nim | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/main.nim b/src/main.nim index 6f2a215..6522986 100644 --- a/src/main.nim +++ b/src/main.nim @@ -6,7 +6,11 @@ import appRoutes("app"): "/": component Nav - component Glass("Blog in a Matrix") + component GlassHome("Blog in a Matrix") + + "/": + component Nav + component Glass("Error: " & $errorCode) "/
": component Nav @@ -14,9 +18,5 @@ appRoutes("app"): # TODO: pass article title to component which renders the article; modify Glass or a new component is needed # TODO: check if article name exists otherwise route to /404 - "/": - component Nav - component Glass("HTTP Error: " & $errorCode) - notfound: route "/404" \ No newline at end of file -- 2.49.0 From cde8e986c05e41a781cd7232142f0380c3e34d7e Mon Sep 17 00:00:00 2001 From: array-in-a-matrix Date: Mon, 8 Jan 2024 23:00:29 -0500 Subject: [PATCH 03/16] remove comment/added line --- src/components/nav.nim | 2 -- src/components/navButton.nim | 1 + 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/src/components/nav.nim b/src/components/nav.nim index d514952..b1dea2b 100644 --- a/src/components/nav.nim +++ b/src/components/nav.nim @@ -1,7 +1,5 @@ import happyx, navButton -# https://git.inamatrix.xyz/array-in-a-matrix/bloginamatrix.xyz/src/commit/218b85211755732344f3fd08ab4f4a3e01ab08ac/src/templates/index.nimja#L57 - component Nav: `template`: tNav(class="text-center text-white w-64 max-md:w-32 max-sm:w-full bg-black"): diff --git a/src/components/navButton.nim b/src/components/navButton.nim index 223c472..8d3e3db 100644 --- a/src/components/navButton.nim +++ b/src/components/navButton.nim @@ -3,6 +3,7 @@ import happyx component NavButton: text: string path: cstring = "/" + `template`: tLi(class="list-item cursor-pointer text-white mx-2 my-2 ring-1 ring-white/20 hover:ring-white/50 rounded"): tButton: -- 2.49.0 From f027c4ec0c30f4b9566ea680ea7be80f7e6aa224 Mon Sep 17 00:00:00 2001 From: array-in-a-matrix Date: Mon, 8 Jan 2024 23:05:33 -0500 Subject: [PATCH 04/16] article is now H1 --- src/components/glass.nim | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/src/components/glass.nim b/src/components/glass.nim index 297f113..62fccd2 100644 --- a/src/components/glass.nim +++ b/src/components/glass.nim @@ -1,8 +1,17 @@ import happyx -component Glass: - arg: string +var + newClass = "flex items-center justify-center flex-1 m-14 max-md:m-7 max-sm:m-0 rounded-3xl max-sm:rounded-none bg-white/20 backdrop-blur-xl drop-shadow-lg noise text-5xl" + newHomeClass = newClass & " font-giga" +component Glass: + text: string `template`: - tArticle(class="flex items-center justify-center flex-1 m-14 max-md:m-7 max-sm:m-0 rounded-3xl max-sm:rounded-none bg-white/20 backdrop-blur-xl drop-shadow-lg noise"): - {self.arg} \ No newline at end of file + tH(class=newClass): + {self.text} + +component GlassHome: + text: string + `template`: + tH(class=newHomeClass): + {self.text} \ No newline at end of file -- 2.49.0 From 743d266df3fbf33e48f4155daa1c7f899d3ac956 Mon Sep 17 00:00:00 2001 From: array-in-a-matrix Date: Mon, 8 Jan 2024 23:05:43 -0500 Subject: [PATCH 05/16] removed space --- src/components/navButton.nim | 1 - 1 file changed, 1 deletion(-) diff --git a/src/components/navButton.nim b/src/components/navButton.nim index 8d3e3db..223c472 100644 --- a/src/components/navButton.nim +++ b/src/components/navButton.nim @@ -3,7 +3,6 @@ import happyx component NavButton: text: string path: cstring = "/" - `template`: tLi(class="list-item cursor-pointer text-white mx-2 my-2 ring-1 ring-white/20 hover:ring-white/50 rounded"): tButton: -- 2.49.0 From 8893a8ce73138d152a584032b0813417be7401d3 Mon Sep 17 00:00:00 2001 From: array-in-a-matrix Date: Tue, 9 Jan 2024 00:11:30 -0500 Subject: [PATCH 06/16] move font imports to its own file --- src/fonts.css | 24 ++++++++++++++++++++++++ src/index.html | 27 +-------------------------- 2 files changed, 25 insertions(+), 26 deletions(-) create mode 100644 src/fonts.css diff --git a/src/fonts.css b/src/fonts.css new file mode 100644 index 0000000..e11b8c3 --- /dev/null +++ b/src/fonts.css @@ -0,0 +1,24 @@ +.noise { + background-image: url(data:image/png;base64,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); + } + + @font-face { + font-family: 'FiraCode'; + src: url("/public/fonts/FiraCode-Regular.woff2") format("woff2"); + } + + @font-face { + font-family: 'asix'; + src: url("/public/fonts/ASIX-FOUNDER.woff2") format("woff2"); + } + + @font-face { + font-family: 'asix'; + src: url("/public/fonts/ASIX-FOUNDER-Italic.woff2") format("woff2"); + font-style: italic; + } + + @font-face { + font-family: 'giga'; + src: url("/public/fonts/Giga.woff2") format("woff2"); + } \ No newline at end of file diff --git a/src/index.html b/src/index.html index 72734ea..8ff43bf 100644 --- a/src/index.html +++ b/src/index.html @@ -18,32 +18,7 @@ } }; - +
-- 2.49.0 From cc0b5fa254ca2192a7bdd02265c6a7bcd588396e Mon Sep 17 00:00:00 2001 From: array-in-a-matrix Date: Tue, 9 Jan 2024 00:12:21 -0500 Subject: [PATCH 07/16] new read component for rendering articles --- src/components/read.nim | 10 ++++++++++ src/main.nim | 6 ++---- 2 files changed, 12 insertions(+), 4 deletions(-) create mode 100644 src/components/read.nim diff --git a/src/components/read.nim b/src/components/read.nim new file mode 100644 index 0000000..ca6cb2f --- /dev/null +++ b/src/components/read.nim @@ -0,0 +1,10 @@ +import happyx, os + +component Read: + title: string + + if !fileExists("/public/Blog/{self.title}.html"): + route "/404" + + `template`: + tIframe(src="/public/Blog/{self.title}.html", class="flex items-center flex-1 m-14 max-md:m-7 max-sm:m-0 rounded-3xl max-sm:rounded-none") diff --git a/src/main.nim b/src/main.nim index 6522986..8ff0f97 100644 --- a/src/main.nim +++ b/src/main.nim @@ -1,7 +1,7 @@ import happyx, path_params, - components/[nav, glass] + components/[nav, glass, read] appRoutes("app"): "/": @@ -14,9 +14,7 @@ appRoutes("app"): "/
": component Nav - component Glass($article) - # TODO: pass article title to component which renders the article; modify Glass or a new component is needed - # TODO: check if article name exists otherwise route to /404 + component Read($article) notfound: route "/404" \ No newline at end of file -- 2.49.0 From b1c7df29deae89683cf71f52cecb1550c34c236e Mon Sep 17 00:00:00 2001 From: array-in-a-matrix Date: Tue, 9 Jan 2024 00:12:41 -0500 Subject: [PATCH 08/16] ignore testing articles --- .gitignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitignore b/.gitignore index 96acba8..f8f3f6c 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,6 @@ build/ *.js *.log *.lg + +# ignore test articles +src/public/Blog/* \ No newline at end of file -- 2.49.0 From cf861512f197b6518b85dbc2772c26c19e3c20a8 Mon Sep 17 00:00:00 2001 From: array-in-a-matrix Date: Tue, 9 Jan 2024 00:58:57 -0500 Subject: [PATCH 09/16] comment out broken file check --- src/components/read.nim | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/components/read.nim b/src/components/read.nim index ca6cb2f..75ee81b 100644 --- a/src/components/read.nim +++ b/src/components/read.nim @@ -3,8 +3,10 @@ import happyx, os component Read: title: string - if !fileExists("/public/Blog/{self.title}.html"): - route "/404" + # TODO: fix + # if !fileExists("/public/Blog/{self.title}.html"): + # route "/404" + # else: `template`: tIframe(src="/public/Blog/{self.title}.html", class="flex items-center flex-1 m-14 max-md:m-7 max-sm:m-0 rounded-3xl max-sm:rounded-none") -- 2.49.0 From badf22579b18aab9d2ddc156d65c63dd7d0f0562 Mon Sep 17 00:00:00 2001 From: array-in-a-matrix Date: Tue, 9 Jan 2024 01:00:30 -0500 Subject: [PATCH 10/16] import order --- src/components/read.nim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/read.nim b/src/components/read.nim index 75ee81b..2d500c3 100644 --- a/src/components/read.nim +++ b/src/components/read.nim @@ -1,4 +1,4 @@ -import happyx, os +import os, happyx component Read: title: string -- 2.49.0 From a1f12881ac03d6c507d462ae4a73757dff2cb347 Mon Sep 17 00:00:00 2001 From: array-in-a-matrix Date: Tue, 9 Jan 2024 01:02:01 -0500 Subject: [PATCH 11/16] auto button creation (dont work yet) --- src/components/nav.nim | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/components/nav.nim b/src/components/nav.nim index b1dea2b..377c2e8 100644 --- a/src/components/nav.nim +++ b/src/components/nav.nim @@ -1,5 +1,4 @@ -import happyx, navButton - +import os, happyx, navButton component Nav: `template`: tNav(class="text-center text-white w-64 max-md:w-32 max-sm:w-full bg-black"): @@ -7,5 +6,13 @@ component Nav: "Sidebar" tUl(class="list-none"): component NavButton("Home", "/") - component NavButton("Test Article", "/test") - component NavButton("Page does not exist", "/404") \ No newline at end of file + # component NavButton("Test Article", "/test") + # component NavButton("Example Article", "/Example 1") + # component NavButton("Example 2 Article", "/Example 2") + # component NavButton("Page does not exist", "/404") + + # TODO: automatically create a button for each html file in /src/public/Blog + + for kind, path in walkDir("/src/public/Blog"): + if kind == pcFile: + component NavButton(path, path) \ No newline at end of file -- 2.49.0 From 3aeef85a8160d17c3d2fd69f042293234afb5d36 Mon Sep 17 00:00:00 2001 From: array-in-a-matrix Date: Tue, 9 Jan 2024 01:11:46 -0500 Subject: [PATCH 12/16] no need for arbitrary error codes, 404 is enough, /read/ added to articles path --- src/components/nav.nim | 13 ++++++------- src/main.nim | 9 +++------ src/path_params.nim | 3 +-- 3 files changed, 10 insertions(+), 15 deletions(-) diff --git a/src/components/nav.nim b/src/components/nav.nim index 377c2e8..2388091 100644 --- a/src/components/nav.nim +++ b/src/components/nav.nim @@ -6,13 +6,12 @@ component Nav: "Sidebar" tUl(class="list-none"): component NavButton("Home", "/") - # component NavButton("Test Article", "/test") - # component NavButton("Example Article", "/Example 1") - # component NavButton("Example 2 Article", "/Example 2") - # component NavButton("Page does not exist", "/404") + # component NavButton("Test Article", "/read/test") + # component NavButton("Example Article", "/read/Example 1") + # component NavButton("Example 2 Article", "/read/Example 2") # TODO: automatically create a button for each html file in /src/public/Blog - - for kind, path in walkDir("/src/public/Blog"): + #! this dont worky idk + for kind, path in walkDir("/src/public/Blog"): if kind == pcFile: - component NavButton(path, path) \ No newline at end of file + component NavButton(path, "/read/" & path) \ No newline at end of file diff --git a/src/main.nim b/src/main.nim index 8ff0f97..c196b62 100644 --- a/src/main.nim +++ b/src/main.nim @@ -8,13 +8,10 @@ appRoutes("app"): component Nav component GlassHome("Blog in a Matrix") - "/": - component Nav - component Glass("Error: " & $errorCode) - - "/
": + "/read/
": component Nav component Read($article) notfound: - route "/404" \ No newline at end of file + component Nav + component Glass("Page diverges.") \ No newline at end of file diff --git a/src/path_params.nim b/src/path_params.nim index 32735c1..384ce16 100644 --- a/src/path_params.nim +++ b/src/path_params.nim @@ -1,5 +1,4 @@ import happyx pathParams: - article string - errorCode int \ No newline at end of file + article string \ No newline at end of file -- 2.49.0 From b6616420f808072630769d4faad7e192202061b0 Mon Sep 17 00:00:00 2001 From: array-in-a-matrix Date: Tue, 9 Jan 2024 15:07:07 -0500 Subject: [PATCH 13/16] condensed readme --- README.md | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 98ba7e6..9e369d9 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,10 @@ # [Blog in a Matrix](https://bloginamatrix.xyz) -New single page blog site application written in Nim. +New blog site written in Nim. -Articles/blogs written in markdown using [Joplin](https://github.com/laurent22/joplin/ "The best notes app/markdown editor ever made.") then exported as `HTML` to the `/src/public` directory. Joplin has support for [the extended markdown syntax](https://github.com/laurent22/joplin/blob/dev/readme/markdown.md), [KaTeX](https://khan.github.io/KaTeX/), and [Mermaid.js](https://mermaidjs.github.io/) out of the box. The syntax can be farther extended with [plugins](https://github.com/joplin/plugins/) (e.g. [music sheet notation](https://github.com/joplin/plugin-abc-sheet-music)). +Articles/blogs written in markdown using [Joplin](https://github.com/laurent22/joplin/ "The best notes app/markdown editor ever made.") then exported as a HTML directory to `/src/public` where it will create a `Blog` folder. -MTH tech stack is used, pronounced _Meth_ or _Math_: - -- [Markdown](https://daringfireball.net/projects/markdown/) -- [Tailwindcss](https://tailwindcss.com/) -- [HappyX](https://hapticx.github.io/happyx/) +Joplin has support for [the extended markdown](https://github.com/laurent22/joplin/blob/dev/readme/markdown.md), [KaTeX](https://khan.github.io/KaTeX/), and [Mermaid.js](https://mermaidjs.github.io/) out of the box and can be farther extended with [plugins](https://github.com/joplin/plugins/) like [music sheet notation](https://github.com/joplin/plugin-abc-sheet-music). ## Development -- 2.49.0 From 62f8d74c81b55d333f37934a6c73ce76667f3a6a Mon Sep 17 00:00:00 2001 From: array-in-a-matrix Date: Tue, 9 Jan 2024 15:14:06 -0500 Subject: [PATCH 14/16] ues latest git head --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9e369d9..8e23911 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ Joplin has support for [the extended markdown](https://github.com/laurent22/jopl Install Nim dependencies: ```sh -nimble install happyx +nimble install happyx@#head ``` Development server: -- 2.49.0 From 10f70a1bef734b6bfdacc070a9b8b967f115a76a Mon Sep 17 00:00:00 2001 From: array-in-a-matrix Date: Tue, 9 Jan 2024 15:16:15 -0500 Subject: [PATCH 15/16] space? --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 8e23911..746a270 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ New blog site written in Nim. -Articles/blogs written in markdown using [Joplin](https://github.com/laurent22/joplin/ "The best notes app/markdown editor ever made.") then exported as a HTML directory to `/src/public` where it will create a `Blog` folder. +Articles/blogs written in markdown using [Joplin](https://github.com/laurent22/joplin/ "The best notes app/markdown editor ever made.") then exported as a HTML directory to `/src/public` where it will create a `Blog` folder. Joplin has support for [the extended markdown](https://github.com/laurent22/joplin/blob/dev/readme/markdown.md), [KaTeX](https://khan.github.io/KaTeX/), and [Mermaid.js](https://mermaidjs.github.io/) out of the box and can be farther extended with [plugins](https://github.com/joplin/plugins/) like [music sheet notation](https://github.com/joplin/plugin-abc-sheet-music). -- 2.49.0 From 308e58721aa337979650641d1b033f1e8656b5bc Mon Sep 17 00:00:00 2001 From: array-in-a-matrix Date: Tue, 9 Jan 2024 21:14:33 -0500 Subject: [PATCH 16/16] clean up --- src/index.html | 2 +- src/main.nim | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/index.html b/src/index.html index 8ff43bf..9cbfbe5 100644 --- a/src/index.html +++ b/src/index.html @@ -21,7 +21,7 @@ -
+
\ No newline at end of file diff --git a/src/main.nim b/src/main.nim index c196b62..679d65f 100644 --- a/src/main.nim +++ b/src/main.nim @@ -1,4 +1,5 @@ import + os, happyx, path_params, components/[nav, glass, read] @@ -14,4 +15,4 @@ appRoutes("app"): notfound: component Nav - component Glass("Page diverges.") \ No newline at end of file + component Glass("404 page diverges.") \ No newline at end of file -- 2.49.0