A comprehensive guide for home automation enthusiasts
This repository contains the source for the Home Automation Cookbook website, built with Jekyll and hosted on GitHub Pages.
Visit the live site at: https://www.homeautomationcookbook.com
The Home Automation Cookbook is a community-driven documentation project that helps people:
- Get started with home automation
- Choose the right platform and devices
- Create effective automations
- Secure their smart homes
- Troubleshoot common issues
- Ruby 2.7 or higher
- Bundler
- Git
-
Clone the repository:
git clone https://github.com/madskristensen/HomeAutomationCookbook.git cd HomeAutomationCookbook -
Install dependencies:
bundle config set --local path 'vendor/bundle' bundle install
-
Run the local server:
bundle exec jekyll serve --source docs --port 4001 --host 0.0.0.0 -
Open your browser to
http://localhost:4001
For convenience, you can use the provided batch file:
run-site.cmd- Port conflict (wrong site appears):
Get-NetTCPConnection -LocalPort 4001 | Select-Object LocalAddress, LocalPort, State, OwningProcess
- Use a different port for one run:
bundle exec jekyll serve --source docs --port 4002 --host 0.0.0.0 - Generated folders are ignored by Git:
_site/anddocs/_site/ - If those folders were tracked previously, untrack them once:
git rm -r --cached _site docs/_site
We welcome contributions! Here's how you can help:
- Add Content: Create new guides or improve existing ones
- Fix Errors: Spot a mistake? Submit a PR
- Share Experience: Add your automation recipes
- Improve Navigation: Help organize content better
docs/- Main documentation foldergetting-started/- Beginner guidesautomation/- Automation recipeslighting/daily-routines/climate/entertainment/appliances/security/notifications/
faq/- Frequently asked questions
- Use clear, concise language
- Include code examples where applicable
- Add images/diagrams to explain complex concepts
- Follow the existing document structure
- Test your changes locally before submitting
The site automatically deploys to GitHub Pages when changes are pushed to the main branch via GitHub Actions.
- Go to repository Settings → Pages
- Source: GitHub Actions
- Custom domain: Add your domain in the CNAME file
- Update
docs/CNAMEwith your domain - Configure DNS records:
- Type:
A→ Points to GitHub Pages IPs - Type:
CNAME→ Points toyourusername.github.io
- Type:
- Enable "Enforce HTTPS" in repository settings
This project is licensed under the MIT License - see the LICENSE file for details.
- Issues: Report bugs or request features
- Discussions: Share ideas and get help
- Pull Requests: Contribute directly
Questions? Open an issue or start a discussion!
Built by the home automation community