Skip to content
Snippets Groups Projects
Commit ced879b4 authored by Mitalee Parikh's avatar Mitalee Parikh
Browse files

?

parents a824ba25 45ca7709
No related branches found
No related tags found
No related merge requests found
Pipeline #218802 failed
# 3D Scanning and printing
This week I made some 3d printed tools and 3d scanned using photogrammetry.
I wanted to make simple tools this weeks, so I experimented with simple joint mechanisms. Some references that I used to develop my designs:
- [Compliant Mechanisms Research (CMR by BYU)](<https://www.compliantmechanisms.byu.edu/maker-resources>)
- [Why machines that bend are better](<https://www.youtube.com/watch?v=97t7Xj_iBv0>)
- [Compliant mechanisms by Devin Montes](<https://www.myminifactory.com/users/MakeAnything/collection/compliant-mechanisms>) \- [video](<https://www.youtube.com/watch?v=PgDJlLqeTdo>)
- [These transformed chopsticks](<https://www.myminifactory.com/object/3d-print-96658>)
## Design
I first made a scaled-up version of a simple Gemclip and some other simple geometry clips. I bent one end to add a dimension, that does not allow it to be made using only one subtractive method.
![simpleclips](<./images/3dpd/simpleclips.jpg>)
I first made it in 2D in plan to the size and proportion I wanted, and then extruded it in Z. Later I bent the inner part so that the model could no tbe made only subtractively easily, as now it had an undercut.
![side](<./images/3dpd/side.jpg>)
Then I used some parts of these tranformed chopsticks reference above that I found
![transformedchopsticks](<./images/3dpd/transformedchopsticks.jpg>)
And then made normal tweezers and then modified the geomtry to make it compliant like the chopsticks above.
![designing](<./images/3dpd/designing.jpg>)
## The models
<div class="sketchfab-embed-wrapper"><iframe title="A 3D model" width="640" height="480" src="https://sketchfab.com/models/acabba4a8e95408484dcc6343d08ade7/embed?autospin=0.2" frameborder="0" allow="autoplay; fullscreen; vr" mozallowfullscreen="true" webkitallowfullscreen="true"></iframe><p style="font-size: 13px; font-weight: normal; margin: 5px; color: #4A4A4A;"><a href="https://sketchfab.com/3d-models/gemclip-acabba4a8e95408484dcc6343d08ade7?utm_medium=embed&amp;utm_source=website&amp;utm_campaign=share-popup" target="_blank" style="font-weight: bold; color: #1CAAD9;">Gemclip</a> by <a href="https://sketchfab.com/emaitee?utm_medium=embed&amp;utm_source=website&amp;utm_campaign=share-popup" target="_blank" style="font-weight: bold; color: #1CAAD9;">emaitee</a> on <a href="https://sketchfab.com?utm_medium=embed&amp;utm_source=website&amp;utm_campaign=share-popup" target="_blank" style="font-weight: bold; color: #1CAAD9;">Sketchfab</a>
Next after, watching some videos on making compliant mechanisms, I made a simple pick-and-place plier to test out the bending.
<iframe title="A 3D model" width="640" height="480" src="https://sketchfab.com/models/850342b563e44e1eb9413b347701a423/embed?autospin=0.2&amp;camera=0" frameborder="0" allow="autoplay; fullscreen; vr" mozallowfullscreen="true" webkitallowfullscreen="true"></iframe><p style="font-size: 13px; font-weight: normal; margin: 5px; color: #4A4A4A;"><a href="https://sketchfab.com/3d-models/compliant-mechanism-pliers-850342b563e44e1eb9413b347701a423?utm_medium=embed&amp;utm_source=website&amp;utm_campaign=share-popup" target="_blank" style="font-weight: bold; color: #1CAAD9;">Compliant mechanism, pliers</a> by <a href="https://sketchfab.com/emaitee?utm_medium=embed&amp;utm_source=website&amp;utm_campaign=share-popup" target="_blank" style="font-weight: bold; color: #1CAAD9;">emaitee</a> on <a href="https://sketchfab.com?utm_medium=embed&amp;utm_source=website&amp;utm_campaign=share-popup" target="_blank" style="font-weight: bold; color: #1CAAD9;">Sketchfab</a></p></div>
Some tweezers we used for holding down electronic components:
<div class="sketchfab-embed-wrapper"><iframe title="A 3D model" width="640" height="480" src="https://sketchfab.com/models/85e7031fa9fa444eabe54ac6152ed525/embed?autospin=0.2&amp;camera=0" frameborder="0" allow="autoplay; fullscreen; vr" mozallowfullscreen="true" webkitallowfullscreen="true"></iframe><p style="font-size: 13px; font-weight: normal; margin: 5px; color: #4A4A4A;"><a href="https://sketchfab.com/3d-models/simple-tweezers-85e7031fa9fa444eabe54ac6152ed525?utm_medium=embed&amp;utm_source=website&amp;utm_campaign=share-popup" target="_blank" style="font-weight: bold; color: #1CAAD9;">Simple tweezers</a> by <a href="https://sketchfab.com/emaitee?utm_medium=embed&amp;utm_source=website&amp;utm_campaign=share-popup" target="_blank" style="font-weight: bold; color: #1CAAD9;">emaitee</a> on <a href="https://sketchfab.com?utm_medium=embed&amp;utm_source=website&amp;utm_campaign=share-popup" target="_blank" style="font-weight: bold; color: #1CAAD9;">Sketchfab</a></p></div>
I wondered if it was easier to use the tweezers with a reversed action, where applying force releases the object. And by default it holds the object. For this, I used this [mechanism designed by Devin Montes](<https://www.myminifactory.com/users/MakeAnything/collection/compliant-mechanisms>) \- [video](<https://www.youtube.com/watch?v=PgDJlLqeTdo>) and transformed it for the tweezers.
<div class="sketchfab-embed-wrapper"><iframe title="A 3D model" width="640" height="480" src="https://sketchfab.com/models/43feaabeb46647b8a4778c10bea22740/embed?autospin=0.2&amp;camera=0" frameborder="0" allow="autoplay; fullscreen; vr" mozallowfullscreen="true" webkitallowfullscreen="true"></iframe><p style="font-size: 13px; font-weight: normal; margin: 5px; color: #4A4A4A;"><a href="https://sketchfab.com/3d-models/compliant-tweezers-43feaabeb46647b8a4778c10bea22740?utm_medium=embed&amp;utm_source=website&amp;utm_campaign=share-popup" target="_blank" style="font-weight: bold; color: #1CAAD9;">Compliant tweezers</a> by <a href="https://sketchfab.com/emaitee?utm_medium=embed&amp;utm_source=website&amp;utm_campaign=share-popup" target="_blank" style="font-weight: bold; color: #1CAAD9;">emaitee</a> on <a href="https://sketchfab.com?utm_medium=embed&amp;utm_source=website&amp;utm_campaign=share-popup" target="_blank" style="font-weight: bold; color: #1CAAD9;">Sketchfab</a></p></div>
## Creating toolpaths
I used Cura to make toolpaths for my 3d prints. I uploaded my stl files, set my machine, choose PLA as my material and used these settings:
![null](<./images/3dpd/cura.jpg>)
## Printing
I used an [Anycubic Kossel Plus 3D printer](<https://www.anycubic.com/products/anycubic-kossel-3d-printer>) to print with a black 1.75mm PLA filament.
![null](<../images/3dpd/anycubic.jpg>)
Printing the gemclip: The finish was alright, as the first layer spread a little too much, causing it to be broader then the actual form. The first layer has a layer height of 0.3mm, and all the consecutive ones were 0.15mm. I used a cutting blade to finish these edges.
![null](<./images/3dpd/gem3d.jpg>)
![null](<./images/3dpd/gemedge.jpg>)
In the next print, I used the same layer height for all layers. I printed a simple pick and place plier using a bent compliant joint.
![null](<../images/3dpd/simpleplier.gif>)
Simple nose-end tweezers:
![null](<./images/3dpd/simpletweezers.jpg>)
Used the transformed chopstick geometry, modifoed it for the tweezers: ![null](<./images/3dpd/comptweezers.jpg>)
The bending details were too small, they broke while I was trying to clean them up.
![null](<./images/3dpd/brokentweezers.jpg>)
Overall, I made some small experiments with simple tools. I hope to remake the tweezer with the semi-compliant mechanism again after modifying the design.
![null](<./images/3dpd/lot.jpg>)
Useful reference:
[Design for 3d printing tutorials](<https://www.3dhubs.com/knowledge-base/>)
### For next time
If I can have more time on the machines I can modify the mechanisms by trying out various different tollerences, size and setting. And maybe make a small set of complaint mechanism tools.
## Photogrammetry
I used Agisoft Metashape to make a pointcloud. I followed this [tutorial by Agisoft](<https://agisoft.freshdesk.com/support/solutions/articles/31000152092-3d-model-reconstruction>).
I clicked 53 images of the object on a plain background from all around. Steps to make a pointcloud:
1. Workflow > Add photos
2. Workflow > Align Photos (this step take some time depending on the number of key point limit and tie point limit you set.)
3. Some photos failed to align, but I got 9003 points
4. Workflow > Build dense cloud - medium quality.
5. Workflow > Build Mesh
6. Workflow > Build textures
The process: ![metashape](<./images/3dpd/agisoft.gif>)
The output:
<div class="sketchfab-embed-wrapper"><iframe title="A 3D model" width="640" height="480" src="https://sketchfab.com/models/a3fdb19895234d9f9834fb48305ed7a4/embed?autospin=0.2&amp;camera=0" frameborder="0" allow="autoplay; fullscreen; vr" mozallowfullscreen="true" webkitallowfullscreen="true"></iframe><p style="font-size: 13px; font-weight: normal; margin: 5px; color: #4A4A4A;"><a href="https://sketchfab.com/3d-models/nut-and-bolt-a3fdb19895234d9f9834fb48305ed7a4?utm_medium=embed&amp;utm_source=website&amp;utm_campaign=share-popup" target="_blank" style="font-weight: bold; color: #1CAAD9;">Nut and bolt</a> by <a href="https://sketchfab.com/emaitee?utm_medium=embed&amp;utm_source=website&amp;utm_campaign=share-popup" target="_blank" style="font-weight: bold; color: #1CAAD9;">emaitee</a> on <a href="https://sketchfab.com?utm_medium=embed&amp;utm_source=website&amp;utm_campaign=share-popup" target="_blank" style="font-weight: bold; color: #1CAAD9;">Sketchfab</a></p></div>
## 3D Scanning
I used a Roland Modela MDX-20 to scan the same object. I used the [step-by-step manual](<http://fab.academany.org/2018/labs/barcelona/students/jeanbaptiste-natali/download/scanning_with_mdx-20_step_by_step.pdf>) for this. ![nutbolt](<./images/3dpd/nutbolt.jpg>)
Stuck the bolt and nut using a double sided tape on the raised level bed. ![setup](<../images/3dpd/setup.jpg>) I set the scanning area, as close to the object as possible. And a scanning grid of 0.5mm on both X and Y axes.
The output: ![output](<./images/3dpd/output.jpg>)
<div class="sketchfab-embed-wrapper"><iframe title="A 3D model" width="640" height="480" src="https://sketchfab.com/models/c7382a9ac481437c8df7386913506f23/embed?autospin=0.2&amp;camera=0" frameborder="0" allow="autoplay; fullscreen; vr" mozallowfullscreen="true" webkitallowfullscreen="true"></iframe><p style="font-size: 13px; font-weight: normal; margin: 5px; color: #4A4A4A;"><a href="https://sketchfab.com/3d-models/3d-scanned-nut-and-bolt-c7382a9ac481437c8df7386913506f23?utm_medium=embed&amp;utm_source=website&amp;utm_campaign=share-popup" target="_blank" style="font-weight: bold; color: #1CAAD9;">3D scanned nut and bolt</a> by <a href="https://sketchfab.com/emaitee?utm_medium=embed&amp;utm_source=website&amp;utm_campaign=share-popup" target="_blank" style="font-weight: bold; color: #1CAAD9;">emaitee</a> on <a href="https://sketchfab.com?utm_medium=embed&amp;utm_source=website&amp;utm_campaign=share-popup" target="_blank" style="font-weight: bold; color: #1CAAD9;">Sketchfab</a></p></div>
### Design files
[All 3D models for printing](<./images/3dpd/clampsandclips.3dm.zip>)
[Probe scan of a lump of clay](<./images/3dpd/clay.probe.scan.stl.zip>)
[Photogammetry of nut and bolt](<./images/3dpd/photogrammetry.obj.zip>)
[Probe scan of nut and bolt](<./images/3dpd/probescan.zip>)
[These transformed chopsticks](<./images/3dpd/reference.file.zip>)
<<<<<<< HEAD
Compu============================================
=======
Principles, Practices and Project Management
============================================
>>>>>>> 45ca770976413d8f1b0cb795f1343d27d4908e63
(old)
......
Electronics design
==================
This week is about learning to design a PCB according to a particular microcontroller using its pinout/data sheet by modifying an existing hello echo board.
#### Designing
I chose a hello.echo board based on ATtiny44 as it has the most available documentation. I don't understand completely which microcontroller to chose for what functions. So, I went with this one.
Here is what the actual board looks like
![](http://academy.cba.mit.edu/classes/embedded_programming/hello.ftdi.44.png)
To add an LED and a switch, I started by making a list of the components required:
Components list:
1x ATtiny44 microcontroller
1x 1uF Capacitor
1x header 2x3
1x FTDI connector
1x 10k ohm resistor
1x 20MHz resonator
Added components:
1x LED
1x 1kΩ Resistor
1x switch
1x 1kΩ Resistor
[Data sheet for ATtiny44](http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-7701_Automotive-Microcontrollers-ATtiny24-44-84_Datasheet.pdf)
Pinout for Attiny44
![](../fabacademy/images/ED/pinout44.jpg)
#### Creating the schematic
I used [KiCad 5.1.6](https://kicad-pcb.org/) to design my PCB. KiCad is an open source software suite for Electronic Design Automation (EDA). The programs handle Schematic Capture, and PCB Layout with Gerber output (this is what you send to a manufacturere). I started by creating a new project and opened the .sch file in Eeschema.
#### Update libraries
First step was to import all of the symbol and footprint libraries adapted for SMD components. These libraries can be found [here.](http://academany.fabcloud.io/fabacademy/2020/labs/barcelona/site/local/#material/extras/week06/assets/kicad_libraries.zip)
![](../fabacademy/images/ED/LIBRARIES.jpg)
#### Designing schematic
I placed the components listed above one by one, using the place component tool. Then changed properties like annotations and values, by hovering above the component and pressing E which opens the symbol properties window.
I also placed some tags using the tag tool - like GND and VCC, to make the schematic neat and clear.
![](../fabacademy/images/ED/schematic.jpg)
Finally, I generated a Netlist by pressing the green netlist symbol on the toolbar.
![](../fabacademy/images/ED/generate-netlist.jpg)
However I got an error saying that component R1 did not have footprints defined.
![](../fabacademy/images/ED/error.jpg)
So I went back and assigned footprints to the missing part, by going to its properties again, and selecting the correct footprint from the newly installed libraries. And generated the netlist again.
![](../fabacademy/images/ED/addfootprint.jpg)
![](../fabacademy/images/ED/assign.jpg)
#### Drawing traces
Then I opened the KiCad pcbnew part, and found the netlist created and stacked of all components in the middle of the board.
![](../fabacademy/images/ED/ratsnest.jpg)
I first editied the design rules in its menu and set the grid size.
![](../fabacademy/images/ED/designrules.jpg)
The components all have an indicative line connection, so I used that to rearrange them and then added the traces, using the trace tool.
![](../fabacademy/images/ED/arranged.jpg)
After connecting them all, I used the line tool to draw the outline like so.
![](../fabacademy/images/ED/drawoutline.jpg)
Next I exported this as svg with these settings:
![](../fabacademy/images/ED/exportsvg.jpg)
I opened the svg in Adobe Illustrator, made new layers for the traces and outline respectively.
![](../fabacademy/images/ED/ai.jpg)
Then, after checking that the model is in mm, exported both layers separately at 150dpi in png.
![](../fabacademy/images/ED/exportpng.jpg)
#### Creating Toolpaths
I followed the same process as [Electronics Production](../fabacademy/ep.html) week to make toolpaths, mill the board, solder components and test the board.
But this time I used [Mods](http://mods.cba.mit.edu/) instead of Fabmodules. Here's the process:
![](../fabacademy/images/ED/mods.gif)
I could not fabricate this board because did not have access to a lab.
#### At the lab
So steps remaining for this week - mill the board, solder the components, test.
#### References
[Sparkfun KiCad beginners guide](https://learn.sparkfun.com/tutorials/beginners-guide-to-kicad/all)
#### Design Files
[KiCad Schematic](../fabacademy/images/ED/attiny44.sch.zip)
[KiCad pcbnew](../fabacademy/images/ED/attiny44.kicad_pcb.zip)
[SVG](../fabacademy/images/ED/attiny44-brd.svg)
[AI](../fabacademy/images/ED/attiny44-brd.ai.zip)
[traces.png](../fabacademy/images/ED/traces.png)
[outlines.png](../fabacademy/images/ED/outlines.png)
[traces - toolpath for srm20](../fabacademy/images/ED/traces.srm20.rml.zip)
[outlines - toolpath for srm20](../fabacademy/images/ED/outlines.srm20.rml.zip)
Electronics production
======================
This week I made an in-circuit programmer- the FabISP.
FabISP
------
### Making toolpaths
I downloaded the png files for the traces and the interior. I used [FabModules](http://fabmodules.org/) to create toolpaths.
![traces](http://academy.cba.mit.edu/classes/embedded_programming/hello.ISP.44.traces.png)
#### Traces
The major settings for cutting traces: Input image as **.png**
Output file as **.rml**
Output file as **.rml**
Machine: **Roland SRM-20**
Speed: **3.5mm/s** as I was using a new endmill
Origin X,Y,Z as **0,0,0** to match the origin set in the machine locally Tool diameter **1/64"** Offset paths **4**, to clean area around the traces but not very time consuming Overlap **50%**, overlaping the tool paths by 50% of the tool diameter Cut depth **0.1mm** to clean the top copper layer thorugh it's thickness
![trace toolpath](./images/ep/toolpath.jpg)
![interior](http://academy.cba.mit.edu/classes/embedded_programming/hello.ISP.44.interior.png)
#### Interior
Settings for cutting the outline: Input image as **.png**
Output file as **.rml**
Machine: Roland **SRM-20**
Speed: **0.5mm/s** Material depth **1.7mm**, equal to the one-sided FR1 board used Cut depth **0.5mm**, cuts the outline 4 times going 0.5mm deeper with every loop Origin X,Y,Z as **0,0,0** to match the origin set in the machine locally and match the traces file Tool diameter **1/32"** Offset paths **1**, to cut the board from the material
### Milling the board
Cleaned a small piece of one-sided FR1 board with rubbing alcohol Stuck it using a double-sided tape on an MDF base we have pre-installed at the lab, that is levelled periodically. Installed a 1/64" tool Set the X and Y origin on the bottom left corner of the board. Brought the Z really close to the top of the surfect. Loosened the collet and let the bit touch the surface completely. Set the Z origin here. Lifted the Z, loaded the rml traces file and start cutting. Evrything seemed fine. I could see the tool cut though the copper. It took about 15 minutes to cut the whole file. Later, I lifted the Z, changed the tool to the 1/32" endmill to cut the interior file. I set the Z origin again exactly as before. Keeping in mind not to change the X and Y origin. Started cutting the file. Got it done on the first try. I unattached the board using a scraper. ![trace toolpath](./images/ep/traces.jpg) ![trace toolpath](./images/ep/interior.jpg)
### Soldering Components
#### Gathering Components
Edu showed us the best way to do this was to make a shopping list, collect components and stick them on using tape. Later, we update the inventory sheet to keep count in the lab.
A list of all the needed components:
1 x ATtiny44 (Ict44)
1 x 6-pin(2x3) header (J1 ISP)
1 x MiniUSB header (J2 USB)
1 x 20MHz Crystal (20MHz)
1 x 1uF Capacitor (C1)
2 x 10pF Capacitor (C2,C3)
2 x 3.3v Zener Diodes (D1,D2)
1 x 1kΩ Resistor (R1)
1 x 499Ω resistor (R2)
1 x 100Ω resistor (R3,R4)
1 x 10kΩ resistor (R5)
2 x 0Ω Resistor (SJ1, SJ2)
![Gathering components](./images/ep/shoppinglist.jpg)
#### The solding set-up
Tools that I need to solder the components on the board: A schematic diagram that shows what components goes where.
![schematic](http://academy.cba.mit.edu/classes/embedded_programming/hello.ISP.44.png)
The components, gathered on the list. A soldering iron - I used a Weller WES51 with temperature control. Set it to 750F, not too hot, not too slow. A wet sponge, to clean the tip of the iron. Solder wire, Kester without a flux co. A anti-static curved tweezer to place down components accurately. A copper braid for desoldering excess solder. A table-top light, a silicon base to hold the board stationary, and a fan to remove fumes.
#### Soldering order
I started from the complex to the simple, then top to bottom. I soldered the microcontroller first, matched the orientation from from the data sheet. Second, I soldered the MiniUSB, since, it had very tiny trace connections. The zener diodes, have polarities. i soldered them next. Oscar taught me how the way to remember their direction, the electric symbol has a line that corresponds to the Cathode. Similarly, the component is marked with a line in its cathode side. Polarity symbol The rest of the components don't have any polarities, so I soldered them from top to bottom inside-out in this order: R1>R2>R3>R4>SJ2>20MHz>C2>C3>SJ1>R5>C1 and the J1 header in the end, because it had comparatively larger feet
#### Checking connections
I visually checked the board under a lens to check no traces or solders touched each other. Then using a multimeter setting with no resistance, I connected all pin legs to where the traces connected using the schematic diagram. And checked that all beeped, suggesting there was no short. I cleaned the board again, using some rubbing alcohol. This is how my finished board looks: ![Soldering components](./images/ep/finished.jpg)
#### Testing the board
[steps](http://archive.fabacademy.org/archives/2017/fablabverket/students/100/web/assignments/week4/index.html#programming) [or these](http://archive.fabacademy.org/archives/2017/fablabverket/students/100/web/assignments/week4/index.html#programming)
Principles, Practices and Project Management
============================================
(old)
![](../fabacademy/images/week1/cubes.png)
##### Week of 29 January 2020
##### Principles and Practices - [notes](https://fabacademy.org/2020/labs/barcelona/local/#material/week01/) + [video](https://vimeo.com/388191611)
##### Project Management - [notes](http://academy.cba.mit.edu/classes/project_management/index.html) + [video](https://vimeo.com/388201669)
Project management
======================
This week I learned about version control, web development using SSGs, and sketched out an initial final project idea.
Git
---
I've used git a little for my Master's documentation. But till now, just used some basic commands like:
`git init` to initialise a new repo
`git status` to check what's happening with the current directory
`git add .` to add all changes from the working directory to the staging area
`git commit -m "action msg"` to commit changes from the staging area to the local repo
`git push` to push changes from the local repo to the remote repo
`git pull` to pull files from the remote repo to the local repo
I find this diagram very helpful to visualise the directory structure:
![](../fabacademy/images/week1/git-structure.png)
To learn more about branching, merging and other actions, I did a tutorial:[](http...)
Found my existing SSH key using `~/.ssh/id_rsa.pub`
Copied and added it to my FabCloud account.
Then I cloned the default repository to a local folder using:`git clone git@gitlab.fabcloud.org:academany/fabacademy/2020/labs/barcelona/students/mitalee-parikh.git`
Web Development
---------------
I recently learned how to make a website using HTML, CSS with a Bootstrap framework. To develop my webpage, I wanted to explore different Static Site Generators before fixing on one. So I started by setting up both Mkdocs and Jekyll. Hugo was another option I want to look into in the coming weeks.
Setting up jekyll
-----------------
I followed this [Jekyll tutorial](https://jekyll.org) by [Giraffe Academy](https://www.youtube.com/playlist?list=PLLAZ4kZ9dFpOPV5C5Ay0pHaa0RJFhcmcB). Before installing jekyll, I checked if I had these supporting things, and updated them:
1\. **Homebrew:** to easily install software packages
2\. **Ruby:** programming language that jekyll is written in
3\. **RubyGems:** package manager for ruby
4\. **Bundler:** to track and install gems and versions in a group, for jekyll themes
Homebrew, Ruby and Gem were all pre-installed.
So I checked versions using
`ruby -v` and `gem -v`
I installed bundler with `gem install jekyll bundler`, but got a permissions error msg.
So, I tried it with sudo like so: `sudo gem install jekyll bundler` and it worked.
And then to make sure checked version: `gem install jekyll bundler`
To view the changes on my local server `http://localhost:4000` I used `bundle exec jekyll serve` the first time and `jekyll serve` everytime after.
### Setting up Mkdocs
Setting up Mkdocs was a similar process. Intalling and upgrading package manager pip `pip install --upgrade pip` to install mkdocs: `pip install mkdocs`
To view the changes on my local server `http://127.0.0.1:8000` I used `mkdocs serve`
### Themes
I tried to clone and modify some jekyll themes I downloaded from [rubygems.org](https://rubygems.org/). While pushing it to gitlab, I wasn't sure what files to keep from the default fabcloud repo. So I replaced them all, but there was an issue with my pipeline. I think it has something to do with the config.yml file. While I figure that out, I'm using this default template to document my process.
### Useful links
* [Jekyll](http://jekyll.org) [tutorial by Giraffe Academy](https://www.youtube.com/playlist?list=PLLAZ4kZ9dFpOPV5C5Ay0pHaa0RJFhcmcB)
* [Markdown](https://en.wikipedia.org/wiki/Markdown) [basic tutorial](https://www.markdowntutorial.com/)
* [Mkdocs guidelines](https://www.mkdocs.org/)
### Misc Practices
Before pushing, I used `ncdu` to check sizes of files. To compress my images I installed and used [ImageMagick](https://imagemagick.org/index.php). I found it very efficient to quickly convert or compress images for the web, and also to make quick GIFs.
After some trial and error, i figureed these basic commands and settings I can use for my workflow:
To compress photos taken from my phone:
`convert IMGname.HEIC -resize 25% -quality 50% -density 72 jpg:extent=300kb IMGnewname.jpg`
To compress images taken as screenshot from my computer:
`convert Screenshot\ 2020-02-18\ at\ 10.54.27\ AM.png -resize 50% -quality 50% -density 72 jpg:extent=300kb newname.jpg`
To make a quick GIF:
`convert -resize 25% -delay 15 -loop 0 IMG_1380.HEIC IMG_1381.HEIC IMG_1382.HEIC IMG_1386.HEIC IMG_1387.HEIC IMG_1388.HEIC animation.gif`
And to check the existing properties of an image:
`magick identify -verbose focus.gif`
I also check individual file sizes by changing current directory in terminal and using `du -sh *|sort -n`
......@@ -16,8 +16,12 @@ theme:
text: Inconsolata
code: Courier Prime
feature:
<<<<<<< HEAD
# tabs: false
- toc.integrate
=======
tabs: false
>>>>>>> 45ca770976413d8f1b0cb795f1343d27d4908e63
logo: assets/013-radar.png
favicon: assets/015-button.png
nav:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment