<?php /** * ClickAt * * This plugin makes microblogging social networks (Twitter/X, 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; }