Commit Graph

214 Commits

Author SHA1 Message Date
Frédéric Guillot 25f90bc625 Restore original read/unread button in entry view 2020-03-25 20:22:40 -07:00
Frédéric Guillot 9871e4f5d0 Add page to list and remove shared entries 2020-03-22 19:53:44 -07:00
Frédéric Guillot 84229f1af9 Add some CSS tweaks for mobile devices 2020-03-22 16:33:35 -07:00
Frédéric Guillot 3c3241f93c Add SVG icons to entry actions 2020-03-22 15:37:13 -07:00
Frédéric Guillot bd5aed7b90 Fix template execution error (related to share feature) 2020-03-18 18:04:06 -07:00
Frédéric Guillot 59c8dac851 Display Feed URL on shared page instead of user feed entries 2020-03-17 20:28:53 -07:00
Lesterpig 41a2b7e58e Add "Share article" feature
A new "shareCode" field is generated for each entry, and allows
unlogged users to access the entry through the /shared endpoint.
This feature is particularly useful to share articles from miniflux
to third-party users without having them to visit the original source.

The image proxy is disabled and special cache headers are proposed in
the shared page to avoid denial of service.
2020-03-17 20:09:46 -07:00
Patrick 3e1e0b604f
Add generic OpenID Connect provider (OAuth2)
This adds the oauth2 provider `oidc`. It needs an additional argument, the OIDC discovery endpoint to figure out where the auth and token URLs are.

Configuration is similar to setting up the Google Authentication with these changes:

 * `OAUTH2_PROVIDER = oidc`
 * `OAUTH2_OIDC_DISCOVERY_ENDPOINT = https://auth.exampe.org/discovery`
2020-03-07 18:45:19 -08:00
Frédéric Guillot 25cc0d2447 Add per-application API Keys 2020-03-01 18:22:45 -08:00
Vincent Bernat d5adf8b9f6 Use rel=prev/next on pagination link
While this is widely documented for SEO reason, it also helps for
accessibility. Notably, if you are using tools like Vimium to browse
using only the keyboard, these hints help to select the links. It's
all the more useful when the text is not in English.
2020-02-23 13:14:12 -08:00
Frédéric Guillot dc4240e702 Add button to add to Home screen 2020-02-09 11:57:34 -08:00
Frédéric Guillot 997e9422eb Ignore enclosures without URL 2020-01-30 21:18:49 -08:00
somini 078f886f39 Align Info and Actionable items separately
Align the information to the left side, and the actionable buttons to
the right.

See https://github.com/miniflux/miniflux/pull/531#issuecomment-578547488
2020-01-28 20:25:10 -08:00
Richard Schneider 6ebb29cd22 Add comments link keyboard shortcut 2020-01-06 22:02:02 -08:00
Frédéric Guillot 6ff617a733 Make menu consistent across feed pages 2020-01-02 13:16:29 -08:00
Frédéric Guillot 4d9956cf65 Make sure external URLs are not encoded incorrectly by Go template engine 2020-01-02 11:20:10 -08:00
Frédéric Guillot 6291b59849 Use V to open original link in current tab
- To avoid a breaking change, keep v to open the original link in new tab.
- People who prefers to open the link in the current tab should use V.
2019-11-29 13:58:47 -08:00
Frédéric Guillot 69aa650203 Add the possibility to add rules during feed creation 2019-11-29 11:27:58 -08:00
Frédéric Guillot 8028cc764f Wrap attachments into <details> disclosure element 2019-11-29 10:59:05 -08:00
Frédéric Guillot b3869a7833 Show attachment size on entry page 2019-11-29 10:36:35 -08:00
Frédéric Guillot fad9ad2be4 Display list of feeds per category 2019-11-17 20:10:44 -08:00
Frédéric Guillot 15fe9c20df Show the number of read and unread entries for each feed 2019-11-17 18:04:14 -08:00
Frédéric Guillot 789ad8257a Make sure settings menu is consistent 2019-11-17 17:40:24 -08:00
Frédéric Guillot 03406c68d0 Add meta tag to disable Google Translate 2019-10-29 23:06:25 -07:00
Maxim Baz e38333e272 Show unread counters on feeds page 2019-10-29 21:44:35 -07:00
Jebbs bf357a0e2d Add toast message for some keyboard shortcuts
Add notification message when using keyboard shortcuts: f, s, and m.
2019-10-06 20:55:15 -07:00
Frédéric Guillot 8d8f78241d Add native lazy loading for images and iframes
This feature is available only in Chrome >= 76 for now.

