Visit page: https://lukaszchomatek.github.io/cookbook-base/
The Student Cookbook project is a simple web application designed to demonstrate teamwork and collaboration using Git, GitHub, and GitHub Pages.
The application provides a minimal but functional front end built with Vue.js (loaded via CDN). It dynamically lists all recipe files from the GitHub repository and renders their Markdown content into HTML.
- The application consists of a single
index.htmlfile placed in the repository root. - It loads Vue 3, Marked, and DOMPurify directly from CDNs — no build tools or package managers are required.
- When the page is opened (e.g.,
https://lukaszchomatek.github.io/cookbook-base/), Vue fetches a list of.mdfiles from the/recipes/folder using the GitHub Contents API. - The list of recipes is displayed in the sidebar.
- When a user clicks a recipe name, the Markdown file is fetched from the same GitHub Pages domain (e.g.
https://lukaszchomatek.github.io/cookbook-base/recipes/Tea.md) and rendered in the main panel. - Markdown is converted to safe HTML using Marked and sanitized with DOMPurify to prevent security issues.
cookbook-base/
│
├── index.html # Main application file (Vue + Marked + DOMPurify)
├── recipes/ # Folder containing Markdown recipes
│ ├── Tea.md
│ ├── Pasta.md
│ └── Sandwich.md
└── README.md # Instructions for contributors
Each .md file should include a short recipe, for example:
# Tea
## Ingredients
- Water
- Tea bag
- Lemon
## Steps
1. Boil water.
2. Pour over tea bag.
3. Add lemon and enjoy.