All Projects β†’ ZeroX-DG β†’ moon

ZeroX-DG / moon

Licence: MIT license
🌎 πŸŒ” A hobby web browser developed from scratch

Programming Languages

rust
11053 projects
HTML
75241 projects

Projects that are alternatives of or similar to moon

InDiv
an angular like web mvvm framework.δΈ€δΈͺη±» angular ε‰η«―ζ‘†ζžΆγ€‚https://dimalilongji.github.io/InDiv
Stars: ✭ 88 (-65.22%)
Mutual labels:  dom
rehype-dom
HTML processor to parse and compile with browser APIs, powered by plugins
Stars: ✭ 20 (-92.09%)
Mutual labels:  dom
ready
Detect element availability on the initial page load and those dynamically appended to the DOM
Stars: ✭ 77 (-69.57%)
Mutual labels:  dom
aurum
Fast and concise declarative DOM rendering library for javascript
Stars: ✭ 17 (-93.28%)
Mutual labels:  dom
necktie
Necktie – a simple DOM binding tool
Stars: ✭ 43 (-83%)
Mutual labels:  dom
playwright-demos
playwright for scrapping and UI testing / automate testing workflows
Stars: ✭ 65 (-74.31%)
Mutual labels:  dom
hast-util-from-dom
utility to transform a DOM tree to hast
Stars: ✭ 20 (-92.09%)
Mutual labels:  dom
save-html-as-image
Download the HTML (DOM) to Image (JPG, PNG)
Stars: ✭ 26 (-89.72%)
Mutual labels:  dom
render-props
㸚 Easy-to-use React state containers which utilize the render props (function as child) pattern
Stars: ✭ 33 (-86.96%)
Mutual labels:  dom
affiliate
Add affiliation tags to links automatically in the browser
Stars: ✭ 77 (-69.57%)
Mutual labels:  dom
bs-declaredom
Strongly typed declarative markup for the DOM and CSS
Stars: ✭ 66 (-73.91%)
Mutual labels:  dom
vue-drag-select
A Vue component for drag selecting elements. Inspired by react-drag-select.
Stars: ✭ 73 (-71.15%)
Mutual labels:  dom
dom
Package for access and manipulate DOM element in HTML file
Stars: ✭ 29 (-88.54%)
Mutual labels:  dom
html5parser
A super tiny and fast html5 AST parser.
Stars: ✭ 153 (-39.53%)
Mutual labels:  dom
m4q
Small library for DOM manipulation and animation. This library similar to jQuery, but written more simply.
Stars: ✭ 30 (-88.14%)
Mutual labels:  dom
Web-Map-Custom-Element
A custom <mapml-viewer> and <layer-> element suite
Stars: ✭ 49 (-80.63%)
Mutual labels:  dom
universal
A counterpart to common package to be used with Angular Universal
Stars: ✭ 115 (-54.55%)
Mutual labels:  dom
smart-custom-element
Smart a lightweight web component library that provides capabilities for web components, such as data binding, using es6 native class inheritance. This library is focused for providing the developer the ability to write robust and native web components without the need of dependencies and an overhead of a framework.
Stars: ✭ 17 (-93.28%)
Mutual labels:  dom
CalDOM
An agnostic, reactive & minimalist (3kb) JavaScript UI library with direct access to native DOM.
Stars: ✭ 176 (-30.43%)
Mutual labels:  dom
vanilla-caret-js
Set and get Caret position (contenteditable or TextArea) using Vanilla JavaScript
Stars: ✭ 31 (-87.75%)
Mutual labels:  dom

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].