Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tetracalibers/learn-browsers-work
Challenge to build a toy browser in Rust
https://github.com/tetracalibers/learn-browsers-work
Last synced: 11 days ago
JSON representation
Challenge to build a toy browser in Rust
- Host: GitHub
- URL: https://github.com/tetracalibers/learn-browsers-work
- Owner: tetracalibers
- Created: 2024-01-06T08:01:06.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-07-20T12:21:20.000Z (6 months ago)
- Last Synced: 2024-11-07T21:19:38.892Z (2 months ago)
- Language: Rust
- Size: 473 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Challenge to build a toy browser in Rust
## WIP: HTML Parser
### 実行方法
次のコマンドで`src/main.rs`の`run_html`関数に定義されたサンプル動作を見ることができます。
```bash
cargo run -- html
```ログレベルを`debug`にすると、パーサーの状態遷移やトークン発行のログが表示されるようになります。
```bash
RUST_LOG=debug cargo run -- html
```ログレベルを`trace`にすると、Tokenizerの各状態で検出した処理対象の文字も表示されるようになります。
```bash
RUST_LOG=trace cargo run -- html
````-- html`ではなく、`-- fast_html`とすると、高速化バージョンを実行できます。
### Maybe later...
- 古いDOCTYPE
- 文字参照
- コメント
- canvas、script、noscriptタグ
- styleタグ
- framesetタグ
- templateタグ
- searchタグ + form関連タグ
- SVG関連タグ
- MathML関連タグ## WIP: CSS Parser
現時点ではセレクタのパーサーしか実装されていません。
### 実行方法
次のコマンドで`src/main.rs`の`run_css`関数に定義されたサンプル動作を見ることができます。
```bash
cargo run -- css
```