Skip to content

Instantly share code, notes, and snippets.

Arthur Attwell arthurattwell

Block or report user

Report or block arthurattwell

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
arthurattwell / keybindings.json
Last active Sep 21, 2019
VS Code key bindings
View keybindings.json
// Place your key bindings in this file to overwrite the defaults
"key": "ctrl+k",
"command": "extension.changeCase.commands",
"when": "editorTextFocus"
"key": "ctrl+tab",
"command": "workbench.action.terminal.focusNext"

Epub reference types

Copied from the IDPF's EPUB2.0 spec:

The required type attribute describes the publication component referenced by the href attribute. The values for the type attributes must be selected from the list defined below when applicable. Other types may be used when none of the predefined types are applicable; their names must begin with the string other.. The value for the type attribute is case-sensitive.

The following list of type values is derived from the 13th edition of the Chicago Manual of Style:

Attribute Explanation
arthurattwell /
Last active Jun 25, 2019
Converting markdown MCQs to Betterquiz BQF format

Converting markdown MCQs to Betterquiz BQF format

Betterquiz is a format and engine for creating multiple-choice tests and embedding them on websites in an iframe. It’s an open-source project hosted here.

For Bettercare, we create MCQ quizzes for books in kramdown-flavoured markdown. We then need to quickly convert them to BQF for uploading to our Betterquiz server.

This series of regex search-and-replaces turns a kramdown quiz file into a BQF file. In each case, the first line is the search, and the second line the replace (unless you should replace with nothing).

  1. Remove numbers from questions.
arthurattwell / pdf-to-jpg.bat
Created Mar 25, 2019
Batch file to convert PDFs to JPGs (requires GraphicsMagick and Ghostscript installed)
View pdf-to-jpg.bat
:: pdf-to-jpg.bat
:: This batch file converts all the PDF files in a folder to JPGs,
:: and each page is a separate, numbered JPG.
:: 1. Make sure GraphicsMagick and Ghostscript are installed and in your PATH.
:: 2. Save this pdf-to-jpg.bat file to the folder alongside the files you want to convert.
:: 3. Double-click pdf-to-jpg.bat.
arthurattwell / pandoc-html-md.bat
Last active Apr 1, 2019
Script to convert HTML to markdown with Pandoc
View pandoc-html-md.bat
:: pandoc-html-md.bat
:: Don't show these commands to the user
@ECHO off
:: Set the title of the window
TITLE Convert HTML to markdown with Pandoc
:: Select file marker
:: Clear any preexisting filename variables
SET filename=
arthurattwell /
Created Jan 10, 2019
How to update your PATH in Terminal (OSX)

Updating your PATH in Terminal (OSX)


When you ask your computer to run a program, it needs to be able to find the program's executable files. The PATH is its 'official' list of places to look.

You can have Terminal add locations to your PATH each time you open it. To set this up, you need to create a 'bash profile' ('bash' being the language that Terminal runs in), which Terminal will read each time it launches. The bash profile can list locations that Terminal adds temporarily to the computer's PATH.

These steps show how to do that, in particular for adding Ruby to your PATH after installing it with Homebrew.

arthurattwell /
Last active Jan 7, 2019 — forked from witooh/
Install GraphicsMagick on Ubuntu 18.04
sudo apt install software-properties-common -y
sudo add-apt-repository ppa:rwky/graphicsmagick -y
sudo apt update
sudo apt install graphicsmagick -y
arthurattwell /
Last active Jan 13, 2019
Script to set up the Electric Book tools on a USB drive running Ubuntu 18.04
# This script sets up the Electric Book tools on an Ubuntu 18.04 USB drive.
# It assumes a fresh Ubuntu 18.04 install. Anywhere else, use at your own risk.
# Tested on a 32GB Sandisk Cruzer Blade drive.
# Before using this script, to create a bootable USB drive:
# - On Windows, use Rufus, but changes to the USB will not be saved:
# - On Ubuntu, optionally with the ability to save ('persistence'), use mkusb:
arthurattwell /
Created Jan 7, 2019
Setting up the Electric Book workflow on Windows

Setting up the EBW tools on Windows

These steps have worked for me on several machines. Every machine is a bit different, so your mileage may vary.

On OSX? I've written up guidance for installing the EBW tools on OSX here.

  1. The first steps are to get Ruby and Jekyll installed. I have a whole separate piece on that here. Go and read that, follow it closely, and come back here when you're done.

  2. Download and install PrinceXML. See for instructions. Note that this is proprietary software (the only proprietary tool we use). You can try the trial version for free; it adds a watermark to your first page.

  3. Install PhantomJS. This is necessary for building search indexes for websites. (And, in older repos to Electric Book template version 0.12, for creating PDFs th

arthurattwell /
Last active Dec 17, 2018 — forked from douglas/
Update all git repositories under a base directory
# store the repos dir
# Go into the repos folder
# Let the person running the script know what's going on.
echo "Pulling in latest changes for all repositories..."
You can’t perform that action at this time.