Image board engine, Danbooru-style.
Find a file
rr- d5e197e6ea client/general: add empty href for link buttons
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.
2016-08-22 01:40:30 +02:00
client client/general: add empty href for link buttons 2016-08-22 01:40:30 +02:00
server server/posts: allow tagless posts 2016-08-21 23:40:01 +02:00
.gitignore server/tests: switch to pytest 2016-04-15 18:00:06 +02:00
API.md server/snapshots: rewrite 2016-08-16 21:51:25 +02:00
config.yaml.dist server/db: allow full DSN; use memdb in tests 2016-08-16 21:42:09 +02:00
INSTALL.md server/db: allow full DSN; use memdb in tests 2016-08-16 21:42:09 +02:00
README.md docs/readme: update links to roadmap 2016-04-17 17:24:19 +02:00

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 or gnash and pdo_mysql with just pip, npm and ffmpeg.
  • Replacing grunt with npm scripts.
  • Making hosting more flexible: offer simple self hosted application that can be combined with any reverse proxy.