25 lines
890 B
PHP
25 lines
890 B
PHP
<?php
|
||
/**
|
||
* ClickAt
|
||
*
|
||
* This plugin makes microblogging social networks (Twitter/𝕏, Threads, Bluesky and Fediverse) addresses clickable.
|
||
*/
|
||
|
||
use Shaarli\Config\ConfigManager;
|
||
use Shaarli\Plugin\PluginManager;
|
||
use Shaarli\Render\TemplatePage;
|
||
|
||
function hook_clickat_render_linklist($data)
|
||
{
|
||
$patterns = array(
|
||
'/\ @([\w\d]+).bsky.social/' => ' <a href="https://bsky.app/profile/\1.bsky.social">@\1.bsky.social</a>',
|
||
'/\ @([\w\d]+)@([\w\d_\-\.]+)/' => ' <a href="https://\2/@\1">@\1</a>',
|
||
'/\ @([\w\d]+)/' => ' <a href="https://twitter.com/\1">@\1</a>'
|
||
);
|
||
foreach ($data['links'] as &$value)
|
||
if (strpos($value['description'],' @') !== false)
|
||
foreach($patterns as $nic => $link)
|
||
$value['description'] = preg_replace($nic, $link, $value['description']);
|
||
return $data;
|
||
}
|
||
|