* Shaare's descriptions are parsed with Markdown.
*/
+use Shaarli\Config\ConfigManager;
+
/*
* If this tag is used on a shaare, the description won't be processed by Parsedown.
*/
$value = stripNoMarkdownTag($value);
continue;
}
+ $value['description'] = reverse_feed_permalink($value['description']);
$value['description'] = process_markdown(
$value['description'],
$conf->get('security.markdown_escape', true),
*/
function hook_markdown_render_daily($data, $conf)
{
+ //var_dump($data);die;
// Manipulate columns data
- foreach ($data['cols'] as &$value) {
- foreach ($value as &$value2) {
- if (!empty($value2['tags']) && noMarkdownTag($value2['tags'])) {
- $value2 = stripNoMarkdownTag($value2);
- continue;
- }
- $value2['formatedDescription'] = process_markdown(
- $value2['formatedDescription'],
- $conf->get('security.markdown_escape', true),
- $conf->get('security.allowed_protocols')
- );
+ foreach ($data['linksToDisplay'] as &$value) {
+ if (!empty($value['tags']) && noMarkdownTag($value['tags'])) {
+ $value = stripNoMarkdownTag($value);
+ continue;
}
+ $value['formatedDescription'] = process_markdown(
+ $value['formatedDescription'],
+ $conf->get('security.markdown_escape', true),
+ $conf->get('security.allowed_protocols')
+ );
}
return $data;
|| $data['_PAGE_'] == Router::$PAGE_DAILY
|| $data['_PAGE_'] == Router::$PAGE_EDITLINK
) {
-
+
$data['css_files'][] = PluginManager::$PLUGINS_PATH . '/markdown/markdown.css';
}
return preg_replace('/(^| ) /m', '$1 ', $description);
}
+function reverse_feed_permalink($description)
+{
+ return preg_replace('@— <a href="([^"]+)" title="[^"]+">(\w+)</a>$@im', '— [$2]($1)', $description);
+}
+
/**
* Replace not whitelisted protocols with http:// in given description.
*
$description);
}
$description = preg_replace(
- '#(<[^>]+)on[a-z]*="?[^ "]*"?#is',
+ '#(<[^>]+\s)on[a-z]*="?[^ "]*"?#is',
'$1',
$description);
return $description;