Skip to content

Jastor11/jeff_astor_dot_com

Folders and files

NameName
Last commit message
Last commit date

Latest commit

194695f Β· Nov 20, 2023

History

7 Commits
Nov 20, 2023
Nov 20, 2023
Nov 20, 2023
Nov 20, 2023
Nov 20, 2023
Nov 20, 2023
Nov 20, 2023
Nov 20, 2023
Nov 20, 2023
Nov 20, 2023
Nov 20, 2023
Nov 20, 2023
Nov 20, 2023
Nov 20, 2023
Nov 20, 2023
Nov 20, 2023

Repository files navigation

JeffAstor.com

Repository hosting code that powers my Astro.js-powered site on the web.

ToDo

  • Chores
    • Remove all the extra theme stuff from the custom moonlight II theme
    • Cleanup and organize the theme like the old custom theme was
    • Move all undraw SVGs out of the public folder. Delete them. Reference the assets directory instead.
  • SEO & Analytics
    • See why tags and other SEO items aren't working properly
    • Migrate from Google Analytics to Plausible
    • Migrate from Plausible to Microsoft Clarity
  • Issues
    • Lighthouse scores could be improved
    • Consider only pre-fetching when hovering over a link
    • Download only the IBM Plex Mono fonts that we actually need. Get rid of the others
    • Commento has been discontinued. Disable comments until a migration plan has been decided upon
  • UI & UX
    • PostDetail
      • Integrate the SimilarPosts model into any post that is not a series or a review
      • For reviews, show a section to see other reviews
      • Make commento load only when visible
    • BlogPost Listing Page
      • Add the ability to filter by category
      • Add the ability to filter by post, review, or series
      • Show popular posts/serieses
      • Improve that terrible pagination hook
  • Content
    • Migrate the rest of the CodeSandbox examples to Stackblitz
    • Remove all posts that are no longer relevant
    • Post Ideas
      • Write a post on mini-trpc in express (using the typed router)
      • Write a post on migrating to Hono.js for JS backends
    • Series Ideas
      • Finish FastAPI series with React on Phresh
      • Create a parallel series using Hono.js, Vite, and React in a monorepo setup with Turborepo
  • Misc
    • RSS
      • Get RSS feed working

πŸš€ Project Structure

The project has the following folders and file structure:

β”œβ”€β”€ public/
β”œβ”€β”€ scripts/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ assets/
β”‚   β”‚   β”œβ”€β”€ images/
β”‚   β”‚   β”œβ”€β”€ posts/
β”‚   β”‚   └── svg/
β”‚   β”œβ”€β”€ components/
β”‚   β”œβ”€β”€ content/
β”‚   β”œβ”€β”€ core/
β”‚   β”œβ”€β”€ data/
β”‚   β”œβ”€β”€ layouts/
β”‚   β”œβ”€β”€ lib/
β”‚   └── pages/
β”‚   └── services/
β”‚   └── styles/
β”‚   └── types/
β”‚   └── utils/
β”œβ”€β”€ .eslintignore
β”œβ”€β”€ .eslintrc.js
β”œβ”€β”€ .gitignore
β”œβ”€β”€ .prettierignore
β”œβ”€β”€ .prettierrc.cjs
β”œβ”€β”€ astro.config.mjs
β”œβ”€β”€ netlify.toml
β”œβ”€β”€ pnpm-lock.yaml
β”œβ”€β”€ README.md
β”œβ”€β”€ package.json
β”œβ”€β”€ tailwind.config.cjs
└── tsconfig.json

Astro looks for .astro or .md files in the src/pages/ directory. Each page is exposed as a route based on its file name.

There's nothing special about src/components/, but that's where we like to put any React components.

The src/content/ directory contains "collections" of related Markdown and MDX documents. Use getCollection() to retrieve posts from src/content/posts/, and type-check your frontmatter using an optional schema. See Astro's Content Collections docs to learn more.

Any static assets, like images, can be placed in the assets/ directory.

🧞 Commands

All commands are run from the root of the project, from a terminal:

Command Action
pnpm install Installs dependencies
pnpm run dev Starts local dev server at localhost:3000
pnpm run build Build your production site to ./dist/
pnpm run preview Preview your build locally, before deploying
pnpm run astro ... Run CLI commands like astro add, astro check
pnpm run astro -- --help Get help using the Astro CLI