
In e464e69 I removed href='#' but I noticed that it broke some things. Readding href serves two purposes: - it makes links reachable with Tab key - it makes links clickable with Enter key The alternative to this approach was to introduce [tabindex] and [role] attributes. But not only using tabindex=0 with <a/> is questionable, it'd require adding a keyboard handler that'd intercept space and return key presses and simulated link clicks. Since it's best to leave this kind of thing to the native UI, I went with readding hrefs instead. I believe that hash hrefs, even though being a common practice, are silly, so I decided to settle down with empty hrefs. As a bonus, I added a snippet that prevents middle mouse clicks from opening such links/buttons in new tabs, which was the motivation for e464e69.
This repository is under the process of being rewritten. Stay tuned! You can check the current progress on client here and server here.
The reasons behind this rewrite include:
- Improving user experience: better upload form, larger thumbnails, making top navigation stay out of user way. Maybe other goodies!
- Finally having good, well-documented REST API.
- Simplifying user registration.
- Replacing PHP with Python 3.5.
- Replacing prior JS mess with proper MVC.
- Replacing MySQL (MariaDB) with Postgres.
- Replacing
composer
,npm
,mod_rewrite
(=Apache),imagick
,ffmpeg
orgnash
andpdo_mysql
with justpip
,npm
andffmpeg
. - Replacing
grunt
withnpm
scripts. - Making hosting more flexible: offer simple self hosted application that can be combined with any reverse proxy.
Description
Languages
Python
52.3%
JavaScript
33.7%
Smarty
8.2%
Stylus
5.1%
HTML
0.3%
Other
0.3%