How you can contribute to the Groovy Website

A simple way that you can contribute to an open source project.

& Anyone who knows me knows that I am a huge fan of The Groovy Programming Language. So much so that I did my part to spread the good word about Groovy by creating a course titled “The Complete Apache Groovy Developer Course“. 

Apache Groovy Website

I recently had the opportunity to contribute to the Groovy website. In this article, I will tell you all about what I did and how you can contribute as well. 

Contributing to the Groovy Website

The website is open source and on Github so it was really easy to get started with. Contributing to an open source project isn’t always all about adding that cool new feature to the core of the project. 

I wanted to add a resource on the learn page so that people could find my course. I am probably a little biased but I think my course is one of the best resources around for learning Groovy. So now on top of teaching folks how to use the language I made some updates to the website.

Fork & Pull Request

I am not an official committer to the project so the first thing we need to do is to fork the repo. To do this we are going to head over the repo for the Groovy Website and fork it. This means that we are going to make changes on our GitHub account and then send them a pull request. You can see my commits below along with the project lead Guillaume Laforge merging them into the master branch. 



Now that we understand the workflow we can take a look at how to make that change. If you look at the readme for the source code there is a ton of great information to get you started. The following information is straight from the readme. 

The website is generated thanks to Gradle and makes use of the Markup Template Engine. The structure of the project consists of two modules:

The website subproject consists of:

Additional details can be found in this blog post.

Adding Courses to the Learn Page

There was no courses section when I started this so the first thing I needed to do was to add a new model for courses. 

Then in the sitemap which contains all of the data in markup form, I just add a new course. 

Finally, on the learn page, I will loop over and display my course.

Generating a static site

Now that we made the changes to our source code we need to generate our website. The entire website is a static website that is generated from a whole bunch of groovy code. To generate the website go into the root of the project and run the following command. 

If you look in the build/site directory you will see the generated website. If you go to that location in your browser you can check out the site and make sure everything looks ok.

Contributing to the Apache Groovy Website Screencast.

In this screencast, I am going to show you how I did that. I really enjoyed learning how the entire website was built in Groovy and then they simply generate a static site.

The Complete Apache Groovy Developer Course

Are you looking to learn a new language? Learning a new language helps expand your skill set as a developer and make you more marketable. If you aren’t learning a new language because it’s not the one you use at work I think you’re missing out on the benefits. I often found that seeing how other languages solve problems makes me a better developer with the languages I use on a day to day basis. I am here to tell you all about an awesome dynamic language called Apache Groovy.

The Complete Apache Groovy Developer Course

The Complete Apache Groovy Developer Course


I said this earlier in the article and I would like to repeat it again. You don’t always have to contribute code to the core of a project to help an open source project out. I have contributed documentation, static websites, plugins and even just offering up suggestions on the mailing lists. There are tons of ways to get involved so If you really enjoy using an open source project contact them and see how you can get involved.

Question: What are ways that you like to contribute to a project? 

Hi, I’m Dan Vega. I am a Software Engineer living just outside of one of my favorite places in the world, Cleveland, Ohio. I am a self-taught programmer who firmly believes that you can accomplish anything in this life if you put your mind to it, roll up your sleeves and are willing to put in the work.

I have been writing software for over 18+ years now and I use my knowledge, passion, and influence to help other developers achieve their goals. I teach online and currently, have over 30,000 students.

When I am not writing software, I have a number of things that really keep me busy. I love to read books, listen to podcasts and watch online courses. I have a real thirst for knowledge and it consumes me every single day of the week. I also love to run & lift heavy weights which keep me balanced throughout the week.

Please note: I reserve the right to delete comments that are offensive or off-topic.