Maintenance Notes — jesalmehta.github.io
Maintenance Notes — jesalmehta.github.io
The site is a Jekyll-based static website hosted through GitHub Pages. It is intended to remain a clean, current professional profile and portfolio, while newer exploratory work lives elsewhere, especially at Cabinet of Curiosities.
Main files to edit
Homepage index.html
Use this for the homepage intro, current professional positioning, and first impression.
Teaching page teaching.md
Use this for current teaching role, modules, labs, workshops, FabAcademy/Fabricademy links, and teaching profile.
About page about-me.md
Use this for the short professional bio.
Important: the About page uses a custom centred layout and is sensitive to content length and viewport height. Adding too much text can push the whole block upward toward the logo/header, especially in shorter browser windows. Keep this page short. Move detailed teaching, workshops, mentoring, FabAcademy/Fabricademy, and process-oriented material to teaching.md, LinkedIn, or Cabinet of Curiosities.
About page top links
_layouts/about.html
_data/social.yml
The top links on the About page are generated by _layouts/about.html, not directly by about-me.md.
Current intended About links:
- Hackaday
- Coroflot
These links pull from _data/social.yml.
Explorations page explorations.md
Use this for the bridge note between older explorations and Cabinet of Curiosities.
The current note uses an HTML link inside the description: field because Markdown links in that field may not render as links.
Navigation order _data/menus.yml
Current intended top-level order:
- Work
- Teaching
- Cabinet
- Explorations
- About Me
Social/footer links
_data/social.yml
_includes/footer.html
Current intended footer links:
The footer uses Socicon icon classes. The working footer uses icon-only links, without visible text labels.
Collections
The site uses Jekyll collections.
Relevant folders:
_work/
_explorations/
_curiosities/
_uploads/
In general, adding a correctly formatted Markdown file to one of the collection folders should make Jekyll include it automatically. The listing pages sort items mainly by position.
Before adding new projects, inspect existing files in the relevant folder and copy their front matter structure.
Previewing the site
Do not use VS Code Live Server directly on index.html. This site contains Jekyll/Liquid tags and must be built by Jekyll first.
Creating a Codespace
On GitHub, open the repository page.
Go to:
Code → Codespaces → Create codespace on master
This opens a cloud VS Code environment for the repo. Use it for occasional maintenance, previewing, and small edits without setting up Ruby/Jekyll locally.
Before editing, check the current branch:
git status
For experimental edits, create a branch first:
git checkout -b minor-updates
For very small direct fixes, editing on master is acceptable, but preview before committing.
Codespaces may be deleted automatically after a period of inactivity. Do not rely on uncommitted Codespace changes as long-term storage. Commit and push any work you want to keep.
Codespaces workflow
From the repo root:
bundle exec jekyll serve --host 0.0.0.0
Then open the forwarded port 4000 from the Codespaces Ports tab.
Preview the key pages:
/
/teaching/
/explorations/
/about-me/
Local preview status
Local preview on Windows/WSL was attempted, but Ruby/Jekyll version issues came up. The site expects an older Ruby/Jekyll/GitHub Pages environment.
Future local preview options:
- Use GitHub Codespaces.
- Install Docker Desktop and run the site in a Ruby/Jekyll container.
- Set up an older Ruby environment carefully using
rbenvor a devcontainer.
Docker is likely the cleanest future local route.
Branch workflow
For small edits, create a branch:
git checkout -b minor-updates
After editing, check what changed:
git status
git diff
git diff --check
Commit to the branch:
git add .
git commit -m "Refresh current professional profile and site links"
git push -u origin minor-updates
To publish:
git checkout master
git pull origin master
git merge minor-updates
git push origin master
GitHub Pages should rebuild the live site after pushing to master.
Annual review checklist
Review once or twice a year:
- Homepage intro still accurate?
- Current institution/title correct?
- Teaching page current?
- FabAcademy/Fabricademy links current?
- Cabinet link working?
- Footer links working?
- LinkedIn and Instagram links working?
- About page top links working?
- Navigation order still appropriate?
- Any obviously broken links/images?
- Any old content now misleading?
What not to casually change
Avoid unnecessary changes to:
styles/
_layouts/
_includes/
scripts/
Gemfile
_config.yml
unless intentionally doing maintenance or redesign work.
The visual design is part of the site’s identity and should mostly be preserved.
Current TODO
- About layout: the page appears vertically centred and is sensitive to viewport height. On shorter windows, content can move too close to the logo/header. This was likely always part of the custom About layout, but it became more visible during recent edits. Consider changing
_layouts/about.htmllater from a centred splash/card layout to a regular top-flowing page layout with stable padding. - Local preview: consider adding a Docker/devcontainer setup for reliable local preview without fighting old Ruby/Jekyll versions.
- Content helper: consider creating a simple content template or script for adding a new Work or Exploration item in the future.
- Social links: footer LinkedIn and Instagram are currently icon-only and working. If icons become invisible or confusing later, switch to text labels or icon plus accessible hidden text.