An integration plugin for Logseq that connects your graph directly to the Fediverse (GoToSocial, Mastodon, and other Mastodon-API compatible platforms).
Publish individual blocks or entire nested block structures as connected threads, and import remote statuses directly into your notes.
- Publish Single Block: Send any block as a status update to your Fediverse account.
- Publish Thread: Convert a block and all its nested sub-blocks into a sequential thread, automatically chained using
in_reply_to_id. - Smart Chunking: Reads your instance's maximum character limit via the API (
/api/v1/instance) and splits long text blocks seamlessly without truncating or cutting off words. - Import Status: Paste any Toot URL and import its content and author metadata as structured child blocks into your graph.
- Simple Setup: Works out-of-the-box using direct API Access Tokens—no complex OAuth2 flows required.
- Download the latest
package.zipfrom the Releases page. - Unzip the contents into a local folder.
- Open Logseq and go to Settings > Advanced > enable Developer Mode.
- Open the Plugins menu (
Pluginsin the top right orCmd/Ctrl + Shift + P). - Click Load dev plugin and select the directory where you extracted the files.
- Open the Logseq Slash Command menu in any block by typing
/Fediverse: Settings(or go to the plugin settings via the Logseq Plugin Manager). - Enter your instance information:
- Instance URL: The full base URL of your GoToSocial/Mastodon instance (e.g.,
https://social.example.com). - Access Token: An API access token generated from your instance account settings with
readandwritescopes.
- Instance URL: The full base URL of your GoToSocial/Mastodon instance (e.g.,
- Write your content in a block.
- Type
/Fediverse: Publishwithin the block or click the block bullet context menu (...) and select Publish to Fediverse. - Once sent, the block will automatically receive a
fediverse-url::property linking to your published post.
- Create a parent block with nested sub-blocks representing your thread.
- Type
/Fediverse: Publish Threadin the parent block. - The plugin will traverse all child blocks, handle text length checks based on your server limits, upload any embedded media, and post the chain sequentially.
- The parent block will receive a
fediverse-thread::property pointing to the root toot.
- Paste the full URL of a toot into an empty block (e.g.,
https://mastodon.social/@user/123456789). - Type
/Fediverse: Importin that block. - The plugin resolves the remote URL through your instance search API and appends the author and toot text as structured child blocks under the URL.
# Clone the repository
git clone [https://github.com/incsteps/logseq-fediverse-plugin.git](https://github.com/incsteps/logseq-fediverse-plugin.git)
cd logseq-fediverse-plugin
# Install dependencies
npm install
# Build for production (outputs to dist/)
npm run buildTo test locally in Logseq during development, point the Load dev plugin option to the project root after running npm run build.