Giter Site home page Giter Site logo

dshanske / syndication-links Goto Github PK

View Code? Open in Web Editor NEW
29.0 8.0 14.0 6.44 MB

Add and Display Syndication Links in WordPress

Home Page: https://wordpress.org/plugins/syndication-links/

License: GNU General Public License v2.0

JavaScript 1.53% PHP 42.52% Shell 0.97% SCSS 30.66% CSS 24.32%
rel-syndication syndication indieweb social posse social-icons wordpress wordpress-plugin

syndication-links's Introduction

Syndication Links

Contributors: dshanske
Tags: syndication, indieweb, indiewebcamp, POSSE, social media, sharing
Tested up to: 6.5
Stable tag: 4.4.20
License: GPLv2 or later

A simple way to link to copies of your cross-posted content in other social networks or websites. Now with posting UI.

Description

It supports adding rel-syndication/u-syndication links to your WordPress posts, pages, and comments, indicating where a syndicated copy is, in the form of a text or icon link. You can do this manually and some plugins support automatically adding their links as well. The plugin contains a generic UI for syndicating to other sites through your site or a Micropub Client.

Screenshots

1. Example of Syndication Links metabox with links filled in

Example of Syndication Links metabox with links filled in

2. Example of output display on website

Example of output display on website

Installation

  1. Upload the folder 'syndication-links' to the '/wp-content/plugins/' directory
  2. Activate the plugin through the 'Plugins' menu in WordPress

Or install through the WordPress Plugin Directory.

Privacy and Data Storage Information

This plugin stores syndication links, which can be attached to any post, page, or comment. They can be added to custom post types by filter.

For webmention initiated comments, this information will be added by parsing the source of the webmention. It is assumed if you send a webmention, you consent to share this information if it is publicly shared on your page. Our recommendation is that site owners should take down information on request.

For comments initiated on the site, there is built-in way to add these links. For posts, they are typically added by retrieving information stored by other plugins for display. It is assumed that by installing this plugin, as its intent is to display these links, that you wish to display them.

Settings

Settings for the Syndication Links plugin can be found in the main WordPress "Settings" tab in the admin dashboard, or if the Indieweb plugin is installed, under the Indieweb tab. The options provided allow for various ways of presenting the syndication links in posts. Syndication Links by default will add links to the content. You can remove this in your plugin if you wish to call the display function directly.

The settings include the following options as follows with either a set of buttons, a check box (with a check indicating that the feature is "on") or an optional text field:

  • Display Text - Offers options to display text only, icons only, icons and text, and no display(hidden icons).
  • Size - Choice of small, medium, or large size icons.
  • Black Icons - Checking the box defaults to a "black" social media icon set.
  • Show on Front Page, Archive Page, and Search Results - If checked the icons will show on pages other than a single view. If not checked, the icons will be hidden by the links will remain.
  • Show on Feed - If checked the icons will show in your RSS feed as well
  • Text Before Links - This is the text that appears before the Display Text/Icons (as indicated above). The default text is "Syndicated to:" but can be modified if desired.

Note: The particular CSS of your theme may change the display and output of the text and some of the icons.

Supported POSSE plugins and implementations

The plugin supports automatically pulling data from plugins that syndicate your content so you don't need to do it manually. For anything not built in, integation is easy with a simple filter for potential use with any other plugin.

Using the optional Syndication feature(disabled by default) you can syndicate your posts to:

  • Bridgy - Bridgy is a service that allows you to post to various sites. Signup is required. It currently supports Github, Mastodon and Flickr. The plugin supports Bridgy Publish via Micropub by default.
  • Bridgy Fed - Bridgy Fed is a service that allows you to interact with federated social networks using webmentions.
  • Micro.blog - Micro.blog is a social network and publishing platform for independent microblogs, created by Manton Reece. It uses a custom feed you can add to Micro.blog to support this.
  • Pinboard - Pinboard is a bookmarking site. The support for this is currently only enabled if you have Post Kinds enabled, due to the difficulty in getting a URL. It will bookmark the URL of any object you are citing.
  • Custom Webmention Syndication - Add any site that supports publishing by sending a webmention by configuring it in the settings page

Will be looking to integrate with other plugins to add more options and invite developers to add support if they wish as the interface is simple. The goal of the interface is not only can you syndicate via Micropub, but in the editor using a simple checkbox.

Frequently Asked Questions

How do I prevent the links from being automatically added to the content?

You will have to add the following code to your theme add_filter( 'syndication_links_display', '__return_false' ); and then you can call get_syndication_links() directly in your theme. You should add this to the init hook.

  • `get_post_syndication_links( $post, $args ) - Returns the HTML for a post.
  • get_comment_syndication_links( $comment, $args ) - Returns the HTML for a comment. ** $args *** style- Defaults to ul ***text- Display text, defaults to settings option ***icons- Display icons, defaults to settings option ***container-css- Class to wrap entire syndication links in ***single-css- Class to wrap a single link in ***text-css` - Class to wrap the text before the links in

How can I look up the original if I have a syndication link?

If you add ?original-of= and the URL-encoded URL it will return the post that has that URL stored. As no two posts should have the same two syndication links it will by default only return the first.

If you want to do this with a form, there is a function you can add to your theme called get_original_of_form() and a widget that calls this. Like the search form if you have a originalofform.php in your theme folder the function will return it so you can customize the form.

