Merge branch 'master' of https://github.com/pfefferle/wordpress-activitypub
This commit is contained in:
commit
a0ed2df6f9
6 changed files with 53 additions and 45 deletions
25
README.md
25
README.md
|
@ -15,13 +15,13 @@ The ActivityPub protocol is a decentralized social networking protocol based upo
|
|||
|
||||
This is **BETA** software, see the FAQ to see the current feature set or rather what is still planned.
|
||||
|
||||
The plugin implements the ActivityPub protocol for your Blog. Your readers will be able to follow your Blogposts on Mastodon and other Federated Plattforms that support ActivityPub.
|
||||
The plugin implements the ActivityPub protocol for your blog. Your readers will be able to follow your blogposts on Mastodon and other federated platforms that support ActivityPub.
|
||||
|
||||
The plugin works with the following federated plattforms:
|
||||
The plugin works with the following federated platforms:
|
||||
|
||||
* [mastodon](https://joinmastodon.org/)
|
||||
* [pleroma](https://pleroma.social/)
|
||||
* [friendi.ca](https://friendi.ca/)
|
||||
* [friendica](https://friendi.ca/)
|
||||
* [hubzilla](https://hubzilla.org/)
|
||||
|
||||
## Frequently Asked Questions ##
|
||||
|
@ -46,17 +46,17 @@ To implement:
|
|||
|
||||
### What is "ActivityPub for WordPress" ###
|
||||
|
||||
*ActivityPub for WordPress* extends WordPress with some fediverse features, but it does not compete with plattforms like Friendi.ca or Mastodon. If you want to run a **decentralized social network**, please use [Mastodon](https://joinmastodon.org/) or [GNU.social](https://gnu.io/social/).
|
||||
*ActivityPub for WordPress* extends WordPress with some Fediverse features, but it does not compete with platforms like Friendica or Mastodon. If you want to run a **decentralized social network**, please use [Mastodon](https://joinmastodon.org/) or [GNU social](https://gnu.io/social/).
|
||||
|
||||
### What are the differences between this plugin and Pterotype? ###
|
||||
|
||||
**Compatibility**
|
||||
|
||||
*ActivityPub for WordPress* is compatible with OStatus and IndieWeb plugin suites. *Pterotype* is incompatible with the standalone [WebFinger plugin](https://wordpress.org/plugins/webfinger/) plugin, so it can't be run together with OStatus.
|
||||
*ActivityPub for WordPress* is compatible with OStatus and IndieWeb plugin suites. *Pterotype* is incompatible with the standalone [WebFinger plugin](https://wordpress.org/plugins/webfinger/), so it can't be run together with OStatus.
|
||||
|
||||
**Custom tables**
|
||||
|
||||
*Pterotype* creates/uses a bunch of custom tables, *ActivityPub for WordPress* only uses the native tables and adds as few meta data as possible.
|
||||
*Pterotype* creates/uses a bunch of custom tables, *ActivityPub for WordPress* only uses the native tables and adds as little meta data as possible.
|
||||
|
||||
### What if you are running your blog in a subdirectory? ###
|
||||
|
||||
|
@ -72,11 +72,11 @@ Where 'blog' is the path to the subdirectory at which your blog resides.
|
|||
|
||||
## Changelog ##
|
||||
|
||||
Project maintained on github at [pfefferle/wordpress-activitypub](https://github.com/pfefferle/wordpress-activitypub).
|
||||
Project maintained on GitHub at [pfefferle/wordpress-activitypub](https://github.com/pfefferle/wordpress-activitypub).
|
||||
|
||||
### 0.7.2 ###
|
||||
|
||||
* fixes JSON representation of posts https://merveilles.town/@xuv/101907542498716956
|
||||
* fixed JSON representation of posts https://merveilles.town/@xuv/101907542498716956
|
||||
|
||||
### 0.7.1 ###
|
||||
|
||||
|
@ -89,7 +89,6 @@ Project maintained on github at [pfefferle/wordpress-activitypub](https://github
|
|||
* simplified "followers" endpoint
|
||||
* fixed default value problem
|
||||
|
||||
|
||||
### 0.6.0 ###
|
||||
|
||||
* add tags as hashtags to the end of each activity
|
||||
|
@ -98,7 +97,7 @@ Project maintained on github at [pfefferle/wordpress-activitypub](https://github
|
|||
|
||||
### 0.5.1 ###
|
||||
|
||||
* fixed name-collision that cases an invenate loop
|
||||
* fixed name-collision that caused an infinite loop
|
||||
|
||||
### 0.5.0 ###
|
||||
|
||||
|
@ -140,7 +139,7 @@ Project maintained on github at [pfefferle/wordpress-activitypub](https://github
|
|||
### 0.3.0 ###
|
||||
|
||||
* basic hashtag support
|
||||
* temporarily deactived likes and boosts
|
||||
* temporarily deactivated likes and boosts
|
||||
* added support for actor objects
|
||||
* fixed encoding issue
|
||||
|
||||
|
@ -152,7 +151,7 @@ Project maintained on github at [pfefferle/wordpress-activitypub](https://github
|
|||
### 0.2.0 ###
|
||||
|
||||
* added option to switch between content and excerpt
|
||||
* removed html and duplicateded new-lines
|
||||
* removed html and duplicate new-lines
|
||||
|
||||
### 0.1.1 ###
|
||||
|
||||
|
@ -169,7 +168,7 @@ Project maintained on github at [pfefferle/wordpress-activitypub](https://github
|
|||
|
||||
### 0.0.2 ###
|
||||
|
||||
* refactorins
|
||||
* refactoring
|
||||
* functional inbox
|
||||
* nicer profile views
|
||||
|
||||
|
|
|
@ -212,7 +212,7 @@ function get_identifier_settings( $user_id ) {
|
|||
<td>
|
||||
<p><code><?php echo esc_html( \Activitypub\get_webfinger_resource( $user_id ) ); ?></code> or <code><?php echo esc_url( get_author_posts_url( $user_id ) ); ?></code></p>
|
||||
<?php // translators: the webfinger resource ?>
|
||||
<p class="description"><?php printf( esc_html__( 'Try to follow "@%s" in the mastodon/friendi.ca search field.', 'activitypub' ), esc_html( \Activitypub\get_webfinger_resource( $user_id ) ) ); ?></p>
|
||||
<p class="description"><?php printf( esc_html__( 'Try to follow "@%s" in the Mastodon/Friendica search field.', 'activitypub' ), esc_html( \Activitypub\get_webfinger_resource( $user_id ) ) ); ?></p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
|
|
|
@ -45,14 +45,14 @@ class Webfinger {
|
|||
$matched = preg_match( '/^acct:([^@]+)@(.+)$/', $resource, $matches );
|
||||
|
||||
if ( ! $matched ) {
|
||||
return new \WP_Error( 'activitypub_unsupported_resource', __( 'Resouce is invalid', 'activitypub' ), array( 'status' => 400 ) );
|
||||
return new \WP_Error( 'activitypub_unsupported_resource', __( 'Resource is invalid', 'activitypub' ), array( 'status' => 400 ) );
|
||||
}
|
||||
|
||||
$resource_identifier = $matches[1];
|
||||
$resource_host = $matches[2];
|
||||
|
||||
if ( wp_parse_url( home_url( '/' ), PHP_URL_HOST ) !== $resource_host ) {
|
||||
return new \WP_Error( 'activitypub_wrong_host', __( 'Resouce host does not match blog host', 'activitypub' ), array( 'status' => 404 ) );
|
||||
return new \WP_Error( 'activitypub_wrong_host', __( 'Resource host does not match blog host', 'activitypub' ), array( 'status' => 404 ) );
|
||||
}
|
||||
|
||||
$user = get_user_by( 'login', esc_sql( $resource_identifier ) );
|
||||
|
|
|
@ -4,14 +4,14 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: ActivityPub 0.7.2\n"
|
||||
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/activitypub\n"
|
||||
"POT-Creation-Date: 2019-04-13 18:07:11+00:00\n"
|
||||
"POT-Creation-Date: 2019-07-28 20:11:43+00:00\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"PO-Revision-Date: 2019-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"X-Generator: grunt-wp-i18n1.0.2\n"
|
||||
"X-Generator: grunt-wp-i18n 1.0.3\n"
|
||||
|
||||
#: includes/class-admin.php:48
|
||||
msgid "Use summary or full content"
|
||||
|
@ -95,18 +95,18 @@ msgstr ""
|
|||
msgid "No \"Public-Key\" found"
|
||||
msgstr ""
|
||||
|
||||
#: includes/functions.php:207
|
||||
#: includes/functions.php:210
|
||||
msgid "Profile identifier"
|
||||
msgstr ""
|
||||
|
||||
#: includes/functions.php:212
|
||||
#: includes/functions.php:215
|
||||
#. translators: the webfinger resource
|
||||
msgid "Try to follow \"@%s\" in the mastodon/friendi.ca search field."
|
||||
msgid "Try to follow \"@%s\" in the Mastodon/Friendica search field."
|
||||
msgstr ""
|
||||
|
||||
#: includes/rest/class-followers.php:46 includes/rest/class-followers.php:49
|
||||
#: includes/rest/class-following.php:46 includes/rest/class-following.php:49
|
||||
#: includes/rest/class-outbox.php:45 includes/rest/class-outbox.php:48
|
||||
#: includes/rest/class-outbox.php:47 includes/rest/class-outbox.php:50
|
||||
#: includes/rest/class-webfinger.php:61
|
||||
msgid "User not found"
|
||||
msgstr ""
|
||||
|
@ -125,11 +125,11 @@ msgid "No \"Actor\" found"
|
|||
msgstr ""
|
||||
|
||||
#: includes/rest/class-webfinger.php:48
|
||||
msgid "Resouce is invalid"
|
||||
msgid "Resource is invalid"
|
||||
msgstr ""
|
||||
|
||||
#: includes/rest/class-webfinger.php:55
|
||||
msgid "Resouce host does not match blog host"
|
||||
msgid "Resource host does not match blog host"
|
||||
msgstr ""
|
||||
|
||||
#: templates/json-author.php:48
|
||||
|
@ -152,7 +152,7 @@ msgstr ""
|
|||
msgid ""
|
||||
"ActivityPub turns your blog into a federated social network. This means you "
|
||||
"can share and talk to everyone using the ActivityPub protocol, including "
|
||||
"users of Friendi.ca, Pleroma and Mastodon."
|
||||
"users of Friendica, Pleroma and Mastodon."
|
||||
msgstr ""
|
||||
|
||||
#: templates/settings-page.php:9
|
||||
|
@ -188,7 +188,7 @@ msgid "Backlink"
|
|||
msgstr ""
|
||||
|
||||
#: templates/settings-page.php:39
|
||||
msgid "Activtity-Object-Type"
|
||||
msgid "Activity-Object-Type"
|
||||
msgstr ""
|
||||
|
||||
#: templates/settings-page.php:43
|
||||
|
@ -196,7 +196,7 @@ msgid "Note (default)"
|
|||
msgstr ""
|
||||
|
||||
#: templates/settings-page.php:43
|
||||
msgid "Should work with most plattforms."
|
||||
msgid "Should work with most platforms."
|
||||
msgstr ""
|
||||
|
||||
#: templates/settings-page.php:46
|
||||
|
@ -205,7 +205,7 @@ msgstr ""
|
|||
|
||||
#: templates/settings-page.php:46
|
||||
msgid ""
|
||||
"The presentation of the \"Article\" might change on different plattforms. "
|
||||
"The presentation of the \"Article\" might change on different platforms. "
|
||||
"Mastodon for example shows the \"Article\" type as a simple link."
|
||||
msgstr ""
|
||||
|
||||
|
|
35
readme.txt
35
readme.txt
|
@ -15,13 +15,13 @@ The ActivityPub protocol is a decentralized social networking protocol based upo
|
|||
|
||||
This is **BETA** software, see the FAQ to see the current feature set or rather what is still planned.
|
||||
|
||||
The plugin implements the ActivityPub protocol for your Blog. Your readers will be able to follow your Blogposts on Mastodon and other Federated Plattforms that support ActivityPub.
|
||||
The plugin implements the ActivityPub protocol for your blog. Your readers will be able to follow your blogposts on Mastodon and other federated platforms that support ActivityPub.
|
||||
|
||||
The plugin works with the following federated plattforms:
|
||||
The plugin works with the following federated platforms:
|
||||
|
||||
* [mastodon](https://joinmastodon.org/)
|
||||
* [pleroma](https://pleroma.social/)
|
||||
* [friendi.ca](https://friendi.ca/)
|
||||
* [friendica](https://friendi.ca/)
|
||||
* [hubzilla](https://hubzilla.org/)
|
||||
|
||||
== Frequently Asked Questions ==
|
||||
|
@ -46,17 +46,27 @@ To implement:
|
|||
|
||||
= What is "ActivityPub for WordPress" =
|
||||
|
||||
*ActivityPub for WordPress* extends WordPress with some fediverse features, but it does not compete with plattforms like Friendi.ca or Mastodon. If you want to run a **decentralized social network**, please use [Mastodon](https://joinmastodon.org/) or [GNU.social](https://gnu.io/social/).
|
||||
*ActivityPub for WordPress* extends WordPress with some Fediverse features, but it does not compete with platforms like Friendica or Mastodon. If you want to run a **decentralized social network**, please use [Mastodon](https://joinmastodon.org/) or [GNU social](https://gnu.io/social/).
|
||||
|
||||
= What are the differences between this plugin and Pterotype? =
|
||||
|
||||
**Compatibility**
|
||||
|
||||
*ActivityPub for WordPress* is compatible with OStatus and IndieWeb plugin suites. *Pterotype* is incompatible with the standalone [WebFinger plugin](https://wordpress.org/plugins/webfinger/) plugin, so it can't be run together with OStatus.
|
||||
*ActivityPub for WordPress* is compatible with OStatus and IndieWeb plugin suites. *Pterotype* is incompatible with the standalone [WebFinger plugin](https://wordpress.org/plugins/webfinger/), so it can't be run together with OStatus.
|
||||
|
||||
**Custom tables**
|
||||
|
||||
*Pterotype* creates/uses a bunch of custom tables, *ActivityPub for WordPress* only uses the native tables and adds as few meta data as possible.
|
||||
*Pterotype* creates/uses a bunch of custom tables, *ActivityPub for WordPress* only uses the native tables and adds as little meta data as possible.
|
||||
|
||||
= What if you are running your blog in a subdirectory? =
|
||||
|
||||
In order for webfinger to work, it must be mapped to the root directory of the URL on which your blog resides.
|
||||
|
||||
**Apache**
|
||||
|
||||
Add the following to the .htaccess file in the root directory:
|
||||
`RedirectMatch "^\/\.well-known(.*)$" "\/blog\/\.well-known$1"`
|
||||
Where 'blog' is the path to the subdirectory at which your blog resides.
|
||||
|
||||
= What if you are running your blog in a subdirectory? =
|
||||
|
||||
|
@ -72,11 +82,11 @@ Where 'blog' is the path to the subdirectory at which your blog resides.
|
|||
|
||||
== Changelog ==
|
||||
|
||||
Project maintained on github at [pfefferle/wordpress-activitypub](https://github.com/pfefferle/wordpress-activitypub).
|
||||
Project maintained on GitHub at [pfefferle/wordpress-activitypub](https://github.com/pfefferle/wordpress-activitypub).
|
||||
|
||||
= 0.7.2 =
|
||||
|
||||
* fixes JSON representation of posts https://merveilles.town/@xuv/101907542498716956
|
||||
* fixed JSON representation of posts https://merveilles.town/@xuv/101907542498716956
|
||||
|
||||
= 0.7.1 =
|
||||
|
||||
|
@ -89,7 +99,6 @@ Project maintained on github at [pfefferle/wordpress-activitypub](https://github
|
|||
* simplified "followers" endpoint
|
||||
* fixed default value problem
|
||||
|
||||
|
||||
= 0.6.0 =
|
||||
|
||||
* add tags as hashtags to the end of each activity
|
||||
|
@ -98,7 +107,7 @@ Project maintained on github at [pfefferle/wordpress-activitypub](https://github
|
|||
|
||||
= 0.5.1 =
|
||||
|
||||
* fixed name-collision that cases an invenate loop
|
||||
* fixed name-collision that caused an infinite loop
|
||||
|
||||
= 0.5.0 =
|
||||
|
||||
|
@ -140,7 +149,7 @@ Project maintained on github at [pfefferle/wordpress-activitypub](https://github
|
|||
= 0.3.0 =
|
||||
|
||||
* basic hashtag support
|
||||
* temporarily deactived likes and boosts
|
||||
* temporarily deactivated likes and boosts
|
||||
* added support for actor objects
|
||||
* fixed encoding issue
|
||||
|
||||
|
@ -152,7 +161,7 @@ Project maintained on github at [pfefferle/wordpress-activitypub](https://github
|
|||
= 0.2.0 =
|
||||
|
||||
* added option to switch between content and excerpt
|
||||
* removed html and duplicateded new-lines
|
||||
* removed html and duplicate new-lines
|
||||
|
||||
= 0.1.1 =
|
||||
|
||||
|
@ -169,7 +178,7 @@ Project maintained on github at [pfefferle/wordpress-activitypub](https://github
|
|||
|
||||
= 0.0.2 =
|
||||
|
||||
* refactorins
|
||||
* refactoring
|
||||
* functional inbox
|
||||
* nicer profile views
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<div class="wrap">
|
||||
<h1><?php esc_html_e( 'ActivityPub Settings', 'activitypub' ); ?></h1>
|
||||
|
||||
<p><?php esc_html_e( 'ActivityPub turns your blog into a federated social network. This means you can share and talk to everyone using the ActivityPub protocol, including users of Friendi.ca, Pleroma and Mastodon.', 'activitypub' ); ?></p>
|
||||
<p><?php esc_html_e( 'ActivityPub turns your blog into a federated social network. This means you can share and talk to everyone using the ActivityPub protocol, including users of Friendica, Pleroma and Mastodon.', 'activitypub' ); ?></p>
|
||||
|
||||
<form method="post" action="options.php">
|
||||
<?php settings_fields( 'activitypub' ); ?>
|
||||
|
@ -36,14 +36,14 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<?php esc_html_e( 'Activtity-Object-Type', 'activitypub' ); ?>
|
||||
<?php esc_html_e( 'Activity-Object-Type', 'activitypub' ); ?>
|
||||
</th>
|
||||
<td>
|
||||
<p>
|
||||
<label><input type="radio" name="activitypub_object_type" id="activitypub_object_type_note" value="note" <?php echo checked( 'note', get_option( 'activitypub_object_type', 'note' ) ); ?> /> <?php esc_html_e( 'Note (default)', 'activitypub' ); ?></label> - <span class="description"><?php esc_html_e( 'Should work with most plattforms.', 'activitypub' ); ?></span>
|
||||
<label><input type="radio" name="activitypub_object_type" id="activitypub_object_type_note" value="note" <?php echo checked( 'note', get_option( 'activitypub_object_type', 'note' ) ); ?> /> <?php esc_html_e( 'Note (default)', 'activitypub' ); ?></label> - <span class="description"><?php esc_html_e( 'Should work with most platforms.', 'activitypub' ); ?></span>
|
||||
</p>
|
||||
<p>
|
||||
<label><input type="radio" name="activitypub_object_type" id="activitypub_object_type_article" value="article" <?php echo checked( 'article', get_option( 'activitypub_object_type', 'note' ) ); ?> /> <?php esc_html_e( 'Article', 'activitypub' ); ?></label> - <span class="description"><?php esc_html_e( 'The presentation of the "Article" might change on different plattforms. Mastodon for example shows the "Article" type as a simple link.', 'activitypub' ); ?></span>
|
||||
<label><input type="radio" name="activitypub_object_type" id="activitypub_object_type_article" value="article" <?php echo checked( 'article', get_option( 'activitypub_object_type', 'note' ) ); ?> /> <?php esc_html_e( 'Article', 'activitypub' ); ?></label> - <span class="description"><?php esc_html_e( 'The presentation of the "Article" might change on different platforms. Mastodon for example shows the "Article" type as a simple link.', 'activitypub' ); ?></span>
|
||||
</p>
|
||||
<p>
|
||||
<label><input type="radio" name="activitypub_object_type" id="activitypub_object_type" value="wordpress-post-format" <?php echo checked( 'wordpress-post-format', get_option( 'activitypub_object_type', 'note' ) ); ?> /> <?php esc_html_e( 'WordPress Post-Format', 'activitypub' ); ?></label> - <span class="description"><?php esc_html_e( 'Maps the WordPress Post-Format to the ActivityPub Object Type.', 'activitypub' ); ?></span>
|
||||
|
|
Loading…
Reference in a new issue