Reply to More IndieWeb compatible themes #2

Replied to More indieweb compatible themes · Issue #2 · indieweb/wordpress-feature-requests (GitHub)
Currently SemPress is listed as the only theme that is fully microformats2 compliant, but its style is very distinct and will not appeal to everyone. Many indieweb WP sites use twentysixteen or Independent Publisher. I have tried many combinations of the last 2 with the mf2 plugin, and ended up having to edit the theme code to get everything working. Would be great to have more options for themes that "just work". :)

A few random tips/pointers:

@GWG has put out a very customized version of his Twenty Sixteen Theme on Github. For those who have some development skills or are willing to look at examples to try changes themselves, the commit history of this particular theme is very enlightening and does a reasonable step-by-step job of providing snapshots of what he changed in Twenty Sixteen to make it more IndieWeb-friendly. For most themes, one may not want to go as far as he did to remove Post Formats in favor of Post Kinds for greater flexibility, but most of the rest is pretty useful and solid as an example if one is converting/forking other popular themes to make them more IndieWeb friendly.

There are a number of very IndieWeb-friendly themes and even child themes listed on the Themes page of the wiki. Most of these should “just work” though a few may have small bugs which could be filed to their respective repositories to improve them.

It’s generally recommended not to use the mf2 plugin with themes which are already very IndieWeb-friendly as it can cause issues or have unintended consequences. That plugin is generally better used when themes only have the minimal microformats v1 code which is added by WordPress core.

There are also lots of details and brainstorming for improving themes in general on the wiki page for WordPress/Development/#Themes.

Syndicated copies to:

Master View template

Filed an Issue IndieWeb Post Kinds (GitHub)
Adds support for responding to and interacting with other sites using the standards developed by the Indieweb Community

For ease-of-use as well as to help designers, theme builders, and maybe even Gen2 it might be useful to have a “master template” for views which includes all of the output of the data fields within Post Kinds in a single view.

If done in a relatively modular fashion with good commenting, perhaps even Gen2 folks could more easily delete or move pieces within such a master template to mash up various pieces to get what they’d like to display. Including alternate versions for displaying things could be useful as well (eg: raw display of things like start time and end time as well as a separate calculated duration time based on these two.)

Syndicated copies to:

👓 IndieAuth for WordPress | David Shanske

Read IndieAuth for WordPress by David ShanskeDavid Shanske (David Shanske)
Part of my own project for this week, while taking off for the holiday, was to complete work on an Indieauth endpoint for WordPress.

IndieAuth is layer on top of OAuth 2.0, a standard that grants websites or applications access to their information on other websites but without providing passwords.

OAuth is already being used by a variety of services…Login with Facebook or Login with Google options on sites are usually OAuth based. The difference is that for IndieAuth, users and clients are all represented by URLs.

This is awesome! I can’t wait to use my own website to authenticate myself.

Syndicated copies to:

👓 Export your Facebook posts to WordPress | Chris Finke

Read Export your Facebook posts to WordPress by Christopher Finke (chrisfinke.com)
I’m a big proponent of owning the data that you create. I use WordPress (of course) wherever I blog, and I use the Keyring Social Importers plugin to make backup copies of my Twitter updates and Foursquare checkins. And as of today, I am also syncing my Facebook updates back to a private WordPress blog using Keyring Social Importers. Not familiar with Keyring Social Importers? That’s too bad, it’s amazing. Install it, and within minutes, you can be importing data from any one of a dozen sites to your blog. Remember all of that data you put into Myspace/Jaiku/Bebo/Pownce and how it disappeared when the site shut down? Wouldn’t it have been nice to be able to save a copy of all of that? That’s what Keyring Social Importers makes possible.

I was kind of hoping for something slightly different when I searched for something and found this, but it is interesting for those who don’t know about Keyring Social Importers and it had an interesting comments section.

I was looking for something in the range of a bulk Facebook Importer to exit Facebook altogether whereas this solution keeps you addicted to it. I would classify it more of a PESOS solution than a POSSE solution.

Syndicated copies to:

👓 Site Building with WordPress and Elementor | Throw Out The Manual

