karussell / snacktory

Readability clone in Java

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Crux, an Android-optimized fork of Snacktory, with many issues fixed

chimbori opened this issue · comments

Hi @karussell, thanks for building and sharing Snacktory!

You said you were looking for someone to take over maintenance and future development?

We’ve been working hard on our own fork, with several features over the original Snacktory. The reason we forked it is because we needed to change the basic API to make it fit our requirements, including optimizing the library for Android, decoupling it from optional dependencies such as HttpUrlConnection, log4j, etc., and adding several new features, such as rich-text output (HTML), preserving links, extracting more metadata content, etc.

Announcing Crux: https://github.com/chimbori/crux

If you are interested, let us know how we can work together for maintenance and future development!

commented

Interesting and nice effort! I'm open for everything, from moving snacktory to you or giving you access to this repo or just marking it as deprecated and linking to your repo prominently.

Cool! I’m not 100% sure what the best way forward is, so we could start with the least risky one: if you can add a pointer in the README directing people to the new one, that’d be awesome.

I don’t want to be the one to kill Snacktory, I’m sure a lot of apps depend on it — though there haven’t been updates. Crux is not a drop-in replacement because of the slightly different API.

Eventually, we can re-evaluate and pursue measures that will let apps move to Crux at their pace. What do you think?

commented

Sounds good. Maybe you create a PR regarding the changes of the README? So that you can make the reference as bold as necessary as you think :) ?

@chimbori-dev one core feature crux is missing from snacktory is the mechanism for converting the Document to a simple text string after extracting content. I don't see a way to file an issue on the crux project page, however.

The JSoup Document object already provides a text() method, and it’s the primary interface that Crux returns. This is fully intentional, to avoid duplicate methods and to allow you to control how you want the text. E.g. if you want multi-paragraph text, you can use walk the childNodes in that Document and get the text() from them instead.

Does that satisfy your requirement?

Just enabled Issues on the Crux GitHub repo too, so we can take this discussion there if you’d like.

Thanks - I realized after mentioning it here that the method was exposed on Document and worked like the old snacktory text reference. Silly me, I wasn't thinking about the JSoup API.