Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 45 additions & 0 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
name: Deploy to GitHub Pages

on:
push:
branches: [ main, master, "cursor/siderust-organization-website-6aa3" ]
workflow_dispatch:

permissions:
contents: read
pages: write
id-token: write

jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Install Node.js
uses: actions/setup-node@v4
with:
node-version: 20

- name: Install dependencies
run: npm ci --legacy-peer-deps

- name: Build
run: npm run build

- name: Upload Pages Artifact
uses: actions/upload-pages-artifact@v3
with:
path: ./dist

deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
needs: build
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
node_modules
.astro
dist
.DS_Store
.env
.env.*
101 changes: 74 additions & 27 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,42 +1,89 @@
# Siderust — GitHub Pages Website
# Siderust Organization Website

This repository contains the source for the **Siderust** organization website, built for **GitHub Pages**.
It showcases the Siderust ecosystem and highlights the main crates/projects:
This is the source code for the Siderust organization website, built with **Astro** and **Tailwind CSS**.
It is designed to be deployed to **GitHub Pages**.

- **siderust**
- **qtty**
- **affn**
## Tech Stack

Organization: https://github.com/Siderust
* **Framework:** [Astro](https://astro.build)
* **Styling:** [Tailwind CSS](https://tailwindcss.com)
* **Icons:** [Lucide React](https://lucide.dev)
* **Deployment:** GitHub Pages via GitHub Actions

---
## Project Structure

## ✨ Features
```
/
├── public/ # Static assets (robots.txt, favicon, etc.)
├── src/
│ ├── components/ # Reusable UI components
│ ├── layouts/ # Page layouts
│ ├── pages/ # Astro pages (file-based routing)
│ ├── styles/ # Global styles
│ └── utils/ # Utility functions (e.g. GitHub API fetcher)
├── site.config.ts # Site configuration and project list
├── astro.config.mjs # Astro configuration
└── tailwind.config.mjs # Tailwind configuration
```

- Modern, responsive UI (mobile-first)
- Light/Dark mode toggle (persists preference)
- Projects index with search/filter/sort
- Per-project detail pages
- Auto-fetch GitHub repository metadata (stars, language, releases, last updated)
- SEO + OpenGraph/Twitter cards
- GitHub Actions deployment to GitHub Pages
## Getting Started

---
### Prerequisites

## 🧱 Tech Stack
* Node.js (v18 or higher)
* npm

> Adjust this section to match your implementation if you switch stacks.
### Local Development

- **Astro** (static site)
- **Tailwind CSS** (styling)
- GitHub API (repo metadata)
- GitHub Actions (deployment)
1. **Install dependencies:**

---
```bash
npm install --legacy-peer-deps
```

## 🚀 Local Development
*Note: `--legacy-peer-deps` is currently needed due to a minor version conflict between Astro's tailwind integration and the latest Tailwind CSS.*

2. **Start the dev server:**

```bash
npm run dev
```

Open [http://localhost:4321](http://localhost:4321) in your browser.

### Building for Production

To create a production build:

### 1) Install dependencies
```bash
npm install
npm run build
```

The output will be in the `dist/` directory.

### Adding a New Project

1. Open `site.config.ts`.
2. Add a new entry to the `projects` array:

```typescript
{
repo: 'your-new-repo-name',
description: 'Optional manual description override.',
}
```

3. The site automatically fetches metadata (stars, description, language, etc.) from GitHub during the build.

## Deployment

The site is deployed automatically to GitHub Pages via GitHub Actions.

1. Push changes to the main branch (or the configured branch in `.github/workflows/deploy.yml`).
2. The workflow will build the site and deploy the `dist/` folder.

**Important:** Ensure GitHub Pages is enabled in the repository settings and set to deploy from "GitHub Actions".

## License

MIT
10 changes: 10 additions & 0 deletions astro.config.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
import { defineConfig } from 'astro/config';
import tailwind from '@astrojs/tailwind';
import react from '@astrojs/react';

// https://astro.build/config
export default defineConfig({
site: 'https://siderust.github.io', // Placeholder
integrations: [tailwind(), react()],
base: '/',
});
Loading
Loading