Commit graph

306 commits

Author SHA1 Message Date
ArthurHoaro
bcba6bd353 New plugin hook: ability to add custom filters to Shaarli search engine
A new plugin hook has been added: hook_test_filter_search_entry
This hook allows to filter out bookmark with custom plugin code when a search is performed.

Related to #143
2021-02-04 11:02:50 +01:00
leyrer
151fa1e450 Typo fix line 76 'Authentication' -> Authorization 2020-12-26 13:45:01 +01:00
ArthurHoaro
bd11879018
Merge pull request #1645 from ArthurHoaro/feature/plugin-register-route
Plugin system: allow plugins to provide custom routes
2020-12-16 16:04:15 +01:00
ArthurHoaro
a6e9c08499 Plugin system: allow plugins to provide custom routes
- 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
2020-11-15 12:41:43 +01:00
ArthurHoaro
831e974ea5 Doc: fix missing merge on Release page 2020-11-12 13:16:20 +01:00
ArthurHoaro
302662797c
Merge pull request #1635 from ArthurHoaro/feature/phpcs 2020-11-10 10:46:04 +01:00
ArthurHoaro
7e78237fc9
Merge pull request #1630 from ArthurHoaro/fix/apache-config
Reviewed Apache configuration
2020-11-10 10:45:05 +01:00
ArthurHoaro
325cc8adad
Merge pull request #1634 from ArthurHoaro/fix/docker-compose
Docker-compose: fix SSL certificate + add parameter for Docker tag
2020-11-10 10:44:50 +01:00
ArthurHoaro
8affa22431
Merge pull request #1628 from ArthurHoaro/fix/nginx-config
Reviewed nginx configuration
2020-11-10 10:44:29 +01:00
ArthurHoaro
2f4df75304 Update Static Analysis documentation 2020-11-09 12:17:40 +01:00
ArthurHoaro
b7c50a58de Docker-compose: fix SSL certificate + add parameter for Docker tag
Use envvar SHAARLI_VIRTUAL_HOST for Traefik's docker.domain parameter instead of localhost (I'm not sure if did work at some point).

Add an environment variable to choose which Docker tag to use instead of using master by default.

Fixes #1632
2020-11-09 10:36:13 +01:00
ArthurHoaro
8a9796014c Reviewed Apache configuration
(in documentation)

For security purpose, block access to any static file not matching the list of allowed extensions.
It allows us to remove the specific retriction on dotfiles, and fix Apache part of #1608.
2020-11-08 13:13:13 +01:00
ArthurHoaro
ce901a5828 Reviewed nginx configuration
Both in documentation and Docker image.

For security purpose, it no longer allow to access static files through
the main nginx *location*. Static files are served if their extension
matches the whitelist.

As a side effect, we no longer need specific restrictions, and
therefore it fixes the nginx part of #1608.
2020-11-07 14:27:49 +01:00
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
740b32b520 Default formatter: add a setting to disable auto-linkification
+ update documentation
  + single parameter for both URL and hashtags

Fixes #1094
2020-11-03 12:43:35 +01:00
ArthurHoaro
2f87bfdc69 Fix: nginx - add rule to disable url-rewriting for the docs
Related to #1603
2020-10-21 15:23:30 +02:00
ArthurHoaro
9b3c1270bc
Merge pull request #1567 from ArthurHoaro/feature/async-title-retrieval 2020-10-20 10:14:28 +02:00
ArthurHoaro
7836ed9b2e Doc: typo 2020-10-16 19:20:45 +02:00
ArthurHoaro
3adbdc2a83 Inject ROOT_PATH in plugin instead of regenerating it everywhere 2020-10-16 13:06:06 +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
4cf3564d28 Add a setting to retrieve bookmark metadata asynchrounously
- 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
2020-10-15 09:08:46 +02:00
ArthurHoaro
ec45749187 Doc: add PHP 7.4 and 8.0 as supported version 2020-10-15 09:01:41 +02:00
ArthurHoaro
769a28833b
Merge pull request #1566 from nodiscc/makefile-composer-install
doc/Makefile: remove references to composer update
2020-09-30 11:12:17 +02:00
ArthurHoaro
85b972baf6
Merge pull request #1558 from ArthurHoaro/fix/plugins-base-path
Fix plugin base path in core plugins
2020-09-25 10:59:40 +02:00
nodiscc
0f686afe11 doc/Makefile: remove references to composer update
- add make composer_dependencies_dev Makefile target and use this instead
- fix composer initial installation procedure
- fix php-xdebug install instructions
2020-09-24 21:51:28 +02:00
ArthurHoaro
76fe68d924 Fix plugin base path in core plugins
Also fix note check in archiveorg plugin, and regression on vintage template.
Documentation regarding relative path has been added.

