Skip to content

Instantly share code, notes, and snippets.

View arthurattwell's full-sized avatar

Arthur Attwell arthurattwell

View GitHub Profile
@arthurattwell
arthurattwell / _Jekyll-deploy-with-CodeShip-Basic.md
Last active June 30, 2020 15:27
Test and deploy a Jekyll site with CodeShip Basic

Test and deploy a Jekyll site with CodeShip Basic

This gist has been moved to a full repo for better version control and collaboration.

@arthurattwell
arthurattwell / terminal-prompt.sh
Last active December 5, 2019 16:14
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
// 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
arthurattwell / keybindings.json
Last active September 21, 2019 13:47
VS Code key bindings
// 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"
@arthurattwell
arthurattwell / epub-reference-types.md
Last active August 8, 2019 13:15
Epub reference types

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
arthurattwell / md-to-betterquiz.md
Last active January 10, 2023 14:22
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
arthurattwell / pdf-to-jpg.bat
Created March 25, 2019 13:55
Batch file to convert PDFs to JPGs (requires GraphicsMagick and Ghostscript installed)
:: 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
arthurattwell / pandoc-html-md.bat
Last active April 1, 2019 17:40
Script to convert HTML to markdown with Pandoc
:: 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
:selectfile
:: Clear any preexisting filename variables
SET filename=
@arthurattwell
arthurattwell / update-path-osx.md
Created January 10, 2019 10:11
How to update your PATH in Terminal (OSX)

Updating your PATH in Terminal (OSX)

Background

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
arthurattwell / graphicsmagick.sh
Last active April 2, 2021 17:32 — forked from witooh/graphicsmagick.sh
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