Skip to content

SkylerRankin/Browser

Repository files navigation

Kelp is my attempt at putting together an HTML and CSS rendering engine and using it to build a minimal web browser.

Enough of the essential HTML and CSS specifications required for older static webpages is implemented. This includes features such as flow layout, lists, tables, common CSS selectors, and media queries to name a few. Clickable links are supported, but other interactive features that require repainting such as hover CSS effects, forms, and scripting in general are not yet implemented.

Kelp relies on the JavaFX Canvas class to handle rendering text, images, and rectangles to its UI, and the standard HttpUrlConnection class for making GET requests for pages and their resources. The rest of the browser's pipeline, including HTML and CSS parsing, DOM tree creation, render tree creation, and box layout algorithms, is implemented within this codebase.

There are several features I plan to implement in the future that should unlock many of the more modern webpages, such as supporting CSS Flex and CSS Grid layouts.

A few sites rendered using Kelp:

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published