See https://web.dev/native-lazy-loading
2019-09-10 21:22:19 -07:00
Frédéric Guillot 77125f45cc Improve import form 2019-08-15 22:21:18 -07:00
Peter De Wachter d882bbca85 Import OPML from URL 2019-08-15 21:58:01 -07:00
Frédéric Guillot 3d19313a7f Add option to disable feeds 2019-07-26 21:24:15 -07:00
Frédéric Guillot a634839678 Ask for confirmation before clicking on mark all as read 2019-07-17 22:00:00 -07:00
Frédéric Guillot ac3693562b Ask for confirmation before flushing history 2019-07-17 21:40:03 -07:00
Frédéric Guillot 99149d9f2a Refactor confirmation handler 2019-07-17 21:15:30 -07:00
Matías Lang 34421dcd49 Require confirmation for marking pages as read 2019-07-17 17:44:32 -07:00
Pierre Dubouilh f783b135c7 Pass auth header to manifest request 2019-07-04 23:13:25 -07:00
Frédéric Guillot f7b7b63e3f Add optional config file parser in addition to environment variables 2019-06-02 18:28:29 -07:00
Frédéric Guillot 228862fefa Refactor config package
- Parse configuration only once during startup time
- Store configuration values in a global variable
2019-06-02 06:30:08 -07:00
Ben Cohen 04d85b3c63 Flip behavior of j and k keyboard shortcuts 2019-05-26 20:02:52 +02:00
Frédéric Guillot 4295a86e55 Add option to enable/disable keyboard shortcuts 2019-04-28 18:35:58 -07:00
Frédéric Guillot 34df45da2f Add missing translation 2019-04-05 19:31:23 -07:00
Diego Agulló a6068aae1d Improve page reload when showing unread/all entries
- Show only unread entries = refresh current page
- Show all entries = go to next page
2019-04-04 18:59:04 -07:00
Frédéric Guillot 8ee1a09dc7 Always display feed entries even when there is a feed error 2019-04-02 21:33:11 -07:00
Frédéric Guillot f593dc8463 Use loading label instead of saving when submitting login form 2019-03-26 20:52:31 -07:00
Peter De Wachter a86a7dce57 Use the appropriate message if there are no unread entries 2019-01-07 17:56:39 -08:00
Diego Agulló cf25efb4d9 Allow to switch between unread only and all entries on category/feed views 2018-12-16 16:58:48 -08:00
Frédéric Guillot 43ccaf52af Preserve category selection when no feed is found 2018-12-12 21:31:50 -08:00
Frédéric Guillot 1bc8535dbb Move image proxy filter to template functions 2018-12-02 21:09:53 -08:00
ariddell 3d04d92aa2 Improve time since post date displays
- 15 days now is "15 days" rather than "3 weeks" ago.
- 32 days is now "1 month" rather than "2 months" ago.
- 366 days is now "1 year" rather than "2 years" ago.

Closes #267
2018-11-17 12:09:02 -08:00
Frédéric Guillot 03d0114dcd Fix wrong translation key for category pages 2018-10-27 17:11:05 -07:00
Carl Helmertz 8c65c78904 NavHandler: Make "g f" go to feed, or list of feeds
When you're reading an entry, you may want to go to the feed first,
before quickly continuing to reading all of the feeds with another "g
f".
2018-10-21 11:53:17 -07:00
Carl Helmertz 15a11c3da9 Unsubscribe from feed through link or "#"
After importing old OPML files, you may discover that many feeds are
obsolete or uninteresting. You list the feeds entries and determine that
you want to unsubscribe. This needs three clicks (edit feed, delete,
confirm) and requires moving the mouse to hit the different targets.

This quickly becomes tiring, if you are up to possibly deleting hundreds
of feeds. One mediation, introduced in this commit, is to add an
unsubscribe link to each feed's entry listing view, and also adding a
keyboard shortcut.

The keyboard shortcut "#" is:
* longer than one keystroke (requires shift)
* hard to type by accident
* used in Google products (thanks for the hint @fguillot)

