A site listing active tech community events in Finland. Events are updated automatically once a day. Supports Meetabit, Meetup.com, Luma and a custom JSON format.
The site itself lives in remix/ and is a statically prerendered React Router v8 app, deployed to GitHub Pages. See remix/README.md for details on that app.
First, install dependencies:
npm installThen, add a community by URL:
npm run add <url> [tags]Example: npm run add https://www.meetabit.com/communities/helsinkijs "JavaScript,TypeScript"
Once done, create a pull request with the changes.
Communities are defined in data/communities.yml:
- name: HelsinkiJS
location: Helsinki, Finland
tags:
- JavaScript
- TypeScript
events: https://www.meetabit.com/communities/helsinkijs
logo: helsinkijs.png # optional, can start with http(s)
site: https://helsinkijs.org # optional
url: https://gist.githubusercontent.com/olegp/f34469b65286c057964414c4aaf5bf47/raw # alternative to eventsThe add command updates this file and adds a logo to the repo.
The scraping and data-maintenance scripts run from the repo root; the site itself is built from remix/.
Install root dependencies and scrape event data:
npm install
npm run scrapeThis writes data/output.json, which the site reads at build time. Then, in a separate step, install and run the site:
cd remix
npm install
npm run devTo build the static site for production (equivalent to what CI does):
npm run scrape # from the repo root
cd remix && npm install && npm run buildThe output is written to remix/build/client.
Remove inactive communities:
npm run pruneThe original Jekyll site in site/ (plus Gemfile and .ruby-version) is intentionally kept in the repo for now, as a rollback path while the React Router rewrite settles in production. It is no longer built or deployed by CI. If you need to run it locally:
bundle install
npm run scrape
npm start # jekyll serve --source site --livereloadRemoving the Jekyll site entirely is tracked in TODO.md.