Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Discussion: Leveraging AngleSharp #230

Copy link
Copy link
@eXpl0it3r

Description

@eXpl0it3r
Issue body actions

I see two general topics:

  1. Should we use third-party libraries in the Core?
  2. Should we consider AngleSharp for parsing?

Third-Part Libraries

HTML Renderer is currently very lightweight and has no dependencies. This has always been proudly presented as a feature of the library.

With .NET the "batteries included" era is changing, as certain "built-in" / .NET features are only available through NuGet packages (e.g. System.Text.Json).
Are those libraries also considered "third-party"?

If we end up having to potentially specific certain package references anyways, what's speaking against third-party dependencies?

AngleSharp

There's quite a bit of research & knowledge that went into the HTML & CSS parsers. At the time, this was certainly also quite unique.

On the other hand, the parsers are quite brittle, the implementation is not very flexible and there are still many unsupported syntax elements. Additional, the original maintainer and knowledge holder is no longer maintaining HTML Renderer and thus can't be relied upon.

Wouldn't it make sense to replace these parsers with AngleSharp?

The main thing I struggle with is, that I don't really like accidentally build monopolies, i.e. where only one implementation exists in the world.


Please provide your views and thoughts on that matter! 🙂

Reactions are currently unavailable

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      Morty Proxy This is a proxified and sanitized view of the page, visit original site.