diff --git a/src/App.tsx b/src/App.tsx index d1b9d98..aa3548e 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -6,29 +6,31 @@ import "./App.css" import TagTemplate from "./templates/TagTemplate" import EntryTemplate from "./templates/EntryTemplate" import Settings from "./pages/settings" +import About from "./pages/about" const queryClient = new QueryClient({ - defaultOptions: { - queries: { - staleTime: 15 * 60 * 1000, // 15 minutes - retry: 3, - refetchOnWindowFocus: false, - }, - }, + defaultOptions: { + queries: { + staleTime: 15 * 60 * 1000, // 15 minutes + retry: 3, + refetchOnWindowFocus: false, + }, + }, }) export default function App() { - return ( - - - - } /> - } /> - } /> - } /> - - - - - ) + return ( + + + + } /> + } /> + } /> + } /> + } /> + + + + + ) } diff --git a/src/containers/AppSidebar.tsx b/src/containers/AppSidebar.tsx index 88c1731..7ddff84 100644 --- a/src/containers/AppSidebar.tsx +++ b/src/containers/AppSidebar.tsx @@ -18,7 +18,7 @@ import { Link } from "react-router" const footerMenu = [ { title: "About", - url: "#", + url: "/about", icon: Info, }, @@ -77,7 +77,7 @@ export function AppSidebar() { - {item.title} + {item.title} {/* diff --git a/src/pages/about.tsx b/src/pages/about.tsx new file mode 100644 index 0000000..0428928 --- /dev/null +++ b/src/pages/about.tsx @@ -0,0 +1,89 @@ +import PageTemplate from "@/templates/PageTemplate" + +const PageBody = () => { + return ( +
+

+ Eólas is custom software I built because I wasn't happy with any of the main offerings + that exist for publishing personal knowledge bases. It is a work in progress and there + are several features I have yet to introduce. +

+ +

+ Eólas is Irish for "knowledge" or "experience", gained through practice. +

+ +

+ It is composed of several packages that combine to produce this interface: +

+ +
    +
  • + + eolas + +
  • +
      +
    • The raw Markdown files that I work with locally.
    • +
    +
  • + eolas-db +
  • +
      +
    • + A Python application that reads the local files, parses the content and metadata, + and enters the data into an SQLite database. +
    • +
    +
  • + eolas-api +
  • +
      +
    • A NodeJS API that queries the SQLite database.
    • +
    +
  • + eolas-app +
  • +
      +
    • + This frontend created with React that provides the public interface. +
    • +
    +
+ +

+ The deployment of each sub-package is automated via Forgejo Actions. I also have a + script that executes each time I push from{" "} + + eolas + {" "} + to the remote. This updates the database and uploads the assets to a Garage S3 bucket. +

+ +

+ Every aspect of the project, from the packages themselves to automation and version + management and S3, is self-hosted, running on my Virtual Private Server. +

+ +

+ You can learn more about me at my website,{" "} + + Systems Obscure + + . +

+
+ ) +} + +export default function About() { + return } /> +} diff --git a/src/pages/home.tsx b/src/pages/home.tsx index 194ce27..78ab8e7 100644 --- a/src/pages/home.tsx +++ b/src/pages/home.tsx @@ -1,42 +1,37 @@ import MainTemplate from "@/templates/MainTemplate" import RecentEdits from "@/containers/RecentEdits" +import { Button } from "@/components/ui/button" +import { Link } from "react-router" export default function Home() { - return ( - <> - -
-
-
-
-
-

Welcome

-
-
-

- Eólas is my technical knowledge management system, or "second-brain", - comprising notes from the study of software engineering and computer - science. -

+ return ( + <> + +
+
+
+
+
+

Welcome

+
+
+

+ Eólas is my technical knowledge management system, or "second-brain", + comprising notes from the study of software engineering and computer + science. +

+ +
+
+
-

- - Who am I? - -

-
-
-
- -
- -
-
-
- - - ) +
+ +
+
+
+
+ + ) }