├── .gitignore ├── .vscode └── extensions.json ├── README.md ├── doc ├── ai-search.png ├── col-view.png ├── feed-follow.png ├── feed-items.png ├── img-reader.png ├── login.png ├── mobile-feed.png ├── mobile-reader.png ├── podcast-reader.png ├── text-reader.png └── video-reader.png ├── index.html ├── package.json ├── pnpm-lock.yaml ├── public ├── data.json ├── favicon.ico └── logo.svg ├── src-tauri ├── .gitignore ├── Cargo.lock ├── Cargo.toml ├── build.rs ├── capabilities │ └── default.json ├── icons │ ├── 128x128.png │ ├── 128x128@2x.png │ ├── 32x32.png │ ├── Square107x107Logo.png │ ├── Square142x142Logo.png │ ├── Square150x150Logo.png │ ├── Square284x284Logo.png │ ├── Square30x30Logo.png │ ├── Square310x310Logo.png │ ├── Square44x44Logo.png │ ├── Square71x71Logo.png │ ├── Square89x89Logo.png │ ├── StoreLogo.png │ ├── icon.icns │ ├── icon.ico │ └── icon.png ├── src │ ├── lib.rs │ └── main.rs └── tauri.conf.json ├── src ├── App.vue ├── api │ └── index.ts ├── assets │ └── vue.svg ├── components │ ├── ConfirmDialog.vue │ ├── Greet.vue │ ├── HelpDialog.vue │ ├── ImagePreviewDialog.vue │ └── MPlayer.vue ├── layout │ ├── IndexLayout copy.vue │ ├── IndexLayout.vue │ ├── SideNav.vue │ ├── settings │ │ ├── Settings.vue │ │ └── sub │ │ │ ├── SettingsAbout.vue │ │ │ ├── SettingsAppearance.vue │ │ │ ├── SettingsGeneral.vue │ │ │ └── SettingsIntegrated.vue │ └── sub │ │ ├── FeedDialog.vue │ │ ├── HelpDialog.vue │ │ ├── PlayList.vue │ │ ├── SearchDialog.vue │ │ └── SideBar.vue ├── main.ts ├── plugins │ ├── ImgPreview.ts │ ├── confirm.ts │ ├── index.ts │ └── vuetify.ts ├── repository │ ├── index.ts │ ├── model.ts │ └── repository.ts ├── router │ └── index.ts ├── service │ ├── index.ts │ ├── rag.ts │ ├── recommend.ts │ └── types.ts ├── store │ ├── base.ts │ ├── feeds.ts │ ├── index.ts │ ├── items.ts │ ├── playlist.ts │ ├── settings.ts │ └── types.ts ├── types │ └── colorthief.d.ts ├── utils │ ├── dateFormat.ts │ ├── dbHelper.ts │ ├── debound.ts │ ├── http.ts │ ├── mdUtils.ts │ ├── scroll.ts │ ├── scrollListener.ts │ ├── useCalView.ts │ ├── useElResize.ts │ ├── useHotkeys.ts │ ├── useItem.ts │ └── useSideChapter.ts ├── views │ ├── Combo.vue │ ├── Discovery.vue │ ├── Download.vue │ ├── FeedAssistant.vue │ ├── InjectionSymbols.ts │ ├── Items.vue │ ├── Login.vue │ ├── RelatedArticles.vue │ ├── Welcome.vue │ ├── discover │ │ ├── RssEditor.vue │ │ └── RssList.vue │ ├── item │ │ ├── CardItem.vue │ │ ├── ContentItem.vue │ │ ├── Index.vue │ │ ├── MagazineItem.vue │ │ ├── TextItem.vue │ │ └── types.ts │ └── reader │ │ ├── Index.vue │ │ ├── InjectionSymbols.ts │ │ ├── Reader.vue │ │ ├── index.ts │ │ └── sub │ │ ├── BasicReader.vue │ │ ├── ImageReader.vue │ │ ├── PodcastReader.vue │ │ └── VideoReader.vue └── vite-env.d.ts ├── tsconfig.json ├── tsconfig.node.json └── vite.config.ts /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | pnpm-debug.log* 8 | lerna-debug.log* 9 | 10 | node_modules 11 | dist 12 | dist-ssr 13 | *.local 14 | dev-dist 15 | 16 | # Editor directories and files 17 | .vscode/* 18 | !.vscode/extensions.json 19 | .idea 20 | .DS_Store 21 | *.suo 22 | *.ntvs* 23 | *.njsproj 24 | *.sln 25 | *.sw? 26 | -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | "recommendations": [ 3 | "Vue.volar", 4 | "tauri-apps.tauri-vscode", 5 | "rust-lang.rust-analyzer" 6 | ] 7 | } 8 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # webfollow-app 2 | 3 | > RSS reader suppot fever api 4 | 5 | - Strive to be the best reader experience 6 | - 致力成为体验最佳的阅读器 7 | 8 | ## Feature 9 | 10 | **feature** 11 | 12 | - [x] fever api 13 | - [x] data in local 14 | - [x] ai search 15 | - [x] recommend 16 | - [x] llm summary + llm filter 17 | - [x] pwa 18 | 19 | **base** 20 | 21 | - [x] auto-reader 22 | - [x] text-reader 23 | - [x] podcast-reader 24 | - [x] img-reader 25 | - [x] video-reader 26 | - [x] auto-view 27 | - [x] column-view 28 | - [x] list-view 29 | - [x] card-view 30 | - [x] text-view 31 | - [x] content-view 32 | 33 | **todo list** 34 | 35 | - [ ] export opml 36 | - [ ] data reset 37 | 38 | ## Demo 39 | 40 | [online](https://webfollow.cc) 41 | 42 | ## Preview 43 | 44 | **AI** 45 | 46 |  47 | 48 | **Mobile** 49 | 50 |  51 |  52 | 53 | **PC** 54 | 55 |  56 |  57 |  58 |  59 |  60 |  61 |  62 |  63 | 64 | ## Use 65 | 66 | ``` 67 | npm install 68 | ``` 69 | 70 | ``` 71 | npm run dev 72 | ``` 73 | 74 | ## Notice 75 | 76 | - Enhancements to feed subscription editing for fever 77 | -------------------------------------------------------------------------------- /doc/ai-search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/weekend-project-space/webfollow-app/0fed22af4ff19802ef497a8053d3e0e0adac642f/doc/ai-search.png -------------------------------------------------------------------------------- /doc/col-view.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/weekend-project-space/webfollow-app/0fed22af4ff19802ef497a8053d3e0e0adac642f/doc/col-view.png -------------------------------------------------------------------------------- /doc/feed-follow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/weekend-project-space/webfollow-app/0fed22af4ff19802ef497a8053d3e0e0adac642f/doc/feed-follow.png -------------------------------------------------------------------------------- /doc/feed-items.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/weekend-project-space/webfollow-app/0fed22af4ff19802ef497a8053d3e0e0adac642f/doc/feed-items.png -------------------------------------------------------------------------------- /doc/img-reader.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/weekend-project-space/webfollow-app/0fed22af4ff19802ef497a8053d3e0e0adac642f/doc/img-reader.png -------------------------------------------------------------------------------- /doc/login.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/weekend-project-space/webfollow-app/0fed22af4ff19802ef497a8053d3e0e0adac642f/doc/login.png -------------------------------------------------------------------------------- /doc/mobile-feed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/weekend-project-space/webfollow-app/0fed22af4ff19802ef497a8053d3e0e0adac642f/doc/mobile-feed.png -------------------------------------------------------------------------------- /doc/mobile-reader.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/weekend-project-space/webfollow-app/0fed22af4ff19802ef497a8053d3e0e0adac642f/doc/mobile-reader.png -------------------------------------------------------------------------------- /doc/podcast-reader.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/weekend-project-space/webfollow-app/0fed22af4ff19802ef497a8053d3e0e0adac642f/doc/podcast-reader.png -------------------------------------------------------------------------------- /doc/text-reader.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/weekend-project-space/webfollow-app/0fed22af4ff19802ef497a8053d3e0e0adac642f/doc/text-reader.png -------------------------------------------------------------------------------- /doc/video-reader.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/weekend-project-space/webfollow-app/0fed22af4ff19802ef497a8053d3e0e0adac642f/doc/video-reader.png -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
5 | 6 |加载中....
143 |{{ greetMsg }}
21 | 22 | -------------------------------------------------------------------------------- /src/components/HelpDialog.vue: -------------------------------------------------------------------------------- 1 | 2 |