DIYgod mirror
Go to file
Innei edd4f9e5a6
feat: mobile design (#1568)
* init

Signed-off-by: Innei <i@innei.in>

* feat: feed column

Signed-off-by: Innei <i@innei.in>

* feat: float bar

Signed-off-by: Innei <tukon479@gmail.com>

* feat: profile button

Signed-off-by: Innei <tukon479@gmail.com>

* chore: comment

Signed-off-by: Innei <tukon479@gmail.com>

* feat: layout

Signed-off-by: Innei <tukon479@gmail.com>

* feat: split mobile entry content

Signed-off-by: Innei <tukon479@gmail.com>

* feat: add history stack

Signed-off-by: Innei <tukon479@gmail.com>

* feat: return back

Signed-off-by: Innei <tukon479@gmail.com>

* fix: return back position

Signed-off-by: Innei <tukon479@gmail.com>

* feat: entry list header

Signed-off-by: Innei <tukon479@gmail.com>

* feat: sync selector

Signed-off-by: Innei <tukon479@gmail.com>

* feat: modal stack mobile

Signed-off-by: Innei <tukon479@gmail.com>

* fix: modal selector

Signed-off-by: Innei <tukon479@gmail.com>

* cleanup

Signed-off-by: Innei <tukon479@gmail.com>

* fix: sheet and optimize entry readers

Signed-off-by: Innei <tukon479@gmail.com>

* fix: scroller

Signed-off-by: Innei <tukon479@gmail.com>

* feat: entry contents

Signed-off-by: Innei <tukon479@gmail.com>

* feat: entry content

Signed-off-by: Innei <tukon479@gmail.com>

* update

Signed-off-by: Innei <tukon479@gmail.com>

* feat: user profile sheet

Signed-off-by: Innei <tukon479@gmail.com>

* fix: entry content header

Signed-off-by: Innei <tukon479@gmail.com>

* fix: entry header

Signed-off-by: Innei <tukon479@gmail.com>

* chore: auto-fix linting and formatting issues

* fix: return back

Signed-off-by: Innei <tukon479@gmail.com>

* feat: image view

Signed-off-by: Innei <tukon479@gmail.com>

* feat: audio

Signed-off-by: Innei <tukon479@gmail.com>

* feat: inline player

Signed-off-by: Innei <tukon479@gmail.com>

* feat: pull to refresh

Signed-off-by: Innei <tukon479@gmail.com>

* cleanup

Signed-off-by: Innei <tukon479@gmail.com>

* update

Signed-off-by: Innei <tukon479@gmail.com>

* chore: auto-fix linting and formatting issues

* chore: fix import, remove no support display

* chore: auto-fix linting and formatting issues

* feat: achievement modal in mobile

Signed-off-by: Innei <tukon479@gmail.com>

* fix: subview mobile

Signed-off-by: Innei <tukon479@gmail.com>

* feat: power

Signed-off-by: Innei <tukon479@gmail.com>

* feat: wallet mobile design

Signed-off-by: Innei <tukon479@gmail.com>

* feat: pwa support (#1575)

Co-authored-by: hyoban <hyoban@users.noreply.github.com>

* chore: auto-fix linting and formatting issues

* fix import

* discover

* fix: border color

Signed-off-by: Innei <tukon479@gmail.com>

* fix: modal async

Signed-off-by: Innei <tukon479@gmail.com>

* feat: mobile setting

Signed-off-by: Innei <tukon479@gmail.com>

* fix: entry header width

Signed-off-by: Innei <tukon479@gmail.com>

* fix: remove unused hide filter

* feat: settings

Signed-off-by: Innei <tukon479@gmail.com>

* feat: setting done

Signed-off-by: Innei <tukon479@gmail.com>

* action card

* fix discover feed form

* popular filter

* inbox table

* fix: picture masonry pull to refresh

Signed-off-by: Innei <tukon479@gmail.com>

* fix: scroll element

Signed-off-by: Innei <tukon479@gmail.com>

* fix: radio in mobile

Signed-off-by: Innei <tukon479@gmail.com>

* feat: to scientific notation

Signed-off-by: Innei <tukon479@gmail.com>

* fix: login

Signed-off-by: Innei <tukon479@gmail.com>

* ResponsiveSelect for action card

* chore: remove theme color

Signed-off-by: Innei <tukon479@gmail.com>

* type check

* type check

* fix: setting import circular

Signed-off-by: Innei <tukon479@gmail.com>

* refactor: remove hijack pushState

Signed-off-by: Innei <tukon479@gmail.com>

* fix: float bar

Signed-off-by: Innei <tukon479@gmail.com>

* fix: scroll end trigger

Signed-off-by: Innei <tukon479@gmail.com>

* fix: dark theme color

Signed-off-by: Innei <tukon479@gmail.com>

* fix: overscroll-behavior only in destop

Signed-off-by: Innei <tukon479@gmail.com>

* fix: ux

Signed-off-by: Innei <tukon479@gmail.com>

* fix: color

Signed-off-by: Innei <tukon479@gmail.com>

* fix: list scroll area

Signed-off-by: Innei <tukon479@gmail.com>

* update

Signed-off-by: Innei <tukon479@gmail.com>

* merge

* update

* update favicon link

* fix: reload prompt on mobile

* test

Signed-off-by: Innei <i@innei.in>

* test

Signed-off-by: Innei <i@innei.in>

* fix: ios

Signed-off-by: Innei <i@innei.in>

* try patch precaching

* try

* try

* build

* try

* try

* feat: ctx menu on safari

Signed-off-by: Innei <tukon479@gmail.com>

* try

* clear timeout

Signed-off-by: Innei <tukon479@gmail.com>

* try

* fix

* deny og

* fix patch

* pre cache exclude

* feat: add all

Signed-off-by: Innei <tukon479@gmail.com>

* i18n

Signed-off-by: Innei <tukon479@gmail.com>

* feat: slide

Signed-off-by: Innei <tukon479@gmail.com>

* feat: ico

Signed-off-by: Innei <tukon479@gmail.com>

* fix: build

Signed-off-by: Innei <tukon479@gmail.com>

* test network first

Signed-off-by: Innei <tukon479@gmail.com>

* test

Signed-off-by: Innei <tukon479@gmail.com>

* fix: icon padding

* test

Signed-off-by: Innei <tukon479@gmail.com>

* use react-ios-pwa-prompt

* fix: icon path

* update

* fix: prompt

Signed-off-by: Innei <tukon479@gmail.com>

* feat: redesign toc

Signed-off-by: Innei <tukon479@gmail.com>

* ctx

Signed-off-by: Innei <tukon479@gmail.com>

* ready to prod

Signed-off-by: Innei <tukon479@gmail.com>

* feat: startup screen

Signed-off-by: Innei <tukon479@gmail.com>

* feat: floatbar

Signed-off-by: Innei <tukon479@gmail.com>

* fix: switch view

Signed-off-by: Innei <tukon479@gmail.com>

* fix: keep scroll map

Signed-off-by: Innei <tukon479@gmail.com>

* enable hoverOnlyWhenSupported

* fix: count

Signed-off-by: Innei <tukon479@gmail.com>

* fix: hoverOnlyWhenSupported only in web

Signed-off-by: Innei <tukon479@gmail.com>

* fix

Signed-off-by: Innei <tukon479@gmail.com>

* chore: auto-fix linting and formatting issues

---------

Signed-off-by: Innei <i@innei.in>
Signed-off-by: Innei <tukon479@gmail.com>
Co-authored-by: Innei <Innei@users.noreply.github.com>
Co-authored-by: Stephen Zhou <38493346+hyoban@users.noreply.github.com>
Co-authored-by: hyoban <hyoban@users.noreply.github.com>
Co-authored-by: lawvs <18554747+lawvs@users.noreply.github.com>
Co-authored-by: lawvs <lawvs@users.noreply.github.com>
2024-11-22 19:32:39 +08:00
.github feat: upload arm64 dmg separately 2024-11-14 00:06:12 +08:00
.vscode feat(discover): enhance RSSHub recommendations with filters (#1481) 2024-11-08 19:26:36 +07:00
api chore: remove tsconfig present to fix `vercel dev` 2024-11-08 00:22:38 +08:00
apps feat: mobile design (#1568) 2024-11-22 19:32:39 +08:00
build
changelog feat: mobile design (#1568) 2024-11-22 19:32:39 +08:00
configs feat: mobile design (#1568) 2024-11-22 19:32:39 +08:00
constants init 2024-09-20 16:54:31 +08:00
icons/mgc fix: clear cache permission in windows 2024-11-11 23:10:32 +08:00
locales feat: mobile design (#1568) 2024-11-22 19:32:39 +08:00
packages feat: mobile design (#1568) 2024-11-22 19:32:39 +08:00
patches feat: mobile design (#1568) 2024-11-22 19:32:39 +08:00
plugins feat: mobile design (#1568) 2024-11-22 19:32:39 +08:00
resources feat: add application tray functionality (#1416) 2024-11-06 18:29:16 +08:00
scripts chore: resolve hotfix updatelog redirect 2024-11-09 18:55:07 +08:00
static chore: remove some external resource bundle in electron 2024-11-05 14:42:38 +08:00
types Merge remote-tracking branch 'origin/main' into dev 2024-10-18 15:37:01 +08:00
wiki chore: format code 2024-09-16 22:13:57 +08:00
.editorconfig
.env.example feat: add Openpanel integration (#1014) 2024-10-18 15:23:52 +08:00
.gitignore feat: mobile design (#1568) 2024-11-22 19:32:39 +08:00
.npmrc
.nvmrc chore: create .nvmrc (#321) 2024-09-11 01:45:04 +08:00
.prettierignore refactor: Separate main application and external pages and SEO support (#987) 2024-10-21 23:02:25 +08:00
.prettierrc.mjs chore: use prettier to format code (#306) 2024-09-09 15:04:57 +08:00
CHANGELOG.md chore(release): release v0.2.3-beta.0 2024-11-21 15:10:28 +08:00
CODE_OF_CONDUCT.md chore: add CODE_OF_CONDUCT 2024-10-31 20:27:46 +08:00
CONTRIBUTE.md chore: update template 2024-11-01 15:34:09 +08:00
LICENSE
README.md docs: update README 2024-11-15 20:19:06 +08:00
SECURITY.md chore: add CODE_OF_CONDUCT 2024-10-31 20:27:46 +08:00
bump.hotfix.config.js fix: bump config 2024-11-09 18:33:33 +08:00
changelogithub.config.ts chore: update changelogithub 2024-10-12 15:16:18 +08:00
dev-app-update.yml
docker-compose.deps.yml
electron.vite.config.ts feat: mobile design (#1568) 2024-11-22 19:32:39 +08:00
eslint.config.mjs chore: update lint 2024-10-19 09:01:59 +08:00
forge.config.ts feat(app): support cache limit and clean cache 2024-11-05 23:01:42 +08:00
package.json feat: mobile design (#1568) 2024-11-22 19:32:39 +08:00
pnpm-lock.yaml feat: mobile design (#1568) 2024-11-22 19:32:39 +08:00
pnpm-workspace.yaml refactor: replace `lodash-es` with `es-toolkit` (#1650) 2024-11-18 20:59:56 +08:00
postcss.config.cjs feat: mobile design (#1568) 2024-11-22 19:32:39 +08:00
tailwind.config.ts feat: mobile design (#1568) 2024-11-22 19:32:39 +08:00
tsconfig.json fix(ci): forge build error (#1500) 2024-11-08 16:46:33 +08:00
turbo.json fix: add turbo build in ci 2024-10-26 17:05:27 +08:00
vercel.json feat: merge redirect page into login page 2024-11-09 20:00:21 +08:00
vite.config.ts feat: mobile design (#1568) 2024-11-22 19:32:39 +08:00
vitest.workspace.ts feat(i18n): add Italian language support (#407) 2024-09-19 16:59:47 +08:00

README.md

Logo

Follow

Discord · Twitter · Releases

RSSNext%2Ffollow | Trendshift RSSNext%2Ffollow | Trendshift RSSNext%2Ffollow | Trendshift

As they say, your thoughts are what you read—and weve been consuming noisy feeds for too long! Follow organizes content into one timeline, keeping you updated on what matters, noise-free. Share lists, explore collections, and enjoy distraction-free browsing.

👋🏻 Getting Started & Join Our Community

Whether for users or professional developers, Follow will be your open information playground. Please be aware that Follow is currently under active development, and feedback is welcome for any issue encountered.

Feel free to try it using the following methods:

No installation necessary! Visit our web app to experience it firsthand.
Download and install the desktop client for a smoother experience and enhanced features.

You can also install using the following methods maintained by our community:

Discord Join our Discord server to connect with developers, request features, and receive support.
Follow us on X/Twitter for product updates and to join in on reward activities.
!IMPORTANT]

**Star Us**, You will receive all release notifications from GitHub without any delay \~
Performance Stats of RSSNext/Follow - Last 28 days

Features

Customized Information Hub

Subscribe to a vast range of feeds and curated lists. Curate your favorites and keep track of what matters most to you.

AI At Your Fingertips

A smarter and more efficient browsing with AI-powered features like translation, summary, and more.

Dynamic Content Support

Because we know content is more than just text. From articles to videos, images to audio — Follow gets it all covered.

$POWER An Ownership Economy

Tip creators across instantly with $POWER, support content you love, and unlock value in your own work. Your content, your power.

More Than Just An App

This isnt just another app. Follow is a community — introducing a new era of openness and community-driven experience.

🤝 Contributing

If you are eligible to use Follow, you are welcome to join the open source community to build together.

Before you start, make sure you have enabled Corepack. Corepack makes sure you are using the correct version (packageManager field in package.json) for package manager when you run corresponding commands.

corepack enable

Install dependencies.

pnpm install

Develop in the browser

pnpm run dev:web

Then the browser opens https://app.follow.is/__debug_proxyyou can access the online API environment to development and debugging.

Develop in the electron

You need to fill in the required environment variables first.

cp .env.example .env

Then set VITE_API_URL to https://api.follow.is and run:

pnpm run dev

Since it is not very convenient to develop in Electron, the first way to develop and contribute is recommended at this stage.

[!TIP] If you can't log in to the app, copy the authjs.session-token in the cookie from your browser into the app.

📝 License

Follow is licensed under the GNU General Public License version 3 with the addition of the following special exception:

All content in the icons/mgc directory is copyrighted by https://mgc.mingcute.com/ and cannot be redistributed.

All content in the lottie directory is distributed under the Lottie Simple License.