https://github.com/danfragoso/thdwb
🌠The hotdog web browser and browser engine ðŸŒ
https://github.com/danfragoso/thdwb
browser-engine golang hotdog html-renderer ketchup mayo mustard sauce web-browser
Last synced: 3 months ago
JSON representation
🌠The hotdog web browser and browser engine ðŸŒ
- Host: GitHub
- URL: https://github.com/danfragoso/thdwb
- Owner: danfragoso
- License: mit
- Created: 2019-07-24T12:12:07.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2023-03-07T01:16:56.000Z (over 2 years ago)
- Last Synced: 2025-04-01T03:35:26.808Z (4 months ago)
- Topics: browser-engine, golang, hotdog, html-renderer, ketchup, mayo, mustard, sauce, web-browser
- Language: Go
- Homepage:
- Size: 25.7 MB
- Stars: 1,132
- Watchers: 17
- Forks: 61
- Open Issues: 21
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README

This is the hotdog web browser project. It's a web browser with its own layout and rendering engine, parsers, and UI toolkit!
It's made from scratch entirely in golang. External dependencies are only OpenGL and GLFW, even go dependencies are kept to a minimum.
The main goal of this project is to learn how web browsers work under the hood by implementing one. The browser is far from stable, spec-compliant, or even really useful, but, I'm slowly working on bringing more features and supporting more sites.
ðŸŒðŸŒðŸŒ
### Components
- ketchup (html parser and DOM Tree builder)
- mayo (css parser and Render Tree builder)
- mustard (UI Toolkit, events and OpenGL)
- sauce (requests, cache and filesystem)
- bun (css layout calculator)
- [gg](https://github.com/fogleman/gg) (drawing routines and text rendering)### Getting started
- Running```sh
make
```
This command will start the browser and load an example page- Testing
```sh
make test
```
This command will run all the configurated unit tests- Building
```sh
make build
```
This command will build the binary version### Screenshots
![]()