Preferences class was introduced in order to handle user preferences. Right now
it parses cookies and the form in preferences. Also it can retrieve settings
based on the name of the setting.
ATTENTION
Please note that engine preferences are handled differently from now on. So it
introduces incompatible changes. Every user who has saved preferences should reset and
save his/her settings again.
This change was needed, because everytime a default disabled engine was
added saved user preferences would broke. Now engine setting tracking is
fixed.
Content field in Arch Wiki search results is of no real use, more often
than not it contains no usable information and includes too many markup
tags which make the text unreadable. It is safe to remove it.
changes were made for wolframalpha infobox:
- wrap text inside infobox.
for example, there's a hill in New Zealand called
Taumatawhakatangihangakoauauotamateapokaiwhenuakitanatahu
(don't blame me, blame the Kiwis)
and now it doesn't break the infobox.
- add an optional image field for infobox's attributes.
(doesn't affect ddg infobox at all)
- table is now always split in half.
needed so that images stay inside infobox.
(max-width doesn't work for inline elements, it's the table
that has to set the width.
if you don't like how the table width looks now in ddg/wiki's infobox,
i can change that code so that the style only applies when using
wolframalpha.
TODO:
- infobox styles
- unit tests
ISSUES:
- no_api version needs to re-call server for additional pods, such
as plots. therefore, it's even slower than before. comment out the
part that calls get_async_pod if requests reach timeout or increase
timeout in settings.yml.