@koopjs/provider-github

Github provider for Koop

Usage no npm install needed!

<script type="module">
  import koopjsProviderGithub from 'https://cdn.skypack.dev/@koopjs/provider-github';
</script>

README

koop-github

Github provider for Koop

npm travis

Take GeoJSON from a Github repository and serve it as an ArcGIS Feature Service, CSV, KML, or Shapefile.

Install

Koop providers require that you first install Koop. For information on using Koop, see https://github.com/koopjs/koop.

You can add koop-github to your Koop server's dependencies by installing it with npm and adding it to your package.json like so:

npm install koop-github --save

Usage

Make sure your koop configuration includes a github access token (ghtoken in the config object passed to koop or KOOP_GITHUB_TOKEN as an environmental variable). Your Github API requests will be rate limited and you will not have access private gists if you don't include a token.

var koop = require('koop')({
  'ghtoken': 'XXXXXX' // defaults to `process.env.KOOP_GITHUB_TOKEN`
})
var koopGithub = require('koop-github')

koop.register(koopGithub)

koop.server.listen(1338, function () {
  console.log('Listening at http://%s:%d/', this.address().address, this.address().port)
})

Once koop-github is registered as provider and you've started your Koop server, you can request GeoJSON files in Github repositories using this pattern. Note that the path within the repo uses :: as a directory separator:

/github/{organization name}::{repository name}::{folder::path::to::geojson}/FeatureServer/0/query

so for example:

http://localhost:1338/github/koopjs::geodata::countries::mexico/FeatureServer/0/query

Test

koop-github uses tape for testing.

npm test

Contributing

Esri welcomes contributions from anyone and everyone. Please see our guidelines for contributing.

License

Apache 2.0