Personal and Portfolio Site written in HTML, CSS, Markdown and Ruby (mostly Liquid) with Jekyll. Starting from scratch (not with a template) to learn for understanding. On a journey to learn the JAMstack. Next stop, design in Framer and build in React.
As I write this in February of 2021 after wrestling with Jekyll for probably 12 hours over the course of a month, here's what I learned:
These principles are important to me:
Build with the intention to last until the end of the Internet
Selfdogfooding: use what you create.
Pragmatism. Before it's pretty, it should be meaningful. Death to bullshit.
Systems matter. Whether it's the pitfalls of tech solutioning or systems design or sustainable ux or organizational chaos. Processes matter. And we should be wary our efforts to improve them don't make them worse.
I'm going to probably leave Jekyll behind and find a more stable platform to build my home on the web. I'd also like to retire my Wordpress site. We'll see where learning takes us this year.
I've been working (Fall 2019) as a designer / project manager with React developers to build products with a component driven design system (Figma -> Storybook -> React), theming API, and JSON data.
As we move into Winter 2019/2020, our team is exploring building SSGs with tools like React, Gatsby, and Apollo GraphQL.
Not only am I interested in design systems, but our small-team, cross-functional project approach at cross.team means as a designer I'm often thinking about development.
I'd like to learn to design with React, but I want a stepping stone to truly understand fundamentals like deployment, first.
portfolio-one.md
and the image is ![img](portfolio-one/image-one)
. When built, Jekyll ends up looking for the image in portfolio-one/portfolio-one
. (Added 2021-02-11)/assets
folder in repo.date
front matter.Last Updated 2021-05-24
2021-06-11 Finally fixed typography/display size issues on high-res mobile devices by setting the viewport with <meta name="viewport" content="width=device-width, initial-scale=1.0">
. See:
2021-06-01 Added Safrapay Portfolio Page
2021-02-10 Dark mode! No switcher (no javascript), but it detects if a light or dark theme is set in the browser and displays either theme accordingly.
2021-02-07 After various updates and fixes to gem files, removal of CircleCI config and adding gems to the repository's vendor directory, the site is updated and successfully building locally and deploying to Github pages. Phew! 🥵
2021-01-15 After some time away, re-engaged this project. Ran into issues building Jekyll locally.
2020-08-27 Unsuccessfully tried installing a fresh CircleCI config. (builds began failing here)
2020-06-26 Updated resume, ruby gems & site notes.
2020-06-08 Fixed 404.html permalink. Previously, the github pages default 404 was being displayed, not the one designed for this site.
2020-05 Added charset
and lang
to html header per accessibility best practices, minor content updates, and updated about page content / copy.
2020-02-26 dependabot updated nokogiri
dependency from 1.10.7
to 1.10.8
2020-02-19 Portfolio & Résumé updates
2020-02-10 Fixed assets, updated nav design & cleaned up main readme
2020-01-03 Adjustments to typography to make a better responsive experience.
2020-01-03 Finally got collections working! One of the main ways of publishing content in Jekyll is through posts. Posts are great for things like article and blogs posts that are published in some sort of chronology, but not as well for non-chronological items like reference lists or... a portfolio. :wink: Setting up posts (with corresponding drafts) in Jekyll was straight forward, but I had trouble getting collections up and running.
One of the keys was configuring the collection to 'true' in config.yml
:
```yml
collections:
portfolio:
output: true
```
In both the portfolio template _layouts/portfolio.hmtl
and post template, I need to reference 'pages'. For example, I'm using {{ page.title }}
to reference the title in a portfolio's front matter (ex title: Bloombox
). This was not completely intuitive. In other examples I had seen posts referenced, (i.e. {{ post.title }}
) which threw me off. In lists, I reference 'item' instead of 'post' or 'page'.
2020-01-01 Responsive formatting improvements (mostly css)
2019-12-30 Refactored html, css & liquid templates to better scale across multiple pages and page types. Successfully built and served static site with bundle exec jekyll serve
.
2019-12-23 Began creating Jekyll (liquid) templates
2019-12-08 Initial home page design in sketch completed. Began building page with CSS grid in working-folder > home.html
2019-12-01 Deployed to Jekyll
2019-11-16 to 2019-11-26 - Copying and cleaning up site content currently hosted elsewhere. I wanted to do this manually rather than use an export tool so it was clean and I could review the content in detail. Began writing additional content during this time as well.
2019-11-05 - Gathering content, creating an early site map and thinking about site architecture.
2019-11-04 - Initial Commit
For this project, I found the following links helpful:
bundle config set --local path 'vendor/bundle'
(accessed February 2021)Source code is licensed under the MIT license.
Contents of this site are © Copyright 2019-2022 Jason M. James. All rights reserved.