Tagged WordPress

Smarter Archives 3.2.3 has been released. The only change is the addition of a German (de_DE) translation, thanks to Jay Linski (@jaylinski).

Download it now.

I’ve created a WordPress plugin that uses Parsedown as a Markdown processor. I actually finished version 0.1 a few weeks ago, but I wanted to iron a few bugs out before I announced it publicly.

It functions as a 100% drop-in replacement for the original Markdown plugin, PHP Markdown Extra by Michel Fortin. Everything is the same, down to the same filter behaviors and priorities.

Unlike other plugins, my plugin has no settings. Just upload the plugin, activate it, and you’re off.

Download Parsedown for WordPress v0.3.

The plugin’s page in the WordPress repository has more information. Development takes place over on GitHub, where you can also report any bugs you come across.

If you’re looking for a live example, this site is currently using the latest version.

Smarter Archives 3.2.2 has been released. This update has the following:

  • Updates to the Italian (it_IT) translation
  • A new Dutch (nl_NL) translation, thanks to Micha

Download it now.

This release updates the internationalization code to work with the new way languages are handled in WordPress 4.0 and up. Thanks to cplamondon for bringing it to my attention.

Download it now.

Thanks to the free [Namecheap]([^1] SSL certificate included with the GitHub Student Developer Pack, I’ve moved my site over to HTTPS permanently.

After dealing with infinite redirect loops for almost an hour, it turns out on NearlyFreeSpeech you need this extra block of code in your wp-config.php:

if ( $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https' )
    $_SERVER['HTTPS'] = 'on';

Beyond that, it’s simply a matter of setting your WordPress URLs to the https version. I also have the following in my .htaccess file:

Header set Strict-Transport-Security "max-age=10886400; includeSubDomains" "expr=%{req_novary:X-Forwarded-Proto}=='https'"

RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R=301]

The first line sets an HTTP Strict Transport Security header that tells the browser to always use https for the specified time (10886400 seconds is 18 weeks). The next two lines permanently redirect any insecure URL to the https version.