Skip to content
Action-Medical Editable Distributed Instructional Codex
CSS JavaScript HTML Other
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.



Action-Medical Editable Distributed Instructional Codex is an open source repository of material for teaching and learning the various aspects of skills, philosophy, and organizing strategies in the field of “action medical“.


The barely defined, poorly standardized community of protest first-aid activists loosely known as “action medics” has no coordinated means of “distributing” or collaborating around its nascent educational and reference documentation. This is a problem throughout the more formalized first aid and even professional Emergency Medical Services fields, as I understand it, and I hope to eventually contribute a free, open-source platform for managing educational material in forward thinking ways. For instance, facilitating various customizations per instructor or per locale, as it were, whatever the points of dirvergance. Text content is handled as collaboratively editable source, which can be compiled into resources such as student handbooks, teacher’s guides, and even slide presentations with embedded multimedia.

Repository Contents

At this time, the repository contains a general outline and slide presentation for a 20-hour street medic training course. The outline is being developed as open-source content, written in an easy-to-learn lightweight markup format (AsciiDoc) in a Git repository for version control. This means it may be forked and modified for adoption and use by others. (See Fork Your Own A-MEDIC for more info.)

This repository (repo) ( is the prime resource for the A-MEDIC codex. If you fork this repo, be sure to alter this message before republishing your changes, and prominently link back to the prime repo.
Here’s your chance!
This is an ideal project for non-engineers to learn basic Git skills! Consider starting here!

Download the Latest Draft

The most recent PDF of the outline and the most recent compiled slide deck, based on the latest committed codebase changes, will always be available here — no special technical skills or software necessary. Just download and unzip to find the slideshow and PDFs.

Who is this for?
The published materials in this project are for qualified street first aid instructors to use during official trainings. The repository files might be of interest to anyone responsible for educational content managed in Git and output as various formats.

Without editing the source and recompiling the final files, these published artifacts will have to be used as-is.

Edit & Build Your Own

You are welcome to modify the source for this course material however you see fit (for content, style, or both).

You will then need to rebuild the PDF and HTML output to reflect your changes. This action is the build process. If you’re not a techie, it’s a little tricky the first time, but you can doit.

Then you can even distribute your output however you see fit, so long as you continue to make it freely available under the same license and always link back to this origin.

If you are not an action-medical instructor or student involved in a particular class, you may use these materials for educational purposes, be that technical documentation tooling or street first-aid knowledge, but please attend a training by qualified educators before using the medical skills and information in these files.

This codex depends on some awesome free and open source software (FOSS), including Asciidoctor, Prawn, and Deck.js. It also uses my LiquiDoc utility.

Build Instructions

These steps are for constructing your own version of the course content from source files, which you are welcome to edit first.


The codex build procedure requires the Ruby runtime environment. If you’re on a Mac OSX or Linux system, you likely have an appropriate version of Ruby installed.

For Windows, download and run RubyInstaller.

  1. Get the files.

    1. If you are familiar with Git, you should fork this repository on GitHub and clone it.

    2. If you are not familiar with Git and want to work with other or no source control, download the zip archive.

  2. Open your favorite terminal application (Windows instructions, Mac instructions).

  3. Run Bundler’s install command to establish local Ruby gem dependencies.

    bundle install

    If an error message indicates that Bundler is not installed, run gem install bundler, then repeat this step. Bundler is a package manager for Ruby gems; it will ensure you always have the right dependencies installed.

  4. Build the PDFs.

    bundle exec liquidoc -c _config/build-course.yml

    This command actually <1> migrates files to their proper locations in the build/ directory, <2> generates the AsciiDoc index files for further operations, and then <3> calls Asciidoctor to render the PDFs.

    You will see numerous warnings on screen as Asciidoctor tries to reconcile extraneous include calls that are a side effect of the way the handbook is currently constructed. This will be corrected when indexing can be done dynamically based on the actual number of slides per module, rather than having to try including slides that do not exist.
  5. Run a test build of the slide deck.

    bundle exec asciidoctor -T _templates/haml build/index-slides.adoc

    This command executes Asciidoctor with alternate parsing rules for building your deck.

If source files have been edited, always run the previous (bundle exec liquidoc) command before rebuilding the slide deck. All output materials depend on preprocessed index files, and that preprocessing is performed by LiquiDoc.

Managing a Training Agenda in the Cloud

The index files for the training outline and the slide deck alike are themselves derived from a single source file. This is a comma-separated values (CSV) flat file (medic-training-2017-10-nyc.csv) which has been exported from Google Sheets, where it is managed by instructors during an ongoing trainer.

The LiquiDoc tool uses a Liquid template to extrapolate the module order from the exported CSV file.

The advantage of this system is providing a user-friendly, graphical interface for quickly rearranging the order in which modules are taught. The system requires some setup, but once in place, teachers with minimal technical skill can reorder training agendas on the fly.

  1. Make a copy of the Google Sheet in your own Google Drive account.

  2. Alter the order or the duration of any module, or of course remove it altogether (best accomplished by cutting and pasting into another tab).

    When reordering modules, you will need to force Sheets to recalculate. This is done by copying an untouched cell higher up in the starttime column and pasting it over its counterpart in any altered rows. For example, if you swap the order of Rows 4 and 5, copy starttime cell for Row 3 and paste it simultaneously over that column’s cells for Rows 4 and 5. This will instigate a recalculation.
  3. Download the spreadsheet as a CSV file.

    File > Download As > Comma Separated Values

    Be sure you overwrite the existing file in the Save As dialog. This is the file that is cited in the first parse action of the _config/build-course.yml file (_data/medic-training-2017-10-nyc.csv by default).
  4. Rebuild the training materials (including slideshow) using the liquidoc and asciidoctor commands.

Fork Your Own A-MEDIC

Making your own copy of A-MEDIC is easy. Just fork it on GitHub so you have a full repository copy in your account. You can edit files in the GitHub interface or clone your forked repo locally and edit the files with your favorite text/code editor.

(Guide coming soon.)

You are also welcome to use this framework and system to create a wholly different codex, even on a completely unrelated subject. A boilerplate/quickstart version of the framework will be available when some of the kinks are worked out of this implementation.

Contribute & Stay in Sync

When you make changes, such as adding or editing content, you can optionally contribute those changes back to the prime repository. If your changes are approved, they will be merged upstream.

Alternatively, or really simultaneously, you can maintain an altered fork that keeps partly in-sync with the prime repository and can easily adopt future changes made upstream.

That was a mouthful; allow me to explain. Let’s say you love this course, but you teach one module quite differently. The rest of your training corresponds to this outline perfectly. You may fork the source files, edit one file for the module in question, and then keep all the other files in sync through a manual procedure, even as you and/or your colleagues add and update material in the prime repo. This way, when the prime repo changes, you’ll be able to see the changes and accept them on a case by case basis. You will effectively adopt those you like while always protecting any “local” edits you’ve made so they don’t get overwritten by the upstream source when you sync new commits.

(Guide coming soon.)

Here is the legal stuff that makes it possible to share this material with you.


This material is expressly provided as a teaching aid and in no way should be used in the absence of qualified, first-hand instruction. DO NOT USE this information as source material for first aid instruction unless you are qualified to INSTRUCT this material, or as supplementary content provided alongside a qualified course of street medic training.

This content may have been altered from its course material. The original authors do not endorse forked editions of this course, and we encourage all who modify this material to be responsible for the alterations they make. The canonical material is maintained at


All of the content herein is covered by a Creative Commons ShareAlike 4.0 license or is shared under Fair Use provisions, but we urge professional caution when using these materials.

You can’t perform that action at this time.