wp/wp-content/plugins/include-mastodon-feed/README.md
changeset 21 48c4eec2b7e6
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wp/wp-content/plugins/include-mastodon-feed/README.md	Fri Sep 05 18:40:08 2025 +0200
@@ -0,0 +1,120 @@
+# Include Mastodon Feed Wordpress Plugin
+
+Plugin that provides an `[include-mastodon-feed]` shortcode to easily integrate mastodon feeds into wordpress pages. Supports personal and tag feeds.
+
+The plugin is written in PHP and generates native JavaScript to fetch and render the mastodon feed. No special libraries needed.
+
+## Table of contents
+* [Usage](#usage)
+  * [Supported shortcode attributes](#supported-shortcode-attributes)
+  * [Additional customization](#additional-customizations)
+* [Installation](#installation)
+  * [Installation via ZIP file](#installation-via-zip-file)
+  * [Installation via git checkout](#installation-via-git-checkout)
+* [Known issues](#known-issues)
+  * [Todo](#todo)
+* [FAQ](#faq)
+  * [How do I find my account ID?](#how-do-i-find-my-account-id)
+  * [Can I modify the plugin?](#can-i-modify-the-plugin)
+
+## Usage
+
+Place the following shortcode right into the page. Either as shortcode block or just copy and paste right within a text block:
+
+```[include-mastodon-feed instance="YOUR-INSTANCE" account="YOUR-ACCOUNT-ID"]```
+
+### Supported shortcode attributes
+
+ | Attribute          | Default value                 | Example                   | Description                                                       |
+| ------------------- | ----------------------------- | ------------------------- | ----------------------------------------------------------------- |
+| **account**         |                               | id="012345678910"         | (required attribute) Your account ID ([a long number](#how-do-i-find-my-account-id))   |
+| tag                 |                               | tag="travel"              | use **tag** instead of **account** if you want to embed a tag feed instead of a personal feed   |
+| **instance**        |                               | instance="example.org"    | (required attribute) Domain name of the instance without https:// |
+| limit               | 20                            | limit="10"                | Maximum number of statuses                                        |
+| excludeBoosts       | false                         | excludeBoosts="true"      | Exclude boosted statuses                                          |
+| excludeReplies      | false                         | excludeReplies="true"     | Exclude replies to other accounts                                 |
+| excludeConversationStarters       | false           | excludeConversationStarters="true"      | Exclude statuses that start with a user mention     |
+| onlyPinned          | false                         | onlyPinned="true"         | Show only pinned statuses                                         |
+| onlyMedia           | false                         | onlyMedia="true"          | Show only statuses containing media                               |
+| preserveImageAspectRatio          | false           | preserveImageAspectRatio="true"         | Preserve image aspect ratio                         |
+| tagged              | false                         | tagged="tagname"          | Show only statuses that are tagged with given tag name (no #!)    |
+| linkTarget          | "_self"                       | linkTarget="_blank"       | Target for all links                                              |
+| showPreviewCards    | true                          | showPreviewCards="false"  | Show preview cards                                                |
+| hideStatusMeta      | false                         | hideStatusMeta="true"     | Hide status meta information (automatically also hides date and time) |
+| hideDateTime        | false                         | hideDateTime="true"       | Hide date and time from status meta information                   |
+| darkmode            | false                         | darkmode="true"           | Enable dark mode                                                  |
+| text-loading        | "Loading Mastodon feed..."    | text-loading="Loading ⏳" | Loading text                                                      |
+| text-noStatuses     | "No statuses available"       | text-noStatuses="💩"      | Text if no statuses are available                                 |
+| text-boosted        | "boosted 🚀"                  | text-boosted="🚀"         | Boosted status indicator text                                     |
+| text-viewOnInstance | "view on instance"            | text-viewOnInstance="🔗"  | View status on instance link text                                 |
+| text-showContent    | "Show content"                | text-showContent="👀"     | Text for content warning buttons                                  |
+| text-permalinkPre   | "on"                          | text-showContent="📅"     | Text before post permalink (date & time)                          |
+| text-permalinkPost  | ""                            | text-showContent="📅"     | Text after post permalink (date & time)                           |
+| text-edited         | "(edited)"                    | text-showContent="✏"      | Text indicating edited posts                                      |
+| date-locale         | "en-US"                       | date-locale="de-DE"       | Locale for date string, used in toLocaleString()                  |
+| date-options        | "{}"                          | date-options="{dateStyle: 'short', timeStyle: 'long'}" | Format options directly fed into toLocaleString() |
+
+### Additional customizations
+
+You can define several plugin constants to set custom default options that will be applied site-wide.
+
+1. Open your `wp-config.php` file
+2. Search for the line `/* Add any custom values between this line and the "stop editing" line. */`
+3. Define the options you want to override between this line and `/* That's all, stop editing! Happy publishing. */`
+
+See [config-example.php](config-example.php) for a full list of supported settings.
+
+## Installation
+
+The plugin is available through the official Wordpress plugin directory https://wordpress.org/plugins/include-mastodon-feed/
+
+1. Log into your Wordpress installation
+2. Go to "Plugins" and select "Add New"
+3. Search for "Include Mastodon Feed"
+4. Hit the "Install" button
+5. After installation hit the "Activate" button
+
+### Installation via ZIP file
+
+1. Click on the `<>Code` in the top right of this page
+2. Select `Download ZIP`
+3. Create a `include-mastodon-feed` folder in your Wordpress plugins directory
+4. Unpack all the files from the ZIP there (files only, no sub-directory)
+5. Enable plugin in Wordpress
+6. Use shortcode
+
+### Installation via git checkout
+
+If you are familiar with Github you can clone the repository right into your Wordpress plugins folder
+
+1. SSH into your webserver
+2. `cd /path/to/wordpress/wp-content/plugins`
+3. `git clone https://github.com/wolfgang101/include-mastodon-feed.git`
+4. Enable plugin in Wordpress
+5. Use shortcode
+
+## Known issues
+
+### Todo
+
+* improve support for video and audio media attachment types
+* integrate i18n into translate.wordpress.org instead of text constants
+* re-build plugin as custom gutenberg block
+
+## FAQ
+
+### How do I find my account ID?
+As an instance admin you can easily read your user ID in the admin backend. As regular user you can try an API v2 search to find your ID
+
+Use the following URL to get your ID:
+
+```https://example.org/api/v2/search?q=username@example.org&resolve=true&limit=5```
+
+* Change `example.org` to your instance
+* Replace `username` with your handle.
+* Open the URL in your webbrowser
+
+**Note:** You must be logged in to do that
+
+### Can I modify the plugin?
+The plugin is released unter the [Expat License](LICENSE) which is very permissive. Knock youself out!
\ No newline at end of file