Commit Graph

170 Commits

Author SHA1 Message Date
Frederic Guillot
fbe69b54dc Add Postgres database support 2016-12-26 15:07:18 -05:00
Marcus Jaschen
97cdc67c1a fix: listen to keyup instead of keypress for search field activation
The `/` character is entered into the search field after activating it via
the `keypress` event. That's unexpected behaviour.

This commit fixes that by attaching the keyboard event handler to the
`keyup` event.
2016-12-15 09:38:15 +01:00
Marcus Jaschen
76a2202a20 The slash key is a well-known shortcut to open and focus the
search field in web apps, e. g. DuckDuckGo or Google Plus.

Some editors and pagers use the same shortcut (Vim, less, ...).

This commit adds an event handler for the pressed / key which
calls the `ShowSearch()` function.
2016-12-12 12:31:45 +01:00
denfil
b7e5e9cb41 Toggle mobile view menu by js 2016-11-10 16:22:48 +03:00
denfil
eed63e5c4a Set focus after opening search form 2016-09-27 18:35:48 +03:00
Mathias Kresin
b1187f5071 use links instead of spans
This way the icons can be used even without javascript as all other
links.
2016-08-04 22:38:28 +02:00
Mathias Kresin
48be7a1fff bring back mark as unread/mark as read & bookmark links
The links were silently dropped with commit
4c0d975532 "Make clickable icons"
without any mention in the commit message.

Based on the commit title, I would assume this is an additional
functionality and not something that replaces existing stuff.

It's annoying to move the mouse across the screen (reading text from
the left to right) to get to the mark read icon for marking an article
as read.