Read Site Building with WordPress and Elementor by Tim Owens (Throw Out The Manual)
One of the biggest challenges for folks new to building a website with WordPress is that it feels very much like writing/blogging software out of the box. Yes, you can create pages, but as soon as you want to structure information in columns or do anything more complex than images and text you will quickly find you need to find a theme or a handful of plugins to get the job done (and if you don't know what you don't know, that's a huge hurdle). "Site Builder" plugins are becoming more and more popular and you even see more themes integrating them into their frameworks these days. Some are pretty good, some suck really badly. One I really like and wanted to demonstrate as a way to quickly get up and running with a WordPress site is Elementor which is both free (there's a Pro version that has more features I'll discuss in a bit) and incredibly user-friendly with a lot of great options.

While I know more than the average WordPress bear, I’ve never really seen the value of any of these site builders myself.

I am curious how some of these site builders will do with the upcoming release of Gutenberg, however.

Syndicated copies to:
Replied to Chris Jones on Twitter (Twitter)
A1. Personally I have multiple Wordpress sites, and I'm working on a stand-alone domain for my higher-end, highest-value #content .. all are candidates to aggregate relevant insights, yes? Pros/Cons? #smchat #contentseries

@sourcePOV I like @jgmac1106‘s general idea, but having less overhead to manage and administer appealed to me a lot. Here’s some thoughts on what I ended up doing: http://boffosocko.com/2016/12/18/rss-feeds-a-follow-up-on-my-indieweb-commitment-2017/

tl;dr: Having fewer sites to deal with seemed like a stronger idea. I still wanted to feature the richer content over the smaller tidbits while also not overwhelming people who had subscribed in the past. I also took into account trying to make it relatively easy for people to subscribe to the particular data they want/need out of my website. My home page has a list of various post kinds available which may be useful to think about as well.

@mrkrndvs has played around in this area of aggregation as well with a few different websites and may have some insight too.

Whatever you decide, be sure to have some fun along the way.

Syndicated copies to:

Feature Idea: UI code to create an original-of page and/or widget

Filed an Issue Syndication Links Plugin for WordPress (dshanske/syndication-links) (GitHub)
Add and Display Syndication Links https://wordpress.org/plugins/syndication-links/

I noticed that Kartik has an an original-of page at https://kartikprabhu.com/original-of which may have inspired the original-of URL functionality for use in Syndication Links.

For improved UI, is there a code snippet that could be created (or which already exists?) that could be added to a custom page to allow the creation for a simple search for such things the way Kartik has done? I’m thinking of something along the lines of <?php get_search_form(); ?> which can be added to 404 page templates to allow the addition of a search box on such a page to get the user moving in the right direction.

This type of original-of search functionality could also be added to a simple widget as well so that one doesn’t need an entire page for it. Suggested verbiage: “Have a social media permalink for a piece of content? Use it here to search for the original version on this site.”

Syndicated copies to:
Replied to A post on Mastodon by wiobyrnewiobyrne (Scholar Social)
@mrkrndvs I've really been interested in the collection/curation I see from you & @chrisaldrich - I'm in the process of figuring out how to build up a WordPress site to serve as the "commonplace book" on the WordPress site, keep it simple, and have it pump into my weekly newsletter. Any links/guidance/plugins on how to make this happen is definitely appreciated. I want to keep this as simple/lightweight as possible. :)

@wiobyrne@scholar.social @mrkrndvs@mastodon.cloud

I’ve written in a little bit of depth before about Organizing my research related reading.

My favorite piece of the puzzle is using the Post Kinds Plugin for WordPress which has some useful browser bookmarklets for quickly saving what I read, bookmark, and interact with online. Having the ability to add categories, tags, and other behind-the-scenes metadata also helps a lot.

You can then turn around and add all this to a newsletter at your leisure.

Happy to share more, but this should be a good start.

Syndicated copies to:

Fatal Error with WP_Error as array in Webmention Form

Filed an Issue pfefferle/wordpress-webmention (GitHub)
A Webmention plugin for WordPress https://wordpress.org/plugins/webmention/

As mentioned in IW chat:

When placing the URL https://abraham.uno/909/listening-an-indieweb-podcast-episode-0/ into the Webmention Form at http://boffosocko.com/2018/03/19/an-indieweb-podcast-episode-0-considering-the-user/#Respond+on+your+own the following Fatal Error appears at http://boffosocko.com/wp-json/webmention/1.0/endpoint:

Fatal error: Uncaught Error: Cannot use object of type WP_Error as array in /htdocs/wp-content/plugins/webmention/templates/webmention-api-message.php:119 Stack trace: #0 /htdocs/wp-content/plugins/webmention/includes/class-webmention-receiver.php(161): require_once() #1 /htdocs/wp-includes/class-wp-hook.php(298): Webmention_Receiver::serve_request(false, Object(WP_REST_Response), Object(WP_REST_Request), Object(WP_REST_Server)) #2 htdocs/wp-includes/plugin.php(203): WP_Hook->apply_filters(false, Array) #3 /htdocs/wp-includes/rest-api/class-wp-rest-server.php(380): apply_filters('rest_pre_serve_...', false, Object(WP_REST_Response), Object(WP_REST_Request), Object(WP_REST_Server)) #4 /htdocs/wp-includes/rest-api.php(271): WP_REST_Server->serve_request('/webmention/1.0...') #5 /htdocs/wp- in /htdocs/wp-content/plugins/webmention/templates/webmention-api-message.php on line 119

