Website problems and rebuilding

Weekly Assignments Final Project About me The quest for GitLab and the dreaded SSH key GitHub: sign in with google   don’t use spaces use “_” Commit = save check boxes, no spaces, make a note about changes Push = save to cloud Pull = take from cloud (use to get work done on different computers or by collaborators)   Ignore = won’t upload to cloud   YouTube tutorial:   What is Git: a platform that tracks changes in your projects while working alone or with others     I have saved this pages document in the test-repo folder in desktop->crafts->Fab Lab->fab academy   Did that change actually save?   It did, but I don’t see any changes being saved as changes in GitHub. How do I see previous versions?       This is a test.     Using Terminal to get SSH key to push files into GitLab   Getting an SSH key was extremely frustrating, and I wished I had the Screambody Fab Academy project to yell into. I had previously created a GitHub repository, but I had not needed to use VSCode or create an SSH for that.   My journey is explained below, but here is what I now know I should have done.   Open Terminal program. Type command: ssh-keygen -t ed25519 -C "user.email@gmail.com"   When prompted, “Enter file in which to save the key (/Users/dorianfritze/.ssh/id_ed25519):” hit enter   cat ~/.ssh/id_ed25519.pub   Log into GitLab. Go to settings -> SSH Keys then paste the public key I had just copied from Terminal.   Next test to see if the connection is working by using this command in Terminal: ssh -T git@gitlab.fabcloud.org   If it worked I would see, “Welcome to GitLab, @dorian-fritze!”   Step 4. Clone the project to your local folder. Go to your project in in GitLab. Then click the blue Code button, and copy the URL under “clone with ssh”.   Step 5. Configure git so that your name and email is connected with your commits.   git config user.name “dorian-fritze” git config user.email “user.email@gmail.com"                     I started by following the Git Simple Cheat Sheet found under Tutorials in Fab Academy 2026 Documents on fab academy.org   The command: cat~/.ssh/id_rsa.pub came back with “No such file or directory” so I tried to generate a key   MacBook-Pro:~ dorianfritze$ ssh-keygen -t rsa -C "user.email@gmail.com" Generating public/private rsa key pair. Enter file in which to save the key (/Users/dorianfritze/.ssh/id_rsa): cat ~/.ssh/id_rsa.pub This step was not mentioned in the tutorial. Not knowing what file to save the key, I wrote the next command in the tutorial. Why did the terminal not call my file “cat ~/.ssh/id_rsa.pub”? As you can see below it did not. no text will appear when typing in the passphrase!! Enter passphrase (empty for no passphrase): Enter same passphrase again: Saving key "cat ~/.ssh/id_rsa.pub" failed: No such file or directory $ cat~/.ssh/id_rsa.pub -bash: cat~/.ssh/id_rsa.pub: No such file or directory   I tried again with the help of Garret from the CLS Fab Academy. I did the same steps, but named the file “key.” $ ssh-keygen -t rsa -C "user.email@gmail.com" Generating public/private rsa key pair. Enter file in which to save the key (/Users/dorianfritze/.ssh/id_rsa): key Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in key Your public key has been saved in key.pub I was able to find files key and key.pub through my macbook’s search feature. Key was in a textedit program, and key.pub was in a corelDraw file. The text document could be opened, but the CorelDraw file could not.   $ pbcopy < key.pub $ ssh -T git@gitlab.fabcloud.org I attempted to connect to gitlab.fabcloud.org, but permission was denied. This key is not known by any other names. Warning: Permanently added 'gitlab.fabcloud.org' (ED25519) to the list of known hosts. git@gitlab.fabcloud.org: Permission denied (publickey).   I tried looking through Andrew Puky’s website from 2025 to see his method of setting up GitLab. Unfortunately he used the same method as the tutorial. I then asked Claude the AI system to explain the above error. This was my first time using AI, and I was pleasantly surprised. It explained what each line of the code meant, where the problem was, and how to fix it. I was denied because I didn’t have a SSH key authorized on the GitLab server.   Looking back I noticed I missed the where Puky said to open VS Code’s terminal then run the code to generate the SSH key. Could the problem be that I did my commands in the terminal program? He also added “-b 4096” Puky’s code: ssh-keygen -t rsa -b 4096 -C "your_email@example.com"   The code Claude said to use to make an SSH key was:   ssh-keygen -t ed25519 -C “your_email@example.com"   The difference between all three codes is in the middle, after the “-t” before the “-C”. I used Claude to find out what “rsa” meant. RSA stands for Rivest–Shamir–Adleman, named after the three cryptographers who invented this encryption algorithm in 1977 (Ron Rivest, Adi Shamir, and Leonard Adleman).   More importantly SSH keys are encrypted with RSA algorithms or ED22519 algorithms. Furthermore, RSA algorithms are 2048-bit or 4096-bit. So it is likely the “rsa -b 4096” from Puky’s code was asking the computer to generate a 4096-bit rsa code. However, ED25519 are the newer algorithm that are 256-bit in size yet faster and more secure.   I conclude that this output, “Warning: Permanently added 'gitlab.fabcloud.org' (ED25519) to the list of known hosts. git@gitlab.fabcloud.org: Permission denied (publickey).” Most likely means that gitlab.fabcloud.org requires an ED25519 algorithm derived SSH key.   I then used this code:   MacBook-Pro:~ dorianfritze$ ssh-keygen -t ed25519 -C "user.email@gmail.com" Generating public/private ed25519 key pair. Enter file in which to save the key (/Users/dorianfritze/.ssh/id_ed25519):   Rather than giving the file a name, I pressed enter. Garrett said that the parenthesis contained the default file name.   My next issue was copying the public key. I needed to leave off the “-C “user.email@gmail.com" which seems completely obvious now given what the default file name is. However, it was confusing at the time. I used Claude to find what the “-C” meant. It is the comment function followed by the comment in quotation marks.   I was then able to copy the code using $ cat ~/.ssh/id_ed25519.pub   Add the SSH key to GitLab. Then test the connection with: $ ssh -T git@gitlab.fabcloud.org   Which gave the output: Enter passphrase for key '/Users/dorianfritze/.ssh/id_ed25519': Welcome to GitLab, @dorian-fritze!   Unfortunately my joy was short-lived, because I cannot get VS Code to connect with GitLab. I had previously connected it with GitHub. This seems to be where the problem lies.         I am following a tutorial on setting up my website. https://jameswillett.dev/getting-started-with-material-for-mkdocs/   First I will check to see if I have python.   $ --version -bash: --version: command not found   I asked Claude AI to explain the above command and response. I didn’t put in the command. I need to type the command “python3” then the flag “--version”. As I understand it, I am asking the computer to look for python3, and tell me the version it is.   $ python3 --version Python 3.14.2   I have version 3.14.2 yay, I am good to create a python virtual environment! I used his code   python -m venv venv   But it didn’t work, because my python is called “python3”. It looks like is should also be called python3. Why did his code work in his video?   $ python3 -m venv venv $ source venv/bin/activate   Then check my pip version.   $ pip —version   I have version 25.3, which is up to date, I hope. What is a pip? Claude helpfully explained pip, “pip install packages”, “as an app store for Python code libraries and tools.” Packages are code that has already been created, that can be used and edited using pip.   I am glad I asked, because Claude added that for python3 I must use pip3. Hopefully that will save me some confusion later. It makes sense since I needed to call python python3 earlier. Although, I used python3 in my command when I asked for the version. If I had used “python —version" would I have been able to use “python -m venv venv”? I don’t think so.    I couldn’t let this sit. So I used the following command,   $ pip install mkdocs-material   and pip worked fine. I also checked “python --version”, and it worked as well.   I tried to open VS Code with   $ code.   It didn’t work because the “.” Needs to have a space. “.” is my current directory.   $ code .   This didn’t work either. Neither did this suggestion from Claude:   $ -a "Visual Studio Code" .   Apparently my computer does not recognize the code command, and the last command didn’t add it. So I opened VS Code from my computer directly. Tom Dubick, my Fab Academy instructor, helped me add it to my “Dock”, the permanent bar at the bottom of my computer screen by 2 finger clicking (or right click on a mouse), and going to options, then choose “keep in dock”! This was amazing for me, and I spent a minute removing all the unused icons at the bottom of my screen.   In VS Code, I pressed Cmd + Shift + P to open the Command Palette. At the top of the window in the search bar a “>“ appeared. I entered shell command. A window popped up asking for my computer’s passcode to authorize this action. I gave it, and I was successful. Going back, if I click on the search bar a command guide opens below it with the shortcuts for some commands. I’m also not sure how Cmd + Shift + P is a shortcut for typing > into the search bar.    Back in Terminal I entered:   $ code .   And visual studio opened with the name of my current directory in the explorer!   I then went to the top of my computer screen, Terminal -> new terminal Then I checked to see if my virtual environment is activated   $ source venv/bin/activate   (venv) with an open circle appeared to the left of my directory in the command line.   Now to create my MkDocs site   $ mkdocs new .   I am reading this line as create a new mkdocs site connected to my current directory.   In my Explorer window on the top right of visual studio, a green “docs”, and green “mkdocs.yml” have appeared. James Willett’s tutorial clicks on the mkdocs.yml file to edit the site name, url, and theme. I wasn’t sure what I should change these to so I went to the Fab Academy tutorials from the website. Section 2.4 Setting up MkDocs explains that, “The mkdocs.yml file is a configuration file for your newly created MkDocs project. The docs directory is where you will write your actual documentation as text files in Markdown format.” However, it doesn’t say how I should name my site. Neither did Punky’s assignment, but I was able to see the image of his first push code redirected to his website, which I was currently reading from! I went to the fab academy website to 2026, students, Dorian Fritze. I was amazed to find my website! It had been made already, and I just need to fill it. I have been so worried and confused on how to make the website, and link it to the fab academy page. It turns out I never needed to do that, just link to the one made, and make it look good. I still don’t know how to do that, but it isn’t as daunting.   I copied my website address to put into the mkdocs.yml as follows   site_name: Dorian Fritze - Fab Academy   site_url: https://fabacademy.org/2026/labs/charlotte/students/dorian-fritze/   theme:   name: material   I saved by pressing Cmd + s, but didn’t trust it. So I also went to file -> save to be sure.   I then entered this command in the vs code terminal.   mkdocs serve This was the output. INFO - Building documentation... INFO - Cleaning site directory INFO - Documentation built in 0.16 seconds INFO - [00:30:34] Serving on http://127.0.0.1:8000/2026/labs/charlotte/students/dorian-fritze/   Why is this website not the same I typed into the mkdocs.yml? It is my preview site. (Thank you Claude for answering this.) I can see this preview site before pushing to gitlab. Once pushed it should appear on my site.    James Willett’s tutorial says to download the red hat VS code yaml extension by clicking on the extensions icon (it looks like a stack of 4 squares with the top right one rotated 45 degrees.) I am not sure why exactly I need this, but it sounds like it helps to reduce errors in my .yml files.   I continued in James Willett’s tutorial. Going to settings, gear in bottom left, then document icon in upper right. The video tutorial says to copy and paste the code as follows after line 6, but my code only had text in the first 2 lines. I pasted in the first free line.   "yaml.schemas": { "https://squidfunk.github.io/mkdocs-material/schema.json": "mkdocs.yml" }, "yaml.customTags": [ "!ENV scalar", "!ENV sequence", "!relative scalar", "tag:yaml.org,2002:python/name:material.extensions.emoji.to_svg", "tag:yaml.org,2002:python/name:material.extensions.emoji.twemoji", "tag:yaml.org,2002:python/name:pymdownx.superfences.fence_code_format" ] Copyright 2026 - Creative Commons Attribution Non Commercial Source code hosted at gitlab.fabcloud.org