danny.is

July 8, 2026 ยท View on GitHub

Built with Astro

Danny Smith's personal website โ€“ http://danny.is

๐Ÿ—‚๏ธ Project Structure

src/
โ”œโ”€โ”€ components/       # Organized component library
โ”‚   โ”œโ”€โ”€ layout/       # Page structure components
โ”‚   โ”œโ”€โ”€ mdx/          # Components for MDX content
โ”‚   โ”œโ”€โ”€ navigation/   # Navigation components
โ”‚   โ””โ”€โ”€ ui/           # Reusable UI utilities
โ”œโ”€โ”€ content/          # Content collections
โ”‚   โ”œโ”€โ”€ articles/     # Long-form articles
โ”‚   โ””โ”€โ”€ notes/        # Short-form notes
โ”œโ”€โ”€ icons/            # Custom SVG icons
โ”œโ”€โ”€ config/           # Centralized configuration
โ”œโ”€โ”€ styles/           # CSS architecture (layered partials)
โ””โ”€โ”€ utils/            # Utility functions

Commands

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

CommandAction
bun installInstalls dependencies
bun run devStarts local dev server at localhost:4321
bun run buildBuild your production site to ./dist/
bun run previewPreview your build locally, before deploying
bun run check:allRun all checks: types, format, lint, and tests
bun run check:typesRun TypeScript + Astro type checking
bun run check:lintRun ESLint to check for issues
bun run check:knipCheck for unused dependencies, exports, and files
bun run check:dupesCheck for duplicate code blocks
bun run lint:fixRun ESLint and automatically fix issues
bun run formatFormat code with Prettier
bun run check:formatCheck if code is properly formatted
bun run scrape-toolboxScrape toolbox data from betterat.work
bun run astro ...Run CLI commands like astro add, astro check
bun run standard-site:syncSync posts to the AT Protocol network (see docs)

Creating a New Note

New draft notes can also be created using this Chrome extension or Astro Editor.