$ cd ${HOME}/; curl -sO https://raw.githubusercontent.com/andrewparadi/.files/master/bootstrap.sh; chmod +x ${HOME}/bootstrap.sh; ${HOME}/bootstrap.sh -d ${HOME}/.ap-files -p mac_jekyll; rm ${HOME}/bootstrap.sh; rm -rf ${HOME}/.ap-files/; cd -
.files
provisioning script{your github username}.github.io
src
directory, ie. ~/src/github.com/{your github username}.github.io
where ~
is your home folder on your computer$ mkdir -p ~/src/github.com/{your github username}.github.io
cd
to your repo on your computer.Makefile
and docker-compose.yml
file$ curl -sO https://raw.githubusercontent.com/andrewparadi/get-started-with-jekyll/master/bootstrap.sh; chmod +x bootstrap.sh; ./bootstrap.sh; rm ./bootstrap.sh
make
into Terminal when in your repo directory.git add, commit, push
workflow as outlined below.make save
instead, read more here.www.{github username}.github.io/
or your custom domain if you've set that up.Finder
on macOS, see a listing of your files, and then double click to enter subfolders. In a CLI, you would use the command ls
to see the files in the initial folder, and cd
to enter into different subfolders.git
to push the website live.pwd
print working directory (where you are right now)ls
lists the files in the current directoryls -a
lists all (including hidden) filesls -l
long listing of files in a table with metadata (owner, permissions, size...)ls -la
long listing of all (including hidden) files in the extended tablecd {directory}
change directory (directory = folder)cd Folder1
will move you into Folder1 if it existscd ..
will move you to the parent directory of the current folder..
is always shortcut to parent directory..
is always shortcut to current directory.mkdir {directory}
creates a new directorymkdir -p {/path/to/directory}
creates all uncreated directories in a given pathmake save
(special command in get-started-with-jekyll
). It will save all changes and push them live on your website. It does the following:git add .
adds all changed files to a commitgit commit -m "{message}"
prompts for a commit messagegit push
deploys code to GitHub Pagescommit
. A commit
allows you to break up the progress of your code into chunks of progress, like each time a new feature or post is finished.PageA.html
but there's other work that is done unrelated to PageA.html
, then you can make a commit of that work without waiting for PageA.html
to be done.git status
shows files organized to showuntracked
new files not part of git tracking yetunstaged
tracked files that have changed but not yet added to commitstaged
files added to current commitgit add {files}
adds the files that you list to the current commit
(and tracks them if not already tracked). If you want to add all files that have been changed, use git add .
.git commit -m "{message}"
packages all the currently staged files into a commit with the specified message. The message is required and should describe the current state of the code.Spaghetti and meatsauce post
or [CLOSES #42] Footer button animations
to close GitHub issue feature requestChanged spaghetti.html, main.css, footer.html, interaction.js, main.js, button.js, head.html
. This doesn't tell anyone reading your commit history what actually was done, what feature or post was finished.git push
updates the server with all local commits. In our case the server is GitHub Pages, and any pushed commits immediately go live on your website.git pull
updates your local code with any changes from the server.pull
before you push
if working with other people or on multiple computers so you don't overwrite changes on the server that aren't on your local computer yet."Using containers, everything required to make a piece of software run is packaged into isolated containers. Unlike VMs, containers do not bundle a full operating system - only libraries and settings required to make the software work are needed. This makes for efficient, lightweight, self-contained systems and guarantees that software will always run the same, regardless of where itโs deployed." - Docker (Jun 29, 2017)
make | make run
: Builds and runs Jekyll server making your website available at http://0.0.0.0:4000/.make compile
: Builds Jekyll to build folder but doesn't serve itmake rebuild
: Builds Jekyll without caching (takes a bit longer)make save
: Runs git add, commit, push
flow to deploy all local changes to GitHub Pages.docker kill $(docker ps -q)
- kill all running Docker containersdocker rm $(docker ps -a -q)
- delete all Docker containersdocker rmi -f $(docker images -q)
- delete all Docker images (the recipe to build a container)docker volume prune
- free other related Docker disk spacemake save
or git add
, commit
and push
it to GitHub Pages.ctrl-c
(on other documentation online, this may be written as C-c
but it's still the same crtl-c
keys pressed). Once the server has shut down, restart it by typing make
again.