Commit graph

46 commits

Author SHA1 Message Date
ArthurHoaro b3bd8c3e8d Feature: support any tag separator
So it allows to have multiple words tags.

Breaking change: commas ',' are no longer a default separator.

Fixes #594
2020-11-05 17:54:42 +01:00
ArthurHoaro 9c04921a8c Feature: Share private bookmarks using a URL containing a private key
- Add a share link next to « Permalink » in linklist (using share icon
from fork awesome)
  - This link generates a private key associated to the bookmark
  - Accessing the bookmark while logged out with the proper key will
display it

Fixes #475
2020-10-27 19:32:57 +01:00
ArthurHoaro 21e72da9ee Asynchronous retrieval of bookmark's thumbnails
This feature is based general.enable_async_metadata setting and works with existing metadata.js file.
The script is compatible with any template:
   - the thumbnail div bloc must have  attribute
   - the bookmark bloc must have  attribute with the bookmark ID as value

Fixes #1564
2020-10-20 10:15:18 +02:00
ArthurHoaro 4e3875c0ce Feature: highlight fulltext search results
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
2020-10-16 20:31:12 +02:00
ArthurHoaro 7f5250421b Support using Shaarli without URL rewriting
- 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
2020-10-16 12:47:11 +02:00
ArthurHoaro 72fbbcd679 Security: fix multiple XSS vulnerabilities + fix search tags with special chars
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.
2020-10-06 17:30:18 +02:00
ArthurHoaro 3eba6bd318 Default template: display pin button in mobile view
Fixes #1347
2020-08-27 14:48:07 +02:00
ArthurHoaro 1a8ac737e5 Process main page (linklist) through Slim controller
Including a bunch of improvements on the container,
and helper used across new controllers.
2020-07-23 21:19:21 +02:00
ArthurHoaro 6132d64748 Process thumbnail synchronize page through Slim controllers 2020-07-23 21:19:21 +02:00
ArthurHoaro 3447d888d7 Pin bookmarks through Slim controller 2020-07-23 21:19:21 +02:00
ArthurHoaro 9c75f87793 Use multi-level routes for existing controllers instead of 1 level everywhere
Also prefix most admin routes with /admin/
2020-07-23 21:19:21 +02:00
ArthurHoaro 818b3193ff Explicitly define base and asset path in templates
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.
2020-07-23 21:19:21 +02:00
ArthurHoaro 893f5159c6 Process remove tag endpoint through Slim controller 2020-07-23 21:19:21 +02:00
ArthurHoaro 03340c18ea Slim router: handle add tag route 2020-07-23 21:19:21 +02:00
ArthurHoaro bee33239ed Fix all relative link to work with new URL 2020-07-23 21:19:21 +02:00
Luce Carević 06a8992737
maj linklist
put back the link on the thumbmail and fix a11y
2019-07-28 12:33:06 +02:00
Luce Carević d1bcf28db3 fix a11y 2019-07-13 18:56:43 +02:00
ArthurHoaro 374f89e721 Add print CSS rules to the default template
Fixes #1291

  * Display the header bar only on the first page
  * Hide search bars, pagination buttons, filters, and edit/delete buttons
2019-05-08 12:17:52 +02:00
ArthurHoaro 160d9a7741
Merge pull request #1296 from ArthurHoaro/feature/sticky-label
Display sticky label in linklist
2019-05-08 11:00:33 +02:00
ArthurHoaro d3defcac1c Display sticky label in linklist
Add sticky label, like private label, in linklist to make it more visible.
2019-04-22 11:26:37 +02:00
Luce Carević de07aad18f fix empty links and hide <i> for screenreaders 2019-03-02 13:32:36 +01:00
ArthurHoaro cb974e4747 Accessibility: specify the HTML lang attribute
The lang is based on the user defined one. If the language is automatic, no language will be specified.

Fixes #1216
2019-02-09 14:29:35 +01:00
ArthurHoaro a062416918
Merge pull request #1208 from ArthurHoaro/feature/select-all
Add a button to toggle all checkboxes of displayed links
2018-10-06 13:30:29 +02:00
ArthurHoaro 8cac122086
Merge pull request #1211 from ArthurHoaro/hotfix/img-request
Fix a bug making thumbnail to request the current page
2018-10-06 13:29:10 +02:00
ArthurHoaro d9bf5b31ff Sticky feature - Add translation and display for logged out users 2018-10-06 13:13:57 +02:00
ArthurHoaro 4154c25b5f Add a button to set links as sticky
Meaning that they always appear on top of all links

Fixes #186
2018-10-06 12:55:05 +02:00
ArthurHoaro 8c75c43e7e Fix a bug making thumbnail to request the current page 2018-08-14 11:43:54 +02:00
ArthurHoaro fc574e6454 Add a button to toggle all checkboxes of displayed links
Related to #1160
2018-08-13 13:13:26 +02:00
ArthurHoaro 7b4fea0e39 Bunch of improvement for thumbnails integration:
- 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
2018-07-17 13:16:50 +02:00
ArthurHoaro e85b7a05a1 Update thumbnail integration after rebasing the branch 2018-07-05 20:31:35 +02:00
VirtualTam 89ccc83ba4 Login: update PageBuilder and default/vintage templates
Signed-off-by: VirtualTam <virtualtam@flibidi.net>
2018-06-02 16:46:06 +02:00
ArthurHoaro 9d0fc86250 Add classes to default template to avoid using IDs in SCSS 2018-05-10 13:26:11 +02:00
ArthurHoaro 7e9bd977ee Webpack / Update front paths in template files 2018-03-28 19:01:17 +02:00
ArthurHoaro 94c1756562 Theme improvements: move thumbnails to the right and reduce margins overall
* 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
2017-10-28 15:11:57 +02:00
ArthurHoaro 12266213d0 Shaarli's translation
* 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.
2017-10-22 12:55:03 +02:00
Lucas Cimon f210d94f71 Using only one form in linklist.html + adding untaggedonly filter - fix #885 2017-07-30 16:19:34 +02:00
ArthurHoaro 3e395a6bc6 Merge pull request #841 from ArthurHoaro/feature/search-no-tag
Empty tag search will look for not tagged links
2017-05-25 15:54:20 +02:00
ArthurHoaro 7d86f40bdb Empty tag search will look for not tagged links
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
2017-05-25 15:51:12 +02:00
ArthurHoaro 29a837f347 Bulk deletion
* 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
2017-05-08 14:27:20 +02:00
ArthurHoaro 792b26789f Fixes #657: use data-autofirst parameter for awesomeplete
data-autofirst automatically selects the first item of the list of choice automatically. You just have to press enter to use it.
2017-03-11 13:48:47 +01:00
ArthurHoaro 7c26f6626a Display private only filter as search parameter 2017-03-08 19:57:15 +01:00
ArthurHoaro 52b503105d Improve datetime display
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)
2017-03-06 21:11:12 +01:00
ArthurHoaro 7040169069 Multiple minor improvements and bugfixes regarding the new templates:
* 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
2017-02-27 20:01:54 +01:00
ArthurHoaro 402b034648 Introduce the new default Shaarli template 2017-02-27 20:01:54 +01:00
ArthurHoaro 009ce93581 Move default template to vintage folder 2017-02-27 20:01:54 +01:00
Knah Tsaeb adc4aee80f Change templates set through administration UI 2017-01-05 12:04:02 +01:00
Renamed from tpl/linklist.html (Browse further)