Giter Site home page Giter Site logo

dshanske / syndication-links Goto Github PK

View Code? Open in Web Editor NEW
28.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 Issues

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?

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.

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.

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?

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.

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

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.

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!

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.

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.

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.

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/

Syndication Links for Comments

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

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?

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.

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.

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.

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

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.

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

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

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.

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

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.

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. :)

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.

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

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.