Try to build a tiny toy browser?
"What I cannot create, I do not understand" โ Richard Feynman
- Simple html parser and naive dom tree
- Simple css parser for tiny subset of the css specs
- Naive style node tree, mixing dom and cssom node
- Naive layout engine
- Naive paint engine
- Naive graphics output
- Network infrastructure
- Javascript engine
Or maybe more?
<!DOCTYPE html SYSTEM "about:legacy-compat">
<html>
<head>
<meta charset="utf-8" />
<title>github.com</title>
</head>
<body>
<div class="a"></div>
<div class="b"></div>
</body>
</html>
.a {
width: 100px;
height: 50px;
margin: auto;
background: #FF0000;
}
.b {
width: 200px;
margin-left: 0;
margin-right: auto;
height: 100px;
background: #00FFFF;
}
- Mainly inspired by mbrubeck/robinson project
- HTML Semantics
- CSS Syntax
- Servo