diff --git a/content/_index.yaml b/content/_index.yaml new file mode 100644 index 0000000..c49e739 --- /dev/null +++ b/content/_index.yaml @@ -0,0 +1,73 @@ +$schema: ../schemas/pages/article.json +title: '' +navigation: +- label: Communities + path: /communities/ +- label: Events + path: /events/ +- label: Blogs + path: /blogs/ +- label: YouTube + path: /youtube/ +- label: Resources + path: /resources/ +- label: Ecosystem + path: /ecosystem/ +- label: Packages + path: /packages/ +- label: Standardization + path: /standardization/ +footer: +- label: Contributing + path: /contributing/ +- label: About + path: /about/ +home_cards: + - type: home_card + title: Communities + description: Join C++ Discord servers, Reddit communities, IRC channels, forums, Slack workspaces and more + path: /communities/ + icon: 👥 + cta: Explore Communities + - type: home_card + title: Events + description: Discover major C++ conferences, user group meetups, standard committee meetings and virtual events happening around the world + path: /events/ + icon: 📅 + cta: View Events + - type: home_card + title: Blogs + description: Read the latest posts from renowned C++ experts and community voices. Stay informed about modern C++ practices and tricks + path: /blogs/ + icon: 📝 + cta: Read Blogs + - type: home_card + title: YouTube Channels + description: Watch tutorials, talks and educational content from C++ educators and conferences + path: /youtube/ + icon: 📺 + cta: Watch Videos + - type: home_card + title: Resources + description: Find general resources, documentation, books and tutorials + path: /resources/ + icon: 📚 + cta: Explore Resources + - type: home_card + title: Standardization + description: Learn how the sausage is made! + path: /standardization/ + icon: ⚙️ + cta: Learn More + - type: home_card + title: Ecosystem + description: Explore C++'s vast ecosystem of compilers, standard library implementations, package managers, build systems and more + path: /ecosystem/ + icon: 🌐 + cta: Explore Ecosystem + - type: home_card + title: Packages + description: Discover C++ libraries for various purposes across package managers + path: /packages/ + icon: 📦 + cta: Discover Packages diff --git a/content/about/_index.yaml b/content/about/_index.yaml new file mode 100644 index 0000000..adbe534 --- /dev/null +++ b/content/about/_index.yaml @@ -0,0 +1,6 @@ +$schema: ../../schemas/pages/page.json +title: About this site +description: "" +body: + - type: markdown + content: !include about.md diff --git a/content/about/about.md b/content/about/about.md new file mode 100644 index 0000000..d84aa8e --- /dev/null +++ b/content/about/about.md @@ -0,0 +1,3 @@ +[cpp.social](https://cpp.social) is a community-driven resource aggregator. All content on this website is managed in a [git repository](https://github.com/cpp-social/site) or automatically retrieved from configured sources. + +The list of current maintainers and content curators can be found in [MAINTAINERS.md](https://github.com/cppsocial/site/blob/master/MAINTAINERS.md). \ No newline at end of file diff --git a/content/blogs/_index.yaml b/content/blogs/_index.yaml new file mode 100644 index 0000000..074b37b --- /dev/null +++ b/content/blogs/_index.yaml @@ -0,0 +1,21 @@ +$schema: ../../schemas/blogs/index.json +title: Blogs +description: Articles by renowned C++ experts and community voices +provenance: !import '../../data/blogs/provenance.yaml' +search_placeholder: Search blogs... +advanced_search: true +search_fields: + title: Title + content: Content + source: Blog + tags: Tag +search_categories: + posts: Latest posts + blogs: Blog sources +search_date_range: true +search_relevance_filter: false +cpp_relevance_threshold: 0.5 +sources: !import 'sources.yaml' +blog_metadata: !import '../../data/blogs/metadata.yaml' +post_cache: !import '../../data/blogs/post-cache.yaml' +latest_rows: 1 diff --git a/content/blogs/sources.yaml b/content/blogs/sources.yaml new file mode 100644 index 0000000..679dda9 --- /dev/null +++ b/content/blogs/sources.yaml @@ -0,0 +1,81 @@ +- id: barrys_cpp_blog + title: Barry's C++ Blog + author: Barry Revzin + website_url: https://brevzin.github.io/ + rss_url: https://brevzin.github.io/feed.xml +- id: cpp_stories + title: C++ Stories + author: Bartłomiej Filipek + website_url: https://www.cppstories.com/ + rss_url: https://www.cppstories.com/index.xml +- id: modernes_cpp + title: Modernes C++ + author: Rainer Grimm and contributors + website_url: https://www.modernescpp.com/ + rss_url: https://www.modernescpp.com/index.php/feed/ +- id: quuxplusone + title: Arthur O'Dwyer's Blog + author: Arthur O'Dwyer + website_url: https://quuxplusone.github.io/blog/ + rss_url: https://quuxplusone.github.io/blog/feed.xml + exclude_tags: + - poetry + - puzzles + - crosswords + - etymology + - us-politics + - morality + - adventure +- id: sandor_dargo + title: Sandor Dargo's Blog + author: Sandor Dargo + website_url: https://www.sandordargo.com/ + rss_url: https://www.sandordargo.com/feed.xml +- id: vector_of_bool + title: Vector of Bool + website_url: https://vector-of-bool.github.io/ + rss_url: https://vector-of-bool.github.io/feed.xml +- id: pydong + title: Pydong + author: Matthias Wippich + website_url: https://pydong.org + rss_url: https://pydong.org/feed.xml +- id: oldnewthing + title: The Old New Thing + author: Raymond Chen + website_url: https://devblogs.microsoft.com/oldnewthing/ + rss_url: https://devblogs.microsoft.com/oldnewthing/feed +- id: aaronballmanblog + title: Aaron Ballman's Blog # not the actual blog's title, but that makes it clearer + author: Aaron Ballman + website_url: https://blog.aaronballman.com/ + rss_url: https://blog.aaronballman.com/?feed=rss +- id: d34df00d + title: 0xd34df00d.me + website_url: https://0xd34df00d.me/ + rss_url: https://0xd34df00d.me/rss.xml +- id: cor3ntin + title: cor3ntin's blog + author: Corentin Jabot + description: cor3ntin's blog + website_url: https://cor3ntin.github.io/ + rss_url: https://cor3ntin.github.io/index.xml +- id: fluentcpp + title: Fluent C++ + author: Jonathan Boccara + website_url: https://www.fluentcpp.com/ + rss_url: https://www.fluentcpp.com/feed/ +- id: herbsutter + title: Sutter's Mill + author: Herb Sutter + website_url: https://herbsutter.com/ + rss_url: https://herbsutter.com/feed +- id: ryankeane + title: Ryan Keane's Blog + author: Ryan Keane + website_url: https://ryanjk5.github.io/ + rss_url: https://ryanjk5.github.io/feed.xml +- id: friedkeenan + title: fried-blog + website_url: https://friedkeenan.github.io/ + rss_url: https://friedkeenan.github.io/feed.xml diff --git a/content/communities/_index.yaml b/content/communities/_index.yaml new file mode 100644 index 0000000..cad4669 --- /dev/null +++ b/content/communities/_index.yaml @@ -0,0 +1,10 @@ +$schema: ../../schemas/pages/communities.json +title: Communities +description: Connect with C++ communities around the world +provenance: !import '../../data/communities/provenance.yaml' +searchable: true +search_placeholder: Search communities... +community_metadata: !import '../../data/communities/metadata.yaml' +body: + - !import 'im.yaml' + - !import 'forums.yaml' diff --git a/content/communities/forums.yaml b/content/communities/forums.yaml new file mode 100644 index 0000000..98a581f --- /dev/null +++ b/content/communities/forums.yaml @@ -0,0 +1,48 @@ +$schema: ../../schemas/blocks/card-group.json +type: card_group +title: Forums and Q&A +description: Searchable, asynchronous discussions and answers +randomize: true +cards: + - type: community_card + community_id: reddit-cpp + title: r/cpp + platform: reddit + path: https://www.reddit.com/r/cpp/ + description: C++ news, articles, proposals, and technical discussion. + metadata: {source: reddit, key: cpp} + - type: community_card + community_id: reddit-cpp-questions + title: r/cpp_questions + platform: reddit + path: https://www.reddit.com/r/cpp_questions/ + description: Questions and answers for C++ programmers at all experience levels. + metadata: {source: reddit, key: cpp_questions} + - type: community_card + community_id: reddit-cplusplus + title: r/Cplusplus + platform: reddit + path: https://www.reddit.com/r/Cplusplus/ + description: General C++ discussion, projects, and programming questions. + metadata: {source: reddit, key: Cplusplus} + - type: community_card + community_id: stack-overflow-cpp + title: Stack Overflow — C++ + platform: forum + path: https://stackoverflow.com/questions/tagged/c%2b%2b + description: Technical questions and answers carrying the C++ tag. + metadata: {source: stackoverflow, key: c%2B%2B} + - type: community_card + community_id: llvm-discourse + title: LLVM Discourse + platform: forum + path: https://discourse.llvm.org/ + description: Public design discussions, questions, RFCs, and project announcements for LLVM and Clang. + metadata: {source: web, key: https://discourse.llvm.org/} + - type: community_card + community_id: cplusplus-forum + title: cplusplus.com Forum + platform: forum + path: https://cplusplus.com/forum/ + description: A traditional forum with beginner, general, Windows, and Unix C++ sections. + metadata: {source: web, key: https://cplusplus.com/forum/} diff --git a/content/communities/im.yaml b/content/communities/im.yaml new file mode 100644 index 0000000..92a0394 --- /dev/null +++ b/content/communities/im.yaml @@ -0,0 +1,50 @@ +$schema: ../../schemas/blocks/card-group.json +type: card_group +title: Instant messaging and chat +description: Real-time conversation, questions, and community coordination +randomize: true +cards: + - type: community_card + community_id: better-cpp + title: Better C++ + platform: discord + description: A welcoming C++ community for all skill levels - ask questions, share knowledge, and discuss everything C++. + path: https://discord.gg/YWfdM2tctt + metadata: {source: discord, key: YWfdM2tctt} + - type: community_card + community_id: cpp-discord + title: C++ + platform: discord + path: https://discord.gg/uxuWKB2aNe + metadata: {source: discord, key: uxuWKB2aNe} + - type: community_card + community_id: include-cpp + title: "#include " + platform: discord + path: https://discord.gg/vSYgpmPrra + metadata: {source: discord, key: vSYgpmPrra} + - type: community_card + community_id: llvm-discord + title: LLVM Discord + platform: discord + path: https://discord.gg/2kQU7PCuys + metadata: {source: discord, key: 2kQU7PCuys} + - type: community_card + community_id: cpplang-slack + title: C++ Language Slack + platform: slack + path: https://cppalliance.org/slack/ + description: A large multi-channel C++ workspace operated by the C++ Alliance. + metadata: {source: web, key: https://cppalliance.org/slack/} + - type: community_card + community_id: libera-cpp + title: "#c++ on Libera.Chat" + platform: irc + path: https://web.libera.chat/#c++ + description: A long-running IRC channel for C++ discussion and help. + metadata: {source: web, key: https://libera.chat/} + links: + - label: Open web chat + path: https://web.libera.chat/#c++ + - label: Connection guide + path: https://libera.chat/guides/connect diff --git a/content/contributing/_index.yaml b/content/contributing/_index.yaml new file mode 100644 index 0000000..1bde40c --- /dev/null +++ b/content/contributing/_index.yaml @@ -0,0 +1,6 @@ +$schema: ../../schemas/pages/page.json +title: Contributing +description: Suggest a resource, correct an entry, or improve cpp.social in other ways +body: + - type: markdown + content: !include contributing.md \ No newline at end of file diff --git a/content/contributing/contributing.md b/content/contributing/contributing.md new file mode 100644 index 0000000..e69de29 diff --git a/content/ecosystem/_index.yaml b/content/ecosystem/_index.yaml new file mode 100644 index 0000000..148614d --- /dev/null +++ b/content/ecosystem/_index.yaml @@ -0,0 +1,10 @@ +$schema: ../../schemas/pages/page.json +title: Ecosystem +description: Resources for the vast ecosystem behind C++ +searchable: true +search_placeholder: Search ecosystem... +body: + - !import 'compilers.yaml' + - !import 'libraries.yaml' + - !import 'packages.yaml' + - !import 'builds.yaml' diff --git a/content/ecosystem/builds.yaml b/content/ecosystem/builds.yaml new file mode 100644 index 0000000..edc52d5 --- /dev/null +++ b/content/ecosystem/builds.yaml @@ -0,0 +1,158 @@ +$schema: ../../schemas/blocks/card-group.json +type: card_group +title: Build systems and generators +description: Tools for building C++ projects and managing build configurations +cards: +- type: card + title: CMake + path: https://cmake.org/ + icon: https://cdn.simpleicons.org/cmake + description: Cross-platform tool that generates native build systems and provides configuration, testing, packaging, and installation workflows. + metadata: {License: BSD-3-Clause} + links: + - {label: Documentation, path: https://cmake.org/documentation/} + - {label: Issues, path: https://gitlab.kitware.com/cmake/cmake/-/issues} + - {label: Source, path: https://gitlab.kitware.com/cmake/cmake} +- type: card + title: GNU Make + path: https://www.gnu.org/software/make/ + icon: https://cdn.simpleicons.org/gnu + description: Rule-based build automation tool that updates files from declared targets, prerequisites, and recipes. + metadata: {License: GPL-3.0+} + links: + - {label: Manual, path: https://www.gnu.org/software/make/manual/} + - {label: Source, path: "https://savannah.gnu.org/git/?group=make"} +- type: card + title: Ninja + path: https://ninja-build.org/ + description: Minimal, high-speed build executor designed to consume files generated by CMake, Meson, and similar tools. + metadata: {License: Apache-2.0} + links: + - {label: Manual, path: https://ninja-build.org/manual.html} + - {label: Issues, path: https://github.com/ninja-build/ninja/issues} + - {label: Source, path: https://github.com/ninja-build/ninja} +- type: card + title: Meson + path: https://mesonbuild.com/ + description: Opinionated cross-platform build system with concise definitions, strong defaults, and Ninja as its usual backend. + metadata: {License: Apache-2.0} + links: + - {label: Documentation, path: https://mesonbuild.com/Manual.html} + - {label: Issues, path: https://github.com/mesonbuild/meson/issues} + - {label: Source, path: https://github.com/mesonbuild/meson} +- type: card + title: Bazel + path: https://bazel.build/ + icon: https://cdn.simpleicons.org/bazel + description: Hermetic, cache-aware build and test system aimed at large, multi-language monorepos. + metadata: {License: Apache-2.0} + links: + - {label: C++ guide, path: https://bazel.build/start/cpp} + - {label: Issues, path: https://github.com/bazelbuild/bazel/issues} + - {label: Source, path: https://github.com/bazelbuild/bazel} +- type: card + title: SCons + path: https://scons.org/ + description: Python-scripted build system with automatic dependency analysis and cross-platform support. + metadata: {License: MIT} + links: + - {label: Documentation, path: https://scons.org/documentation.html} + - {label: Issues, path: https://github.com/SCons/scons/issues} + - {label: Source, path: https://github.com/SCons/scons} +- type: card + title: qmake + path: https://doc.qt.io/qt-5/qmake-manual.html + icon: https://cdn.simpleicons.org/qt + description: Qt's legacy project generator, retained for existing projects while new Qt projects generally use CMake. + metadata: {Status: Legacy} + links: + - {label: Documentation, path: https://doc.qt.io/qt-6/qmake-manual.html} + - {label: Source, path: https://code.qt.io/cgit/qt/qtbase.git/tree/qmake} +- type: card + title: GNU Autotools + path: https://www.gnu.org/software/autoconf/ + description: Suite of Autoconf, Automake, and Libtool for producing portable source packages and configure-driven builds. + metadata: {License: "GPL licenses vary by component"} + links: + - {label: Autoconf, path: https://www.gnu.org/software/autoconf/} + - {label: Automake, path: https://www.gnu.org/software/automake/} + - {label: Libtool, path: https://www.gnu.org/software/libtool/} +- type: card + title: Buck2 + path: https://buck.build/ + description: Meta's open-source, extensible build system for fast, reproducible builds across large multi-language codebases. + metadata: {License: Apache-2.0 OR MIT} + links: + - {label: Documentation, path: https://buck2.build/docs/} + - {label: Issues, path: https://github.com/facebook/buck2/issues} + - {label: Source, path: https://github.com/facebook/buck2} +- type: card + title: Gradle C++ + path: https://docs.gradle.org/current/userguide/building_cpp_projects.html + description: Gradle's C++ application and library plugins provide variant-aware compilation, linking, testing, and dependency management. + metadata: {License: Apache-2.0} + links: + - {label: C++ application plugin, path: https://docs.gradle.org/current/userguide/cpp_application_plugin.html} + - {label: C++ library plugin, path: https://docs.gradle.org/current/userguide/cpp_library_plugin.html} + - {label: Source, path: https://github.com/gradle/gradle} +- type: card + title: Xcode Build System + path: https://developer.apple.com/documentation/xcode/build-system + description: Xcode's integrated system for compiling and linking code, processing resources, and assembling products for Apple platforms. + links: + - {label: Build settings reference, path: https://developer.apple.com/documentation/xcode/build-settings-reference} +- type: card + title: Visual Studio Build Tools + path: https://visualstudio.microsoft.com/downloads/#build-tools-for-visual-studio-2022 + description: Standalone command-line toolchain for Visual Studio projects, including optional MSVC C++ compilers, libraries, and Windows SDKs. + metadata: {License: Proprietary, Platform: Windows} + links: + - {label: C++ command-line builds, path: "https://learn.microsoft.com/en-us/cpp/build/building-on-the-command-line?view=msvc-170"} +- type: card + title: MSBuild + path: https://learn.microsoft.com/en-us/visualstudio/msbuild/msbuild + description: Microsoft's extensible build platform and project-file format, used by Visual Studio for C++ and other project types. + metadata: {License: MIT, Best for: Visual Studio projects} + links: + - {label: C++ walkthrough, path: "https://learn.microsoft.com/en-us/cpp/build/walkthrough-using-msbuild-to-create-a-visual-cpp-project?view=msvc-170"} + - {label: Source, path: https://github.com/dotnet/msbuild} +- type: card + title: Xmake + path: https://xmake.io/ + description: Lua-based cross-platform C/C++ build utility combining direct builds, project generation, and package integration. + metadata: {License: Apache-2.0} + links: + - {label: Documentation, path: https://xmake.io/#/guide/installation} + - {label: Source, path: https://github.com/xmake-io/xmake} +- type: card + title: Premake + path: https://premake.github.io/ + description: Lua-scripted project generator for toolchains and IDEs including Visual Studio, Xcode, and GNU Make. + metadata: {License: BSD-3-Clause} + links: + - {label: Documentation, path: https://premake.github.io/docs/} + - {label: Source, path: https://github.com/premake/premake-core} +- type: card + title: build2 + path: https://build2.org/ + description: Cross-platform C/C++ build and package toolchain designed around an integrated, Cargo-like development workflow. + metadata: {License: MIT} + links: + - {label: Documentation, path: https://build2.org/doc.xhtml} + - {label: Source, path: https://github.com/build2} +- type: card + title: GN + path: https://gn.googlesource.com/gn/ + description: Meta-build system that generates Ninja files, designed primarily for large projects with relatively uniform build conventions. + metadata: {License: BSD-3-Clause} + links: + - {label: Documentation, path: https://gn.googlesource.com/gn/+/main/docs/} + - {label: Source, path: https://gn.googlesource.com/gn/} +- type: card + title: B2 + path: https://www.bfgroup.xyz/b2/ + description: Portable C++ build system descended from Boost.Build, with declarative Jamfiles and strong multi-variant build support. + metadata: {License: BSL-1.0} + links: + - {label: Documentation, path: https://www.bfgroup.xyz/b2/manual/release/index.html} + - {label: Source, path: https://github.com/bfgroup/b2} diff --git a/content/ecosystem/compilers.yaml b/content/ecosystem/compilers.yaml new file mode 100644 index 0000000..9ed4bfd --- /dev/null +++ b/content/ecosystem/compilers.yaml @@ -0,0 +1,135 @@ +$schema: ../../schemas/blocks/card-group.json +type: card_group +title: C++ Compilers and Toolchains +description: Popular C++ compilers, compiler front ends, and toolchains across desktop, embedded and WebAssembly targets +cards: +- type: card + title: GCC + path: https://gcc.gnu.org/ + icon: https://cdn.simpleicons.org/gnu + description: Mature open-source compiler collection with broad architecture and operating-system support and the libstdc++ C++ standard library. + metadata: {License: "GPL-3.0-or-later; runtime libraries use the GCC Runtime Library Exception", Targets: "Many architectures and operating systems"} + links: + - {label: Documentation, path: https://gcc.gnu.org/onlinedocs/} + - {label: Bugs, path: https://gcc.gnu.org/bugzilla/} + - {label: Source, path: https://gcc.gnu.org/git.html} +- type: card + title: Clang + path: https://clang.llvm.org/ + icon: https://cdn.simpleicons.org/llvm + description: LLVM's modular C-family compiler, known for diagnostics, tooling libraries, sanitizers, and broad cross-platform support. + metadata: {License: "Apache-2.0 WITH LLVM-exception", Targets: "Linux · macOS · Windows · many others"} + links: + - {label: Documentation, path: https://clang.llvm.org/docs/} + - {label: Issues, path: https://github.com/llvm/llvm-project/issues} + - {label: Source, path: https://github.com/llvm/llvm-project/tree/main/clang} +- type: card + title: MSVC + path: https://visualstudio.microsoft.com/vs/features/cplusplus/ + description: Microsoft's production C++ toolchain for Windows, integrated with Visual Studio and also available as standalone Build Tools. + metadata: {License: Proprietary, Targets: "Windows (x86, x64, Arm64)"} + links: + - {label: Documentation, path: https://learn.microsoft.com/en-us/cpp/} + - {label: Issues, path: https://developercommunity.visualstudio.com/cpp} + - {label: Conformance, path: https://learn.microsoft.com/en-us/cpp/overview/visual-cpp-language-conformance} +- type: card + title: Intel oneAPI DPC++/C++ Compiler + path: https://www.intel.com/content/www/us/en/developer/tools/oneapi/dpc-compiler.html + description: LLVM-based C++ compiler with SYCL and OpenMP offload support, optimized for Intel CPUs and GPUs. + metadata: {License: "Intel software EULA", Targets: "Linux · Windows; x86-64 CPUs · Intel GPUs"} + links: + - {label: Documentation, path: https://www.intel.com/content/www/us/en/developer/tools/oneapi/dpc-compiler-documentation.html} + - {label: Release notes, path: https://www.intel.com/content/www/us/en/developer/articles/release-notes/oneapi-dpcpp/2026.html} +- type: card + title: Embarcadero C++Builder + path: https://www.embarcadero.com/products/cbuilder + description: Windows C++ IDE and toolchain whose recommended modern Win64 compiler is based on Clang/LLVM. + metadata: {License: Proprietary, Targets: "Windows"} + links: + - {label: Compiler documentation, path: https://docwiki.embarcadero.com/RADStudio/Florence/en/Clang-enhanced_C%2B%2B_Compilers} + - {label: Modern Win64 compiler, path: https://docwiki.embarcadero.com/RADStudio/Florence/en/BCC64X} +- type: card + title: MinGW-w64 + path: https://mingw-w64.org/ + description: Windows development environment providing Win32 headers, import libraries, and runtime components used by GCC and LLVM toolchains. + metadata: {License: "Multiple open-source licenses", Targets: "Windows x86 · x64 · ARM64"} + links: + - {label: Getting started with MSYS2, path: https://www.mingw-w64.org/getting-started/msys2/} + - {label: Bugs, path: https://sourceforge.net/p/mingw-w64/bugs/} + - {label: Source, path: https://www.mingw-w64.org/source/} +- type: card + title: Emscripten + path: https://emscripten.org/ + icon: https://cdn.simpleicons.org/webassembly + description: LLVM-based toolchain that compiles C and C++ to WebAssembly for the web, Node.js, and standalone WebAssembly environments. + metadata: {License: "MIT OR NCSA", Targets: "WebAssembly"} + links: + - {label: Documentation, path: https://emscripten.org/docs/} + - {label: Issues, path: https://github.com/emscripten-core/emscripten/issues} + - {label: Source, path: https://github.com/emscripten-core/emscripten} + - {label: License, path: https://emscripten.org/docs/introducing_emscripten/emscripten_license.html} +- type: card + title: clang-cl + path: https://clang.llvm.org/docs/UsersManual.html#clang-cl + description: MSVC-compatible command-line interface to Clang, designed to accept cl.exe-style options and integrate with Visual Studio and MSBuild toolchains. + metadata: {License: "Apache-2.0 WITH LLVM-exception", Targets: "Windows / MSVC-compatible environments"} + links: + - {label: User manual, path: https://clang.llvm.org/docs/UsersManual.html#clang-cl} + - {label: MSVC compatibility, path: https://clang.llvm.org/docs/MSVCCompatibility.html} +- type: card + title: Apple Clang + path: https://developer.apple.com/xcode/cpp/ + description: Apple's Clang-based C++ compiler included with Xcode, paired with libc++ and regularly updated for Apple platforms. + metadata: {Targets: "Apple platforms"} + links: + - {label: C++ language support, path: https://developer.apple.com/xcode/cpp/} + - {label: Xcode, path: https://developer.apple.com/xcode/} +- type: card + title: EDG C++ Front End + path: https://www.edg.com/c + description: Commercial, configurable C and C++ compiler front end intended for integration into compilers, source-analysis tools, and other language-processing products. + metadata: {License: Commercial, Targets: "Configurable host and target environments"} + links: + - {label: Language support, path: https://www.edg.com/c/features} +- type: card + title: Green Hills C/C++ Compiler + path: https://www.ghs.com/products/compiler.html + description: Commercial optimizing C/C++ compiler family for embedded and real-time systems, with support for a wide range of processor architectures. + metadata: {License: Commercial, Targets: "Arm · RISC-V · Power Architecture · x86/x64 · RH850 · TriCore · MIPS · 68K/ColdFire"} + links: + - {label: Compiler overview, path: https://www.ghs.com/products/compiler.html} + - {label: MULTI IDE, path: https://www.ghs.com/products/MULTI_IDE.html} +- type: card + title: nvcc (NVIDIA CUDA Compiler) + path: https://developer.nvidia.com/cuda-toolkit + icon: https://cdn.simpleicons.org/nvidia + description: CUDA compiler driver that separates GPU device code from host C++ code, invokes NVIDIA's device compiler, and coordinates a supported host compiler. + metadata: {License: "NVIDIA CUDA Toolkit EULA", Targets: "NVIDIA GPUs"} + links: + - {label: nvcc documentation, path: https://docs.nvidia.com/cuda/cuda-compiler-driver-nvcc/} + - {label: CUDA C++ Programming Guide, path: https://docs.nvidia.com/cuda/cuda-programming-guide/} + - {label: License, path: https://docs.nvidia.com/cuda/eula/index.html} +- type: card + title: AMD Optimizing C/C++ Compiler (AOCC) + path: https://www.amd.com/en/developer/aocc.html + description: LLVM/Clang-based optimizing C and C++ compiler for x86 targets, with optimizations focused on AMD Zen processors. + metadata: {Targets: "Linux · x86/x86-64"} + links: + - {label: Documentation, path: https://docs.amd.com/r/en-US/57222-AOCC-user-guide/Introduction} + - {label: Release notes, path: https://docs.amd.com/r/en-US/63854-AOCC-release-notes} +- type: card + title: IAR C/C++ Compiler + path: https://www.iar.com/embedded-development-tools/iar-embedded-workbench + description: Commercial optimizing C/C++ compiler family for embedded development, integrated with IAR Embedded Workbench and Build Tools. + metadata: {Targets: "Arm · RISC-V · AVR · MSP430 · Renesas · others"} + links: + - {label: Build Tools, path: https://www.iar.com/embedded-development-tools/iar-build-tools} +- type: card + title: NVC++ (NVIDIA HPC SDK) + path: https://docs.nvidia.com/hpc-sdk/ + icon: https://cdn.simpleicons.org/nvidia + description: NVIDIA HPC C++ compiler supporting multicore CPUs and NVIDIA GPUs through standard C++ parallelism, OpenACC, and OpenMP. + metadata: {Targets: "Linux x86-64 · Arm Server · NVIDIA GPUs"} + links: + - {label: User guide, path: https://docs.nvidia.com/hpc-sdk/compilers/hpc-compilers-user-guide/} + - {label: Reference, path: https://docs.nvidia.com/hpc-sdk/compilers/hpc-compilers-ref-guide/} diff --git a/content/ecosystem/libraries.yaml b/content/ecosystem/libraries.yaml new file mode 100644 index 0000000..0aea2e5 --- /dev/null +++ b/content/ecosystem/libraries.yaml @@ -0,0 +1,92 @@ +$schema: ../../schemas/blocks/card-group.json +type: card_group +title: Standard Libraries +description: Implementations of the C++ standard library and notable alternatives +cards: +- type: card + title: libstdc++ + path: https://gcc.gnu.org/onlinedocs/libstdc++/ + icon: https://cdn.simpleicons.org/gnu + description: GNU's standard-library implementation, normally paired with GCC and also usable with Clang + metadata: {License: GPLv3 with GCC Runtime Library Exception 3.1, Paired with: GCC} + links: + - {label: Documentation, path: https://gcc.gnu.org/onlinedocs/libstdc++/manual/} + - {label: Bugs, path: https://gcc.gnu.org/bugzilla/} + - {label: Source, path: "https://gcc.gnu.org/git/?p=gcc.git;a=tree;f=libstdc++-v3"} +- type: card + title: LLVM libc++ + path: https://libcxx.llvm.org/ + icon: https://cdn.simpleicons.org/llvm + description: LLVM's portable C++ standard-library implementation, commonly paired with Clang + metadata: {License: Apache-2.0 with LLVM exception, Paired with: Clang} + links: + - {label: Documentation, path: https://libcxx.llvm.org/} + - {label: Issues, path: https://github.com/llvm/llvm-project/issues} + - {label: Source, path: https://github.com/llvm/llvm-project/tree/main/libcxx} +- type: card + title: Microsoft STL + path: https://learn.microsoft.com/en-us/cpp/standard-library/cpp-standard-library-overview + description: Microsoft's open-source standard-library implementation shipped with the MSVC toolchain + metadata: {License: Apache-2.0 with LLVM exception, Paired with: MSVC} + links: + - {label: Documentation, path: https://learn.microsoft.com/en-us/cpp/standard-library/} + - {label: Issues, path: https://github.com/microsoft/STL/issues} + - {label: Source, path: https://github.com/microsoft/STL} +- type: card + title: Apache C++ Standard Library (STDCXX) + path: https://attic.apache.org/projects/stdcxx.html + description: Retired open-source C++ standard library implementation from the Apache Software Foundation + metadata: {License: Apache-2.0, Status: Retired} + links: + - {label: Archived Website, path: https://stdcxx.apache.org/} + - {label: Source, path: https://svn.apache.org/repos/asf/stdcxx/trunk/} + - {label: Issues, path: https://issues.apache.org/jira/projects/STDCXX} +- type: card + title: EASTL + path: https://github.com/electronicarts/EASTL + icon: https://media.contentapi.ea.com/content/dam/eacom/common/medallion-violet.png + description: EASTL stands for Electronic Arts Standard Template Library. It is an extensive and robust implementation that has an emphasis on high performance. + metadata: {License: BSD-3-Clause} + links: + - {label: Documentation, path: https://github.com/electronicarts/EASTL/tree/master/doc} + - {label: Issues, path: https://github.com/electronicarts/EASTL/issues} + - {label: Source, path: https://github.com/electronicarts/EASTL} +- type: card + title: NVIDIA libcu++ + path: https://nvidia.github.io/cccl/unstable/libcudacxx/ + icon: https://cdn.simpleicons.org/nvidia + description: CUDA C++ standard-library implementation providing standard-library facilities for both host and device code, together with CUDA-specific extensions. + metadata: {License: Apache-2.0 WITH LLVM-exception} + links: + - {label: Documentation, path: https://nvidia.github.io/cccl/unstable/libcudacxx/} + - {label: Issues, path: https://github.com/NVIDIA/cccl/issues} + - {label: Source, path: https://github.com/NVIDIA/cccl/tree/main/libcudacxx} +- type: card + title: Embedded Template Library (ETL) + path: https://www.etlcpp.com/ + description: STL-like library for embedded systems with fixed-capacity containers, deterministic memory use, and backports of selected newer standard-library facilities. + metadata: {License: MIT} + links: + - {label: Documentation, path: https://www.etlcpp.com/docs/} + - {label: Issues, path: https://github.com/ETLCPP/etl/issues} + - {label: Source, path: https://github.com/ETLCPP/etl} + +- type: card + title: HPX + path: https://docs.hpx.dev/ + description: Standards-oriented C++ library and runtime for concurrency and parallelism, implementing standard facilities alongside extensions for asynchronous and distributed execution. + metadata: {License: BSL-1.0} + links: + - {label: Documentation, path: https://docs.hpx.dev/} + - {label: Issues, path: https://github.com/TheHPXProject/hpx/issues} + - {label: Source, path: https://github.com/TheHPXProject/hpx} + +- type: card + title: oneAPI DPC++ Library (oneDPL) + path: https://uxlfoundation.github.io/oneDPL/index.html + description: Parallel-library implementation providing execution policies, parallel algorithms, iterators, and SYCL-oriented extensions for heterogeneous C++ applications. + metadata: {License: Apache-2.0 WITH LLVM-exception} + links: + - {label: Documentation, path: https://uxlfoundation.github.io/oneDPL/index.html} + - {label: Issues, path: https://github.com/uxlfoundation/oneDPL/issues} + - {label: Source, path: https://github.com/uxlfoundation/oneDPL} diff --git a/content/ecosystem/packages.yaml b/content/ecosystem/packages.yaml new file mode 100644 index 0000000..c4d6019 --- /dev/null +++ b/content/ecosystem/packages.yaml @@ -0,0 +1,85 @@ +$schema: ../../schemas/blocks/card-group.json +type: card_group +title: Package Managers +description: Tools for managing C++ libraries and dependencies +cards: +- type: card + title: vcpkg + path: https://github.com/microsoft/vcpkg + description: Cross-platform source package manager with curated ports and strong CMake and Visual Studio integration. + metadata: {License: MIT} + links: + - {label: Documentation, path: https://learn.microsoft.com/en-us/vcpkg/} + - {label: Issues, path: https://github.com/microsoft/vcpkg/issues} + - {label: Source, path: https://github.com/microsoft/vcpkg} +- type: card + title: Conan + path: https://conan.io/ + icon: https://cdn.simpleicons.org/conan + description: Distributed binary package manager with lockfiles, profiles, private remotes, and broad build-system integration. + metadata: {License: MIT} + links: + - {label: Documentation, path: https://docs.conan.io/2/} + - {label: Issues, path: https://github.com/conan-io/conan/issues} + - {label: Source, path: https://github.com/conan-io/conan} +- type: card + title: Meson + path: https://mesonbuild.com/ + description: Build system whose Wrap dependency mechanism can consume subprojects and the WrapDB package catalog. + metadata: {License: Apache-2.0} + links: + - {label: Wrap guide, path: https://mesonbuild.com/Wrap-dependency-system-manual.html} + - {label: WrapDB, path: https://wrapdb.mesonbuild.com/} +- type: card + title: C++ Package Manager (CPM) + path: https://github.com/cpm-cmake/cpm.cmake + icon: https://cdn.simpleicons.org/cmake + description: Small CMake module that fetches source dependencies with version pins and little project setup. + metadata: {License: MIT} + links: + - {label: Documentation, path: https://github.com/cpm-cmake/CPM.cmake#readme} + - {label: Issues, path: https://github.com/cpm-cmake/CPM.cmake/issues} + - {label: Source, path: https://github.com/cpm-cmake/CPM.cmake} +- type: card + title: Hunter + path: https://hunter.readthedocs.io/ + description: CMake-driven, cross-platform source package manager for C and C++ projects. + metadata: {License: BSD-2-Clause} + links: + - {label: Documentation, path: https://hunter.readthedocs.io/en/latest/} + - {label: Issues, path: https://github.com/cpp-pm/hunter/issues} + - {label: Source, path: https://github.com/cpp-pm/hunter} +- type: card + title: Spack + path: https://spack.io/ + description: Source and binary package manager built for HPC, combinatorial versioning, variants, and multiple compiler toolchains. + metadata: {License: Apache-2.0 or MIT} + links: + - {label: Documentation, path: https://spack.readthedocs.io/} + - {label: Packages, path: https://packages.spack.io/} + - {label: Issues, path: https://github.com/spack/spack/issues} + - {label: Source, path: https://github.com/spack/spack} +- type: card + title: build2 + path: https://cppget.org/ + description: The build2 toolchain uses bpkg to consume packages; cppget.org is its central public package repository and registry. + metadata: {License: MIT} + links: + - {label: Package manager documentation, path: https://build2.org/bpkg/doc/bpkg.xhtml} + - {label: Toolchain source, path: https://github.com/build2} +- type: card + title: Bazel + path: https://bazel.build/ + description: Build system whose Bzlmod module system resolves external dependencies through registries such as the Bazel Central Registry. + metadata: {License: Apache-2.0} + links: + - {label: Packages, path: https://registry.bazel.build/} + - {label: Bzlmod documentation, path: https://bazel.build/external/overview} + - {label: Source, path: https://github.com/bazelbuild/bazel} +- type: card + title: Xmake Packages + path: https://packages.xmake.io/ + description: Package index used by Xmake's built-in package-management workflow. + links: + - {label: Package management documentation, path: https://xmake.io/#/package/remote_package} + - {label: Package recipes, path: https://github.com/xmake-io/xmake-repo} diff --git a/content/events/_calendar.yaml b/content/events/_calendar.yaml new file mode 100644 index 0000000..4a1e9d4 --- /dev/null +++ b/content/events/_calendar.yaml @@ -0,0 +1,6 @@ +$schema: ../../schemas/pages/event-calendar-feed.json +$output: calendar.ics +calendar_name: C++ Community Events +description: Conferences, meetups, and WG21 meetings for the C++ community. +events: !import 'events.yaml' +imported_events: !import '../../data/events-imported.yaml' diff --git a/content/events/_index.yaml b/content/events/_index.yaml new file mode 100644 index 0000000..c105d89 --- /dev/null +++ b/content/events/_index.yaml @@ -0,0 +1,13 @@ +$schema: ../../schemas/pages/events.json +title: Events +description: Find upcoming C++ conferences, meetups, committee meetings, and online events. +searchable: true +search_placeholder: Search events... +calendar_url: /events/calendar/ +feed_url: https://cpp.social/events/calendar.ics +upcoming_count: 3 +events: !import 'events.yaml' +imported_events: !import '../../data/events-imported.yaml' +body: + - !import 'conferences.yaml' + - !import 'meetups.yaml' diff --git a/content/events/calendar/_index.yaml b/content/events/calendar/_index.yaml new file mode 100644 index 0000000..d56f8c6 --- /dev/null +++ b/content/events/calendar/_index.yaml @@ -0,0 +1,6 @@ +$schema: ../../../schemas/pages/event-calendar.json +title: C++ event calendar +description: Dated conferences, meetups, and ISO C++ committee meetings from verified organizer sources. +feed_url: https://cpp.social/events/calendar.ics +events: !import '../events.yaml' +imported_events: !import '../../../data/events-imported.yaml' diff --git a/content/events/conferences.yaml b/content/events/conferences.yaml new file mode 100644 index 0000000..d170221 --- /dev/null +++ b/content/events/conferences.yaml @@ -0,0 +1,56 @@ +$schema: ../../schemas/blocks/card-group.json +type: card_group +title: Conferences +description: Major C++ conferences around the world +randomize: true +cards: +- type: card + title: ACCU on Sea + path: https://accuonsea.uk/ + description: ACCU on Sea is the international developer conference taking place by the sea, in the UK. + metadata: + Location: UK + Frequency: Annual +- type: card + title: Meeting C++ + path: https://meetingcpp.com/ + description: Annual hybrid C++ conference in Berlin with onsite and online tracks and international speakers. + metadata: + Location: Berlin, Germany + Frequency: Annual +- type: card + title: CppNorth + path: https://cppnorth.ca/ + description: Toronto C++ conference held from 2022 through 2025; its organizers joined with NDC Conferences to create NDC Toronto in 2026. + metadata: + Location: Toronto, Canada + Status: Continued as NDC Toronto +- type: card + title: NDC Toronto + path: https://ndctoronto.com/ + description: NDC Toronto is a premier software development conference held annually in Toronto, covering a wide range of topics including .NET, C++, Rust, Embedded, Cybersecurity, Cloud, DevOps, frontend, AI, and software architecture, to mention a few. + metadata: + Location: Toronto, Canada + Frequency: Annual + +- type: card + title: CppCon + path: https://cppcon.org/ + description: Annual, week-long, in-person gathering organized by the C++ community, with talks for experience levels from novice to expert. + metadata: + Location: Aurora, Colorado, USA + Frequency: Annual +- type: card + title: C++Now + path: https://cppnow.org/ + description: Five-day, in-person conference in Aspen focused on advanced C++, open-source libraries, and the language's future evolution. + metadata: + Location: Aspen, Colorado, USA + Frequency: Annual +- type: card + title: C++Online + path: https://cpponline.uk/ + description: Online-only international C++ conference designed for broad geographic and financial accessibility. + metadata: + Location: Online + Frequency: Annual diff --git a/content/events/events.yaml b/content/events/events.yaml new file mode 100644 index 0000000..3942bbe --- /dev/null +++ b/content/events/events.yaml @@ -0,0 +1,84 @@ +- ical_uid: cppnow-2026@cpp.social + title: C++Now 2026 + description: Five days of C++ talks, group discussions, lightning talks, and community collaboration. + start_date: 2026-05-04 + end_date: 2026-05-08 + location: Aspen, Colorado, USA + venue: Aspen Center for Physics + format: in_person + event_type: conference + organizer: C++Now + path: https://cppnow.org/ + source_url: https://cppnow.org/announcements/2025/12/announcing-cppnow-2026/ + source_name: C++Now + last_verified: 2026-08-12 +- ical_uid: accu-on-sea-2026@cpp.social + title: ACCU on Sea 2026 + description: The ACCU Conference and C++ on Sea joined for one event, with workshops followed by four conference days. + start_date: 2026-06-15 + end_date: 2026-06-20 + location: Folkestone, Kent, UK + venue: Leas Cliff Hall + format: in_person + event_type: conference + organizer: Shaved Yaks Ltd + path: https://accuonsea.uk/ + source_url: https://accuonsea.uk/faq/ + source_name: ACCU on Sea + last_verified: 2026-08-12 +- ical_uid: cppcon-2026@cpp.social + title: CppCon 2026 + description: Onsite classes begin September 12; the five-day main conference program runs September 14–18. + start_date: 2026-09-12 + end_date: 2026-09-18 + location: Aurora, Colorado, USA + venue: Gaylord Rockies Resort & Convention Center + format: in_person + event_type: conference + organizer: CppCon + path: https://cppcon.org/ + registration_url: https://cppcon.org/registration/ + source_url: https://cppcon.org/cppcon-2026-timeline/ + source_name: CppCon + last_verified: 2026-08-12 +- ical_uid: meeting-cpp-2026@cpp.social + title: Meeting C++ 2026 + description: Three days of onsite and online C++ conference tracks. + start_date: 2026-11-26 + end_date: 2026-11-28 + location: Berlin, Germany and online + venue: Vienna House by Wyndham Andel's Berlin + format: hybrid + event_type: conference + organizer: Meeting C++ + path: https://meetingcpp.com/2026/ + source_url: https://meetingcpp.com/2026/ + source_name: Meeting C++ + last_verified: 2026-08-12 +- ical_uid: wg21-2026-11-buzios@cpp.social + title: ISO C++ meeting — Búzios + description: Face-to-face WG21 standards committee meeting. + start_date: 2026-11-16 + end_date: 2026-11-21 + location: Búzios, Rio De Janeiro, Brazil + venue: Hotel Atlântico Búzios + format: in_person + event_type: committee + organizer: ISO C++ (WG21) + path: https://isocpp.org/std/meetings-and-participation/upcoming-meetings + source_url: https://isocpp.org/files/papers/N5021.html + source_name: WG21 meeting information (N5021) + last_verified: 2026-08-12 +- ical_uid: wg21-2027-03-istanbul@cpp.social + title: ISO C++ meeting — Istanbul + description: Face-to-face WG21 standards committee meeting. + start_date: 2027-03-21 + end_date: 2027-03-27 + location: Istanbul, Turkey + format: in_person + event_type: committee + organizer: ISO C++ (WG21) + path: https://isocpp.org/std/meetings-and-participation/upcoming-meetings + source_url: https://isocpp.org/std/meetings-and-participation/upcoming-meetings + source_name: Standard C++ + last_verified: 2026-08-12 diff --git a/content/events/meetups.yaml b/content/events/meetups.yaml new file mode 100644 index 0000000..81c06a0 --- /dev/null +++ b/content/events/meetups.yaml @@ -0,0 +1,17 @@ +$schema: ../../schemas/blocks/card-group.json +type: card_group +title: User Groups +description: Local user groups and meetups +randomize: true +cards: +- type: card + title: Munich C++ Meetup + path: https://www.meetup.com/MUCplusplus/ + description: Regular meetup for C++ developers in Munich + metadata: + Location: Munich, Germany + links: + - label: RSS feed + path: https://www.meetup.com/MUCplusplus/events/rss/ + - label: Calendar + path: https://www.meetup.com/MUCplusplus/events/ical/ diff --git a/content/events/sources.yaml b/content/events/sources.yaml new file mode 100644 index 0000000..9765e54 --- /dev/null +++ b/content/events/sources.yaml @@ -0,0 +1,10 @@ +- id: mucplusplus + kind: meetup_ical + url: https://www.meetup.com/MUCplusplus/events/ical/ + homepage: https://www.meetup.com/MUCplusplus/ + organizer: Munich C++ Meetup + source_name: Meetup + event_type: meetup + format: in_person + timezone: Europe/Berlin + default_location: Munich, Germany diff --git a/content/metadata-overrides.yaml b/content/metadata-overrides.yaml new file mode 100644 index 0000000..b0f1056 --- /dev/null +++ b/content/metadata-overrides.yaml @@ -0,0 +1,6 @@ +# Durable human corrections applied after ingest and before generated data is written. +# Use the stable post/video ID as the key. Set hidden: true to suppress an item. +# Supported blog fields: title, source_title, published, updated, description, tags. +# Supported video fields: title, published, updated, description, thumbnail_url, tags. +blog_posts: {} +youtube_videos: {} diff --git a/content/packages/_index.yaml b/content/packages/_index.yaml new file mode 100644 index 0000000..7128027 --- /dev/null +++ b/content/packages/_index.yaml @@ -0,0 +1,14 @@ +$schema: ../../schemas/pages/packages.json +title: Packages & Libraries +description: Search C++ packages across several package managers +search_placeholder: Search packages... +search_managers: + conan: Conan + vcpkg: vcpkg + spack: Spack + meson: Meson WrapDB + bazel: Bazel Central Registry + cppget: build2 + hunter: Hunter + xmake: xmake +provenance: !import '../../data/packages/provenance.yaml' diff --git a/content/packages/package-overrides.yaml b/content/packages/package-overrides.yaml new file mode 100644 index 0000000..5dca18b --- /dev/null +++ b/content/packages/package-overrides.yaml @@ -0,0 +1,16 @@ +$schema: ../../schemas/packages/overrides.json +groups: + - id: nlohmann-json + name: nlohmann-json + reason: Historical package names distribute the same upstream project. + aliases: + - json + - jsonformoderncpp + - nlohmann_json + packages: + - conan:nlohmann_json + - conan:jsonformoderncpp + - meson:nlohmann_json + - meson:json + - spack:nlohmann-json + - vcpkg:nlohmann-json diff --git a/content/relevance-labels.yaml b/content/relevance-labels.yaml new file mode 100644 index 0000000..d7385eb --- /dev/null +++ b/content/relevance-labels.yaml @@ -0,0 +1,4 @@ +# Durable human labels used by both feed updaters and, later, classifier training. +# Values are confidence that an item is C++ related: 0 = no, 1 = yes. +blog_posts: {} +youtube_videos: {} diff --git a/content/resources/_index.yaml b/content/resources/_index.yaml new file mode 100644 index 0000000..e1d226b --- /dev/null +++ b/content/resources/_index.yaml @@ -0,0 +1,22 @@ +$schema: ../../schemas/pages/resources.json +title: Resources +description: References, guides, and books for learning and working with C++. +provenance: !import '../../data/books/provenance.yaml' +searchable: true +search_placeholder: Search resources... +advanced_search: true +search_fields: + title: Title + content: Description + source: Author + tags: Subject or tag + metadata: Metadata +search_categories: + references: General resources + guides: C++ guides, FAQs and more + books: Books +book_metadata: !import '../../data/books/metadata.yaml' +body: + - !import 'general.yaml' + - !import 'guides.yaml' + - !import 'books.yaml' diff --git a/content/resources/books.yaml b/content/resources/books.yaml new file mode 100644 index 0000000..855c72d --- /dev/null +++ b/content/resources/books.yaml @@ -0,0 +1,17 @@ +$schema: ../../schemas/blocks/card-group.json +type: card_group +title: Books +description: Curated editions identified by ISBN; metadata and default covers are generated from Open Library +search_category: books +layout: showcase +page_rows: 2 +randomize: true +cards: +- {type: book_card, isbn: '9780321563842'} +- {type: book_card, isbn: '9781491903995'} +- {type: book_card, isbn: '9780321714114'} +- {type: book_card, isbn: '9780321992789'} +- {type: book_card, isbn: '9781617294693'} +- {type: book_card, isbn: '9780321714121'} +- {type: book_card, isbn: '9780321623218', cover_url: 'https://images-na.ssl-images-amazon.com/images/P/0321623215.01.L.jpg'} +- {type: book_card, isbn: '9781593278885'} diff --git a/content/resources/general.yaml b/content/resources/general.yaml new file mode 100644 index 0000000..a144c46 --- /dev/null +++ b/content/resources/general.yaml @@ -0,0 +1,42 @@ +$schema: ../../schemas/blocks/card-group.json +type: card_group +title: General resources +description: References, analysis tools, playgrounds, and other practical C++ utilities +search_category: references +cards: + - type: card + title: cppreference.com + path: https://en.cppreference.com/ + description: Detailed language and standard-library reference with compiler-support tables + - type: card + title: cppstat.dev + path: https://cppstat.dev + description: A list of C and C++ features and their respective support by compilers and standard library implementations + - type: card + title: Compiler Explorer + path: https://godbolt.org/ + description: Compile and inspect C++ across compilers, versions, architectures, and optimization levels + - type: card + title: Decompiler Explorer + path: https://dogbolt.org/ + description: An interactive online decompiler which shows equivalent C-like output of decompiled programs from many popular decompilers + - type: card + title: C++ Insights + path: https://cppinsights.io/ + description: Explore transformations performed by the compiler, including templates, lambdas, and coroutines + - type: card + title: Quick Bench + path: https://quick-bench.com/ + description: Run and compare C++ microbenchmarks online using the Google Benchmark framework + - type: card + title: C++ Build Benchmark + path: https://build-bench.com/ + description: A tool to quickly and simply compare the build time of code snippets with various compilers + - type: card + title: cdecl+ + path: https://cdecl.plus/ + description: Translate C and C++ declarations and printf/scanf format strings into prose + - type: card + title: uiCA + path: https://uica.uops.info/ + description: Analyze basic-block throughput on supported x86 microarchitectures and compare predictions from several analysis tools diff --git a/content/resources/guides.yaml b/content/resources/guides.yaml new file mode 100644 index 0000000..e3e131d --- /dev/null +++ b/content/resources/guides.yaml @@ -0,0 +1,54 @@ +$schema: ../../schemas/blocks/card-group.json +type: card_group +title: C++ guides & FAQs +description: All sorts of resources to improve your code +search_category: guides +cards: + - type: card + title: C++ Patterns + path: https://cpppatterns.com/ + description: Small modern C++ examples organized by pattern and language facility + - type: card + title: More C++ Idioms + path: https://en.wikibooks.org/wiki/More_C%2B%2B_Idioms + description: A community-maintained catalog of established C++ idioms + - type: card + title: Microsoft modern C++ guide + path: https://learn.microsoft.com/en-us/cpp/cpp/welcome-back-to-cpp-modern-cpp + description: An overview of modern C++ language and library practices + - type: card + title: C++ Core Guidelines + path: https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines + description: A living set of guidelines for modern, safe, and maintainable C++ + - type: card + title: C++ Super-FAQ + path: https://isocpp.org/faq + description: The Standard C++ Foundation's consolidated answers to frequently asked questions + - type: card + title: C++ FAQ + path: https://www.parashift.com/c%2B%2B-faq/ + description: The original Marshall Cline C++ FAQ + - type: card + title: Bjarne Stroustrup's C++ FAQ + path: https://www.stroustrup.com/bs_faq.html + description: Answers about C++ design, history, usage, and common misconceptions from its creator + - type: card + title: LearnCpp + path: https://www.learncpp.com/ + description: Comprehensive, regularly updated tutorial covering C++ from fundamentals through modern language features and best practices + - type: card + title: Abseil C++ Tips of the Week + path: https://abseil.io/tips/ + description: In-depth guidance from Google's C++ engineers on language subtleties, API design, readability, and modern C++ practices + - type: card + title: SEI CERT C++ Coding Standard + path: https://wiki.sei.cmu.edu/confluence/display/cplusplus/ + description: Security-focused C++ coding rules with noncompliant examples, compliant solutions, and risk assessments + - type: card + title: C++ Best Practices + path: https://cppbestpractices.com/ + description: Collaborative collection of practical recommendations for C++ code quality, tooling, safety, APIs, and project configuration + - type: card + title: Google C++ Style Guide + path: https://google.github.io/styleguide/cppguide.html + description: Google's detailed conventions and engineering guidelines for maintaining large C++ codebases diff --git a/content/standardization/_index.yaml b/content/standardization/_index.yaml new file mode 100644 index 0000000..0ca554d --- /dev/null +++ b/content/standardization/_index.yaml @@ -0,0 +1,18 @@ +$schema: ../../schemas/pages/page.json +title: Standardization +description: Search C++ standardization resources, ABI references, and related standards. +searchable: true +search_placeholder: Search resources... +advanced_search: true +search_categories: + resources: Resources + abi: ABIs + related: Related standards +hide_non_cards_while_searching: true +body: + - type: markdown + content: !include introduction.md + - !import 'standards.yaml' + - !import 'resources.yaml' + - !import 'abi.yaml' + - !import 'related-standards.yaml' diff --git a/content/standardization/abi.yaml b/content/standardization/abi.yaml new file mode 100644 index 0000000..48f32f0 --- /dev/null +++ b/content/standardization/abi.yaml @@ -0,0 +1,112 @@ +$schema: ../../schemas/blocks/card-group.json +type: card_group +title: ABIs +description: Documentation of the C++ Application Binary Interface (ABI) and name mangling schemes used by various compilers and platforms +search_category: abi +cards: + - type: card + title: Itanium C++ ABI + path: https://itanium-cxx-abi.github.io/cxx-abi/ + description: The C++ ABI used by GCC, Clang, and other toolchains on many non-Windows platforms + - type: card + title: Windows x64 ABI conventions + description: Documentation for the x64 ABI used by Windows toolchains such as MSVC + path: https://learn.microsoft.com/en-us/cpp/build/x64-software-conventions + - type: card + title: ARM 64-bit C++ ABI + path: https://github.com/ARM-software/abi-aa/blob/main/cppabi64/cppabi64.rst + icon: https://raw.githubusercontent.com/ARM-software/abi-aa/refs/heads/main/cppabi64/Arm_logo_blue_RGB.svg + description: C++ ABI requirements for the 64-bit ARM architecture + - type: card + title: Windows ARM ABI conventions + description: Documentation for the ARM ABI used by Windows toolchains such as MSVC + path: https://learn.microsoft.com/en-us/cpp/build/overview-of-arm-abi-conventions + - type: card + title: Windows ARM64 ABI conventions + description: Documentation for the ARM64 ABI used by Windows toolchains such as MSVC + path: https://learn.microsoft.com/en-us/cpp/build/arm64-windows-abi-conventions + - type: card + title: Windows ARM64EC ABI conventions + description: Documentation for the ARM64EC ABI used by Windows toolchains such as MSVC + path: https://learn.microsoft.com/en-us/cpp/build/arm64ec-windows-abi-conventions + - type: card + title: RISC-V ELF psABI v1.0 + description: The ratified ABI specification for the RISC-V architecture + path: https://docs.riscv.org/reference/abi/v1.0/index.html + - type: card + title: RISC-V ELF psABI Latest + description: The latest development version of the RISC-V ABI specification + icon: https://t1.gstatic.com/faviconV2?client=SOCIAL&type=FAVICON&fallback_opts=TYPE,SIZE,URL&url=https://docs.riscv.org&size=128 + path: https://riscv-non-isa.github.io/riscv-elf-psabi-doc/ + - type: card + title: Visual C++ name mangling + description: Wiki article describing the mangling scheme used in MSVC + path: https://en.wikiversity.org/wiki/Visual_C%2B%2B_name_mangling + - type: card + title: ARM 32-bit C++ ABI + description: C++ ABI requirements for the 32-bit ARM architecture, derived from the Itanium C++ ABI + icon: https://raw.githubusercontent.com/ARM-software/abi-aa/refs/heads/main/cppabi64/Arm_logo_blue_RGB.svg + path: https://github.com/ARM-software/abi-aa/blob/main/cppabi32/cppabi32.rst + - type: card + title: ARM AAPCS32 + description: Procedure call standard, data layout, and calling conventions for the 32-bit ARM architecture + icon: https://raw.githubusercontent.com/ARM-software/abi-aa/refs/heads/main/cppabi64/Arm_logo_blue_RGB.svg + path: https://github.com/ARM-software/abi-aa/blob/main/aapcs32/aapcs32.rst + - type: card + title: ARM AAPCS64 + description: Procedure call standard, data layout, and calling conventions for the 64-bit ARM architecture + icon: https://raw.githubusercontent.com/ARM-software/abi-aa/refs/heads/main/cppabi64/Arm_logo_blue_RGB.svg + path: https://github.com/ARM-software/abi-aa/blob/main/aapcs64/aapcs64.rst + - type: card + title: System V x86-64 psABI + description: Processor ABI for x86-64 System V platforms, including calling conventions, data layout, ELF, and C++ conventions + path: https://gitlab.com/x86-psABIs/x86-64-ABI + - type: card + title: System V i386 psABI + description: Processor ABI for 32-bit x86 System V platforms + path: https://gitlab.com/x86-psABIs/i386-ABI + - type: card + title: Apple ARM64 ABI + description: Apple's ARM64 ABI, including Apple-specific differences from the generic ARM and C++ ABIs + path: https://developer.apple.com/documentation/xcode/writing-arm64-code-for-apple-platforms + - type: card + title: Apple x86-64 ABI + description: Calling conventions and ABI requirements for 64-bit Intel code on Apple platforms + path: https://developer.apple.com/documentation/xcode/writing-64-bit-intel-code-for-apple-platforms + - type: card + title: Apple ARMv7 ABI + description: ABI and calling conventions for ARMv7 code on legacy Apple platforms + path: https://developer.apple.com/documentation/xcode/writing-armv7-code-for-ios + - type: card + title: PowerPC64 ELFv1 ABI + icon: null + description: Original 64-bit PowerPC ELF ABI used primarily by big-endian PowerPC64 systems + path: https://refspecs.linuxfoundation.org/ELF/ppc64/PPC-elf64abi-1.9.html + - type: card + title: PowerPC64 ELFv2 ABI + icon: null + description: ELFv2 ABI for 64-bit Power Architecture systems, including calling and linkage conventions + path: https://openpowerfoundation.org/specifications/64bitelfabi/ + - type: card + title: MIPS System V ABI + icon: null + description: System V processor ABI for MIPS, including data layout, calling conventions, ELF, and dynamic linking + path: https://refspecs.linuxfoundation.org/elf/mipsabi.pdf + - type: card + title: s390x ELF ABI + description: ELF ABI and calling conventions for IBM Z and LinuxONE 64-bit systems + path: https://ibm.github.io/s390x-abi/ + - type: card + title: LoongArch ELF psABI + icon: null + description: ELF processor ABI and calling conventions for LoongArch + path: https://loongson.github.io/LoongArch-Documentation/LoongArch-ELF-ABI-EN.html + - type: card + title: WebAssembly Basic C ABI + description: ABI used by LLVM and Clang for interoperable C and C++ code targeting WebAssembly + icon: https://avatars.githubusercontent.com/u/11578470?s=60&v=4 + path: https://github.com/WebAssembly/tool-conventions/blob/main/BasicCABI.md + - type: card + title: IBM XL C++ ABI compatibility + description: IBM documentation of the XL, libC, and libc++ C++ ABIs and their name mangling and binary compatibility + path: https://www.ibm.com/docs/en/openxl-c-and-cpp-aix/17.1.4?topic=compilers-binary-compatibility diff --git a/content/standardization/introduction.md b/content/standardization/introduction.md new file mode 100644 index 0000000..9746139 --- /dev/null +++ b/content/standardization/introduction.md @@ -0,0 +1,12 @@ +C++ is standardized in [ISO/IEC 14882](https://www.iso.org/standard/91179.html). This standard is developed and maintained by ISO/IEC JTC 1/SC 22/WG 21, commonly called WG21 or the C++ standards committee. National standards bodies participate by sending experts to WG21. + +Let's break it down: + +- **ISO/IEC** — the International Organization for Standardization and the International Electrotechnical Commission. +- **JTC 1** — their Joint Technical Committee 1, responsible for information-technology standards. +- **SC 22** — its subcommittee for programming languages, their environments, and system software interfaces. +- **WG 21** — the working group responsible for C++. + +Business is primarily conducted through papers, which are reviewed and discussed at regular in-person meetings and telecons throughout the year. Changes are approved by full plenary at meetings, but may progress through groups of the committee between meetings. + +WG21 consists of compiler and library implementers, users and experts from many domains alike. diff --git a/content/standardization/related-standards.yaml b/content/standardization/related-standards.yaml new file mode 100644 index 0000000..0f61839 --- /dev/null +++ b/content/standardization/related-standards.yaml @@ -0,0 +1,34 @@ +$schema: ../../schemas/blocks/card-group.json +type: card_group +title: Related standards +description: Other standards and specifications referenced by the C++ standard or related to it +search_category: related +cards: + - type: card + title: "ISO/IEC 9899:2024 (C23)" + path: https://www.iso.org/standard/82075.html + description: The current international standard for the C programming language, published in October 2024 + - type: card + title: ISO C working group (WG14) + path: https://www.open-std.org/jtc1/sc22/wg14/ + description: Documents and papers of WG14, the C committee + - type: card + title: POSIX.1-2024 + path: https://pubs.opengroup.org/onlinepubs/9799919799/ + description: The Open Group Base Specifications for portable operating-system interfaces and utilities + - type: card + title: The Unicode Standard + path: https://www.unicode.org/versions/latest/ + description: The current Unicode specification, annexes, and character database + - type: card + title: IEEE 754-2019 + path: https://standards.ieee.org/ieee/754/6210/ + description: The active IEEE standard for binary and decimal floating-point formats, arithmetic, exceptions, and reproducible numerical results + - type: card + title: "ISO 4217" + path: https://www.iso.org/standard/64758.html + description: ISO 4217:2015 specifies the structure for a three-letter alphabetic code and an equivalent three-digit numeric code for the representation of currencies. + - type: card + title: "ISO/IEC TS 18661-3" + path: https://www.iso.org/standard/65615.html + description: ISO/IEC TS 18661-3:2015 extends programming language C to include types with the arithmetic interchange and extended floating-point formats specified in ISO/IEC/IEEE 60559:2011, and to include functions that support the non-arithmetic interchange formats in that standard. diff --git a/content/standardization/resources.yaml b/content/standardization/resources.yaml new file mode 100644 index 0000000..0367a99 --- /dev/null +++ b/content/standardization/resources.yaml @@ -0,0 +1,53 @@ +$schema: ../../schemas/blocks/card-group.json +type: card_group +title: Resources +description: Links to C++ standardization resources and documentation +search_category: resources +cards: + +- type: card + title: C++ Standards Committee (WG21) + path: https://isocpp.org/std/the-committee + description: Documentation of the committee's structure +- type: card + title: Committee Meetings & Participation + path: https://isocpp.org/std/meetings-and-participation + description: Documentation of the committee process and ways to participate +- type: card + title: C++ Draft Standard + icon: https://avatars.githubusercontent.com/u/59276?s=60&v=4 + path: https://github.com/cplusplus/draft + description: Latest draft standard sources +- type: card + title: Paper status + icon: https://avatars.githubusercontent.com/u/59276?s=60&v=4 + path: https://github.com/cplusplus/papers + description: When papers progress through groups, the paper status is updated in this repository +- type: card + title: CWG issues list + icon: null + path: https://cplusplus.github.io/CWG/issues/cwg_index.html + description: A list of all reported C++ core language issues. +- type: card + title: LWG issues list + icon: null + path: https://cplusplus.github.io/LWG/lwg-index.html + description: A list of all reported C++ library issues. +- type: card + title: open-std + path: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/ + description: An archive of mailed WG21 papers and old X3J16 papers +- type: card + title: wg21.org + path: https://wg21.org/ + description: A volunteer resource for the C++ standards committee with improved mailing view +- type: card + title: All papers + icon: null + path: https://wg21.link/index.html + description: A searchable index and stable short links for WG21 papers and status issues +- type: card + title: cpp_working_drafts + icon: null + path: https://jhcarl0814.github.io/cpp_working_drafts/cpp_working_drafts.html?q=reflection + description: Fuzzy search for draft versions of the C++ standard diff --git a/content/standardization/standards.yaml b/content/standardization/standards.yaml new file mode 100644 index 0000000..a94f23a --- /dev/null +++ b/content/standardization/standards.yaml @@ -0,0 +1,132 @@ +$schema: ../../schemas/blocks/standards-timeline.json +type: standards_timeline +title: Standards timeline +description: Key changes by language version. Drafts are public working documents close to each published edition; the ISO publications themselves may differ and are not freely distributed. +standards: + - title: C++29 + publication: Not published + status: In development + description: The version of C++ currently being worked on by the committee. + features: [] + cppstat: https://cppstat.dev/?tags=cpp29 + draft_name: N5054 + draft_pdf: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2026/n5054.pdf + draft_html: https://eel.is/c++draft/ + - title: C++26 + publication: Not published + status: Enquiry + description: The next C++ standard, with major additions for reflection, contracts, asynchronous execution and more + features: + - Reflection + - Contracts + - std::execution (senders and receivers) + - Pack indexing + - Library hardening + - std::inplace_vector and std::hive + - Hazard pointers and read-copy update (RCU) + cppstat: https://cppstat.dev/?tags=cpp26 + draft_name: N5050 + draft_pdf: https://open-std.org/jtc1/sc22/wg21/docs/papers/2026/n5050.pdf + - title: C++23 + publication: October 2024 + status: Published as ISO/IEC 14882:2024 + description: A broad language and library update with explicit object parameters, more constexpr support, and substantial additions to ranges and general-purpose libraries + features: + - Explicit object parameters + - if consteval + - Multidimensional subscript operator + - std::expected + - std::print + - std::mdspan + - std::generator and additions to the ranges library + cppstat: https://cppstat.dev/?tags=cpp23 + draft_name: N4950 + draft_pdf: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2023/n4950.pdf + draft_html: https://timsong-cpp.github.io/cppwp/n4950/ + - title: C++20 + publication: December 2020 + status: Published as ISO/IEC 14882:2020 + description: A major revision introducing concepts, ranges, coroutines and modules, alongside substantial standard-library additions + features: + - Concepts + - Ranges + - Coroutines + - Modules + - Three-way comparison + - std::format, std::source_location and std::span + - Designated initializers + cppstat: https://cppstat.dev/?tags=cpp20 + draft_name: N4861 + draft_pdf: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/n4861.pdf + draft_html: https://timsong-cpp.github.io/cppwp/n4861/ + - title: C++17 + publication: December 2017 + status: Published as ISO/IEC 14882:2017 + description: A larger revision adding expressive language facilities, vocabulary types, filesystem support, and parallel algorithms + features: + - Structured bindings + - if constexpr + - Fold expressions + - Class template argument deduction + - std::filesystem + - std::optional, std::variant, and std::any + - Parallel algorithms + cppstat: https://cppstat.dev/?tags=cpp17 + draft_name: N4659 + draft_pdf: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/n4659.pdf + draft_html: https://timsong-cpp.github.io/cppwp/n4659/ + - title: C++14 + publication: December 2014 + status: Published as ISO/IEC 14882:2014 + description: A smaller revision refining C++11 with generic lambdas, relaxed constant evaluation, return-type deduction, and focused library additions + features: + - Generic lambdas + - Function return type deduction + - Variable templates + - Relaxed restrictions on constexpr functions + - Binary literals and digit separators + - std::make_unique + cppstat: https://cppstat.dev/?tags=cpp14 + draft_name: N4140 + draft_pdf: https://raw.githubusercontent.com/cplusplus/draft/main/papers/n4140.pdf + draft_html: https://timsong-cpp.github.io/cppwp/n4140/ + - title: C++11 + publication: September 2011 + status: Published as ISO/IEC 14882:2011 + description: A major revision that introduced move semantics, lambdas, variadic templates, constant expressions, and a standard concurrency model + features: + - Move semantics and rvalue references + - Lambdas and auto + - constexpr + - Variadic templates + - Range-based for + - Smart pointers + - Threads, atomics, and the memory model + cppstat: https://cppstat.dev/?tags=cpp11 + draft_name: N3337 + draft_pdf: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3337.pdf + draft_html: https://timsong-cpp.github.io/cppwp/n3337/ + - title: C++03 + publication: October 2003 + status: Published as ISO/IEC 14882:2003 + description: A corrective revision incorporating defect resolutions into C++98 rather than a feature-focused language release + features: + - Value initialization + - Core-language defect resolutions + - Standard-library defect resolutions + cppstat: https://cppstat.dev/?tags=cpp03 + draft_name: N1804 + draft_pdf: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1804.pdf + - title: C++98 + publication: September 1998 + status: Published as ISO/IEC 14882:1998 + description: The first international C++ standard, establishing the core language and standard library + features: + - Templates + - Standard Template Library + - Exceptions + - Runtime type information + - Namespaces + cppstat: https://cppstat.dev/?tags=cpp98 + draft_name: N1146 + draft_pdf: https://www.open-std.org/jtc1/sc22/wg21/docs/wp/pdf/nov97-2/body.pdf diff --git a/content/youtube/_index.yaml b/content/youtube/_index.yaml new file mode 100644 index 0000000..c95954a --- /dev/null +++ b/content/youtube/_index.yaml @@ -0,0 +1,27 @@ +$schema: ../../schemas/pages/youtube.json +title: YouTube +description: Browse C++ creators, educators and conference archives +provenance: !import '../../data/youtube/provenance.yaml' +searchable: true +search_placeholder: Search videos and channels... +advanced_search: true +search_fields: + title: Title + content: Description + source: Channel + tags: Tag +search_categories: + videos: Latest videos + creators: Creators and educators + organizations: Organizations and shows + conferences: Conferences +search_date_range: true +search_relevance_filter: false +cpp_relevance_threshold: 0.5 +channel_metadata: !import '../../data/youtube/channel-metadata.yaml' +video_cache: !import '../../data/youtube/video-cache.yaml' +latest_rows: 1 +body: + - !import 'channels.yaml' + - !import 'organizations.yaml' + - !import 'conferences.yaml' diff --git a/content/youtube/channels.yaml b/content/youtube/channels.yaml new file mode 100644 index 0000000..e896fd8 --- /dev/null +++ b/content/youtube/channels.yaml @@ -0,0 +1,32 @@ +$schema: ../../schemas/blocks/card-group.json +type: card_group +title: Creators and educators +description: Follow channels publishing tutorials, courses, code reviews and practical C++ guidance. +search_category: creators +layout: rail +randomize: true +cards: +- type: channel_card + title: C++ Weekly + channel_type: creator + channel_id: UCxHAlbZQNFU2LgEtiqd2Maw +- type: channel_card + title: The Cherno + channel_type: creator + channel_id: UCQ-W1KE9EYfdxhL6S4twUNw +- type: channel_card + title: CodeVault + channel_type: creator + channel_id: UC6qj_bPq6tQ6hLwOBpBQ42Q +- type: channel_card + title: Andreas Fertig + channel_type: creator + channel_id: UCxJfIsPGHFS3_nRDv1u-Q8g +- type: channel_card + title: OneLoneCoder + channel_type: creator + channel_id: UC-yuWVUplUJZvieEligKBkA +- type: channel_card + title: Mike Shah + channel_type: creator + channel_id: UCA64pZbN5Mz5NxC3SO4qpDg diff --git a/content/youtube/conferences.yaml b/content/youtube/conferences.yaml new file mode 100644 index 0000000..16da5d4 --- /dev/null +++ b/content/youtube/conferences.yaml @@ -0,0 +1,40 @@ +$schema: ../../schemas/blocks/card-group.json +type: card_group +title: Conferences +description: Browse recorded talks from established C++ conferences +search_category: conferences +layout: rail +randomize: true +cards: +- type: channel_card + title: CppCon + channel_type: conference + channel_id: UCMlGfpWw-RUdWX_JbLCukXg +- type: channel_card + title: C++Now + channel_type: conference + channel_id: UC5e__RG9K3cHrPotPABnrwg +- type: channel_card + title: Meeting C++ + channel_type: conference + channel_id: UCJpMLydEYA08vusDkq3FmjQ +- type: channel_card + title: ACCU Conference + channel_type: conference + channel_id: UCJhay24LTpO1s4bIZxuIqKw +- type: channel_card + title: C++ on Sea + channel_type: conference + channel_id: UCAczr0j6ZuiVaiGFZ4qxApw +- type: channel_card + title: CppNorth + channel_type: conference + channel_id: UCGWAlXciy785Iog-X7247Hw +- type: channel_card + title: C++Online + channel_type: conference + channel_id: UC9KMtRSOkJVCYwvm8TZipog +- type: channel_card + title: Core C++ + channel_type: conference + channel_id: UCE14XYFaK1fDTnOTqlOFrrQ diff --git a/content/youtube/organizations.yaml b/content/youtube/organizations.yaml new file mode 100644 index 0000000..cdbd2f9 --- /dev/null +++ b/content/youtube/organizations.yaml @@ -0,0 +1,16 @@ +$schema: ../../schemas/blocks/card-group.json +type: card_group +title: Organizations and shows +description: Podcasts and channels run by organizations +search_category: organizations +layout: rail +randomize: true +cards: +- type: channel_card + title: KDAB + channel_type: organization + channel_id: UCjsJkTJSZ5G7ewH2uf08t0A +- type: channel_card + title: CppCast + channel_type: show + channel_id: UCuCjADS4u3uJDTqUaG0H9dA