All changes related to the removal of the links are reverted by keeping
the clickable icons.
2016-08-04 22:06:02 +02:00
Frederic Guillot
cd01042f7d
Javascript cleanup 2016-07-30 18:21:01 -04:00
Frederic Guillot
56e2ac96e6
Minor CSS improvements 2016-07-30 18:07:04 -04:00
Frederic Guillot
27d094c19e
Do not use anymore Closure compiler for Javascript 2016-07-30 18:01:37 -04:00
Frederic Guillot
aaf87eb41c
Merge pull-request #536 2016-07-30 17:35:11 -04:00
Samuel Gyger
645adc0746 Due to the swipe patch, on mobile phones a overflow is triggered.
This is changed using css here.
2016-07-29 21:35:55 +02:00
Samuel Gyger
fe306b22f8 Added the possibility to swipe to archive an item. 2016-07-29 11:58:47 +02:00
Frederic Guillot
ac1eda8adf
Minor Javascript fixes 2016-07-28 21:26:32 -04:00
Ing. Jan Kaláb
6088fb9ff3 Make the whole menu row clickable on small screens
Not sure if this doesn't break some themes, but it makes the menu more usable with default one.
2016-07-28 11:17:14 +02:00
Denis Filimonov
c26418fbae Simple search by items title (#506) 2016-05-03 20:15:20 -04:00
Frederic Guillot
b8a9c91e79 Make read/bookmark icons more usable in mobile view 2016-03-20 19:00:11 -04:00
Frederic Guillot
b0ba363871 Swap unread icons and remove useless href attributes 2016-03-17 19:57:46 -04:00
Frederic Guillot
5f75e81720 Change icons because they are misleading 2016-03-17 19:16:52 -04:00
denfil
08ea480402 Replace help window by layer 2016-03-06 19:11:08 +03:00
denfil
caa835030c Add js changes 2016-03-03 17:51:47 +03:00
denfil
4c0d975532 Make clickable icons 2016-02-29 09:06:22 +03:00
Mathias Kresin
0c7bcfb65b Limit the heading to one line for desktop clients
Provide the full title using the title attribute (will be shown by on mouse over for desktop browsers).
2015-12-12 11:22:52 +01:00
Mathias Kresin
1fc6f2222c fix a display glitch in full content mode
Articles without paragraphs should have a margin to item action as well. Fix this issue by adding the margin to the container element.

There must be no space between between the <div class="preview-full-content"> and the $item['content']. The CSS pseudo-class :empty does not consider a div with whitespaces only as empty.  The Selectors Level 4 Draft[1] as of 13 September 2015, mentions the CSS pseudo-class :blank which will do so. But it's a draft and not yet implemented by the majority of the browsers.

[1] https://drafts.csswg.org/selectors-4/#the-blank-pseudo
2015-12-10 21:42:26 +01:00
Mathias Kresin
0c5560cdc6 move the item action links to the top
there must be no space between between the <p class="preview"> and the $item['content']. The CSS pseudo-class :empty does not consider a paragraph with whitespaces as empty.  The Selectors Level 4 Draft[1] as of 13 September 2015, mentions the CSS pseudo-class :blank which will do so. But it's a draft and not yet implemented by the majority of the browsers.

[1] https://drafts.csswg.org/selectors-4/#the-blank-pseudo
2015-12-09 20:35:04 +01:00
Mathias Kresin
8457b83739 toogle text direction for full content preview as well 2015-08-25 22:39:27 +02:00
Kordian Bruck
dd47b3f82e Add feed group feature
- each feed can have multiple groups assigned
- group assignments are done on the add or edit feed page
- groups are only visible on the unread page
- groups are exported via the fever api
- it's not possible do delete a group manually from the database (the group will be removed automatically, as soon as the last association of a group to a feed is removed)
- if you try to create an already existing group, the existing group is used to prevent duplicates
2015-08-05 01:01:21 +02:00
Frederic Guillot
e32f96eed2 Update doc and cosmetic fixes 2015-08-02 12:59:14 -04:00
Kordian Bruck
fb688cfc10 Merge branch 'master' of github.com:miniflux/miniflux into feature-custom-refresh-number
Conflicts:
	assets/js/all.min.js
2015-08-02 18:22:18 +02:00
Mathias Kresin
64c65a9139 select the previous article if the last selected article is hidden 2015-08-02 10:45:44 +02:00
Kordian Bruck
2c3fd54774 Added a config option to select how many concurrent refreshes are done on the subscription page 2015-08-02 02:23:21 +02:00
Mathias Kresin
32658ef4e1 deduplicate data-feed-id 2015-07-20 13:08:16 +02:00
Mathias Kresin
ea8958a4bf re-add css property appearance
I've removed the property a long time ago from the css with the hint
that it doesn't change any visible. That was wrong.

The property is related to mobile Safari. The appearance property is
needed to remove the rounded corners from buttons and to add the glow
effect to active input fields.
2015-05-17 22:49:45 +02:00
Mathias Kresin
ef949883ed workaround image scaling bug in tables with (mobile) firefox
see https://bugzilla.mozilla.org/show_bug.cgi?id=975632
2015-05-17 22:49:45 +02:00
Frederic Guillot
a78cf795b6 Improve css for preview full content 2015-05-17 13:14:33 -04:00
Mathias Kresin
7ea37a1790 remove unnecessary javascript actions
They do exactly the same as the non javascript version.
2015-04-23 23:37:33 +02:00
Mathias Kresin
67d97bb096 wrap a span around the checkbox label and remove bogus nbsp 2015-04-23 23:37:33 +02:00
Mathias Kresin
ee98a62519 mark items on page 2+ read as well, update tests
Update integration tests, to ensure that all articles are marked read,
instead of only visible.
2015-04-07 22:46:50 +02:00
Frederic Guillot
c81b728d69 Merge Arabic translation #348 and improve user interface for RTL languages 2015-03-20 18:53:15 -04:00
Mathias Kresin
3a65e5ee64 do mark-feed-as-read in javascript without reload
follow-up to 4809f736dc. Update
integration tests, to ensure that all articles are marked read, instead
of only visible.
2015-03-08 13:19:29 +01:00
Mathias Kresin
0c3d8c787f use keyboardevent.key if implemented
Beside other stuff the main reason for this change is the circumstance
that Firefox triggers the "Toggle RTL mode" shortcut if the user press
F11 to switch Firefox into the fullscreen mode.

Each browser sends keycodes that are used by different other keys on
the keyboard for the function keys. Firefox is the only browser which
sends the onkeypress event for the function keys.

The used keyboard event properties event.keyCode and event.which are
already marked as deprecated and has been removed from the Web standards.

The "DOM Level 3 Events" standard specifies event.key as their successor.

Right now event.key is only available for Firefox 29+ and Internet
Explorer 9+. Webkit based browser have support for the former specified
event.keyIdentifier.

The implementation of event.keyIdentifier isn't the same across
different webkit based browsers and buggy:

- the value for the z key is F11 (Chrome - Windows, Linux)
- the value for the F11 key is F11 as well on (Chrome - Windows, Linux)
- the value for latin keys is always the value of the capital letter (Chrome)
- the value for cyrillic keys depends on the shift modifier (Chrome)
- the value for the keypress event is always an empty string (Safari - Mac OS)
- the value for the keydown event matches the keyboard layout dependent character (Safari - Mac OS)
- the value for the keydown event does NOT matches the keyboard layout dependent character (Chrome - Windows, Linux)

Instead of workaround the problems, the event.which is used for every
browser that doesn't support event.key.
2015-03-07 18:23:36 +01:00
Mathias Kresin
4809f736dc implement mark-feed-as-read in javascript 2015-03-01 19:56:28 +01:00
Mathias Kresin
a2686ae21d add option to disable mark as read for original link
fixes #196
2015-01-30 00:14:01 +01:00
Frederic Guillot
33a6e50c96 Add debug_mode config option and update vendor 2015-01-28 21:57:34 -05:00
Frederic Guillot
fa9dc3ab8f Change label for frontend update check and minor changes 2015-01-28 20:17:02 -05:00
Mathias Kresin
59500bfeb7 update counter/rework redirect to unread on feeds page
The redirect to the unread page after a manual refresh only, if new
items could be fetched and we where redirected to the subscriptions
page because of a former nothing_to_read.

Update the unread counter after refreshing either one feed or all feeds.

Redirect to unread if nothing_to_read is set, but unread items exists.
This could be the situation with the remember me function, when new items
are fetched while the browser was closed.
2015-01-28 05:26:55 +01:00
Mathias Kresin
cd13efeabf implement frontend autoupdate
Only the unread counter is updated right know.

The AutoUpdate Feature is designed on the premise of don't wasting resources. A
distinction is made between updates when Miniflux is visible or hidden.

To determine the visibility status, the Page Visibility API is used. The API is
available starting with Chrome 33, Firefox 18 and IE10. [https://developer.mozilla.org/en-US/docs/Web/Guide/User_experience/Using_the_Page_Visibility_API]
As IE9 returns an undefined, it doesn't break the compatibility at least.

If Miniflux is visible, the unread counter on the web page is updated as soon as
a mismatch between the counter and the number of unread articles in the database
is found.

If Miniflux is hidden, the timestamp of the most recent article from each feed
is compared with the value from the last run. We have an update If the timestamp
of the latest article is greater than the stored one and the latest article is
unread. The web page title is updated with a ? symbol to notify the user and the
update check pauses till Miniflux gets visible again. If Miniflux gets visible
again, the number of unread articles is queried from the database, the unread
counter on the web page is updated and finally the ? symbol is removed from the
web page title.

This way I can use my fever API client to read new articles (or at least the
latest article) while Miniflux is hidden and as I've seen the new articles
already a new articles notification is prevented.

It's intentionally that the page does not reload automatically as long as
articles are visible. If I'm in hurry, I only scroll through the articles to
spot something interesting. Most of the time I don't reach the last article.
If the page is reloaded while I'm away, I would have to scan from the top again.

If we're on a nothing_to_read page and have unread articles in the database, a
redirect to the unread page will be done.

The default update check interval is 10 minutes and can be changed on the
settings page. A zero value disables the update check entirely.

fixes #213
2015-01-28 05:26:55 +01:00
Mathias Kresin
e0fd734c64 use javascript advanced optimizations, improve make-js script
Major benefit, beside a smaller file size, is the possibility to remove debug informations from the minified javascript.

make-js script:
- take care of any warnings and errors
- raise warning level to verbose

js/*
- switch to Array-Access Property Notation for external data (prevents renaming by the closure compiler)
2015-01-28 05:26:55 +01:00
Mathias Kresin
816b793e4c re-enable help shortcut for Firefox, fix javascript errors 2015-01-18 01:26:28 +01:00
Mathias Kresin
f602ff50e2 adjust alert css classes to the message severity
Use panel classes for styling and leave error class for errors.
2015-01-18 01:26:28 +01:00