-
-
Notifications
You must be signed in to change notification settings - Fork 39
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rendering? #2
Comments
Hi. Nice work, amazing to see just 1 person doing all this (I mean the <#> project as a whole). What did happen to the renderer idea? I'd like to tinker with a new Html>PDF converter, so came here from HtmlRenderer which as you know is more or less dead. |
Thanks for the encouraging post @bjorn-ali-goransson! Yeah, the idea is not dead, actually currently I am trying to allocate some time again for AngleSharp development. My current plan is to try to bring AngleSharp.Css up to speed which would allow me to release AngleSharp.Core v0.10 and AngleSharp.Css in v0.1. After that I want to focus mostly on providing a (simple) renderer, which would be similar to the HtmlRenderer. Additionally, I am thinking of a project for a cross-platform GUI framework that uses the renderer + a React-like paradigm (so you would write C# code to declare components with a Render function that uses a DSL to specify what components to create / bring to the DOM). But all of it music of the future. Regarding the timeline I cannot promise much, but hopefully somewhere between April and May I could be close / release the simple renderer. |
I would be up to the potential task of taking htmlrenderer and removing the
parser, instead utilizing anglesharp. The nice idea about that library is
that it generalises the rendering output (the graphics class), making it
possible to output images as well as using it for wpf etc.
Not a very popular scenario perhaps but nontheless interesting and a base
to build further on.
Imagine AngleSharp.Renderer, AngleSharp.Renderer.PdfSharp etc.
Den 17 jan 2018 09:01 skrev "Florian Rappl" <[email protected]>:
… Thanks for the encouraging post @bjorn-ali-goransson
<https://github.com/bjorn-ali-goransson>! Yeah, the idea is not dead,
actually currently I am trying to allocate some time again for AngleSharp
development. My current plan is to try to bring AngleSharp.Css up to speed
which would allow me to release AngleSharp.Core v0.10 and AngleSharp.Css in
v0.1.
After that I want to focus mostly on providing a (simple) renderer, which
would be similar to the HtmlRenderer. Additionally, I am thinking of a
project for a cross-platform GUI framework that uses the renderer + a
React-like paradigm (so you would write C# code to declare components with
a Render function that uses a DSL to specify what components to create /
bring to the DOM). But all of it music of the future.
Regarding the timeline I cannot promise much, but hopefully somewhere
between April and May I could be close / release the simple renderer.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#2 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAoyADlWSZ7VkTaYHLYTctzN0M2CWUYbks5tLai7gaJpZM4K7Www>
.
|
@bjorn-ali-goransson the major reason I follow Anglesharp and gave up of htmlrenderer is that Anglesharp has a big potention of becoming a de-facto web runtime engine for .net/.net core. I have huge need to develop UI for embedded devices in HTML but none of the web runtimes I've found (CEF, libchromium, webkit) are lightweight enough nor support embedded (ARM) devices. So I would really love to have the core rendering working so I could render to a GFX device, like for example a Once we have basic rendering of the HTML, I would quickly integrate it with a drawing backend, like for example, Skia. From that point, it would be easier to have WPF/WinForms/UWP integrated with it... |
That being said, I also understand that probably the whole project would
have to be essentially rewritten from scratch to get it up to par with
modern programming standards, architecture and principles. But to have an
alternative to htmlrenderer in a short amount of time would be an
unbelievable relief, especially as the issues would not simply go to the
depths but taken care of by the community.
Den 17 jan 2018 17:07 skrev "Björn Göransson" <[email protected]>:
… I would be up to the potential task of taking htmlrenderer and removing
the parser, instead utilizing anglesharp. The nice idea about that library
is that it generalises the rendering output (the graphics class), making it
possible to output images as well as using it for wpf etc.
Not a very popular scenario perhaps but nontheless interesting and a base
to build further on.
Imagine AngleSharp.Renderer, AngleSharp.Renderer.PdfSharp etc.
Den 17 jan 2018 09:01 skrev "Florian Rappl" ***@***.***>:
> Thanks for the encouraging post @bjorn-ali-goransson
> <https://github.com/bjorn-ali-goransson>! Yeah, the idea is not dead,
> actually currently I am trying to allocate some time again for AngleSharp
> development. My current plan is to try to bring AngleSharp.Css up to speed
> which would allow me to release AngleSharp.Core v0.10 and AngleSharp.Css in
> v0.1.
>
> After that I want to focus mostly on providing a (simple) renderer, which
> would be similar to the HtmlRenderer. Additionally, I am thinking of a
> project for a cross-platform GUI framework that uses the renderer + a
> React-like paradigm (so you would write C# code to declare components with
> a Render function that uses a DSL to specify what components to create /
> bring to the DOM). But all of it music of the future.
>
> Regarding the timeline I cannot promise much, but hopefully somewhere
> between April and May I could be close / release the simple renderer.
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
> <#2 (comment)>,
> or mute the thread
> <https://github.com/notifications/unsubscribe-auth/AAoyADlWSZ7VkTaYHLYTctzN0M2CWUYbks5tLai7gaJpZM4K7Www>
> .
>
|
Gutemberg, with my suggestion to quickly get up to speed you would have to
implement the likes of these classes which themselves have some connection
with the byte array you are referring to.
https://github.com/ArthurHub/HTML-Renderer/blob/master/Source/HtmlRenderer.PdfSharp/Adapters/GraphicsAdapter.cs
The whole adapters folder is relevant. It contains functions for loading
fonts, measuring string dimensions (for text wrapping), drawing paths,
images and other things.
Den 17 jan 2018 17:13 skrev "Gutemberg Ribeiro" <[email protected]>:
… @bjorn-ali-goransson <https://github.com/bjorn-ali-goransson> the major
reason I follow Anglesharp and gave up of htmlrenderer is that Anglesharp
has a big potention of becoming a de-facto web runtime engine for .net/.net
core.
I have huge need to develop UI for embedded devices in HTML but none of
the web runtimes I've found (CEF, libchromium, webkit) are lightweight
enough nor support embedded (ARM) devices.
So I would really love to have the core rendering working so I could
render to a GFX device, like for example a byte[] as a pointer to a
framebuffer.
Once we have basic rendering of the HTML, I would quickly integrate it
with a drawing backend, like for example, Skia. From that point, it would
be easier to have WPF/WinForms/UWP integrated with it...
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#2 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAoyAMPjCISjleb9jlRaACiNVbuQLDtyks5tLhwhgaJpZM4K7Www>
.
|
Also, on another note, rendering is not the same as having a web runtime.
That would be a separate, more complex package. I refer only to the
rendering of a snapshot of page, not reflecting updates to the dom nor
handling any events.
Not saying that it wouldn't be awesome, of course ☺
Den 17 jan 2018 17:23 skrev "Björn Göransson" <[email protected]>:
… Gutemberg, with my suggestion to quickly get up to speed you would have to
implement the likes of these classes which themselves have some connection
with the byte array you are referring to.
https://github.com/ArthurHub/HTML-Renderer/blob/master/
Source/HtmlRenderer.PdfSharp/Adapters/GraphicsAdapter.cs
The whole adapters folder is relevant. It contains functions for loading
fonts, measuring string dimensions (for text wrapping), drawing paths,
images and other things.
Den 17 jan 2018 17:13 skrev "Gutemberg Ribeiro" ***@***.***
>:
> @bjorn-ali-goransson <https://github.com/bjorn-ali-goransson> the major
> reason I follow Anglesharp and gave up of htmlrenderer is that Anglesharp
> has a big potention of becoming a de-facto web runtime engine for .net/.net
> core.
>
> I have huge need to develop UI for embedded devices in HTML but none of
> the web runtimes I've found (CEF, libchromium, webkit) are lightweight
> enough nor support embedded (ARM) devices.
>
> So I would really love to have the core rendering working so I could
> render to a GFX device, like for example a byte[] as a pointer to a
> framebuffer.
>
> Once we have basic rendering of the HTML, I would quickly integrate it
> with a drawing backend, like for example, Skia. From that point, it would
> be easier to have WPF/WinForms/UWP integrated with it...
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
> <#2 (comment)>,
> or mute the thread
> <https://github.com/notifications/unsubscribe-auth/AAoyAMPjCISjleb9jlRaACiNVbuQLDtyks5tLhwhgaJpZM4K7Www>
> .
>
|
That is the work of the render @FlorianRappl was thinking of.
I know. Like I said, I would like to have AngleSharp as the HTML5/CSS core of a web engine. As much as it can parse/update a DOM in memory, I'm more than happy to implement the hooks for the DOM events on top of that, and later on, have the Drawing layer attached to it as well. I'm not saying I would have a full blow browser (who knows?!?!?), what I'm saying is that I would like to have a web-like UI framework (i.e. like react) that you can write your JS/TS and works with the DOM. |
I'm really loving the discussion in here, maybe I should just upload what I already have (hopefully I'll find the time in the next 1-2 weeks to structure / push it) with the hope that it forms the basis for future collaboration. Fact is (and why AngleSharp stalled in the recent year) with me alone it cannot scale. Some people contributed, but we need a continuous / uniform approach here where a group of people maybe also has some online meetings and works out a roadmap together (such that we are on the same page). No pressure here, just some thoughts. A would love to have a lightweight and extensible renderer. Performance-wise it could not compete with a webbrowser, but the mission would of course be to improve it then iteratively. |
I for one can help out somewhat, but I need to see the existing code first
to determine how much effort will be required.
HtmlRenderer, however bad it may be coded, is still tangible and enables
one to quantify the amount of remaining work.
On another note, that library represents a minimum level of functionality
needed to be implemented before expecting users to start switching over.
Den 17 jan 2018 18:06 skrev "Florian Rappl" <[email protected]>:
… I'm really loving the discussion in here, maybe I should just upload what
I already have (hopefully I'll find the time in the next 1-2 weeks to
structure / push it) with the hope that it forms the basis for future
collaboration. Fact is (and why AngleSharp stalled in the recent year) with
me alone it cannot scale. Some people contributed, but we need a continuous
/ uniform approach here where a group of people maybe also has some online
meetings and works out a roadmap together (such that we are on the same
page).
No pressure here, just some thoughts. A would love to have a lightweight
and extensible renderer. Performance-wise it could not compete with a
webbrowser, but the mission would of course be to improve it then
iteratively.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#2 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAoyAEmMglil2kjSjAV5Fcy2w-RP34YWks5tLiiTgaJpZM4K7Www>
.
|
Yes, I forgot to mention that although a web runtime will have some
components shared with a simplistic renderer, building / improving a
renderer is all I can help out with for now.
The reason for this is that a decent renderer is what I've continously been
needing for the past 10 years in my work, and the scope for it is somewhat
limited and within reach.
A web runtime, maybe also so, but not now.
Den 17 jan 2018 18:41 skrev "Björn Göransson" <[email protected]>:
… I for one can help out somewhat, but I need to see the existing code first
to determine how much effort will be required.
HtmlRenderer, however bad it may be coded, is still tangible and enables
one to quantify the amount of remaining work.
On another note, that library represents a minimum level of functionality
needed to be implemented before expecting users to start switching over.
Den 17 jan 2018 18:06 skrev "Florian Rappl" ***@***.***>:
> I'm really loving the discussion in here, maybe I should just upload what
> I already have (hopefully I'll find the time in the next 1-2 weeks to
> structure / push it) with the hope that it forms the basis for future
> collaboration. Fact is (and why AngleSharp stalled in the recent year) with
> me alone it cannot scale. Some people contributed, but we need a continuous
> / uniform approach here where a group of people maybe also has some online
> meetings and works out a roadmap together (such that we are on the same
> page).
>
> No pressure here, just some thoughts. A would love to have a lightweight
> and extensible renderer. Performance-wise it could not compete with a
> webbrowser, but the mission would of course be to improve it then
> iteratively.
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
> <#2 (comment)>,
> or mute the thread
> <https://github.com/notifications/unsubscribe-auth/AAoyAEmMglil2kjSjAV5Fcy2w-RP34YWks5tLiiTgaJpZM4K7Www>
> .
>
|
As we previously discussed on Skype @FlorianRappl, you can count on me as well to make this happen. I told you back last year that once you have pushed something to GH, we could see what is missing and start thinking on how to approach that. Thanks |
@FlorianRappl IMO just upload whatever you have got, however unready it may be. There's no harm in publishing anything unfinished. “If you're not embarrassed when you ship your first version you waited too long.” –Matt Mullenweg |
CHEER! |
@prepare What's this little thing you have here??? https://github.com/LayoutFarm/HtmlRenderer |
Hello, @bjorn-ali-goransson
check it out :) |
I did! Looking good! |
@FlorianRappl you seem to be an amazing developer but I am noticing a lack of überblick here. We are all waiting because you want to release more complete functionality than what is currently in a working condition in your codebase. This is clearly not optimal. As for what I'm concerned, I currently have a large client (39bn+ EUR annual turnover) who want's a better PDF renderer and if this is any better than Arthurs, we'll use it immediately. But neither do I want to privately fork that code (several additional projects in our compile pipeline), nor do I want to publish it as a NuGet package that will soon be abandoned, enlarging my OSS footprint with unnecessary garbage. Let me propose the following roadmap which we can quickyl decide on, or I will have to move on. Proposed roadmapPhase 1
Then, we may start benefitting from an OS .NET PDF renderer today, from a project which is ALIVE and not dead. Seeing all the forks scattered from Arthurs code feels almost post-nuclear. Phase 2
Phase 3
|
@prepare Would you be OK with me forking your repo and taking some PRs if I find any room for improvement? I really don't have time to wait for this disccussion to finish. |
Thanks for the words, but I guess its not about the overview here. Time is the problem and actively contributing is currently an issue with family and other (mostly paid) projects having a higher prio. I guess thats understandable. The proposals are all good, but at the end of the day the question is: Who will do the work? As you can already see with all the traveling and other things I am pursuing I can't even manage to find a couple of hours to get the old code base lifted from my PC to a public repo (and this is not about making it perfect - it's just about some basics; having it building again, have at least basic infos in a README and all that essential stuff). Since we have a (sketched) roadmap the question is - what's the proposed timeline? |
I was meaning with überblick, to say the overall, "birds-eye" view, in lack of a good word in english (my actual german is almost zero, but it's pretty close to swedish). With this I mean that if you're lacking the time to make it build, then you may at least have the time to delegate 😁. I mean, phase 1 involves/requires no actual development work on your part. What: Phase 1 I won't bother you with lots of pushes to NuGet nor lots of PRs. I'll keep it at a minimum 1 or (hopefully not needed) 2. |
Hello @bjorn-ali-goransson,
Lets do it! Please don't use any copyleft code => Cheer! |
@prepare , your project seems extremely tangled and not fit for what I have in mind. The projects seem too intertwined and difficult to make out anything of (in my timeframe, at least). What you are achieving though seems phenomenal. I have to start out with Arthurs code however bad it may be. |
@bjorn-ali-goransson, It is OK :) Arthurs code is not bad. (I started from it.) |
See AngleSharp #26 for the full discussion.
The
IRenderDevice
will be part of that story, even though the CSS library won't build up a render tree. Nevertheless, the CSS library will contain everything to make style computations and empower a rendering library in the task to derive the render tree.The text was updated successfully, but these errors were encountered: