A multi-format tool to generate and maintain agency.gov/data catalog files.
Creating and updating agency.gov/data catalog files is a non-trivial and potentially time-consuming task.
Catalog Generator creates conformant catalog files using simple, list-based input.
Catalog Generator can import both CSV and JSON files, and can export as JSON, HTML (RDFa), and XML
Catalog Generator is build using Jekyll, Backbone and CoffeeScript.
There is a collection of Dataset
models stored as Application.datasets
. The schema is parsed via YML and stored at Applciation.schema
as a colleciton of Field
models. Each Dataset has multiple Fields.
Catalog Generator runs entirely in your browser. No installation necessary. Simply visit http://project-open-data.github.com/catalog-generator
- Node
- Ruby (Bundler)
- Jekyll
- Grunt
To run catalog generator locally (e.g., to contribute):
git clone https://github.com/project-open-data/catalog-generator.git
cd catalog-generator
npm install
bundle install
- Use the command
grunt
to compile and compress all templates, coffeescript, and css files. If you don't have grunt installed, you will need to runnpm install -g grunt-cli
(orsudo npm install -g grunt-cli
on OS X). - Use the command
jekyll
to initiate a server. The site will be available athttp://localhost:4000
.
Available tasks
concat Concatenate files. *
coffee Compile CoffeeScript files into JavaScript *
uglify Minify files with UglifyJS. *
watch Run predefined tasks whenever watched files change.
mincss Minify CSS files *
clean Clean files and folders. *
coffeelint Validate files with CoffeeLint *
jekyll This triggers the `jekyll` command. *
imagemin Minify PNG and JPEG images *
csslint Lint CSS files with csslint *
cssmin Minify CSS files with clean-css. *
jst Compile underscore templates to JST file *
cs Alias for "coffeelint", "concat", "coffee" tasks.
default Alias for "cs", "jst", "uglify", "mincss", "clean" tasks.
This project constitutes a collaborative work ("open source"). Federal employees and members of the public are encouraged to improve the project by contributing.
- Configure git by using this basic tutorial or by downloading the GitHub for Mac/GitHub for Windows.
- Fork the project.
- Make changes as you would normally using the tools installed in step #1.
- Push the changes back to your fork.
- Submitting a pull request to this repository.
- You change should appear once approved.
Note: All contributors retain the original copyright to their contribution, but by contributing to this project, you grant a world-wide, royalty-free, perpetual, irrevocable, non-exclusive, transferable license to all users under the terms of the license(s) under which this project is distributed.
The project as originally published constitutes a work of the United States Government and is not subject to domestic copyright protection under 17 USC § 105. Subsequent contributions by members of the public, however, retain their original copyright.
In order to better facilitate collaboration, the content of this project is licensed under the creative commons 3.0 license, and the underlying source code used to format and display that content is licensed under the MIT license.