6 | Get your feeds in your inbox every morning like a newspaper. This 7 | feature is a work in progress and will be available soon. 8 |
9 |
14 | {{ description }}
20 |
](http://supersaas.dev?ref=github-feedful)
2 |
3 |
4 | # Feedful
5 |
6 | 
7 |
8 | **Feedful** is a tweetdeck-styled news reader designed for power users. Imagine having all your favorite news sources, blogs, and publications in one place, organized neatly into columns. Feedful allows you to do just that!
9 |
10 | ## Features
11 |
12 | - **Multiple Columns**: Add unlimited and infinite columns for different publications.
13 | - **Supported Platforms**: ProductHunt, HackerNews, GitHub Trending, Reddit, YouTube, Dribbble, RSS feeds, Google News, and more (Others WIP).
14 | - **User-Friendly**: Designed with a clean and intuitive interface.
15 |
16 | ## Getting Started
17 |
18 | To get started with Feedful, you can access the project at [feedful.vercel.app](https://feedful.vercel.app).
19 |
20 |
21 | ## A Note from the Creator
22 |
23 | Hi everyone!
24 |
25 | I initially created Feedful as a modern RSS reader for power readers. Due to various reasons(fulltime work, other projects etc), I kinda abandoned the project, and the user base eventually dwindled and I feel like there's no reason to renew the domain.
26 |
27 | However, I did not kill the project completely. I've decided to make the project open source so that the community can benefit from it or even take it forward.
28 |
29 | You can still access the project at [feedful.vercel.app](https://feedful.vercel.app).
30 |
31 | Happy reading!
32 |
33 | ## License
34 |
35 | This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
36 |
37 | ---
38 |
39 | Feel free to personalize this README according to your specific needs or preferences!
40 |
41 | Happy coding! 🛠️
42 |
43 | ## Setup
44 |
45 | Make sure to install the dependencies:
46 |
47 | ```bash
48 | # npm
49 | npm install
50 |
51 | # pnpm
52 | pnpm install
53 |
54 | # yarn
55 | yarn install
56 | ```
57 |
58 | ## Development Server
59 |
60 | Start the development server on `http://localhost:3000`:
61 |
62 | ```bash
63 | # npm
64 | npm run dev
65 |
66 | # pnpm
67 | pnpm run dev
68 |
69 | # yarn
70 | yarn dev
71 | ```
72 |
73 | ## Production
74 |
75 | Build the application for production:
76 |
77 | ```bash
78 | # npm
79 | npm run build
80 |
81 | # pnpm
82 | pnpm run build
83 |
84 | # yarn
85 | yarn build
86 | ```
87 |
88 | Locally preview production build:
89 |
90 | ```bash
91 | # npm
92 | npm run preview
93 |
94 | # pnpm
95 | pnpm run preview
96 |
97 | # yarn
98 | yarn preview
99 | ```
100 |
101 |
102 | ## Contributions
103 |
104 | Feel free to fork this project, contribute, and open pull requests. All contributions are welcome!
105 |
--------------------------------------------------------------------------------
/types/feed.d.ts:
--------------------------------------------------------------------------------
1 | declare interface GithubFeedMeta {
2 | language: string;
3 | since: string;
4 | }
5 |
6 | declare interface YoutubeFeedMeta {
7 | channelId: string;
8 | }
9 |
10 | declare interface RedditFeedMeta {
11 | subreddit: string;
12 | }
13 |
14 | declare interface RssFeedMeta {
15 | feedUrl: string;
16 | }
17 |
18 | declare interface Feed {
19 | id?: number;
20 | name: string;
21 | type: string;
22 | icon?: string;
23 | url?: string;
24 | description?: string;
25 | meta?: GithubFeedMeta | YoutubeFeedMeta | RssFeedMeta | RedditFeedMeta;
26 | user_id?: string;
27 | created_at?: string;
28 | }
29 |
30 | declare interface RedditPost {
31 | id: string;
32 | title: string;
33 | subreddit: string;
34 | author: string;
35 | votes: number;
36 | text: string;
37 | nsfw: boolean;
38 | url: string;
39 | is_video: boolean;
40 | is_image: boolean;
41 | thumbnail: string;
42 | comments: number;
43 | video_url: string;
44 | created_at: number;
45 | }
46 |
47 | interface ProducthuntThumbnail {
48 | type: string;
49 | url: string;
50 | }
51 | declare interface Producthunt {
52 | id: string;
53 | name: string;
54 | tagline: string;
55 | description: string;
56 | url: string;
57 | votesCount: number;
58 | thumbnail: ProducthuntThumbnail;
59 | website: string;
60 | reviewsRating: number;
61 | }
62 |
63 | declare interface Hackernews {
64 | id: number;
65 | title: string;
66 | points: number;
67 | user: string;
68 | time: number;
69 | time_ago: string;
70 | comments_count: number;
71 | type: string;
72 | url: string;
73 | domain: string;
74 | }
75 |
76 | declare interface Github {
77 | title: string;
78 | description: string;
79 | url: string;
80 | stars: string;
81 | }
82 |
83 | declare interface Dribbble {
84 | image: string;
85 | title: string;
86 | likes: string;
87 | views: string;
88 | author: string;
89 | authorAvatar: string;
90 | url: string;
91 | }
92 |
93 | declare interface YoutubeChannel {
94 | id: string;
95 | name: string;
96 | thumbnail: string;
97 | }
98 |
99 | declare interface YouTubeSearchResponse {
100 | kind: string;
101 | etag: string;
102 | nextPageToken: string;
103 | regionCode: string;
104 | pageInfo: {
105 | totalResults: number;
106 | resultsPerPage: number;
107 | };
108 | items: YouTubeSearchItem[];
109 | }
110 |
111 | declare interface YoutubePost {
112 | id?: string;
113 | enclosures: any[];
114 | title: string;
115 | link: string;
116 | thumbnail: string;
117 | description: string;
118 | }
119 |
120 | declare interface YouTubeSearchItem {
121 | kind: string;
122 | etag: string;
123 | id: {
124 | kind: string;
125 | channelId: string;
126 | };
127 | snippet: {
128 | publishedAt: string;
129 | channelId: string;
130 | title: string;
131 | description: string;
132 | thumbnails: {
133 | default: {
134 | url: string;
135 | };
136 | };
137 | channelTitle: string;
138 | liveBroadcastContent: string;
139 | publishTime: string;
140 | };
141 | }
142 |
--------------------------------------------------------------------------------
/components/NewFeed/YoutubeMeta.vue:
--------------------------------------------------------------------------------
1 |
2 | {{ selectedChannel.name }}
18 |Changelog
8 | 9 |
82 | or,
83 |
Have a question or found a bug?
11 |Let us know!
12 |Widget powered by Feedbackjar
74 |
85 | or,
86 |