{"id":13682617,"url":"https://github.com/iolivia/rust-sokoban","last_synced_at":"2025-04-04T07:08:26.772Z","repository":{"id":38007483,"uuid":"205927428","full_name":"iolivia/rust-sokoban","owner":"iolivia","description":"Rust Sokoban book and code samples","archived":false,"fork":false,"pushed_at":"2025-03-01T08:27:49.000Z","size":59349,"stargazers_count":162,"open_issues_count":7,"forks_count":34,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-03-28T06:09:06.517Z","etag":null,"topics":["rust","rust-lang","rust-language","sokoban","sokoban-game"],"latest_commit_sha":null,"homepage":"https://sokoban.iolivia.me","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/iolivia.png","metadata":{"files":{"readme":"README-zh_CN.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-09-02T19:56:57.000Z","updated_at":"2025-03-21T21:00:15.000Z","dependencies_parsed_at":"2025-01-18T20:02:10.493Z","dependency_job_id":null,"html_url":"https://github.com/iolivia/rust-sokoban","commit_stats":{"total_commits":204,"total_committers":21,"mean_commits":9.714285714285714,"dds":0.4950980392156863,"last_synced_commit":"5bb339800377d29ba72849a587fb629b982a48a6"},"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iolivia%2Frust-sokoban","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iolivia%2Frust-sokoban/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iolivia%2Frust-sokoban/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iolivia%2Frust-sokoban/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/iolivia","download_url":"https://codeload.github.com/iolivia/rust-sokoban/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247135144,"owners_count":20889421,"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":["rust","rust-lang","rust-language","sokoban","sokoban-game"],"created_at":"2024-08-02T13:01:49.736Z","updated_at":"2025-04-04T07:08:26.753Z","avatar_url":"https://github.com/iolivia.png","language":"Rust","funding_links":[],"categories":["Rust"],"sub_categories":[],"readme":"[![Code-samples-compile](https://github.com/iolivia/rust-sokoban/workflows/Code-samples-compile/badge.svg)](https://github.com/iolivia/rust-sokoban/actions?query=workflow%3ACode-samples-compile)\n\n[English](README.md)\n\n# [Rust编写推箱子游戏教程](https://sokoban.iolivia.me)\n\n## :dart: 这是什么?\n\n这里是使用[mdbook](https://github.com/rust-lang/mdBook)创建的《Rust编写推箱子游戏》教程和相关代码。想在线阅读下？ 好嘞，给您安排，点这里[sokoban.iolivia.me](https://sokoban.iolivia.me)。\n\n\u003cimg src=\"readme.gif\" width=\"80%\"\u003e\n\n## :running: 怎么做?\n\n### 想在自己的电脑上阅读?\n\n正如上面介绍，本教程使用`mdbook`编写，所以如果需要在本机浏览阅读本教程需要先安装`mdbook`,可以使用cargo安装，就像这个样子：\n\n```bash\ncargo install mdbook\n```\n\n更多安装方式可以参考[mdbook](https://github.com/rust-lang/mdBook)。\n\n安装成功后就可以把项目clone到本机并启动`mdbook serve`：\n\n```bash\ngit clone  git@github.com:iolivia/rust-sokoban.git  \ncd rust-cokoban\nmdbook serve\n```\n\n启动成功后就可以打开浏览器访问\u003chttp://localhost:3000/开始阅读本教程了。\u003e\n\n### 运行教程代码\n\n可以像这个样子运行教程中的代码:\n\n```\ncd code/rust-sokoban-c01-01\ncargo run --release\n```\n\n## :muscle: 欢迎参与贡献\n\n### 新增章节\n\n你可以通过为本教程新增章节的方式对本项目做出贡献。\n\n新增章节的方式：\n\n1. 复制最近的章节目录`code/rust-sokoban-x` 到  `code/rust-sokoban-x+1`\n1. 在新创建的目录中编写你想添加的内容。请尽量保证章节间独立并容易理解掌握\n1. 确保代码是正确的（最好连警告也没有）\n1. 把新增的内容添加到 `src/SUMMARY.md` 中 - markdown文件名格式最好遵循 `cxx-yy-text.md`这个样式.\n1. 使用markdown文件的格式编写指向 `code/rust-sokoban-x+1` 文件夹的链接\n1. 在章节的后面还可以添加一个`gif`格式的图片，用于展示。可以录屏然后转换为`gif`格式(我是使用的ffmpeg:`ffmpeg -i Screen_Recording.mov -r 60 -f gif - \u003e moves.gif` )。\n1. 如果你想展示文件目录列表可以使用`tree --dirsfirst -I target`\n1. 最后发起一个合并请求 ​，​然后​就​可以​等着:clap: :tada:\n\n### 问题反馈\n\n你也可以通过提出问题和改进意见的方式支持本项目。在创建新的issue前请先浏览下issue列表以免重复提交.\n\n## :car: 开源协议\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiolivia%2Frust-sokoban","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fiolivia%2Frust-sokoban","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiolivia%2Frust-sokoban/lists"}