Why: the goal or problem
Imagine a family recipe site where relatives add Markdown dishes. Its team uses Ruby templates so layout changes reach every page without copying recipes.
How: work toward a solution
Start a family recipe archive with three Markdown articles and one layout. Next runs the Ruby build, creates an index and three article pages, then sends files through hosting to the browser. Missing layout stops this example before output. Reading these files needs no Ruby request handler. Personal Save records need a separate API. Previous, Reset, or reload restores earlier states.
Concept simulation
Jekyll
Next traces source → build → output → host → browser.
Build environment ends before hosting
- 01 Three Markdown articles + layout
- family-recipes.md
- pantry-tips.md
- kitchen-notes.md
- Shared layout
- 02 Ruby build · layouts
Waiting
- 03 Generated HTML files 0
index.html · family-recipes.html · pantry-tips.html · kitchen-notes.html
- 04 Static host · publish files
- 05 Browser · read three articles
Three Markdown articles + layout
- Execution boundary
- Build: Ruby + Markdown + Liquid → HTML. Hosting does not run Ruby per read.
- State and responsibility
- Publisher maintains build dependencies; private records require another storage path.
A fictional demo within this article. Reset or reload restores its initial state.
What: the concept
Jekyll transforms Markdown and layouts into a static site using a Ruby build workflow. Generation and hosting are separate choices.
Maintain build dependencies separately from hosting.
Discuss this idea
Comments are shared across languages. GitHub login required to post.