Skip to content

Commit 1bf9f2a

Browse files
committed
Refactor code formatting and update Dockerfile for improved compatibility - email feeds working! 🥳
1 parent c536b8d commit 1bf9f2a

21 files changed

+1995
-1719
lines changed

.github/FUNDING.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
# These are supported funding model platforms
2-
3-
github: [TBosak]
1+
# These are supported funding model platforms
2+
3+
github: [TBosak]

.github/workflows/docker-image.yml

Lines changed: 52 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -1,52 +1,52 @@
1-
name: Build and Push Docker Images
2-
3-
on:
4-
push:
5-
branches: [main]
6-
7-
jobs:
8-
build-and-push:
9-
runs-on: ubuntu-latest
10-
permissions:
11-
contents: read
12-
packages: write
13-
14-
steps:
15-
- name: Checkout repository
16-
uses: actions/checkout@v3
17-
18-
- name: Set up Docker Buildx
19-
uses: docker/setup-buildx-action@v2
20-
21-
# Login to Docker Hub
22-
- name: Log in to Docker Hub
23-
uses: docker/login-action@v2
24-
with:
25-
registry: docker.io
26-
username: ${{ secrets.DOCKERHUB_USERNAME }}
27-
password: ${{ secrets.DOCKERHUB_TOKEN }}
28-
29-
# Login to GitHub Container Registry
30-
- name: Log in to GitHub Container Registry
31-
uses: docker/login-action@v2
32-
with:
33-
registry: ghcr.io
34-
username: ${{ github.actor }}
35-
password: ${{ secrets.GHCR_TOKEN }}
36-
37-
- name: Extract version number
38-
id: vars
39-
run: |
40-
VERSION=${{ github.run_number }}
41-
echo "VERSION=$VERSION" >> $GITHUB_ENV
42-
43-
- name: Build and push Docker images to Docker Hub and GHCR
44-
uses: docker/build-push-action@v4
45-
with:
46-
context: .
47-
push: true
48-
tags: |
49-
docker.io/tbosk/mkfd:latest
50-
docker.io/tbosk/mkfd:${{ env.VERSION }}
51-
ghcr.io/tbosak/mkfd:latest
52-
ghcr.io/tbosak/mkfd:${{ env.VERSION }}
1+
name: Build and Push Docker Images
2+
3+
on:
4+
push:
5+
branches: [main]
6+
7+
jobs:
8+
build-and-push:
9+
runs-on: ubuntu-latest
10+
permissions:
11+
contents: read
12+
packages: write
13+
14+
steps:
15+
- name: Checkout repository
16+
uses: actions/checkout@v3
17+
18+
- name: Set up Docker Buildx
19+
uses: docker/setup-buildx-action@v2
20+
21+
# Login to Docker Hub
22+
- name: Log in to Docker Hub
23+
uses: docker/login-action@v2
24+
with:
25+
registry: docker.io
26+
username: ${{ secrets.DOCKERHUB_USERNAME }}
27+
password: ${{ secrets.DOCKERHUB_TOKEN }}
28+
29+
# Login to GitHub Container Registry
30+
- name: Log in to GitHub Container Registry
31+
uses: docker/login-action@v2
32+
with:
33+
registry: ghcr.io
34+
username: ${{ github.actor }}
35+
password: ${{ secrets.GHCR_TOKEN }}
36+
37+
- name: Extract version number
38+
id: vars
39+
run: |
40+
VERSION=${{ github.run_number }}
41+
echo "VERSION=$VERSION" >> $GITHUB_ENV
42+
43+
- name: Build and push Docker images to Docker Hub and GHCR
44+
uses: docker/build-push-action@v4
45+
with:
46+
context: .
47+
push: true
48+
tags: |
49+
docker.io/tbosk/mkfd:latest
50+
docker.io/tbosk/mkfd:${{ env.VERSION }}
51+
ghcr.io/tbosak/mkfd:latest
52+
ghcr.io/tbosak/mkfd:${{ env.VERSION }}

README.md

