node package manager
Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »



archieml-pipe npm version

archieml-pipe is a library to help easily export data structured in ArchieML in Google Docs to local JSON. You can then use that data as context to render HTML templates.

We use this library in order to separate the function of writing and editing text from producing interactive content for the web in the POLITICO newsroom.

Read all about how to use ArchieML, then see how you can use this library to easily authenticate and export structured data from Google Docs.


Use archieml-pipe in your build system:

const gulp = require('gulp');
const archiePipe = require('archieml-pipe').default;
const config = {
  googleDocId: '<google doc id>', // required 
  googleClientId: '<google client id>', // required 
  googleClientSecret: '<google client secret>', // required 
  redirectPort: '6006', // defaults to 6006 
  exportPath: 'path/to/save/data.json', // defaults to ./data.json 
  tokenPath: 'path/to/save/token.json', // defaults to ./archie-token.json 
gulp.task('archie', (cb) => {

This example uses Gulp, but of course you can use whatever you like. Just call the function, passing it a config object with the required properties.



Simply open you doc in the browser and copy the ID from the URL:


Don't forget to change your share settings to "Anyone with the link can view."



  1. Go to the Google Developers Console and create a new project.

  2. Create credentials for an OAuth client ID.

  3. Select "Web Application" for the Application Type, and give your client a name.

  4. Add http://localhost to Authorized JavaScript origins

  5. Add http://localhost:6006 to Authorized Redirect URIs

  6. Click create and copy both the client ID and client secret.

  7. Go to the Library tab in the left rail and search for the Drive API

  8. Click it and enable the API in the next screen.


Use the client secret key you copied out of the previous step.


On your first run, archieml-pipe will open a browser that will guide you through the Google permission dialogue to access you document, after which you will be redirected with an auth code. Copy and paste it into the prompt and archieml-pipe will save the token locally to a JSON file at tokenPath.



archieml-pipe is cobbled together from several other great ArchieML libs, namely:


Make changes in src/ and then run $ gulp to transpile ES6 code.