This repository has been archived on 2025-12-24. You can view files and clone it, but cannot push or open issues or pull requests.
Go to file
2025-03-16 17:46:57 +01:00
.astro cleanup 2025-03-16 17:36:56 +01:00
.kbot init from site 2025-03-07 14:59:06 +01:00
docs options:image to text 2025-03-08 12:47:58 +01:00
packages cleanup 2025-03-16 17:36:56 +01:00
public footer | json-ld | content 2025-03-12 08:56:48 +01:00
scripts script:sync 2025-03-11 20:58:15 +01:00
src cleanup 2025-03-16 17:46:57 +01:00
systems sitemap | tracking 2025-03-11 13:43:57 +01:00
temp optimization 2025-03-09 14:18:01 +01:00
tests init from site 2025-03-07 14:59:06 +01:00
.env.dev init from site 2025-03-07 14:59:06 +01:00
.env.prod init from site 2025-03-07 14:59:06 +01:00
.gitignore cleanup 2025-03-16 15:06:56 +01:00
astro-imagetools.config.mjs cleanup 2025-03-16 15:06:56 +01:00
astro.config.mjs mdx extensions, rehype :) 2025-03-13 17:04:41 +01:00
frontmatter.json init from site 2025-03-07 14:59:06 +01:00
lang_storeEntries.json init from site 2025-03-07 14:59:06 +01:00
package-lock.json cleanup 2025-03-16 15:06:56 +01:00
package.json mdx extensions, rehype :) 2025-03-13 16:55:01 +01:00
playwright.config.ts init from site 2025-03-07 14:59:06 +01:00
pnpm-lock.yaml init from site 2025-03-07 14:59:06 +01:00
postcss.config.cjs init from site 2025-03-07 14:59:06 +01:00
README.md readme 2025-03-10 17:42:44 +01:00
storeEntries.json init from site 2025-03-07 14:59:06 +01:00
sync-deploy.json init from site 2025-03-07 14:59:06 +01:00
sync-polycraft.json collection:projects:) 2025-03-11 23:15:32 +01:00
tailwind.config.cjs optimization 2025-03-09 14:18:01 +01:00
tsconfig.json seo:item keywords 2025-03-08 09:14:54 +01:00

Astro Site Documentation

This README provides comprehensive documentation for this Astro-based website project.

🚀 Project Overview

This is a multilingual website built with Astro, a modern static site generator. The site features a blog, content collections, and internationalization support. It uses Tailwind CSS for styling and includes various components and layouts for consistent design.

📁 Project Structure

/
├── public/           # Static assets
├── src/
│   ├── components/   # UI components
│   ├── content/      # Content collections
│   ├── layouts/      # Page layouts
│   ├── pages/        # Page routes
│   │   ├── en/       # English pages
│   │   └── [lang]/   # Other language pages
│   ├── i18n/         # Internationalization files
│   └── content.config.ts  # Content collection configuration
├── astro.config.mjs  # Astro configuration
├── tailwind.config.cjs  # Tailwind CSS configuration
└── package.json      # Project dependencies

📚 Content Collections

The site utilizes Astro's content collections to manage structured content. Collections are defined in src/content.config.ts and include:

  • Blog Posts: Articles with frontmatter for metadata like title, date, author, etc.
  • Authors: Information about content authors.

Collections are stored in the src/content/ directory, organized by language:

  • src/content/blog/en/ - English blog posts
  • src/content/blog/[lang]/ - Blog posts in other languages

🧩 Components

The site includes reusable UI components located in src/components/:

  • Core Components: Basic UI elements like buttons, cards, and navigation
  • Blog Components: Specialized components for the blog section
  • SEO Components: Components for SEO optimization
  • UI Components: Interface elements like headers, footers, and menus

These components help maintain consistent design across the site while making development more efficient.

📏 Layouts

Layouts in src/layouts/ provide consistent page structures:

  • BaseLayout.astro: The main layout with common elements (header, footer)
  • BlogLayout.astro: Specialized layout for blog posts
  • PostLayout.astro: Layout for individual blog posts
  • AboutLayout.astro: Layout for about pages

Layouts wrap content with consistent HTML structure, styling, and components.

🌐 Internationalization (i18n)

The site supports multiple languages through a built-in internationalization system:

  • Default language is English (en)
  • Content is organized by language in directory structures
  • URL format follows /[lang]/[route] pattern
  • Translation files are stored in the src/i18n/ directory

Language switching is available to visitors, with localized content and UI elements.

📦 Dependencies

The project relies on the following main dependencies:

  • Astro: Core framework for building the site
  • Tailwind CSS: Utility-first CSS framework for styling
  • @astrojs/tailwind: Tailwind CSS integration for Astro
  • @astrojs/mdx: MDX integration for enhanced markdown
  • @astrojs/sitemap: Automatic sitemap generation
  • @astrojs/image: Image optimization tools

Additional dependencies may include utility libraries and development tools.

🛠️ Development Instructions

Prerequisites

  • Node.js (v16 or later)
  • npm or yarn

Getting Started

  1. Clone the repository:

    git clone <repository-url>
    cd <project-directory>
    
  2. Install dependencies:

    npm install
    # or
    yarn install
    
  3. Start the development server:

    npm run dev
    # or
    yarn dev
    
  4. Open your browser and visit http://localhost:3000

Building for Production

npm run build
# or
yarn build

The build output will be in the dist/ directory.

Additional Commands

  • Preview build: npm run preview
  • Check code: npm run astro check
  • Lint code: npm run lint (if configured)

📝 Contributing

When contributing to this project, please follow these guidelines:

  1. Create components in the appropriate directories
  2. Follow the existing code style and naming conventions
  3. Add proper documentation for new features
  4. Test your changes before submitting

📄 License

[Add your license information here]