Add an index for each individual project rileyjshaw/canvas

I started this repository in the spirit of OpenFrameworks and
TouchDesigner: I wanted all the libraries I might need close at hand,
with a simple, abstracted API for drawing to , SVG, etc. I
wanted a personal playpen / pigpen to test ideas in.

For that reason, I didn't need nice features like routing or pages.
:) if I wanted to see an old sketch, I'd change the root component
and re-render. It worked for me!

But I planned to eventually make an easier way to browse existing
experiments. It would benefit me a bit, and casual viewers a lot.

I haven't updated this repository in nearly two years, and I honestly
never expect to again. I'm doing less browser-based creative coding
these days, and trying to stretch my work in other directions.

About an hour ago, I decided to create an index page or dropdown
to close this project out and keep it accessible in perpetuity. When I
cloned the repo and started looking at the build pipeline, I almost
noped the whole idea. I built this with create-react-app, so even
adding new pages for each project the recommended way involves:

  1. Installing some sort of React-compliant router.
  2. Spending… hours? figuring out which version of which router
    works with the project's outdated dependencies, OR,
  3. Upgrading the entire project, likely involving major upgrades to
    Webpack, Babel, etc.
  4. Installing something called react-snapshot,
    which apparently builds static files for you? But there's still
    a pushState history API? The README listed some tutorials, so I
    opened them.
  5. …once I'd reached this point, I realized I'd need another method if
    I wanted to be done within the hour.

At that point, I could have searched the web for "create-react-app
static routes 2017 easy" and gone down that rabbit hole before giving
up. OR, I could have given up immediately. Or I could do what I did,
which was a good idea:

I changed the root component 38 times by hand, typed "npm run build"
into my terminal by hand, and dragged the built files BY HAND into
unique directories that I created BY HAND.


I spent another minute in my editor surrounding the output of ls -d
with anchor tags for a root index. (yes, by hand)

The most time-intensive part of the process was writing this commit
message. I'm confident if I'd tried to automate the process or rebuilt
the project "the right way", I'd be at this for a few more hours.

The result is a little sketchy. Namely, I'm sure the total payload of
each page is a bit bigger, and caching takes a hit. But I think an
extra kilobyte will be tolerated by the 3 people who ever visit this
corner of my website.

And wow it was so easy. And if I ever decide to add a new sketch, I
can do the same simple steps by hand. No dependency mismatch with my
local versions. No reading old docs. Just build, drag, repeat,

I guess I'm writing this as a reminder to myself: it's usually
possible to break back out to 1995 in a pinch.