Skip to content

hieudo-dev/chrusty

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Chrusty

Toy browser engine written with Rust

Motivation

Chrusty came about because I love web browsers and at the same time I wanted to dive deep into Rust programming. It's a personal project where I'm building a toy browser engine from scratch, using Rust for its efficiency and robustness.

The goal of Chrusty is to help me understand how modern web browsers work under the hood. I'm exploring everything from parsing HTML and CSS to rendering web pages. This project is a way for me to improve my skills in systems programming and learn more about browser engineering.

Hopefully after checking out this repo it inspires fellow Rust developers (or web developers) to experiment and dive deeper.

Supported features

HTML

  • HTML parsing
  • Supported HTML tags:
    • html
    • div
    • p
    • style
  • DOM tree

CSS

  • CSS Parsing
  • Simple selectors (CSS2)
  • Specificity
  • Supported CSS properties
    • background
    • color
    • width
    • height

Javascript

Unsupported

Future ideas

  • DOM:
    • Add support for more DOM node types
  • CSS:
    • Add support selector combinators

About

Toy browser engine written with Rust

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages