2788dc8d96
- Show the Beep wordmark bottom-right of every beep and reply, beside the delete button (delete stays furthest right). - Add Beep_Updater: WordPress-native plugin updates backed by the Gitea releases API, with token auth for the private repo, "View details" changelog, archive-folder normalization, and a "Check for updates" link. - Bump version to 1.7.0; sync readme.txt stable tag + changelog. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
101 lines
4.4 KiB
Markdown
Executable File
101 lines
4.4 KiB
Markdown
Executable File
# Beep
|
||
|
||
A Twitter-style microblog for WordPress. Logged-in users post short updates, like, and reply (with reply threads, multiple levels deep). Likes can drive a "Top" feed for ranking the best beeps. Designed to look like a Twitter timeline, hosted entirely on your own site.
|
||
|
||
## What's in v1.4
|
||
|
||
- **Like beeps and replies.** Hearts on every post and every reply, with a pop animation when you tap.
|
||
- **Nested replies.** Reply to a reply, to a reply, to a reply. Visual indent caps at two levels (deeper threads still nest structurally).
|
||
- **Latest / Top tabs.** "Top" sorts your feed by like count — a built-in way for readers to surface the best stuff.
|
||
- **Per-post Beep badge.** Every beep and reply carries a small bird icon in the corner, branding it as a Beep.
|
||
- **Friendlier visitor experience.** Logged-out visitors see clean read-only beeps; logged-in users get the full interactive feed.
|
||
|
||
## Install Beep
|
||
|
||
1. In wp-admin, go to **Plugins → Add New → Upload Plugin**.
|
||
2. Upload `beep.zip` and click **Install Now**, then **Activate**.
|
||
3. On the page you want the feed (your one-page site, a dedicated "Feed" page, etc.), add the shortcode:
|
||
|
||
```
|
||
[beep_feed]
|
||
```
|
||
|
||
Save and visit the page. As an admin, you'll see a composer at the top — type a message and click "Beep" to post.
|
||
|
||
## Invite friends (with magic links — no passwords)
|
||
|
||
This is the easiest way to let a small circle into your Beep feed without setting up Google/Facebook developer apps. The flow:
|
||
|
||
1. **Open registration.** Go to **Settings → General**, check **Anyone can register**, and set **New User Default Role** to **Subscriber**. Save.
|
||
2. **Install passwordless login.** Plugins → Add New → search for **Passwordless Login** (any well-reviewed one — Cozmoslabs or Magic Login both work). Install and activate.
|
||
3. **Share the sign-up link.** Send your friends a direct link to:
|
||
|
||
```
|
||
https://your-site.com/wp-login.php?action=register
|
||
```
|
||
|
||
They type their email, get a one-time sign-in link, and they're in. No password to remember.
|
||
4. **They can now like and reply.** Liking and replying require being logged in; your feed remains read-only for the public.
|
||
5. **Need to remove someone?** Users → click their name → scroll to **Chirp moderation** → check **Suspend from beeping**. They stay registered but can't post or interact.
|
||
|
||
## Shortcode options
|
||
|
||
```
|
||
[beep_feed limit="50" header="Messages from" sort="latest"]
|
||
```
|
||
|
||
- `limit` — how many beeps to load on first render (default 50)
|
||
- `header` — text shown next to the wordmark (default "Messages from")
|
||
- `sort` — initial sort: `latest` (default) or `top`
|
||
|
||
## Moderation
|
||
|
||
- **Delete any beep or reply.** Logged-in admins see a small × in the top-right of each item.
|
||
- **Approve replies before they appear.** Settings → Discussion → "Comment must be manually approved" puts replies in a queue at **Comments** in the sidebar.
|
||
|
||
## Branding
|
||
|
||
Swap the bird/wordmark in `assets/`. The accent color is `#1D9BF0`; find/replace in `assets/beep.css` for a different palette.
|
||
|
||
## Updates
|
||
|
||
Beep updates like a normal WordPress plugin — the "update available" badge appears
|
||
in **Plugins → Updates** and one-click update works. New versions are pulled from
|
||
the Gitea repo's **Releases**, not WordPress.org.
|
||
|
||
**One-time setup** (private repo) — add to `wp-config.php`:
|
||
|
||
```php
|
||
define('BEEP_UPDATE_TOKEN', 'your-gitea-access-token');
|
||
// Optional overrides (defaults shown):
|
||
// define('BEEP_UPDATE_GITEA_BASE', 'https://git.sami');
|
||
// define('BEEP_UPDATE_REPO', 'sami7777/beep');
|
||
```
|
||
|
||
The token is only read from `wp-config.php` (or the `beep_update_token` filter) — it
|
||
is never stored in the repo. Give it read access to the repo.
|
||
|
||
**To ship an update:**
|
||
|
||
1. Bump the version in **both** places in `beep.php` (the `Version:` header and
|
||
`BEEP_VERSION`), commit, and push.
|
||
2. On Gitea, create a **Release** whose tag is the new version (`v1.7.0` or `1.7.0`).
|
||
Optionally attach a `beep.zip` asset; otherwise the source archive is used.
|
||
|
||
Within ~12 hours (or immediately via the **Check for updates** link on the Plugins
|
||
screen) every site running Beep will see the update and can install it in one click.
|
||
The release description is shown as the changelog in the "View details" popup.
|
||
|
||
## What's not in this version
|
||
|
||
Deliberate omissions to keep the plugin understandable:
|
||
|
||
- Image uploads (text only, 280 char limit)
|
||
- Retweets / quote-beeps
|
||
- Direct messages
|
||
- Custom feeds (no "Following" filter — one global feed)
|
||
|
||
## License
|
||
|
||
GPLv2 or later, same as WordPress.
|