Fixes #1548
2020-09-22 13:50:19 +02:00
ArthurHoaro
650a5f09cb Add manual configuration for root URL
This new setting under 'general.root_url' allows to override automatic discovery of Shaarli instance's URL.

Fixes #1339
2020-09-12 21:39:01 +02:00
ArthurHoaro
97870f3512 doc: Docker minor improvements 2020-09-12 14:31:45 +02:00
Immánuel!
68855686db Add 2 plugins to the 3rd party plugin list
Besides adding 2 new plugins, also reordered the list by ABC and fixed some discrepancies in the details to restore balance in the force
2020-09-12 14:31:45 +02:00
nodiscc
a5e9f2d6c9 doc: nginx config: document ipv4 and ipv6 listen directives 2020-09-12 14:31:45 +02:00
nodiscc
61f0c4b679 doc: apache config: remove useless documentroot directive in HTTP-only virtualhost (only used for redirects) 2020-09-12 14:31:45 +02:00
nodiscc
f682f1b899 doc: serve configuration/reverse proxy: fix apache mod_md configuration, move reference links to their respective sections, shorten 2020-09-12 14:31:45 +02:00
nodiscc
083b28021a doc: server configuration: fix apache restart command 2020-09-12 14:31:45 +02:00
nodiscc
19489e92d7 doc: server configuration: enable mod_headers 2020-09-12 14:31:45 +02:00
nodiscc
5eece37b0a doc: server configuration: fix apache site config file name 2020-09-12 14:31:45 +02:00
nodiscc
d8847936d4 doc: server configuration: add reminder to change the example domain name 2020-09-12 14:31:45 +02:00
nodiscc
9417f1337e doc: server configuration: add asciicast of server configuration procedure (asciinema) 2020-09-12 14:31:45 +02:00
nodiscc
1a19c921a9 doc: updagrde/migration: simplify permissions setup 2020-09-12 14:31:45 +02:00
nodiscc
78b5b44d8f doc: installation: simplify permissions setup 2020-09-12 14:31:45 +02:00
nodiscc
ff2b5f5bd8 doc: docker: update docker-compose to 1.26.2 2020-09-12 14:31:45 +02:00
nodiscc
48b19a7014 doc: installation: bump version to 0.11.1 2020-09-12 14:31:45 +02:00
nodiscc
02117f7ea3 doc: reverse proxy: update HTTP->HTTPS redirect configuration, remove logging options 2020-09-12 14:31:45 +02:00
nodiscc
e21df1e729 doc: fail2Ban: add note about restarting fail2ban 2020-09-12 14:31:45 +02:00
nodiscc
f3ab261631 doc: apache: add example configuration for mod_md 2020-09-12 14:31:45 +02:00
nodiscc
38d66e1a40 doc: server configuration: apache: add note about mod_md 2020-09-12 14:31:45 +02:00
nodiscc
ecdae2237f doc: server configuration: update apache configuration 2.2 -> 2.4
https://httpd.apache.org/docs/current/upgrading.html
2020-09-12 14:31:45 +02:00
nodiscc
45203c0bca doc: Community-and-related-software.md: order plugins alphabetically 2020-09-12 14:31:45 +02:00
nodiscc
46e019a132 doc: plugins: remove doc about deprecated $GLOBALS['config']['ENABLED_PLUGINS'] array 2020-09-12 14:31:45 +02:00
nodiscc
78f319fa6b doc: troubleshooting: add procedure to clear shaarli caches 2020-09-12 14:31:45 +02:00
nodiscc
6c4cae378e doc: server configuration: remove apache logging options
see https://github.com/nodiscc/xsrv/blob/master/roles/apache/templates/etc_apache2_conf-available_logging.conf.j2 for an example server-wide logging configuration
2020-09-12 14:31:45 +02:00
nodiscc
1aeefe1088 doc: server configuration: formatting/add comment 2020-09-12 14:31:45 +02:00
nodiscc
e0fe33f90b doc: server configuration: add note on required firewall/NAT for Let's Encrypt certificates 2020-09-12 14:31:45 +02:00
Lucas Cimon
b6c9a2db30 Removing dead link in doc
As it currently redirects to https://www.lgblog.fr
2020-09-12 14:31:45 +02:00
nodiscc
5cacf290f0 doc: document dev.debug configuration etting
ref. https://github.com/shaarli/Shaarli/pull/779
2020-09-12 14:31:45 +02:00
owen bell
56ae25f11f add shaarli-default-dark to the themes list 2020-09-12 14:31:45 +02:00
Lucas Cimon
f5afa87c38 Added links to doc section "Articles and social media discussions" 2020-09-12 14:31:45 +02:00
nodiscc
dfe14f264b doc: server configuration: php requirements: add php-simplexml
ref. https://github.com/shaarli/Shaarli/pull/1476
2020-09-12 14:31:45 +02:00
nodiscc
74c2ae4088 doc: Community-and-related-software: add shaarli-webhooks plugin 2020-09-12 14:31:45 +02:00
nodiscc
328c215a8a doc: add note about importing browser bookmarks folder structure to shaarli tags
ref. https://github.com/shaarli/Shaarli/issues/1449
2020-09-12 14:31:45 +02:00
nodiscc
dfed9b2dd5 doc: troubleshooting: improve compatibility with PHP 5.6/FTP upload limits
ref. https://github.com/shaarli/Shaarli/issues/1469
2020-09-12 14:31:45 +02:00
nodiscc
881bd96f15 doc: usage: active filters/clear search filters 2020-09-12 14:31:45 +02:00
nodiscc
778add2c9c doc: nginx: add let's encrypt ssl configuration 2020-09-12 14:31:45 +02:00
nodiscc
538fb324a8 doc: nginx: reorder 2020-09-12 14:31:45 +02:00
nodiscc
c84d143047 apache: fix let's encrypt configuration , copy it directly from reference file
including options-ssl-apache.conf requires python3-certbot-apache which pulls a lot of dependencies
2020-09-12 14:31:45 +02:00
nodiscc
30255b794a doc: php compatibility: add php 7.3 2020-09-12 14:31:45 +02:00
nodiscc
41b93897f3 server-configuration: move firewall/NAT requirements to Network section 2020-09-12 14:31:45 +02:00
nodiscc
6384447d1d fix markdown syntax 2020-09-12 14:31:45 +02:00
nodiscc
a32e6665d0 formatting/emphasis 2020-09-12 14:31:45 +02:00
nodiscc
fe007f94e4 doc: docker.md: fix stray code block 2020-09-12 14:31:45 +02:00
nodiscc
91a21c2729 **General rewording, proof-reading, deduplication, shortening, reordering, simplification, cleanup/formatting/standardization**
- standardize page names, rework documentation structure, update TOC
- use same example paths everywhere
- level 1 titles on all pages
- fix broken links
- .md suffix on all page links (works both from readthedocs and github repository views)

