{"id":166466,"date":"2022-12-02T23:44:00","date_gmt":"2022-12-02T23:44:00","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/mastodon-feed\/"},"modified":"2026-03-06T12:56:55","modified_gmt":"2026-03-06T12:56:55","slug":"include-mastodon-feed","status":"publish","type":"plugin","link":"https:\/\/pcd.wordpress.org\/plugins\/include-mastodon-feed\/","author":20775887,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"2.1.0","stable_tag":"2.1.0","tested":"6.9.4","requires":"6.0","requires_php":"8.2","requires_plugins":null,"header_name":"Include Mastodon Feed","header_author":"wolfgang.lol","header_description":"Plugin providing [mastodon-feed] shortcode","assets_banners_color":"","last_updated":"2026-03-06 12:56:55","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/www.buymeacoffee.com\/w101","header_plugin_uri":"https:\/\/wolfgang.lol\/code\/include-mastodon-feed-wordpress-plugin","header_author_uri":"https:\/\/wolfgang.lol","rating":5,"author_block_rating":0,"active_installs":800,"downloads":20618,"num_ratings":16,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.10":{"tag":"1.10","author":"wolfgang101","date":"2025-05-07 14:26:31"},"1.11":{"tag":"1.11","author":"wolfgang101","date":"2025-05-08 10:00:12"},"1.12":{"tag":"1.12","author":"wolfgang101","date":"2025-05-09 09:43:46"},"1.13":{"tag":"1.13","author":"wolfgang101","date":"2025-05-15 14:20:31"},"1.13.1":{"tag":"1.13.1","author":"wolfgang101","date":"2025-05-16 10:27:05"},"1.14.0":{"tag":"1.14.0","author":"wolfgang101","date":"2025-09-08 19:01:24"},"1.15.0":{"tag":"1.15.0","author":"wolfgang101","date":"2025-10-04 03:24:14"},"1.15.1":{"tag":"1.15.1","author":"wolfgang101","date":"2025-10-04 03:29:01"},"1.16.0":{"tag":"1.16.0","author":"wolfgang101","date":"2025-12-15 15:29:30"},"1.17.0":{"tag":"1.17.0","author":"wolfgang101","date":"2025-12-19 01:34:09"},"1.9.10":{"tag":"1.9.10","author":"wolfgang101","date":"2025-01-24 11:35:43"},"1.9.11":{"tag":"1.9.11","author":"wolfgang101","date":"2025-04-16 17:57:40"},"2.0.0":{"tag":"2.0.0","author":"wolfgang101","date":"2026-02-05 01:56:41"},"2.0.1":{"tag":"2.0.1","author":"wolfgang101","date":"2026-02-20 17:42:21"},"2.1.0":{"tag":"2.1.0","author":"wolfgang101","date":"2026-03-06 12:56:55"}},"upgrade_notice":{"1.8.1":"<ul>\n<li>minor style updates - if you have custom styling make sure to check if all is good<\/li>\n<\/ul>","1.3.1":"<ul>\n<li>plugin constants for setting custom default options have to be defined in <code>wp-config.php<\/code>, as the previous config.php file gets removed with every automatic plugin update<\/li>\n<\/ul>","1.1.0":"<ul>\n<li>&quot;loading&quot; shortcode attribute was renamed to &quot;text-loading&quot;<\/li>\n<\/ul>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":16},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":2828003,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":2828003,"resolution":"256x256","location":"assets","locale":""},"icon.svg":{"filename":"icon.svg","revision":2828003,"resolution":false,"location":"assets","locale":false}},"assets_banners":[],"assets_blueprints":{"blueprint.json":{"filename":"blueprint.json","revision":3476396,"resolution":false,"location":"assets","locale":"","contents":"{\"landingPage\":\"\\\/?p=5\",\"preferredVersions\":{\"php\":\"8.0\",\"wp\":\"latest\"},\"phpExtensionBundles\":[\"kitchen-sink\"],\"features\":{\"networking\":true},\"steps\":[{\"step\":\"installPlugin\",\"options\":{\"activate\":true},\"pluginData\":{\"resource\":\"wordpress.org\\\/plugins\",\"slug\":\"include-mastodon-feed\"}},{\"step\":\"login\",\"username\":\"admin\",\"password\":\"password\"},{\"step\":\"runPHP\",\"code\":\"<?php\\ninclude 'wordpress\\\/wp-load.php';\\nwp_insert_post(array(\\n'import_id' => 5,\\n'post_title' => 'Include Mastodon Feed Demo',\\n'post_content' => '<!-- wp:shortcode -->\\n[include-mastodon-feed account=\\\"110352301082185429\\\" instance=\\\"ohai.social\\\" darkmode=true excludeReplies=true showPreviewCards=false]\\n<!-- \\\/wp:shortcode -->',\\n'post_status' => 'publish',\\n'post_author' => 1\\n));\"}]}"}},"all_blocks":{"include-mastodon-feed\/gutenberg-block":{"apiVersion":3,"title":"Mastodon Feed","description":"Embed the latest public posts of a Mastodon user","name":"include-mastodon-feed\/gutenberg-block","category":"embed","icon":"embed-generic","supports":{"html":false},"textdomain":"include-mastodon-feed","editorScript":"file:.\/index.js","editorStyle":"file:.\/index.css","style":"file:.\/style.css"}},"tagged_versions":["1.10","1.11","1.12","1.13","1.13.1","1.14.0","1.15.0","1.15.1","1.16.0","1.17.0","1.9.10","1.9.11","2.0.0","2.0.1","2.1.0"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"No screenshots"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[252,139106,409],"plugin_category":[],"plugin_contributors":[216069],"plugin_business_model":[],"class_list":["post-166466","plugin","type-plugin","status-publish","hentry","plugin_tags-feed","plugin_tags-mastodon","plugin_tags-status","plugin_contributors-wolfgang101","plugin_committers-wolfgang101"],"banners":[],"icons":{"svg":"https:\/\/ps.w.org\/include-mastodon-feed\/assets\/icon.svg?rev=2828003","icon":"https:\/\/ps.w.org\/include-mastodon-feed\/assets\/icon.svg?rev=2828003","icon_2x":false,"generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Plugin that provides a Gutenberg block and an <code>[include-mastodon-feed]<\/code> shortcode to easily integrate mastodon feeds into wordpress pages. Supports personal and tag feeds.<\/p>\n\n<p>Account and post images are lazy loaded if preserveImageAspectRatio is set to true (default: false).<\/p>\n\n<p>The plugin is written in PHP and generates native JavaScript to fetch and render the mastodon feed. No special libraries needed.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the \"include-mastodon-feed\"  directory to the \"\/wp-content\/plugins\/\" directory.<\/li>\n<li>Activate the plugin through the \"Plugins\" menu in WordPress.<\/li>\n<li>Insert the \"Mastodon Feed\" block in Gutenberg editor or the \"[include-mastodon-feed]\" shortcode into any page.<\/li>\n<\/ol>\n\n<h4>Shortcode example<\/h4>\n\n<pre><code>[include-mastodon-feed instance=\"YOUR-INSTANCE\" account=\"YOUR-ACCOUNT-ID\"]\n<\/code><\/pre>\n\n<h4>Shortcode attributes<\/h4>\n\n<ul>\n<li><p><strong>instance<\/strong> (required)\nDomain name of the instance without https:\/\/ (e.g. example.org)<\/p><\/li>\n<li><p><strong>account<\/strong> (required)\nThe account ID (a long number - see FAQ on how to get it)<\/p><\/li>\n<li><p><strong>tag<\/strong>\nUse <strong>tag<\/strong> instead of <strong>account<\/strong> if you want to embed a tag feed instead of a personal feed<\/p><\/li>\n<li><p><strong>cache<\/strong>\nIf wordpress should cache Mastodon server API calls (Default: false)\nNote: automatically enabled for feeds where auth is used<\/p><\/li>\n<li><p><strong>auth<\/strong>\nAuth key that should be used if Mastodon server API needs authentication<\/p><\/li>\n<li><p><strong>limit<\/strong>\nMaximum number of statuses (Default: 20)<\/p><\/li>\n<li><p><strong>excludeReplies<\/strong>\nExclude replies to other accounts (Default: false)<\/p><\/li>\n<li><p><strong>excludeConversationStarters<\/strong>\nExclude statuses that start with a user mention (Default: false)<\/p><\/li>\n<li><p><strong>excludeBoosts<\/strong>\nExclude boosted statuses (Default: false)<\/p><\/li>\n<li><p><strong>onlyPinned<\/strong>\nShow only pinned statuses (Default: false)<\/p><\/li>\n<li><p><strong>onlyMedia<\/strong>\nShow only statuses containing media (Default: false)<\/p><\/li>\n<li><p><strong>preserveImageAspectRatio<\/strong>\nPreserve image aspect ratio (Default: false)<\/p><\/li>\n<li><p><strong>imageSize<\/strong>\nLoad small sized preview images or full size high quality images (Default: preview, full)<\/p><\/li>\n<li><p><strong>imageLink<\/strong>\nLink image to status or image (Default: status, image)<\/p><\/li>\n<li><p><strong>tagged<\/strong>\nShow only statuses that are tagged with given tag name (Default: false)\nNo leading #, case insensitive, e.g.: tagged=\"tagname\"<\/p><\/li>\n<li><p><strong>excludeTags<\/strong>\nExclude statuses that are tagged with any of the given tag names (Default: false)\nComma separated list of tags, no leading #, case insensitive, e.g.: excludeTags=\"tag1,tag2\"<\/p><\/li>\n<li><p><strong>linkTarget<\/strong>\nTarget for all links e.g. new tab would be \"_blank\" (Default: _self)<\/p><\/li>\n<li><p><strong>showPreviewCards<\/strong>\nShow preview cards (Default: true)<\/p><\/li>\n<li><p><strong>hideStatusMeta<\/strong>\nHide status meta information, automatically also hides date and time (Default: false)<\/p><\/li>\n<li><p><strong>hideDateTime<\/strong>\nHide date and time from status meta information (Default: false)<\/p><\/li>\n<li><p><strong>darkmode<\/strong>\nEnable dark mode (Default: false)<\/p><\/li>\n<li><p><strong>text-loading<\/strong>\nLoading text (Default: Loading Mastodon feed...)<\/p><\/li>\n<li><p><strong>text-noStatuses<\/strong>\nText if no statuses are available (Default: No statuses available)<\/p><\/li>\n<li><p><strong>text-boosted<\/strong>\nText indicating boosted statuses (Default: boosted \ud83d\ude80)<\/p><\/li>\n<li><p><strong>text-viewOnInstance<\/strong>\nView status on instance link text (Default: view on instance)<\/p><\/li>\n<li><p><strong>text-showContent<\/strong>\nText for content warning buttons (Default: Show content)<\/p><\/li>\n<li><p><strong>text-permalinkPre<\/strong>\nText before post permalink (date &amp; time) (Default: on)<\/p><\/li>\n<li><p><strong>text-permalinkPost<\/strong>\nText after post permalink (date &amp; time) (Default: )<\/p><\/li>\n<li><p><strong>text-edited<\/strong>\nText indicating edited posts (Default: (edited))<\/p><\/li>\n<li><p><strong>date-locale<\/strong>\nLocale for date string, used in toLocaleString() (Default: en-US)<\/p><\/li>\n<\/ul>\n\n<h4>Additional customizations<\/h4>\n\n<p>You can define several plugin constants to set custom default options that will be applied site-wide (e.g. date options can only be set as php constant to mitigate an XSS vulnerability).<\/p>\n\n<ol>\n<li>Open your <code>wp-config.php<\/code> file<\/li>\n<li>Search for the line <code>\/* Add any custom values between this line and the \"stop editing\" line. *\/<\/code><\/li>\n<li>Define the options you want to override between the line from step #2 and <code>\/* That's all, stop editing! Happy publishing. *\/<\/code><\/li>\n<\/ol>\n\n<p>See the included <code>config-example.php<\/code> file for a full list of supported settings.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"how%20do%20i%20find%20my%20account%20id%3F\"><h3>How do I find my account ID?<\/h3><\/dt>\n<dd><p>Please feel free to use <a href=\"https:\/\/wolfgang.lol\/code\/include-mastodon-feed-wordpress-plugin\/\">this handy lookup tool<\/a><\/p>\n\n<p>To look your ID up manually there are several ways.<\/p>\n\n<p>As an instance admin you can easily read your user ID in the admin backend.<\/p>\n\n<p>As regular user you can try an API v2 search to find your ID.<\/p>\n\n<p><strong>API v2 notes:<\/strong>\n* Change <code>example.org<\/code> to your instance\n* Replace <code>username<\/code> with your handle.<\/p>\n\n<p>Use the following URL to get your ID:<\/p>\n\n<pre><code>https:\/\/example.org\/api\/v2\/search?q=username@example.org&amp;resolve=false&amp;limit=5\n<\/code><\/pre><\/dd>\n<dt id=\"how%20does%20caching%20work%3F\"><h3>How does caching work?<\/h3><\/dt>\n<dd><p>Server-side caching is disabled by default. When disabled every page load will trigger a new API request to your Mastodon instance for every single feed. This is how the public feeds API is intended and usually not a problem.<\/p>\n\n<p>If you have a high-traffic site and want to help out your Mastodon instance you can enable caching globally or per shortcode. When enabled the plugin will cache the feed for 5 minutes as a default.<\/p>\n\n<p>The plugin automatically uses any enabled cache plugin or the Wordpress internal transient cache (= Wordpress database). Only the statuses JSON response is cached - any media is still served from the Mastodon instance directly.<\/p>\n\n<p>Note: If you Mastodon instance needs API authentication server-side caching is automatically enabled for all feeds that use authentication. That way your auth token is not exposed to your website visitors.<\/p><\/dd>\n<dt id=\"api%20authentication\"><h3>API authentication<\/h3><\/dt>\n<dd><p>If your Mastodon server needs API authentication you can use the <code>auth<\/code> parameter.<\/p>\n\n<blockquote>\n  <p>NOTE\n  Do NOT add your API auth token directly to the plugin short code<\/p>\n  \n  <p>To avoid exposing the auth token to website visitors you have to take extra steps to\n  set up authentication support<\/p>\n  \n  <p>See the very end of <a href=\"https:\/\/github.com\/wolfgang101\/include-mastodon-feed\/blob\/master\/config-example.php#L158\">config-example.php<\/a> for an in-depth configuration example<\/p>\n<\/blockquote>\n\n<p><strong>Steps to set up API authentication:<\/strong><\/p>\n\n<ol>\n<li>Log into your Mastodon instance and go to Settings &gt; Development (https:\/\/yourinstance.example.org\/settings\/applications)<\/li>\n<li>Create a new Application (any name, only check one single scope <code>read:statuses<\/code>)<\/li>\n<li>Add the <code>auth<\/code> mapping configuration to your <code>wp-config.php<\/code> (See very bottom of the included <code>config-example.php<\/code>)<\/li>\n<li>Add your custom <code>auth<\/code> reference to your shortcode<\/li>\n<\/ol><\/dd>\n<dt id=\"known%20issues%20%2F%20todo\"><h3>Known Issues \/ Todo<\/h3><\/dt>\n<dd><ul>\n<li>extend Gutenberg block capabilities (support more settings, enable backend preview)<\/li>\n<li>integrate i18n into translate.wordpress.org instead of text constants<\/li>\n<\/ul><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>2.1.0<\/h4>\n\n<ul>\n<li>feat: Gutenberg block now includes an account ID lookup tool, supports tag timelines and the post tag filter<\/li>\n<\/ul>\n\n<h4>2.0.1<\/h4>\n\n<ul>\n<li>fix: added missing permission_callback to register_rest_route to avoid PHP Notice (thank you @h4r1m4u)<\/li>\n<\/ul>\n\n<h4>2.0.0<\/h4>\n\n<ul>\n<li>feat: introducing the \"Mastodon Feed\" Gutenberg block - backwards compatible... shortcode will always be supported too<\/li>\n<li>feat: increased required PHP version to 8.2 since there are no security updates for any version 8.1 or less<\/li>\n<li>fix: INCLUDE_MASTODON_FEED_CACHE_DURATION constant name<\/li>\n<\/ul>\n\n<h4>1.17.0<\/h4>\n\n<ul>\n<li>feat: added server side caching (see included <code>config-example.php<\/code> for global CACHE and CACHE_DURATION settings1). <code>cache<\/code> can be set as short code param as well.<\/li>\n<li>feat: added API authentication support<\/li>\n<\/ul>\n\n<h4>1.16.0<\/h4>\n\n<ul>\n<li>fix: local instance video urls<\/li>\n<li>feat: added audio media support<\/li>\n<li>feat: added excludeTags shortcode attribute - Exclude statuses that are tagged, posts containing any one of the given tags (comma separated list) will be excluded. Note: can lead to empty status list as the filtering is handled client-side. Mastodon API does not support this parameter natively. (thank you @zambunny)<\/li>\n<\/ul>\n\n<h4>1.15.1<\/h4>\n\n<ul>\n<li>fix: added line break<\/li>\n<\/ul>\n\n<h4>1.15.0<\/h4>\n\n<ul>\n<li>feat: now supports video attachments<\/li>\n<\/ul>\n\n<h4>1.14.0<\/h4>\n\n<ul>\n<li>accessibility: add HTML lang attribute for even better screen reader support (thank you @oldrup@mastodon.green)<\/li>\n<\/ul>\n\n<h4>1.13.1<\/h4>\n\n<ul>\n<li>fix: removed unnecessary, broken aria-label functionality<\/li>\n<\/ul>\n\n<h4>1.13<\/h4>\n\n<p>Special release for Global Accessibility Awareness Day\nin collaboration with @oldrup@mastodon.green<\/p>\n\n<p>Happy <a href=\"https:\/\/accessibility.day\">Accesssibility Day<\/a><\/p>\n\n<ul>\n<li>accessibility (fix): image alt attributes - initial implementation was faulty<\/li>\n<li>accessibility: added alt text to image \/ gifv attachments<\/li>\n<li>accessibility: added alt text to avatar images<\/li>\n<li>accessibility: added alt text to preview card media<\/li>\n<li>accessibility: added descriptive aria-labels<\/li>\n<li>accessibility: increased default text \/ background color contrast<\/li>\n<li>accessibility: switched from DIV to semantic OL \/ LI structure<\/li>\n<\/ul>\n\n<h4>1.12<\/h4>\n\n<ul>\n<li>accessibility: added image alt attribute (thank you @oldrup@mastodon.green)<\/li>\n<\/ul>\n\n<h4>1.11<\/h4>\n\n<ul>\n<li>now favoring preview_url (smaler size) instead of remote_url (full size) for image previews (thank you @oldrup@mastodon.green)<\/li>\n<\/ul>\n\n<h4>1.10<\/h4>\n\n<ul>\n<li>added image lazy loading for account and post images - post image lazy loading only works with preserveImageAspectRatio set to true (thank you @oldrup@mastodon.green)<\/li>\n<\/ul>\n\n<h4>1.9.11<\/h4>\n\n<ul>\n<li>fixed typo (thank you @hjek)<\/li>\n<li>cleaned up code after 1.9.10 release<\/li>\n<\/ul>\n\n<h4>1.9.10<\/h4>\n\n<ul>\n<li>fixed XSS vulnerability: removed support for date-options as shortcode attribute completely - to mitigate an XSS vulnerability where authenticated attackers with contributor permission could insert malicious JavaScript (still can be set as constant in PHP code)<\/li>\n<\/ul>\n\n<h4>1.9.9<\/h4>\n\n<ul>\n<li>fixed esc_url context that previously broke the URL for the Mastodon API JS ajax request (thank you @beach@illo.social)<\/li>\n<\/ul>\n\n<h4>1.9.8<\/h4>\n\n<ul>\n<li>fix broken date-locale and date-options parameters (thank you @crusy@chaos.social)<\/li>\n<li>improved string excaping for text parameters and added url escaping<\/li>\n<li>removed unnecessary output buffering<\/li>\n<li>fix license SPDX Identifier<\/li>\n<\/ul>\n\n<h4>1.9.7<\/h4>\n\n<ul>\n<li>fix option to either display smaller image media attachment previews (default) or large image versions (thank you @beach@illo.social)<\/li>\n<\/ul>\n\n<h4>1.9.6<\/h4>\n\n<ul>\n<li>fixed XSS vulnerability where authenticated attackers with contributor permissions could insert malicious JavaScript<\/li>\n<\/ul>\n\n<h4>1.9.5<\/h4>\n\n<ul>\n<li>added option to either display smaller image media attachment previews (default) or large image versions (thank you @beach@illo.social)<\/li>\n<li>added option to point image media attachment links to either status (default) or image<\/li>\n<\/ul>\n\n<h4>1.9.4<\/h4>\n\n<ul>\n<li>added option to hide status meta information and date\/time (thank you @PaulKingtiger@dice.camp)<\/li>\n<li>added tag support - you can now embed tag feeds (thank you @martin@openedtech.social)<\/li>\n<li>added option to show embedded images in original aspect ratio (thank you @beach@illo.social)<\/li>\n<li>fix: correctly inject repeating emojis in display names and status texts (thank you @kanigsson@discuss.systems)<\/li>\n<\/ul>\n\n<h4>1.9.3<\/h4>\n\n<ul>\n<li>fix: improved excludeConversationStarters detection (did not work correctly)<\/li>\n<li>fix: undid last refactor to load JS inline with markup instead footer to fix problem with JS that was added to footer even if shortcode was not visibly rendered<\/li>\n<\/ul>\n\n<h4>1.9.2<\/h4>\n\n<ul>\n<li>fix: style for embedded videos \/ GIFs<\/li>\n<li>refactor: play gifv on mouseover<\/li>\n<li>refactor: load markup related javascript in footer instead of embedding it directly with the html markup<\/li>\n<\/ul>\n\n<h4>1.9.1<\/h4>\n\n<ul>\n<li>refactor: show meaningful message if no statuses are available<\/li>\n<li>fix: broken excludeConversationStarters logic<\/li>\n<\/ul>\n\n<h4>1.9.0<\/h4>\n\n<ul>\n<li>added option to exclude conversation starters (posts that start with a user mention)<\/li>\n<\/ul>\n\n<h4>1.8.1<\/h4>\n\n<ul>\n<li>fix: boolean param validation was wonky<\/li>\n<li>fix: stop links from overflowing (thanks to https:\/\/github.com\/moan0s for contributing)<\/li>\n<li>refactoring: improved styling of embedded images<\/li>\n<\/ul>\n\n<h4>1.8.0<\/h4>\n\n<ul>\n<li>added option to show\/hide preview cards<\/li>\n<li>refactoring: introducing plugin namespace<\/li>\n<li>refactoring: improved debug console output<\/li>\n<\/ul>\n\n<h4>1.7.0<\/h4>\n\n<ul>\n<li>bumped tested wordpress version to 6.2<\/li>\n<li>added option to customize permalink text (before and after date\/time)<\/li>\n<li>added option to customize text indicating edited posts<\/li>\n<\/ul>\n\n<h4>1.6.0<\/h4>\n\n<ul>\n<li>image attachments are now clickable (link to original status)<\/li>\n<\/ul>\n\n<h4>1.5.0<\/h4>\n\n<ul>\n<li>added option to show only statuses with specific tag<\/li>\n<li>added option to set link target to make links open in new tab<\/li>\n<li>added option to set maximum number of statuses<\/li>\n<\/ul>\n\n<h4>1.4.2<\/h4>\n\n<ul>\n<li>fixed styling issue with emojis in account display name<\/li>\n<\/ul>\n\n<h4>1.4.1<\/h4>\n\n<ul>\n<li>fixed styling issue with boosted account links<\/li>\n<\/ul>\n\n<h4>1.4.0<\/h4>\n\n<ul>\n<li>removed \"view on instance\" link and made date info clickable instead<\/li>\n<li>added custom date locale and format option<\/li>\n<li>fixed emoji and inline link styling issues in content blocks<\/li>\n<li>fixed an issue with gifv media attachments<\/li>\n<li>refactored option sanitizing and filtering<\/li>\n<\/ul>\n\n<h4>1.3.1<\/h4>\n\n<ul>\n<li>updated documentation that plugin constants for setting custom default options have to be defined in <code>wp-config.php<\/code>, as the previous config.php file gets removed with every automatic plugin update<\/li>\n<li>removed <code>config.php<\/code> support<\/li>\n<\/ul>\n\n<h4>1.3.0<\/h4>\n\n<ul>\n<li>added new feed options: excludeReplies, onlyPinned, onlyMedia<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>fixed broken JavaScript if post included media attachments other than images<\/li>\n<li>fixed custom \"view on instance\" option<\/li>\n<li>added option for custom content warning button text<\/li>\n<li>added option to exclude boosted statuses<\/li>\n<li>added support for gifv media attachments<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>added support for more custom text overrides (loading, boosted, view on instnace)<\/li>\n<li>switched to showing static avatars, animated avatars only on hover<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>escaped options when echoing them<\/li>\n<li>secured local file inclusion<\/li>\n<li>changed versioning to semantic versioning - now including patch number<\/li>\n<\/ul>\n\n<h4>1.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<\/ul>","raw_excerpt":"Plugin that provides a Gutenberg block and shortcode to easily integrate mastodon feeds into wordpress pages.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/166466","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=166466"}],"author":[{"embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/wolfgang101"}],"wp:attachment":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=166466"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=166466"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=166466"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=166466"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=166466"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=166466"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}