From a120fb2977331e0f7d7ffe05861ba179fdae8764 Mon Sep 17 00:00:00 2001 From: ArthurHoaro Date: Mon, 13 Aug 2018 10:42:27 +0200 Subject: [PATCH] Add OpenGraph meta tags on permalink page Includes: - og:title - og:type -> article - og:image -> if there is a thumbnail - og:url -> permalink - og:description -> first 300 chars of raw description - article:published_time - article:modified_time - article:tag -> one OG meta tag for each shaare tag Fixes #258 --- application/PageBuilder.php | 2 +- plugins/markdown/markdown.php | 1 + tests/plugins/PluginMarkdownTest.php | 2 ++ tpl/default/includes.html | 20 ++++++++++++++++++++ tpl/vintage/includes.html | 20 ++++++++++++++++++++ 5 files changed, 44 insertions(+), 1 deletion(-) diff --git a/application/PageBuilder.php b/application/PageBuilder.php index b1abe0d0..0efd24c3 100644 --- a/application/PageBuilder.php +++ b/application/PageBuilder.php @@ -101,7 +101,7 @@ class PageBuilder 'version_hash', ApplicationUtils::getVersionHash(SHAARLI_VERSION, $this->conf->get('credentials.salt')) ); - $this->tpl->assign('scripturl', index_url($_SERVER)); + $this->tpl->assign('index_url', index_url($_SERVER)); $visibility = ! empty($_SESSION['visibility']) ? $_SESSION['visibility'] : ''; $this->tpl->assign('visibility', $visibility); $this->tpl->assign('untaggedonly', !empty($_SESSION['untaggedonly'])); diff --git a/plugins/markdown/markdown.php b/plugins/markdown/markdown.php index 821bb125..d4fb1f76 100644 --- a/plugins/markdown/markdown.php +++ b/plugins/markdown/markdown.php @@ -28,6 +28,7 @@ function hook_markdown_render_linklist($data, $conf) $value = stripNoMarkdownTag($value); continue; } + $value['description_src'] = $value['description']; $value['description'] = process_markdown( $value['description'], $conf->get('security.markdown_escape', true), diff --git a/tests/plugins/PluginMarkdownTest.php b/tests/plugins/PluginMarkdownTest.php index b31e817f..31c1f8b7 100644 --- a/tests/plugins/PluginMarkdownTest.php +++ b/tests/plugins/PluginMarkdownTest.php @@ -47,6 +47,8 @@ class PluginMarkdownTest extends PHPUnit_Framework_TestCase $data = hook_markdown_render_linklist($data, $this->conf); $this->assertNotFalse(strpos($data['links'][0]['description'], '

')); $this->assertNotFalse(strpos($data['links'][0]['description'], '

')); + + $this->assertEquals($markdown, $data['links'][0]['description_src']); } /** diff --git a/tpl/default/includes.html b/tpl/default/includes.html index 5ccacaaf..0427e224 100644 --- a/tpl/default/includes.html +++ b/tpl/default/includes.html @@ -15,3 +15,23 @@ {/if} +{if="! empty($links) && count($links) === 1"} + {$link=reset($links)} + + + + {$ogDescription=isset($link.description_src) ? $link.description_src : $link.description} + + {if="$link.thumbnail"} + + {/if} + {if="!$hide_timestamps || $is_logged_in"} + + {if="$link.updated"} + + {/if} + {/if} + {loop="link.taglist"} + + {/loop} +{/if} diff --git a/tpl/vintage/includes.html b/tpl/vintage/includes.html index 410b466b..df093495 100644 --- a/tpl/vintage/includes.html +++ b/tpl/vintage/includes.html @@ -12,3 +12,23 @@ {/loop} {if="is_file('data/user.css')"}{/if} +{if="! empty($links) && count($links) === 1"} + {$link=reset($links)} + + + + {$ogDescription=isset($link.description_src) ? $link.description_src : $link.description} + + {if="$link.thumbnail"} + + {/if} + {if="!$hide_timestamps || $is_logged_in"} + + {if="$link.updated"} + + {/if} + {/if} + {loop="link.taglist"} + + {/loop} +{/if} -- 2.41.0