Syndicated copies to:

🔖 WPCampus 2018 Call for Speakers

Bookmarked Call for Speakers (WPCampus 2018 Conference: Where WordPress Meets Higher Education)
WPCampus is looking for stories, how-tos, hypotheticals, demos, case studies and more for our third annual in-person conference focused on WordPress in higher education. This year’s event will take place July 12-14, 2018, at Washington University in St. Louis, Missouri.

The call for speakers will close at midnight PDT on April 7, 2018.
The planning committee will begin their selection process and be in touch shortly thereafter.

h/t to @wpcampusorg

Syndicated copies to:

📅 RSVP yes to WordPress Pasadena General Meetup, March 2018 Edition! on 3/27

RSVPed Attending WordPress Pasadena General Meetup, March 2018 Edition!
Oh man! 2018! Welcome!!!! Who'd a thunk it? We made it out of 2017!! 2018 is another chance to see if we can ply our knowledge in the ever changing world of web tech. We're back at it again for our monthly WordPress user meetup. Come curious with your wonderful questions.

My Fall/Winter math class is over and I’m free to catch up with the gang again.

Syndicated copies to:

Enabling two way communication with WordPress and GitHub for Issues

This week, using the magic of open web standards, I was able to write an issue post on my own website, automatically syndicate a copy of it to GitHub, and later automatically receive a reply to the copy on GitHub back to my original post as a comment there. This gives my personal website a means of doing two way communication with GitHub.

This functionality is another in a long line of content types my website is able to support so that I’m able to own my own content, yet still be able to interact with people on other websites and social media services. Given the number of social sites I’ve seen disappear over the years (often taking my content with them), this functionality gives me a tremendously larger amount of control and ownership over my web presence and identity while still allowing me to easily communicate with others.

In this post I wanted to briefly sketch what I’ve done to enable this functionality, so others who are so inclined can follow along to do the same thing.

Setting up WordPress to syndicate to GitHub

I’ll presume as a first step that one has both a GitHub account and a self-hosted WordPress website, though the details will also broadly apply to just about any content management system out there that supports the web standards mentioned.

Register your GitHub account and your website with Bridgy

Ryan Barrett runs a fantastic free open sourced service called Bridgy. To use it you’ll need the microformat rel=​​​“me” links on both your GitHub account and your website’s homepage that point at each other.  GitHub will do most of the work on its side for you simply by adding the URL of your website to the URL field for your GitHub account at https://github.com/settings/profile. Next on your website’s homepage, you’ll want to add a corresponding rel=​​​​​“me” link from your website to your GitHub account.

In my case, I have a simple widget on my homepage with roughly the following link:
<a href="https://github.com/username">GitHub</a>
in which I’ve replaced ‘username’ with my own GitHub username. There are a variety of other ways to add a rel=​​​​​“me” link to your webpage, some of which are documented on the IndieWeb wiki.

Now you can go to Brid.gy and under “Connect your accounts” click on the GitHub button. This will prompt you to sign into GitHub via oAuth if you’re not already logged into the site. If you are already signed in, Brid.gy will check that the rel=​​​​​“me” links on both your site and your GitHub account reciprocally point at each other and allow you to begin using the service to pull replies to your posts on GitHub back to your website.

To allow Brid.gy to publish to GitHub on your behalf (via webmention, which we’ll set up shortly), click on the “Publish” button.

Install the Webmention Plugin

The underlying technology that allows the Bridgy service to both publish on one’s behalf as well as for the replies from GitHub to come back to one’s site is an open web standard known as Webmention. WordPress can quickly and easily support this standard with the simple Webmention plugin that can be downloaded and activated on one’s site without any additional configuration.

For replies coming back from GitHub to one’s site it’s also recommended that one also install and activate the Semantic Linkbacks Plugin which also doesn’t require any configuration. This plugin provides better integration and UI features in the comments section of one’s website.

Install Post Kinds Plugin

The Post Kinds Plugin is somewhat similar to WordPress’s Post Formats core functionality, it just goes the extra mile to support a broader array of post types with the appropriate meta data and semantic markup for interacting with Bridgy, other web parsers, and readers.

Download the plugin, activate it, and in the plugin’s settings page enable the “Issue” kind. For more details on using it, I’ve written about this plugin in relative detail in the past.

Install Bridgy Publish Plugin

