1 === Include Mastodon Feed === |
1 === Include Mastodon Feed === |
2 Contributors: wolfgang101 |
2 Contributors: wolfgang101 |
3 Donate link: https://www.buymeacoffee.com/w101 |
3 Donate link: https://www.buymeacoffee.com/w101 |
4 Tags: mastodon, status, feed |
4 Tags: mastodon, status, feed |
5 Requires at least: 6.0 |
5 Requires at least: 6.0 |
6 Tested up to: 6.5 |
6 Tested up to: 6.8 |
7 Requires PHP: 7.4 |
7 Requires PHP: 7.4 |
8 Stable tag: 1.9.4 |
8 Stable tag: 1.13.1 |
9 License: Expat License |
9 License: MIT |
10 License URI: https://directory.fsf.org/wiki/License:Expat |
10 License URI: https://directory.fsf.org/wiki/License:Expat |
11 |
11 |
12 Plugin that provides a shortcode to easily integrate mastodon feeds into wordpress pages. |
12 Plugin that provides a shortcode to easily integrate mastodon feeds into wordpress pages. |
13 |
13 |
14 == Description == |
14 == Description == |
15 Plugin that provides an `[include-mastodon-feed]` shortcode to easily integrate mastodon feeds into wordpress pages. Supports personal and tag feeds. |
15 Plugin that provides an `[include-mastodon-feed]` shortcode to easily integrate mastodon feeds into wordpress pages. Supports personal and tag feeds. |
|
16 |
|
17 Account and post images are lazy loaded if preserveImageAspectRatio is set to true (default: false). |
16 |
18 |
17 The plugin is written in PHP and generates native JavaScript to fetch and render the mastodon feed. No special libraries needed. |
19 The plugin is written in PHP and generates native JavaScript to fetch and render the mastodon feed. No special libraries needed. |
18 |
20 |
19 == Installation == |
21 == Installation == |
20 |
22 |
24 |
26 |
25 = Shortcode example = |
27 = Shortcode example = |
26 `[include-mastodon-feed instance="YOUR-INSTANCE" account="YOUR-ACCOUNT-ID"]` |
28 `[include-mastodon-feed instance="YOUR-INSTANCE" account="YOUR-ACCOUNT-ID"]` |
27 |
29 |
28 = Shortcode attributes = |
30 = Shortcode attributes = |
|
31 * **instance** (required) |
|
32 Domain name of the instance without https:// (e.g. example.org) |
|
33 |
29 * **account** (required) |
34 * **account** (required) |
30 The account ID (a long number - see FAQ on how to get it) |
35 The account ID (a long number - see FAQ on how to get it) |
31 |
36 |
32 * **tag** |
37 * **tag** |
33 Use **tag** instead of **account** if you want to embed a tag feed instead of a personal feed |
38 Use **tag** instead of **account** if you want to embed a tag feed instead of a personal feed |
34 |
39 |
35 * **instance** (required) |
|
36 Domain name of the instance without https:// (e.g. example.org) |
|
37 |
|
38 * **limit** |
40 * **limit** |
39 Maximum number of statuses (Default: 20) |
41 Maximum number of statuses (Default: 20) |
40 |
42 |
41 * **excludeReplies** |
43 * **excludeReplies** |
42 Exclude replies to other accounts (Default: false) |
44 Exclude replies to other accounts (Default: false) |
53 * **onlyMedia** |
55 * **onlyMedia** |
54 Show only statuses containing media (Default: false) |
56 Show only statuses containing media (Default: false) |
55 |
57 |
56 * **preserveImageAspectRatio** |
58 * **preserveImageAspectRatio** |
57 Preserve image aspect ratio (Default: false) |
59 Preserve image aspect ratio (Default: false) |
|
60 |
|
61 * **imageSize** |
|
62 Load small sized preview images or full size high quality images (Default: preview, full) |
|
63 |
|
64 * **imageLink** |
|
65 Link image to status or image (Default: status, image) |
58 |
66 |
59 * **tagged** |
67 * **tagged** |
60 Show only statuses that are tagged with given tag name (Default: false) |
68 Show only statuses that are tagged with given tag name (Default: false) |
61 No leading #, case insensitive, e.g.: tagged="tagname" |
69 No leading #, case insensitive, e.g.: tagged="tagname" |
62 |
70 |
100 Text indicating edited posts (Default: (edited)) |
108 Text indicating edited posts (Default: (edited)) |
101 |
109 |
102 * **date-locale** |
110 * **date-locale** |
103 Locale for date string, used in toLocaleString() (Default: en-US) |
111 Locale for date string, used in toLocaleString() (Default: en-US) |
104 |
112 |
105 * **date-options** |
|
106 Format options directly fed into toLocaleString() (Default: {}) |
|
107 |
113 |
108 = Additional customizations = |
114 = Additional customizations = |
109 |
115 |
110 You can define several plugin constants to set custom default options that will be applied site-wide. |
116 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). |
111 |
117 |
112 1. Open your `wp-config.php` file |
118 1. Open your `wp-config.php` file |
113 2. Search for the line `/* Add any custom values between this line and the "stop editing" line. */` |
119 2. Search for the line `/* Add any custom values between this line and the "stop editing" line. */` |
114 3. Define the options you want to override between the line from step #2 and `/* That's all, stop editing! Happy publishing. */` |
120 3. Define the options you want to override between the line from step #2 and `/* That's all, stop editing! Happy publishing. */` |
115 |
121 |
145 == Screenshots == |
151 == Screenshots == |
146 |
152 |
147 * No screenshots |
153 * No screenshots |
148 |
154 |
149 == Changelog == |
155 == Changelog == |
|
156 |
|
157 = 1.13.1 = |
|
158 * fix: removed unnecessary, broken aria-label functionality |
|
159 |
|
160 = 1.13 = |
|
161 Special release for Global Accessibility Awareness Day |
|
162 in collaboration with @oldrup@mastodon.green |
|
163 |
|
164 Happy [Accesssibility Day](https://accessibility.day) |
|
165 |
|
166 * accessibility (fix): image alt attributes - initial implementation was faulty |
|
167 * accessibility: added alt text to image / gifv attachments |
|
168 * accessibility: added alt text to avatar images |
|
169 * accessibility: added alt text to preview card media |
|
170 * accessibility: added descriptive aria-labels |
|
171 * accessibility: increased default text / background color contrast |
|
172 * accessibility: switched from DIV to semantic OL / LI structure |
|
173 |
|
174 = 1.12 = |
|
175 * accessibility: added image alt attribute (thank you @oldrup@mastodon.green) |
|
176 |
|
177 = 1.11 = |
|
178 * now favoring preview_url (smaler size) instead of remote_url (full size) for image previews (thank you @oldrup@mastodon.green) |
|
179 |
|
180 = 1.10 = |
|
181 * 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) |
|
182 |
|
183 = 1.9.11 = |
|
184 * fixed typo (thank you @hjek) |
|
185 * cleaned up code after 1.9.10 release |
|
186 |
|
187 = 1.9.10 = |
|
188 * 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) |
|
189 |
|
190 = 1.9.9 = |
|
191 * fixed esc_url context that previously broke the URL for the Mastodon API JS ajax request (thank you @beach@illo.social) |
|
192 |
|
193 = 1.9.8 = |
|
194 * fix broken date-locale and date-options parameters (thank you @crusy@chaos.social) |
|
195 * improved string excaping for text parameters and added url escaping |
|
196 * removed unnecessary output buffering |
|
197 * fix license SPDX Identifier |
|
198 |
|
199 = 1.9.7 = |
|
200 * fix option to either display smaller image media attachment previews (default) or large image versions (thank you @beach@illo.social) |
|
201 |
|
202 = 1.9.6 = |
|
203 * fixed XSS vulnerability where authenticated attackers with contributor permissions could insert malicious JavaScript |
|
204 |
|
205 = 1.9.5 = |
|
206 * added option to either display smaller image media attachment previews (default) or large image versions (thank you @beach@illo.social) |
|
207 * added option to point image media attachment links to either status (default) or image |
150 |
208 |
151 = 1.9.4 = |
209 = 1.9.4 = |
152 * added option to hide status meta information and date/time (thank you @PaulKingtiger@dice.camp) |
210 * added option to hide status meta information and date/time (thank you @PaulKingtiger@dice.camp) |
153 * added tag support - you can now embed tag feeds (thank you @martin@openedtech.social) |
211 * added tag support - you can now embed tag feeds (thank you @martin@openedtech.social) |
154 * added option to show embedded images in original aspect ratio (thank you @beach@illo.social) |
212 * added option to show embedded images in original aspect ratio (thank you @beach@illo.social) |