Skip to content

Commit bc6a2ba

Browse files
committed
Update README to WordPress plugin format
1 parent edfbfbc commit bc6a2ba

1 file changed

Lines changed: 56 additions & 73 deletions

File tree

README.md

Lines changed: 56 additions & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -1,90 +1,94 @@
11
# Microsub
22

3+
- Contributors: pfefferle
4+
- Donate link: https://notiz.blog/donate/
5+
- Tags: microsub, indieweb, reader, feeds, rss
6+
- Requires at least: 6.5
7+
- Tested up to: 6.7
8+
- Stable tag: 1.0.0
9+
- Requires PHP: 7.4
10+
- License: GPL-2.0-or-later
11+
- License URI: https://www.gnu.org/licenses/gpl-2.0.html
12+
313
A Microsub server reference implementation for WordPress.
414

15+
## Description
16+
517
[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.
618

719
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.
820

9-
## Documentation
21+
### Features
1022

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
1227

13-
## Requirements
28+
### Requirements
1429

15-
- WordPress 6.5 or higher
16-
- PHP 7.4 or higher
1730
- [IndieAuth](https://wordpress.org/plugins/indieauth/) plugin for authentication
31+
- A reader plugin that provides a Microsub adapter
1832

19-
## Installation
33+
## Frequently Asked Questions
2034

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?
2536

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.
2738

28-
The Microsub endpoint is available at:
39+
### How do I use this plugin?
2940

30-
```
31-
/wp-json/microsub/1.0/endpoint
32-
```
41+
This plugin provides the Microsub API endpoint. You need:
3342

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)
3546

36-
```html
37-
<link rel="microsub" href="https://example.com/wp-json/microsub/1.0/endpoint" />
38-
```
47+
### Where is the Microsub endpoint?
48+
49+
The endpoint is available at `/wp-json/microsub/1.0/endpoint`. Discovery is automatically added to your site's HTML `<head>` and HTTP headers.
3950

40-
## Authentication
51+
### How do I create a custom adapter?
4152

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.
4354

44-
### Scopes
55+
### What scopes are required?
4556

4657
- `read` - Required for timeline, search, and preview actions
4758
- `channels` - Required for channel management
4859
- `follow` - Required for follow/unfollow actions
4960
- `mute` - Required for mute/unmute actions
5061
- `block` - Required for block/unblock actions
5162

52-
## Available Filters
63+
## Changelog
5364

54-
### Channel Operations
65+
### 1.0.0
5566

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
6171

62-
### Timeline Operations
72+
## Installation
6373

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/).
6875

69-
### Follow Operations
76+
### Automatic Plugin Installation
7077

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
7482

75-
### Mute/Block Operations
83+
### Manual Plugin Installation
7684

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
8388

84-
### Search and Preview
89+
## Documentation
8590

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.
8892

8993
## Development
9094

@@ -93,20 +97,11 @@ This plugin requires the [IndieAuth plugin](https://wordpress.org/plugins/indiea
9397
This plugin includes a [wp-env](https://developer.wordpress.org/block-editor/reference-guides/packages/packages-env/) configuration for local development.
9498

9599
```bash
96-
# Install dependencies
97100
npm install
98-
99-
# Start the environment
100101
npm start
101-
102-
# Stop the environment
103-
npm stop
104-
105-
# Run PHPUnit tests in wp-env
106-
npm run test:php
107102
```
108103

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.
110105

111106
### Running Tests
112107

@@ -122,20 +117,8 @@ composer lint
122117
composer lint:fix
123118
```
124119

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
138121

139-
Developed by [Matthias Pfefferle](https://notiz.blog)
122+
### 1.0.0
140123

141-
Based on the [Microsub specification](https://indieweb.org/Microsub-spec) from the IndieWeb community.
124+
Initial release.

0 commit comments

Comments
 (0)