PHPackages                             mediadreams/md\_mastodon - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. mediadreams/md\_mastodon

ActiveTypo3-cms-extension[API Development](/categories/api)

mediadreams/md\_mastodon
========================

Show data from Mastodon social network via API.

v1.0.0(5mo ago)0274GPL-2.0-or-laterPHP

Since Dec 10Pushed 5mo ago1 watchersCompare

[ Source](https://github.com/cdaecke/md_mastodon)[ Packagist](https://packagist.org/packages/mediadreams/md_mastodon)[ RSS](/packages/mediadreams-md-mastodon/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (2)Versions (2)Used By (0)

TYPO3 Extension `md_mastodon`
=============================

[](#typo3-extension-md_mastodon)

With this extension you are able to show Mastodon toots on your TYPO3 website. It will collect data via the API and display it as a Mastodon social wall.

Screenshots
-----------

[](#screenshots)

Example of Mastodon social wall: [![Screenshot detail](Documentation/Images/mastodon_wall.png?raw=true "Mastodon social wall")](Documentation/Images/mastodon_wall.png?raw=true)

Requirements
------------

[](#requirements)

- TYPO3 v12.4 | v13.4

Installation
------------

[](#installation)

- Install the extension by using composer (`composer req mediadreams/md_mastodon`) or the extension manager
- Include the static TypoScript of the extension
- Configure the extension by setting your own Typoscript constants
- `plugin.tx_mdmastodon_api.settings.includeCss`
    Include standard CSS styles for a masonry-layout if the items (toots).

### Template layouts

[](#template-layouts)

You are able to configure template layouts in `TsConfig`:

```
tx_mdmastodon_api {
  templateLayouts {
    1 = First layout
    2 = Second layout
  }
}

```

Usage
-----

[](#usage)

### Create a new entry of type `Mastodon configuration`

[](#create-a-new-entry-of-type-mastodon-configuration)

1. Select module `List`
2. Select a page where to store the record (can be any page)
3. Click the button `Create new record`
4. In the section `Mastodon social networking API` click `Mastodon configuration`

Now you are able to configure a Mastodon feed, which you want to show on the website.

Step 1-3: [![Screenshot detail](Documentation/Images/new_configuration_1.png?raw=true "Step 1-3")](Documentation/Images/new_configuration_1.png?raw=true)

Step 4: [![Screenshot detail](Documentation/Images/new_configuration_2.png?raw=true "Step 4")](Documentation/Images/new_configuration_2.png?raw=true)

**Configure the feed**

- `Title`
    This is for internal use only. It is needed, in order to select the feed in the plugin.
- `Base Api URL`
    The Mastodon base api URL, like `https://mastodon.social/api/v1/`. You can leave this empty, if you have configured a default URL in typoscript constant `plugin.tx_mdmastodon_api.settings.apiUrl`.
- `Api token`
    Mastodon API token. You can leave this empty, if you have configured a default API token in typoscript constant `plugin.tx_mdmastodon_api.settings.apiToken`.
    ATTENTION: Make sure, that you have given the appropriate rights to your Mastodon application, when generating the API key.
- `Api method`
    Select the Mastodon API method.
    - `Accounts`
        Statuses posted to the given account. See
        - `Account ID` (required)
            The ID of the Account in the Mastodon database.
        - `Exclude replies`
            Filter out statuses in reply to a different account.
        - `Exclude reblogs`
            Filter out boosts from the response.
        - `Pinned`
            Filter for pinned statuses only.
    - `Hashtag timeline`
        View public statuses containing the given hashtag. See
        - `Hashtag`
            The name of the hashtag (not including the # symbol).
    - `Home timeline`
        View statuses from followed users. See
    - `List timeline`
        View statuses in the given list timeline. See
        - `List ID`
            Local Mastodon ID of the list in the database.
    - `Public timeline`
        Public timeline of instance. See
- `Only media`
    Show only statuses with media attached.
- `Update frequency`
    Decide how often the feed should be updated (number in seconds).
- `Import date` (read only)
    Date of last update.
- `Data` (read only)
    JSON response of the API call.

### Create scheduler task

[](#create-scheduler-task)

- Select module `Scheduler`
- Click the button `Add task`
- In field `Class` select `Execute console commands`
- Choose a `Frequency`. Note: This can be set for example to 5 minutes and the respective Mastodon feed will be updated, as set in the configuration of the feed (field `Update frequency`).
- In field `Schedulable Command. Save and reopen to define command arguments` choose `mdmastodon:import`
- Save

### Create Plugin to show entries

[](#create-plugin-to-show-entries)

- Select module `Page`
- Select the page where to show the Mastodon feed
- Create new content element of type `General Plugin`
- Switch to tab `Plugin` and select `Mastodon`
- In field `Mastodon configuration` find the configuration, which you have created in the step before
- Decide, how many entries to show be setting a value in field `Limit`
- Save

**ATTENTION**

Be aware, that the feed needs to be imported by running the scheduler task before it can be displayed by the plugin!

Bugs and Known Issues
---------------------

[](#bugs-and-known-issues)

If you find a bug, it would be nice if you add an issue on [Github](https://github.com/cdaecke/md_mastodon/issues).

THANKS
======

[](#thanks)

Thanks a lot to all who make this outstanding TYPO3 project possible!

**The TYPO3 project - inspiring people to share!**

###  Health Score

34

—

LowBetter than 77% of packages

Maintenance72

Regular maintenance activity

Popularity15

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity34

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

160d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/c5d77efbf0d5d788c58c6c783c044fc88a8009cdc65dff094a6b8d7de862de94?d=identicon)[mediadreams](/maintainers/mediadreams)

---

Top Contributors

[![cdaecke](https://avatars.githubusercontent.com/u/2102444?v=4)](https://github.com/cdaecke "cdaecke (25 commits)")

---

Tags

extensionsocialsocial networkTYPO3 CMStypo3mastodonmastodon api

### Embed Badge

![Health badge](/badges/mediadreams-md-mastodon/health.svg)

```
[![Health](https://phpackages.com/badges/mediadreams-md-mastodon/health.svg)](https://phpackages.com/packages/mediadreams-md-mastodon)
```

###  Alternatives

[friendsoftypo3/interest

REST and CLI API for adding, updating, and deleting records in TYPO3. Tracks relations so records can be inserted in any order. Uses remote ID mapping so you don't have to keep track of what UID a record has gotten after import. Data is inserted using backend APIs as if a real human did it, so you can can inspect the record history and undo actions.

111.3k1](/packages/friendsoftypo3-interest)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
