diff options
Diffstat (limited to 'plugins/markdown')
-rw-r--r-- | plugins/markdown/markdown.php | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/plugins/markdown/markdown.php b/plugins/markdown/markdown.php index 5a702c7b..544ed22e 100644 --- a/plugins/markdown/markdown.php +++ b/plugins/markdown/markdown.php | |||
@@ -8,6 +8,12 @@ | |||
8 | 8 | ||
9 | require_once 'Parsedown.php'; | 9 | require_once 'Parsedown.php'; |
10 | 10 | ||
11 | /* | ||
12 | * If this tag is used on a shaare, the description won't be processed by Parsedown. | ||
13 | * Using a private tag so it won't appear for visitors. | ||
14 | */ | ||
15 | define('NO_MD_TAG', '.nomarkdown'); | ||
16 | |||
11 | /** | 17 | /** |
12 | * Parse linklist descriptions. | 18 | * Parse linklist descriptions. |
13 | * | 19 | * |
@@ -18,6 +24,9 @@ require_once 'Parsedown.php'; | |||
18 | function hook_markdown_render_linklist($data) | 24 | function hook_markdown_render_linklist($data) |
19 | { | 25 | { |
20 | foreach ($data['links'] as &$value) { | 26 | foreach ($data['links'] as &$value) { |
27 | if (!empty($value['tags']) && noMarkdownTag($value['tags'])) { | ||
28 | continue; | ||
29 | } | ||
21 | $value['description'] = process_markdown($value['description']); | 30 | $value['description'] = process_markdown($value['description']); |
22 | } | 31 | } |
23 | 32 | ||
@@ -36,6 +45,9 @@ function hook_markdown_render_daily($data) | |||
36 | // Manipulate columns data | 45 | // Manipulate columns data |
37 | foreach ($data['cols'] as &$value) { | 46 | foreach ($data['cols'] as &$value) { |
38 | foreach ($value as &$value2) { | 47 | foreach ($value as &$value2) { |
48 | if (!empty($value2['tags']) && noMarkdownTag($value2['tags'])) { | ||
49 | continue; | ||
50 | } | ||
39 | $value2['formatedDescription'] = process_markdown($value2['formatedDescription']); | 51 | $value2['formatedDescription'] = process_markdown($value2['formatedDescription']); |
40 | } | 52 | } |
41 | } | 53 | } |
@@ -44,6 +56,18 @@ function hook_markdown_render_daily($data) | |||
44 | } | 56 | } |
45 | 57 | ||
46 | /** | 58 | /** |
59 | * Check if noMarkdown is set in tags. | ||
60 | * | ||
61 | * @param string $tags tag list | ||
62 | * | ||
63 | * @return bool true if markdown should be disabled on this link. | ||
64 | */ | ||
65 | function noMarkdownTag($tags) | ||
66 | { | ||
67 | return strpos($tags, NO_MD_TAG) !== false; | ||
68 | } | ||
69 | |||
70 | /** | ||
47 | * When link list is displayed, include markdown CSS. | 71 | * When link list is displayed, include markdown CSS. |
48 | * | 72 | * |
49 | * @param array $data includes data. | 73 | * @param array $data includes data. |
@@ -75,6 +99,12 @@ function hook_markdown_render_editlink($data) | |||
75 | { | 99 | { |
76 | // Load help HTML into a string | 100 | // Load help HTML into a string |
77 | $data['edit_link_plugin'][] = file_get_contents(PluginManager::$PLUGINS_PATH .'/markdown/help.html'); | 101 | $data['edit_link_plugin'][] = file_get_contents(PluginManager::$PLUGINS_PATH .'/markdown/help.html'); |
102 | |||
103 | // Add no markdown 'meta-tag' in tag list if it was never used, for autocompletion. | ||
104 | if (! in_array(NO_MD_TAG, $data['tags'])) { | ||
105 | $data['tags'][NO_MD_TAG] = 0; | ||
106 | } | ||
107 | |||
78 | return $data; | 108 | return $data; |
79 | } | 109 | } |
80 | 110 | ||