It’s been quite a while since the last one, so a list with a variety of topics this time.
The End of the Internet Dream - Noted attorney and educator, Jennifer S. Granick, Director of Civil Liberties at the Stanford University Law School Center for Internet and Society, argues that “In 20 years, the Web might complete its shift from liberator to oppressor.” And further that “It’s up to us to prevent that.”
The ethics of modern web ad-blocking - Programmer, writer, podcaster, and self-described geek, Marco Arment, believes that because “web ad quality and tolerability have plummeted, and annoyance, abuse, misdirection, and tracking have skyrocketed,” the use of ad-blocking software is now completely justified.
Modern CSS Layout, power and responsibility - UK web developer, Rachel Andrew, believes that with the use of powerful new layout tools like CSS Grids and Flexbox, developers may stop creating semantic, well structured documents. She adds, “Worse, I believe there will be a strong temptation, especially with Grid, to flatten out document structure in order that all elements become a child of the element with the Grid declared. Making layout simple, but at what cost?”
EU’s new VAT rules forcing thousands out of business - In order to prevent big businesses from unfairly profiting by locating in lower-VAT (Value Added Tax) regimes, the European Commission created the new EU Digital VAT rules, which moved the place of supply, where the tax rate is to be computed, for VAT on digitally-delivered services to the customer’s location. As is often the case with overblown, clueless bureaucracies, this has created a clusterfuck of unintended consequences.
Jekyll has a number of built-in capabilities that can add useful features to a blog site. In addition, Jekyll and Octopress have a plugin system, with many available Plugins, that enables the creation of custom generated
content for the site. Here we’ll take a look at some of the built-in features:
You can create an Archive listing of all the posts on the site, in reverse chronological order, by using code similar to this:
# date_to_string.rb# Outputs the post.date as formatted html,# with hooks for CSS styling.## +date+ is the date object to format as HTML.## Returns stringdefdate_to_html_string(date)result='<span class="month">'+date.strftime('%b').upcase+'</span> 'result+=date.strftime('<span class="day">%d</span> ')result+=date.strftime('<span class="year">%Y</span> ')resultend
It’s quite common on Blog sites to break up the main listing of posts, either the full posts or just excerpts, into smaller lists and display them over multiple pages. Jekyll has pagination built-in, and will automatically generate the necessary files and folders needed for paginated listings.
The following code generates the Blog page listings and the paginator links at the bottom of each blog page for this site:
I’ve mentioned Octopress in two recentposts. Now for a brief explanation of what it is and what it includes.
Octopress in version 2.0 was a framework for Jekyll. Out of the box, it provided everything you needed to set up your blog: a predefined configuration, HTML5 templates, theming with Compass and Sass, mobile-first responsive layout, a collection of plugins, and an easy deployment mechanism.
While all of this was very convenient, there were a few problems, mainly:
In addition, some other problems are:
Distributing software using Git (on GitHub, in this case) can result in conflicts when you update your site.
The Octopress 2.0 distribution is a collection of plugins and configurations which are difficult to change or remove.
The theme layer is baked into Octopress and there’s no adequate system to distribute themes independently.
Octopress appears not to be part of the Jekyll community.
This latest version solves all of the problems that made the previous one so difficult
to update and work with by taking a new approach. Instead of being a framework based
on the developer’s blog, Octopress 3.0 is now a powerful, “obsessively designed,”
toolkit for creating and deploying Jekyll blogs. It consists of a collection of
which provide functionality for creating posts and pages, specify and use
custom templates for posts, and easily deploy your site. A new system for viewing
documentation is also included.
The Octopress 2.0 Rakefile has been replaced by a new Command Line Interface (CLI) which enables you to:
Easily create posts, pages, drafts, and collections
Publish or unpublish drafts
Use custom templates for posts and pages
Easily deploy your site
A new collection of Plugins is also included which provide functionality for image handling, quotes and pullquotes, a sitemap, and many others. These plugins can be used with Octopress or with any Jekyll site.
This site was converted from my Octopress 2.0 site and is, of course, now using Octopress 3.0.