Polymech - Library Root Site http://polymech.info/library
Go to file
2025-03-26 17:51:53 +01:00
.astro prompt templates 2025-03-26 17:31:24 +01:00
.frontmatter/database prompt templates 2025-03-26 17:31:24 +01:00
.kbot prompt templates 2025-03-26 17:31:24 +01:00
data model:directory - Heil Dave :) 2025-03-16 19:35:37 +01:00
docs Synced from site 2025-03-12 18:53:16 +01:00
packages/imagetools howtos:list,categories, ... lovebirds :) 2025-03-21 00:49:55 +01:00
public howto resources :) 2025-03-22 01:00:07 +01:00
scripts Synced from site 2025-03-12 18:53:16 +01:00
src prompt templates : contexts 2025-03-26 17:51:53 +01:00
systems Synced from site 2025-03-12 18:53:16 +01:00
temp Initial commit 2025-03-08 21:04:49 +01:00
tests deprogramming with kbot :) 2025-03-22 21:30:54 +01:00
.env.dev Initial commit 2025-03-08 21:04:49 +01:00
.env.prod Initial commit 2025-03-08 21:04:49 +01:00
.gitignore Initial commit 2025-03-08 21:04:49 +01:00
astro-imagetools.config.mjs Synced from site 2025-03-12 19:20:13 +01:00
astro.config.mjs latest 2025-03-19 23:18:13 +01:00
dev.code-workspace mafia filter 2025-03-22 18:16:27 +01:00
frontmatter.json Initial commit 2025-03-08 21:04:49 +01:00
lang_storeEntries.json Initial commit 2025-03-08 21:04:49 +01:00
package-lock.json annotations :) 2025-03-24 17:07:15 +01:00
package.json annotations :) 2025-03-24 17:07:15 +01:00
playwright.config.ts Initial commit 2025-03-08 21:04:49 +01:00
pnpm-lock.yaml Initial commit 2025-03-08 21:04:49 +01:00
postcss.config.cjs Synced from site 2025-03-12 18:53:16 +01:00
README.md Synced from site 2025-03-12 18:53:16 +01:00
storeEntries.json Initial commit 2025-03-08 21:04:49 +01:00
sync-deploy.json Synced from site 2025-03-12 18:53:16 +01:00
sync-playground.json Initial commit 2025-03-08 21:04:49 +01:00
sync-polycraft.json Synced from site 2025-03-12 18:53:16 +01:00
tailwind.config.cjs Synced from site 2025-03-12 18:53:16 +01:00
tsconfig.json howtos store 2025-03-20 17:04:02 +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]