Skip to content

πŸš€ Week 1 of Fab Academy – A Wild Ride!

🌐 Setting Up My Website – Wait, What?!

The first week of Fab Academy hit me like a truckβ€”I had to set up my own website?!
Excuse me... Git? MkDocs? What? How? Huh? 🀯

After an existential crisis and about five minutes of staring blankly at my screen, I snapped out of it. I remembered I had some working knowledge of HTML and, more importantly, amazing mentors to guide me through.

πŸŽ₯ Learning the Basics

I dove deep into:
πŸ“Œ Recitations by Julian
πŸ“Œ A bunch of YouTube tutorials to understand Git, MkDocs, the terminal, and so much more

But the biggest hurdle? I was the only one using Mac while my co-fab-mates were Windows warriors πŸ›‘οΈ. Every step required translating their process into what I had to do on my machine.

One evening, I sat down for five hours with my mentors and Fab-mates to get my site up. What a night! πŸŒ™β˜•

🍏 How to Get Your Site Running on a Mac (Without Losing Your Hair!)

πŸ—οΈ Step 1: Installing Homebrew

Since Apple does things its own way, the standard protocols for setting up a website don’t apply. The first step? Installing Homebrew.

πŸ”— Link to Homebrew

Image

To install, run this command in the terminal:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Image

⚠️ The installation will ask for your system passcodeβ€”what you type won’t be visible for security reasons. (Don’t make typos! 😬)

Image

πŸ› οΈ Step 2: Installing Git Through Homebrew

Once Homebrew was installed, I moved ahead and installed Git:

brew install git
Image

πŸ’‘ Tip: The $ sign you see in tutorials isn't part of the commandβ€”just type brew install git directly!

πŸ”‘ Step 3: Generating an SSH Key

To edit your site, you need an SSH key to authorize your local machine to make changes.

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
Image

πŸ”— Step 4: Adding the SSH Key to GitLab

Once I had my SSH key, I had to add it to GitLab to enable secure access.

Image

🐍 Step 5: Installing Python + Pip

With SSH in place, I moved on to installing and setting up Python.

πŸ”— Download Python
Image

If you install the latest Python version, pip (the package manager) will be included. If not, you can manually install it:

sudo easy_install pip
Image

πŸ“¦ Step 6: Installing MkDocs + Material Theme

We’re in the final stretchβ€”woohoo! πŸŽ‰

I used Python to install MkDocs:

pip install mkdocs
pip install mkdocs-material
Image Image

MkDocs is a platform for building static documentation sites, but Material for MkDocs makes them interactive, adding images, videos, navigation, animations, and more!

πŸ” Step 7: Cloning the Repository & First Push

Now that everything was configured, I had to:

git clone git@gitlab.fabcloud.org:your-repo.git
cd your-repo
git add .
git commit -m "First commit!"
git push origin main

1. Clone my GitLab repository

Image Image

2. Make my first commit

Image Image

3. Push it live!

Image

πŸš€ Boom! My site was officially live!

🎨 Designing My Site

With my setup complete, it was time to actually make my site look good.
But guess what? Dumbstruck again! 😡

That's when I stumbled upon James Willett’s YouTube tutorial and blogβ€”an absolute lifesaver. πŸ’‘

With his help, I figured out how to:
βœ… Create new pages

Image

βœ… Set up navigation

Image

βœ… Add admonitions (fancy alert boxes!)

Look out

Creating websites on a Mac is not for the weak hearted

βœ… Include images & media

![Image](Assets/Compressed/)
βœ… Enable light & dark mode toggles

πŸ–ΌοΈ Image Compression – The Unexpected Challenge

The biggest challenge now? Compressing images without losing quality.

That’s when Shefali Ma’am, currently doing the Fabricademy course, suggested using XN Convert for compression. 🎯

Image XN Convert Interface

Image Adding files

I:
1. Dialed in the settings
Image 2. Ran the batch conversion
3. Coded in the image paths
Image 4. πŸ’₯ My first image was up on the site!

Markdown Syntax

I used ChatGPT to derive a standard template for documentation using the assessment criteria provided. This is the result that I got:

Title: [Project Title]
1. Introduction:
* Objective: Clearly state the goal of the assignment.
* Background: Provide context or relevant information leading to the project.
2. Materials and Tools:
* Materials: List all materials used, including specifications and sources.
* Tools and Equipment: Detail the tools and equipment utilized, specifying any particular settings or configurations.
3. Design and Planning:
* Conceptualization: Describe the initial idea and design considerations.
* Sketches and Diagrams: Include any preliminary sketches or diagrams.
* Design Files: Provide links to design files with version control (e.g., GitHub or GitLab repositories).
4. Fabrication Process:
* Step-by-Step Procedure: Detail each step taken during fabrication, accompanied by photos or videos.
* Machine Settings: Specify settings used on machines (e.g., laser cutter speed and power).
5. Testing and Evaluation:
* Testing Procedures: Explain how the project was tested.
* Results: Document the outcomes, including any data collected.
* Analysis: Discuss the results and any insights gained.
6. Challenges and Solutions:
* Issues Encountered: Describe any problems faced during the project.
* Resolutions: Explain how these issues were addressed.
7. Conclusion:
* Summary: Recap the project and its outcomes.
* Future Improvements: Suggest potential enhancements or next steps.
8. References:
* Cite any external resources, tutorials, or references used.
9. Acknowledgments:
* Recognize any assistance or collaboration from others.
Once I had this in hand I typed out everything that I did in chronologically in a seperate google doc. Pasted the format that I have mentioned above and trained ChatGPT using the prompt:
Use this template and arrange the information I am giving in this format. Don't change the tone of voice or summarize the text. Add emojis to add life to the text. 
My content had a structure and flow to it and the emojis were like the icing on the cake. I asked ChatGPT to convert it to markdown.

Pro-Tip: You can just copy-paste the text. VS code will comprehend it as markdown.

🎡 The Final Push – One Night, Music & Snacks!

Now all that was left?

🎧 A full night of listening to music
🍫 Snacking to stay awake
πŸ’Ύ Committing & pushing my changes

And just like that, my Week 1 documentation was complete! πŸš€


πŸ’‘ Takeaways from Week 1:
βœ”οΈ Git and MkDocs aren’t as scary as they seem!
βœ”οΈ Having good mentors makes all the difference.
βœ”οΈ Mac users need to tweak things a lot!
βœ”οΈ There’s nothing a long night of music & snacks can’t fix! 🎢✨

On to Week 2β€”let’s go! πŸ’ͺπŸ”₯