This repository is responsible for most content visible on the website TechWorkersBerlin.com. The site is made with a static site generator called Jekyll in a language called Ruby.
We use Docker to have a reproducible development environment. Before proceeding, install Docker Compose on your system.
- Start the application with the command:
docker-compose up
- Access the application in a browser at
localhost:4000
- Execute other commands in the Docker container:
docker-compose run --rm --service-ports jekyll bash
- Install dependencies:
bundle install && npm install
- Start a local server:
npm start && bundle exec jekyll serve
- Verify all internal links are valid:
bundle exec rake
Open a browser to localhost:4000
Add a file inside the _events
directory. Copy a previous file as a template, and make sure to include the right time zone for Berlin!
Add a file inside the _news
directory. Copy a previous file as a template. If an author does not exist, add one inside _data/authors.yml
. A name is only thing necessary, but photo is optional too.
I18n (internationalization) is made available with the jekyll-multiple-languages-plugin. When a page has a translated version available, a link will show up on the top right if you use the default_translate layout. English is the default language, while other languages have their two letter ISO code prefixed, for example TechWorkersCoalition.org/ru for Russian.
- Add new language key to en.yml
- Add two letter iso code in config. The order here determines the order shown on the page. English must be first.
- Inside the i18n directory create a
LANGUAGE.yml
with the language key and value in its own language, for examplees: Español
Note, only the default en.yml must contain the names of each language. The other language yaml files contain just their own language key.
- Landing Page index.yml
- English
- Polish/Polski
Netlify is both our server and continuous integration. It offers plugins which can be ran before deploying the site, to either perform some checks or optimizations. Check out our [netlify.toml], it has some build plugins installed. To test them locally on your own machine run:
# Ensure that you have the netlify build command available
# (in future this will be provided via the CLI)
npm install @netlify/build -g
# In the project working directory, run the build as netlify would with the build bot
netlify-build