What filters are available to modify output?

  • syn_rewrite_secure( $domains ) - $domains is an array of domain names to rewrite to https if found
  • syn_metabox_types( $screens ) - $screens would be an array of post types to add the Syndication Link metabox to.
  • syn_network_strings( $strings ) - $strings is an array of descriptive text strings by domain name
  • syn_add_links( $urls, $post_ID ) - (Deprecated) $urls is an array of retrieved links from $post_ID
  • get_post_syndication_links( $urls, $post_ID) - Replaces syn_add_links.
  • get_comment_syndication_links( $urls, $comment_ID - Filters an array of retrieved comment syndication links.
  • syn_links_display_defaults( $defaults ) - Filter the defaults for displaying Syndication Links
  • syndication_link_checked( $checked, $uid, $post_ID ) - Will check a syndication provider($uid) when loaded. The post ID is passed through to allow more specific targeting.
  • syndication_link_disabled( $disabled, $uid, $post_ID ) - Will disable the checkbox for a syndication provider($uid) when loaded. The post ID is passed through to allow more specific targeting.
  • syn_link_title( $title, $name ) - Allows you to set the title string for Links. Example, pinboard => Pinboard.
  • syn_link_mapping( $icon, $url ) - Allows you to override or set the mapping from URL to icon name.
  • pre_syn_link_icon( $icon, $name ) - Allows you to provide a custom icon. Icons by default are SVG, not URL or filenames.
  • syndication_links_display( true ) - Adds Syndication Links to content display. Set to false if the theme supports this.

How do I contribute or file bug reports?

Development and bug reports on this plugin is on Github at https://github.com/dshanske/syndication-links

Upgrade Notice

Version 4.4.0

Several core function and filter signatures have changed and may cause some compatability issues.

Version 4.2.0

You will have to set up your enabled providers as this setting has changed

Version 4.0.4

Support for Indienews is no longer bundled with this plugin due spam issues. Indienews is dedicated for Indieweb related news.

Version 4.0.0

This version includes the ability to syndicate to external sites. This is disabled by default

Version 3.0.5

Upgrade to this version moves the location of stored syndication links to match the changes in the Micropub plugin. Recommend that all users back up prior to upgrade in the event of accidental corruption.

Version 3.0

Version 3.0 removes the two sets of icon fonts in favor of SVG icons. If this is a concern, do not upgrade at this time. Version 3.0 also removes rel-me support from this plugin as this support is being built into the Indieweb plugin. Please install that.

Version 3.2.2

Removes H-Card Widget as does not fit into this plugin. Moving over to the Indieweb plugin although there is a possibility it may not stay there.

Credits

In no particular order...

  1. The Indieweb community of users and all users of this plugin
  2. Meitar Moscovitz for fixes and code contributions related to support of the plugin in his various plugins.
  3. Justin Tadlock for the initial Social Icons design.
  4. Jihaisse and Peter Molnar for the SNAP, courtesy of WordPress Syndication
  5. Simple-Icons for their icon packs for logos. Simple Icons is licensed under CC0 v1.0 Universal.
  6. Genericons Neue for their generic icon packs. Genericons Neue is licensed under the GPLv2.
  7. Chris Aldrich for many suggestions on improving the display and for screenshots.
  8. PHPCS is used with the WordPress and PHP Compatibility Standards in order to ensure compatibility with supported versions of PHP and enact WordPress Coding Standards.
  9. GitHub Actions is used to actively test against various PHP versions

Changelog

Version 4.4.20 ( 2024-05-12 )

  • Refresh icons
  • Add filtering of some HTML tags for publishing
  • Update Micropub token text

Version 4.4.19 ( 2024-03-12 )

  • One final tweak today

Version 4.4.18 ( 2024-03-12 )

  • Introduce custom excerpting function for syndication

Version 4.4.17 ( 2024-03-12 )

  • Fix for issue in not properly passing content to Micropub.

Version 4.4.16 ( 2024-02-25 )

  • Update Simple Icons to latest
  • Remove custom bluesky icon in favor of current one
  • Generate minimal CSS file with just the icon colors for Bridgy supported services that can be manually queued
  • Add support for 10ups Twitter Autoshare plugin
  • Add Syndication provider for Bluesky via Bridgy

Version 4.4.15 ( 2023-12-05 )

  • Fix issue with constant

Version 4.4.14 ( 2023-12-01 )

  • Update support for WP-To-Twitter plugin, now Xposter.

Version 4.4.13 ( 2023-10-21 )

  • Add featured derived from the thumbnail of the post for the micropub syndication mf2.
  • Add nostr icon
  • Add cloud icon colored blue as placeholder for Bluesky
  • Add map from indieweb news to indieweb icon

Version 4.4.12 ( 2023-10-01 )

  • Only alow for immediate publishing if the post status is publish
  • Refresh dependencies
  • Bump minimum version to PHP 7.0

Version 4.4.11 ( 2023-5-28 )

  • Disable the option to use the webmention version of Bridgy where Micropub is available and use constant instead.

Version 4.4.10 ( 2023-05-28 )

  • Add API Key tab to the settings page
  • Minor tweaks to improve the rendering of the settings page

Version 4.4.9 ( 2023-05-22 )

  • Refresh Simple Icon set

Version 4.4.8 ( 2023-05-22 )

  • Add labels to settings
  • Remove Twitter Bridgy support due Bridgy removing it.

Version 4.4.7 ( 2023-02-18 )

  • Make posts always enabled for Syndication Links by default to try to address issues people had with same.

Version 4.4.6 ( 2023-02-10 )

  • Emergency release to deal with critical error caused by removal of Bridgy settings.

Version 4.4.5 ( 2023-02-10 )

  • Add labels to settings
  • Fix load issues introduced in previous version
  • Migrate Bridgy Specific settings to universal settings by reimplementing them for Micropub.

Version 4.4.4 ( 2023-01-24 )

  • Remove support for Reddit which does not have a publishing option
  • Per request developer of Bridgy only offer Micropub as a basic action
  • Improve disabled and checkbox handling
  • Improve WordPress to Micropub conversion and use function from Post Kinds

Version 4.4.3 ( 2023-01-02 )

  • Improve response to error and store logs in a metafield.

Version 4.4.2 ( 2022-12-25 )

  • Fix a miscalled function
  • Adjust the load of options to better display
  • Add notation regarding difference between Micropub and Webmention for Bridgy

Version 4.4.1 ( 2022-12-20 )

  • Add function to shorten content to title for Twitter Micropub if longer than 280 characters
  • Add function to shorten content to title for Mastodon Micropub if longer than 500 characters
  • Fix respecting of excerpt settings for Twitter and Mastodon
  • Fix issue with saving Syndication Links

Version 4.4.0 ( 2022-12-19 )

  • Add filter to disable content addition
  • Hide settings if not being used
  • Refresh icons
  • Decommission Meetup as no longer offered by Bridgy
  • New Tabbed Settings Page
  • Add options to select which post types will offer syndication and links
  • Add option to disable use of wp cron and publish immediately
  • Introduce support for Bridgy via Micropub
  • Fix issue with Mastodon Autoposter

Version 4.3.11 ( 2022-05-14 )

  • Refresh icons and CSS build logic
  • Add function to determine mastodon URLs using the mastodon fields in user profiles

Version 4.3.10 ( 2022-02-13 )

  • Refresh icons and other dependencies
  • Save syndication on save, and publish on publish, whereas previously it would only save if you published.

Version 4.3.9 ( 2022-01-11 )

  • Switch empty links to data tags.
  • Switch to new query microdotblog/issues#81 for microdotblog to save on multiple polling requests.

Version 4.3.8 ( 2022-01-08 )

  • Refresh icons
  • Fix issue where hidden links were still taking up space.

Version 4.3.7 ( 2021-11-02 )

  • Refresh icons

Version 4.3.6 ( 2021-07-24 )

  • Style change

Version 4.3.4 ( 2021-06-12 )

  • Refresh icons
  • Switch from id to class for syndication links wrapper

Version 4.3.3 ( 2021-02-28 )

  • Fix issue with schema.

Version 4.3.2 ( 2021-02-28 )

  • Introduce pre_syndication_links_webmention hook to allow you to clear cache before sending webmention.
  • Fix various PHP errors.

Version 4.3.1 ( 2020-12-12 )

  • Introduce syn_link_name filter that allows you to set the name string.
  • Introduce pre_syn_link_icon filter to allow short circuiting the domain mapping and providing an SVG of your choice.
  • Save last return in post meta for diagnostic purposes.

Version 4.3.0 ( 2020-10-13 )

  • Refresh icons
  • Add optional Pinboard POSSE that is only enabled with Post Kinds

Version 4.2.6 ( 2020-08-15 )

  • Update dependencies
  • Adjust publish hook to try to improve success

Version 4.2.5 ( 2020-08-03 )

  • Change time delay syndication code to behave more like the ping/webmention code

Version 4.2.4 ( 2020-08-01 )

  • Change how to decide to postpone syndication if post is scheduled as publish status can be in the future
  • Add ?syndication query variable to allow for filtering archives by syndication link type

Version 4.2.3 ( 2020-06-28 )

  • Add support for Reddit Via Bridgy
  • Dependency and icon updates
  • Add support for importing links from WP-To-Twitter ( props @tw2113)
  • Removal of master branch in favor of trunk branch.

Version 4.2.2 ( 2020-03-26 )

  • Add support for Meetup via Bridgy, props @ngm
  • Dependency and icon updates
  • Code organization cleanup, props @tw2113 and @asuh

Version 4.2.1 ( 2019-12-21 )

  • Fix escaping issue
  • Improve text for micro.blog syndication
  • Add filter to allow checkboxes to be disabled or checked or both

Version 4.2.0 ( 2019-12-15 )

  • Add support for Bridgy Mastodon ( props @CharlieRoseMarie )
  • Check for empty values ( props @glueckpress )
  • Enhance Syndication Metabox ( props @glueckpress )
  • Refactor domain to icon mapping into separate class already there to map custom domains
  • Fix issue where PHPCS was rewriting wordpress to WordPress
  • Switch provider disable functionality to enable functionality
  • Redo domain to icon mapping logic
  • Add micro.blog POSSE support

Version 4.1.4 ( 2019-11-18 )

  • Refresh icons
  • Fix icon association to news.indieweb.org

Version 4.1.3 ( 2019-07-01 )

  • Fix issue with providers not loading because of name change in webmention plugin
  • Refresh icons

Version 4.1.2 ( 2019-05-12 )

  • Update icon size to be relative
  • Reschedule syndication if post status is in future
  • Trigger edit post hook if syndication links are added to try to invalidate cache

Version 4.1.1 ( 2019-04-13 )

  • Update icons
  • Fix minor typo
  • Attempt at cache busting

Version 4.1.0 ( 2019-02-09 )

  • Switch to inline SVG over SVG sprites to reduce load size
  • Add ability to configure arbitrary webmention POSSE providers on the settings page

Version 4.0.5 ( 2019-01-05 )

  • Fix minor bug introduced in customizer by original of widget

Version 4.0.4 ( 2018-12-29 )

  • Add setting to use the excerpt if set for Bridgy Publish to Twitter
  • Indienews(news.indieweb.org) will no longer be a bundled provider per request due spam issues
  • When automatically added to content wrap the links in an element for styling
  • Add function get_original_of_form() which creates a search for for the original of query which looks up posts by their syndication link
  • Added widget that calls new original of form function

Version 4.0.3 ( 2018-12-08 )

  • Checks for 5.0 compatibility.

Version 4.0.2 ( 2018-11-05 )

  • Fix PHP notice about incorrect setting
  • Restore Bridgy global settings options that were in the Bridgy plugin to disable the link back to the post and ignore whitespace

Version 4.0.1 ( 2018-11-03 )

  • Fix issue with settings caused in previous version
  • Add base Bridgy class to store settings
  • Fix issue with display

Version 4.0.0 ( 2018-11-01 )

  • Add support for syndicating posts using an interface to any arbitrary provider
  • include support for syndicating from Micropub to any arbitrary provider

Version 3.4.1 ( 2018-05-06 )

  • Refresh Simple Icons
  • Remove internationalization of icon names
  • Update development environment
  • Add Syndication data to JSONFeed
  • Do not add syndication information to the content of a jsonfeed
  • Add privacy policy and export data support for WordPress 4.9.6
  • Add privacy notice to readme

Version 3.4.0 ( 2018-03-03 )

  • Updated Simple Icons to latest version
  • Switched Genericons Neue to a submodule as the svg version was not distributed in the npm package
  • Added support for Mastodon Auto Post per request. Unable to test due not using same
  • Added support for Keyring Social Importer. Unable to test due not using same
  • Simplified saving of metadata
  • Changed Metabox to a dynamically generated array

Version 3.3.2 ( 2018-02-03 )

  • Updated Simple Icons to latest version

Version 3.3.1 ( 2018-01-04 )

  • Updated Simple Icons to latest version
  • Support for pulling data out for SNAP out of Post Meta without dependence on SNAP classes

Version 3.3.0 ( 2017-12-?? )

  • Switched to Simple Icons as larger, updated, and maintained more frequently than Automattic's Social Icons repo
  • Added in the Genericon Neue pack for when there is no logo for a site with a series of generic icons
  • SVG Sprite only will be distributed instead of individual SVG files
  • Icon colors automatically generated from Simple Icons repository
  • Icon names automatically generated from Simple Icon repository
  • New code to try and find an icon without hard coding the domain to icon relationship by trying to find the icon name inside the domain string.
  • Development tools now configured for bringing in PHPCS Coding Standards and generating new files
  • Screenshots!
  • License information included for the plugin as well as dependencies
  • Again, automation automation automation

Version 3.2.4 ( 2017-11-23 )

  • Changelog will now note a release date
  • Added/redid colors for many links

Version 3.2.3

  • Remove Social Support as Plugin is no longer listed in WordPress repository
  • Add additional syndication icons
  • Fix textdomain issues
  • Add PHP Compatibility tests and textdomain tests
  • PHPCS Improvements
  • Add setting for disabling links in feed

Version 3.2.2

  • Remove H-Card Widget

Version 3.2.1

  • Break add get_syndication_links function into smaller pieces ( props @Ruxton )
  • Adds get_syndication_links_elements which returns array of anchor tags
  • Adds get_syndication_links_display_defaults to return default options
  • Adds get_syndication_links_text_before to return textbefore on it's own

Version 3.2.0

  • Add support for comment syndication links
  • Add CSS for styling text before

Version 3.1.1

  • Fix documentation re priority of content filter
  • Remove empty check as interfering with filter
  • Add uniqueness check after filter

Version 3.1.0

  • Cleanup of settings attributes using enhancements available in WordPress 4.7
  • Individual SVG icons and code to generate an SVG sprite now included in the plugin
  • Option to have hidden links now available
  • Small Medium and Large CSS files are included by option - generated by sass
  • Option to disable links being added to content removed as they can now be hidden. Any theme that wants to call the display function directly will have to remove the content filter
  • Add arguments to get_syndication_links to allow for customized presentation
  • Adding ?original-of=url with url being the syndication URL will return the original entry.

Version 3.0.5

  • Change storage of syndication links in order to match Micropub plugin. Storage is now array
  • Remove old property once migrated to new
  • Remove JSON REST filter as deprecated
  • Add support for the official Medium plugin per request @chrisaldrich

Version 3.0.4

  • Compatibility update
  • Add textdomain for language support

Version 3.0.2

* Adjust close bracket

Version 3.0.1

* Fix text display issue

Version 3.0.0

* Remove icon fonts in favor of SVG
* Remove rel-me support to move to implementation in Indieweb plugin
* Remove h-card support to move to implementation in Indieweb plugin (it wasn't very good anyway)
* Introduce new get_syndication_data function to abstract out storage

Version 2.1.0

* Removed user meta code

Version 2.0.3

* Minor Tweaks and Cleanup

Version 2.0.2

* CSS fixes
* Version number added to CSS import to avoid caching on update

Version 2.0.1

* Misc. Bug Fixes
* Bridgy Publish Support removed - new Bridgy plugin will handle that

Version 2.0.0

* Rewritten to remove global scoping
* Option to add URLs to the head of the home page for rel-me auth
* Option to add URLs as a widget for rel-me auth

Version 1.0.3

* Security Fix. Nothing new

Version 1.0.2

* Refinements
* Add support for pages and a filter to add additional content types

Version 1.0.0

* Refinements
* Addition of h-card widget.
* Improvements to hooks
* Addition of automatic information from SNAP and Social(courtesy WordPress Syndication).
* Now supports second font choice and choice of color or black.

Version 0.6.0

* Add hooks and functions to allow additional urls to  be added

Version 0.5.0

* Clean up the plugin for initial release to WordPress repository.

Version 0.5

* Moved to simplified data structure.
* Hidden migration function

Version 0.4

* Rewriting using Grunt/SASS for more flexibility

Version 0.3

* Customizable Networks finished.
* Changed social icons CSS to automatically add only if the class for the list has social-icon in it.

Version 0.2

* Settings Screen rewritten using WordPress Settings API.
* Going to rewrite with customizable networks and thus option to disable sites you do not syndicate to.
* Added social icons CSS to automatically add icons to anything in a <LI>

Version 0.1

* Forked from the Semantic Comments plugin. Start of configurable options.

syndication-links's People

Contributors

charlierosemarie avatar chrisbergr avatar dependabot[bot] avatar dshanske avatar fabacab avatar glueckpress avatar guanchishan avatar iamwebrocker avatar kraftbj avatar ngm avatar paulrobertlloyd avatar ruxton avatar tw2113 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

syndication-links's Issues

Improved support for SNAP

Many of the channels in SNAP are already supported, but most are currently missing. Support would include not only adding the SVG icons for them, but adding auto-import for displaying them in the list based on the storage location within SNAP.

SNAP currently supports the following:
500px
App.net - perhaps leave this off as App.net is currently shutting down?
*Blogger
DeviantART
Diigo
Delicious
*+Facebook
*Flickr
Flipboard
+Google+ (did the icon get fixed for plus.google.com? It doesn't currently display in the stable version)
*Instagram
Instapaper
*LinkedIn
LiveJournal
MailChimp
*Medium
Ok.ru
Plurk
*Pinterest
*Reddit
Scoop.it
Sett
*StumbleUpon
*Telegram
*+Tumblr
*+Twitter
vBulletin
VK.com
Weibo
*WordPress
XING
Yo
*YouTube

Those marked with a * currently have support for icon display
Those marked with a + currently have support for import of the link

Duplicated syndication links when using with SNAP

Today, I started experimenting using SNAP as part of my POSSE regimen and noticed the following quirk with syndication-links installed:

snap duplication

SNAP seems to be adding the top line saying "Also on" along with the three written text social networks Facebook, Tumblr, and Twitter (verified by disabling SNAP), while syndication-links plugin adds the bottom line saying "Syndicated to:" followed by the much prettier social media icons. (For comparison, the Google+ and LinkedIn icons are as a result of manually placing the URLs into syndication-links's box on the post's editor.)

Naturally, I'd much prefer (and I'm sure most others would as well) syndication-links's method of output given that it's more flexible and customizable. The question is how can one hide/disable the output from SNAP, but while still keeping the additional URL data they're backporting from POSSE for display into syndication-links?

Is it worth adding a configuration toggle in the settings to disable the SNAP output version for future cases/conflicts like this?

H-Card and Rel-Me Widgets

Have added in the start of support for an H-Card and a Rel-Me Widget, and will be coding rel-me links in the same manner the rel-syndication links are coded.

Had the code already ready in a different context. Needs to be refined.

Simpleicons branch issues

The following services are missing and/or missing icons:
anchor.fm
app.net (though it may be gone, people may have syndicated links there)
diigo.com
dreamwidth.org
huffduffer.com
news.indieweb.org (though I'm not sure what icon it would have?)
path.com
polldaddy
twitch.tv
whatsapp.com
ok.ru
Scoop.it
Sett.com
upcoming.org
vBulletin.com
VK.com.com
Weibo.com
username.withknown.com
Yo.com

Odd outliers:

  • flipboard.com - works, but it's commonly used shortened version (used by SNAP) http://flip.it/ isn't covered - displaying from SNAP requires manual cut/paste as syndication links doesn't look for/import it from SNAP
  • lanyard.com - works, but in the code it was listed simply as Lanyard (without the .com) typo??
  • mastodon.social isn't covered, but to properly cover mastodon, you'd need to cover a bunch of separate instances, though most at least have the word "mastodon" and or "social" within their URL somewhere. Some sources of instances include: https://instances.social/list#lang=&allowed=&prohibited=&users= and https://joinmastodon.org/
  • ebay's icon is alright, but seems small and unreadable by comparison with others

Misc:
For generic websites that aren't included, when output as "icon+text" it would be nice if they displayed the raw base URL without the TLD (.com, .org, etc.) as the text the same way the others do.

Parallelism of display with common Jetpack plugins

I was looking at some CSS and noticed a few things that could be tweaked on the output.

As I suppose is reasonably common, many people on WP will be using one or more Jetpack features in addition to Syndication-Links. (I suspect many Gen 2-4 IndieWeb users will rely on Jetpack for syndication for its ease of use.) As a result, it would be nice if Syndication Links had a (default) parallel structure and mark up to "Like", "Share" and "Related Posts" within Jetpack.

To do this I'd suggest something like the following modified structure which Jetpack uses:

<div class="sharedaddy">
  ::before
     <h3 class="relsyn sd-title">Syndicated to:</h3>  //or whatever the programmed option is
          <ul>
               <li>Syndicated names/icons, etc...</li>
               <li>Syndicated names/icons, etc...</li>
          </ul>
</div>

Naturally the styling classes should be something relsyn-related with similar (or exact default) mark up as "sharedaddy" and "sd-title". If I have the patience shortly, I'll dig through the dozens of .css files jetpack throws in to style these and do a PR if you don't suspect any issues with your current roadmap.

Making the syndicated icons the same 34x34 px of the "Share" icons would be nice, but for UX/UI reasons, keeping them smaller to encourage sharing over clicking to view syndicated versions would probably be preferable to most users. Thoughts?

Since, it's early days for indieweb, is it worth wrapping the text "Syndicated to" (as an example) with a url to indieweb.org/POSSE the way that Webmention Form plugin links to WebMention to allow for some additional publicity? Perhaps those who see this functionality on sites will be prompted to want to get it themselves?

Additionally/separately, is it possible to hook Syndication links (as a default) in above all three of these common plugins so that it appears at the top of the list? (IndieWeb > Jetpack) Alternately, providing a setting value to allow placement in this hierarchy may be nice (for the future).

syndication layout

UX/UI enhancement: Blank syndication links being syndicated

woodwind

I've seen blank versions of syndicated links appear on various platforms, the one above is a capture from the reader Woodwind.xyz. I've also noticed it when syndicating to tumblr.com and Facebook (though I've removed it programatically since). I'm not sure if I've seen them display on other sources (in most cases I choose to use the icon versions rather than text, but could do a quick test to see if the text at least appears.) Since I'm sure there are others, I'm curious if there's a way to either fix how these show up (or not) or simply move them for POSSEd copies?

Thoughts on UX/UI:
I'm presuming that they're hooked onto the end of the_content(), which then means that they're being syndicated out as part of the body of the content. I would suggest that on most platforms, most people don't/won't care about the fact that there are syndicated copies (though for the near term of advertising the concept for the IndieWeb, keeping them may be valuable), particularly when they can view the primary source which ought to presumably have all the commentary and webmentions (by backfeed or other means).

Interestingly, I occasionally see, though not as often, the "Share This" data flow through in the same manner. In my case the share this appears above the list of syndicated links: viz:
share this
Is there some type of processing that Jetpack is doing to prevent this from syndicating as "content"?

The way I typically think about it, knowing about syndicated copies is mostly useful as a function of commenting rather than content, so that if someone comments in Facebook, for example, I go back to that silo to post a response, so their chosen platform can send notifications/emails etc about the interaction, and rely on webmentions to backport my own comment onto my site and to keep the flow of conversation on the original post rather than a separate post on my own site that points back to another. Perhaps then, the best default location for syndication links is within the comments section? This then solves the problem of syndicating out blank versions, but more closely associates the syndicated copies with the "conversation" about the post. Potentially putting them at the top of the comments section could also keep them relatively close to where they currently live as a default.

I pose most of this as ideas/potential suggestions, but I'm curious what others think in terms of what/how they use this functionality.

Display issue on syndicated links

I'm supposing it's a simple CSS display issue that's been baked in from the start, but I've noticed that when hovering over the individual output links indicating where a particular post has been syndicated to, the icon and the word (eg, the Facebook icon and the world "Facebook") shift over a few pixels, I'm supposing in part to indicate they're being hovered over. In general this isn't horrible, but there are some examples where it make the functionality difficult or nearly impossible to use and at best simply wonky.

As an example, try hovering over the Facebook link at http://lfl8424.boffosocko.com/2015/08/12/todays-books-august-12-2015/ and it shifts things enough that one block of text at the end of the line shifts to the next line.

Even worse, on that same page it becomes nearly impossible to click on the "adamshillca" synidcated link because it shifts incessantly from it's initial position to the following line.

Perhaps it's my particular CSS, but, that I'm aware of, I haven't handcoded any of the relevant CSS, and have the same issue on two separate sites with different themes/CSS. I'm also supposing it's done purposefully as it occurs on https://david.shanske.com/ as well, though it's not as obvious there as you're just outputting the social media icons only.

Best way to support this plugin from other WordPress plugins?

Hi,

I maintain the Tumblr Crosspostr, Diasposter, and WP-Crosspost POSSE plugins and I'm just beginning to explore adding rel-syndication support to these plugins by default. Each of these plugins stores the necessary information to construct a link to the syndicated copy of a post, so that part seems simple.

My question for you is whether you think it would make more sense to implement compatibility with your plugin through its filter hook called by my own plugins, or to supply you with a patch that would add support for my plugins to your plugin. I'm leaning towards the first approach just because it seems simpler, but I'm asking because it seems like there isn't really a standard solution for rel-syndication on WordPress yet, and you seem more tuned into where such development is going than I am.

Thank for your feedback. :)

Remove dependence on SNAP classes

Right now, the plugin checks for the existence of SNAP and uses its helper classes to pull metadata. Which means that if SNAP is removed(for example if I wantto switch services), the syndicated links will no longer appear.

Since I'd like to someday switch to Bridgy Publish or otherwise and uninstall the plugin, I need to either write a migration routine or allow this plugin to view the data without dependency.

Text Before Links text should have stylable class

In tweaking/changing the CSS for the multiple sizes (around v3.1.1), you removed the class from the "Text Before Links" portion, so it's not easily accessible for theming.

It might also be worth putting the entire output into a div with a class as well for better CSS control.

cross reference: #29

Syndicated copies to silos include "Syndicated to:" text

Similar to this issue with Jetpack: Automattic/jetpack#4399

The text output from Syndication Links (the default text "Syndicated to:" ) shows up in the syndicated copies (and I'd generally think that most wouldn't want it from a UI/UX perspective). I've tried syndicating to most of the major platforms and Facebook and Tumblr appear to be the primary offenders.

Example:
Original: http://boffosocko.com/2016/07/16/the-indieweb-ified-library/
Syndicated Tumblr Copy: http://chrisaldrich.tumblr.com/post/147515812392/the-indieweb-ified-library
Syndicated FB Copy: https://www.facebook.com/ChrisAldrich/posts/10101055831666725?pnref=story

Perhaps the checks and the patch mentioned in Automattic/jetpack#4399 could provide a solution?

Move Post Meta to MF2_Syndication

In order to be consistent with other plugins, move storage of URLs to MF2_Syndication to match Indieweb parameters for new storage.

Missing a closing </a> tag

After the most recent update to the indieweb suite, I've noticed there doesn't seem to be a closing <a> tag after the last syndication link which can cause spurious links to appear thereafter. Example: see http://boffosocko.com/2016/06/05/55673405/ which has an oddly linked gravatar author section.

closing tag

Separately, The new svg icons are nice. I'm glad to see that Medium is included (that terrible silo). I'm sure you're aware you're missing WordPress and Tumblr icons (or they're not processing properly as *.tumblr.com or *.wordpress.com formats)...

Syndication to Medium

Now that Medium's API now supports posting and in addition to their "import post" functionality (POSSE), their bulk POSSE method, as well as their WordPress Plugin, it would be great if Syndication Links could programatically grab the URL from the plugin for inclusion. (I don't think any of the other methods provide data, but I could be wrong.)

For reference the WordPress Medium Plugin is storing the data in postmeta in meta_key named "medium_post"

Here's an example from something that I posted recently from that field:
O:11:"Medium_Post":11:{s:16:"author_image_url";s:69:"https://cdn-images-1.medium.com/fit/c/200/200/0*ici7OvT6gSngj2t9.jpeg (14KB) ";s:10:"author_url";s:32:"https://medium.com/@chrisaldrich";s:11:"byline_name";N;s:12:"byline_email";N;s:10:"cross_link";s:2:"no";s:2:"id";s:12:"4335e2d72369";s:21:"follower_notification";s:3:"yes";s:7:"license";s:19:"all-rights-reserved";s:14:"publication_id";s:12:"12b80d28f892";s:6:"status";s:6:"public";s:3:"url";s:73:"https://medium.com/@chrisaldrich/wordcamp-orange-county-2016-4335e2d72369";}

It's obviously the final URL in the array that you'd want to scrape.

Bridgy support in v2.0.1

Before I update, I notice that v2.0.1 indicates:

  • Bridgy Support removed - new Bridgy plugin will handle that

Does this mean that the new Bridgy plugin already exists and is currently handling Bridgy support?

Is this plugin within syndication-links, or a separate project within Indie Web? If it's in syndication-links does this mean that I'll be without bridgy support until the next update?

Thanks, as always, David for you work on this and the indieweb movement!

Add Support for Embeds

The oembed features intorduced in WordPress 4.4 allow one site to be embedded into another. Explore the idea of adding Syndication Links to the embed using the embed_footer and embed_header actions.

Missing Icons

I noticed that there doesn't seem to be an icon (or it's blank) within syndication links for SoundCloud. It doesn't display the default "share" icon, but shows up as a blank white spot. Maybe a typo in 'syndication-links/includes/class-syn-meta.php' as 'soundcloud.com' => 'cloud',instead of 'soundcloud'?

Additionally, Ghost and Mailto are explicitly supported in the code, but use the default share icon rather than native icons (perhaps because Ghost doesn't have none?)

Cross reference photo at http://boffosocko.com/2017/01/06/a-secondary-meaning-for-posse/

UI/UX: Don't display "Text Before Links" text when empty

With the plugin set up and "Text before links" set (to something like "Syndicated to:") that text displays even when there are no syndicated copies in the field. If there aren't syndicated copies, then ideally the text shouldn't appear.

I thought this had been previously filed, but don't see it in the queue anymore, so apologies if it's a duplicate, or fixed in current code, but not in stable.

Error Activating Plugin

When activating this plugin I get the following error:

Fatal error: Cannot redeclare store_bridgy_publish_link() (previously declared in /var/sites/r/rossgoodman.com/public_html/wp-content/plugins/wordpress-syndication-master/rel-syndication.php:192) in /var/sites/r/rossgoodman.com/public_html/wp-content/plugins/syndication-links/bridgy.php on line 7

Text Only and Hidden don't seem to work in 0e60a65

Using the current Github version 0e60a65
in conjunction with WP 4.7.2
Perhaps you're aware, but just in case...

Selecting the display option "text only" displays both text and icons instead of just text.
Similarly selecting "hidden" still displays the text and icons instead of hiding them.

I don't think I'd use "hidden" myself, but adding it for those who don't want to display, but still want original post discovery for stuff like Bridgy is brilliant. GWG++

At some point I think for better UI, you had increased the priority of the plugin so that syndication links displayed above JetPack's "Share This" and "Like This" functionalities. Perhaps it changed as it's now displaying between the two again.

I like the decision to move the checkbox out for removing from the_content for theme support. Fewer people will likely be confused, particularly with the new option for hidden links, and anyone doing theme-specific support should understand the filter.

Duplication of links upon update

With v3.1.1 and relying on SNAP for POSSE, I'm noticing that after publishing and syndicating, if one comes back and edits a post and then updates it, Syndication Links regrabs the URL's and duplicates the links.

The first unedited version that is shown seems to be a plain http link and after editing/updating, the second duplicated link that is added automatically is an https version.

Manually deleting either of the included links from the Syndication Links box doesn't get rid of the links.

This duplication of the links only happens on posts which have been later edited/updated.

example: http://boffosocko.com/2017/02/16/podcast-directories-why-cant-we/
Here the Twitter and Facebook links, which are generated from SNAP, are duplicated, first as http and then again as https. As a test, the two other syndication links are non-SNAP generated links: huffduffer was manually inserted, and the WordPress one was generated from the WordPress Cross Post plugin, so I'm guessing it's an issue caused by the storage of SNAP links (which are https) versus Syndications Links' storage.

Simpleicons branch fatal error

Alas, before even being able to test much of anything, I've run into a problem just on activation:

Fatal error: Uncaught Error: Call to undefined function simpleicons_syn_get_names() in /homepages/32/d491429024/htdocs/boffoblog/wp-content/plugins/syndication-links/includes/class-syn-meta.php:216 Stack trace: #0 /homepages/32/d491429024/htdocs/boffoblog/wp-content/plugins/syndication-links/includes/class-syn-meta.php(362): Syn_Meta::url_to_name('https://chrisal...') #1 /homepages/32/d491429024/htdocs/boffoblog/wp-content/plugins/syndication-links/includes/class-syn-meta.php(406): Syn_Meta::get_syndication_links_elements(NULL, Array) #2 /homepages/32/d491429024/htdocs/boffoblog/wp-content/plugins/syndication-links/includes/class-syn-meta.php(450): Syn_Meta::get_syndication_links(NULL, Array, Array) #3 /homepages/32/d491429024/htdocs/boffoblog/wp-content/plugins/syndication-links/includes/class-syn-meta.php(439): get_syndication_links(NULL, Array) #4 /homepages/32/d491429024/htdocs/boffoblog/wp-content/plugins/syndication-links/includes/class-syn-meta.php(454): Syn_Meta::get_post_syndication_links(NULL, Array) #5 /homepag in /homepages/32/d491429024/htdocs/boffoblog/wp-content/plugins/syndication-links/includes/class-syn-meta.php on line 216

Missing head links on static front page

I've just noticed that if I set my front page to a static page the links in the head section are missing. With latest posts setting everything works fine.

Syndication Links for Comments

Extend the plugin to support adding Syndication Links to comments so POSSEd comments can be deduped with the original.

Display Text toggle not working

I've updated to the most recent and everything works properly (I've toggled through most, but not necessarily all of the various combinations).

The one that doesn't seem to be working is the "Display Text", which as I recall swapped between the icons only view and the actual text (eg. "Facebook"). It doesn't seem to matter whether the "Display Text" is checked or not, it only displays the icons.

Invalid CSS line

Hey,

just stumbled across this line: text-align: top;

That is no valid CSS value, I think you can simply remove the whole line.

Move H-Card Widget to IndieWeb Plugin

I'm not clear on the backstory or decision process of having both an rel=me widget and an h-card widget, but seems the h-card widget would be best in the core IndieWeb plugin. Based on comment in IRC, sounds like that was the plan.

Would a pull request help facilitate that?

Call to undefined function extract_domain_name()

After updating IndieWeb plugin and Syndication Links I get the following:

Fatal error: Call to undefined function extract_domain_name() in /wp-content/plugins/syndication-links/includes/class-syn-meta.php on line 52

This shows up in the page display where the content is usually otherwise output, so I still get the featured image, but no content and the error appears instead.

If I check the box for "Disable Syndication Links in the Content" the error disappears, but of course then the links don't show up on the page.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.