Coder Social home page Coder Social logo

Comments (4)

sephrat avatar sephrat commented on July 20, 2024 2

Mealie now uses recipe-scrapers library (https://github.com/hhursev/recipe-scrapers) starting from 0.5.0.
Any specific integration for a website should be considered there instead of inside Mealie.

from mealie.

kophi avatar kophi commented on July 20, 2024 1

I came across quite a few (German) websites that do not work with Mealie and I think website specific parsers are a very good idea. Especially non-JSON ones are required for some big recipe sites out there. We could even extend this to say ebooks or YouTube video descriptions. Maybe match the website with url regex provided by the parser. I doubt that one single parser can be made smart enough to work with all the infinite variations of how recipes are formatted.

Really looking forward for that feature. It would very much improve this already fantastic piece of software!

from mealie.

hay-kot avatar hay-kot commented on July 20, 2024

Mealie could benefit from it tremendously by allowing the community to supply their own plugins for additional sites who don't store recipes in a standard format.

I've been thinking about this the past few days and I'm not really sure how to approach a plugin architecture. Currently the FastAPI backend provides API endpoint for nearly everything that is done on the backend, including creating a recipe from JSON data. A 3rd Part plugin just needs to filter/format the data according to the schema Mealie uses.

Mealie already uses a "normalization" process internally to parse through different types of the schemas used. A specific PR guideline/developer guide on improving the internal parser may be a better solution than a plugin architecture.

you could use something like Celery or another job queueing system in order to offload imports from the main thread

This was also something I considered for scheduling. My main decision not to was, well do I really need to spin up 3 containers for a self-hosted recipe app? Seems kind of crazy, but it may be needed down the line. I think implementing async code would solve some speed problems in the application. I will say I don't have a lot of experience writing async python

I'm interested to hear others thoughts

from mealie.

hay-kot avatar hay-kot commented on July 20, 2024

Closing this for now. If anyone is interested in working on a plugin system, please use GitHub discussions.

from mealie.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.