j0k3r / graby

Graby helps you extract article content from web pages
MIT License
363 stars 73 forks source link

Graby 3.0 #275

Open j0k3r opened 2 years ago

j0k3r commented 2 years ago

I'm thinking about the 3.0. Not to much breaking changes but mostly type everything (method args, return, variable, etc.) for now and dropping PHP < 7.4

See #272 & #273

I would like to know if you think about something that should be broken in v2 or re-implemented in a way that will require a major version. So it can be included in 3.0. Of course, "rewrite everything because method XXX sucks" isn't an appropriate answer.

If this is something really too big and might take too much time to complete, it can also be part of v4 :)

j0k3r commented 2 years ago

I've also removed http-interop/http-factory-guzzle because guzzle/psr7 2.0 finally have a PSR-17 factory but it means v3 will drop support for Guzzle 6 because v6 is locked to guzzle/psr7 v1. This does not affect Guzzle 5

See https://github.com/j0k3r/graby/pull/277

nicosomb commented 2 years ago

Do we need to wait for graby 3.0 if we want to start a v3 POC for wallabag?

j0k3r commented 2 years ago

Not really, we can use the master.

Kdecherf commented 2 years ago

Was wondering what we could do with our guzzle-site-authenticator plugin, if it should be done differently or not

jtojnar commented 1 year ago

My wishlist:

j0k3r commented 1 year ago

Having constructors take config objects instead of arrays.

We already have Value Object (https://github.com/j0k3r/graby/pull/284) so won't be to hard to move to object as parameter

Making ContentExtractor::$readability property private

How can we define configuration for readability when using Graby from an external source then?

jtojnar commented 1 year ago

How can we define configuration for readability when using Graby from an external source then?

Won’t passing it through Graby inside GrabyConfig work?

jtojnar commented 1 year ago

I would also like to see

It would mean switching from psr/http-client-implementation to php-http/async-client-implementation and using Http\Promise\Promise in the API.

tacman commented 1 year ago

I'm a fan of Symfony's HttpClient, which supports async and standards and all that goodness.

If Graby 2 or 3 can be used with it, can you add that to the documentation? I always find that part of the configuration a bit confusing.

Thanks.

j0k3r commented 1 year ago

@tacman of course, the doc will be updated

jtojnar commented 1 year ago

On that point it would be nice to