Lines changed: 77 additions & 77 deletions
Original file line numberDiff line numberDiff line change
@@ -1,77 +1,77 @@
1-
<p align="center">
2-
<img src="https://github.com/TBosak/mkfd/blob/main/public/logo.png?raw=true"
3-
alt="mkfd"
4-
height="15%"
5-
width="15%"/><br><br>
6-
<img alt="Docker Pulls" src="https://img.shields.io/docker/pulls/tbosk/mkfd">
7-
<img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/tbosak/mkfd">
8-
</p>
9-
10-
## 🏃 Running locally
11-
12-
### 🍞 Bun installation <sup>Visit [bun.sh](https://bun.sh/) for more info</sup>
13-
14-
```bash
15-
curl https://bun.sh/install | bash
16-
```
17-
18-
### 📦 To install dependencies
19-
20-
```bash
21-
bun install
22-
```
23-
24-
### 🚀 To run
25-
26-
```bash
27-
bun run index.ts --passkey=your_passkey_here --cookieSecret=your_cookie_secret_here
28-
```
29-
30-
➡️ Access the GUI at `http://localhost:5000/`
31-
32-
---
33-
34-
## 🐳 Running with Docker
35-
36-
### 🏠 Locally
37-
38-
```bash
39-
docker build -t mkfd .
40-
docker run -p 5000:5000 -v /local/mount/path:/configs -e PASSKEY=your_passkey -e COOKIE_SECRET=your_cookie_secret mkfd
41-
```
42-
43-
### 📥 From Docker Hub
44-
45-
```bash
46-
docker pull tbosk/mkfd:latest
47-
docker run -p 5000:5000 -v /local/mount/path:/configs -e PASSKEY=your_passkey -e COOKIE_SECRET=your_cookie_secret tbosk/mkfd:latest
48-
```
49-
50-
## 🖼️ GUI
51-
52-
![mkfdgui](https://github.com/user-attachments/assets/620d4f1f-15a6-4120-8265-6ba07aa4aa27)
53-
54-
---
55-
56-
## 🔧 To Do
57-
58-
- [X] **Locally** testing subscriptions to feeds
59-
- [ ] Add ALL possible RSS fields to models
60-
- [X] Add option for parallel iterators
61-
- [ ] Scraping how-to video
62-
- [X] Add feed preview pane
63-
- [ ] Store/compare feed data to enable timestamping feed items
64-
- [X] Create dockerfile
65-
- [ ] Create Helm chart files
66-
- [X] Create GUI
67-
- [ ] Utilities
68-
- [X] HTML stripper
69-
- [X] Source URL wrapper for relative links
70-
- [ ] Nested link follower/drilldown functionality for each feed field
71-
- [X] Adjust date parser logic with overrides from an optional date format input
72-
- [ ] Add selector suggestion engine
73-
- [ ] Amass contributors
74-
75-
<br>
76-
77-
[![paypal](https://www.paypalobjects.com/en_US/i/btn/btn_donateCC_LG.gif)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=V5LC4XTQDDE82&source=url)
1+
<p align="center">
2+
<img src="https://github.com/TBosak/mkfd/blob/main/public/logo.png?raw=true"
3+
alt="mkfd"
4+
height="15%"
5+
width="15%"/><br><br>
6+
<img alt="Docker Pulls" src="https://img.shields.io/docker/pulls/tbosk/mkfd">
7+
<img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/tbosak/mkfd">
8+
</p>
9+
10+
## 🏃 Running locally
11+
12+
### 🍞 Bun installation <sup>Visit [bun.sh](https://bun.sh/) for more info</sup>
13+
14+
```bash
15+
curl https://bun.sh/install | bash
16+
```
17+
18+
### 📦 To install dependencies
19+
20+
```bash
21+
bun install
22+
```
23+
24+
### 🚀 To run
25+
26+
```bash
27+
bun run index.ts --passkey=your_passkey_here --cookieSecret=your_cookie_secret_here
28+
```
29+
30+
➡️ Access the GUI at `http://localhost:5000/`
31+
32+
---
33+
34+
## 🐳 Running with Docker
35+
36+
### 🏠 Locally
37+
38+
```bash
39+
docker build -t mkfd .
40+
docker run -p 5000:5000 -v /local/mount/path:/configs -e PASSKEY=your_passkey -e COOKIE_SECRET=your_cookie_secret mkfd
41+
```
42+
43+
### 📥 From Docker Hub
44+
45+
```bash
46+
docker pull tbosk/mkfd:latest
47+
docker run -p 5000:5000 -v /local/mount/path:/configs -e PASSKEY=your_passkey -e COOKIE_SECRET=your_cookie_secret tbosk/mkfd:latest
48+
```
49+
50+
## 🖼️ GUI
51+
52+
![mkfdgui](https://github.com/user-attachments/assets/620d4f1f-15a6-4120-8265-6ba07aa4aa27)
53+
54+
---
55+
56+
## 🔧 To Do
57+
58+
- [x] **Locally** testing subscriptions to feeds
59+
- [ ] Add ALL possible RSS fields to models
60+
- [x] Add option for parallel iterators
61+
- [ ] Scraping how-to video
62+
- [x] Add feed preview pane
63+
- [ ] Store/compare feed data to enable timestamping feed items
64+
- [x] Create dockerfile
65+
- [ ] Create Helm chart files
66+
- [x] Create GUI
67+
- [ ] Utilities
68+
- [x] HTML stripper
69+
- [x] Source URL wrapper for relative links
70+
- [ ] Nested link follower/drilldown functionality for each feed field
71+
- [x] Adjust date parser logic with overrides from an optional date format input
72+
- [ ] Add selector suggestion engine
73+
- [ ] Amass contributors
74+
75+
<br>
76+
77+
[![paypal](https://www.paypalobjects.com/en_US/i/btn/btn_donateCC_LG.gif)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=V5LC4XTQDDE82&source=url)

adapters/adapter.interface.ts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
import ApiConfig from "../models/apiconfig.model";
2-
3-
export default interface IAdapter {
4-
config: ApiConfig;
5-
fetchData(param?: string): Promise<string>;
6-
buildRSS(res: string): Promise<string>;
7-
}
1+
import ApiConfig from "../models/apiconfig.model";
2+
3+
export default interface IAdapter {
4+
config: ApiConfig;
5+
fetchData(param?: string): Promise<string>;
6+
buildRSS(res: string): Promise<string>;
7+
}

adapters/base.adapter.ts

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
1-
import ApiConfig from "../models/apiconfig.model";
2-
import IAdapter from "./adapter.interface";
3-
4-
export abstract class BaseAdapter implements IAdapter {
5-
config: ApiConfig;
6-
7-
constructor(config: ApiConfig) {
8-
this.config = config;
9-
}
10-
11-
abstract fetchData(param?: string): Promise<string>;
12-
abstract buildRSS(res: string): Promise<string>;
13-
}
1+
import ApiConfig from "../models/apiconfig.model";
2+
import IAdapter from "./adapter.interface";
3+
4+
export abstract class BaseAdapter implements IAdapter {
5+
config: ApiConfig;
6+
7+
constructor(config: ApiConfig) {
8+
this.config = config;
9+
}
10+
11+
abstract fetchData(param?: string): Promise<string>;
12+
abstract buildRSS(res: string): Promise<string>;
13+
}

0 commit comments

Comments
 (0)