In an effort to try to reduce the number of accidental feed
unsubscriptions.
2018-10-19 20:05:26 -07:00
Frédéric Guillot d4c1677e38 Change link state when marking all entries as read 2018-10-08 18:49:15 -07:00
Frédéric Guillot 11dfcdd3d6 Fix typo in license header 2018-10-08 15:50:15 -07:00
Frédéric Guillot b1e8f534ef Simplify locale package usage (refactoring) 2018-09-22 15:04:55 -07:00
Frédéric Guillot aae9b4eb83 Add missing translations and few fixes 2018-09-22 10:48:07 -07:00
Savely Krasovsky 0e23f37f57 Translate application in Russian 2018-09-22 10:22:58 -07:00
Frédéric Guillot 5d75089127 Use disclosure widget <details> for advanced feed options 2018-09-21 23:11:58 -07:00
Frédéric Guillot beb7a0cfcb Use unique translation IDs instead of English text as key 2018-09-21 22:23:23 -07:00
Frédéric Guillot f244df6293 Add more unit tests for template functions 2018-09-20 19:45:56 -07:00
Savely Krasovsky d79bab2997 Fix invalid output when truncating Unicode text in templates 2018-09-20 19:11:13 -07:00
Patrick 2538eea177 Add the possibility to override default user agent for each feed 2018-09-19 18:19:24 -07:00
Diego Agulló 359aea8308 Avoid line break between emoji and (un)read/(un)star links 2018-09-15 11:28:44 -07:00
Frédéric Guillot c1e1506720 Revert cookie flag from strict to lax mode otherwise oauth2 won't work 2018-09-09 14:25:56 -07:00
Adam Vigneaux 07cd7d2135 Add "Mark this page as read" to the bottom
This better matches the most common use case for the "Mark this page as
read" link, which is to click it once you have reached the bottom of the
page. Especially on mobile, it can be annoying to scroll to the top of
the page to click the link.
2018-09-08 18:40:23 -07:00
Frédéric Guillot 9ba9858bea Use regular text version of ✔︎ instead of emoji version on iOS
See this workaround: https://stackoverflow.com/questions/32639694/ios-9-removed-the-possibility-to-change-certain-symbol-colors-using-css/38362138#38362138
2018-08-28 20:46:15 -07:00
Dave Z 5341bbcbe2 Add toggle status button to entry page 2018-08-28 20:44:34 -07:00
Dave Z 9169fbafb2 Show count of feeds with permanent errors in header menu
Only for feeds that reach `maxParsingError` are counted (so transient errors do not trigger counter).
2018-08-26 16:18:07 -07:00
Frédéric Guillot 551b73acfb Add remove button in feed edit page 2018-08-25 12:21:54 -07:00
Frédéric Guillot dbcc5d8a97 Use canonical imports 2018-08-24 21:56:39 -07:00
Frédéric Guillot cfc1f3eb69 Avoid browser caching issues when assets changes 2018-07-22 12:24:46 -07:00
Frédéric Guillot a291d8a38b Improve themes handling
- Store user theme in session
- Logged out users will keep their theme
- Add theme background color to web manifest and meta tag
2018-07-18 22:30:05 -07:00
Frédéric Guillot c1ab27172c Update application icon with different sizes 2018-07-18 21:30:54 -07:00
Frédéric Guillot 73a6e617bb Add few tweaks to the layout
- Increase truncate length to 35 chars for feed titles
- Add bottom margin for main menu in mobile view
- Add tooltip to feed domain in feeds list
2018-07-17 19:01:28 -07:00
Dave Z 3b018bc6bf Show feed title instead of domain in items list 2018-07-17 18:48:28 -07:00
Frédéric Guillot 6aa02680d8 Add service worker to cache feed icons 2018-07-15 21:51:09 -07:00
Dave Z c926498d3d Make image proxy configurable
Adds IMAGE_PROXY configuration setting to change image proxy filter behaviour:

- none = No proxy
- http-only = Proxy only non-HTTPS images (default)
- all = Proxy everything
2018-07-12 17:41:09 -07:00
Frédéric Guillot 6fd6f79daf Add alt attribute for feed icons 2018-07-10 23:20:32 -07:00
Frédéric Guillot 8ee4280461 Change feed password field type to text to avoid autocomplete with Firefox
- Using autocomplete="off" or autocomplete="new-password" doesn't change anything
- Changing the input ID doesn't change anything
- Using a different input name doesn't change anything
- Only Chrome supports autocomplete="new-password"
2018-07-08 18:21:56 -07:00
Frédéric Guillot cda0efb731 Update default stylesheet name in HTML layout 2018-07-07 12:07:34 -07:00
Frédéric Guillot 845cf2adba Remove timestamp from generated files 2018-07-05 12:52:29 -07:00
Frédéric Guillot 6d0dc451e4 Add search form 2018-07-04 22:05:19 -07:00
Frédéric Guillot cc1e4f916f Avoid Chrome to autocomplete no-login password fields
Browsers always autocomplete saved passwords even with autocomplete="off".

