Skip to content
No description or website provided.
JavaScript
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
__mocks__
data
dist Show url to the build when is complete Sep 16, 2019
scripts
src
test
.env.example
.eslintignore
.eslintrc.json
.gitignore
.prettierrc
.travis.yml
LICENSE
README.md
gatsby-browser.js
gatsby-config.js Replace "ssg" with "vocabs" Sep 27, 2019
gatsby-node.js
gatsby-ssr.js
jest-preprocess.js
jest.config.js
package-lock.json
package.json

README.md

Static site generator for Simple Knowledge Management Systems (SKOS)

This part of the SkoHub project covers the need to easily publish a controlled vocabulary as a SKOS file, with a basic lookup API and a nice HTML view including links to an inbox for each subject. It consists of two parts: the actual static site generator and a webhook server that allows to trigger a build from GitHub.

Set up

$ git clone https://github.com/hbz/skohub-vocabs.git
$ cd skohub-vocabs
$ npm i
$ cp .env.example .env
$ cp test/data/systematik.ttl data/

The .env file contains configuration details used by the static site generator and the webhook server (like PORT, see below).

After changes to your .env or data/* files, make sure to delete the .cache directory:

$ rm -rf .cache

Running the static site generator

The static site generator will parse all turtle files in ./data and build the vocabularies it finds:

$ npm run build

The build can be found in public/ and be served e.g. by Apache. The directory structure is derived from the URIs of the SKOS concepts, e.g. https://w3id.org/class/hochschulfaecher/scheme will be available from public/w3id.org/class/hochschulfaecher/scheme(.html|.json).

You can also run the development web server:

$ npm run develop

to serve the build from http://localhost:8000/. Again, the URL is based on the SKOS URIs, e.g. http://localhost:8000/w3id.org/class/hochschulfaecher/scheme.html

Running the webhook server

The webhook server allows to trigger a build when vocabularies are updated (i.e. changes are merged into the master branch) on GitHub.

Running npm run listen will start the server on the defined PORT and expose a build endpoint. In order to wire this up with GitHub, this has to be available to the public. You can then configure the webhook in your GitHub repositories settings:

image

Connecting to our webhook server

Feel free to clone https://github.com/literarymachine/skos.git to poke around. Go to https://github.com/YOUR_GITHUB_USER/skos/settings/hooks/new to set up the web hook (get in touch to receive the secret). Edit https://github.com/YOUR_GITHUB_USER/skos/edit/master/hochschulfaecher.ttl and commit the changes to master. This will trigger a build and expose it at https://test.skohub.io/YOUR_GITHUB_USER/skos/w3id.org/class/hochschulfaecher/scheme.

You can’t perform that action at this time.