Skip to content


Repository files navigation

Gem Version npm version


mdCodes provides code lists in hash or JSON formats for loading of mdEditor and other metadata tools that use the ADIwg mdJson-schemas. The code lists include all ISO 19115-2 and ISO 19115-1 codes plus supplemental codes added by NGDC and ADIwg. The code lists may be accessed in Ruby using the gem. Alternatively, JSON may be generated from the YAML using Grunt. NPM package is available as well. See the following for instructions.


npm install mdcodes

Note: The npm install will also create JavaScript modules for the codelists.


The adiwg-mdcodes gem provides code lists in Ruby hash or JSON formats.


Add this line to your application's Gemfile:

gem 'adiwg-mdcodes'

And then execute:

$ bundle

Or install it yourself as:

$ gem install adiwg-mdcodes



returns the path to the 'resources' folder containing codelist files in YAML format'.

getAllCodelistsDetail( returnFormat )

returns all code lists with all codelist detail returnFormat = [hash | json] (string)

getCodelistDetail( codeListName, returnFormat )

returns a single codelist with all code list detail codeListName = name of code list to return (string) returnFormat = [ hash | json ] (string)

getAllStaticCodelists( returnFormat )

returns all static codelists with only the codelist item names returnFormat = [hash | json] (string)

getStaticCodelist( codeListName, returnFormat )

returns a single static codelist with only the codelist item names codeListName = name of code list to return (string) returnFormat = [hash | json] (string)


Generate JSON verions of the code lists using Grunt.

Note: These instructions assume that npm and Grunt are already installed. The generated files are not tracked by git.

  1. Change to the project's root directory.
  2. Install project dependencies with npm install.
  3. Generate the JSON code lists with grunt.
  4. The JSON is written to the resources/json directory.


  1. Fork it (
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request