How it works:
1. when a fulltext search is made, Shaarli looks for the first
occurence position of every term matching the search. No change here,
but we store these positions in an array, in Bookmark's additionalContent.
2. when formatting bookmarks (through BookmarkFormatter
implementation):
1. first we insert specific tokens at every search result positions
2. we format the content (escape HTML, apply markdown, etc.)
3. as a last step, we replace our token with displayable span
elements
Cons: this tightens coupling between search filters and formatters
Pros: it was absolutely necessary not to perform the
search twice. this solution has close to no impact on performances.
Fixes#205
- Shaarli can be fully used by prefixing any URL with /index.php/
- {$base_path} used in templates already works with this configuration
- Assets path (outside of theme's assets) must be prefixed with {$root_url}/
- Documentation section in « Server configuration »
Fixes#1590
XSS vulnerabilities fixed in editlink, linklist, tag.cloud and tag.list.
Also fixed tag search with special characters: urlencode function needs to be applied on raw data, before espaping, otherwise the rendered URL is wrong.
With the new routes, all pages are not all at the same folder level anymore
(e.g. /shaare and /shaare/123), so we can't just use './' everywhere.
The most consistent way to handle this is to prefix all path with the proper variable,
and handle the actual path in controllers.
- add a default thumb size value (125x90px)
- improve private vertical bar visual, especially with thumbnails
- translations
- add a sync thumbs button in tool and empty picwall page
- fixes WT download mode in JSON config
* Reduce multiple margins (markdown, space between block, etc.)
* Move thumbnails to the right in the same line as the title
* Move edit button as floating to the left
* Move fold/collapse and checkbox buttons as floating to the right
* Add a bunch of HTML ID in the linklist template
Relates to #877
* translation system and unit tests
* Translations everywhere
Dont use translation merge
It is not available with PHP builtin gettext, so it would have lead to inconsistency.
Fixes#784
From now, searching for tags with an empty value will return only not tagged links,
with the search bar showing `x results [not tagged]`.
Note that using the api, the searchtags request parameter must be set to `false` to get the same result.
- [ ] Update API doc
* Add a checkboxes in linklist which display a sub-header containing action buttons
* Strongly rely on JS
* Requires a modern browser (ES6 syntax support)
* Checkboxes are hidden if the browser is old or JS disabled
Use php-intl extension to display datetimes a bit more nicely, depending on the locale.
What changes:
* the day is no longer displayed
* day number and month are ordered according to the locale
* the timezone is more readable (UTC+1 instead of CET)
* Add API settings in `configure.html`
* Fix textarea autoresize
* Load user.css from data folder
* Move fold/expand all button to the right and fix an issue with already folded items
* Reset datetime display to international datetime
* Temporarilly remove JS login panel (need improvement and integration with the plugin system)
* Body background is slightly lighter
* Fix an issue where thumbnails were hidden by description
* Fix an issue where private orange bar wasn't displayed with thumbnails
* Remove the gradient bar behind titles
* Fix empty bookmarklet name in Firefox