SettingDust/maven

โ˜… 0Forks 0AstroGitHub โ†—Compare

README

Fireboom Maven Repository

A beautiful, Reposilite-style Maven repository browser powered by GitHub Pages and Astro.

โœจ Features

  • ๐ŸŽจ Clean UI - Reposilite-inspired design with dual-pane layout
  • ๐ŸŒฒ Tree Navigation - Interactive file browser with breadcrumb navigation
  • ๐Ÿ“ฆ Smart Scanning - Build-time file size detection and intelligent sorting
  • ๐ŸŽฏ Syntax Highlighting - Color-coded Gradle/Maven dependency snippets
  • ๐Ÿš€ Zero Server - Static site hosted on GitHub Pages
  • โšก Auto Deploy - CI/CD pipeline with GitHub Actions

๐Ÿš€ Quick Start

Local Development

# Install dependencies
pnpm install

# Start dev server
pnpm run dev
# Visit http://localhost:4321

# Build for production
pnpm run build

Deploy to GitHub Pages

  1. Enable GitHub Pages
    Settings โ†’ Pages โ†’ Source: "GitHub Actions"

  2. Configure Site URL
    Edit astro.config.mjs:

    export default defineConfig({
      site: 'https://settingdust.github.io',
      base: '/maven'
    });
  3. Push Changes
    GitHub Actions will automatically build and deploy

๐Ÿ“ฆ Publishing Artifacts

Automated (Recommended)

See Gradle Publishing Guide for setting up automated publishing from your Gradle projects.

Manual

  1. Copy artifacts to repository/ following Maven structure:

    repository/
    โ””โ”€โ”€ com/example/my-lib/1.0.0/
        โ”œโ”€โ”€ my-lib-1.0.0.jar
        โ”œโ”€โ”€ my-lib-1.0.0.pom
        โ””โ”€โ”€ my-lib-1.0.0-sources.jar
    
  2. Commit and push:

    git add repository/
    git commit -m "chore: publish my-lib 1.0.0"
    git push

๐Ÿ”ง Using the Repository

Gradle (Kotlin)

repositories {
    maven("https://settingdust.github.io/maven/repository")
}

dependencies {
    implementation("com.example:my-lib:1.0.0")
}

Gradle (Groovy)

repositories {
    maven "https://settingdust.github.io/maven/repository"
}

dependencies {
    implementation 'com.example:my-lib:1.0.0'
}

Maven

<repositories>
    <repository>
        <id>settingdust-maven</id>
        <url>https://settingdust.github.io/maven/repository</url>
    </repository>
</repositories>

<dependencies>
    <dependency>
        <groupId>com.example</groupId>
        <artifactId>my-lib</artifactId>
        <version>1.0.0</version>
    </dependency>
</dependencies>

๐Ÿ“ Project Structure

.
โ”œโ”€โ”€ .github/workflows/    # CI/CD automation
โ”œโ”€โ”€ repository/           # Maven artifacts
โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ layouts/         # Page templates
โ”‚   โ””โ”€โ”€ pages/           # Index page with file browser
โ”œโ”€โ”€ public/              # Static assets
โ””โ”€โ”€ docs/                # Documentation

๐ŸŽจ UI Features

  • Dual-Pane Layout - File browser + dependency info sidebar
  • Smart File Sorting - POM โ†’ JAR โ†’ sources โ†’ checksums
  • Build-Time Scanning - Accurate file sizes and metadata
  • Client-Side Routing - Instant navigation without page reload
  • Responsive Design - Works on desktop and mobile

๐Ÿ“š Documentation

๐Ÿ› ๏ธ Tech Stack

๐Ÿ“„ License

MIT License

๐Ÿค Contributing

Issues and Pull Requests welcome!

Contributors

actions-userSettingDustastrobot-houston

Issues