An implementation of Astro that is built from my Obsidian notes.
Find a file
PipeItToDevNull a2528c5028
All checks were successful
Deploy to Azure Static Web Apps / deploy (push) Successful in 2m17s
Delete .devcontainer/devcontainer.json
2025-12-03 11:09:35 -05:00
.forgejo/workflows Update .forgejo/workflows/deploy.yml 2025-12-03 10:06:55 -05:00
.github improve gha to stop after updating modules to stop wasting cycles on double builds 2025-10-04 16:36:27 -04:00
.vscode initial commit 2025-10-02 21:08:39 -04:00
public update favicon properly 2025-10-09 13:58:03 +00:00
src move to forgejo 2025-12-02 17:42:15 -05:00
.gitignore initial commit 2025-10-02 21:08:39 -04:00
.gitmodules move to forgejo 2025-12-02 17:29:44 -05:00
astro.config.mjs add map label 2025-11-24 21:26:57 -05:00
package-lock.json Bump mdast-util-to-hast from 13.2.0 to 13.2.1 (#22) 2025-12-02 04:05:39 +00:00
package.json declare node 20+ 2025-12-02 19:59:02 -05:00
README.md Update README.md 2025-12-02 12:35:33 -05:00
tsconfig.json initial commit 2025-10-02 21:08:39 -04:00

TheAether-Astro

An implementation of Astro that is built from my Obsidian notes.

Overview

  • Obsidian vaults are loaded in /src/data

Collections

Multiple distinct collections are defined in /src/content.config.ts, one for each location of my Obsidian vaults that I want to load as independent data types.

  • Blog
    • These are traditional blog posts that are loaded with all required frontmatter like titles, modifictation timestamps, sources and tags.
  • Maps
    • My mermaid homelab map is loaded as an independent collection for ease.
  • Home
    • independent pages about my homelab and the root of the site whcih are loaded as specific .astro pages.
  • Wiki
    • The bulk of my documentation that is served in a custom dynamic folder heirarchy for viewing.

Docs

Basic pages are defined in /src/content/docs

  • Blog
    • /blog loads the /src/components/blogList.astro component to display a list of all blog posts
  • Tags
    • /tags loads the /src/components/tagsList.astro component to display a list of all tags
  • Wiki
    • /wiki loads the /src/components/wikiList.astro component to display a list of all wiki articles

Pages

Dynamic pages are defined in /src/pages

  • Blog
    • /blog/idis a dynamic page that will load any blog post by its ID
  • Tags
    • /blog/id is a dynamic page that will show you all pages that have a given tag
  • Wiki
    • /wiki/id is a dynamic page that will show you all pages in the wiki collection by ID
    • This uses /src/components/customPageTitle to load in the description frontmatter attribute of a wiki article into the header.
    • A filter is used on this to only pull in pages that have publish: yes in their frontmatter.
  • Homelab
    • Statically render my homelab page
  • Index
    • Statically render the root of the site
  • Map
    • Render my mermaid homelab map on the client side

Utilities

Custom functions are defined in /src/utils

  • rewriteWikiLinks
    • Rewrite links pointing to the wiki "20 IT" to /wiki"
  • wikiSidebar
    • A custom function to dynamically generate the contents of the Wiki collection into the Astro sidebar