diff options
-rw-r--r-- | .github/mailmap | 2 | ||||
-rw-r--r-- | AUTHORS | 12 | ||||
-rw-r--r-- | CHANGELOG.md | 32 | ||||
-rw-r--r-- | README.md | 4 | ||||
-rw-r--r-- | doc/md/Browsing-and-searching.md | 18 | ||||
-rw-r--r-- | doc/md/Community-&-Related-software.md | 47 | ||||
-rw-r--r-- | doc/md/Download-and-Installation.md | 10 | ||||
-rw-r--r-- | doc/md/Firefox-share.md | 3 | ||||
-rw-r--r-- | doc/md/docker/shaarli-images.md | 14 | ||||
-rw-r--r-- | doc/md/index.md | 43 | ||||
-rw-r--r-- | docker/alpine/Dockerfile.armhf.latest | 47 | ||||
-rw-r--r-- | docker/alpine/Dockerfile.armhf.master | 47 | ||||
-rw-r--r-- | index.php | 2 | ||||
-rw-r--r-- | mkdocs.yml | 8 | ||||
-rw-r--r-- | tpl/default/page.header.html | 52 | ||||
-rw-r--r-- | tpl/default/pluginsadmin.html | 6 |
16 files changed, 248 insertions, 99 deletions
diff --git a/.github/mailmap b/.github/mailmap index bbdb7908..7633afcf 100644 --- a/.github/mailmap +++ b/.github/mailmap | |||
@@ -1,6 +1,8 @@ | |||
1 | ArthurHoaro <arthur@hoa.ro> | 1 | ArthurHoaro <arthur@hoa.ro> |
2 | Florian Eula <eula.florian@gmail.com> feula | 2 | Florian Eula <eula.florian@gmail.com> feula |
3 | Florian Eula <eula.florian@gmail.com> <mr.pikzen@gmail.com> | 3 | Florian Eula <eula.florian@gmail.com> <mr.pikzen@gmail.com> |
4 | Immánuel Fodor <immanuelfactor+github@gmail.com> | ||
5 | kalvn <kalvnthereal@gmail.com> <kalvn@users.noreply.github.com> | ||
4 | Nicolas Danelon <hi@nicolasmd.com.ar> nicolasm | 6 | Nicolas Danelon <hi@nicolasmd.com.ar> nicolasm |
5 | Nicolas Danelon <hi@nicolasmd.com.ar> <nda@3818.com.ar> | 7 | Nicolas Danelon <hi@nicolasmd.com.ar> <nda@3818.com.ar> |
6 | Nicolas Danelon <hi@nicolasmd.com.ar> <nicolasdanelon@gmail.com> | 8 | Nicolas Danelon <hi@nicolasmd.com.ar> <nicolasdanelon@gmail.com> |
@@ -1,6 +1,6 @@ | |||
1 | 537 ArthurHoaro <arthur@hoa.ro> | 1 | 574 ArthurHoaro <arthur@hoa.ro> |
2 | 252 VirtualTam <virtualtam@flibidi.net> | 2 | 277 VirtualTam <virtualtam@flibidi.net> |
3 | 148 nodiscc <nodiscc@gmail.com> | 3 | 169 nodiscc <nodiscc@gmail.com> |
4 | 56 Sébastien Sauvage <sebsauvage@sebsauvage.net> | 4 | 56 Sébastien Sauvage <sebsauvage@sebsauvage.net> |
5 | 15 Florian Eula <eula.florian@gmail.com> | 5 | 15 Florian Eula <eula.florian@gmail.com> |
6 | 13 Emilien Klein <emilien@klein.st> | 6 | 13 Emilien Klein <emilien@klein.st> |
@@ -11,8 +11,9 @@ | |||
11 | 5 Lucas Cimon <lucas.cimon@gmail.com> | 11 | 5 Lucas Cimon <lucas.cimon@gmail.com> |
12 | 4 Alexandre Alapetite <alexandre@alapetite.fr> | 12 | 4 Alexandre Alapetite <alexandre@alapetite.fr> |
13 | 4 David Sferruzza <david.sferruzza@gmail.com> | 13 | 4 David Sferruzza <david.sferruzza@gmail.com> |
14 | 4 kalvn <kalvnthereal@gmail.com> | ||
15 | 3 Immánuel Fodor <immanuelfactor+github@gmail.com> | ||
14 | 3 Teromene <teromene@teromene.fr> | 16 | 3 Teromene <teromene@teromene.fr> |
15 | 3 kalvn <kalvnthereal@gmail.com> | ||
16 | 2 Chris Kuethe <chris.kuethe@gmail.com> | 17 | 2 Chris Kuethe <chris.kuethe@gmail.com> |
17 | 2 Knah Tsaeb <Knah-Tsaeb@knah-tsaeb.org> | 18 | 2 Knah Tsaeb <Knah-Tsaeb@knah-tsaeb.org> |
18 | 2 Mathieu Chabanon <git@matchab.fr> | 19 | 2 Mathieu Chabanon <git@matchab.fr> |
@@ -27,6 +28,7 @@ | |||
27 | 1 BoboTiG <bobotig@gmail.com> | 28 | 1 BoboTiG <bobotig@gmail.com> |
28 | 1 Bronco <bronco@warriordudimanche.net> | 29 | 1 Bronco <bronco@warriordudimanche.net> |
29 | 1 D Low <daniellowtw@gmail.com> | 30 | 1 D Low <daniellowtw@gmail.com> |
31 | 1 Daniel Jakots <vigdis@chown.me> | ||
30 | 1 Dimtion <zizou.xena@gmail.com> | 32 | 1 Dimtion <zizou.xena@gmail.com> |
31 | 1 Fanch <fanch-github@qth.fr> | 33 | 1 Fanch <fanch-github@qth.fr> |
32 | 1 Felix Bartels <felix@host-consultants.de> | 34 | 1 Felix Bartels <felix@host-consultants.de> |
@@ -41,6 +43,8 @@ | |||
41 | 1 Lionel Martin <renarddesmers@gmail.com> | 43 | 1 Lionel Martin <renarddesmers@gmail.com> |
42 | 1 Mark Gerarts <mark.gerarts@gmail.com> | 44 | 1 Mark Gerarts <mark.gerarts@gmail.com> |
43 | 1 Marsup <marsup@gmail.com> | 45 | 1 Marsup <marsup@gmail.com> |
46 | 1 Neros <contact@neros.fr> | ||
44 | 1 Sbgodin <Sbgodin@users.noreply.github.com> | 47 | 1 Sbgodin <Sbgodin@users.noreply.github.com> |
45 | 1 TsT <tst2005@gmail.com> | 48 | 1 TsT <tst2005@gmail.com> |
46 | 1 dimtion <zizou.xena@gmail.com> | 49 | 1 dimtion <zizou.xena@gmail.com> |
50 | 1 durcheinandr <jochen@durcheinandr.de> | ||
diff --git a/CHANGELOG.md b/CHANGELOG.md index 33feac20..b823ba70 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md | |||
@@ -4,6 +4,13 @@ All notable changes to this project will be documented in this file. | |||
4 | The format is based on [Keep a Changelog](http://keepachangelog.com/) | 4 | The format is based on [Keep a Changelog](http://keepachangelog.com/) |
5 | and this project adheres to [Semantic Versioning](http://semver.org/). | 5 | and this project adheres to [Semantic Versioning](http://semver.org/). |
6 | 6 | ||
7 | ## [v0.9.3](https://github.com/shaarli/Shaarli/releases/tag/v0.9.3) - 2018-01-04 | ||
8 | **XSS vulnerability fixed. Please update.** | ||
9 | |||
10 | ## Security | ||
11 | - Fix an XSS (cross-site-scripting) vulnerability in `index.php` | ||
12 | |||
13 | |||
7 | ## [v0.9.2](https://github.com/shaarli/Shaarli/releases/tag/v0.9.2) - 2017-10-07 | 14 | ## [v0.9.2](https://github.com/shaarli/Shaarli/releases/tag/v0.9.2) - 2017-10-07 |
8 | 15 | ||
9 | **Major security issue fixed. Please update.** | 16 | **Major security issue fixed. Please update.** |
@@ -42,6 +49,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/). | |||
42 | 49 | ||
43 | - Fixed reflected XSS vulnerability introduced in v0.9.1, discovered by @chb9 ([CVE-2017-15215](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-15215)). | 50 | - Fixed reflected XSS vulnerability introduced in v0.9.1, discovered by @chb9 ([CVE-2017-15215](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-15215)). |
44 | 51 | ||
52 | |||
45 | ## [v0.9.1](https://github.com/shaarli/Shaarli/releases/tag/v0.9.1) - 2017-08-23 | 53 | ## [v0.9.1](https://github.com/shaarli/Shaarli/releases/tag/v0.9.1) - 2017-08-23 |
46 | 54 | ||
47 | The documentation has been migrated to ReadTheDocs: | 55 | The documentation has been migrated to ReadTheDocs: |
@@ -115,7 +123,7 @@ Theming: | |||
115 | - Introduce a new theme | 123 | - Introduce a new theme |
116 | - Allow selecting themes/templates from the configuration page | 124 | - Allow selecting themes/templates from the configuration page |
117 | - New/Edit link form can be submitted using CTRL+Enter in the textarea | 125 | - New/Edit link form can be submitted using CTRL+Enter in the textarea |
118 | - Shaarli version is displayed in the footer when logged in | 126 | - Shaarli version is displayed in the footer when logged in |
119 | - Add plugin placeholders to Atom/RSS feed templates | 127 | - Add plugin placeholders to Atom/RSS feed templates |
120 | - Add OpenSearch to feed templates | 128 | - Add OpenSearch to feed templates |
121 | - Add `campaign_` to the URL cleanup pattern list | 129 | - Add `campaign_` to the URL cleanup pattern list |
@@ -145,7 +153,7 @@ Theming: | |||
145 | - Improved date time display depending on the locale | 153 | - Improved date time display depending on the locale |
146 | - Partial namespace support for Shaarli classes | 154 | - Partial namespace support for Shaarli classes |
147 | - Shaarli version is now only present in `shaarli_version.php` | 155 | - Shaarli version is now only present in `shaarli_version.php` |
148 | - Human readable maximum file size upload | 156 | - Human readable maximum file size upload |
149 | 157 | ||
150 | 158 | ||
151 | ### Removed | 159 | ### Removed |
@@ -171,6 +179,12 @@ Theming: | |||
171 | - Markdown plugin: escape HTML entities by default | 179 | - Markdown plugin: escape HTML entities by default |
172 | 180 | ||
173 | 181 | ||
182 | ## [v0.8.5](https://github.com/shaarli/Shaarli/releases/tag/v0.8.5) - 2018-01-04 | ||
183 | **XSS vulnerability fixed. Please update.** | ||
184 | |||
185 | ## Security | ||
186 | - Fix an XSS (cross-site-scripting) vulnerability in `index.php` | ||
187 | |||
174 | ## [v0.8.4](https://github.com/shaarli/Shaarli/releases/tag/v0.8.4) - 2017-03-04 | 188 | ## [v0.8.4](https://github.com/shaarli/Shaarli/releases/tag/v0.8.4) - 2017-03-04 |
175 | ### Security | 189 | ### Security |
176 | - Markdown plugin: escape HTML entities by default | 190 | - Markdown plugin: escape HTML entities by default |
@@ -186,7 +200,7 @@ Theming: | |||
186 | 200 | ||
187 | ## [v0.8.1](https://github.com/shaarli/Shaarli/releases/tag/v0.8.1) - 2016-12-12 | 201 | ## [v0.8.1](https://github.com/shaarli/Shaarli/releases/tag/v0.8.1) - 2016-12-12 |
188 | 202 | ||
189 | > Note: this version will create an automatic backup of your database if anything goes wrong. | 203 | > Note: this version will create an automatic backup of your database if anything goes wrong. |
190 | 204 | ||
191 | ### Added | 205 | ### Added |
192 | - Add CHANGELOG.md to track the whole project's history | 206 | - Add CHANGELOG.md to track the whole project's history |
@@ -203,7 +217,7 @@ Theming: | |||
203 | - Link ID complete refactoring: | 217 | - Link ID complete refactoring: |
204 | - Links now have a numeric ID instead of dates | 218 | - Links now have a numeric ID instead of dates |
205 | - Short URLs are now created once and can't change over time (previous URL are kept) | 219 | - Short URLs are now created once and can't change over time (previous URL are kept) |
206 | - Templates: | 220 | - Templates: |
207 | - Changed placeholder behaviour for: `buttons_toolbar`, `fields_toolbar` and `action_plugin` | 221 | - Changed placeholder behaviour for: `buttons_toolbar`, `fields_toolbar` and `action_plugin` |
208 | - Cleanup `{loop}` declarations in templates | 222 | - Cleanup `{loop}` declarations in templates |
209 | - Tools: hide Firefox Social button when not in HTTPS | 223 | - Tools: hide Firefox Social button when not in HTTPS |
@@ -221,7 +235,7 @@ Theming: | |||
221 | - Plugins: | 235 | - Plugins: |
222 | - Tools: only display parameter description when it exists | 236 | - Tools: only display parameter description when it exists |
223 | - archive.org: do not propose archival of private notes | 237 | - archive.org: do not propose archival of private notes |
224 | - Markdown: | 238 | - Markdown: |
225 | - render links properly in code blocks | 239 | - render links properly in code blocks |
226 | - bug regarding the `nomarkdown` tag | 240 | - bug regarding the `nomarkdown` tag |
227 | - W3C compliance | 241 | - W3C compliance |
@@ -360,7 +374,7 @@ Please use our release archives, or follow the | |||
360 | ### Fixed | 374 | ### Fixed |
361 | - Fix a bug where renaming a tag was causing a 404 | 375 | - Fix a bug where renaming a tag was causing a 404 |
362 | - Fix a bug allowing to search blank terms | 376 | - Fix a bug allowing to search blank terms |
363 | - Fix a bug preventing to remove a tag with special chars when searching | 377 | - Fix a bug preventing to remove a tag with special chars when searching |
364 | 378 | ||
365 | 379 | ||
366 | ## [v0.6.2](https://github.com/shaarli/Shaarli/releases/tag/v0.6.2) - 2015-12-23 | 380 | ## [v0.6.2](https://github.com/shaarli/Shaarli/releases/tag/v0.6.2) - 2015-12-23 |
@@ -666,7 +680,7 @@ Initial release on GitHub. | |||
666 | - When you click the key to see only private links, it turns yellow | 680 | - When you click the key to see only private links, it turns yellow |
667 | 681 | ||
668 | ### Changed | 682 | ### Changed |
669 | - The "Daily" page now automatically skips empty days. | 683 | - The "Daily" page now automatically skips empty days. |
670 | 684 | ||
671 | ### Fixed | 685 | ### Fixed |
672 | - Corrected the tag encoding (there was a bug when selecting a second tag which contains accented characters) | 686 | - Corrected the tag encoding (there was a bug when selecting a second tag which contains accented characters) |
@@ -964,7 +978,7 @@ Initial release on GitHub. | |||
964 | - Nicer timezone selection patch by killruana | 978 | - Nicer timezone selection patch by killruana |
965 | 979 | ||
966 | ### Fixed | 980 | ### Fixed |
967 | - New lines now appear correctly in the RSS feed descriptions. | 981 | - New lines now appear correctly in the RSS feed descriptions. |
968 | 982 | ||
969 | 983 | ||
970 | ## [v0.0.17beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history) | 984 | ## [v0.0.17beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history) |
@@ -1018,7 +1032,7 @@ Initial release on GitHub. | |||
1018 | ## [v0.0.14beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history) | 1032 | ## [v0.0.14beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history) |
1019 | ### Added | 1033 | ### Added |
1020 | - You no longer need to disable `magic_quotes` on your host. | 1034 | - You no longer need to disable `magic_quotes` on your host. |
1021 | Shaarli will cope with this option beeing activated. | 1035 | Shaarli will cope with this option beeing activated. |
1022 | 1036 | ||
1023 | 1037 | ||
1024 | ## [v0.0.13beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history) | 1038 | ## [v0.0.13beta](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history) |
@@ -6,10 +6,10 @@ _Do you want to share the links you discover?_ | |||
6 | _Shaarli is a minimalist link sharing service that you can install on your own server._ | 6 | _Shaarli is a minimalist link sharing service that you can install on your own server._ |
7 | _It is designed to be personal (single-user), fast and handy._ | 7 | _It is designed to be personal (single-user), fast and handy._ |
8 | 8 | ||
9 | [![](https://img.shields.io/badge/stable-v0.8.4-blue.svg)](https://github.com/shaarli/Shaarli/releases/tag/v0.8.4) | 9 | [![](https://img.shields.io/badge/stable-v0.8.5-blue.svg)](https://github.com/shaarli/Shaarli/releases/tag/v0.8.5) |
10 | [![](https://img.shields.io/travis/shaarli/Shaarli/stable.svg?label=stable)](https://travis-ci.org/shaarli/Shaarli) | 10 | [![](https://img.shields.io/travis/shaarli/Shaarli/stable.svg?label=stable)](https://travis-ci.org/shaarli/Shaarli) |
11 | • | 11 | • |
12 | [![](https://img.shields.io/badge/latest-v0.9.2-blue.svg)](https://github.com/shaarli/Shaarli/releases/tag/v0.9.2) | 12 | [![](https://img.shields.io/badge/latest-v0.9.3-blue.svg)](https://github.com/shaarli/Shaarli/releases/tag/v0.9.3) |
13 | [![](https://img.shields.io/travis/shaarli/Shaarli/latest.svg?label=latest)](https://travis-ci.org/shaarli/Shaarli) | 13 | [![](https://img.shields.io/travis/shaarli/Shaarli/latest.svg?label=latest)](https://travis-ci.org/shaarli/Shaarli) |
14 | • | 14 | • |
15 | [![](https://img.shields.io/badge/master-v0.9.x-blue.svg)](https://github.com/shaarli/Shaarli) | 15 | [![](https://img.shields.io/badge/master-v0.9.x-blue.svg)](https://github.com/shaarli/Shaarli) |
diff --git a/doc/md/Browsing-and-searching.md b/doc/md/Browsing-and-searching.md index bda619e1..16c69855 100644 --- a/doc/md/Browsing-and-searching.md +++ b/doc/md/Browsing-and-searching.md | |||
@@ -14,10 +14,24 @@ Use the `Filter by tags` field to restrict displayed links to entries tagged wit | |||
14 | 14 | ||
15 | **Hidden tags:** Tags starting with a dot `.` (example `.secret`) are private. They can only be seen and searched when logged in. | 15 | **Hidden tags:** Tags starting with a dot `.` (example `.secret`) are private. They can only be seen and searched when logged in. |
16 | 16 | ||
17 | Alternatively you can use the `Tag cloud` to discover all tags and click on any of them to display related links. | 17 | ### Tag cloud |
18 | 18 | ||
19 | To search for links that are not tagged, enter `""` in the tag search field. | 19 | The `Tag cloud` page diplays a "cloud" view of all tags in your Shaarli. |
20 | |||
21 | * The most frequently used tags are displayed with a bigger font size. | ||
22 | * When sorting by `Most used` or `Alphabetical`, tags are displayed as a _list_, along with counters and edit/delete buttons for each tag. | ||
23 | * Clicking on any tag will display a list of all Shaares matching this tag. | ||
24 | * Clicking on the counter next to a tag `example`, will filter the tag cloud to only display tags found in Shaares tagged `example`. Repeat this any number of times to further filter the tag cloud. Click `List all links with those tags` to display Shaares matching your current tag filter. | ||
20 | 25 | ||
21 | ## Filtering RSS feeds/Picture wall | 26 | ## Filtering RSS feeds/Picture wall |
22 | 27 | ||
23 | RSS feeds can also be restricted to only return items matching a text/tag search: see [RSS feeds](RSS-feeds). | 28 | RSS feeds can also be restricted to only return items matching a text/tag search: see [RSS feeds](RSS-feeds). |
29 | |||
30 | ## Filter buttons | ||
31 | |||
32 | Filter buttons can be found at the top left of the link list. They allow you to apply different filters to the list: | ||
33 | |||
34 | * **Private links:** When this toggle button is enabled, only shaares set to `private` will be shown. | ||
35 | * **Untagged links:** When the this toggle button is enabled (top left of the link list), only shaares _without any tags_ will be shown in the link list. | ||
36 | |||
37 | Filter buttons are only available when logged in. | ||
diff --git a/doc/md/Community-&-Related-software.md b/doc/md/Community-&-Related-software.md index e4095465..207153b6 100644 --- a/doc/md/Community-&-Related-software.md +++ b/doc/md/Community-&-Related-software.md | |||
@@ -1,23 +1,7 @@ | |||
1 | _Unofficial but related work on Shaarli. If you maintain one of these, | 1 | _Unofficial but related work on Shaarli. If you maintain one of these, |
2 | please get in touch with us to help us find a way to adapt your work to our fork._ | 2 | please get in touch with us to help us find a way to adapt your work to our fork._ |
3 | 3 | ||
4 | ## Community | 4 | ## Related software |
5 | - [Liens en vrac de sebsauvage](http://sebsauvage.net/links/) - the original Shaarli | ||
6 | - [A large list of Shaarlis](http://porneia.free.fr/pub/links/ou-est-shaarli.html) | ||
7 | - [A list of working Shaarli aggregators](https://raw.githubusercontent.com/Oros42/find_shaarlis/master/annuaires.json) | ||
8 | - [A list of some known Shaarlis](https://github.com/Oros42/shaarlis_list) | ||
9 | - [Adieu Delicious, Diigo et StumbleUpon. Salut Shaarli ! - sebsauvage.net](http://sebsauvage.net/rhaa/index.php?2011/09/16/09/29/58-adieu-delicious-diigo-et-stumbleupon-salut-shaarli-) (fr) _16/09/2011 - the original post about Shaarli_ | ||
10 | - [Original ideas/fixme/TODO page](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:ideas) | ||
11 | - [Original discussion page](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:discussion) (fr) | ||
12 | - [Original revisions history](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history) | ||
13 | - [Shaarli.fr/my](https://www.shaarli.fr/my.php) - Unofficial, unsupported (old fork) hosted Shaarlis provider, courtesy of [DMeloni](https://github.com/DMeloni) | ||
14 | |||
15 | |||
16 | ### Articles and social media discussions | ||
17 | - 2016-09-22 - Hacker News - https://news.ycombinator.com/item?id=12552176 | ||
18 | - 2015-08-15 - Reddit - [Question about migrating from WordPress to Shaarli.](https://www.reddit.com/r/selfhosted/comments/3h3zwh/question_about_migrating_from_wordpress_to_shaarli/) | ||
19 | - 2015-06-22 - Hacker News - https://news.ycombinator.com/item?id=9755366 | ||
20 | - 2015-05-12 - Reddit - [shaarli - Self hosted Bookmarking / Delicious (PHP, MySQL)](https://www.reddit.com/r/selfhosted/comments/35pkkc/shaarli_self_hosted_bookmarking_delicious_php/) | ||
21 | 5 | ||
22 | 6 | ||
23 | ### REST API clients | 7 | ### REST API clients |
@@ -29,6 +13,7 @@ See [REST API](REST-API) for a list of official and community clients. | |||
29 | - [Code Coloration](https://github.com/ArthurHoaro/code-coloration) by [@ArthurHoaro](https://github.com/ArthurHoaro): client side code syntax highlighter. | 13 | - [Code Coloration](https://github.com/ArthurHoaro/code-coloration) by [@ArthurHoaro](https://github.com/ArthurHoaro): client side code syntax highlighter. |
30 | - [Disqus](https://github.com/kalvn/shaarli-plugin-disqus) by [@kalvn](https://github.com/kalvn): Adds Disqus comment system to your Shaarli. | 14 | - [Disqus](https://github.com/kalvn/shaarli-plugin-disqus) by [@kalvn](https://github.com/kalvn): Adds Disqus comment system to your Shaarli. |
31 | - [emojione](https://github.com/NerosTie/emojione) by [@NerosTie](https://github.com/NerosTie): Add colorful emojis to your Shaarli. | 15 | - [emojione](https://github.com/NerosTie/emojione) by [@NerosTie](https://github.com/NerosTie): Add colorful emojis to your Shaarli. |
16 | - [twemoji](https://github.com/NerosTie/twemoji) by [@NerosTie](https://github.com/NerosTie): Add colorful emojis to your Shaarli (Twemoji version) | ||
32 | - [google analytics](https://github.com/ericjuden/Shaarli-Google-Analytics-Plugin) by [@ericjuden](http://github.com/ericjuden): Adds Google Analytics tracking support | 17 | - [google analytics](https://github.com/ericjuden/Shaarli-Google-Analytics-Plugin) by [@ericjuden](http://github.com/ericjuden): Adds Google Analytics tracking support |
33 | - [launch](https://github.com/ArthurHoaro/launch-plugin) - Launch Plugin is a plugin designed to enhance and customize Launch Theme for Shaarli. | 18 | - [launch](https://github.com/ArthurHoaro/launch-plugin) - Launch Plugin is a plugin designed to enhance and customize Launch Theme for Shaarli. |
34 | - [markdown-toolbar](https://github.com/immanuelfodor/shaarli-markdown-toolbar) by [@immanuelfodor](https://github.com/immanuelfodor) - Easily insert markdown syntax into the Description field when editing a link. | 19 | - [markdown-toolbar](https://github.com/immanuelfodor/shaarli-markdown-toolbar) by [@immanuelfodor](https://github.com/immanuelfodor) - Easily insert markdown syntax into the Description field when editing a link. |
@@ -36,23 +21,26 @@ See [REST API](REST-API) for a list of official and community clients. | |||
36 | - [social](https://github.com/alexisju/social) by [@alexisju](https://github.com/alexisju): share links to social networks. | 21 | - [social](https://github.com/alexisju/social) by [@alexisju](https://github.com/alexisju): share links to social networks. |
37 | - [shaarli2twitter](https://github.com/ArthurHoaro/shaarli2twitter) by [@ArthurHoaro](https://github.com/ArthurHoaro) - Automatically tweet your shared links from Shaarli | 22 | - [shaarli2twitter](https://github.com/ArthurHoaro/shaarli2twitter) by [@ArthurHoaro](https://github.com/ArthurHoaro) - Automatically tweet your shared links from Shaarli |
38 | - [shaarli2mastodon](https://github.com/kalvn/shaarli2mastodon) by [@kalvn](https://github.com/kalvn) - This Shaarli plugin allows you to automatically publish links you post on your Mastodon timeline. | 23 | - [shaarli2mastodon](https://github.com/kalvn/shaarli2mastodon) by [@kalvn](https://github.com/kalvn) - This Shaarli plugin allows you to automatically publish links you post on your Mastodon timeline. |
24 | - [shaarli-descriptor](https://github.com/immanuelfodor/shaarli-descriptor) by [@immanuelfodor](https://github.com/immanuelfodor) - Customize the default height/number of rows of the Description field when editing a link. | ||
39 | 25 | ||
40 | 26 | ||
41 | ### Third-party themes | 27 | ### Third-party themes |
42 | See [Theming](Theming) for a list of community-contributed themes, and an installation guide. | 28 | See [Theming](Theming) for a list of community-contributed themes, and an installation guide. |
43 | 29 | ||
44 | 30 | ||
45 | ## Integration with other platforms | 31 | ### Integration with other platforms |
46 | - [tt-rss-shaarli](https://github.com/jcsaaddupuy/tt-rss-shaarli) - [Tiny-Tiny RSS](http://tt-rss.org/) plugin that adds support for sharing articles with Shaarli | 32 | - [tt-rss-shaarli](https://github.com/jcsaaddupuy/tt-rss-shaarli) - [Tiny-Tiny RSS](http://tt-rss.org/) plugin that adds support for sharing articles with Shaarli |
47 | - [octopress-shaarli](https://github.com/ahmet2mir/octopress-shaarli) - Octopress plugin to retrieve Shaarli links on the sidebar | 33 | - [octopress-shaarli](https://github.com/ahmet2mir/octopress-shaarli) - Octopress plugin to retrieve Shaarli links on the sidebar |
48 | - [Scuttle to Shaarli](https://github.com/q2apro/scuttle-to-shaarli) - Import bookmarks from Scuttle | 34 | - [Scuttle to Shaarli](https://github.com/q2apro/scuttle-to-shaarli) - Import bookmarks from Scuttle |
49 | 35 | ||
50 | 36 | ||
51 | ### Mobile Apps | 37 | ### Mobile Apps |
52 | - [ShaarliOS](https://github.com/mro/ShaarliOS) iOS share extension - see [#308](https://github.com/shaarli/Shaarli/issues/308#issuecomment-184592070) for some promo codes, | 38 | - [ShaarliOS](https://github.com/mro/ShaarliOS) - Apple iOS share extension. |
53 | - [Shaarli for Android](http://sebsauvage.net/links/?ZAyDzg) - Android application that adds Shaarli as a sharing provider | 39 | - [Shaarli for Android](http://sebsauvage.net/links/?ZAyDzg) - Android application that adds Shaarli as a sharing provider |
54 | - [Shaarlier for Android](https://github.com/dimtion/Shaarlier) - Android application to simply add links directly into your Shaarli | 40 | - [Shaarlier for Android](https://github.com/dimtion/Shaarlier) - Android application to simply add links directly into your Shaarli |
55 | 41 | ||
42 | ### Browser addons | ||
43 | * [Shaarli Web Extension](https://github.com/ikipatang/shaarli-web-extension) - toolbar button to share your current tab with Shaarli. | ||
56 | 44 | ||
57 | ### Server apps | 45 | ### Server apps |
58 | - [shaarchiver](https://github.com/nodiscc/shaarchiver) - Archive your Shaarli bookmarks and their content | 46 | - [shaarchiver](https://github.com/nodiscc/shaarchiver) - Archive your Shaarli bookmarks and their content |
@@ -63,7 +51,22 @@ See [Theming](Theming) for a list of community-contributed themes, and an instal | |||
63 | - [Self dead link](https://github.com/qwertygc/shaarli-dev-code/blob/master/self-dead-link.php) - Detect dead links on shaarli. This version use the database of shaarli. [Another version](https://github.com/qwertygc/shaarli-dev-code/blob/master/dead-link.php), can be used for other shaarli instances (but is more resource consuming). | 51 | - [Self dead link](https://github.com/qwertygc/shaarli-dev-code/blob/master/self-dead-link.php) - Detect dead links on shaarli. This version use the database of shaarli. [Another version](https://github.com/qwertygc/shaarli-dev-code/blob/master/dead-link.php), can be used for other shaarli instances (but is more resource consuming). |
64 | - [Bookmark Archiver](https://github.com/pirate/bookmark-archiver) - Save an archived copy of all websites starred using browser bookmarks/Shaarli/Delicious/Instapaper/Unmark.it/Pocket/Pinboard. Outputs browseable html. | 52 | - [Bookmark Archiver](https://github.com/pirate/bookmark-archiver) - Save an archived copy of all websites starred using browser bookmarks/Shaarli/Delicious/Instapaper/Unmark.it/Pocket/Pinboard. Outputs browseable html. |
65 | 53 | ||
66 | |||
67 | ## Alternatives to Shaarli | 54 | ## Alternatives to Shaarli |
68 | See the [bookmarks & link sharing](https://github.com/Kickball/awesome-selfhosted/#bookmarks--link-sharing) | 55 | See [awesome-selfhosted: bookmarks & link sharing](https://github.com/Kickball/awesome-selfhosted/#bookmarks--link-sharing). |
69 | section on [awesome-selfhosted](https://github.com/Kickball/awesome-selfhosted/). | 56 | |
57 | ## Community | ||
58 | - [Liens en vrac de sebsauvage](http://sebsauvage.net/links/) - the original Shaarli | ||
59 | - [A large list of Shaarlis](http://porneia.free.fr/pub/links/ou-est-shaarli.html) | ||
60 | - [A list of working Shaarli aggregators](https://raw.githubusercontent.com/Oros42/find_shaarlis/master/annuaires.json) | ||
61 | - [A list of some known Shaarlis](https://github.com/Oros42/shaarlis_list) | ||
62 | - [Adieu Delicious, Diigo et StumbleUpon. Salut Shaarli ! - sebsauvage.net](http://sebsauvage.net/rhaa/index.php?2011/09/16/09/29/58-adieu-delicious-diigo-et-stumbleupon-salut-shaarli-) (fr) _16/09/2011 - the original post about Shaarli_ | ||
63 | - [Original ideas/fixme/TODO page](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:ideas) | ||
64 | - [Original discussion page](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:discussion) (fr) | ||
65 | - [Original revisions history](http://sebsauvage.net/wiki/doku.php?id=php:shaarli:history) | ||
66 | - [Shaarli.fr/my](https://www.shaarli.fr/my.php) - Unofficial, unsupported (old fork) hosted Shaarlis provider, courtesy of [DMeloni](https://github.com/DMeloni) | ||
67 | |||
68 | ### Articles and social media discussions | ||
69 | - 2016-09-22 - Hacker News - https://news.ycombinator.com/item?id=12552176 | ||
70 | - 2015-08-15 - Reddit - [Question about migrating from WordPress to Shaarli.](https://www.reddit.com/r/selfhosted/comments/3h3zwh/question_about_migrating_from_wordpress_to_shaarli/) | ||
71 | - 2015-06-22 - Hacker News - https://news.ycombinator.com/item?id=9755366 | ||
72 | - 2015-05-12 - Reddit - [shaarli - Self hosted Bookmarking / Delicious (PHP, MySQL)](https://www.reddit.com/r/selfhosted/comments/35pkkc/shaarli_self_hosted_bookmarking_delicious_php/) | ||
diff --git a/doc/md/Download-and-Installation.md b/doc/md/Download-and-Installation.md index e64d1a43..0fdbd27d 100644 --- a/doc/md/Download-and-Installation.md +++ b/doc/md/Download-and-Installation.md | |||
@@ -15,7 +15,7 @@ Using one of the following methods: | |||
15 | - by downloading full release archives including all dependencies | 15 | - by downloading full release archives including all dependencies |
16 | - by downloading Github archives | 16 | - by downloading Github archives |
17 | - by cloning the Git repository | 17 | - by cloning the Git repository |
18 | - using Docker: [see the documentation](docker/shaarli-images) | 18 | - using Docker: [see the documentation](docker/shaarli-images.md) |
19 | 19 | ||
20 | -------------------------------------------------------------------------------- | 20 | -------------------------------------------------------------------------------- |
21 | 21 | ||
@@ -25,11 +25,11 @@ Using one of the following methods: | |||
25 | 25 | ||
26 | In most cases, you should download the latest Shaarli release from the [releases](https://github.com/shaarli/Shaarli/releases) page. **Download our *shaarli-full* archive** to include dependencies. | 26 | In most cases, you should download the latest Shaarli release from the [releases](https://github.com/shaarli/Shaarli/releases) page. **Download our *shaarli-full* archive** to include dependencies. |
27 | 27 | ||
28 | The current latest released version is `v0.9.1` | 28 | The current latest released version is `v0.9.3` |
29 | 29 | ||
30 | ```bash | 30 | ```bash |
31 | $ wget https://github.com/shaarli/Shaarli/releases/download/v0.9.1/shaarli-v0.9.1-full.zip | 31 | $ wget https://github.com/shaarli/Shaarli/releases/download/v0.9.3/shaarli-v0.9.3-full.zip |
32 | $ unzip shaarli-v0.9.1-full.zip | 32 | $ unzip shaarli-v0.9.3-full.zip |
33 | $ mv Shaarli /path/to/shaarli/ | 33 | $ mv Shaarli /path/to/shaarli/ |
34 | ``` | 34 | ``` |
35 | 35 | ||
@@ -96,7 +96,7 @@ Install [Composer](Unit-tests.md#install_composer) to manage Shaarli dependencie | |||
96 | To get the latest changes from the `master` branch: | 96 | To get the latest changes from the `master` branch: |
97 | 97 | ||
98 | ```bash | 98 | ```bash |
99 | # clone the repository | 99 | # clone the repository |
100 | $ git clone https://github.com/shaarli/Shaarli.git -b master /path/to/shaarli/ | 100 | $ git clone https://github.com/shaarli/Shaarli.git -b master /path/to/shaarli/ |
101 | # install/update third-party dependencies | 101 | # install/update third-party dependencies |
102 | $ cd /path/to/shaarli | 102 | $ cd /path/to/shaarli |
diff --git a/doc/md/Firefox-share.md b/doc/md/Firefox-share.md index 878884a4..9a46b185 100644 --- a/doc/md/Firefox-share.md +++ b/doc/md/Firefox-share.md | |||
@@ -1,3 +1,6 @@ | |||
1 | | Note | Firefox Share is no longer available for Firefox 57 and later versions. | | ||
2 | |---------|---------| | ||
3 | |||
1 | ### Add Shaarli as a sharing service to Firefox | 4 | ### Add Shaarli as a sharing service to Firefox |
2 | 5 | ||
3 | - Open your Shaarli and `Login` | 6 | - Open your Shaarli and `Login` |
diff --git a/doc/md/docker/shaarli-images.md b/doc/md/docker/shaarli-images.md index 1d19510a..5491ee76 100644 --- a/doc/md/docker/shaarli-images.md +++ b/doc/md/docker/shaarli-images.md | |||
@@ -1,3 +1,6 @@ | |||
1 | A brief guide on getting starting using docker is given in [Docker 101](docker-101.md). | ||
2 | To learn more about user data and how to keep it across versions, please see [Upgrade and Migration](../Upgrade-and-migration.md). | ||
3 | |||
1 | ## Get and run a Shaarli image | 4 | ## Get and run a Shaarli image |
2 | 5 | ||
3 | ### DockerHub repository | 6 | ### DockerHub repository |
@@ -78,3 +81,14 @@ backstabbing_galileo | |||
78 | $ docker ps -a | 81 | $ docker ps -a |
79 | CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES | 82 | CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES |
80 | ``` | 83 | ``` |
84 | |||
85 | ### Automatic builds | ||
86 | |||
87 | Docker users can start a personal instance from an [autobuild image](https://hub.docker.com/r/shaarli/shaarli/). For example to start a temporary Shaarli at ``localhost:8000``, and keep session data (config, storage): | ||
88 | ``` | ||
89 | MY_SHAARLI_VOLUME=$(cd /path/to/shaarli/data/ && pwd -P) | ||
90 | docker run -ti --rm \ | ||
91 | -p 8000:80 \ | ||
92 | -v $MY_SHAARLI_VOLUME:/var/www/shaarli/data \ | ||
93 | shaarli/shaarli | ||
94 | ``` | ||
diff --git a/doc/md/index.md b/doc/md/index.md index 2b7d0f00..e77b4d3a 100644 --- a/doc/md/index.md +++ b/doc/md/index.md | |||
@@ -22,20 +22,25 @@ It runs the latest development version of Shaarli and is updated/reset daily. | |||
22 | 22 | ||
23 | Login: `demo`; Password: `demo` | 23 | Login: `demo`; Password: `demo` |
24 | 24 | ||
25 | Docker users can start a personal instance from an [autobuild image](https://hub.docker.com/r/shaarli/shaarli/). For example to start a temporary Shaarli at ``localhost:8000``, and keep session data (config, storage): | ||
26 | ``` | ||
27 | MY_SHAARLI_VOLUME=$(cd /path/to/shaarli/data/ && pwd -P) | ||
28 | docker run -ti --rm \ | ||
29 | -p 8000:80 \ | ||
30 | -v $MY_SHAARLI_VOLUME:/var/www/shaarli/data \ | ||
31 | shaarli/shaarli | ||
32 | ``` | ||
33 | |||
34 | A brief guide on getting starting using docker is given in [Docker 101](docker/docker-101). | ||
35 | To learn more about user data and how to keep it across versions, please see [Upgrade and Migration](Upgrade-and-migration) documentation. | ||
36 | |||
37 | ## Features | 25 | ## Features |
38 | 26 | ||
27 | Shaarli can be used: | ||
28 | |||
29 | - to share, comment and save interesting links and news. | ||
30 | - to bookmark useful/frequent personal links (as private links) and share them between computers. | ||
31 | - as a minimal blog/microblog/writing platform (no character limit). | ||
32 | - as a read-it-later list (for example items tagged `readlater`). | ||
33 | - to draft and save articles/posts/ideas. | ||
34 | - to keep code snippets. | ||
35 | - to keep notes and documentation. | ||
36 | - as a shared clipboard/notepad/pastebin between machines. | ||
37 | - as a todo list. | ||
38 | - to store playlists (e.g. with the `music` or `video` tags). | ||
39 | - to keep extracts/comments from webpages that may disappear. | ||
40 | - to keep track of ongoing discussions (for example items tagged `discussion`). | ||
41 | - [to feed RSS aggregators](http://shaarli.chassegnouf.net/?9Efeiw) (planets) with specific tags. | ||
42 | - to feed other social networks, blogs... using RSS feeds and external services (dlvr.it, ifttt.com ...). | ||
43 | |||
39 | ### Interface | 44 | ### Interface |
40 | - minimalist design (simple is beautiful) | 45 | - minimalist design (simple is beautiful) |
41 | - FAST | 46 | - FAST |
@@ -89,14 +94,12 @@ Easily extensible by any client using the REST API exposed by Shaarli. | |||
89 | 94 | ||
90 | See the [API documentation](http://shaarli.github.io/api-documentation/). | 95 | See the [API documentation](http://shaarli.github.io/api-documentation/). |
91 | 96 | ||
92 | ### Other usages | 97 | ### Using Shaarli as a blog, notepad, pastebin... |
93 | Though Shaarli is primarily a bookmarking application, it can serve other purposes | 98 | - Go to your Shaarli setup and log in |
94 | (see [Features](Features)): | 99 | - Click the `Add Link` button |
95 | 100 | - To share text only, do not enter any URL in the corresponding input field and click `Add Link` | |
96 | - micro-blogging | 101 | - Pick a title and enter your article, or note, in the description field; add a few tags; optionally check `Private` then click `Save` |
97 | - pastebin | 102 | - Voilà! Your article is now published (privately if you selected that option) and accessible using its permalink. |
98 | - online notepad | ||
99 | - snippet archive | ||
100 | 103 | ||
101 | ## About | 104 | ## About |
102 | ### Shaarli community fork | 105 | ### Shaarli community fork |
diff --git a/docker/alpine/Dockerfile.armhf.latest b/docker/alpine/Dockerfile.armhf.latest new file mode 100644 index 00000000..c923834a --- /dev/null +++ b/docker/alpine/Dockerfile.armhf.latest | |||
@@ -0,0 +1,47 @@ | |||
1 | FROM lsiobase/alpine.armhf:3.6 | ||
2 | MAINTAINER Shaarli Community | ||
3 | |||
4 | RUN apk --update --no-cache add \ | ||
5 | ca-certificates \ | ||
6 | curl \ | ||
7 | nginx \ | ||
8 | php7 \ | ||
9 | php7-ctype \ | ||
10 | php7-curl \ | ||
11 | php7-fpm \ | ||
12 | php7-gd \ | ||
13 | php7-iconv \ | ||
14 | php7-intl \ | ||
15 | php7-json \ | ||
16 | php7-mbstring \ | ||
17 | php7-openssl \ | ||
18 | php7-phar \ | ||
19 | php7-session \ | ||
20 | php7-xml \ | ||
21 | php7-zlib \ | ||
22 | s6 | ||
23 | |||
24 | COPY nginx.conf /etc/nginx/nginx.conf | ||
25 | COPY php-fpm.conf /etc/php7/php-fpm.conf | ||
26 | COPY services.d /etc/services.d | ||
27 | |||
28 | RUN curl -sS https://getcomposer.org/installer | php7 -- --install-dir=/usr/local/bin --filename=composer \ | ||
29 | && rm -rf /etc/php7/php-fpm.d/www.conf \ | ||
30 | && sed -i 's/post_max_size.*/post_max_size = 10M/' /etc/php7/php.ini \ | ||
31 | && sed -i 's/upload_max_filesize.*/upload_max_filesize = 10M/' /etc/php7/php.ini | ||
32 | |||
33 | |||
34 | WORKDIR /var/www | ||
35 | RUN curl -L https://github.com/shaarli/Shaarli/archive/latest.tar.gz | tar xzf - \ | ||
36 | && mv Shaarli-latest shaarli \ | ||
37 | && cd shaarli \ | ||
38 | && composer --prefer-dist --no-dev install \ | ||
39 | && rm -rf ~/.composer \ | ||
40 | && chown -R nginx:nginx . | ||
41 | |||
42 | VOLUME /var/www/shaarli/data | ||
43 | |||
44 | EXPOSE 80 | ||
45 | |||
46 | ENTRYPOINT ["/bin/s6-svscan", "/etc/services.d"] | ||
47 | CMD [] | ||
diff --git a/docker/alpine/Dockerfile.armhf.master b/docker/alpine/Dockerfile.armhf.master new file mode 100644 index 00000000..7f1bdf85 --- /dev/null +++ b/docker/alpine/Dockerfile.armhf.master | |||
@@ -0,0 +1,47 @@ | |||
1 | FROM lsiobase/alpine.armhf:3.6 | ||
2 | MAINTAINER Shaarli Community | ||
3 | |||
4 | RUN apk --update --no-cache add \ | ||
5 | ca-certificates \ | ||
6 | curl \ | ||
7 | nginx \ | ||
8 | php7 \ | ||
9 | php7-ctype \ | ||
10 | php7-curl \ | ||
11 | php7-fpm \ | ||
12 | php7-gd \ | ||
13 | php7-iconv \ | ||
14 | php7-intl \ | ||
15 | php7-json \ | ||
16 | php7-mbstring \ | ||
17 | php7-openssl \ | ||
18 | php7-phar \ | ||
19 | php7-session \ | ||
20 | php7-xml \ | ||
21 | php7-zlib \ | ||
22 | s6 | ||
23 | |||
24 | COPY nginx.conf /etc/nginx/nginx.conf | ||
25 | COPY php-fpm.conf /etc/php7/php-fpm.conf | ||
26 | COPY services.d /etc/services.d | ||
27 | |||
28 | RUN curl -sS https://getcomposer.org/installer | php7 -- --install-dir=/usr/local/bin --filename=composer \ | ||
29 | && rm -rf /etc/php7/php-fpm.d/www.conf \ | ||
30 | && sed -i 's/post_max_size.*/post_max_size = 10M/' /etc/php7/php.ini \ | ||
31 | && sed -i 's/upload_max_filesize.*/upload_max_filesize = 10M/' /etc/php7/php.ini | ||
32 | |||
33 | |||
34 | WORKDIR /var/www | ||
35 | RUN curl -L https://github.com/shaarli/Shaarli/archive/master.tar.gz | tar xzf - \ | ||
36 | && mv Shaarli-master shaarli \ | ||
37 | && cd shaarli \ | ||
38 | && composer --prefer-dist --no-dev install \ | ||
39 | && rm -rf ~/.composer \ | ||
40 | && chown -R nginx:nginx . | ||
41 | |||
42 | VOLUME /var/www/shaarli/data | ||
43 | |||
44 | EXPOSE 80 | ||
45 | |||
46 | ENTRYPOINT ["/bin/s6-svscan", "/etc/services.d"] | ||
47 | CMD [] | ||
@@ -436,7 +436,7 @@ if (isset($_POST['login'])) | |||
436 | else | 436 | else |
437 | { | 437 | { |
438 | ban_loginFailed($conf); | 438 | ban_loginFailed($conf); |
439 | $redir = '&username='. $_POST['login']; | 439 | $redir = '&username='. urlencode($_POST['login']); |
440 | if (isset($_GET['post'])) { | 440 | if (isset($_GET['post'])) { |
441 | $redir .= '&post=' . urlencode($_GET['post']); | 441 | $redir .= '&post=' . urlencode($_GET['post']); |
442 | foreach (array('description', 'source', 'title', 'tags') as $param) { | 442 | foreach (array('description', 'source', 'title', 'tags') as $param) { |
@@ -22,16 +22,15 @@ pages: | |||
22 | - Reverse proxy configuration: docker/reverse-proxy-configuration.md | 22 | - Reverse proxy configuration: docker/reverse-proxy-configuration.md |
23 | - Docker resources: docker/resources.md | 23 | - Docker resources: docker/resources.md |
24 | - Usage: | 24 | - Usage: |
25 | - Features: Features.md | ||
26 | - Bookmarklet: Bookmarklet.md | 25 | - Bookmarklet: Bookmarklet.md |
27 | - Browsing and searching: Browsing-and-searching.md | 26 | - Browsing and searching: Browsing-and-searching.md |
28 | - Firefox share: Firefox-share.md | 27 | - Firefox share: Firefox-share.md |
29 | - RSS feeds: RSS-feeds.md | 28 | - RSS feeds: RSS-feeds.md |
30 | - REST API: REST-API.md | 29 | - REST API: REST-API.md |
30 | - Community & Related software: Community-&-Related-software.md | ||
31 | - How To: | 31 | - How To: |
32 | - Backup, restore, import and export: Backup,-restore,-import-and-export.md | 32 | - Backup, restore, import and export: Backup,-restore,-import-and-export.md |
33 | - Various hacks: Various-hacks.md | 33 | - Various hacks: Various-hacks.md |
34 | - Troubleshooting: Troubleshooting.md | ||
35 | - Development: | 34 | - Development: |
36 | - Development guidelines: Development-guidelines.md | 35 | - Development guidelines: Development-guidelines.md |
37 | - Continuous integration tools: Continuous-integration-tools.md | 36 | - Continuous integration tools: Continuous-integration-tools.md |
@@ -47,6 +46,5 @@ pages: | |||
47 | - Theming: Theming.md | 46 | - Theming: Theming.md |
48 | - Unit tests: Unit-tests.md | 47 | - Unit tests: Unit-tests.md |
49 | - Unit tests inside Docker: Unit-tests-Docker.md | 48 | - Unit tests inside Docker: Unit-tests-Docker.md |
50 | - About: | 49 | - FAQ: FAQ.md |
51 | - FAQ: FAQ.md | 50 | - Troubleshooting: Troubleshooting.md |
52 | - Community & Related software: Community-&-Related-software.md | ||
diff --git a/tpl/default/page.header.html b/tpl/default/page.header.html index 2411703c..6f15c1c5 100644 --- a/tpl/default/page.header.html +++ b/tpl/default/page.header.html | |||
@@ -1,7 +1,7 @@ | |||
1 | <div class="shaarli-menu pure-g" id="shaarli-menu"> | 1 | <div class="shaarli-menu pure-g" id="shaarli-menu"> |
2 | <div class="pure-u-lg-0 pure-u-1"> | 2 | <div class="pure-u-lg-0 pure-u-1"> |
3 | <div class="pure-menu"> | 3 | <div class="pure-menu"> |
4 | <a href="{$titleLink}" class="pure-menu-link"> | 4 | <a href="{$titleLink}" class="pure-menu-link shaarli-title" id="shaarli-title-mobile"> |
5 | <img src="img/icon.png" width="16" height="16" class="head-logo" alt="logo" /> | 5 | <img src="img/icon.png" width="16" height="16" class="head-logo" alt="logo" /> |
6 | {$shaarlititle} | 6 | {$shaarlititle} |
7 | </a> | 7 | </a> |
@@ -12,32 +12,32 @@ | |||
12 | <div class="pure-menu menu-transform pure-menu-horizontal pure-g"> | 12 | <div class="pure-menu menu-transform pure-menu-horizontal pure-g"> |
13 | <ul class="pure-menu-list pure-u-lg-5-6 pure-u-1"> | 13 | <ul class="pure-menu-list pure-u-lg-5-6 pure-u-1"> |
14 | <li class="pure-menu-item pure-u-0 pure-u-lg-visible"> | 14 | <li class="pure-menu-item pure-u-0 pure-u-lg-visible"> |
15 | <a href="{$titleLink}" class="pure-menu-link"> | 15 | <a href="{$titleLink}" class="pure-menu-link shaarli-title" id="shaarli-title-desktop"> |
16 | <img src="img/icon.png" width="16" height="16" class="head-logo" alt="logo" /> | 16 | <img src="img/icon.png" width="16" height="16" class="head-logo" alt="logo" /> |
17 | {$shaarlititle} | 17 | {$shaarlititle} |
18 | </a> | 18 | </a> |
19 | </li> | 19 | </li> |
20 | {if="isLoggedIn() || $openshaarli"} | 20 | {if="isLoggedIn() || $openshaarli"} |
21 | <li class="pure-menu-item"> | 21 | <li class="pure-menu-item"> |
22 | <a href="?do=addlink" class="pure-menu-link"> | 22 | <a href="?do=addlink" class="pure-menu-link" id="shaarli-menu-shaare"> |
23 | <i class="fa fa-plus" ></i> {'Shaare'|t} | 23 | <i class="fa fa-plus" ></i> {'Shaare'|t} |
24 | </a> | 24 | </a> |
25 | </li> | 25 | </li> |
26 | <li class="pure-menu-item"> | 26 | <li class="pure-menu-item" id="shaarli-menu-tools"> |
27 | <a href="?do=tools" class="pure-menu-link">{'Tools'|t}</a> | 27 | <a href="?do=tools" class="pure-menu-link">{'Tools'|t}</a> |
28 | </li> | 28 | </li> |
29 | {/if} | 29 | {/if} |
30 | <li class="pure-menu-item"> | 30 | <li class="pure-menu-item" id="shaarli-menu-tags"> |
31 | <a href="?do=tagcloud" class="pure-menu-link">{'Tag cloud'|t}</a> | 31 | <a href="?do=tagcloud" class="pure-menu-link">{'Tag cloud'|t}</a> |
32 | </li> | 32 | </li> |
33 | <li class="pure-menu-item"> | 33 | <li class="pure-menu-item" id="shaarli-menu-picwall"> |
34 | <a href="?do=picwall{$searchcrits}" class="pure-menu-link">{'Picture wall'|t}</a> | 34 | <a href="?do=picwall{$searchcrits}" class="pure-menu-link">{'Picture wall'|t}</a> |
35 | </li> | 35 | </li> |
36 | <li class="pure-menu-item"> | 36 | <li class="pure-menu-item" id="shaarli-menu-daily"> |
37 | <a href="?do=daily" class="pure-menu-link">{'Daily'|t}</a> | 37 | <a href="?do=daily" class="pure-menu-link">{'Daily'|t}</a> |
38 | </li> | 38 | </li> |
39 | {loop="$plugins_header.buttons_toolbar"} | 39 | {loop="$plugins_header.buttons_toolbar"} |
40 | <li class="pure-menu-item"> | 40 | <li class="pure-menu-item shaarli-menu-plugin"> |
41 | <a | 41 | <a |
42 | {$value.attr.class=isset($value.class) ? $value.attr.class . ' pure-menu-link' : 'pure-menu-link'} | 42 | {$value.attr.class=isset($value.class) ? $value.attr.class . ' pure-menu-link' : 'pure-menu-link'} |
43 | {loop="$value.attr"} | 43 | {loop="$value.attr"} |
@@ -47,47 +47,47 @@ | |||
47 | </a> | 47 | </a> |
48 | </li> | 48 | </li> |
49 | {/loop} | 49 | {/loop} |
50 | <li class="pure-menu-item pure-u-lg-0"> | 50 | <li class="pure-menu-item pure-u-lg-0 shaarli-menu-mobile" id="shaarli-menu-mobile-rss"> |
51 | <a href="?do={$feed_type}{$searchcrits}" class="pure-menu-link">{'RSS Feed'|t}</a> | 51 | <a href="?do={$feed_type}{$searchcrits}" class="pure-menu-link">{'RSS Feed'|t}</a> |
52 | </li> | 52 | </li> |
53 | {if="isLoggedIn()"} | 53 | {if="isLoggedIn()"} |
54 | <li class="pure-menu-item pure-u-lg-0"> | 54 | <li class="pure-menu-item pure-u-lg-0 shaarli-menu-mobile" id="shaarli-menu-mobile-logout"> |
55 | <a href="?do=logout" class="pure-menu-link">{'Logout'|t}</a> | 55 | <a href="?do=logout" class="pure-menu-link">{'Logout'|t}</a> |
56 | </li> | 56 | </li> |
57 | {else} | 57 | {else} |
58 | <li class="pure-menu-item pure-u-lg-0"> | 58 | <li class="pure-menu-item pure-u-lg-0 shaarli-menu-mobile" id="shaarli-menu-mobile-login"> |
59 | <a href="?do=login" class="pure-menu-link">{'Login'|t}</a> | 59 | <a href="?do=login" class="pure-menu-link">{'Login'|t}</a> |
60 | </li> | 60 | </li> |
61 | {/if} | 61 | {/if} |
62 | </ul> | 62 | </ul> |
63 | <div class="header-buttons pure-u-lg-1-6 pure-u-0 pure-u-lg-visible"> | 63 | <div class="header-buttons pure-u-lg-1-6 pure-u-0 pure-u-lg-visible"> |
64 | <ul class="pure-menu-list"> | 64 | <ul class="pure-menu-list"> |
65 | <li class="pure-menu-item"> | 65 | <li class="pure-menu-item" id="shaarli-menu-desktop-search"> |
66 | <a href="#" class="pure-menu-link subheader-opener" | 66 | <a href="#" class="pure-menu-link subheader-opener" |
67 | data-open-id="search" | 67 | data-open-id="search" |
68 | id="search-button" title="{'Search'|t}"> | 68 | id="search-button" title="{'Search'|t}"> |
69 | <i class="fa fa-search"></i> | 69 | <i class="fa fa-search"></i> |
70 | </a> | 70 | </a> |
71 | </li> | 71 | </li> |
72 | <li class="pure-menu-item"> | 72 | <li class="pure-menu-item" id="shaarli-menu-desktop-rss"> |
73 | <a href="?do={$feed_type}{$searchcrits}" class="pure-menu-link" title="{'RSS Feed'|t}"> | 73 | <a href="?do={$feed_type}{$searchcrits}" class="pure-menu-link" title="{'RSS Feed'|t}"> |
74 | <i class="fa fa-rss"></i> | 74 | <i class="fa fa-rss"></i> |
75 | </a> | 75 | </a> |
76 | </li> | 76 | </li> |
77 | {if="!isLoggedIn()"} | 77 | {if="!isLoggedIn()"} |
78 | <li class="pure-menu-item"> | 78 | <li class="pure-menu-item" id="shaarli-menu-desktop-login"> |
79 | <a href="?do=login" class="pure-menu-link" | 79 | <a href="?do=login" class="pure-menu-link" |
80 | data-open-id="header-login-form" | 80 | data-open-id="header-login-form" |
81 | id="login-button" title="{'Login'|t}"> | 81 | id="login-button" title="{'Login'|t}"> |
82 | <i class="fa fa-user"></i> | 82 | <i class="fa fa-user"></i> |
83 | </a> | 83 | </a> |
84 | </li> | 84 | </li> |
85 | {else} | 85 | {else} |
86 | <li class="pure-menu-item"> | 86 | <li class="pure-menu-item" id="shaarli-menu-desktop-logout"> |
87 | <a href="?do=logout" class="pure-menu-link" title="{'Logout'|t}"> | 87 | <a href="?do=logout" class="pure-menu-link" title="{'Logout'|t}"> |
88 | <i class="fa fa-sign-out"></i> | 88 | <i class="fa fa-sign-out"></i> |
89 | </a> | 89 | </a> |
90 | </li> | 90 | </li> |
91 | {/if} | 91 | {/if} |
92 | </ul> | 92 | </ul> |
93 | </div> | 93 | </div> |
@@ -156,7 +156,7 @@ | |||
156 | {/if} | 156 | {/if} |
157 | 157 | ||
158 | {if="!empty($plugin_errors) && isLoggedIn()"} | 158 | {if="!empty($plugin_errors) && isLoggedIn()"} |
159 | <div class="pure-g new-version-message pure-alert pure-alert-error pure-alert-closable"> | 159 | <div class="pure-g new-version-message pure-alert pure-alert-error pure-alert-closable" id="shaarli-errors-alert"> |
160 | <div class="pure-u-2-24"></div> | 160 | <div class="pure-u-2-24"></div> |
161 | <div class="pure-u-20-24"> | 161 | <div class="pure-u-20-24"> |
162 | {loop="plugin_errors"} | 162 | {loop="plugin_errors"} |
diff --git a/tpl/default/pluginsadmin.html b/tpl/default/pluginsadmin.html index ca17b435..b2d7cdc5 100644 --- a/tpl/default/pluginsadmin.html +++ b/tpl/default/pluginsadmin.html | |||
@@ -137,9 +137,9 @@ | |||
137 | {if="count($enabledPlugins)==0"} | 137 | {if="count($enabledPlugins)==0"} |
138 | <p class="center">{'No plugin enabled.'|t}</p> | 138 | <p class="center">{'No plugin enabled.'|t}</p> |
139 | {else} | 139 | {else} |
140 | {$counter=0} | 140 | {$nbParameters=0} |
141 | {loop="$enabledPlugins"} | 141 | {loop="$enabledPlugins"} |
142 | {$counter=$counter+count($value.parameters)} | 142 | {$nbParameters=$nbParameters+count($value.parameters)} |
143 | {if="count($value.parameters) > 0"} | 143 | {if="count($value.parameters) > 0"} |
144 | <div class="plugin_parameters"> | 144 | <div class="plugin_parameters"> |
145 | <h3 class="window-subtitle">{function="str_replace('_', ' ', $key)"}</h3> | 145 | <h3 class="window-subtitle">{function="str_replace('_', ' ', $key)"}</h3> |
@@ -161,7 +161,7 @@ | |||
161 | </div> | 161 | </div> |
162 | {/if} | 162 | {/if} |
163 | {/loop} | 163 | {/loop} |
164 | {if="$counter===0"} | 164 | {if="$nbParameters===0"} |
165 | <p class="center">{'No parameter available.'|t}</p> | 165 | <p class="center">{'No parameter available.'|t}</p> |
166 | {else} | 166 | {else} |
167 | <div class="center"> | 167 | <div class="center"> |