Ben Norris

πŸ“– 🎧 Harry Potter and the Chamber of Secrets

By J. K. Rowling


πŸ“– 🎧 Harry Potter and the Sorcerer’s Stone

By J. K. Rowling


πŸ“– 🎧 Mere Christianity

By C. S. Lewis


πŸ“– πŸ› Church of Spies: The Pope’s Secret War Against Hitler

By Mark Riebling


πŸ“– 🎧 The Four Loves

By C.S. Lewis


Apr 2016 General Conference Sketchnotes posted on @mormonsketcher ✍🏼β›ͺ️


πŸ“– 🎧 Jesus the Christ

By James E. Talmage


πŸ“– 🎧 Harry Potter and the Prisoner of Azkaban

By J. K. Rowling


πŸ“– A Man Called Ove

By Fredrik Backman


Such a great view on my way in to work. Headed from one DevMountain location to another. πŸ”πŸšˆπŸ”

Startup building


Public drafts with a GitHub Pages blog

I wrote last week about publishing to a GitHub Pages blog using Workflow on the iPad. As I worked on writing that post, I realized there was one piece missing from my process: previewing the draft. When I write locally on my computer, I compile the site using Jekyll commands and include drafts. Then I can work on a post and make sure that the links all work properly and do a final check before publishing the post. With the Workflow process I created, a post would go straight from iA Writer to being published on my site, and that made me a bit nervous.

Displaying drafts

Jekyll already supports drafts, but the only way to see them is when building locally. As I looked into the easiest way to display drafts on my published site, I realized that I already have a model that would work well. For my apps and libraries, I am using the collections feature of Jekyll. In order to extend the default functionality of drafts to make them public, only a few small changes are needed:

  1. Add drafts collection
  2. Specify default layout
  3. Make an index page
  4. Prevent indexing

1. Add drafts collection

In your _config.yml file, add a few lines to enable the drafts collection:

2. Specify default layout

Also in _config.yml, it is easiest to provide a default layout for all drafts. This way, you can omit the layout from the front matter of the actual post, and it will display correctly when it is a draft, as well as when you publish the post.

3. Make an index page

At this point, the individual drafts will display correctly, but it is much easier to have a list page to access them. It can be as simple as this:

4. Prevent indexing

You may have noticed an entry in the front matter of the drafts index page with the key meta_robots. I have something similar in the draft.html default layout:

These insert the correct metadata in the head using the following code:

This ensures that the drafts can be posted without impacting the site or having incorrect links show up in search results. It is still possible for someone to find one of these posts and link to it, which will result in a 404 after publishing, but the likelihood of that is low enough to not be a real concern.

Add workflows

All of this work is nice, but without some additions and updates to the workflows I posted previously, this would still require publishing from a computer. As I looked into support for publishing drafts using Workflow, the one piece missing was the ability to send a DELETE message to the GitHub API. I asked Workflow support if there was any way to do this and got a fantastic response with a workaround.

Armed with this workaround, I was able to create a few additional workflows:

Improved post publishing

Finally, I wanted to handle the draft well when publishing the blog post. The workflow to publish a post will hit GitHub first to see if a draft is there with the same name, and if so, the draft will be deleted and the post will be published with the correct date. This completes the draft process, allowing you to start by publishing a draft, update it one or more times for review, and then actually publishing the post.

Previous workflows

Just for reference, here are the previous workflows that have all been updated:


I love how J Dawgs knows and owns their brand 🀣

J Dawgs sign


Wow, what a game! 🏈 Huge congrats to Clemson for winning the National Championship] for the first time in over 30 years.


Having a great time explaining my crazy Workflow->GitHub Pages stuff to my team at Tanner Labs.


Got to baptize my oldest son on Saturday. We are blessed to have so much family support. What a great experience!


Using Workflow to publish to GitHub Pages

Update: I published a follow-up post about incorporating drafts into the process.

Microblog posts

This blog is hosted using GitHub Pages, which has worked out extremely well for me. However, there can sometimes be too much friction to get content published, especially short-form microblog posts. Recently, I was talking with Manton Reece about how to publish Instagram posts to my microblog. He mentioned that he uses Workflow, a fantastic automation app for iOS, to take an Instagram photo and publish it to his WordPress blog. He wrote a post about his process that was helpful as I looked at how to make this work for my needs. Another big help was a recent series about Workflow on Canvas, a podcast about iPhone and iPad productivity.

I only recently started posting my professional content to Instagram, such as sketchnotes and drawings, and it feels like a great fit. I want to keep sharing there, but I want to make sure that I have my own record of the content I am posting as well. Using the workflow I created, here are the basic steps:

  • While posting to Instagram, copy the caption text to the clipboard. This will be the default text for the microblog post, although I can edit it if I want.
  • Select the image in Photos, or run the workflow and select the image later.
  • Workflow creates a title for both the image and the post based on the date.
  • Confirm the post text that Workflow creates, complete with the proper front matter for posting to GitHub.
  • Workflow commits the image and, if that is successful, the text post to my blog repository using the GitHub API.
  • Optionally compose a tweet with the image and text of the post.

I am pretty excited about how simple it is. I have made the workflow so that it can be launched from some text, an image, or even directly in Workflow and select the image and write the text later. This has helped reduce the friction and encourages me to post more frequently. You can still follow me on Instagram, but all of my posts will also be available on my microblog.

Full blog posts

After getting publishing working for microblog posts, I had to keep going. I have started most of my posts on the iPad using iA Writer, and up until now, I would sync them over to my computer to publish them to GitHub. I decided to make a few more workflows so that I could do all of my publishing from my iPad, or even my iPhone. They all work similarly to the workflow for microblog posts. Here are links to download the workflows:

The update workflows will take in an existing file, find it on GitHub, and commit an update to the file. Adding the workflows for photos and files allows me to publish everything that the blog post will need. These have the side benefit of being able to upload any files to a repository, so their use is not limited to GitHub Pages blogs.

Going meta

One of my favorite parts of writing this post describing my new process is using that process. I even added a step to publish and update drafts on my site so that I can preview them and make sure all of the links are working properly before publishing. So I have written this post in iA Writer, published a draft and a few updates to my blog using Workflow, and am now publishing and sharing the actual post using Workflow. πŸ’₯

Onward

Part of my reason for posting this is to motivate my future self to be more consistent with posting. I have removed all of my excuses, and look forward to writing more regularly. Hopefully this has been helpful to you as well. If you have any thoughts or questions, feel free to reach out on Twitter.


I set up Workflow to publish to my GitHub pages blog from my πŸ“±/iPad the last couple days. Excited to have it working! πŸŽ‰


Oct 2016 General Conference Sketchnotes posted at @mormonsketcher ✍🏻β›ͺ️

Oct 2016 general conference sketchnote

Set up a Slack team this morning for my Elders Quorum presidency and drew an icon for us to use.

Provo Temple


πŸ“– πŸ› All Things Wise and Wonderful

By James Herriot


πŸŽ₯ Star Wars: Rogue One

with IT department


πŸŽ₯ Moana

with four older kids


Úll 2016 Sketchnotes posted on @sketchnotable

Ull 2016 Sketchnotes

πŸ“– Tuesdays with Morrie

By Mitch Albom


πŸ“– πŸ› All Things Bright and Beautiful

By James Herriot