JBCNConf Website

This repository holds the public website for the JBCNConf, the Java conference is organized by the Barcelona JUG every summer.

Building the website

The site is build with the Jekyll and published with GitHub pages. To run it you need to setup a basic Ruby (up to 2.4.x) environment.

For Linux and MacOS, the recommended way to install Ruby is with RVM. For Windows you can use RubyInstaller or the chocolately package.

Once Ruby is installed, install the required gems with the following command.

bundle install

The required ffi gem is not yet fully supported in Ruby 2.5.x. If you want to build the site with Ruby 2.5.x, skip bundler and install the gems manually with:

gem install ffi --force -v 1.9.18
gem install jekyll

Generated pages

Converting generated html is ONLY required when updating them.

Some pages use Asciidoctor to generate the HTML. adoc sources can be found under tools directory.

To convert them:

  1. Install Asciidoctor Ruby gem gem install asciidoctor

  2. Render each file with the --no-header-footer option (-s in short) specifying the source and target path.

Here is the list of the current generated files and their commands:

$ asciidoctor tools/diversity.adoc -aidprefix -aidseparator=- -s -o 2019/_includes/diversity/diversity-terms.html
$ asciidoctor tools/hackergarten.adoc -aidprefix -aidseparator=- -s -o 2019/_includes/hackergarten/hackergarten-content.html
$ asciidoctor tools/talks-feedback.adoc -aidprefix -aidseparator=- -s -o 2019/_includes/feedback/feedback-talks-table.html
$ asciidoctor tools/workshops-feedback.adoc -aidprefix -aidseparator=- -s -o 2019/_includes/feedback/feedback-workshops-table.html
$ asciidoctor tools/become-sponsor.adoc -aidprefix -aidseparator=- -s -o 2020/_includes/sponsors/become-sponsor.html

Note that a real line break required two line-breaks, single ones are ignored. Files are not converted automatically. If changes in the sources are made, remember converting them and adding the generated html in the commit.

Testing the website

Testing it locally (Requires Ruby installation)

Just fork the repo, open a shell, place yourself in the root and run

$ bundle exec jekyll serve

of just

$ jekyll serve

This will start a local embedded server on http://localhost:4000. The server will stay up and self-update automatically.

Testing it lcoally (Required Gradle installation)

If you have Gradle installed somewhere (or even have a project somewhere with the Gradle wrapper) you can test without having anything installed. Just fork the repo, open a shell and run

$ gradle -b jekyll.gradle -i

This will bootstrap everything into a throw-away folder and start up the local server on

http://localhost:4000

The server will stay up and self-update automatically.

Testing on a GitHub cloned repo

You can publish the site in your cloned repo to see the result of your changes.

First, enable GitHub pages in your forked repository and set it to publish to the gh-pages branch.