Skip to content

Commit 2dc6ca4

Browse files
authored
Merge pull request #16 from hackclub/main
merge pls, this is driving me crazy
2 parents 27e21dd + 6ccba11 commit 2dc6ca4

File tree

109 files changed

+5517
-307
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

109 files changed

+5517
-307
lines changed

.github/workflows/deploy.yml

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
name: Deploy to GitHub Pages
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
8+
jobs:
9+
build-and-deploy:
10+
runs-on: ubuntu-latest
11+
12+
steps:
13+
- name: Checkout
14+
uses: actions/checkout@v4
15+
with:
16+
fetch-depth: 0
17+
18+
- name: Setup Node.js
19+
uses: actions/setup-node@v4
20+
with:
21+
node-version: '20'
22+
23+
- name: Install dependencies
24+
run: npm install
25+
26+
- name: Generate JSON and RSS
27+
run: |
28+
node generate-json.js
29+
node generate-rss.js
30+
31+
- name: Deploy to GitHub Pages
32+
uses: peaceiris/actions-gh-pages@v4
33+
with:
34+
github_token: ${{ secrets.GITHUB_TOKEN }}
35+
publish_dir: .
36+
publish_branch: gh-pages

.github/workflows/validate.yml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,14 @@ jobs:
1616
steps:
1717
- uses: actions/checkout@v4
1818

19+
- name: Install Dependencies
20+
run: npm install
21+
1922
- name: json-yaml-validate
2023
id: json-yaml-validate
2124
uses: GrantBirki/json-yaml-validate@v3.2.1
2225
with:
23-
comment: "true"
26+
comment: "true"
27+
28+
- name: Validate Dates in data.yml
29+
run: node validateDates.js

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
node_modules
2+
package-lock.json

README.md

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,6 @@
22

33
**YSWS-Catalog** is a web-based directory showcasing Hack Club’s "You Ship, We Ship" (YSWS) programs. Each YSWS program rewards participants for building and shipping projects—hardware, software, art, and more—by sending them physical or digital goodies. This repository hosts the source code for the catalog, allowing anyone to explore, filter, and learn about these initiatives. If you want to add or update a program, feel free to submit a pull request!
44

5-
> **Note:**
6-
The actively maintained version of this project is now hosted at [hackclub/YSWS-Catalog](https://github.com/hackclub/YSWS-Catalog). This repository is the original version created by me and is not updated by the community. Please refer to the maintained repository.
7-
85
## Features
96

107
- **Dynamic Program Listing:** All YSWS programs are defined in `script.js` for easy editing.
@@ -15,12 +12,14 @@ The actively maintained version of this project is now hosted at [hackclub/YSWS-
1512
- **Deadline Indicators:** Visual indicators for program deadlines, highlighting urgent and very urgent statuses to help prioritize participation.
1613
- **Real-time Deadline Updates:** Deadlines are updated in real-time to reflect the current status, ensuring information is always up-to-date.
1714
- **Responsive Design:** Optimized for various screen sizes and devices, providing a seamless experience on desktops, tablets, and mobile devices.
15+
- **RSS Feed:** Subscribe to get notifications about active YSWS programs in your favorite RSS reader.
16+
- **JSON API:** Get full data as a json object
1817

1918
## Getting Started
2019

2120
1. **Clone the repository:**
2221
```bash
23-
git clone https://github.com/PawiX25/YSWS-Catalog.git
22+
git clone https://github.com/hackclub/YSWS-Catalog.git
2423
cd YSWS-Catalog
2524
```
2625

@@ -37,6 +36,14 @@ The actively maintained version of this project is now hosted at [hackclub/YSWS-
3736
5. **Toggle Theme:**
3837
- Click the 🌙/☀️ button to switch between dark and light modes.
3938

39+
## RSS Feed
40+
41+
You can subscribe to updates about active YSWS programs using our RSS feed:
42+
43+
- **Feed URL**: `https://ysws.hackclub.com/feed.xml`
44+
45+
This feed is automatically updated whenever new programs are added or existing programs' statuses change. You can use this feed with any RSS reader like Feedly, Inoreader, or apps like Glance to get notified about new opportunities.
46+
4047
## Project Structure
4148

4249
- **index.html:** The main HTML file containing the container for program cards and the modal structure.
@@ -49,6 +56,8 @@ The actively maintained version of this project is now hosted at [hackclub/YSWS-
4956
- Handling theme toggling
5057
- Managing program detail modals
5158
- Updating deadlines in real-time
59+
- **generate-json.js:** Generates a JSON file equivalent of the data.yml (for API use)
60+
- **generate-rss.js:** Generates an RSS feed.xml file
5261

5362
## Data Source & Example
5463

@@ -59,7 +68,7 @@ Each program object can include:
5968
- **Required Fields:**
6069
- `name`: Program name
6170
- `description`: Short description of the program
62-
- `status`: `active`, `upcoming`, or `completed`
71+
- `status`: `active`, `draft`, or `ended`
6372

6473
- **Optional Fields:**
6574
- `website`: URL or `null`
@@ -115,4 +124,3 @@ details:
115124
```
116125
5. **Open a Pull Request:**
117126
On GitHub, open a PR from your fork to this repository and provide a description of your changes.
118-

0 commit comments

Comments
 (0)