Hidden in the Code

A quote about URLs from Tom Woodward

This is a collection of code that I often turn to when working with WordPress


Every time that I feel comfortable with my level of knowledge associated with WordPress, there is a problem that leads me to discover a particular attribute that I don’t know how I lived without. This time it is the code seemingly obfuscated beyond the WYSIWIG editor and the dashboard.

For some this code is about command line, while others it is about the bashing out the building blocks. My interest here is the everyday code, the little snippets that find there way in here or there while I work with WordPress, many of which have come from wandering through Chris Aldrich’s commonplace blog:

Webmentions

Webmentions are the building block for conversations across the web. However, with WordPress, they often get caught in moderation and/or flagged as spam by Akismet and other spam filter plugins. To prevent this, you can add this PHP snippet to your theme’s functions.php file:

function unspam_webmentions($approved, $commentdata) { return $commentdata['comment_type'] == 'webmention' ? 1 : $approved; } add_filter('pre_comment_approved', 'unspam_webmentions', '99', 2);

Alan Levine has documented the process of creating a child theme, which is useful when customising the code, while Gregor Morrill has developed code to approve webmentions from domains previously approved.

Microformats

Microformats is a data format built upon adopted standards and prior developments. There are a number of specifications, which can be manually added within the existing HTML. It provides the foundation for software to automatically process information. People like [David

Shanske](https://github.com/dshanske/twentysixteen-indieweb) and Matthias Pfefferle have developed plugins and themes to mark-up content in the backend. You can also use this site to check the microformats on your site, while for a more extensive introduction, listen to Tantek Çelik on the future of web apps.

Two microformats I have worked with are comments and rel=me.

Comment

Although the appropriate microformats are usually built into the Webmentions plugin. The plugin for theaded comments can be a bit more tempremental. [Chris Aldrich](http://boffosocko.com/2017/12/15/threaded-replies-with-webmentions-in-wordpress/] recommends manually adding the reply class and URL just to make sure:

 <a class="u-in-reply-to" href="http://www.example.com"></a>

I have come to do this out of habit for replies now.

Rel-me

Another microformat incorperated into many Indieweb sites is Rel-me. It is used to consolidate identity, as well as domain sign in.

<ul> <li><a href="https://twitter.com/aaronpk" rel="me">@aaronpk on Twitter</a></li> <li><a href="https://github.com/aaronpk" rel="me">Github</a></li> <li><a href="https://google.com/+aaronpk" rel="me">Google</a></li> <li><a href="mailto:me@example.com" rel="me">me@example.com</a></li></ul>

Chris Aldrich has taken rel-me to its extremes by creating a page in which he records all his accounts. I have also started my own. For more on rel-me, watch Ryan Barrett’s keynote at IndieWeb Summit 2017.

Page Bookmarks

I remember coming across in plugin in Edublogs that allowed you to add a table of contents. This reminded me of the functionality in Google Docs and one of the things I noticed in both was the presence of a hashtag at the end of the URL. (Interestingly, now every heading in Google Docs has a unique identifier automatically created.) In Docs, this is something that can be added using the Bookmark feature, I wondered if the same could be done in WordPress. I discovered that within the tags, you insert ‘name=”unique-name”‘:

<a name="unique-name">Target Text</a>

This can then be used to guide readers to a specific point in your text.

Custom URLs for Post Kinds

Using the Post Kinds plugin provides a list a unique urls associated with the kinds of posts on the site. Chris Aldrich provides some guides in how to use these to create custom urls to generate a specific post screen. This can then be used to create a bookmarklet:

 http://example.com/wp-admin/post-new.php?kind=bookmark&kindurl=@url

Dariusz Kuśnierek provides some other examples of custom URLs, which help in U deratamding the way urls work in general.

RSS Feeds

RSS provides a means of following a site without checking in all of the time. To access a feed to follow in WordPress, you simply add ‘/feed/’ to the end:

http://www.example.com/feed

As some feeds can contain a range of content, it is possible to hone down to particular categories by adding ‘?cat=[category id]’ to the end.

http://www.example.com/feed?cat=[category id]

This can be useful if you only want to follow a specific subject or area.

Taking this a step further, you can also produce an RSS based on Post Kinds. Although not all blogs use these, for those that do it can be a useful demarcation. Similar to categories, you add ‘?kind=type’ to the end of the feed.

http://www.example.com/feed/?kind=bookmark 

For more on RSS feeds, see this post from Chris Aldrich.

OPML

Where as RSS is used for a single feed, OPML allows a user to aggregate. I have written about them before. It is possible to store an OPML in WordPress. To access this you add the append ‘/wp-links-opml.php’ to the end.

http://www.example.com/wp-links-opml.php

In addition to this, Chris Aldrich has documented how to split a file into categories:

?link_cat=[category id]

I have yet to categorise my links, however Aldrich provides an extensive example.


So what about you? What little bits of code do you use? As always, comments welcome.


If you enjoy what you read here, feel free to sign up for my monthly newsletter to catch up on all things learning, edtech and storytelling.

Also on:

A Kind of Emoji

The power of emojis is in helping us think differently

A reflection on using emojis as a way to provide visual information about blog posts.


I have dived into my latest #IndieWeb venture of saving links on my own site. I thought that I would simply use the Bookmark post kind to save my links, but I soon realised not every link needed some form of commentary and/or extended quotations. For those where the link and quote/summary was enough, I started labelling as a Like. There were also some links where I would write a Reply to the author. With all these additions, the different kinds of writing were lost in my stream. I was beginning to understand why Chris Aldrich’s site starts with a static page, which guides readers to the different kinds of writing. I was not yet interested in going down the static path, I therefore had to think of some other solution to differentiate between the different content I was adding to the site. After some initial exploration of beginning each title with the kind, I turned to the emoji.

I came upon the use of emojis in the work of John Johnston, who added them to some of his posts to provide additional information. I think this may be something built into the Micro.Blogs platform. In addition, I like the way that Audrey Watters uses icons to break up information in her Weekly News posts. There has also been a lot written about the use of emojis to define Google Drive folders. Although most of the emojis I use correspond with the post kinds, there are times when I use them to add more nuance for particular tags and categories. Here is a list of my emojis so far:

As this is a new iteration, I still have a bit of work going back through my posts adding emojis to other kinds and categories, such as events and mentions.

Beyond the visual, the addition of emojis has had a few interesting side-effects. When I POSSE to Diigo, I have discovered that the title is left blank. My workaround has been to manually create the title for Diigo using the Social Network Auto-Poster (SNAP) plugin. There is no issue with other spaces, such as Twitter, where the emoji is happily embedded.

Another issue is the permalink. Most options involve adding the name of the post to the end of the URL, this includes emojis. For some reasons, this creates issues with sending webmentions. The answer seems to be to manually ping the site using the post ID or manually edit the permalink before posting to remove the emoji.

I remember Eric Curts mentioning problems with some emojis:

Emojis appear differently on different operating systems. Because of this, the images may not look the same on every device. If you are using any modern computer or device (Chromebook, Android, iOS, Mac OS, Windows), the emojis should display well. However if you are using an older version of Windows earlier than Windows 8.1, the emojis do not appear in color and many may be missing.

Maybe the issues are associated with this?

So what about you? Do you use any methods for breaking up content within your spaces? Or maybe you use emojis in some other way? As always, comments welcome and webmentions too.



Also posted on IndieNews


If you enjoy what you read here, feel free to sign up for my monthly newsletter to catch up on all things learning, edtech and storytelling.

Also on:

Reclaiming My Bookmarks

Bookmarks as a part of serendipity

A reflection on using my own blog to reclaim my bookmarks and then syndicate them to other sites, such as Twitter and Diigo.


My one word this year is intent. For me this means many things, one of which is to consider my digital presence. In a post reflecting on Mark Zuckerberg’s attempts to fix Facebook, Doc Searls says that one of the lessons learnt is that we all live digital lives now:

So let’s at least try to look below what big companies, Trump and other dancing figures in the digital world are doing, and try to look at the floor they’re dancing on—and the ground under it. That ground is new and unlike anything that precedes it in human experience. Nothing matters more than at least trying to understand it.

For me, a part of ‘understanding it’ is in reclaiming some of the processes that have been outsourced to third-party platforms. This does not always mean leaving silos completely, but rather not being dependent on them so that if the door shuts or the terms of use change, there is no concern in having to leave. See for example the recent announcement that Storify is shutting down. One recent attempt I have been tinkering with is an effort to reclaim my bookmarks.


Capturing the Web with Radio3

I have been using Diigo for quite a few years. My workflow has gone through a number of iterations, such as emailing links to batch processing favourited sites. This has largely been dependent on my mobile operating system. For example, I have found the Android Diigo app a lot easier to share to than iOS. (Things may have since changed though). My frustration though was that I was completing a number of steps separately.

After exploring the features and affordances of Google+, I came upon Dave Winer’s Radio3 Linkblog, which allows you to push links out to various platforms, whilst also maintaining your own RSS. It involves selecting a site or quote and clicking on the bookmarklet to generate the short post. The creation of a separate feed provides the means to automate processes with IFTTT. This includes saving links to Diigo.

The problem I have with this process is that although I have an archive of my tweets and links via Diigo, I am dependent on these platforms for maintaining an archive of my linkblog. I trialed using an IFTTT recipe to create a weekly digest as well as the built in option to Diigo, however I was not satisfied with any of these solutions. One problem I faced was the inconsistency of the RSS feed produced by Radio3.

I have found that if I save a link with the bookmarklet without selecting any text, there would be no title included in the feed, even if I added or adjusted the description included in the textbox. Whereas, if I highlighted a chunk of text, the title is added. I guess the workaround would be to select the heading if there is nothing specific I wish to highlight? This seems a strange thing to complain about in regards to one of the forefathers to RSS and probably shows a lack of awareness on my behalf for how Radio3 works.

Another frustration with using Radio3 to send links to Diigo is that I really like capturing quotes when I save links. This is something that I have done for a while and one of the reasons that I like Radio3. I could not figure out how to bring these into the description in Diigo consistently, let alone as annotations. I even took to annotating the quotes with the Diigo browser extension. I wonder if Zapier would do a better job, but until I fork out the money for a paid subscription I am not going to know.

In the end, I could probably make Radio3 work for me. Probably deploying a script to collect everything, as Tom Woodward does with Pinboard, but I feel that I am almost doing that manually with the creation of my newsletter. I just feel apprehensive moving forward depending upon something held together by Dave Winer’s very good will. If it were open sourced, this may be different, but it is not.


Collecting Bookmarks

The next step then in my bookmarking journey has been to test out the idea of saving links on my own site and then syndicating them elsewhere. I have been exploring various post kinds lately, however yet to tinker with bookmarks.

One of the inital challenges was how to syndicate. Like most, I had installed –Jetpack and used that to publicise to various social media sites. This is a relatively easy process where you activate the various connections by giving permissions. However, Jetpack is limited in what sites it supports. There is no option to connect with Diigo.

I therefore installed the Social Network Austo-Poster (SNAP) plugin. Although I could generate a custom feed based on my bookmarks and use this with IFTTT, I would prefer to do something within my own site. One of the differences between SNAP and Jetpack is that rather than just give access you need to go through the process of generating API keys. This to me is closer to Searls’ call to understand our digital reality. Although this might seem daunting for some, the plugin provides thorough documentation to support users.

What I like about SNAP is that you can set a default structure for auto-posts, combining a number of predefined ingredients, but you can also quickly customise these when needs be. So if you want to share with a specific user or hashtag on Twitter, but not on Diigo, then you can adjust the Twitter description.

The last thing to consider with using my own site is developing a clear process for saving bookmarks. My first step was to create a bookmarklet using Chris Aldrich’s Post Kinds template. Also, I setup a process for sharing via Mobile using URL Forwarder app. This was a part of the puzzle missing with Radio3.


What Next?

I like the idea of collecting my bookmarks on my site. However, it has forced me to reflect on a number of things. One is the ability to properly syndicate to Diigo and Twitter. With Radio3, the publicised links connect to the corresponding site, whereas when I bookmark using my site, it shares the link to my post rather than the original site. This has me rethinking why I bookmark and POSSE. Maybe I do not need to share links to the original source, especially when my bookmarks have secondary information.

Another interesting feature to using my blog has been the ability to link to other sources within my descriptions. This is something that I do with my newsletter. On the other hand, I wonder if every link needs this level of detail. An answer to this maybe to utilise some other response post kinds, such as Likes and/or Favourite to support my blog as a resource.

This also leads me to wonder about the place of my Wikity blog. I really like the concept of constructing knowledge and ideas over time, however, I do not connect with other Wikity sites, one of the features Mike Caulfield built into the theme. I therefore wonder if these posts could be added as Notes or Articles, as I like having a title and in some themes the title of notes is chopped off.

Maybe rather than using Likes or combining my Wikity posts I maintain these other spaces, such as Radio3 and use them for specific purposes. Or maybe I need to dive into Known again, even if it seems that people are leaving? I think for now I might continue bookmarking with my site and see where it all goes.


So what about you? What process do you use to bookmark links for later? Has it changed over time? As always, comments welcome, especially if you have any tips or tricks that might help me on my way.



Also posted on IndieNews


If you enjoy what you read here, feel free to sign up for my monthly newsletter to catch up on all things learning, edtech and storytelling.

Also on:

Co-claiming and Gathering Together – Developing Read Write Collect

Chris Aldrich on developing a better web

A reflection on developing a site building upon the ideas of the #IndieWeb to bring together all my disparate pieces around the web in one place.


Just when I thought I had enough sites, I decided to create another one. A feed that could be used in a platform like Micro.blog. My intent this time was to create a space where I could reclaim my pieces on the web. In part I was inspired by Tom Woodward’s API driven portfolio, as well as Alan Levine’s concept of co-claiming.

I was also interested in exploring the possibility of WordPress beyond the standard post format and the implications that this has with the choice of themes. Associated with this, I wondered if there was a possibility of automating the sharing of content created elsewhere, such as videos and images.

I started the site by creating three key categories: participation, posts and creations. Each offering the potential to be broken down further.

Participation

My first step was to focus on presentations and publications. This involved transferring my various slides, resources and publications from a single page on my main blog to separate posts. The focus on one page worked in the beginning, but started to become busy as more and more items were added, even if I added Page Jumps.

My next step was to capture the various references and contributions on the web. Similar to what Audrey Watters does with her ‘In the News’ posts. These extracts include:

Although I am still thinking about how I could visually present all these posts to tell a clearer story, as Tom Woodward and Ian O’Byrne have done, I think splitting them into individual posts is more functional. It also means that when I present I can link to resources that might be kept on an event page, rather than continually update a particular blog post all the time.

Posts

When I started Read Write Collect, I wondered about creating a feed of all my posts, whether it be on social media, my Wikity site, contributions to other blogs and posts from this blog. I also wanted to somehow automate this process.

I started by dragging in content from sites that I was no longer using. For example, a few years ago, I created an instance of Known for shorter, incomplete thoughts and ideas. It was framed around the question of ‘what if’? I decided to import this content.

I also decided to make a copy of my two newsletters (Read Write Respond and eLearn Updates) posted in third-party sites, such as Tiny Letter and Global2. I was not sure whether to publish these or to keep them private. However, I made them public and maybe will stop using those other spaces when I have worked out a clear workflow.

In regards to other content spread around the web, such as my Diigo bookmarks and Wikity cards, I have yet to work out how I will manage these pieces. I started exploring Zapier and some built-in solutions, but have since fallen back to IFTTT. I am mindful though of depending on third-party solutions.

For the posts on this site, I have yet to find a workflow I am happy with. In part, I am unsure what Post Kind I should use – Article or Bookmark – and how I would structure each post. I guess I could close the comments and provide a summary, this is something Doug Belshaw does when sharing his DML Central articles, but I am not sure how I would do this for all my 400+ posts, especially as writing extracts has only been a new addition to my process.

It feels that the further I have dived into the site, the more my priorities changed. I began to explore other aspects of the #IndieWeb. I had installed the plugin when I set the site up, something I had done with this site and had therefore done out of habit. However, I started to wonder what else I could do. My desire to automate was replaced by an interest in control over my presence. This led me to start replying to posts from my blog. Although it can be argued that this process involves more effort, it has resulted in me being more mindful of the comments that I leave. This is something Chris Aldrich touches upon in his introduction to the IndieWeb.

Many in the IndieWeb community have found that they post more interesting and thoughtful pieces of content when they’re doing it on their own site rather than the “throw away” content they used to post to sites like Twitter. They feel a greater sense of responsibility and ownership in what they’re posting about and this can have a profound effect on the future of the internet and its level of civility.

It also touches on Audrey Watters’ call for a more ethical (and equitable) practice in her rethinking of comments:

It’s perfectly acceptable to say to someone who wants to comment on a blog post, “Respond on your own site. Link to me. But I am under no obligation to host your thoughts in my domain.”

I would like to think that as there is more take-up of the microformats standards that things like this will become more of the norm as further generations take it up.

Creations

The other pieces that I wanted to collect together were my various creations on the web, whether they be images, videos and audio. I have tinkered with posting to Flickr before with another Known instance, but gave up when it seemed to break. I think that this was as much frustration at the workflow as it was lack of perseverance. I therefore wonder about co-claiming by posting to Flickr and then collecting a weekly or even monthly summary on my own site. I know that this is something Tom Woodward does. As with my bookmarks, I am currently tinkering with IFTTT for this, but would like my own solution in the long run.

Like Flickr, I find publishing to YouTube an easier solution in regards to the few videos that I have. One of my interests was exploring the possibility to generate posts for older videos. Although IFTTT will create a post for videos just published, I was after an automated workflow that might go back through a channel and produce a post for each video. I found a plugin that said it would do it, but I have not managed to get it to do anything so am sceptical about purchasing the premium version. I also tested out posting via RSS, but this failed to embed the content.

In addition to images and video, I have been a long contributor to other people’s podcasts, but never really found the time and space to do my own. I was therefore taken by the idea of microcasting. The intent behind microcasting is that recordings are meant to be short recordings with minimal production. I have therefore taken to recording with Voxer and posting the MP3 in a post. I also syndicate this to Huffduffer so that others can listen as a podcast.


So that is my new site so far. In my next iteration, I am interested in investigating ‘Post Kinds to further to document other elements, such as what I am listening to and reading, especially in regards to long reads. This may replace my Awesome Tables, especially if they start charging. I am also interested in capturing more of my creations, such as my Instagram posts and gifs shared at Giphy. I am not sure if that constitutes a ‘commitment‘, but it is at least a start.

So what about you? What is something you are working on at the moment? Do you have any thoughts and suggestions for my new space? As always, comments welcome.


Also posted on IndieNews


If you enjoy what you read here, feel free to sign up for my monthly newsletter to catch up on all things learning, edtech and storytelling.

Also on:

My #IndieWeb Reflections

Dan Gillmor on Indieweb as an alternative

I have been meaning to elaborate on my thoughts on #IndieWeb for a while. Chris Aldrich’s recent post outlining a proposal for a book spurred me to finish jotting down my notes and reflections.


I find #indieweb hard to explain. In part I would describe it as an alternative way of working on the web, a collaborative community and a technical solution. I can’t remember exactly when I first came upon it. I know thought it was associated with the concept of POSSE. It was probably a part of Connected Courses and my move to Reclaim Hosting. Twitter tells me that my initial investigations were associated with Known.

What interested me was the potential to extend and own my presence on the web. Initially, I posted to Flickr from a Known instance and pulled in comments from Twitter and Google+ with the #IndieWeb WordPress Plugin(s).

More recently I have become interested in exploring ‘post kinds’ as I continue to investigate ways that I can better manage my presence on the web. In particular, I like the idea of sending comments from my site, but have yet to either master some of the technical aspects or develop a suitable workflow.

I must admit, I still get lost with some of the mechanics. I wonder sometimes if this is because I am balancing multiple spaces. I would like to better understand how the various platforms and plugins work. For example, what is the difference between Known, Micro.Blogs and WordPress? What does Bridgy do? Are there any limitations to it? For example, can I connect it with more than one space, particularly in regards to Twitter. I also find more solace in reading various reflections, listening to weekly updates and think that the main site has come along way, especially in outlining the different entry points. I think that the addition of a book would be a valuable resource. As always, I am still investigating.

So what about you? Have you had any experiences with the IndieWeb? Do you have any thoughts and comments that you would share with Chris Aldrich?


If you enjoy what you read here, feel free to sign up for my monthly newsletter to catch up on all things learning, edtech and storytelling.

Also on: