Resources are managed through JSON data files that are loaded as Astro content collections. These collections power your resources pages including book recommendations, tech stack showcase, and desktop setup details.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/lewis-kori/astro-portfolio-v3/llms.txt
Use this file to discover all available pages before exploring further.
Resource Collections Overview
Three resource collections are defined insrc/content.config.ts:
- books - Book recommendations and reading list
- techStack - Technologies and tools you use
- desktopSetup - Your hardware and workspace setup
file() loader to read data from JSON files in src/data/.
Books Collection
Books are stored insrc/data/books.json and showcase your reading list and recommendations.
Schema
Unique identifier for the book (e.g., “clean-code”, “pragmatic-programmer”)
The book title (e.g., “Clean Code”)
The author’s name (e.g., “Robert C. Martin”)
URL to the book cover image
A brief description or review of the book
Link to purchase or learn more about the book
Adding a Book
Editsrc/data/books.json and add a new entry to the array:
Real Book Examples
Tech Stack Collection
Your tech stack is stored insrc/data/tech-stack.json and showcases the technologies and tools you use.
Schema
Unique identifier (e.g., “python”, “typescript”, “docker”)
Display name of the technology (e.g., “Python”, “TypeScript”)
URL to the technology logo or icon
Why you use this technology and what you use it for
Official website or documentation link
Adding a Tech Stack Item
Editsrc/data/tech-stack.json and add a new entry:
Use Devicon for consistent, high-quality technology logos. The CDN URL format is:
https://cdn.jsdelivr.net/gh/devicons/devicon/icons/{name}/{name}-original.svgReal Tech Stack Examples
Desktop Setup Collection
Your desktop setup is stored insrc/data/desktop-setup.json and showcases your hardware and workspace.
Schema
Unique identifier (e.g., “macbook-pro”, “mx-keys-mini”)
Product name (e.g., “MacBook Pro 14"", “Logitech MX Keys Mini”)
URL to a product image
Details about the product and why you use it
Link to product page or specifications (use ”#” if no specific link)
Adding a Desktop Setup Item
Editsrc/data/desktop-setup.json and add a new entry:
Real Desktop Setup Examples
File Locations
Resource data files are stored insrc/data/:
Querying Resources
In your Astro components, query resource collections like any other content collection:Example Component Usage
Best Practices
Books
- Use high-quality cover images - Preferably from official sources
- Write personal descriptions - Explain why you recommend the book and what you learned
- Link to official sources - Use publisher or author websites when possible
- Include diverse topics - Mix technical books with career development and design
- Update regularly - Add new books as you read them
Tech Stack
- Use Devicon for consistency - Get logos from Devicons
- Be personal in descriptions - Explain why you use each technology
- Keep it current - Remove technologies you no longer use actively
- Order by importance - Put your primary technologies first in the array
- Link to official docs - Use the main documentation site for each technology
Desktop Setup
- Use quality product images - High-resolution images make setup pages look professional
- Include specifications - Mention key specs (RAM, storage, etc.) in descriptions
- Explain your choices - Tell readers why you chose each item
- Link to products - Help readers find the exact items if interested
- Keep it realistic - Only include items you actually use
Image Guidelines
For Books
- Use official cover images from publishers
- Minimum 300x400px resolution
- Prefer square or portrait orientation
For Tech Stack
- Use SVG logos from Devicon when possible
- Consistent icon style across all items
- Transparent backgrounds work best
For Desktop Setup
- High-resolution product photos (800px+ width)
- Consistent photo style if possible
- Use Unsplash for generic items like desks
JSON Validation
All resource JSON files must be valid JSON arrays. Common mistakes to avoid:Use a JSON validator or your editor’s JSON validation to catch syntax errors before committing changes.