Machine Setup Overview
Before you can begin developing, your machine (computer) needs to be configured and loaded with the necessary software and dependancieis. Each OS (Windows, Mac, Linux) will have its own method to download and install software based on the technology stack you’re working with. In this guide, we will focus on how to build a Minimal Viable Product (MVP) to prep your machine to create a Static Website Generator using Jekyll.
Detailed instructions based on your OS are provided, and can be accessed from the left side bar.
Core setup
- Apps - Software Package Manager
- Retreives your applications/libraries/code through a trusted repository
- Code - Source Code Repository
- Github CLI
- The command line tool to interact with Github repos
- IDE - Integrated Development Environment
- Visual Studio Code
- The best integrated development environment for beginners to advanced programmers
- Programming Languages
- Ruby
- The programming language and framework used by Jekyll and Github pages
- Python
- Ruby
Software Package Manager
A package manager is a software that allows you to install, upgrade, remove other software packages on your computer in a consistent manner. With a package manager, you can easily maintain and track your collection of software packages required for use, but also install any other packages that are dependant in order to function.
The job of a package manager is to present an interface which assists the user in managing the collection of packages installed on his or her system.
MacOS
- Homebrew is a package manager for macOS.
Windows
Linux
Click on the links below to navigate to the detailed instructions:
Core Apps
- Source Code Control (Git, GitHub CLI)
- Integrated Development Environment (VS Code)
- System Tools
- Archiver/compressor (7zip)
- Screen Capture (ShareX)
- File Transfer Utility (FileZilla) Graphic Design Tools
- Krita
- InkScape
- Gimp
Github Command Line Interface
The Github CLI is a command line interface for the Github API. It is used to create and manage repositories. It is also used to create and manage issues and pull requests.
Install Software Packages (optional)
Most people are familiar with downloading and installing software from a website the manual way. However, there are a few things that can be done with the package manager that can make it easier and automatic. For instance, you can install a package with a single command (i.e. brew cask install visual-studio-code
), or you can install multiple packages at once.
This repository has 2 submodules that contain files for installing different collections of software. You can find the files in the \homebrew
or \winget
directory.
If the directories are empty, run the following command to fetch the submodules:
git submodule update --init
Detailed instructions for installing software packages can be found in the Brewfile section for Mac, or the Winget section for Windows.
Packages are grouped into the following categories:
Development Tools
- Programming Languages
- Python
- Perl
- .NET
- Node.js
- Ruby
- MikTex
- Databases
- MySQL
- PostgreSQL
- MongoDB
- Redis
Graphic Design Software
Music Software
Web
Install VS Code
VS Code is a text editor that integrates well with Github. It is a free and open source software editor.
#install VS Code via Homebrew
brew cask install visual-studio-code
Log into VS code using your github account by clicking on the Account icon on the bottom left of the VS code window.
Jekyll & ruby Setup
Set SDKROOT (only macOS Catalina or later)
export SDKROOT=$(xcrun --show-sdk-path)
Install Ruby
Ruby is the programming language of choice for Jekyll, and also manages the dependencies for the Jekyll gem.
# Install Ruby
brew install ruby
Add Ruby to PATH
After install, you need to add the executables to your PATH. Otherwise, you will not be able to run Ruby or Jekyll.
First check which terminal shell you are using:
echo $SHELL
# Add Ruby to your PATH if you're using Zsh
echo 'export PATH="/usr/local/opt/ruby/bin:/usr/local/lib/ruby/gems/3.0.0/bin:$PATH"' >> ~/.zshrc
# Add Ruby to your PATH If you're using Bash
echo 'export PATH="/usr/local/opt/ruby/bin:/usr/local/lib/ruby/gems/3.0.0/bin:$PATH"' >> ~/.bash_profile
Install Jekyll
Once Ruby is installed, you can install Jekyll. First exit the terminal and open a new terminal to initialize the new PATH variable.
# Install Jekyll and Bundler
gem install --user-install bundler jekyll
Append the Jekyll Gem your path file
First get the ruby version using:
# Get Ruby version
ruby -v
Replace X.X.0 with the version of ruby you just installed
# Add path to zshrc profile
echo 'export PATH="$HOME/.gem/ruby/3.3.0/bin:$PATH"' >> ~/.zshrc
# Add to your .bash_profile
echo 'export PATH="$HOME/.gem/ruby/3.0.0/bin:$PATH"' >> ~/.bash_profile
Restart your terminal
Verify that Jekyll is installed
# Verify Jekyll is installed
jekyll --version
Fork Github Repository
Now you can fork the repository from Github and start working on it.
# Navigate to your home directory, create a github folder, and fork the github repo
cd ~
mkdir github
cd github
gh repo fork bamr87/it-journey
Install Dependencies
Once the repo is installed, you can install the dependencies for the Jekyll gem.
# Navigate to your github repo and install dependancies
cd ~/github/it-journey
bundle install
Build Jekyll site
To build the Jekyll site, you need to run the following command:
# Build Jekyll site
jekyll build
Start Site locally
To start the site locally, you need to run the following command:
# Start Jekyll site locally
jekyll serve