This folder is a drop-in replacement for the contents of
ryogrid/ryogrid.github.io.
Copy everything here into the repo root, commit, push, and GitHub Pages
will build the redesigned site.
jekyll-site/
├── _config.yml ← removes jekyll-theme-cayman, adds layout defaults
├── _layouts/
│ ├── default.html ← shared shell (head + header + footer)
│ ├── portfolio.html ← hero + sticky TOC + project list
│ └── article.html ← long-form reading layout for tech entries
├── _includes/
│ ├── head.html ← fonts, SEO, GA, CSS
│ ├── header.html ← top nav with seal + external links
│ └── footer.html ← contact / colophon / source / build stamp
├── assets/
│ ├── css/style.scss ← all design tokens + page chrome + markdown styling
│ ├── ryo-grid-seal.svg ← vermillion 朱印 (favicon + hero)
│ ├── ryo-grid-wordmark.svg
│ └── grid-paper.svg
├── index.html ← landing — REPLACES the current INDEX.md flow
├── profile/
│ └── portfolio_en.md ← your existing portfolio + front matter
└── tech-entry/
└── about-nostrp2p.md ← same article, picks up `layout: article`
-
Clone your repo locally and pull the latest
main:git clone git@github.com:ryogrid/ryogrid.github.io.git cd ryogrid.github.io git checkout -b redesign -
Copy every file from this folder into the repo root, overwriting:
# from this project, download the jekyll-site/ folder, then: cp -R /path/to/jekyll-site/. /path/to/ryogrid.github.io/Files that get overwritten:
_config.yml— oldtheme: jekyll-theme-caymanis removedprofile/portfolio_en.md— your markdown is unchanged; only the front matter at the top is addedtech-entry/about-nostrp2p.md— same: only front matter is added
Files that get added:
- everything in
_layouts/,_includes/,assets/, plus the newindex.html
-
Delete the old landing redirect if it exists:
rm -f INDEX.md # the old cayman landing — replaced by index.htmlYou may also want to delete the unused
Screenshot_20230208-082924.pngif you don't reference it anywhere. -
(Optional) Test locally:
bundle init echo 'gem "github-pages", group: :jekyll_plugins' >> Gemfile bundle install bundle exec jekyll serve # → open http://localhost:4000
-
Commit and push. GitHub Pages will rebuild in ~30s:
git add . git commit -m "Redesign: ryo_grid portfolio design system" git push -u origin redesign
Open a PR or merge directly to
main. Done.
| Page | Before | After |
|---|---|---|
| Landing | INDEX.md (cayman) |
index.html (new design) |
| Portfolio | /profile/portfolio_en.html |
/profile/portfolio_en.html ✓ unchanged |
| NostrP2P | /tech-entry/about-nostrp2p.html |
/tech-entry/about-nostrp2p.html ✓ unchanged |
All existing external links to the portfolio page keep working.
You do not need to change how you write portfolio_en.md. The CSS targets
the kramdown-rendered HTML directly:
| Markdown you write | What it becomes |
|---|---|
### Section name |
Numbered ink rule with vermillion § NN |
#### [Project: tagline](url) 2024-Present |
Card title (serif, underlined on hover) |
| Description paragraph | Italic serif lead |
| Following paragraphs | Plex Sans body |
Trailing - [Link](url) list |
Horizontal pill row of mono links |
The sticky right-rail TOC is built client-side from every ### heading
in the document — no special syntax required.
- Colors / type: edit
assets/css/style.scss— every token is at the top of the file in:root. Change--vermillion-500and the whole accent ladder follows. - Hero copy: edit
_layouts/portfolio.html(the<section class="hero">). - Nav links: edit
_includes/header.html. - Adding a new long-form post: drop a markdown file in
tech-entry/. Thedefaults:rule in_config.ymlauto-applieslayout: article.
- The Qiita badges on the landing page (still rendered from
qiita-badge.apiapi.app— same as before). - Google Analytics (
G-FHMYLJGF1His preserved in_config.yml). - The favicon (uses the seal SVG; some browsers may cache the old one).
- That
/profile/portfolio_en.htmlstill resolves at the same URL.
- The TOC is client-side JS — visible only after page load. If you'd
prefer a server-rendered TOC, kramdown's
{:toc}is still in your markdown; we just hide it via CSS. Remove.portfolio-layout .markdown-body > ul#markdown-toc { display: none; }instyle.scssto bring it back inline. - The "first paragraph after H4 is italic serif lead" rule assumes your current markdown style holds. If you start mixing structures it will still degrade gracefully — falls back to body type.