A recipe management system that captures recipes from various sources and stores them in a structured YAML format. The system publishes recipes both as a web interface for kitchen use and generates PDFs for offline access.
- Store recipes in YAML format with comprehensive metadata
- Support categorization by type, cuisine, dietary restrictions, and tags
- Generate both web pages and PDF outputs from the same source data
- Provide search and filtering capabilities
- Maintain source attribution for captured recipes
- Support recipe variations and notes
- Node.js 14+
- npm or yarn
- Clone the repository
- Install dependencies:
npm install
Start the development server:
npm startGenerate the static site:
npm run buildGenerate PDFs:
npm run pdfThe project is set up for automatic deployment to GitHub Pages using GitHub Actions.
Any push to the main branch will trigger the GitHub Actions workflow that:
- Builds the site with the correct path prefix for GitHub Pages
- Deploys the build to the
gh-pagesbranch
Important files for GitHub Pages deployment:
.github/workflows/deploy.yml- GitHub Actions workflow configuration.nojekyll- Prevents GitHub from processing the site with Jekyll- Path prefixes in
.eleventy.jsensure URLs work correctly within the GitHub Pages subdirectory
To build the site for GitHub Pages manually:
npm run build:githubTo check if your deployment configuration is correct:
npm run check-deploymentTo deploy manually (requires appropriate GitHub permissions):
npm run deploysrc/
_data/ # Data files (YAML, JSON)
recipes/ # Individual recipe files
_includes/ # Template includes
layouts/ # Layout templates
components/ # Reusable components
assets/ # Static assets (images, CSS, JS)
.nojekyll # Prevents GitHub Pages from using Jekyll
ISC