Week 1: Project management
Context and my previous skills
I have basic HTML skills going back many years, and also code for my art practice. I am not a web developer, nor am I a professional programmer. I had very limited experience with version control. But my experience in both of these areas has already given me some opinions about these areas of development, and guided how I made decisions:
First, there are a billion solutions to any of these tasks. Don't spend too much time surveying them all. Survey a couple, choose one that suits you.
Second, web design is not fun. Pick a solution that requires minimal futzing. I am partial to Wordpress, but because I understood that the Fab Academy documentation should be as independent as possible (not relying on external sources or databases), I bit the bullet and committed to finding a template to modify.
Making Git work
Git tutorials
I followed the video of Fiore's recitation and the video suggested by Emma.
Installing Git
Installed xcode/git following these instructions.
Opened a terminal, typed git --version
and installed Xcode. After it was installed,
typed git --version
again to confirm that git was installed.
Configured git with git config --global user.name "name"
and git config --global user.email "e@mail"
Followed Fiore's example of experimenting with commands like git init
, git rm
, etc.
Getting gitlab connected
I had already configured my login information before the Fab Academy began.
I created SSH keys with ssh-keygen
. Moved the private key file to ~/.ssh, and copied
the public key in Gitlab under Settings - SSH Keys.
Tried cloning remote repository. Got some errors:
egon:testing david$ git clone david.mccallum@gitlab.fabcloud.org/academany/fabacademy/2018/labs/fablabamsterdam/students/david-mccallum.git
fatal: repository 'david.mccallum@gitlab.fabcloud.org/academany/fabacademy/2018/labs/fablabamsterdam/students/david-mccallum.git' does not exist
egon:testing david$ git clone david.mccallum@gitlab.fabcloud.org/academany/fabacademy/2018/labs/fablabamsterdam/students/david-mccallum.git | aha -b -n | pbcopy
fatal: repository 'david.mccallum@gitlab.fabcloud.org/academany/fabacademy/2018/labs/fablabamsterdam/students/david-mccallum.git' does not exist
-bash: aha: command not found
Tried copying the link directly from Gitlab.
egon:site david$ git clone git@gitlab.fabcloud.org:academany/fabacademy/2018/labs/fablabamsterdam/students/david-mccallum.git
Cloning into 'david-mccallum'...
The authenticity of host 'gitlab.fabcloud.org (13.59.248.79)' can't be established.
ECDSA key fingerprint is SHA256:Rphnjz211wPLjTJcyAip0xozt0hOoFgT9hl5eZfxzd0.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'gitlab.fabcloud.org,13.59.248.79' (ECDSA) to the list of known hosts.
git@gitlab.fabcloud.org: Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Followed Henk's Git tutorial. Edited ~/.ssh/config and inserted this text:
Host gitlab
Hostname gitlab.fabcloud.org
User git
Identityfile ~/.ssh/fabacademy-gitlab
IdentitiesOnly yes
Tried cloning again, using the syntax from Henk's page. Notice the "gitlab:" in the place of the user@domain:
egon:testing2 david$ git clone gitlab:academany/fabacademy/2018/labs/fablabamsterdam/students/david-mccallum.git
I have no idea why this change fixed the problem.
From advice from Johanna, added .gitlab-ci.yml to make the git repository viewable as a web site. Used gitlab's interface. +New File - Template - .gitlab-ci.yml.
Making a website
Looked for HTML templates, googled "html5 templates". Found references to HTML5 Up and Bootstrap , amongst others.
A friend and previous student, Troy Nachtigall had used HTML5 Up. I browsed both HTML5 Up and Bootstrap, and selected an HTML5 Up template that suited my needs: simple, pleasing design, accommodated images and text, main page can list categories like the weekly assignments, etc. Settled on Phantom.
I have experience using many text editors, such as Smultron, Textwrangler, and others. I hadn't used them in a while, and Johanna suggested Atom. I looked at it, it looked fine. I chose to use it.
Began modifying the code to document my work. I started with the weekly assignment page to work out the kinks of working with the code and establish a standard practice, then proceeded to other pages.
Image size was a problem. Sometimes compressing images from my phone made the file size BIGGER, and trying to keep them below 100KB made them ugly. I settled on results that I think look ugly, but satisfy the space limit. Used Gimp batch convert to shrink the images.
Updating the website
To stage file changes I use the command git add .
.
To commit my changes to my local git repository I use the command
git commit -m 'information about the changes'
. To update the
content on gitlab I use the command git push -u
.