Commit Graph

157 Commits

Author SHA1 Message Date
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
Frederic Guillot
cd1a0115c2 Minor cleanups 2015-01-17 18:53:40 -05:00
Mathias Kresin
db94d94de3 Improve user notice about failed feeds
Show feeds with errors always at the top and highlight them

Changes the feed order to:

1. failed
2. enabled
3. disabled

Order alphabetical within each group.

Show a warning message with a hin to the console if feeds have issues

Fixes #300, #303
2015-01-15 02:04:35 +01:00
Mathias Kresin
360fc9076e improve sub navigation on config page
Don't hide the active element, it annoying to use the navigation if the
menu items changing there position with every click. Indicate the active
menu item instead, similar to the header navigation.

May I've worked to long with windows systems, but help and about have to
be the last menu items :-). I've reorderd the menu items to what I think
user need more often.

A sub-navigation should not change its parent heading. Changed that as
well.
2015-01-13 22:50:59 +01:00
Frederic Guillot
bea3c7a29a Minor css improvements 2015-01-12 19:59:17 -05:00
Frederic Guillot
84078bb2a5 Add left/right arrow as keyboard shortcuts 2015-01-12 19:46:21 -05:00
Mathias Kresin
71275eac2c display & update the number of unread items on every page with an "unread items" menu 2015-01-04 18:48:01 +01:00
Mathias Kresin
80952f29b0 middle mouse button triggers event for all browser
This is a follow up to #1. The onclick event is triggered by different
mouse buttons across browsers:

Firefox
- all mouse buttons trigger document.onclick (https://bugzilla.mozilla.org/show_bug.cgi?id=430310)
- only left mouse button triggers document.body.onclick

Internet Explorer
- only left mouse button and without any modifier key triggers
  document.onclick

Chrome
- left & middle mouse button trigger document.onclick

Safari
- left mouse button triggers document.onclick
- middle click via mac os?

By switching to the onmouseup event this can be unified for all
mentioned browsers to:

- (CTRL+) left click triggers event
- middle click triggers event
- right click does nothing
2015-01-03 23:17:10 +01:00
Mathias Kresin
1e1e35e38c IE: 'open original' doesn't open article
The 'open original' link marks the item as read but doesn't open the
article.

After double clicking one 'open original' link, all other
'open original' links open the article as expected. Sounds like the IE
blocks the 'popup' silenty here.

The following in #196 reported issues are fixed by the change as well:
- a middle click on an 'open original' link triggers the popup blocker
- original link opened via middle click is always a foreground tab
2015-01-03 23:02:59 +01:00
Frédéric Guillot
da174a10cc Display the bookmarklet in a text box to be easy to copy and paste 2015-01-02 12:43:17 -05:00
Mathias Kresin
9d31eb1a01 Fix feed-last-checked update after refresh-all
I've dropped it accidentally with my last commit. Furthermore I moved
the data-feed-id definition to the article element and dropped multiple
references of the feed id. That's similar to what I've done before with
the data-item-id in 3dae99ac.

The article element holds the information whether a feed is disabled now.

Now it is shown if a feed had errors while updating.
2014-12-31 17:14:19 +01:00
Mathias Kresin
3fe424999f fix RTL toggling
H2 within an item preview was toggled to rtl and back to ltr
immediately.
2014-12-27 10:21:22 +01:00
Mathias Kresin
0aa5252c85 remove multiple definition of data-item-page 2014-12-26 23:01:05 +01:00
Mathias Kresin
a4d8abb631 Move update icon and update icon blinking to css
Use CSS3 Animation for the "loading icon" blinking and move the definition of
the loading icon to CSS as well.

CSS3 Animations are supported by IE10, Firefox and using the -webkit prefix by
Chrome and Safari.

I've dropped the usage of element.classList in favour of supporting refreshing/
article downloading in IE9 (again). The classList stuff isn't necessarily
needed, as the elements in question only get one or no class assigned.

I've dropped no longer supported css options like:

the appearance option isn't supported by any browser, the -webkit-appearance
doesn't change anything visible.

-webkit-font-smoothing support was dropped in chrome 22 and font-smoothing
isn't specified anywhere.
2014-12-26 23:01:05 +01:00