]>
Commit | Line | Data |
---|---|---|
14563582 A |
1 | ## Markdown Shaarli plugin |
2 | ||
3 | Convert all your shaares description to HTML formatted Markdown. | |
4 | ||
340252ae A |
5 | [Read more about Markdown syntax](http://daringfireball.net/projects/markdown/syntax). |
6 | ||
7 | Markdown processing is done with [Parsedown library](https://github.com/erusev/parsedown). | |
14563582 A |
8 | |
9 | ### Installation | |
10 | ||
340252ae A |
11 | As a default plugin, it should already be in `tpl/plugins/` directory. |
12 | If not, download and unpack it there. | |
13 | ||
14563582 A |
14 | The directory structure should look like: |
15 | ||
16 | ``` | |
340252ae A |
17 | --- plugins |
18 | |--- markdown | |
19 | |--- help.html | |
20 | |--- markdown.css | |
21 | |--- markdown.meta | |
22 | |--- markdown.php | |
340252ae | 23 | |--- README.md |
14563582 A |
24 | ``` |
25 | ||
340252ae A |
26 | To enable the plugin, just check it in the plugin administration page. |
27 | ||
266e3fe5 A |
28 | You can also add `markdown` to your list of enabled plugins in `data/config.json.php` |
29 | (`general.enabled_plugins` list). | |
14563582 A |
30 | |
31 | This should look like: | |
32 | ||
33 | ``` | |
266e3fe5 A |
34 | "general": { |
35 | "enabled_plugins": [ | |
36 | "markdown", | |
37 | [...] | |
38 | ], | |
39 | } | |
14563582 A |
40 | ``` |
41 | ||
266e3fe5 A |
42 | Parsedown parsing library is imported using Composer. If you installed Shaarli using `git`, |
43 | or the `master` branch, run | |
44 | ||
45 | composer update --no-dev --prefer-dist | |
46 | ||
340252ae A |
47 | ### No Markdown tag |
48 | ||
266e3fe5 | 49 | If the tag `nomarkdown` is set for a shaare, it won't be converted to Markdown syntax. |
340252ae | 50 | |
266e3fe5 | 51 | > Note: this is a special tag, so it won't be displayed in link list. |
340252ae | 52 | |
e0376101 | 53 | ### HTML escape |
3d8f5cf8 | 54 | |
e0376101 A |
55 | By default, HTML tags are escaped. You can enable HTML tags rendering |
56 | by setting `security.markdwon_escape` to `false` in `data/config.json.php`: | |
57 | ||
58 | ```json | |
59 | { | |
60 | "security": { | |
61 | "markdown_escape": false | |
62 | } | |
63 | } | |
64 | ``` | |
65 | ||
66 | With this setting, Markdown support HTML tags. For example: | |
3d8f5cf8 A |
67 | |
68 | > <strong>strong</strong><strike>strike</strike> | |
69 | ||
70 | Will render as: | |
71 | ||
72 | > <strong>strong</strong><strike>strike</strike> | |
73 | ||
3d8f5cf8 | 74 | |
e0376101 A |
75 | **Warning:** |
76 | ||
77 | * This setting might present **security risks** (XSS) on shared instances, even though tags | |
78 | such as script, iframe, etc should be disabled. | |
79 | * If you want to shaare HTML code, it is necessary to use inline code or code blocks. | |
80 | * If your shaared descriptions contained HTML tags before enabling the markdown plugin, | |
81 | enabling it might break your page. | |
3d8f5cf8 | 82 | |
14563582 A |
83 | ### Known issue |
84 | ||
85 | #### Redirector | |
86 | ||
87 | If you're using a redirector, you *need* to add a space after a link, | |
88 | otherwise the rest of the line will be `urlencode`. | |
89 | ||
90 | ``` | |
91 | [link](http://domain.tld)-->test | |
92 | ``` | |
93 | ||
94 | Will consider `http://domain.tld)-->test` as URL. | |
95 | ||
96 | Instead, add an additional space. | |
97 | ||
98 | ``` | |
99 | [link](http://domain.tld) -->test | |
100 | ``` | |
101 | ||
102 | > Won't fix because a `)` is a valid part of an URL. |