| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Use links loop ID to make ID unique and fix browser labels behaviour.
Fixes #1685
|
|
|
|
|
|
|
|
|
|
| |
- each route will be prefixed by `/plugin/<plugin_name>`
- add a new template for plugins rendering
- add a live example in the demo_plugin
Check out the "Plugin System" documentation for more detail.
Related to #143
|
| |
|
| |
|
| |
|
|\ |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
So it allows to have multiple words tags.
Breaking change: commas ',' are no longer a default separator.
Fixes #594
|
|/
|
|
|
|
|
| |
It makes more sense to display the error even if it's unexpected.
Only for logged in users.
Fixes #1606
|
|
|
|
|
|
| |
Regression introduced by #1596
Fixes #1623
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This changes creates a new form in addlink page allowing to create
multiple bookmarks at once more easily. It focuses on re-using as much
existing code and template component as possible.
These changes includes:
- a new form in addlink (hidden behind a button by default),
containing a text area for URL, and tags/private status to apply to
created links
- this form displays a new template called editlink.batch, itself
including editlink template multiple times
- User interation in this new templates are handle by a new JS script
(shaare-batch.js) making AJAX requests, and therefore does not need page
reloading
- ManageShaareController has been split into 3 distinct controllers:
+ ShaareAdd: displays addlink template
+ ShaareManage: various operation applied on existing shaares
(change visibility, pin, deletion, etc.)
+ ShaarePublish: handles creation/edit forms and saving Shaare's
form
- Updated translations
Fixes #137
|
|
|
|
|
|
|
|
|
| |
- Heavy refactoring of DailyController
- Add a banner like in tag cloud to display monthly and weekly links
- Translations: t() now supports variables with optional first letter
uppercase
Fixes #160
|
|
|
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
|
|
|
|
|
|
|
|
| |
It contains mostly read only information about the current Shaarli instance,
PHP version, extensions, file and folder permissions, etc.
Also action buttons to clear the cache or sync thumbnails.
Part of the content of this page is also displayed on the install page,
to check server requirement before installing Shaarli config file.
Fixes #40
Fixes #185
|
|
|
|
|
|
|
|
|
| |
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
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- There is a new standalone script (metadata.js) which requests
a new controller to get bookmark metadata and fill the form async
- This feature is enabled with the new setting: general.enable_async_metadata
(enabled by default)
- general.retrieve_description is now enabled by default
- A small rotating loader animation has a been added to bookmark inputs
when metadata is being retrieved (default template)
- Custom JS htmlentities has been removed and mathiasbynens/he
library is used instead
Fixes #1563
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| | |
Fixes #1125
|
|/
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
|
|
|
|
| |
Library: [Parsedown Extra](https://github.com/erusev/parsedown-extra)
Also sort dependencies alphabetically.
Fixes #1169
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
This work alters the markup and CSS for the tag sort UI to match the button feel filters and links per page uses.
|
|
|
|
| |
Fixes #1371
|
|
|
|
|
|
|
| |
Also fix note check in archiveorg plugin, and regression on vintage template.
Documentation regarding relative path has been added.
Fixes #1548
|
|\
| |
| | |
Default template: display pin button in mobile view
|
| |
| |
| |
| | |
Fixes #1347
|
|\ \ |
|
| |/ |
|
|/
|
|
|
|
| |
Also display the filter for visitors.
Fixes #1529
|
|
|
|
| |
Also handle authentication check in a new middleware for the admin group.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Including a bunch of improvements on the container,
and helper used across new controllers.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
* Use the new shaare route
* Add source hidden input in editlink template to close the popup after saving
|
|
|
|
| |
Also prefix most admin routes with /admin/
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|