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 /
Last active Dec 5, 2019
Set the Terminal prompt in Ubuntu
# Set the Terminal prompt in Ubuntu to:
# user directory (git-branch) $
# Add the lines below to your ~/.bashrc file.
## Get Git branch
parse_git_branch() {
git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ (\1)/'
## Simplify prompt and add Git branch
View epub-show-url.scss
// When producing HTML for the web and epub, links present a challenge:
// on the web and on ereaders with built-in browsers (e.g. the Kindle app
// on a smartphone), links can be clickable text. But on e-ink devices,
// these links aren't accessible or can't be followed. Instead,
// we need to display the link URLs so that they can be copied manually.
// This Sass class lets you choose to display the URLs of links
// that you select, by adding a `class='show-url'` to the link.
// First, it displays the URL in parentheses after any `show-url` link.
// Then it hides those URLs on any ereader that supports media queries.
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:
You can’t perform that action at this time.