If you clone this repo, yarn install
and yarn start
to get started, then go to http://localhost:1234/. For more info on building, check out the build process.
- Name, quote, photo.
- 4 projects
- Skills section
- About me section
- Contact section
- Mobile-first, responsive, accessible, dark-mode, minimalist design.
- "About this site" section on accessibility, licensing, and tech.
- Alt text and title text on all images. All logos have alt text.
- Story of development for all Projects.
- In-class presentation link on Data Flow.
- Ensures all links open in a new tab.
- Navigation menu to navigate to parts of the page.
- Focus on accessibility including h1,h2,h3 hierarchy.
- Bill of Tech to README
- Licensing
- Vulnerabilities
- Rebuilt toolchain from scratch with yarn and parcel
- Also includes Bootstrap, Sass and gh-pages dependencies
- Resized images so they are never wider than 450px and 530px accordingly
- All tech is now MIT-Licensed and able to be used commercially
- All tech is latest version which helps prevent vulnerabilities
I used the Pantone 2018 Color of the Year "ultra violet" for my primary color (hex: #5f4b8b
). Then, I used Material.io's Color Palette Generator to generate my complementary color (sage green-ish).
I chose a handful of different variants of my primary and complementary colors to separate surfaces and meet accessibility standards.
I created some transparent variants with 8-digit hex to help express depth on the classic dark gray surface (#121212
).
First, I created the dojo project. It's a simple web-app built with yarn, Parcel, and React. I created a detailed tutorial so others could build a toolchain from scratch.
Then, using the dojo project tutorial, I rebuilt this portfolio's toolchain. Here are the steps I took in the build process. Here's the Old Bill of Tech before I rebuilt the app.
yarn (package manager)
- "Fast, reliable, and secure dependency management."
- built by Facebook in 2016
"dependencies": {
"bootstrap": "^4.4.1",
"gh-pages": "^2.2.0",
"jquery": "^3.5.1",
"popper.js": "^1.16.1"
},
- write simple jQuery commands to select HTML elements and modify them instead of complex JavaScript commands
- jQuery commands work with many different browser DOMs, so you write once and works on all browsers
- open-source MIT License (in the jQuery source code)
- John Resig invented the jQuery library in 2006
- CSS framework
- grid system of containers, rows, and columns
- easily use traditional CSS features like Flexbox within a row, for example
- open-source MIT License
- required dependency for Bootstrap
- zero dependencies of its own
- helps with positioning of pop-up elements
- open-source MIT license
- GitHub Pages is a static site hosting service
- use to deploy my site live to https://hashbangash.github.io/dev/
"devDependencies": {
"parcel": "^2.0.0-alpha.3.2",
"parcel-bundler": "^1.12.4",
"sass": "^1.26.5"
},
- "blazing fast, zero-configuration web application bundler"
- Ryan Dahl (creator of Node.js and Deno JS frameworks) said that parcel is "really great" in his 10 Things I Regret About Node.js talk (at 23:20)
parcel
is the CLI tool andparcel-bundler
is the main library of code
- "stylesheet language" that pre-compiles scss into css
- can store variables and nest css styles
My goal for this project was to write a simple, maintainble toolchain.
I used yarn
for my package manager because it's more secure than npm
.
I created the build toolchain (see dojo project) in April 2020 so my package manager yarn
and all my dependencies are updated to the latest versions (written May 8, 2020). This helps prevent vulnerabilities.
GitHub's dependabot
sends out automatic pull requests to bump versions so I can keep all my dependencies updated when patches come out.
This site has a MIT License. I chose the MIT License so others can use this open-source code without any licensing issues. It is free (in the sense of 'freedom'): you are free to use this code for commercial use. What's cool about the MIT License is it can be re-licensed under other licenses. The MIT License is compatible with many copyleft licenses, such as the GNU General Public License (GPL), which notably prevents commercial use.
Every code library in my bill of technology also has the MIT License, which ensures proper licensing of my site.