https://developer.mozilla.org/en-US/docs/Web/Security/Securing_your_site/Turning_off_form_autocompletion
2018-06-30 18:05:51 -07:00
Frédéric Guillot 77947282e4 Make sure we always get the pagination in unread mode 2018-06-29 20:29:04 -07:00
Dave Z 0b0f4751fa Fix incorrect data value when toggling bookmark flag on entry page 2018-06-28 18:56:04 -07:00
stratmaster cd77ebd742 Corrected hard coded strings 2018-06-22 18:41:19 -07:00
Frédéric Guillot bddca15b69 Add new fields for feed username/password 2018-06-19 22:58:29 -07:00
Frédéric Guillot b270159aae Offer the possibility to set Pocket Consumer Key as environment variable 2018-05-21 19:58:36 -04:00
Pascal Widdershoven 44decae557 Fix unread count in menu not triggering click
By moving unread count into anchor.

Previously, clicking the unread count would not cause the anchor to be
invoked. This was confusing. This change includes the unread count span
in the anchor.
2018-05-21 12:51:43 +02:00
Frédéric Guillot 7f2fd1fdd8 Add Pocket authorization flow in the user interface 2018-05-20 15:29:14 -07:00
Allan Reyes 0f3f5e442f Add Pocket integration 2018-05-20 13:31:56 -07:00
Frédéric Guillot 31da4db14f Do not show save link if no integration is configured 2018-04-29 17:43:40 -07:00
Frédéric Guillot f49b42f70f Use vanilla HTTP handlers (refactoring) 2018-04-29 16:35:04 -07:00
Frédéric Guillot ddd3af4b85 Do not use shared variable to translate templates 2018-04-27 22:07:46 -07:00
Frédéric Guillot 702256bcc0 Add unit test for comments url and French translation 2018-04-07 13:56:11 -07:00
Ben Brooks 538d08c16c Add CommentsURL to entry 2018-04-07 13:50:45 -07:00
Frédéric Guillot 5185bf0c7e Fix typo in edit user template 2018-03-01 23:06:28 -08:00
Frédéric Guillot 0c7039de0e Entries date should contains user timezone (API) 2018-03-01 21:43:04 -08:00
Frédéric Guillot 953d0a2dc0 Support localized feed errors generated by background workers 2018-02-27 21:08:32 -08:00
Nicolas Carlier 34ce114231 Add Nunux Keeper integration 2018-02-25 11:49:08 -08:00
Frédéric Guillot 3030145b30 Remove parentheses around feed error messages 2018-02-23 19:58:08 -08:00
Frédéric Guillot 3884a33b36 Move template functions outside engine (refactoring) 2018-02-04 15:45:07 -08:00
Frédéric Guillot b5b1930599 Take timezone into consideration when calculating relative time 2018-02-04 14:37:42 -08:00
Frédéric Guillot 9c42997209 Add support for base URLs with subfolders 2018-02-03 15:33:17 -08:00
Frédéric Guillot 32cec5bad0 Add missing about menu in settings 2018-01-31 22:03:21 -08:00
Frédéric Guillot b78172033f Show API URL endpoints in user interface 2018-01-31 21:57:20 -08:00
Frédéric Guillot da5c8c2edb Move environment variables to config package 2018-01-20 16:49:47 -08:00
Frédéric Guillot 6302c3b219 Add mark as read/unread link on list items 2018-01-20 13:25:05 -08:00
stratmaster 68508ff800 Updated Strings for Keyboard Shortcuts & added missing strings
- added missing String for "Pages Navigation", "Logged as" and "Unread Items"
- fixed some other strings
2018-01-17 22:05:25 -08:00
Frédéric Guillot c2fd2e747a Add functions to get config values 2018-01-15 18:08:30 -08:00
Frédéric Guillot 9652dfa1fe Add more comments (GoDoc) 2018-01-11 19:21:20 -08:00
Frédéric Guillot a52359fedb Do not display users links on sessions page 2018-01-05 18:07:15 -08:00
Frédéric Guillot 7d278d49f1 Add content length check when refreshing feeds 2018-01-04 18:41:23 -08:00
Frédéric Guillot c57cafbef2 Add link to mark everything as read 2018-01-04 18:11:15 -08:00
Frédéric Guillot 320d1b0167 Refactor packages to have more idiomatic code base 2018-01-02 22:04:48 -08:00