**Server:**

A full and concise installation guide with examples is a frequent request. The documentation should provide such a guide for basic installation needs, while explaining alternative/advanced configuration at the end. Links to reference guides and documentation should be used more frequently to avoid recommending an outdated or excessively complex configuration.

- server: move most server-related info to server-configuration.md, cleanup/shorten
- server: update list of php dependencies/libraries, link to composer.json
- server: installation: support 3 install methods (from release zip, from sources, using docker)
- server: installation: use rsync instead of mv as mv results will change depending of taget directory already existing or not
- server: add example/basic usage of certbot
- server, upgrade, installation: update file permissions setup, use sudo for upgrade operations in webserver document root
- server: apache: add comments to configuration, fix and factorize file permissions setup, set cache-control header, deny access to dotfiles, add missing apache config steps, add http->https redirect example
- server: nginx: refactor nginx configuration, add comments, DO log access to denied/protected files
- server: add links to MDN for x-forwarded-* http headers explanation, cleanup/clarify robots.txt and crawlers section
- server: bump file upload size limit to 100MB we have reports of bookmark exports weighing +40MB - i have a 13MB one here
- server: simplify phpinfo documentation
- server: move backup and restore information to dedicated page
- docker: move all docker docs to Docker.md, simplify/ docker setup, add docker-compose.yml example, replace docker-101 with docker cheatsheet
- troubleshooting: move all troubleshooting documentation to troubleshooting.md

**Usage:**

- index: add getting started section on index page
- features/usage: move all usage-related documentation to usage.md, add links from the main feature list to corresponding usage docs, clarify/reword features list
- shaarli configuration: add note about configuring from web interface

**Removed:**

- remove obsolete/orphan images
- remove obsolete shaarchiver example
- remove outdated "decode datastore content" snippet

**Development:**

