Skip to content

Christopher James Willcock

Enjoy Kaizen

Tag: Free Software

Gallery Test

Pancakes!

Time to make a new theme for cjwillcock.ca.

I forked my Psymantic theme and made a new theme, Pancakes. I’ll install it here, then make it less ugly. It’s going to break things, but not for long I expect.

Pancakes is also free software, because software wants to be free! Enjoy.

Lastly, a screenshot of what once was, for posterity. Shout out and kudos to David Shanske, the provider of the twentysixteen-indieweb theme I have used until now.

Tab Quantizer Chrome Extension Beta

I authored and personally use this Tab Quantizer Chrome extension & companion server script, to record my browsing history from Chrome onto my own server. I publish some of the information I gather with this, to my Now page (near the bottom).

  • Keeps a running tab of active Chrome browser tabs across multiple devices and multiple windows.
  • Records a complete history of pageviews with time and URL
  • Records ‘walks’ – the series of pages viewed in a given tab, from the time it first opens, through each pageview until it closes

To make this work you need your own server for the script that records the data. Given that this extension is not coming from the built-in Play store (or whatever it is for Chrome) you’ll need to enable developer mode and load the unpacked extension manually. A consequence of this is after each Chrome update, the extension needs to be manually enabled.

I have been thinking of publishing this to the Play store (or whatever it is for Chrome). I haven’t done that before, so I have much to learn there.

I think all the bugs have been worked out. It works for me. This is my first Chrome extension work. It was made fast and cheap, so there is plenty of room for improvement as far as the code and user-experience goes.

Also there is no documentation whatsoever about using the collected data for some purpose. For now that remains an exercise for the reader.

Enjoy the Beta. Discussion in #indieweb-dev on irc.freenode.net.

an abstract expression in sepia on white

Psymantic – Open Source Theme Precursor for WordPress – First Release

I authored a WordPress theme for my blog. It’s not in use here because it isn’t meant for direct use. It’s over on my wp-theme-dev sub-domain with the WordPress theme test data in there (plus some random junk).

Wait – that looks gross!

— basically everyone

Weird huh? The precursor theme, Psymantic, is concentrated on producing plain old semantic HTML, POSH, and nothing else.

a screen-capture of a brutally simple WordPress blog
It’s brutally simple. Almost no styling at all. WP required stuff and a couple of clearing fixes.

I’m working through a resilient web design approach with this new-theme-for-me. Note the screen-reader-text, which is typically hidden, is used for headings of various sections. Many sections don’t need need a label like that, unless you consider, for example, how you interpret this web page with your eyes closed for the entire duration of your visit. These headings are normally presented only to those who use assistive technologies while browsing the web. I can hide them all in one shot with the WordPress recommended screen-reader-text CSS rules.

It’s going to be difficult to understand why I have something worth sharing here, if you aren’t directly involved with your own website coding, nor in the business of online publishing in a technical role.

If we were making pancakes instead of WordPress themes, Psymantic would be a box of pancake mix. I still need to make the pancakes to actually eat them (ie: need to mix and cook a theme for my blog). I have a few more goals to cover before I get there, but this is a nice start.

More things to include (maybe in μF Psymantic and Indie Psymantic):

Early testers and constructive dialog/criticism is welcome! Please use GitHub for issues, #indieweb-wordpress on irc.freenode.net for chat.

HTML5 Support in WordPress

WordPress has a feature to enable HTML5 support which doesn’t cover all the places where HTML5 support is needed.

add_theme_support('html5', array(
  'search-form',
  'comment-form',
  'comment-list',
  'gallery',
  'caption',
));

This is everything available ^^^. When adding inline styles to the HTML, which WordPress does automatically, there is no filter hook available to remove the type attribute from the style tags. We end up with this incorrect output:

<style type="text/css">…</style>

Allowing this to stay there won’t break anything, it’s very insignificant overall. However, my practice includes the method of no broken windows. Allowing this to stay, though it’s really out of my hands unless I abandon WordPress entirely, is anathema to me.

It’s important to experience the pain of a program done wrong, before we can appreciate the well-made version of the same. There isn’t time to fix everything and still get the job done. Eventually it’s time to directly address the cause, but not today.

Flush Rewrite Rules · Issue #2 · indieweb/wordpress-mf2-feed (GitHub)
When I activated the plugin, I had to manually flush the rewrite rules to get it to work.

I installed and activated the plugin from my WP Dashboard. After, I found my /feed/mf2/ urls are 404s. I flushed the rewrite rules (Dashboard -> Settings -> Permalinks -> Save Changes).

Works now.

Where Vim Came From (twobithistory.org)
Tracing the long lineage of software that brought us Vim.

Looks interesting.

trekhleb/javascript-algorithms (GitHub)
javascript-algorithms - Algorithms and data structures implemented in JavaScript with explanations and links to further readings

Bookmarked!

Personal Goal in Open Source

I set a personal goal to publish some code on packagist. That’s it!

Build Better WordPress Plugins with Unit Testing

WordPress plugins, PHPUnit, WP_Mock and a few important principles by Erik Torsner (WordPress Essentials)
Some 4500 words after I decided to add a few comments and insights ... it’s a good idea to consider what happens when follow a handful rather simple and obvious rules of how to write code.

Erik Torsner articulates his authoring of a production-ready-but-not-really WordPress plugin which reproduces the output of Matt Mullenweg’s commonplace Hello Dolly, while demonstrating and justifying his practical choices in software construction and testing; a wonderful example for others to consider and leverage.