Skip to content

Commit 43a6700

Browse files
authored
Merge pull request #17 from VectorInstitute/improve_catalog_website
Improve catalog website with fuzzy search
2 parents f4c4b4e + fe1c10e commit 43a6700

Some content is hidden

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

48 files changed

+8802
-3037
lines changed

.github/workflows/code_checks.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ jobs:
3535
uses: astral-sh/setup-uv@0c5e2b8115b80b4c7c5ddf6ffdd634974642d182
3636
with:
3737
# Install a specific version of uv.
38-
version: "0.5.21"
38+
version: "0.8.22"
3939
enable-cache: true
4040

4141
- name: "Set up Python"
@@ -52,6 +52,8 @@ jobs:
5252
pre-commit run --all-files
5353
5454
- name: pip-audit (gh-action-pip-audit)
55-
uses: pypa/gh-action-pip-audit@1220774d901786e6f652ae159f7b6bc8fea6d266
55+
uses: pypa/gh-action-pip-audit@v1.1.0
5656
with:
5757
virtual-environment: .venv/
58+
ignore-vulns: |
59+
GHSA-4xh5-x5gv-qwph
Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
name: Deploy Next.js Catalog to GitHub Pages
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
paths:
8+
- 'catalog/**'
9+
- 'repositories/**'
10+
- 'scripts/sync_repositories_to_json.py'
11+
- '.github/workflows/deploy-catalog.yml'
12+
workflow_dispatch:
13+
14+
permissions:
15+
contents: read
16+
pages: write
17+
id-token: write
18+
19+
concurrency:
20+
group: "pages"
21+
cancel-in-progress: false
22+
23+
jobs:
24+
build:
25+
runs-on: ubuntu-latest
26+
steps:
27+
- name: Checkout
28+
uses: actions/checkout@v4
29+
30+
- name: Setup Node.js
31+
uses: actions/setup-node@v4
32+
with:
33+
node-version: '20'
34+
cache: 'npm'
35+
cache-dependency-path: catalog/package-lock.json
36+
37+
- name: Install uv
38+
uses: astral-sh/setup-uv@v5
39+
with:
40+
version: "0.8.22"
41+
enable-cache: true
42+
43+
- name: Set up Python
44+
uses: actions/setup-python@v5
45+
with:
46+
python-version: '3.12'
47+
48+
- name: Install Python dependencies
49+
run: uv pip install --system pyyaml
50+
51+
- name: Sync YAML repositories to JSON
52+
run: python scripts/sync_repositories_to_json.py
53+
54+
- name: Install Node dependencies
55+
working-directory: catalog
56+
run: npm ci
57+
58+
- name: Build Next.js site
59+
working-directory: catalog
60+
run: npm run build
61+
62+
- name: Upload artifact
63+
uses: actions/upload-pages-artifact@v3
64+
with:
65+
path: catalog/out
66+
67+
deploy:
68+
environment:
69+
name: github-pages
70+
url: ${{ steps.deployment.outputs.page_url }}
71+
runs-on: ubuntu-latest
72+
needs: build
73+
steps:
74+
- name: Deploy to GitHub Pages
75+
id: deployment
76+
uses: actions/deploy-pages@v4

.github/workflows/docs.yml

Lines changed: 0 additions & 94 deletions
This file was deleted.

.github/workflows/sync_repos.yml

Lines changed: 0 additions & 94 deletions
This file was deleted.

.gitignore

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,3 +19,12 @@ wheels/
1919

2020
# macos
2121
*.DS_Store
22+
23+
# Next.js
24+
catalog/.next/
25+
catalog/out/
26+
catalog/node_modules/
27+
catalog/.env*.local
28+
29+
# MkDocs
30+
site/

README.md

Lines changed: 36 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,42 @@
22

33
# Implementation Catalog
44

5-
This catalog is a collection of repositories for various Machine Learning techniques and algorithms implemented at Vector Institute. The table has the following columns:
6-
- **Repository**: Link to the Github repo.
7-
- **Description**: A brief introduction to the repository stating its purpose and links to published research papers.
8-
- **Algorithms**: List of ML algorithms demonstrated in the repo.
9-
- **No. of datasets**: Total number of datasets utilized in the repo.
10-
- **Datasets**: Links to any publicly available data. This is a subset of the total datasets mentioned in the repo.
11-
- **Type**: The type of implementation (bootcamp, tool, or applied-research).
12-
- **Year**: The year the implementation was published.
5+
> **🚀 New!** This catalog now has a modern web interface built with Next.js. Visit the live site at [vectorinstitute.github.io/implementation-catalog](https://vectorinstitute.github.io/implementation-catalog)
6+
7+
This catalog is a collection of repositories for various Machine Learning techniques and algorithms implemented at Vector Institute.
8+
9+
## 🌐 Web Interface
10+
11+
The catalog is available as an interactive website featuring:
12+
- **Fast Search**: Instant client-side search powered by Pagefind
13+
- **Filtering**: Browse by type (applied-research, bootcamp, tool)
14+
- **Responsive Design**: Works on all devices
15+
- **Static Deployment**: Zero backend, hosted on GitHub Pages
16+
17+
### Local Development
18+
19+
```bash
20+
# Navigate to the catalog directory
21+
cd catalog
22+
23+
# Install dependencies
24+
npm install
25+
26+
# Run development server
27+
npm run dev
28+
```
29+
30+
See [`catalog/README.md`](catalog/README.md) for detailed documentation.
31+
32+
## 📋 Repository Information
33+
34+
The catalog contains the following information for each implementation:
35+
- **Repository**: Link to the Github repo
36+
- **Description**: Brief introduction and links to published research papers
37+
- **Algorithms**: ML algorithms and techniques demonstrated
38+
- **Datasets**: Links to publicly available datasets
39+
- **Type**: Classification (bootcamp, tool, or applied-research)
40+
- **Year**: Publication year
1341

1442
| <div style="width:100px">Repository</div> | <div style="width:290px">Description</div> | <div style="width:150px">Algorithms</div> | <div style="width:60px">No. of<br/>datasets</div> | <div style="width:120px">Public<br/>Datasets</div> | <div style="width:60px">Type</div> | <div style="width:60px">Year</div> |
1543
| :--------- | :---------- | :--------- | :--------------------:| :-------: | :-------: | :--------: |

catalog/.gitignore

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2+
3+
# dependencies
4+
/node_modules
5+
/.pnp
6+
.pnp.*
7+
.yarn/*
8+
!.yarn/patches
9+
!.yarn/plugins
10+
!.yarn/releases
11+
!.yarn/versions
12+
13+
# testing
14+
/coverage
15+
16+
# next.js
17+
/.next/
18+
/out/
19+
20+
# production
21+
/build
22+
23+
# misc
24+
.DS_Store
25+
*.pem
26+
27+
# debug
28+
npm-debug.log*
29+
yarn-debug.log*
30+
yarn-error.log*
31+
.pnpm-debug.log*
32+
33+
# env files (can opt-in for committing if needed)
34+
.env*
35+
36+
# vercel
37+
.vercel
38+
39+
# typescript
40+
*.tsbuildinfo
41+
next-env.d.ts

0 commit comments

Comments
 (0)