- development: move development-related docs (static analysis, CI, unit tests, 3rd party libs, link structure/directory, guidelines, security....) to dev/ directory
- development: Merge several pages to development.md
- **Breaking change?:** remove mentions of 'stable' branch, switch to new branch/release model (master=latest commit, release=latest tag)
- **Breaking change?:** refer to base sharing unit as "Shaare" everywhere (TODO: reflect changes in the code?) doc: update featues list/link to usage.md for details
- development: directory structure: add note about required file permissions
- .travis-ci.yml: add comments
- .htaccess: add comment
2020-09-12 14:31:45 +02:00
ArthurHoaro
80b708a878 Inject BookmarkServiceInterface in plugins data
Related discussion: ilesinge/shaarli-related#7
2020-09-03 15:08:08 +02:00
ArthurHoaro
8e9169ceba Update French translation 2020-07-23 21:19:21 +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
1b8620b1ad Process plugins administration page through Slim controllers 2020-07-23 21:19:21 +02:00
ArthurHoaro
78657347c5 Process bookmarks import through Slim controller 2020-07-23 21:19:21 +02:00
ArthurHoaro
c70ff64a61 Process bookmark exports through Slim controllers 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
c22fa57a55 Handle shaare creation/edition/deletion through Slim controllers 2020-07-23 21:19:21 +02:00
ArthurHoaro
66063ed1a1 Process configure page through Slim controller 2020-07-23 21:19:21 +02:00
ArthurHoaro
ba43064ddb Process tools page through Slim controller 2020-07-23 21:19:21 +02:00
ArthurHoaro
2899ebb5b5 Initialize admin Slim controllers
- Reorganize visitor controllers
  - Fix redirection with Slim's requests base path
  - Fix daily links
2020-07-23 21:19:21 +02:00
ArthurHoaro
7b2ba6ef82 RSS/ATOM feeds: process through Slim controller 2020-07-23 21:19:21 +02:00
ArthurHoaro
60ae241251 Process tag list page through Slim controller 2020-07-23 21:19:21 +02:00
ArthurHoaro
c266a89d0f Process tag cloud page through Slim controller 2020-07-23 21:19:21 +02:00
ArthurHoaro
485b168a96 Process picwall rendering through Slim controller + UT 2020-07-23 21:19:21 +02:00
ArthurHoaro
78c2f122e0
Merge pull request #1428 from pipoprods/feat/ldap-auth 2020-06-25 16:53:18 +02:00
flow.gunso
50c9543f7b Add an example for the description variable to the meta file 2020-05-15 22:47:19 +02:00
flow.gunso
8f6202deb0 Document about the .meta file at the plugin creation/initialization 2020-05-15 22:17:48 +02:00
nodiscc
752bc4c5e6
Merge pull request #1403 from shaarli/doc-composer
doc: simplify composer installation procedure, merge Unit tests related pages, reword/shorten, fix references to old php versions
2020-04-11 13:06:30 +00:00
nodiscc
2dd6ecb126 doc: composer update should actually be removed as it alters the Composer lock file 2020-04-11 13:53:15 +02:00
nodiscc
dbbcb0c6cf
doc: use <PHP_VERSION>, fix php.ini path
Co-Authored-By: Aurélien Tamisier <virtualtam+github@flibidi.net>
2020-03-09 17:44:12 +00:00
nodiscc
273453900a
doc: use obvious <PHP_VERSION> placeholder
Co-Authored-By: Aurélien Tamisier <virtualtam+github@flibidi.net>
2020-03-09 17:43:45 +00:00
nodiscc
1ea8aeef76
doc: fix php.ini path
Co-Authored-By: Aurélien Tamisier <virtualtam+github@flibidi.net>
2020-03-09 17:43:09 +00:00
Sébastien NOBILI
cc2ded54e1 ldap authentication, fixes shaarli/Shaarli#1343 2020-03-02 17:13:18 +01:00
ArthurHoaro
9e4cc28e29 Fix all existing links and redirection to ?do=login 2020-01-26 11:34:14 +01:00
nodiscc
04a816f648 doc: fix references to php5, use new directory structure 2020-01-19 13:52:03 +01:00
nodiscc
3b04d19a62 doc: fix reference to old version of php-xdebug package 2020-01-19 13:49:48 +01:00
nodiscc
54ab5636e3 doc: merge unit tests/docker unit tests pages, simplfy, reword 2020-01-19 13:18:29 +01:00
nodiscc
a8a38401f0 doc: reword simplify xdebug installation/unit tests 2020-01-19 13:11:11 +01:00
nodiscc
7a7a523782 doc: simplify unit tests documentation 2020-01-19 13:09:23 +01:00