• Stars
    star
    316
  • Rank 132,587 (Top 3 %)
  • Language
    Rust
  • License
    MIT License
  • Created over 4 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

🌎 πŸŒ” A hobby web browser developed from scratch

Moon

A hobby web browser developed from scratch

MIT License By Vietnamese

What is this?

This is a web browser developed from scratch using Rust. To fit with the "make from scratch" spirit, the development of the browser avoids the use of external libraries as much as possible.

Wanna try it out?

Here are the steps to try it out if you are interested:

  1. Clone the repository.
  2. Run cargo run and wait for the code to compile & execute.

Check out the Getting Started Guide for more advanced stuff.

Screenshots

Rendering comparison between Moon & Firefox

Features

  • HTML: Spec-compliant HTML tokenizer, parser & DOM tree builder.
  • CSS: Spec-compliant CSS tokenizer, parser & CSSOM tree builder.
  • Style processing: Style cascading, style value computation, selector matching & render tree construction.
  • Layout: Flow layout (Block & Inline).
  • Rendering: GPU rendering & text rendering.
  • Networking: Spec-compliant URL parser.
  • User Interface: GTK-based browser UI.

Blog posts

I write about what I learn from this journey on my blog (order by latest):

  • Browser from Scratch: Layout - Read more
  • Browser from Scratch: CSS parsing & processing - Read more
  • Browser from Scratch: HTML parsing - Read more
  • Browser from Scratch: DOM API - Read more
  • Browser from Scratch: Introduction - Read more

Author

License

More Repositories

1

SnippetStore

πŸŽ‰ A snippet management app for developers πŸš€
JavaScript
848
star
2

CommitTasks

A combination between git commit & todo list πŸŽ‰
JavaScript
295
star
3

vi-rs

Vietnamese Input Method library
Rust
131
star
4

limus

🎨 Make your screenshot/image more professional by rotating, adding shadow and more.
TypeScript
112
star
5

awesome-browser

A list of awesome web browser related stuff
78
star
6

rsn

A TUI-based RSS reader written in rust
Rust
25
star
7

NoticeZ

A javascript library for creating "web" push notifications
JavaScript
8
star
8

Alluring

A cross platform app for changing wallpaper
JavaScript
7
star
9

SoundFlow

A simple music playing app that support multiple online sources.
TypeScript
7
star
10

vscode-snippetstore

Snippet Store integration in Visual Studio Code
JavaScript
7
star
11

vudoku

A simple sudoku game written in v lang
V
6
star
12

Waving

A simple audio player with wave effect
TypeScript
6
star
13

checkme

A simple todo cli app build with oclif
TypeScript
5
star
14

Gofont

A simple google font downloader written in Golang
Go
4
star
15

Elisten

An web app for improving English listening skill
JavaScript
4
star
16

darkside

A TUI-kit for rust
Rust
4
star
17

EasyPDF

A simple library that use PDF.js for rendering pdf file on electron
JavaScript
4
star
18

MyWatchList

A simple movie watch list app
CoffeeScript
4
star
19

ZEx

A hacking tool base written with NodeJs
JavaScript
3
star
20

AnimeBot

A simple bot for taking anime info from myanimelist.net
JavaScript
3
star
21

everyday

My everyday notes
2
star
22

akanban

A simple kanban board built with Angular and ❀️
TypeScript
2
star
23

Sonalus

A modern markdown editor
TypeScript
2
star
24

TIL

Today I learned - A collection of knowledge from source reading to side-project
2
star
25

spacechess

A simple 3d chess game made with three.js
CoffeeScript
2
star
26

mState

A simple state management library for mithril.js
JavaScript
2
star
27

aoc2023

AOC 2023!
Clojure
2
star
28

p5Generator

A cross platform app for generating and managing p5.js projects !
JavaScript
1
star
29

NewWall

Just another wallpaper changing app! πŸŽ‰
Vue
1
star
30

autocomplete-demo

A simple demo of autocomplete search box
JavaScript
1
star
31

tplgen

A nodejs third party licenses generator
JavaScript
1
star
32

portfolio-v3

Back to simple, clean style
TypeScript
1
star
33

aoc2022

My AoC 2022 solutions. Enter at your own risk.
JavaScript
1
star
34

wezterm-config

My wezterm config
Lua
1
star
35

style-helper

This repository containt style helper file
CSS
1
star
36

dotfiles

My dotfiles
Vim Script
1
star
37

craftorio

A clone of Minecraft in threejs for fun
TypeScript
1
star
38

aoc-2021

Advent of Code 2021
Rust
1
star
39

zerox-dg.github.io

My portfolio
TypeScript
1
star
40

meow

[WIP] A language compiled to JS for fun!
Rust
1
star
41

emacs-github-pr

a simple tool that helps speed up the process of reviewing Github PRs
Emacs Lisp
1
star
42

blog

My blog, recreated
CSS
1
star