8000 GitHub - wronai/www: edge computing LLM for embedded devices such RPI
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

wronai/www

Repository files navigation

WronAI Projects Dashboard

A static dashboard showcasing WronAI's open source projects with automatic repository analysis and deployment to GitHub Pages.

Features

  • Automatic repository analysis via GitHub Actions
  • Package manager detection (pip, npm, yarn, poetry)
  • PyPI package verification
  • Docker support detection
  • GitHub Actions workflow detection
  • Responsive design with dark mode support
  • Automated deployment to GitHub Pages
  • Concurrent deployment protection
  • Branch-specific deployments

Key Files and Their Usage

1. Makefile

The main build automation tool. Provides convenient commands for development and deployment.

Available Commands:

make help           # Show all available commands
make install       # Install all dependencies
make dev           # Start development server (http://localhost:3000)
make build         # Build for production
make preview       # Preview production build
make clean         # Clean build artifacts
make update-repos  # Update repository data
make setup-dev     # Set up development tools
make test-gh-actions  # Test GitHub Actions locally
make setup-test-env  # Set up test environment

2. combine_readmes.sh

A utility script to combine README.md files from subdirectories into a single SUM.md file.

Features:

  • Combines multiple README.md files into one
  • Respects .gitignore rules
  • Configurable search depth
  • Handles non-git directories
  • Shows progress during processing

Usage:

# Default (2 levels deep)
./combine_readmes.sh

# Specify custom depth (e.g., 3 levels)
./combine_readmes.sh 3

3. repos.json

The main data file containing repository information. This file is automatically generated and should not be edited manually.

Location:

  • repos.json - Main repository data
  • src/repos.json - Copy used by the development server

4. update_repos.py

Python script that analyzes repositories and updates repos.json with the latest information.

Usage:

python update_repos.py

5. src/ Directory

Contains the source code for the dashboard.

Key files:

  • src/index.html - Main HTML file
  • src/css/ - Stylesheets
  • src/js/ - JavaScript files
  • src/repos.json - Copy of repository data for development

6. .github/workflows/

GitHub Actions workflow files:

  • analyze.yml - Runs repository analysis
  • deploy.yml - Handles deployment to GitHub Pages
  • static-deploy.yml - Alternative deployment configuration

Getting Started

Getting Started

Prerequisites

  • Node.js 20+ (LTS recommended)
  • npm
  • Python 3.10+ (for repository analysis)
  • Docker (for local GitHub Actions testing)

Installation

  1. Clone the repository:

    git clone https://github.com/wronai/www.git
    cd www
  2. Install dependencies:

    make install
  3. Start development server:

    make dev

    This starts a local server at http://localhost:3000

Development

Available Commands

Run make help to see all available commands:

make help           Show this help
make install       Install dependencies
make dev           Start development server
make build         Build for production
make preview       Preview production build
make clean         Clean build artifacts
make update-repos  Update repository data
make setup-dev     Set up development tools
make test-gh-actions  Test GitHub Actions locally
make setup-test-env  Set up test environment
./combine_readmes.sh [depth]  Combine all README.md files (default depth: 2)

Combine READMEs

The combine_readmes.sh script combines all README.md files in subdirectories into a single SUM.md file. It respects .gitignore files and allows you to control the search depth.

Features:

  • Combines README.md files from subdirectories into a single file
  • Respects .gitignore rules to skip ignored directories
  • Configurable search depth (default: 2 levels deep)
  • Handles non-git directories gracefully
  • Shows progress during processing

Usage:

# Default (2 levels deep)
./combine_readmes.sh

# Specify custom depth (e.g., 3 levels)
./combine_readmes.sh 3

Repository Analysis

The system automatically analyzes repositories to extract:

  • Package information (name, version)
  • Dependencies
  • Docker support
  • CI/CD configuration
  • Last update time
  • Language detection

To manually update repository data:

make update-repos

Project Structure

www/
├── src/                  # Source files
│   ├── css/              # Stylesheets
│   ├── js/               # JavaScript files
│   └── index.html        # Main HTML file
├── .github/workflows/    # GitHub Actions workflows
├── repo-analyzer/        # Repository analysis tools
├── scripts/              # Utility scripts
└── update_repos.py       # Main repository update script

GitHub Actions Workflows

  1. Analyze Repositories (.github/workflows/analyze.yml)

    • Runs daily at 4 AM UTC or on push to repo-analyzer/**
    • Updates repos.json with repository information
  2. Deploy to GitHub Pages (.github/workflows/deploy.yml)

    • Triggers on push to main branch
    • Builds and deploys the production site
  3. Static Site Deployment (.github/workflows/static-deploy.yml)

    • Alternative deployment with SPA routing support

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Commit your changes
  4. Push to the branch
  5. Create a Pull Request

License

This project is licensed under the terms of the MIT license. See LICENSE for more details.

The site is automatically deployed to GitHub Pages through GitHub Actions. The deployment process:

  1. Analysis Workflow:

    • Runs daily or on push to repo-analyzer/**
    • Updates repository metadata
    • Commits changes to repos.json
  2. Deployment Workflow:

    • Triggers on push to main or after analysis
    • Installs dependencies
    • Builds the production site
    • Deploys to GitHub Pages

Manual Deployment

  1. Make your changes
  2. Commit and push to main
  3. The deployment will start automatically

Troubleshooting

Common Issues

  1. Build fails

    • Run npm install to ensure all dependencies are installed
    • Check for errors in the GitHub Actions logs
  2. Repository data not updating

    • Run make update-repos manually
    • Check the analyze workflow logs
  3. Deployment fails

    • Verify all required files exist
    • Check for syntax errors in the workflow files
    • Ensure GitHub Pages is properly configured in the repository settings

License

Apache 2.0

License

Apache

0