mirror of
https://github.com/yang991178/fluent-reader.git
synced 2025-04-14 02:12:18 +02:00
beta release build 0.7.0
This commit is contained in:
parent
c35efa04ba
commit
6e97d07937
@ -25,6 +25,7 @@ If you are using Linux or an older version of Windows, you can [get Fluent Reade
|
|||||||
</p>
|
</p>
|
||||||
|
|
||||||
- A modern UI inspired by Fluent Design System with full dark mode support.
|
- A modern UI inspired by Fluent Design System with full dark mode support.
|
||||||
|
- Read locally or sync with self-hosted services through Fever API.
|
||||||
- Importing or exporting OPML files, full application data backup & restoration.
|
- Importing or exporting OPML files, full application data backup & restoration.
|
||||||
- Read the full content with the built-in article view or load webpages by default.
|
- Read the full content with the built-in article view or load webpages by default.
|
||||||
- Search for articles with regular expressions or filter by read status.
|
- Search for articles with regular expressions or filter by read status.
|
||||||
@ -33,7 +34,7 @@ If you are using Linux or an older version of Windows, you can [get Fluent Reade
|
|||||||
- Hide, mark as read, or star articles automatically as they arrive with regular expression rules.
|
- Hide, mark as read, or star articles automatically as they arrive with regular expression rules.
|
||||||
- Fetch articles in the background and send push notifications.
|
- Fetch articles in the background and send push notifications.
|
||||||
|
|
||||||
Support for RSS services including Fever API, Inoreader, or Feedly are being fundraised through [Open Collective](https://opencollective.com/fluent-reader).
|
Support for other RSS services including Inoreader and Feedly are being fundraised through [Open Collective](https://opencollective.com/fluent-reader).
|
||||||
|
|
||||||
## Development
|
## Development
|
||||||
|
|
||||||
@ -44,7 +45,7 @@ Help make Fluent Reader better by reporting bugs or opening feature requests thr
|
|||||||
You can also help internationalize the app by providing [translations into additional languages](https://github.com/yang991178/fluent-reader/tree/master/src/scripts/i18n).
|
You can also help internationalize the app by providing [translations into additional languages](https://github.com/yang991178/fluent-reader/tree/master/src/scripts/i18n).
|
||||||
Refer to the repo of [react-intl-universal](https://github.com/alibaba/react-intl-universal) to get started on internationalization.
|
Refer to the repo of [react-intl-universal](https://github.com/alibaba/react-intl-universal) to get started on internationalization.
|
||||||
|
|
||||||
If you enjoyed using the app, consider supporting its development by donating through [Open Collective](https://opencollective.com/fluent-reader) or [Paypal](https://www.paypal.me/yang991178).
|
If you enjoy using this app, consider supporting its development by donating through [Open Collective](https://opencollective.com/fluent-reader), [Paypal](https://www.paypal.me/yang991178), or [Alipay](https://hyliu.me/fluent-reader/imgs/alipay.jpg).
|
||||||
|
|
||||||
### Build from source
|
### Build from source
|
||||||
```bash
|
```bash
|
||||||
|
7
dist/styles/global.css
vendored
7
dist/styles/global.css
vendored
@ -113,6 +113,13 @@ i.ms-Nav-chevron {
|
|||||||
user-select: none;
|
user-select: none;
|
||||||
margin-bottom: 8px;
|
margin-bottom: 8px;
|
||||||
}
|
}
|
||||||
|
.ms-MessageBar:not(.ms-MessageBar--warning) {
|
||||||
|
background: var(--neutralLighter);
|
||||||
|
color: var(--neutralPrimary);
|
||||||
|
}
|
||||||
|
.ms-MessageBar:not(.ms-MessageBar--warning) i[data-icon-name="Info"] {
|
||||||
|
color: var(--neutralPrimary);
|
||||||
|
}
|
||||||
|
|
||||||
#root > nav {
|
#root > nav {
|
||||||
height: var(--navHeight);
|
height: var(--navHeight);
|
||||||
|
5
dist/styles/main.css
vendored
5
dist/styles/main.css
vendored
@ -79,7 +79,7 @@ div[role="toolbar"] {
|
|||||||
height: 100%;
|
height: 100%;
|
||||||
}
|
}
|
||||||
div[role="tabpanel"] {
|
div[role="tabpanel"] {
|
||||||
height: calc(100% - 44px);
|
height: calc(100% - 68px);
|
||||||
padding: 12px 16px;
|
padding: 12px 16px;
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
position: relative;
|
position: relative;
|
||||||
@ -96,9 +96,6 @@ div[role="tabpanel"] {
|
|||||||
.settings .loading .ms-Spinner {
|
.settings .loading .ms-Spinner {
|
||||||
margin-top: 180px;
|
margin-top: 180px;
|
||||||
}
|
}
|
||||||
.tab-body {
|
|
||||||
margin-bottom: 24px;
|
|
||||||
}
|
|
||||||
.tab-body .ms-StackItem {
|
.tab-body .ms-StackItem {
|
||||||
margin-right: 6px;
|
margin-right: 6px;
|
||||||
margin-bottom: 12px;
|
margin-bottom: 12px;
|
||||||
|
2
package-lock.json
generated
2
package-lock.json
generated
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "fluent-reader",
|
"name": "fluent-reader",
|
||||||
"version": "0.6.3",
|
"version": "0.7.0",
|
||||||
"lockfileVersion": 1,
|
"lockfileVersion": 1,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "fluent-reader",
|
"name": "fluent-reader",
|
||||||
"version": "0.6.3",
|
"version": "0.7.0",
|
||||||
"description": "A simplistic, modern desktop RSS reader",
|
"description": "Modern desktop RSS reader",
|
||||||
"main": "./dist/electron.js",
|
"main": "./dist/electron.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "webpack --config ./webpack.config.js",
|
"build": "webpack --config ./webpack.config.js",
|
||||||
|
@ -102,7 +102,7 @@ class FeverConfigsTab extends React.Component<ServiceConfigsTabProps, FeverConfi
|
|||||||
<MessageBar messageBarType={MessageBarType.info}>{intl.get("service.groupsWarning")}</MessageBar>
|
<MessageBar messageBarType={MessageBarType.info}>{intl.get("service.groupsWarning")}</MessageBar>
|
||||||
)}
|
)}
|
||||||
<Stack horizontalAlign="center" style={{marginTop: 48}}>
|
<Stack horizontalAlign="center" style={{marginTop: 48}}>
|
||||||
<Icon iconName="Calories" style={{fontSize: 32, userSelect: "none"}} />
|
<Icon iconName="Calories" style={{color: "var(--black)", fontSize: 32, userSelect: "none"}} />
|
||||||
<Label style={{margin: "8px 0 36px"}}>Fever API</Label>
|
<Label style={{margin: "8px 0 36px"}}>Fever API</Label>
|
||||||
<Stack className="login-form" horizontal>
|
<Stack className="login-form" horizontal>
|
||||||
<Stack.Item>
|
<Stack.Item>
|
||||||
|
@ -255,7 +255,8 @@ export function markAllRead(sids: number[] = null, date: Date = null, before = t
|
|||||||
let feed = state.feeds[state.page.feedId]
|
let feed = state.feeds[state.page.feedId]
|
||||||
sids = feed.sids
|
sids = feed.sids
|
||||||
}
|
}
|
||||||
dispatch(dispatch(getServiceHooks()).markAllRead?.(sids, date, before))
|
const action = dispatch(getServiceHooks()).markAllRead?.(sids, date, before)
|
||||||
|
if (action) dispatch(action)
|
||||||
let query = {
|
let query = {
|
||||||
source: { $in: sids },
|
source: { $in: sids },
|
||||||
hasRead: false,
|
hasRead: false,
|
||||||
|
@ -264,7 +264,7 @@ export const feverServiceHooks: ServiceHooks = {
|
|||||||
const configs = state.service as FeverConfigs
|
const configs = state.service as FeverConfigs
|
||||||
if (date && !before) {
|
if (date && !before) {
|
||||||
const iids = state.feeds[state.page.feedId].iids
|
const iids = state.feeds[state.page.feedId].iids
|
||||||
const items = iids.map(iid => state.items[iid]).filter(i => i.date.getTime() >= date.getTime())
|
const items = iids.map(iid => state.items[iid]).filter(i => !i.hasRead && i.date.getTime() >= date.getTime())
|
||||||
for (let item of items) {
|
for (let item of items) {
|
||||||
if (item.serviceRef) {
|
if (item.serviceRef) {
|
||||||
markItem(configs, item, "read")
|
markItem(configs, item, "read")
|
||||||
|
Loading…
x
Reference in New Issue
Block a user