{"id":27641449,"url":"https://github.com/std-microblock/cpp-reference-refined","last_synced_at":"2025-06-10T19:04:54.120Z","repository":{"id":261944685,"uuid":"885789821","full_name":"std-microblock/cpp-reference-refined","owner":"std-microblock","description":"Make cppreference.com Great Again.","archived":false,"fork":false,"pushed_at":"2024-11-16T12:40:06.000Z","size":53,"stargazers_count":43,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-23T23:48:06.934Z","etag":null,"topics":["cpp","cppreference","document"],"latest_commit_sha":null,"homepage":"https://cppref.microblock.cc/","language":"CSS","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/std-microblock.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"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}},"created_at":"2024-11-09T12:04:02.000Z","updated_at":"2025-04-12T08:59:25.000Z","dependencies_parsed_at":"2024-11-09T13:19:13.924Z","dependency_job_id":"2d650162-9b44-4a81-8b60-7120799fc9fd","html_url":"https://github.com/std-microblock/cpp-reference-refined","commit_stats":null,"previous_names":["std-microblock/cpp-reference-refined"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/std-microblock%2Fcpp-reference-refined","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/std-microblock%2Fcpp-reference-refined/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/std-microblock%2Fcpp-reference-refined/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/std-microblock%2Fcpp-reference-refined/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/std-microblock","download_url":"https://codeload.github.com/std-microblock/cpp-reference-refined/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250535098,"owners_count":21446505,"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":["cpp","cppreference","document"],"created_at":"2025-04-23T23:48:12.030Z","updated_at":"2025-04-23T23:48:12.546Z","avatar_url":"https://github.com/std-microblock.png","language":"CSS","readme":"\u003cdiv align=center\u003e\n\u003cimg width=70 src=https://cppref.microblock.cc/favicon.ico /\u003e\n\u003ch2\u003ecpp-reference-refined\u003c/h2\u003e\nMake cppreference.com great again.\n\u003cbr/\u003e\n  \u003ch3\u003e\n    \u003ca href=\"https://cppref.microblock.cc/\"\u003e\u0026gt; Try Now\u003c/a\u003e\n  \u003c/h3\u003e\n\u003ch3\u003e✨ Features\u003c/h3\u003e\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\n      \u003cimg height=140 src=https://github.com/user-attachments/assets/22a46e44-3d1c-4c38-86ea-031db8b01592 /\u003e\n    \u003c/td\u003e\n    \u003ctd\u003e\n      \u003cimg height=140 src=https://github.com/user-attachments/assets/0eef26c7-75fb-406c-afcd-a344bbd45cef /\u003e\n    \u003c/td\u003e\n    \u003ctd\u003e\n      \u003cimg width=150 src=https://github.com/user-attachments/assets/48c78e07-9f26-4fe3-b1fc-2fa07693b2d8 /\u003e\n    \u003c/td\u003e\n    \u003ctd\u003e\n      \u003cimg height=140 src=https://github.com/user-attachments/assets/b3d30bc7-54c2-406d-a9f0-d4557466a695 /\u003e\n    \u003c/td\u003e\n    \u003ctd\u003e\n      \u003cimg height=60 src=https://github.com/user-attachments/assets/7624c5f4-36c4-46e9-b330-3a91c2f2f9f7 /\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eDark Mode\u003c/td\u003e\n    \u003ctd\u003eMobile Adaption\u003c/td\u003e\n    \u003ctd\u003eSoft Syntax Highlight\u003c/td\u003e\n    \u003ctd\u003eAuto Language\u003c/td\u003e\n    \u003ctd\u003eShortcut\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n\u003c/div\u003e\n\n### Shortcuts\nYou can use links like [`cppref.microblock.cc/function`](//cppref.microblock.cc/function) to jump to corresponding page directly.\n\nThe matching logic follows three steps:\n\n1. **Complete Match:** The code first attempts a complete match for `xxx.html`. For example, if the user inputs `cstring.html`, the code tries to find `cstring.html`.  To facilitate matching, both the path and keyword are converted to lowercase, underscores are removed, and the `.html` extension is stripped.\n\n2. **Path Match:** If the complete match fails, the code attempts to match inputs like `cpp26` to paths like `cpp/26`. For instance, if the user inputs `cppstring`, the code tries to find `cpp/string`.\n\n3. **Partial Path Match:** If the previous two matches fail, the code attempts a partial path match. This is the most complex part, allowing users to input a combination of partial paths, such as matching `functionalfunction` to `cpp/functional/function.html`. It tries three matching strategies in decreasing order of priority:\n    * No jumps, must match to the end: e.g., `functionalfunction` matches `functional/function/function.html` or `functional/function.html`\n    * No jumps, doesn't have to match to the end: e.g., `someabc` matches `some/abc/function.html`\n    * Allows jumps, doesn't have to match to the end: e.g., `someabc` might match `some/xxxx/abc/yyyy.html`\n\n您可以使用类似 [`cppref.microblock.cc/function`](//cppref.microblock.cc/function) 的链接直接跳转到相应页面。\n\n匹配逻辑遵循三个步骤：\n\n1. **完全匹配：** 代码首先尝试完全匹配 `xxx.html`。例如，如果用户输入 `cstring.html`，代码会尝试查找 `cstring.html`。为了便于匹配，路径和关键字都会转换为小写，下划线会被移除，并且会去掉 `.html` 扩展名。\n\n2. **路径匹配：** 如果完全匹配失败，代码会尝试将类似 `cpp26` 的输入匹配到路径 `cpp/26`。例如，如果用户输入 `cppstring`，代码会尝试查找 `cpp/string`。\n\n3. **部分路径匹配：** 如果前两个匹配失败，代码会尝试进行部分路径匹配。这是最复杂的部分，允许用户输入部分路径的组合，例如将 `functionalfunction` 匹配到 `cpp/functional/function.html`。它按照优先级递减的顺序尝试三种匹配策略：\n    * 无跳转，必须匹配到末尾：例如，`functionalfunction` 匹配到 `functional/function/function.html` 或 `functional/function.html`\n    * 无跳转，不必匹配到末尾：例如，`someabc` 匹配到 `some/abc/function.html`\n    * 允许跳转，不必匹配到末尾：例如，`someabc` 可能匹配到 `some/xxxx/abc/yyyy.html`\n\n### Misc\n\n#### Generate index from local archive\n```bat\ndir /s /b /o:gn \u003e index.txt\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstd-microblock%2Fcpp-reference-refined","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstd-microblock%2Fcpp-reference-refined","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstd-microblock%2Fcpp-reference-refined/lists"}