{"id":13624354,"url":"https://github.com/poundifdef/plainoldrecipe","last_synced_at":"2025-04-05T13:08:43.482Z","repository":{"id":36965386,"uuid":"256246196","full_name":"poundifdef/plainoldrecipe","owner":"poundifdef","description":"Takes a recipe website URL and transforms it to a plain-text version for reading or printing.","archived":false,"fork":false,"pushed_at":"2024-07-29T07:31:17.000Z","size":3295,"stargazers_count":305,"open_issues_count":4,"forks_count":34,"subscribers_count":7,"default_branch":"master","last_synced_at":"2024-08-01T21:59:47.698Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://www.plainoldrecipe.com","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/poundifdef.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["poundifdef"]}},"created_at":"2020-04-16T14:54:34.000Z","updated_at":"2024-07-27T21:21:14.000Z","dependencies_parsed_at":"2024-04-30T18:58:34.866Z","dependency_job_id":"78dc60fa-e983-4a3c-8b80-d64244250f23","html_url":"https://github.com/poundifdef/plainoldrecipe","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/poundifdef%2Fplainoldrecipe","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/poundifdef%2Fplainoldrecipe/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/poundifdef%2Fplainoldrecipe/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/poundifdef%2Fplainoldrecipe/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/poundifdef","download_url":"https://codeload.github.com/poundifdef/plainoldrecipe/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247339158,"owners_count":20923014,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-01T21:01:41.618Z","updated_at":"2025-04-05T13:08:43.457Z","avatar_url":"https://github.com/poundifdef.png","language":"Python","funding_links":["https://github.com/sponsors/poundifdef"],"categories":["Python"],"sub_categories":[],"readme":"This program parses recipes from common websites and displays them using\nplain-old HTML.\n\nYou can use it here: https://www.plainoldrecipe.com/\n\nScreenshots\n-----------\n\nHome Page:\n![Home Page](/screenshots/home.png?raw=true \"Home Page\")\n\nView the recipe in your browser:\n![Recipe](/screenshots/screen.png?raw=true \"Recipe\")\n\nIf you print the recipe, shows with minimal formatting:\n![Print View](/screenshots/print.png?raw=true \"Print View\")\n\nBuilding Locally\n------\n1. Install Python 3.6 or newer\n2. `git clone https://github.com/poundifdef/plainoldrecipe.git` or download the source and extract\n3. `cd plainoldrecipe`\n4. [Create a virtual environment](https://docs.python.org/3/tutorial/venv.html#creating-virtual-environments) (*optional*)\n5. `pip install -r requirements.txt`\n6. `python app.py`\n\nIf all goes well you should see something along the lines of:\n```\npython main.py\n * Serving Flask app \"main\" (lazy loading)\n * Environment: production\n   WARNING: This is a development server. Do not use it in a production deployment.\n   Use a production WSGI server instead.\n * Debug mode: on\n * Restarting with stat\n * Debugger is active!\n * Debugger PIN: 123-456-789\n * Running on http://localhost:8080/ (Press CTRL+C to quit)\n```\nAfter which simply navigate to the appropriate URL as displayed on the last line.\n\nDeploy\n------\n\n`flyctl deploy`\n\nAcknowledgements\n----------------\n\n- https://github.com/hhursev/recipe-scrapers\n- https://evenbettermotherfucking.website/\n\nContributing\n------------\n\n1. If you want to add a new scraper, your best bet is to contribute it to \n   [hhursev/recipe-scrapers](https://github.com/hhursev/recipe-scrapers).\n   When they update their library, I get a notification and update to the\n   latest version.\n\n2. If you want to fix a bug in an existing scraper, again, your best bet is \n   to do it in [hhursev/recipe-scrapers](https://github.com/hhursev/recipe-scrapers)\n\n3. You can also add or modify scrapers here. These override code\n   from [hhursev/recipe-scrapers](https://github.com/hhursev/recipe-scrapers).\n   If you want to do that, your PR should have exactly two files:\n   `parsers/__init__.py` and add a new class\n   in the `parsers/` directory. [Here is an example](https://github.com/poundifdef/plainoldrecipe/commit/cac857c1abb1a8cb674a2a63ebb24df0c00aa666).\n\n4. If you want to make any other modification or refactor: create an\n   issue and ask prior to making your PR. \n\n5. I don't guarantee that I will keep this repo up to date, or that I will respond\n   in any sort of timely fashion! Your best bet for any change is to keep PRs small\n   and focused on the minimum changeset possible.\n\nTesting PRs Locally\n===================\n\ngit fetch origin pull/ID/head:BRANCHNAME\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpoundifdef%2Fplainoldrecipe","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpoundifdef%2Fplainoldrecipe","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpoundifdef%2Fplainoldrecipe/lists"}