{"id":13817746,"url":"https://github.com/chinanf-boy/robinson-zh","last_synced_at":"2025-03-20T14:30:43.631Z","repository":{"id":90548503,"uuid":"140787181","full_name":"chinanf-boy/robinson-zh","owner":"chinanf-boy","description":"🇨🇳翻译+explain: 使用 rsut 构建自己的浏览器渲染引擎 ❤️ 校对 ✅","archived":false,"fork":false,"pushed_at":"2019-03-29T04:52:52.000Z","size":92,"stargazers_count":8,"open_issues_count":0,"forks_count":0,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-03-01T00:20:20.559Z","etag":null,"topics":["explain","rust","toy","web","zh"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/chinanf-boy.png","metadata":{"files":{"readme":"README.zh.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2018-07-13T02:32:24.000Z","updated_at":"2024-12-01T12:18:29.000Z","dependencies_parsed_at":null,"dependency_job_id":"9279fa06-dee2-4cf2-9a86-1b612b1fae88","html_url":"https://github.com/chinanf-boy/robinson-zh","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chinanf-boy%2Frobinson-zh","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chinanf-boy%2Frobinson-zh/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chinanf-boy%2Frobinson-zh/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chinanf-boy%2Frobinson-zh/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chinanf-boy","download_url":"https://codeload.github.com/chinanf-boy/robinson-zh/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244075595,"owners_count":20393979,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["explain","rust","toy","web","zh"],"created_at":"2024-08-04T06:00:54.638Z","updated_at":"2025-03-20T14:30:41.514Z","avatar_url":"https://github.com/chinanf-boy.png","language":null,"funding_links":[],"categories":["Others"],"sub_categories":[],"readme":"\n# 罗宾逊\n\n由Rust语言编写的玩具 - 网络渲染引擎,由 Matt Brubeck (mbrubeck@limpet.net) 撰写. \n\n我写的这段代码纯粹是出于教育目的. 我的目标是创建一个不完整但非常简单的引擎,作为了解更多基本实现技术的方法,*无需*担心的并发症如: \n\n-   \u003cs\u003e现实世界的可用性\u003c/s\u003e\n-   \u003cs\u003e符合标准\u003c/s\u003e\n-   \u003cs\u003e性能和效率\u003c/s\u003e\n-   \u003cs\u003e互通性\u003c/s\u003e\n\n这些都是重要的目标,但还有其他项目在研究它们. 通过完全忽略它们,该项目可以专注于尽可能简单易懂. \n\n为什么要创建一个简单但无用的玩具渲染引擎? 主要是因为我个人想学习如何做到这一点. 如果我成功了,我也希望其他人可以通过 阅读或修改代码 来学习我的代码,或者在他们开始构建自己的玩具浏览器引擎时 学习我的经验. \n\n有关详细信息,请参阅[ Let's build a browser engine!, `en`][blog],基于这个项目的一系列`how-to`文章. \n\n[blog]: http://limpet.net0.zh.md\n\n或者 [让我们构建一个浏览器引擎! 中文 - ./0.zh.md](./0.zh.md)\n\n## 状态\n\n目前实现: \n\n-   解析一小部分HTML,并构建DOM树. \n-   解析一小部分CSS. \n-   执行 选择器-selector匹配 将样式应用于元素. \n-   基本块布局. \n\n很快,我希望: \n\n-   内联布局. \n-   绘制文本和框. \n-   从网络或文件系统加载资源. \n\n## 说明\n\n1.  [安装Rust 1.0 beta 或 更新版本. ](http://www.rust-lang.org/install.html)\n\n2.  克隆robinson源代码\u003chttps://github.com/mbrubeck/robinson\u003e\n\n3.  用`cargo build`建立鲁宾逊,和`cargo run`运行它. \n\n要在启用优化的情况下构建和运行,请使用`cargo build --release`和`cargo run --release`. \n\n默认情况下,robinson将从`examples`目录中加载test.html和test.css. 你可以使用`--html`和`--css`robinson可执行文件的参数 更改输入文件: \n\n    ./target/debug/robinson --html examples/test.html --css examples/test.css\n\n渲染的页面将保存到名为`output.png`的文件中. 要更改输出文件名,请使用`-o`选项. 要切换到PDF输出,请使用`--format pdf`. \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchinanf-boy%2Frobinson-zh","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchinanf-boy%2Frobinson-zh","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchinanf-boy%2Frobinson-zh/lists"}