One of the best ways to contribute to Innolitics outside of client work—writing articles, improving our training program, or polishing our handbook—is to update our website. This lesson will introduce you to Jekyll, the static site generator that produces our website, and show you how you can contribute to website updates.
Read through our article writing process.
Skim through the Jekyll documentation. The pages within the “CONTENT” and “SITE STRUCTURE” sections are especially relevant.
Keeping your understanding of Jekyll in mind, skim through our website’s source code.
To learn as much as possible from these exercises, we recommend that you write your response before revealing the provided answers.
Why do we write articles for our website?
We write articles to help us pursue our company mission of sharing knowledge and to accord with our company values of learning.
What is a static site generator?
A static site generator is a type of website generator that creates and serves the same HTML files and content for all users, regardless of individual user preference or activity. In contrast, a dynamic site generator creates unique content each time the user requests a page, based on that individual user’s interaction.
A social media website that shows each user some content that has been specifically curated just for them, or provides features based on individual account preferences or location, would be an example of a dynamically generated site. A blog that shows everyone exactly the same thing would be an example of a statically generated site.
Using a static site generator has many benefits, most notably the speed at which the pages are served to the user.
Clone the website from github and set up a local development copy. When you execute the
./run script, a browser tab with our website should open at
127.0.0.1:4000. Create a new article that is inline with our Mission and Values, and place it in the proper location in the
/articles/ directory. It must include at least one image. Add your images to
/img-orig/, and run
Makefile to make your images propagate. When your article is well formatted, and compiles correctly, create a new branch and pull request, and assign it to a lesson mentor. The available lesson mentors are included in the YAML front matter of this lesson.
Read through the README and be sure the system dependencies have the appropriate versions.
If you are using macOS and you want to use nvm to manage your node versions so you can use older iterations, and you get a terminal result like “-bash: nvm: command not found” follow these steps to install and configure nvm:
brew install nvm
source $(brew --prefix nvm)/nvm.sh
nvm use <version>
Read about our standard script names.
Open the lesson page in the GitHub editor.
Remove any exercises or learning material that are not useful to the intended audience. Find ways to shorten and clarify the writing. Add generally useful exercises, responses, or learning material. Your improvements will make our training program great!
Create a new branch and pull request and assign it to your lesson mentor. The available lesson mentors are included in the YAML front matter of the lesson. They will set up a time to review your suggested changes and to talk through your exercises for the lesson.
After the review add your self to the "completed" property in the lesson's YAML front matter and merge in your changes!