{"id":13464743,"url":"https://github.com/rust-unofficial/patterns","last_synced_at":"2025-05-12T13:11:48.174Z","repository":{"id":37734518,"uuid":"44288083","full_name":"rust-unofficial/patterns","owner":"rust-unofficial","description":"A catalogue of Rust design patterns, anti-patterns and idioms","archived":false,"fork":false,"pushed_at":"2025-04-13T12:01:40.000Z","size":5292,"stargazers_count":8382,"open_issues_count":78,"forks_count":383,"subscribers_count":194,"default_branch":"main","last_synced_at":"2025-05-05T15:08:52.977Z","etag":null,"topics":["antipatterns","idioms","patterns","reference","rust","rust-lang"],"latest_commit_sha":null,"homepage":"https://rust-unofficial.github.io/patterns/","language":"Handlebars","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rust-unofficial.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","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,"zenodo":null}},"created_at":"2015-10-15T02:10:14.000Z","updated_at":"2025-05-05T14:51:55.000Z","dependencies_parsed_at":"2023-02-07T11:32:18.451Z","dependency_job_id":"7ff43b50-e1cb-4553-8335-a95d4573f33f","html_url":"https://github.com/rust-unofficial/patterns","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/rust-unofficial%2Fpatterns","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rust-unofficial%2Fpatterns/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rust-unofficial%2Fpatterns/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rust-unofficial%2Fpatterns/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rust-unofficial","download_url":"https://codeload.github.com/rust-unofficial/patterns/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253655955,"owners_count":21943081,"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":["antipatterns","idioms","patterns","reference","rust","rust-lang"],"created_at":"2024-07-31T14:00:49.621Z","updated_at":"2025-05-12T13:11:48.126Z","avatar_url":"https://github.com/rust-unofficial.png","language":"Handlebars","readme":"# Rust Design Patterns\n\nAn open source book about design patterns and idioms in the Rust programming\nlanguage that you can read [here](https://rust-unofficial.github.io/patterns/).\n\nYou can also download the book in PDF format from\n[this link](https://rust-unofficial.github.io/patterns/rust-design-patterns.pdf).\n\n## Contributing\n\nYou are missing content in this repository that can be helpful for others, and\nyou are eager to explain it? Awesome! We are always happy about new\ncontributions (e.g. elaboration or corrections on certain topics) to this\nproject.\n\nYou can check the\n[Umbrella issue](https://github.com/rust-unofficial/patterns/issues/116) for all\nthe patterns, anti-patterns, and idioms that could be added.\n\nWe suggest reading our [Contribution guide](./CONTRIBUTING.md) to get more\ninformation on how contributing to this repository works.\n\n## Building with mdbook\n\nThis book is built with [mdbook](https://rust-lang.github.io/mdBook/). You can\ninstall it by running `cargo install mdbook`.\n\n### Additional dependencies\n\n- `cargo install mdbook-last-changed` for date changes in the footer\n\n- `cargo install mdbook-pandoc` for rendering the book to PDF\n\n- `cargo install mdbook-i18n-helpers` for translation and i8n support\n\n#### Texlive\n\n```sh\n# Source the .env file to get the PANDOC_VERSION\n. ./.env\n\nsudo apt-get update\n\nsudo apt-get install -y texlive texlive-latex-extra texlive-luatex texlive-lang-cjk librsvg2-bin fonts-noto\n\ncurl -LsSf https://github.com/jgm/pandoc/releases/download/$PANDOC_VERSION/pandoc-$PANDOC_VERSION-linux-amd64.tar.gz | tar zxf -\n```\n\n### Building the book\n\nIf you want to build it locally you can run one of these two commands in the\nroot directory of the repository:\n\n- `mdbook build`\n\n  Builds static html pages as output and place them in the `/book` directory by\n  default.\n\n- `mdbook serve`\n\n  Serves the book at `http://localhost:3000` (port is changeable, take a look at\n  the terminal output to be sure) and reloads the browser when a change occurs.\n\n## License\n\nThe content of this repository is licensed under **MPL-2.0**; see\n[LICENSE](./LICENSE).\n","funding_links":[],"categories":["Handlebars","Resources","资源 Resources","Others","Shell","Rust 程序设计","Books","资源"],"sub_categories":["Web programming","网络编程 Web programming","网络服务_其他","web编程 Web programming","网页编程"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frust-unofficial%2Fpatterns","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frust-unofficial%2Fpatterns","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frust-unofficial%2Fpatterns/lists"}