You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A Microsub server reference implementation for WordPress.
4
14
15
+
## Description
16
+
5
17
[Microsub](https://indieweb.org/Microsub-spec) is a standardized API for creating and managing feeds. It separates feed reading clients from feed aggregation servers, allowing users to use any compatible client with any compatible server.
6
18
7
19
This plugin implements the server side of the Microsub specification. It provides a flexible adapter system that allows reader plugins to integrate with the Microsub API.
8
20
9
-
##Documentation
21
+
### Features
10
22
11
-
-[Creating Custom Adapters](docs/adapters.md) - Guide for integrating reader plugins with Microsub.
23
+
- Full Microsub API implementation
24
+
- Multi-adapter support with result aggregation
25
+
- Automatic endpoint discovery via HTML and HTTP headers
26
+
- IndieAuth integration for authentication
12
27
13
-
## Requirements
28
+
###Requirements
14
29
15
-
- WordPress 6.5 or higher
16
-
- PHP 7.4 or higher
17
30
-[IndieAuth](https://wordpress.org/plugins/indieauth/) plugin for authentication
31
+
- A reader plugin that provides a Microsub adapter
18
32
19
-
## Installation
33
+
## Frequently Asked Questions
20
34
21
-
1. Upload the `microsub` folder to the `/wp-content/plugins/` directory
22
-
2. Activate the plugin through the 'Plugins' menu in WordPress
23
-
3. Install and activate the IndieAuth plugin
24
-
4. Install a reader plugin that provides a Microsub adapter
35
+
### What is Microsub?
25
36
26
-
## API Endpoint
37
+
Microsub is a standardized API for creating and managing feeds. It separates the feed reading interface (client) from the feed aggregation and storage (server), similar to how IMAP separates email clients from email servers.
27
38
28
-
The Microsub endpoint is available at:
39
+
### How do I use this plugin?
29
40
30
-
```
31
-
/wp-json/microsub/1.0/endpoint
32
-
```
41
+
This plugin provides the Microsub API endpoint. You need:
33
42
34
-
Discovery is automatically added to your site's HTML `<head>` and HTTP headers:
43
+
1. The [IndieAuth plugin](https://wordpress.org/plugins/indieauth/) for authentication
44
+
2. A reader plugin that provides a Microsub adapter (like the Friends plugin)
45
+
3. A Microsub client (like Monocle, Indigenous, or Together)
The endpoint is available at `/wp-json/microsub/1.0/endpoint`. Discovery is automatically added to your site's HTML `<head>` and HTTP headers.
39
50
40
-
##Authentication
51
+
### How do I create a custom adapter?
41
52
42
-
This plugin requires the [IndieAuth plugin](https://wordpress.org/plugins/indieauth/) for authentication. Clients authenticate using OAuth 2.0 Bearer tokens obtained through the IndieAuth flow.
53
+
See the [adapter documentation](docs/adapters.md) for a complete guide on creating custom adapters.
43
54
44
-
### Scopes
55
+
### What scopes are required?
45
56
46
57
-`read` - Required for timeline, search, and preview actions
47
58
-`channels` - Required for channel management
48
59
-`follow` - Required for follow/unfollow actions
49
60
-`mute` - Required for mute/unmute actions
50
61
-`block` - Required for block/unblock actions
51
62
52
-
## Available Filters
63
+
## Changelog
53
64
54
-
### Channel Operations
65
+
### 1.0.0
55
66
56
-
-`microsub_get_channels` - Get list of channels
57
-
-`microsub_create_channel` - Create a new channel
58
-
-`microsub_update_channel` - Update a channel
59
-
-`microsub_delete_channel` - Delete a channel
60
-
-`microsub_order_channels` - Reorder channels
67
+
- Initial release
68
+
- Full Microsub API implementation
69
+
- Multi-adapter support
70
+
- Friends plugin adapter included
61
71
62
-
### Timeline Operations
72
+
##Installation
63
73
64
-
-`microsub_get_timeline` - Get timeline entries
65
-
-`microsub_timeline_mark_read` - Mark entries as read
66
-
-`microsub_timeline_mark_unread` - Mark entries as unread
67
-
-`microsub_timeline_remove` - Remove entries
74
+
Follow the normal instructions for [installing WordPress plugins](https://developer.wordpress.org/advanced-administration/plugins/installing-plugins/).
68
75
69
-
### Follow Operations
76
+
### Automatic Plugin Installation
70
77
71
-
-`microsub_get_following` - Get followed feeds
72
-
-`microsub_follow` - Follow a URL
73
-
-`microsub_unfollow` - Unfollow a URL
78
+
1. Go to Plugins > Add New
79
+
2. Search for "microsub"
80
+
3. Click Install Now
81
+
4. Click Activate
74
82
75
-
### Mute/Block Operations
83
+
### Manual Plugin Installation
76
84
77
-
-`microsub_get_muted` - Get muted users
78
-
-`microsub_mute` - Mute a user
79
-
-`microsub_unmute` - Unmute a user
80
-
-`microsub_get_blocked` - Get blocked users
81
-
-`microsub_block` - Block a user
82
-
-`microsub_unblock` - Unblock a user
85
+
1. Download the plugin from [GitHub](https://github.com/pfefferle/wordpress-microsub)
86
+
2. Upload the `microsub` folder to `/wp-content/plugins/`
87
+
3. Activate the plugin through the Plugins menu
83
88
84
-
### Search and Preview
89
+
##Documentation
85
90
86
-
-`microsub_search` - Search for feeds
87
-
-`microsub_preview` - Preview a URL
91
+
-[Creating Custom Adapters](docs/adapters.md) - Guide for integrating reader plugins with Microsub.
88
92
89
93
## Development
90
94
@@ -93,20 +97,11 @@ This plugin requires the [IndieAuth plugin](https://wordpress.org/plugins/indiea
93
97
This plugin includes a [wp-env](https://developer.wordpress.org/block-editor/reference-guides/packages/packages-env/) configuration for local development.
94
98
95
99
```bash
96
-
# Install dependencies
97
100
npm install
98
-
99
-
# Start the environment
100
101
npm start
101
-
102
-
# Stop the environment
103
-
npm stop
104
-
105
-
# Run PHPUnit tests in wp-env
106
-
npm run test:php
107
102
```
108
103
109
-
The local environment will be available at http://localhost:8686 (admin: admin/password).
104
+
The local environment will be available at http://localhost:8686.
110
105
111
106
### Running Tests
112
107
@@ -122,20 +117,8 @@ composer lint
122
117
composer lint:fix
123
118
```
124
119
125
-
## Support
126
-
127
-
If you need help, [check out the support forums on WordPress.org](https://wordpress.org/support/plugin/microsub/).
128
-
129
-
## Contribute
130
-
131
-
Contributions are welcome! Please feel free to submit a Pull Request.
132
-
133
-
## License
134
-
135
-
[GPL-2.0-or-later](LICENSE)
136
-
137
-
## Credits
120
+
## Upgrade Notice
138
121
139
-
Developed by [Matthias Pfefferle](https://notiz.blog)
122
+
### 1.0.0
140
123
141
-
Based on the [Microsub specification](https://indieweb.org/Microsub-spec) from the IndieWeb community.
0 commit comments