Team blog: Developers

Coming soon: A new editor

Some new users have requested a nicer way to write reviews, so I’ve decided to give the editing UI some love before moving on to some other high priority tasks. I’m currently working on integrating ProseMirror, which is an open source rich-text editor library.

ProseMirror is extremely modular – it’s basically a “build your own editor” kind of deal. The downside is that it takes longer to build something; the upside is that it’s possible to build advanced functionality and to customize the UI more easily.

Markdown is not going anywhere. One of the PM examples demonstrates the side-by-side use of markdown and rich-text editing. The goal is to create a similar user experience for lib.reviews. This way, users will be able to choose the editing environment they prefer on a case-by-case basis.


A nicer language selector

The language list was starting to get cluttered (thanks to translators!), so we’re now using a dropdown, which should make things more manageable for some time to come.

Language selector dropdown

If you frequently change languages, two tips:

  • You can access the dropdown with the access key “L”, e.g., “Alt+L” in Chromium.
  • By typing the language code inside the dropdown, you can quickly select your favorite language, no matter what language the user interface is currently in.

(Note that this change adds a new interface text for the language button, which will take a little while to get translated into all the supported languages.)


Search features deployed

We now have the first round of search features. This includes autocompletion (requires JavaScript):

Search autocompletion

And it includes full-text search across reviews, including highlighting:

Full-text match

See the search page for some tips on valid search operators (a full technical breakdown of supported operators can be found here).

A note on language support:

  • If you’re searching in a language other than English, content in that language will show up.
  • Content in English will always be searched.
  • In addition, we make certain fallback assumptions, e.g., Brazilian Portuguese also searches European Portuguese.

In future, it may be desirable to make those search options user-configurable, as well.

The search feature is based on ElasticSearch, an open source search backend used by many websites, including Wikipedia.

As always, please don’t hesitate to report bugs, or find us on #lib.reviews if you want to chat.


ようこそ: Japanese is live!

Thanks to Higa4, the Japanese language version of lib.reviews is now live (preview).

Is your language still missing? See our earlier blog post for instructions on how to get involved in translating lib.reviews.


Pretty URLs: Round two

Review subjects now have short URLs as well, such as:

https://lib.reviews/archive-webextension

Old “/thing/ID” URLs will continue to work. The short identifiers (“slugs”) are derived from a label associated with a review subject, and only in the original language that was used to create it (i.e. edits to translations will have no effect). In the absence of a label, the “/ID” URL schema is used.

If a thing with a given label already exists, a suffix like “-2” is automatically added. If a label changes, a redirect is kept in place. For now, we don’t limit the number of redirects/aliases, as we can trace a user’s edits and can simply undo excessive redirect use.


Üdvözöljük: Hungarian is live

Thanks to BanKris, the Hungarian language version of lib.reviews is now live (preview).

Is your language still missing? See our earlier blog post for instructions on how to get involved in translating lib.reviews.


Pretty URLs: Round one

To make lib.reviews more user-friendly, URLs to frequently accessed items will be increasingly human-readable, starting with team pages. Teams now have URLs such as:

https://lib.reviews/team/nonprofit-media

… instead of the more unwieldy:

https://lib.reviews/team/e7b911bb-9a13-4066-a70c-573d6d9ac7e7

The team name is translated into what we call a “slug”, a lower-case, hyphenated version stripped of invalid characters. Rename a team in its original language, and we’ll automatically create a redirect for you.

We’ll apply a similar scheme to “things” (review subjects), and perhaps to individual reviews/blog posts as well.

Pretty URLs are one major blocker before we move on to the most-requested feature: search.


Welkom: Dutch is live

With big thanks to Effeietsanders, Hex, Keunes and Siebrand, the Dutch language version of lib.reviews is now live. Thanks also to Siebrand for preparing a pull request to enable the new language.

Is your language still missing? See our earlier blog post for instructions on how to get involved in translating lib.reviews.


Preview a language by adding ?uselang=<language code> to the URL

You can now preview any user interface/content language by adding

?uselang=<language code>

to the end of the URL. This is useful for sending users links in a given language, and for testing translations. It only applies to the page you’re loading (but can be used to compose a review in the given language).

Example:
https://lib.reviews/?uselang=es - frontpage in Spanish

The list of language codes can be found here; some aren’t activated yet since they’re incomplete.


Benvenuto: Italian is live

Thanks to translatewiki.net community members Anto, Beta16 and Fitoschido, lib.reviews is now also available in Italian. This brings the total number of supported languages to 13. Is your language still missing? Please see this earlier blog post for information how to get involved. Thanks to all translators who continually keep these translations updated, as well!


 Older blog posts