One can just as easily install the Bridgy Publish Plugin for WordPress and activate it. This will add a meta box to one’s publishing dashboard that, after a quick configuration of which social media silos one wishes to support, will allow one to click a quick checkbox to automatically syndicate their posts.

Install the Syndication Links Plugin

The Syndication Links plugin is also a quick install and activate process. You can modify the settings to allow a variety of ways to display your syndication links (or not) on your website if you wish.

This plugin will provide the Bridgy Publish Plugin a place to indicate the permalink of where your syndicated content lives on GitHub. The Bridgy service will use this permalink to match up the original content on your website and the copy on GitHub so that when there are replies, it will know which post to send those replies to as comments which will then live on your own website.

Post away

You should now be ready to write your first issue on your website, cross post it to GitHub (a process known in IndieWeb parlance as POSSE), and receive any replies to your GitHub issue as comments back to your own website.

Create a new post.

In the “Kinds” meta box, choose the “Issue” option.

Screen capture of the Kinds meta box with "Issue" option chosen.
Kinds meta box with “Issue” option chosen.

Type in a title for the issue in the “Title” field.

In the “Response Properties” meta box, put the permalink URL of the Github repopository for which you’re creating an issue. The plugin should automatically process the URL and import the repository name and details.

The “Response Properties” meta box.

In the primary editor, type up any details for the issue as you would on GitHub in their comment box. You can include a relatively wide variety of custom symbols and raw html including

and  with code samples which will cross-post and render properly.

In the GitHub meta box, select the GitHub option. You can optionally select other boxes if you’re also syndicating your content to other services as well. See the documentation for Bridgy and the plugin for how to do this.

Screen capture of the Bridgy Publish meta box with GitHub chosen
Bridgy Publish meta box with GitHub chosen.

Optionally set any additional metadata for your post (tags, categories, etc.) as necessary.

Publish your post.

On publication, your issue should be automatically filed to the issue queue of the appropriate GitHub repo and include a link back to your original (if selected). Your post should receive the syndicated permalink of the issue on GitHub and be displayed (depending on your settings) at the bottom of your post.

Syndication Links Plugin will display the location of your syndicated copies at the bottom of your post.

When Bridgy detects future interactions with the copy of your post on GitHub, it will copy them and send them to your original post as a webmention so that they can be displayed as comments there.

An example of a comment sent via webmention from GitHub via Brid.gy. It includes a permalink to the comment as well as a link to the GitHub user’s profile and their avatar.

If you frequently create issues on GitHub like this you might want a slightly faster way of posting. Toward that end, I’ve previously sketched out how to create browser bookmarklets that will allow you one click post creation from a particular GitHub repo to speed things along. Be sure to change the base URL of your website and include the correct bookmarklet type of “issue” in the code.

The Post Kinds plugin will also conveniently provide you with an archive of all your past Issue posts at the URL http://example.com/kind/issue/, where you can replace example.com with your own website. Adding feed/ to the end of that URL provides an RSS feed link as well. Post Kinds will also let you choose the “Reply” option instead of “Issue” to create and own your own replies to GitHub issues while still syndicating them in a similar manner and receive replies back.

Other options

Given the general set up of the variety of IndieWeb-based tools, there are a multitude of other ways one can also accomplish this workflow (both on WordPress as well as with an infinity of other CMSes). The outline I’ve provided here is one of the quickest methods for beginners that will allow a relatively high level of automation and almost no manual work.

One doesn’t necessarily need to use the Post Kinds Plugin, but could manually insert all the requisite HTML into their post editor to accomplish the post side of things via webmention. (One also has the option to manually syndicate the content to GitHub by cutting and pasting it as well.) If doing things manually this way is desired, then one will need to also manually provide a link to the syndicated post on GitHub into their original so that Bridgy can match up the copy and the original to send the replies via webmention.

More details on how to use Bridgy with Github manually in conjunction with WordPress or other CMSes can be found here: https://brid.gy/about#github-issue-comment

Further steps

If you’ve followed many of these broad steps, you’ve given already given yourself an incredibly strong IndieWeb-based WordPress installation. With a minimal amount of small modifications you can also use it to dovetail your website with other social services like Twitter, Facebook, Flickr, Instagram, Google+ and many others. Why not take a quick look around on the IndieWeb wiki to see what other magic you can perform with your website!

I’ve documented many of my experiments, including this one, in a collection of posts for reference.

Help

If you have questions or problems, feel free to comment below or via webmention using your own website. You can also find a broad array of help with these plugins, services, and many other pieces of IndieWeb technology in their online chat rooms.​​​​​​​​

Syndicated copies to: