https://github.com/poundifdef/plainoldrecipe
Takes a recipe website URL and transforms it to a plain-text version for reading or printing.
https://github.com/poundifdef/plainoldrecipe
Last synced: 11 months ago
JSON representation
Takes a recipe website URL and transforms it to a plain-text version for reading or printing.
- Host: GitHub
- URL: https://github.com/poundifdef/plainoldrecipe
- Owner: poundifdef
- License: agpl-3.0
- Created: 2020-04-16T14:54:34.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2024-07-29T07:31:17.000Z (over 1 year ago)
- Last Synced: 2024-08-01T21:59:47.698Z (over 1 year ago)
- Language: Python
- Homepage: https://www.plainoldrecipe.com
- Size: 3.14 MB
- Stars: 305
- Watchers: 7
- Forks: 34
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
- starred - poundifdef/plainoldrecipe - Takes a recipe website URL and transforms it to a plain-text version for reading or printing. (Python)
README
This program parses recipes from common websites and displays them using
plain-old HTML.
You can use it here: https://www.plainoldrecipe.com/
Screenshots
-----------
Home Page:

View the recipe in your browser:

If you print the recipe, shows with minimal formatting:

Building Locally
------
1. Install Python 3.6 or newer
2. `git clone https://github.com/poundifdef/plainoldrecipe.git` or download the source and extract
3. `cd plainoldrecipe`
4. [Create a virtual environment](https://docs.python.org/3/tutorial/venv.html#creating-virtual-environments) (*optional*)
5. `pip install -r requirements.txt`
6. `python app.py`
If all goes well you should see something along the lines of:
```
python main.py
* Serving Flask app "main" (lazy loading)
* Environment: production
WARNING: This is a development server. Do not use it in a production deployment.
Use a production WSGI server instead.
* Debug mode: on
* Restarting with stat
* Debugger is active!
* Debugger PIN: 123-456-789
* Running on http://localhost:8080/ (Press CTRL+C to quit)
```
After which simply navigate to the appropriate URL as displayed on the last line.
Deploy
------
`flyctl deploy`
Acknowledgements
----------------
- https://github.com/hhursev/recipe-scrapers
- https://evenbettermotherfucking.website/
Contributing
------------
1. If you want to add a new scraper, your best bet is to contribute it to
[hhursev/recipe-scrapers](https://github.com/hhursev/recipe-scrapers).
When they update their library, I get a notification and update to the
latest version.
2. If you want to fix a bug in an existing scraper, again, your best bet is
to do it in [hhursev/recipe-scrapers](https://github.com/hhursev/recipe-scrapers)
3. You can also add or modify scrapers here. These override code
from [hhursev/recipe-scrapers](https://github.com/hhursev/recipe-scrapers).
If you want to do that, your PR should have exactly two files:
`parsers/__init__.py` and add a new class
in the `parsers/` directory. [Here is an example](https://github.com/poundifdef/plainoldrecipe/commit/cac857c1abb1a8cb674a2a63ebb24df0c00aa666).
4. If you want to make any other modification or refactor: create an
issue and ask prior to making your PR.
5. I don't guarantee that I will keep this repo up to date, or that I will respond
in any sort of timely fashion! Your best bet for any change is to keep PRs small
and focused on the minimum changeset possible.
Testing PRs Locally
===================
git fetch origin pull/ID/head:BRANCHNAME