| @@ -1,11 +1,54 @@ | |||||
| # kiosks.adrianshort.org | |||||
| Static site generator for website to track BT InLink kiosks planning appilcations. Output is adrianshort/kiosks-public | |||||
| # [kiosks.adrianshort.org](https://kiosks.adrianshort.org/) | |||||
| ## How to build this site | |||||
| Static site generator for website to track BT InLink kiosks planning applications. | |||||
| 1. Clone this repo to your local machine and go into its directory. | |||||
| ## How to build this site locally | |||||
| ### Setup - do this only once | |||||
| 1. `$ git clone git@github.com:adrianshort/kiosks.git && cd kiosks` | |||||
| 2. `$ bundle install` | 2. `$ bundle install` | ||||
| 3. [Sign in to Morph](https://morph.io/users/auth/github) with your GitHub account. | 3. [Sign in to Morph](https://morph.io/users/auth/github) with your GitHub account. | ||||
| 4. Download the SQLite database from the [InLink scraper on Morph](https://morph.io/adrianshort/inlink-scraper) and save it in your project's root directory. It should be named `data.sqlite`. | |||||
| 5. `$ bundle exec bin/petrify` | |||||
| 6. The built site is now in the `_site` directory. Deploy it as a static site wherever you like, eg [Netlify](https://www.netlify.com/). | |||||
| 4. Go to your Settings page: https://morph.io/owners/YOUR-USERNAME/settings and copy your secret API key. | |||||
| 5. `$ export MORPH_API_KEY=123456abcdef` (use the actual key value given) | |||||
| Add the `MORPH_API_KEY` to your `.profile` or `.bash_profile` file or similar as required so it's available for every shell session. | |||||
| ### Build - do this every time | |||||
| 1. `$ bundle exec bin/download` - gets the latest data from the scraper's API | |||||
| 2. `$ bundle exec bin/petrify` - builds the static site | |||||
| The built site is now in the `_site` directory. | |||||
| If you've got build/deploy to Netlify set up (see below), use `[skip ci]` in your commit messages to avoid triggering a build every time you `git push`. | |||||
| ## How to build and deploy this site on Netlify | |||||
| Use Morph to send a webhook HTTP POST request to [Netlify](https://www.netlify.com/), triggering Netlify to build and deploy the site using the latest version of the data. | |||||
| ### Basic setup | |||||
| 1. Sign in to Netlify. | |||||
| 2. Click `New site from Git` | |||||
| 3. Connect your GitHub account. | |||||
| 4. Choose the `adrianshort/kiosks` repo to deploy, or your own fork of it. | |||||
| 5. Use these settings: Branch to deploy: `master`, build command: `bundle exec bin/download && bundle exec bin/petrify`, publish directory: `_site` | |||||
| 6. Click `Show advanced` and create a `New variable` | |||||
| 7. Key: `MORPH_API_KEY`, Value: `123456abcdef` (use the actual key value given by Morph) | |||||
| 8. Click `Deploy`. Netlify will now build and deploy the site. | |||||
| ### Set up a webhook to trigger automatic builds/deploys when the scraper finishes | |||||
| 1. Click `Site settings` for your Netlify site. | |||||
| 2. `Build & deploy` tab > `Continuous Deployment` | |||||
| 3. Click `Add build hook`. | |||||
| 4. `Build hook name` can be anything you like, eg `Morph scrape completed`. | |||||
| 5. `Branch to build` is `master`. | |||||
| 6. Click `Save`. | |||||
| 7. Copy the webhook URL, eg: `https://api.netlify.com/build_hooks/123456abcdef`. | |||||
| 8. On Morph, go to the Settings page for your scraper. | |||||
| 9. Click `Add webhook`. | |||||
| 10. Paste the webhook URL and click `Update Settings`. | |||||
| Netlify will now build and deploy the site using the latest scraper data every time the Morph scrape succeeds. | |||||