-TODO:
+## See also
-## Sorting + Rust
+- A Rust implementation of Glidesort,a stable adaptive quicksort/mergesort hybrid sorting algorithm: [glidesort][c-glidesort-github]⮳
-- A Rust implementation of Glidesort,a stable adaptive quicksort/mergesort hybrid sorting algorithm: [glidesort][glidesort-github]⮳
+{{#include refs.incl.md}}
+{{#include ../../refs/link-refs.md}}
-[glidesort-github]: https://github.com/orlp/glidesort
+
diff --git a/src/categories/api-bindings/index.md b/src/categories/api-bindings/index.md
index 0b8b9370..c6c173f6 100644
--- a/src/categories/api-bindings/index.md
+++ b/src/categories/api-bindings/index.md
@@ -28,5 +28,5 @@ Idiomatic wrappers of specific APIs{{hi:APIs}} for convenient access from Rust.
{{#include ../../refs/link-refs.md}}
diff --git a/src/categories/asynchronous/async.md b/src/categories/asynchronous/async.md
index 1958e660..36e90bc9 100644
--- a/src/categories/asynchronous/async.md
+++ b/src/categories/asynchronous/async.md
@@ -55,5 +55,4 @@ Alternatives to the Tokio async ecosystem include:
{{#include ../../refs/link-refs.md}}
diff --git a/src/categories/asynchronous/async_and_blocking.md b/src/categories/asynchronous/async_and_blocking.md
index fafcfec4..0ae73055 100644
--- a/src/categories/asynchronous/async_and_blocking.md
+++ b/src/categories/asynchronous/async_and_blocking.md
@@ -68,5 +68,4 @@ In other cases, it may be easier to structure the application as largely synchro
{{#include ../../refs/link-refs.md}}
diff --git a/src/categories/asynchronous/async_channels.incl.md b/src/categories/asynchronous/async_channels.incl.md
index fb52b127..92d51562 100644
--- a/src/categories/asynchronous/async_channels.incl.md
+++ b/src/categories/asynchronous/async_channels.incl.md
@@ -3,5 +3,5 @@
| | [![tokio][c-tokio-badge]][c-tokio] | [![cat-asynchronous][cat-asynchronous-badge]][cat-asynchronous] |
diff --git a/src/categories/asynchronous/async_channels.md b/src/categories/asynchronous/async_channels.md
index c3b1c737..aff239f8 100644
--- a/src/categories/asynchronous/async_channels.md
+++ b/src/categories/asynchronous/async_channels.md
@@ -36,9 +36,11 @@ Another example:
[![postage][c-postage-badge]][c-postage] [![postage-lib.rs][c-postage-lib.rs-badge]][c-postage-lib.rs]
+Fast sync and async channel: [Kanal][c-kanal-github]
+
{{#include refs.incl.md}}
{{#include ../../refs/link-refs.md}}
diff --git a/src/categories/asynchronous/async_traits.md b/src/categories/asynchronous/async_traits.md
index 6c712a51..3b9fc39f 100644
--- a/src/categories/asynchronous/async_traits.md
+++ b/src/categories/asynchronous/async_traits.md
@@ -30,5 +30,5 @@ In addition, traits that use `-> impl Trait` and `async fn` are not object-safe{
{{#include ../../refs/link-refs.md}}
diff --git a/src/categories/asynchronous/futures.incl.md b/src/categories/asynchronous/futures.incl.md
index 1eac0ed6..8b1084e0 100644
--- a/src/categories/asynchronous/futures.incl.md
+++ b/src/categories/asynchronous/futures.incl.md
@@ -3,5 +3,5 @@
| | [![futures][c-futures-badge]][c-futures] | [![cat-asynchronous][cat-asynchronous-badge]][cat-asynchronous] |
diff --git a/src/categories/asynchronous/futures.md b/src/categories/asynchronous/futures.md
index 06b4d9ff..e42ef838 100644
--- a/src/categories/asynchronous/futures.md
+++ b/src/categories/asynchronous/futures.md
@@ -44,5 +44,5 @@ The [`futures`][c-futures]{{hi:futures}}⮳ crate provides an extension trait th
{{#include ../../refs/link-refs.md}}
diff --git a/src/categories/asynchronous/index.md b/src/categories/asynchronous/index.md
index 03044257..50519089 100644
--- a/src/categories/asynchronous/index.md
+++ b/src/categories/asynchronous/index.md
@@ -65,31 +65,12 @@ Alternatives to the Tokio async ecosystem include:
- [![embassy][c-embassy-badge]][c-embassy] [Embassy][c-embassy-website]⮳ [![embassy-github][c-embassy-github-badge]][c-embassy-github] for embedded systems.
- [![mio][c-mio-badge]][c-mio] [Mio][c-mio-crates.io]⮳ is a fast, low-level I/O library for Rust focusing on non-blocking APIs and event notification for building high performance I/O apps with as little overhead as possible over the OS abstractions. It is part of the Tokio ecosystem.
-{{#include refs.incl.md}}
-{{#include ../../refs/link-refs.md}}
-
-
-TODO:
-
-## Async Rust
+## See also
[Asynchronous Programming in Rust][book-async-prog-rust]
-## Kanal
-
-- Fast sync and async channel [Kanal][kanal-github]
-
-## Tokio
-
-- [tokio.rs][tokio-rs]
-- [tokio examples][tokio-examples]
-- [tokio-rs async-stream][tokio-async-stream]
-- [tokio-rs mio][mio-github]
+{{#include refs.incl.md}}
+{{#include ../../refs/link-refs.md}}
-[book-async-prog-rust]: https://rust-lang.github.io/async-book/01_getting_started/01_chapter.html
-[kanal-github]: https://github.com/fereidani/kanal
-[tokio-rs]: https://tokio.rs
-[tokio-examples]: https://github.com/tokio-rs/tokio/tree/master/examples
-[tokio-async-stream]: https://github.com/tokio-rs/async-stream
-[mio-github]: https://github.com/tokio-rs/mio
+
diff --git a/src/categories/asynchronous/streams.incl.md b/src/categories/asynchronous/streams.incl.md
index e796320d..dfbb19fe 100644
--- a/src/categories/asynchronous/streams.incl.md
+++ b/src/categories/asynchronous/streams.incl.md
@@ -3,5 +3,5 @@
| | | [![cat-asynchronous][cat-asynchronous-badge]][cat-asynchronous] |
-TODO:
+TODO: add recipe and crate links
diff --git a/src/categories/asynchronous/streams.md b/src/categories/asynchronous/streams.md
index 71490761..4d4ed531 100644
--- a/src/categories/asynchronous/streams.md
+++ b/src/categories/asynchronous/streams.md
@@ -28,5 +28,5 @@ See also Tokio `async_stream`{{hi:async_stream}}.
{{#include ../../refs/link-refs.md}}
-TODO:
+TODO: add more?
diff --git a/src/categories/asynchronous/tokio.md b/src/categories/asynchronous/tokio.md
index 559b7c72..cfeaa3b7 100644
--- a/src/categories/asynchronous/tokio.md
+++ b/src/categories/asynchronous/tokio.md
@@ -31,6 +31,11 @@ Example from [c-tokio_graceful_shutdown][c-tokio_graceful_shutdown]⮳:
{{#include refs.incl.md}}
{{#include ../../refs/link-refs.md}}
+
-TODO:
+TODO: - [tokio.rs][tokio-rs]
+- [tokio examples][tokio-examples]
+- [tokio-rs async-stream][tokio-async-stream]
+- [tokio-rs mio][mio-github]
+
diff --git a/src/categories/authentication/index.md b/src/categories/authentication/index.md
index 9470aae8..5cf86c59 100644
--- a/src/categories/authentication/index.md
+++ b/src/categories/authentication/index.md
@@ -18,5 +18,5 @@ Uses [`reqwest::RequestBuilder::basic_auth`][c-reqwest::RequestBuilder::basic_au
{{#include ../../refs/link-refs.md}}
-TODO:
+TODO: Oauth?
diff --git a/src/categories/caching/index.md b/src/categories/caching/index.md
index e388a92b..fe09cf4d 100644
--- a/src/categories/caching/index.md
+++ b/src/categories/caching/index.md
@@ -16,6 +16,5 @@ Store the results of previous computations in order to reuse the results.
{{#include ../../refs/link-refs.md}}
-TODO:
-
+TODO: expand caching, add moka
diff --git a/src/categories/command-line-interface/ansi_terminal.md b/src/categories/command-line-interface/ansi_terminal.md
index 82406c7b..05921cb1 100644
--- a/src/categories/command-line-interface/ansi_terminal.md
+++ b/src/categories/command-line-interface/ansi_terminal.md
@@ -38,6 +38,7 @@ For anything more complex than plain foreground color changes, the code needs to
{{#include refs.incl.md}}
{{#include ../../refs/link-refs.md}}
+
-TODO:
+TODO: ansi_term is archived?
diff --git a/src/categories/command-line-interface/arguments.md b/src/categories/command-line-interface/arguments.md
index efb4aa93..b2249fea 100644
--- a/src/categories/command-line-interface/arguments.md
+++ b/src/categories/command-line-interface/arguments.md
@@ -58,6 +58,4 @@ Your favorite number must be 256.
{{#include ../../refs/link-refs.md}}
-TODO:
-
diff --git a/src/categories/command-line-interface/index.md b/src/categories/command-line-interface/index.md
index 6e3e47ae..2c65e77e 100644
--- a/src/categories/command-line-interface/index.md
+++ b/src/categories/command-line-interface/index.md
@@ -14,24 +14,15 @@ Techniques to help create command line interfaces{{hi:Command line interfaces}},
[![tui][c-tui-badge]][c-tui]
+[ratatui][c-ratatui-github]⮳
+
[![r3bl_tuify][c-r3bl_tuify-badge]][c-r3bl_tuify] [![r3bl_tuify-crates.io][c-r3bl_tuify-crates.io-badge]][c-r3bl_tuify-crates.io]⮳ [![blog-tuify][blog-tuify-badge]][blog-tuify]⮳
+[Code][book-command-line-rust-github]⮳ for `Command-Line Rust` (O'Reilly, 2022, ISBN 9781098109417)
+
{{#include refs.incl.md}}
{{#include ../../refs/link-refs.md}}
-TODO:
-
-- [Command line apps in Rust][command-line-apps-in-rust]⮳
-- [Code for Command-Line Rust][command-line-rust]⮳ (O'Reilly, 2022, ISBN 9781098109417)
-
-[command-line-rust]: https://github.com/kyclark/command-line-rust/tree/main
-[command-line-apps-in-rust]: https://rust-cli.github.io/book/index.html#command-line-apps-in-rust
-
-## Ratatui
-
-- [ratatui][ratatui-github]⮳
-
-[ratatui-github]: https://github.com/ratatui-org/ratatui
-
+TODO: cover ratatui
diff --git a/src/categories/command-line-utilities/index.md b/src/categories/command-line-utilities/index.md
index 7dde893c..802421c2 100644
--- a/src/categories/command-line-utilities/index.md
+++ b/src/categories/command-line-utilities/index.md
@@ -55,6 +55,5 @@ apt install gping
{{#include ../../refs/link-refs.md}}
-TODO:
-
+TODO: organize
diff --git a/src/categories/compilers/cross_compilation.md b/src/categories/compilers/cross_compilation.md
index 5bda8d93..1cc03392 100644
--- a/src/categories/compilers/cross_compilation.md
+++ b/src/categories/compilers/cross_compilation.md
@@ -31,6 +31,6 @@ Examples: [![cross-toml-example][c-cross-toml-example-badge]][c-cross-toml-examp
{{#include refs.incl.md}}
{{#include ../../refs/link-refs.md}}
+
-TODO:
diff --git a/src/categories/compilers/faster_linking.md b/src/categories/compilers/faster_linking.md
index 70a6a25b..cf75eb57 100644
--- a/src/categories/compilers/faster_linking.md
+++ b/src/categories/compilers/faster_linking.md
@@ -60,6 +60,7 @@ rustflags = ["-C", "link-arg=-fuse-ld=/usr/bin/mold"]
{{#include refs.incl.md}}
{{#include ../../refs/link-refs.md}}
+
-TODO:
+TODO: review - some linkers are deprecated
diff --git a/src/categories/compilers/index.md b/src/categories/compilers/index.md
index d83ceead..ab210668 100644
--- a/src/categories/compilers/index.md
+++ b/src/categories/compilers/index.md
@@ -14,11 +14,8 @@ Compiler{{hi:Compiler}} implementations, including interpreters{{hi:Interpreters
{{#include reduce_compilation_duration.incl.md}}
-`cargo build`
-
{{#include refs.incl.md}}
{{#include ../../refs/link-refs.md}}
-TODO:
diff --git a/src/categories/compilers/reduce_compilation_duration.md b/src/categories/compilers/reduce_compilation_duration.md
index 59cf1c0c..8792f3ef 100644
--- a/src/categories/compilers/reduce_compilation_duration.md
+++ b/src/categories/compilers/reduce_compilation_duration.md
@@ -50,26 +50,27 @@ cargo build
From-scratch builds with incremental compilation{{hi:Incremental compilation}} enabled adds about 15–20% overhead compared to disabled. The initial build needs to write out more intermediate state in order for later incremental builds to take advantage of it. In a CI{{hi:CI}} situation, it would be extremely unusual for there to be a later incremental build within the same job. The jobs are not making changes to source code and rebuilding. However, workflows that cache the target directory across runs might be benefiting from incremental compilation.
-## Reference
+### Incremental Computation
-[8 Solutions for Troubleshooting Your Rust Build Times][blog-rust-build-times]⮳
+### Salsa
-{{#include refs.incl.md}}
-{{#include ../../refs/link-refs.md}}
+[![salsa-github][c-salsa-github-badge]][c-salsa-github] [![cat-development-tools][cat-development-tools-badge]][cat-development-tools]
-
-TODO:
+[Salsa][c-salsa-website]⮳
-## Salsa
+[Salsa (GitHub)][c-salsa-github]⮳ is a framework for on-demand, incremental computation.
-- [Salsa][salsa-website]⮳
+Salsa is a Rust framework for writing incremental, on-demand programs -- these are programs that want to adapt to changes in their inputs, continuously producing a new output that is up-to-date.
-## Rust compile duration
+## Reference
-- [how-i-improved-my-rust-compile-times-by-seventy-five-percent][how-i-improved-my-rust-compile-times-by-seventy-five-percent]⮳
-- [rust-compilation-time][rust-compilation-time]⮳
+- [8 Solutions for Troubleshooting Your Rust Build Times][blog-rust-build-times]⮳
+- [how-i-improved-my-rust-compile-times-by-seventy-five-percent][blog-how-i-improved-my-rust-compile-times-by-seventy-five-percent]⮳
+- [rust-compilation-time][blog-rust-compilation-time]⮳
-[salsa-website]: https://salsa-rs.github.io/salsa/overview.html
-[how-i-improved-my-rust-compile-times-by-seventy-five-percent]: https://benw.is/posts/how-i-improved-my-rust-compile-times-by-seventy-five-percent
-[rust-compilation-time]: https://www.williballenthin.com/post/rust-compilation-time/
+{{#include refs.incl.md}}
+{{#include ../../refs/link-refs.md}}
+
+
+TODO: fix reference section
diff --git a/src/categories/compression/index.md b/src/categories/compression/index.md
index 53807603..fc2fc868 100644
--- a/src/categories/compression/index.md
+++ b/src/categories/compression/index.md
@@ -6,6 +6,6 @@ Algorithms for making data smaller.
{{#include refs.incl.md}}
{{#include ../../refs/link-refs.md}}
+
-TODO:
diff --git a/src/categories/compression/tar.md b/src/categories/compression/tar.md
index a4af7f54..dfac6fea 100644
--- a/src/categories/compression/tar.md
+++ b/src/categories/compression/tar.md
@@ -38,6 +38,7 @@ Iterate over the [`tar::Archive::entries`][c-tar::Archive::entries]{{hi:tar::Arc
{{#include refs.incl.md}}
{{#include ../../refs/link-refs.md}}
+
-TODO:
+TODO: review
diff --git a/src/categories/computer-vision/index.incl.md b/src/categories/computer-vision/index.incl.md
index fc6b056c..8c9342e2 100644
--- a/src/categories/computer-vision/index.incl.md
+++ b/src/categories/computer-vision/index.incl.md
@@ -3,5 +3,5 @@
| [Open CV][ex-open-cv] | | [![cat-computer-vision][cat-computer-vision-badge]][cat-computer-vision] |
-TODO:
+TODO: add crate badges
diff --git a/src/categories/computer-vision/index.md b/src/categories/computer-vision/index.md
index a1238f22..1edee495 100644
--- a/src/categories/computer-vision/index.md
+++ b/src/categories/computer-vision/index.md
@@ -12,6 +12,7 @@
{{#include refs.incl.md}}
{{#include ../../refs/link-refs.md}}
+
TODO: header; add example
diff --git a/src/categories/concurrency/__actors.md b/src/categories/concurrency/__actors.md
index 4a188b46..76658e5d 100644
--- a/src/categories/concurrency/__actors.md
+++ b/src/categories/concurrency/__actors.md
@@ -18,6 +18,8 @@
[`ractor`][c-ractor-crates.io]{{hi:ractor}}⮳
+A lightweight low-level single-threaded actor runtime [stakker][c-stakker-github]
+
## Utilities
{{hi:Await tree}}[`Await tree`][c-await-tree-crates.io]⮳
@@ -29,22 +31,5 @@
{{#include ../../refs/link-refs.md}}
-TODO:
-
-## Actors on Rust
-
-- [riker.rs][c-riker-website]
-
-[c-riker-website]: https://riker.rs/actors
-
-A lightweight low-level single-threaded actor runtime [stakker][stakker-github]
-
-[stakker-github]: https://github.com/uazu/stakker
-
-## Crossbeam
-
-- [crossbeam][c-crossbeam-github]
-
-[c-crossbeam-github]: https://github.com/crossbeam-rs/crossbeam
-
+TODO: organize
diff --git a/src/categories/concurrency/index.md b/src/categories/concurrency/index.md
index 24253b88..5f5b3942 100644
--- a/src/categories/concurrency/index.md
+++ b/src/categories/concurrency/index.md
@@ -47,5 +47,11 @@ Here are the topics we’ll cover:
{{#include ../../refs/link-refs.md}}
-TODO:
+TODO: add crossbeam
+
+## Crossbeam
+
+[crossbeam][c-crossbeam-github]
+
+
diff --git a/src/categories/concurrency/message_passing.md b/src/categories/concurrency/message_passing.md
index efc5450f..5fa04809 100644
--- a/src/categories/concurrency/message_passing.md
+++ b/src/categories/concurrency/message_passing.md
@@ -42,6 +42,7 @@ Example using specialized channels for tickers{{hi:Tickers}} and timeout{{hi:Tim
{{#include refs.incl.md}}
{{#include ../../refs/link-refs.md}}
+
-TODO:
+TODO: organize see also
diff --git a/src/categories/concurrency/multithreading.md b/src/categories/concurrency/multithreading.md
index 804d911b..e02fa01c 100644
--- a/src/categories/concurrency/multithreading.md
+++ b/src/categories/concurrency/multithreading.md
@@ -58,6 +58,7 @@ Rayon implements [`rayon::join`][c-rayon::join]{{hi:rayon::join}}⮳, [`rayon::j
{{#include refs.incl.md}}
{{#include ../../refs/link-refs.md}}
+
-TODO:
+TODO: expand - threadpool?
diff --git a/src/categories/concurrency/parallel.md b/src/categories/concurrency/parallel.md
index f45322c9..b1646ad8 100644
--- a/src/categories/concurrency/parallel.md
+++ b/src/categories/concurrency/parallel.md
@@ -76,6 +76,6 @@ This example generates thumbnails for all `jpg`{{hi:JPEG}} files in the current
{{#include refs.incl.md}}
{{#include ../../refs/link-refs.md}}
+
-TODO:
diff --git a/src/categories/concurrency/shared_state/concurrent_data_structures.incl.md b/src/categories/concurrency/shared_state/concurrent_data_structures.incl.md
index 861de978..bda67c4c 100644
--- a/src/categories/concurrency/shared_state/concurrent_data_structures.incl.md
+++ b/src/categories/concurrency/shared_state/concurrent_data_structures.incl.md
@@ -3,5 +3,5 @@
| | | [![cat-concurrency][cat-concurrency-badge]][cat-concurrency] |
-TODO:
+TODO: add links
diff --git a/src/categories/concurrency/shared_state/concurrent_data_structures.md b/src/categories/concurrency/shared_state/concurrent_data_structures.md
index 75df5926..c98cf616 100644
--- a/src/categories/concurrency/shared_state/concurrent_data_structures.md
+++ b/src/categories/concurrency/shared_state/concurrent_data_structures.md
@@ -24,6 +24,7 @@
{{#include refs.incl.md}}
{{#include ../../../refs/link-refs.md}}
+
-TODO:
+TODO: add crate badges
diff --git a/src/categories/concurrency/shared_state/index.md b/src/categories/concurrency/shared_state/index.md
index 59f6dd7f..23c0add9 100644
--- a/src/categories/concurrency/shared_state/index.md
+++ b/src/categories/concurrency/shared_state/index.md
@@ -54,6 +54,6 @@ The most common way to share an atomic variable is to put it into an [`std::sync
{{#include refs.incl.md}}
{{#include ../../../refs/link-refs.md}}
+
-TODO:
diff --git a/src/categories/concurrency/threads.md b/src/categories/concurrency/threads.md
index e9ffd875..7ddd6b40 100644
--- a/src/categories/concurrency/threads.md
+++ b/src/categories/concurrency/threads.md
@@ -85,6 +85,6 @@ Allocate memory for output image of given width and height with [`image::ImageBu
{{#include refs.incl.md}}
{{#include ../../refs/link-refs.md}}
+
-TODO:
diff --git a/src/categories/config/configuration.md b/src/categories/config/configuration.md
index d51b0068..a585aa34 100644
--- a/src/categories/config/configuration.md
+++ b/src/categories/config/configuration.md
@@ -18,6 +18,7 @@
{{#include refs.incl.md}}
{{#include ../../refs/link-refs.md}}
+
-TODO:
+TODO: expand; add text
diff --git a/src/categories/config/environment_variables.md b/src/categories/config/environment_variables.md
index 936f7068..797df70d 100644
--- a/src/categories/config/environment_variables.md
+++ b/src/categories/config/environment_variables.md
@@ -46,6 +46,7 @@ serde = { version = "1.0", features = ["derive"] }
{{#include refs.incl.md}}
{{#include ../../refs/link-refs.md}}
+
-TODO:
+TODO: interaction between config and env variables
diff --git a/src/categories/config/index.md b/src/categories/config/index.md
index 96034486..653d9e89 100644
--- a/src/categories/config/index.md
+++ b/src/categories/config/index.md
@@ -12,6 +12,6 @@ Facilitate configuration management{{hi:configuration management}} for applicati
{{#include refs.incl.md}}
{{#include ../../refs/link-refs.md}}
+
-TODO:
diff --git a/src/categories/cryptography/encryption.md b/src/categories/cryptography/encryption.md
index 29640cf9..7c467a83 100644
--- a/src/categories/cryptography/encryption.md
+++ b/src/categories/cryptography/encryption.md
@@ -2,8 +2,6 @@
{{#include encryption.incl.md}}
-
-
## Salt and hash a password with PBKDF2
[![ring][c-ring-badge]][c-ring] [![data_encoding][c-data_encoding-badge]][c-data_encoding] [![cat-cryptography][cat-cryptography-badge]][cat-cryptography]
@@ -18,6 +16,6 @@ The salt is generated using [`ring::rand::SecureRandom::fill`][c-ring::rand::Sec
{{#include refs.incl.md}}
{{#include ../../refs/link-refs.md}}
+
-TODO:
diff --git a/src/categories/cryptography/hashing.md b/src/categories/cryptography/hashing.md
index e0ff891f..77d71e5f 100644
--- a/src/categories/cryptography/hashing.md
+++ b/src/categories/cryptography/hashing.md
@@ -24,6 +24,6 @@ Uses [`ring::hmac`][c-ring::hmac]{{hi:ring::hmac}}⮳ to creates a [`ring::signa
{{#include refs.incl.md}}
{{#include ../../refs/link-refs.md}}
+
-TODO:
diff --git a/src/categories/cryptography/index.md b/src/categories/cryptography/index.md
index 0a714ca6..7a1d7776 100644
--- a/src/categories/cryptography/index.md
+++ b/src/categories/cryptography/index.md
@@ -12,6 +12,6 @@ Securing data.
{{#include refs.incl.md}}
{{#include ../../refs/link-refs.md}}
+
-TODO:
diff --git a/src/categories/data-structures/bitfield.md b/src/categories/data-structures/bitfield.md
index 86776c94..559a0d4b 100644
--- a/src/categories/data-structures/bitfield.md
+++ b/src/categories/data-structures/bitfield.md
@@ -14,6 +14,6 @@ Creates type-safe bitfield{{hi:bitfield}} type `MyFlags` with help of [`bitflags
{{#include refs.incl.md}}
{{#include ../../refs/link-refs.md}}
+
-TODO:
diff --git a/src/categories/data-structures/index.md b/src/categories/data-structures/index.md
index 6e7c7320..69fc0ec3 100644
--- a/src/categories/data-structures/index.md
+++ b/src/categories/data-structures/index.md
@@ -2,25 +2,21 @@
Rust implementations of ways of organizing data suited for specific purposes.
-{{#include bitfield.incl.md}}
-
-{{#include refs.incl.md}}
-{{#include ../../refs/link-refs.md}}
-
-
-TODO:
-
## Slotmap
-- [slotmap][c-slotmap-crates.io]⮳
+[slotmap][c-slotmap-crates.io]⮳
+
+`slotmpa` provides three containers with persistent unique keys to access stored values, `SlotMap`, `HopSlotMap` and `DenseSlotMap`. Upon insertion a key is returned that can be used to later access or remove the values. Insertion, deletion and access all take O(1) time with low overhead. Use it to store collections of objects that need stable, safe references but have no clear ownership otherwise, such as game entities or graph nodes. Two secondary maps, `SecondaryMap` and `SparseSecondaryMap` are also provided that map further objects to the keys created by one of the slot maps.
-A Rust library providing three containers with persistent unique keys to access stored values, `SlotMap`, `HopSlotMap` and `DenseSlotMap`. Upon insertion a key is returned that can be used to later access or remove the values. Insertion, deletion and access all take O(1) time with low overhead. Great for storing collections of objects that need stable, safe references but have no clear ownership otherwise, such as game entities or graph nodes. Two secondary maps, `SecondaryMap` and `SparseSecondaryMap` are also provided that allow you to map further objects to the keys created by one of the slot maps.
+## See also
-See also
+[Splay_tree][wikipedia-splay-tree]⮳
-- [Splay_tree][wikipedia-splay-tree]⮳
+{{#include bitfield.incl.md}}
-[wikipedia-splay-tree]: https://en.wikipedia.org/wiki/Splay_tree
-[c-slotmap-crates.io]: https://crates.io/crates/slotmap
+{{#include refs.incl.md}}
+{{#include ../../refs/link-refs.md}}
+
+TODO: expand
diff --git a/src/categories/database-implementations/index.md b/src/categories/database-implementations/index.md
index db77ca92..0a598594 100644
--- a/src/categories/database-implementations/index.md
+++ b/src/categories/database-implementations/index.md
@@ -4,13 +4,6 @@
[![cat-database-implementations][cat-database-implementations-badge]][cat-database-implementations]
-## SurrealDB
-
-{{#include refs.incl.md}}
-{{#include ../../refs/link-refs.md}}
-
-TODO:
-
## Sled
An embedded database [sled][c-sled-github]⮳
@@ -20,7 +13,9 @@ An embedded database [sled][c-sled-github]⮳
- A lightning-fast search API that fits effortlessly into your apps, websites, and workflow: [meilisearch][c-meilisearch-github]⮳
- Tantivy is a full-text search engine library inspired by Apache Lucene and written in Rust [tantivy][c-tantivy-github]⮳
-[c-tantivy-github]: https://github.com/quickwit-oss/tantivy
-[c-sled-github]: https://github.com/spacejam/sled
-[c-meilisearch-github]: https://github.com/meilisearch/meilisearch
+{{#include refs.incl.md}}
+{{#include ../../refs/link-refs.md}}
+
+
+TODO: expand, add SurrealDB
diff --git a/src/categories/database/index.md b/src/categories/database/index.md
index a85d6cbe..d2f027fc 100644
--- a/src/categories/database/index.md
+++ b/src/categories/database/index.md
@@ -16,12 +16,6 @@ Interface with database management systems{{hi:Database management systems}}.
{{#include refs.incl.md}}
{{#include ../../refs/link-refs.md}}
-
-TODO:
-
-## Cornucopia for postgres
-Generate type-checked Rust from your PostgreSQL: [cornucopia-rs][c-cornucopia-github]⮳
-
-[c-cornucopia-github]: https://github.com/cornucopia-rs/cornucopia
+
diff --git a/src/categories/database/postgres.md b/src/categories/database/postgres.md
index dd23c645..6a2f5fe3 100644
--- a/src/categories/database/postgres.md
+++ b/src/categories/database/postgres.md
@@ -34,8 +34,13 @@ This recipe lists the nationalities of the first 7999 artists in the database of
{{#include ../../../deps/tests/aggregate_data.rs}}
```
+## Cornucopia for postgres
+
+Generate type-checked Rust from your PostgreSQL: [cornucopia-rs][c-cornucopia-github]⮳
+
{{#include refs.incl.md}}
{{#include ../../refs/link-refs.md}}
+
-TODO:
+TODO: cornucopia
diff --git a/src/categories/database/query_builders_orms.md b/src/categories/database/query_builders_orms.md
index 4aed127b..8a77fbe7 100644
--- a/src/categories/database/query_builders_orms.md
+++ b/src/categories/database/query_builders_orms.md
@@ -20,11 +20,6 @@
{{#include refs.incl.md}}
{{#include ../../refs/link-refs.md}}
-
-TODO:
-
-- [SeaORM][seaorm]⮳
-
-[seaorm]: https://www.sea-ql.org/SeaORM/docs/introduction/sea-orm
+
diff --git a/src/categories/database/sqlite.md b/src/categories/database/sqlite.md
index 88960d5a..91f6c355 100644
--- a/src/categories/database/sqlite.md
+++ b/src/categories/database/sqlite.md
@@ -41,6 +41,6 @@ In the following example, colors add to a table having a unique constraint on th
{{#include refs.incl.md}}
{{#include ../../refs/link-refs.md}}
+
-TODO:
diff --git a/src/categories/date-and-time/duration.md b/src/categories/date-and-time/duration.md
index 8bb2fb5b..f1a7334e 100644
--- a/src/categories/date-and-time/duration.md
+++ b/src/categories/date-and-time/duration.md
@@ -41,6 +41,6 @@ Gets the local time{{hi:Time}} and displays it using [`chrono::offset::Local::no
{{#include refs.incl.md}}
{{#include ../../refs/link-refs.md}}
+
-TODO:
diff --git a/src/categories/date-and-time/index.md b/src/categories/date-and-time/index.md
index 56038369..4bb2dab1 100644
--- a/src/categories/date-and-time/index.md
+++ b/src/categories/date-and-time/index.md
@@ -12,6 +12,6 @@ Manage the complexity of dealing with the fourth dimension.
{{#include refs.incl.md}}
{{#include ../../refs/link-refs.md}}
+
-TODO:
diff --git a/src/categories/date-and-time/parse.md b/src/categories/date-and-time/parse.md
index b0c8e538..c7257472 100644
--- a/src/categories/date-and-time/parse.md
+++ b/src/categories/date-and-time/parse.md
@@ -53,6 +53,6 @@ Escape sequences that are available for the [`chrono::DateTime::parse_from_str`]
{{#include refs.incl.md}}
{{#include ../../refs/link-refs.md}}
+
-TODO:
diff --git a/src/categories/development-tools/cargo/crates.md b/src/categories/development-tools/cargo/crates.md
index 663770ef..dfa56dac 100644
--- a/src/categories/development-tools/cargo/crates.md
+++ b/src/categories/development-tools/cargo/crates.md
@@ -11,6 +11,7 @@ The Rust community’s crate registry: [`crates.io`][crates.io]{{hi:crates.io}}
Alternative to `crates.io`: [`lib.rs`][lib-rs]{{hi:lib.rs}}⮳
{{#include ../../../refs/link-refs.md}}
+
-TODO:
+TODO: expand
diff --git a/src/categories/development-tools/cargo/index.md b/src/categories/development-tools/cargo/index.md
index 321232e0..64ca0f61 100644
--- a/src/categories/development-tools/cargo/index.md
+++ b/src/categories/development-tools/cargo/index.md
@@ -93,6 +93,6 @@ cargo add actix-web@4.0.0
{{#include refs.incl.md}}
{{#include ../../../refs/link-refs.md}}
+
-TODO:
diff --git a/src/categories/development-tools/cargo/package_layout.md b/src/categories/development-tools/cargo/package_layout.md
index 6907931d..76c3a151 100644
--- a/src/categories/development-tools/cargo/package_layout.md
+++ b/src/categories/development-tools/cargo/package_layout.md
@@ -39,6 +39,6 @@ If you’re building a non-end product, such as a rust library that other rust p
- If a package contains `src/main.rs`{{hi:src/main.rs}} and `src/lib.rs`{{hi:src/lib.rs}}, it has two crates: a binary and a library, both with the same name as the package.
{{#include ../../../refs/link-refs.md}}
+
-TODO:
diff --git a/src/categories/development-tools/cargo/refs.incl.md b/src/categories/development-tools/cargo/refs.incl.md
index 0828419e..afabeb4f 100644
--- a/src/categories/development-tools/cargo/refs.incl.md
+++ b/src/categories/development-tools/cargo/refs.incl.md
@@ -1,6 +1,3 @@
[ex-basic-cargo-usage]: index.md#basic-cargo-usage
[ex-cargo-toml]: index.md#cargotoml-and-lock-files
[ex-crates.io]: crates.md
-
-TODO:
-
diff --git a/src/categories/development-tools/documentation/badges.md b/src/categories/development-tools/documentation/badges.md
index 8d7d2e7c..3b80361d 100644
--- a/src/categories/development-tools/documentation/badges.md
+++ b/src/categories/development-tools/documentation/badges.md
@@ -7,6 +7,7 @@ A badge{{hi:Badges}} is a small image that displays status information about a c
[Shield.io][shield-io-website]⮳
{{#include ../../../refs/link-refs.md}}
+
-TODO:
+TODO: expand
diff --git a/src/categories/development-tools/documentation/index.md b/src/categories/development-tools/documentation/index.md
index fe9999ed..f479acb8 100644
--- a/src/categories/development-tools/documentation/index.md
+++ b/src/categories/development-tools/documentation/index.md
@@ -57,6 +57,6 @@ The first lines within `lib.rs`{{hi:lib.rs}} will compose the crate-level docume
{{#include refs.incl.md}}
{{#include ../../../refs/link-refs.md}}
+
-TODO:
diff --git a/src/categories/development-tools/documentation/mdbook.md b/src/categories/development-tools/documentation/mdbook.md
index aca7b6f8..e9c27ea8 100644
--- a/src/categories/development-tools/documentation/mdbook.md
+++ b/src/categories/development-tools/documentation/mdbook.md
@@ -13,28 +13,23 @@ cargo install mdbook-hide # optional plugin; many others exist
mdbook serve --open
```
-## See also
-
[mdBook documentation][c-mdbook-documentation]⮳
-[![mdbook_hide-github][c-mdbook_hide-github-badge]][c-mdbook_hide-github] [![cat-development-tools][cat-development-tools-badge]][cat-development-tools]
+## `mdbook` plugins
-{{#include ../../../refs/link-refs.md}}
-
-
-TODO:
+[![mdbook_hide-github][c-mdbook_hide-github-badge]][c-mdbook_hide-github] [![cat-development-tools][cat-development-tools-badge]][cat-development-tools]
-- [mdbook third-party plugins][third-party-plugins]
+- [mdbook third-party plugins][c-mdbook-third-party-plugins-wiki]
- [mdbook-private][c-mdbook-private-github]
- [mdbook-linkcheck][c-mdbook-linkcheck-github]
-- [About GitHub Actions for mdBook (rust-lang/mdBook)][actions-mdbook-github]
+- A runner for `mdbook`s to keep your documentation tested: [Byron-termbook][c-termbook-github]
+
+## CD / CI
-[c-mdbook-linkcheck-github]: https://github.com/Michael-F-Bryan/mdbook-linkcheck
-[third-party-plugins]: https://github.com/rust-lang/mdBook/wiki/Third-party-plugins
-[c-mdbook-private-github]: https://github.com/RealAtix/mdbook-private
-[actions-mdbook-github]: https://github.com/peaceiris/actions-mdbook
+[GitHub Actions for mdBook][actions-mdbook-github]
-A runner for `mdbooks` to keep your documentation tested: [Byron-termbook][c-termbook-github]
+{{#include ../../../refs/link-refs.md}}
-[c-termbook-github]: https://github.com/Byron/termbook
+
+TODO: organize, expand
diff --git a/src/categories/development-tools/documentation/playground.md b/src/categories/development-tools/documentation/playground.md
index 6233c7ee..0bc96d13 100644
--- a/src/categories/development-tools/documentation/playground.md
+++ b/src/categories/development-tools/documentation/playground.md
@@ -3,6 +3,7 @@
[Playground (Rust by example)][book-rust-by-example-playground]⮳ [![cat-development-tools][cat-development-tools-badge]][cat-development-tools]
{{#include ../../../refs/link-refs.md}}
+
-TODO:
+TODO: expand
diff --git a/src/categories/development-tools/formatting/index.md b/src/categories/development-tools/formatting/index.md
index 45d07f82..b85099dc 100644
--- a/src/categories/development-tools/formatting/index.md
+++ b/src/categories/development-tools/formatting/index.md
@@ -75,6 +75,6 @@ For things you do not want rustfmt to mangle, use `#[rustfmt::skip]` , `#[rustfm
{{#include refs.incl.md}}
{{#include ../../../refs/link-refs.md}}
+
-TODO:
diff --git a/src/categories/development-tools/index.md b/src/categories/development-tools/index.md
index aa2c4722..fa3e5bfb 100644
--- a/src/categories/development-tools/index.md
+++ b/src/categories/development-tools/index.md
@@ -30,6 +30,6 @@ Tools that provide developer-facing features such as testing, debugging, linting
{{#include refs.incl.md}}
{{#include ../../refs/link-refs.md}}
+
-TODO:
diff --git a/src/categories/development-tools/installation/index.md b/src/categories/development-tools/installation/index.md
index 25484781..e8ff4ce2 100644
--- a/src/categories/development-tools/installation/index.md
+++ b/src/categories/development-tools/installation/index.md
@@ -25,6 +25,4 @@ Binstall works by fetching the crate information from crates.io and searching th
{{#include ../../../refs/link-refs.md}}
-TODO:
-
diff --git a/src/categories/development-tools/installation/rustup.md b/src/categories/development-tools/installation/rustup.md
index fd5ea040..4e4522c7 100644
--- a/src/categories/development-tools/installation/rustup.md
+++ b/src/categories/development-tools/installation/rustup.md
@@ -41,6 +41,6 @@ rustup component list
{{#include refs.incl.md}}
{{#include ../../../refs/link-refs.md}}
+
-TODO:
diff --git a/src/categories/development-tools/other/index.md b/src/categories/development-tools/other/index.md
index 6df523f4..9d577a89 100644
--- a/src/categories/development-tools/other/index.md
+++ b/src/categories/development-tools/other/index.md
@@ -10,29 +10,25 @@
[shuttle.rs][shuttle-rs-website]⮳ [![cat-development-tools][cat-development-tools-badge]][cat-development-tools]
-{{#include refs.incl.md}}
-{{#include ../../../refs/link-refs.md}}
-
-TODO:
-
## Binary minimizer
How to minimize Rust binary size [min-sized-rust][min-sized-rust-github]⮳
## Code generators
-- [top-artificial-intelligence-ai-tools-that-can-generate-code-to-help-programmers][ai-tools-that-can-generate-code]⮳
+[top-artificial-intelligence-ai-tools-that-can-generate-code-to-help-programmers][blog-ai-tools-that-can-generate-code]⮳
## Code verifier
-Kani Rust Verifier [kani][kani-github]⮳
+Kani Rust Verifier: [kani][c-kani-github]⮳
-## Formal Methods + Rust
+## Formal Methods
-- [rust-formal-methods.github.io][rust-formal-methods]⮳
+[rust-formal-methods.github.io][rust-formal-methods-website]⮳
-[ai-tools-that-can-generate-code]: https://www.marktechpost.com/2024/03/14/top-artificial-intelligence-ai-tools-that-can-generate-code-to-help-programmers/
-[kani-github]: https://github.com/model-checking/kani
-[rust-formal-methods]: https://rust-formal-methods.github.io/tools.html
-[min-sized-rust-github]: https://github.com/johnthagen/min-sized-rust
+{{#include refs.incl.md}}
+{{#include ../../../refs/link-refs.md}}
+
+
+TODO: expand
diff --git a/src/categories/development-tools/other/just.md b/src/categories/development-tools/other/just.md
index 42abeb6d..f429d8ba 100644
--- a/src/categories/development-tools/other/just.md
+++ b/src/categories/development-tools/other/just.md
@@ -69,6 +69,6 @@ foo:
{{#include refs.incl.md}}
{{#include ../../../refs/link-refs.md}}
+
-TODO:
diff --git a/src/categories/development-tools/other/miri.md b/src/categories/development-tools/other/miri.md
index f1583145..4f1130f4 100644
--- a/src/categories/development-tools/other/miri.md
+++ b/src/categories/development-tools/other/miri.md
@@ -16,6 +16,6 @@ cargo miri run
{{#include refs.incl.md}}
{{#include ../../../refs/link-refs.md}}
+
-TODO:
diff --git a/src/categories/development-tools/versioning/index.md b/src/categories/development-tools/versioning/index.md
index d610d6c1..75552154 100644
--- a/src/categories/development-tools/versioning/index.md
+++ b/src/categories/development-tools/versioning/index.md
@@ -61,6 +61,6 @@ Runs `git --version` using [`std::process::Command`][c-std::process::Command]{{h
{{#include refs.incl.md}}
{{#include ../../../refs/link-refs.md}}
+
-TODO:
diff --git a/src/categories/development-tools_build-utils/index.md b/src/categories/development-tools_build-utils/index.md
index f8b09716..9e10ceb0 100644
--- a/src/categories/development-tools_build-utils/index.md
+++ b/src/categories/development-tools_build-utils/index.md
@@ -146,6 +146,6 @@ void print_app_info() {
{{#include refs.incl.md}}
{{#include ../../refs/link-refs.md}}
+
-TODO:
diff --git a/src/categories/development-tools_cargo-plugins/index.md b/src/categories/development-tools_cargo-plugins/index.md
index 30254e5b..7b296327 100644
--- a/src/categories/development-tools_cargo-plugins/index.md
+++ b/src/categories/development-tools_cargo-plugins/index.md
@@ -103,12 +103,6 @@ cargo machete
[Cargo Generate][c-cargo_generate-crates.io]⮳ is a developer tool to help you get up and running quickly with a new Rust project by leveraging a pre-existing git repository as a template.
-{{#include refs.incl.md}}
-{{#include ../../refs/link-refs.md}}
-
-
-TODO:
-
## Cargo Make
Install with
@@ -118,11 +112,7 @@ cargo install --force cargo-make
cargo make --version
```
-- [automating-your-rust-workflows-with-cargo-make-part-1-of-5-introduction-and-basics][c-cargo-make-blog]⮳
-
-## Cargo plugins
-
-GitHub Action for installing development tools (mainly from GitHub Releases). List of tools: [cargo plugins][cargo-plugins]⮳
+[automating-your-rust-workflows-with-cargo-make][c-cargo-make-blog]⮳
## Cargo auditable
@@ -136,7 +126,7 @@ Cargo with less noise: warnings are skipped until errors are fixed, Neovim integ
- [`cargo cache`][c-cargo-cache-github]⮳
-## Cargo Husky
+## Cargo husky
[cargo-husky][c-cargo-husky-github]⮳ Setup Git hooks automatically for cargo projects with 🐶
@@ -173,18 +163,13 @@ Devx is a collection of utilities for writing your own dev scripts in Rust. The
Cargo subcommand for configuring Cargo projects for best performance. [cargo-wizard][c-cargo-wizard-github]⮳
-[cargo-plugins]: https://github.com/taiki-e/install-action
-[c-cargo-limit-crates.io]: https://crates.io/crates/cargo-limit
-[c-cargo-auditable-github]: https://github.com/rust-secure-code/cargo-auditable
-[c-cargo-cache-github]: https://github.com/matthiaskrgr/cargo-cache
-[c-cargo-husky-github]: https://github.com/rhysd/cargo-husky
-[pre-commit.com-website]: https://pre-commit.com/index.html
-[c-cargo-xtask-github]: https://github.com/matklad/cargo-xtask
-[c-devx-github]: https://github.com/elastio/devx
-[c-xshell-github]: https://github.com/matklad/xshell
-[c-duct-github]: https://github.com/oconnor663/duct.rs
-[c-duct-gotchas-github]: https://github.com/oconnor663/duct.py/blob/master/gotchas.md
-[c-cargo-hakari-crates.io]: https://crates.io/crates/cargo-hakari
-[c-cargo-wizard-github]: https://github.com/Kobzol/cargo-wizard
-[c-cargo-make-blog]: https://medium.com/@sagiegurari/automating-your-rust-workflows-with-cargo-make-part-1-of-5-introduction-and-basics-b19ced7e7057
+## GitHub action for cargo plugins
+
+GitHub Action for installing development tools (mainly from GitHub Releases). List of tools: [cargo plugins][cargo_plugins_install_action-github]⮳
+
+{{#include refs.incl.md}}
+{{#include ../../refs/link-refs.md}}
+
+
+TODO: expand
diff --git a/src/categories/development-tools_debugging/config_log.md b/src/categories/development-tools_debugging/config_log.md
index 9f279f6d..96e7ae30 100644
--- a/src/categories/development-tools_debugging/config_log.md
+++ b/src/categories/development-tools_debugging/config_log.md
@@ -78,6 +78,6 @@ Create the log configuration{{hi:log configuration}} with [`log4rs::append::file
{{#include refs.incl.md}}
{{#include ../../refs/link-refs.md}}
+
-TODO:
diff --git a/src/categories/development-tools_debugging/index.md b/src/categories/development-tools_debugging/index.md
index e29c845a..9c688202 100644
--- a/src/categories/development-tools_debugging/index.md
+++ b/src/categories/development-tools_debugging/index.md
@@ -8,22 +8,12 @@ Help you figure out what is going on with your code such as logging{{hi:Logging}
{{#include tracing.incl.md}}
+## See also
+
+Petabyte scale Elasticsearch/Splunk/Datadog alternative for logs, metrics, traces, RUM, Error tracking, Session replay: [openobserve][c-openobserve-github]⮳
+
{{#include refs.incl.md}}
{{#include ../../refs/link-refs.md}}
-TODO:
-
-## Observability
-
-petabyte scale Elasticsearch/Splunk/Datadog alternative for logs, metrics, traces, RUM, Error tracking, Session replay: [openobserve][c-openobserve-github]⮳
-
-## Tracing
-
-Support for logging [`tracing`][c-tracing-crates.io]⮳ events natively to [journald][journald]⮳, preserving structured information: [tracing_journald][c-tracing_journald]⮳
-
-[c-openobserve-github]: https://github.com/openobserve/openobserve
-[c-tracing_journald]: https://docs.rs/tracing-journald
-[journald]: https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html
-[c-tracing-events-crates.io]: https://crates.io/crates/tracing
diff --git a/src/categories/development-tools_debugging/log.md b/src/categories/development-tools_debugging/log.md
index f2866e50..15dc8300 100644
--- a/src/categories/development-tools_debugging/log.md
+++ b/src/categories/development-tools_debugging/log.md
@@ -69,6 +69,6 @@ Logs messages to [UNIX `syslog`][unix-syslog-website]⮳. Initializes logger bac
{{#include refs.incl.md}}
{{#include ../../refs/link-refs.md}}
+
-TODO:
diff --git a/src/categories/development-tools_debugging/tracing.md b/src/categories/development-tools_debugging/tracing.md
index b0322cad..3d8a9f08 100644
--- a/src/categories/development-tools_debugging/tracing.md
+++ b/src/categories/development-tools_debugging/tracing.md
@@ -86,8 +86,10 @@ Holding the drop guard returned by `Span::enter`{{hi:Span::enter}} across `.awai
[![log4rs][c-log4rs-badge]][c-log4rs]
+Support for logging [`tracing`][c-tracing-crates.io]⮳ events natively to [journald][journald]⮳, preserving structured information: [tracing_journald][c-tracing_journald]⮳
+
{{#include refs.incl.md}}
{{#include ../../refs/link-refs.md}}
+
-TODO:
diff --git a/src/categories/development-tools_ffi/index.incl.md b/src/categories/development-tools_ffi/index.incl.md
index 3cfb3706..4378fe6e 100644
--- a/src/categories/development-tools_ffi/index.incl.md
+++ b/src/categories/development-tools_ffi/index.incl.md
@@ -1,6 +1,7 @@
| Recipe | Crates | Categories |
|--------|--------|------------|
| | | [![cat-ffi][cat-ffi-badge]][cat-ffi] |
+
-TODO:
+TODO: add recipe and crate links
diff --git a/src/categories/development-tools_ffi/index.md b/src/categories/development-tools_ffi/index.md
index 09d226f1..54d565ab 100644
--- a/src/categories/development-tools_ffi/index.md
+++ b/src/categories/development-tools_ffi/index.md
@@ -8,6 +8,7 @@ Tools to help you better interface with other languages. This includes binding g
{{#include refs.incl.md}}
{{#include ../../refs/link-refs.md}}
+
-TODO:
+TODO: write
diff --git a/src/categories/development-tools_procedural-macro-helpers/index.incl.md b/src/categories/development-tools_procedural-macro-helpers/index.incl.md
index f920b043..2d318597 100644
--- a/src/categories/development-tools_procedural-macro-helpers/index.incl.md
+++ b/src/categories/development-tools_procedural-macro-helpers/index.incl.md
@@ -2,5 +2,5 @@
|--------|--------|------------|
| | | [![cat-procedural-macro-helpers][cat-procedural-macro-helpers-badge]][cat-procedural-macro-helpers] |
-TODO:
+TODO: add crates and recipe links
diff --git a/src/categories/development-tools_procedural-macro-helpers/index.md b/src/categories/development-tools_procedural-macro-helpers/index.md
index 669abf8c..4e3623df 100644
--- a/src/categories/development-tools_procedural-macro-helpers/index.md
+++ b/src/categories/development-tools_procedural-macro-helpers/index.md
@@ -6,6 +6,7 @@
{{#include refs.incl.md}}
{{#include ../../refs/link-refs.md}}
+
-TODO:
+TODO: write
diff --git a/src/categories/development-tools_profiling/index.md b/src/categories/development-tools_profiling/index.md
index 5afe7e11..c19dd1c1 100644
--- a/src/categories/development-tools_profiling/index.md
+++ b/src/categories/development-tools_profiling/index.md
@@ -8,13 +8,8 @@ Development tools to help you figure out the performance of your code.
[Rust Performance Book][book-rust-performance] [![book-rust-performance-github][book-rust-performance-github-badge]][book-rust-performance-github]
-## Incremental Computation
-
-[![salsa-github][c-salsa-github-badge]][c-salsa-github] [![cat-development-tools][cat-development-tools-badge]][cat-development-tools]
-[Salsa (GitHub)][c-salsa-github]⮳ is a framework for on-demand, incremental computation.
-
{{#include refs.incl.md}}
{{#include ../../refs/link-refs.md}}
+
-TODO:
diff --git a/src/categories/development-tools_testing/index.md b/src/categories/development-tools_testing/index.md
index ccd1939b..2c8f09ec 100644
--- a/src/categories/development-tools_testing/index.md
+++ b/src/categories/development-tools_testing/index.md
@@ -32,6 +32,7 @@ Tools to help you verify the correctness{{hi:Correctness}} of your code.
{{#include refs.incl.md}}
{{#include ../../refs/link-refs.md}}
+
-TODO:
+TODO: expand: approx, nextest
diff --git a/src/categories/email/index.incl.md b/src/categories/email/index.incl.md
index d36d468e..1a748a5f 100644
--- a/src/categories/email/index.incl.md
+++ b/src/categories/email/index.incl.md
@@ -2,5 +2,5 @@
|--------|--------|------------|
| | | [![cat-email][cat-email-badge]][cat-email] |
-TODO:
+TODO: add links
diff --git a/src/categories/email/index.md b/src/categories/email/index.md
index 74a99d5d..a8cdc8f7 100644
--- a/src/categories/email/index.md
+++ b/src/categories/email/index.md
@@ -8,6 +8,7 @@ Crates to help with sending, receiving, formatting, and parsing email.
{{#include refs.incl.md}}
{{#include ../../refs/link-refs.md}}
+
-TODO:
+TODO: write
diff --git a/src/categories/embedded/index.incl.md b/src/categories/embedded/index.incl.md
index bfcfa81d..7a2d60cf 100644
--- a/src/categories/embedded/index.incl.md
+++ b/src/categories/embedded/index.incl.md
@@ -2,5 +2,5 @@
|--------|--------|------------|
| | | [![cat-embedded][cat-embedded-badge]][cat-embedded] |
-TODO:
+TODO: add links
diff --git a/src/categories/embedded/index.md b/src/categories/embedded/index.md
index f5154d72..96a19154 100644
--- a/src/categories/embedded/index.md
+++ b/src/categories/embedded/index.md
@@ -6,18 +6,18 @@ Crates that are primarily useful on embedded devices or without an operating sys
[![cat-embedded][cat-embedded-badge]][cat-embedded]
-{{#include refs.incl.md}}
-{{#include ../../refs/link-refs.md}}
+### Embassy
+
-
-TODO:
-## Embedded Rust
+### See also
- [Embedded devices working group][embedded-devices-working-group]⮳
- [rust-raspberrypi-OS-tutorials][rust-raspberrypi-OS-tutorials]⮳
-- Embassy
-[embedded-devices-working-group]: https://www.rust-lang.org/governance/wgs/embedded
-[rust-raspberrypi-OS-tutorials]: https://github.com/rust-embedded/rust-raspberrypi-OS-tutorials
+{{#include refs.incl.md}}
+{{#include ../../refs/link-refs.md}}
+
+
+TODO: add embassy, others
diff --git a/src/categories/encoding/complex.md b/src/categories/encoding/complex.md
index 8edae2c8..ab4c2426 100644
--- a/src/categories/encoding/complex.md
+++ b/src/categories/encoding/complex.md
@@ -44,6 +44,6 @@ Parse TOML into your own structs using [`serde`][c-serde]{{hi:serde}}⮳.
{{#include refs.incl.md}}
{{#include ../../refs/link-refs.md}}
+
-TODO:
diff --git a/src/categories/encoding/csv.md b/src/categories/encoding/csv.md
index 98965d39..fb35df75 100644
--- a/src/categories/encoding/csv.md
+++ b/src/categories/encoding/csv.md
@@ -83,10 +83,8 @@ See [`csv::Reader::deserialize`][c-csv::Reader::deserialize]{{hi:csv::Reader::de
{{#include ../../../deps/tests/transform.rs}}
```
-[c-csv-crate-tutorial]: https://docs.rs/csv/*/csv/tutorial/index.html#filter-by-search
{{#include refs.incl.md}}
{{#include ../../refs/link-refs.md}}
-TODO:
diff --git a/src/categories/encoding/index.md b/src/categories/encoding/index.md
index e226b64f..3296471f 100644
--- a/src/categories/encoding/index.md
+++ b/src/categories/encoding/index.md
@@ -20,11 +20,6 @@ Encoding and/or decoding{{hi:Decoding}} data from one data format to another.
{{#include refs.incl.md}}
{{#include ../../refs/link-refs.md}}
-
-TODO:
-
-- [serde][c-serde-github]⮳
-
-[c-serde-github]: https://github.com/serde-rs/serde
+
diff --git a/src/categories/encoding/serde.incl.md b/src/categories/encoding/serde.incl.md
index e5ac8bea..0a442e7e 100644
--- a/src/categories/encoding/serde.incl.md
+++ b/src/categories/encoding/serde.incl.md
@@ -2,5 +2,5 @@
|--------|--------|------------|
| | | [![cat-encoding][cat-encoding-badge]][cat-encoding] |
-TODO:
+TODO: add links
diff --git a/src/categories/encoding/serde.md b/src/categories/encoding/serde.md
index d80f332d..feacd7a8 100644
--- a/src/categories/encoding/serde.md
+++ b/src/categories/encoding/serde.md
@@ -4,6 +4,8 @@
[![serde][c-serde-badge]][c-serde]
+[serde][c-serde-github]⮳
+
## See also
[![serde_json][c-serde_json-badge]][c-serde_json]
@@ -14,6 +16,6 @@
{{#include refs.incl.md}}
{{#include ../../refs/link-refs.md}}
+
-TODO:
diff --git a/src/categories/encoding/strings.md b/src/categories/encoding/strings.md
index 07eff651..4733f73e 100644
--- a/src/categories/encoding/strings.md
+++ b/src/categories/encoding/strings.md
@@ -52,6 +52,6 @@ Encodes byte slice into `base64`{{hi:base64}} String using [`base64::encode`][c-
{{#include refs.incl.md}}
{{#include ../../refs/link-refs.md}}
+
-TODO:
diff --git a/src/categories/filesystem/dir.md b/src/categories/filesystem/dir.md
index 0b9ca5cf..a53e46f7 100644
--- a/src/categories/filesystem/dir.md
+++ b/src/categories/filesystem/dir.md
@@ -99,6 +99,6 @@ A custom [`glob::MatchOptions`][c-glob::MatchOptions]{{hi:glob::MatchOptions}}
{{#include refs.incl.md}}
{{#include ../../refs/link-refs.md}}
+
-TODO:
diff --git a/src/categories/filesystem/index.md b/src/categories/filesystem/index.md
index 2398d6b0..cc68fd09 100644
--- a/src/categories/filesystem/index.md
+++ b/src/categories/filesystem/index.md
@@ -8,6 +8,6 @@ Dealing with files{{hi:Files}} and file systems{{hi:File systems}}.
{{#include refs.incl.md}}
{{#include ../../refs/link-refs.md}}
+
-TODO:
diff --git a/src/categories/filesystem/read-write.md b/src/categories/filesystem/read-write.md
index cbf7c746..b2ebfda1 100644
--- a/src/categories/filesystem/read-write.md
+++ b/src/categories/filesystem/read-write.md
@@ -49,6 +49,6 @@ The [`memmap::Mmap::map`][c-memmap::Mmap::map]{{hi:memmap::Mmap::map}}⮳ functi
{{#include refs.incl.md}}
{{#include ../../refs/link-refs.md}}
+
-TODO:
diff --git a/src/categories/finance/index.md b/src/categories/finance/index.md
index a7a16788..8b775182 100644
--- a/src/categories/finance/index.md
+++ b/src/categories/finance/index.md
@@ -6,13 +6,10 @@ Dealing with money: accounting, trading, investments, taxes, banking and payment
[![rustquant][c-rustquant-badge]][c-rustquant] [![cat-finance][cat-finance-badge]][cat-finance]
+[rustquant][c-rustquant-lib.rs]⮳
+
{{#include refs.incl.md}}
{{#include ../../refs/link-refs.md}}
-
-TODO:
-## RustQuant
-
-- [rustquant][c-rustquant-lib.rs]⮳
-[c-rustquant-lib.rs]: https://lib.rs/crates/rustquant
+
diff --git a/src/categories/game-engines/index.md b/src/categories/game-engines/index.md
index fe9082a8..dc7e197a 100644
--- a/src/categories/game-engines/index.md
+++ b/src/categories/game-engines/index.md
@@ -10,6 +10,6 @@ Crates that try to provide a "one-stop-shop" for all of your game development ne
{{#include refs.incl.md}}
{{#include ../../refs/link-refs.md}}
+
-TODO:
diff --git a/src/categories/graphics/index.incl.md b/src/categories/graphics/index.incl.md
index 8a86c37e..287e4361 100644
--- a/src/categories/graphics/index.incl.md
+++ b/src/categories/graphics/index.incl.md
@@ -2,5 +2,5 @@
|--------|--------|------------|
| | | [![cat-graphics][cat-graphics-badge]][cat-graphics] |
-TODO:
+TODO: add links
diff --git a/src/categories/graphics/index.md b/src/categories/graphics/index.md
index 0f30cdac..3e853503 100644
--- a/src/categories/graphics/index.md
+++ b/src/categories/graphics/index.md
@@ -8,20 +8,17 @@ Crates for graphics libraries and applications, including raster and vector grap
[![cat-graphics][cat-graphics-badge]][cat-graphics]
-{{#include refs.incl.md}}
-{{#include ../../refs/link-refs.md}}
-
-
-TODO:
-
## Wgpu
A cross-platform, safe, pure-Rust graphics API: [github.com/gfx-rs/wgpu][c-wgpu-github]⮳.
It runs natively on Vulkan, Metal, D3D12, and OpenGL; and on top of WebGL2 and WebGPU on wasm. The API is based on the [WebGPU standard][webgpu-website]⮳. It serves as the core of the WebGPU integration in Firefox and Deno.
+See also:
+
- [WebGPU][wikipedia-webgpu]⮳
-[c-wgpu-github]: https://github.com/gfx-rs/wgpu
-[wikipedia-webgpu]: https://en.wikipedia.org/wiki/WebGPU
-[webgpu-website]: https://gpuweb.github.io/gpuweb
+{{#include refs.incl.md}}
+{{#include ../../refs/link-refs.md}}
+
+
diff --git a/src/categories/gui/index.md b/src/categories/gui/index.md
index bab70147..3204c566 100644
--- a/src/categories/gui/index.md
+++ b/src/categories/gui/index.md
@@ -24,74 +24,45 @@ See the relevant section in [blessed.rs][blessed-rs-website]⮳
[`egui`][c-egui]{{hi:egui}}⮳ is an easy-to-use immediate mode GUI that runs on both web and native. [`egui`][c-egui]{{hi:egui}}⮳ aims to be the best choice when you want a simple way to create a GUI, or you want to add a GUI to a game engine.
-## Other GUI frameworks
-
-[![slint][c-slint-badge]][c-slint] [![slint-website][c-slint-website-badge]][c-slint-website] [![cat-gui][cat-gui-badge]][cat-gui]
-
-[![iced][c-iced-badge]][c-iced] [![iced-github][c-iced-github-badge]][c-iced-github] is a cross-platform GUI library for Rust, inspired by Elm.
-
-[![druid][c-druid-badge]][c-druid] [![druid-github][c-druid-github-badge]][c-druid-github] is a data-first Rust-native UI design toolkit (experimental).
-
-{{#include refs.incl.md}}
-{{#include ../../refs/link-refs.md}}
-
-
-TODO:
-
-## UI
-
-- A cross-platform GUI library for Rust, inspired by Elm [iced-rs][c-iced-github]⮳
-- Turn any webpage into a desktop app with Rust [Pake][c-pake-github]⮳
+- [egui.rs][c-egui-website]⮳
+- [egui_demo_lib][c-egui_demo_lib-github]⮳
+- [egui widgets][c-egui-widgets]⮳
+- [egui containers][c-egui-containers]⮳
+- [egui struct.Ui][c-egui::Ui]⮳
-[c-pake-github]: https://github.com/tw93/Pake
-[c-iced-github]: https://github.com/iced-rs/iced
+## Slint
-### Slint
+[![slint][c-slint-badge]][c-slint] [![slint-website][c-slint-website-badge]][c-slint-website] [![cat-gui][cat-gui-badge]][cat-gui]
- [slint.dev][c-slint-website]⮳
- [Slint (github)][c-slint-github]⮳
- [madewithslint.com][c-slint-madewithslint-website]⮳
-[c-slint-github]: https://github.com/slint-ui/slint
-[c-slint-website]: https://slint.dev
-[c-slint-madewithslint-website]: https://madewithslint.com
+### Floem
+
+- A native Rust UI library with fine-grained reactivity. Inspired by [Xilem][c-xilem-github]⮳, [Leptos][c-leptos-github]⮳
+and [rui][c-rui-github]⮳. Floem aims to be a high performance declarative UI library requiring minimal user effort.
+- [Floem (github)][c-floem-github]⮳
+- [Floem (docs)][c-floem]⮳
### GPUI
- [gpui.rs][gpui.rs]⮳ A fast, productive UI framework for Rust from the creators of [Zed][c-zed-website]⮳
-[c-zed-website]: https://zed.dev
-[gpui.rs]: https://www.gpui.rs
-
-### egui 2
-
-- [egui.rs][c-egui-website]⮳
-- [egui_demo_lib][c-egui_demo_lib-github]⮳
-- [widgets][c-egui-widgets]⮳
-- [egui containers][c-egui-containers]⮳
-- [egui struct.Ui][c-egui::Ui]⮳
+## Other GUI frameworks
-[c-egui-containers]: https://docs.rs/egui/latest/egui/containers
-[c-egui::Ui]: https://docs.rs/egui/latest/egui/struct.Ui.html
-[c-egui-website]: https://www.egui.rs
-[c-egui-widgets]: https://docs.rs/egui/latest/egui/widgets/index.html#structs
-[c-egui_demo_lib-github]: https://github.com/emilk/egui/blob/master/crates/egui_demo_lib/src/demo/code_example.rs
+[![iced][c-iced-badge]][c-iced] [![iced-github][c-iced-github-badge]][c-iced-github] is a cross-platform GUI library for Rust, inspired by Elm.
-### Floem
+[![druid][c-druid-badge]][c-druid] [![druid-github][c-druid-github-badge]][c-druid-github] is a data-first Rust-native UI design toolkit (experimental).
-- A native Rust UI library with fine-grained reactivity. Inspired by [Xilem][c-xilem-github]⮳, [Leptos][c-leptos-github]⮳
-and [rui][c-rui-github]⮳. Floem aims to be a high performance declarative UI library requiring minimal user effort.
-- [Floem (github)][c-floem-github]⮳
-- [Floem (docs)][c-floem]⮳
+## See also
-[c-rui-github]: https://github.com/audulus/rui
-[c-leptos-github]: https://github.com/leptos-rs/leptos
-[c-floem-github]: https://github.com/lapce/floem
-[c-floem]: https://docs.rs/floem
-[c-xilem-github]: https://github.com/linebender/xilem
+Turn any webpage into a desktop app with Rust [Pake][c-pake-github]⮳
[Logan Keenan - Client-Side Server with Rust- A New Approach to UI Development][client-side-server-with-rust]⮳
-[client-side-server-with-rust]: https://logankeenan.com/posts/client-side-server-with-rust-a-new-approach-to-ui-development
+{{#include refs.incl.md}}
+{{#include ../../refs/link-refs.md}}
+
diff --git a/src/categories/hardware-support/index.md b/src/categories/hardware-support/index.md
index 59962585..026f4647 100644
--- a/src/categories/hardware-support/index.md
+++ b/src/categories/hardware-support/index.md
@@ -6,6 +6,6 @@ Interface with specific CPU{{hi:CPU}} or other hardware{{hi:Hardware}} features.
{{#include refs.incl.md}}
{{#include ../../refs/link-refs.md}}
+
-TODO:
diff --git a/src/categories/hardware-support/processor.md b/src/categories/hardware-support/processor.md
index 8509ac89..47ccaf91 100644
--- a/src/categories/hardware-support/processor.md
+++ b/src/categories/hardware-support/processor.md
@@ -14,6 +14,6 @@ Shows the number of logical CPU cores{{hi:CPU cores}} in current machine using [
{{#include refs.incl.md}}
{{#include ../../refs/link-refs.md}}
+
-TODO:
diff --git a/src/categories/internationalization/index.incl.md b/src/categories/internationalization/index.incl.md
index 60dd0e58..c25f4e2c 100644
--- a/src/categories/internationalization/index.incl.md
+++ b/src/categories/internationalization/index.incl.md
@@ -2,5 +2,5 @@
|--------|--------|------------|
| | | [![cat-internationalization][cat-internationalization-badge]][cat-internationalization] |
-TODO:
+TODO: add links
diff --git a/src/categories/internationalization/index.md b/src/categories/internationalization/index.md
index cda14ab7..5a026da8 100644
--- a/src/categories/internationalization/index.md
+++ b/src/categories/internationalization/index.md
@@ -8,6 +8,7 @@ Tools to help develop software capable of adapting to various languages and regi
{{#include refs.incl.md}}
{{#include ../../refs/link-refs.md}}
+
-TODO:
+TODO: write
diff --git a/src/categories/localization/_index.md b/src/categories/localization/_index.md
index cec8f1e0..5e27db84 100644
--- a/src/categories/localization/_index.md
+++ b/src/categories/localization/_index.md
@@ -8,6 +8,7 @@ Tooling to help adapting internationalized software to specific languages and re
{{#include refs.incl.md}}
{{#include ../../refs/link-refs.md}}
+
-TODO:
+TODO: write
diff --git a/src/categories/localization/index.incl.md b/src/categories/localization/index.incl.md
index 4e808ff5..5b7b2b9a 100644
--- a/src/categories/localization/index.incl.md
+++ b/src/categories/localization/index.incl.md
@@ -2,5 +2,5 @@
|--------|--------|------------|
| | | [![cat-localization][cat-localization-badge]][cat-localization] |
-TODO:
+TODO: add links
diff --git a/src/categories/mathematics/complex_numbers.md b/src/categories/mathematics/complex_numbers.md
index 6a1d9173..1539f224 100644
--- a/src/categories/mathematics/complex_numbers.md
+++ b/src/categories/mathematics/complex_numbers.md
@@ -34,6 +34,6 @@ Complex numbers have a range of interesting properties when it comes to how they
{{#include refs.incl.md}}
{{#include ../../refs/link-refs.md}}
+
-TODO:
diff --git a/src/categories/mathematics/index.md b/src/categories/mathematics/index.md
index 98554a32..5c01a92b 100644
--- a/src/categories/mathematics/index.md
+++ b/src/categories/mathematics/index.md
@@ -22,6 +22,6 @@
{{#include refs.incl.md}}
{{#include ../../refs/link-refs.md}}
+
-TODO:
diff --git a/src/categories/mathematics/linear_algebra.md b/src/categories/mathematics/linear_algebra.md
index b2c17ce7..cc44899d 100644
--- a/src/categories/mathematics/linear_algebra.md
+++ b/src/categories/mathematics/linear_algebra.md
@@ -98,6 +98,6 @@ Note that serialization followed by deserialization gives back the original matr
{{#include refs.incl.md}}
{{#include ../../refs/link-refs.md}}
+
-TODO:
diff --git a/src/categories/mathematics/miscellaneous.md b/src/categories/mathematics/miscellaneous.md
index b32360bb..e8a10bfe 100644
--- a/src/categories/mathematics/miscellaneous.md
+++ b/src/categories/mathematics/miscellaneous.md
@@ -14,6 +14,6 @@ Calculation for integers exceeding 128 bits are possible with [`num::BigInt`][c-
{{#include refs.incl.md}}
{{#include ../../refs/link-refs.md}}
+
-TODO:
diff --git a/src/categories/mathematics/statistics.md b/src/categories/mathematics/statistics.md
index 8ee2ea2a..79d4510b 100644
--- a/src/categories/mathematics/statistics.md
+++ b/src/categories/mathematics/statistics.md
@@ -42,6 +42,6 @@ The z-score is the number of standard deviations a single measurement spans away
{{#include refs.incl.md}}
{{#include ../../refs/link-refs.md}}
+
-TODO:
diff --git a/src/categories/mathematics/trigonometry.md b/src/categories/mathematics/trigonometry.md
index e87b1712..2212c600 100644
--- a/src/categories/mathematics/trigonometry.md
+++ b/src/categories/mathematics/trigonometry.md
@@ -36,6 +36,6 @@ The following example computes the distance in kilometers between two points on
{{#include refs.incl.md}}
{{#include ../../refs/link-refs.md}}
+
-TODO:
diff --git a/src/categories/memory-management/global_static.md b/src/categories/memory-management/global_static.md
index 6adfccfd..a73ce27c 100644
--- a/src/categories/memory-management/global_static.md
+++ b/src/categories/memory-management/global_static.md
@@ -14,6 +14,6 @@ Declares a lazily evaluated constant [`std::collections::HashMap`][c-std::collec
{{#include refs.incl.md}}
{{#include ../../refs/link-refs.md}}
+
-TODO:
diff --git a/src/categories/memory-management/index.md b/src/categories/memory-management/index.md
index 09aef9d2..2053755d 100644
--- a/src/categories/memory-management/index.md
+++ b/src/categories/memory-management/index.md
@@ -8,6 +8,6 @@ Deal with allocation, memory mapping, garbage collection, reference counting, or
{{#include refs.incl.md}}
{{#include ../../refs/link-refs.md}}
+
-TODO:
diff --git a/src/categories/memory-management/lazy_initialization.incl.md b/src/categories/memory-management/lazy_initialization.incl.md
index a890dac0..a0070a50 100644
--- a/src/categories/memory-management/lazy_initialization.incl.md
+++ b/src/categories/memory-management/lazy_initialization.incl.md
@@ -2,5 +2,5 @@
|--------|--------|------------|
| | | [![cat-memory-management][cat-memory-management-badge]][cat-memory-management] |
-TODO:
+TODO: add links
diff --git a/src/categories/memory-management/lazy_initialization.md b/src/categories/memory-management/lazy_initialization.md
index a7ad8298..bd824805 100644
--- a/src/categories/memory-management/lazy_initialization.md
+++ b/src/categories/memory-management/lazy_initialization.md
@@ -30,6 +30,7 @@ The corresponding Sync version of `OnceCell
` is `OnceLock`.
{{#include refs.incl.md}}
{{#include ../../refs/link-refs.md}}
+
-TODO:
+TODO: review
diff --git a/src/categories/multimedia/index.incl.md b/src/categories/multimedia/index.incl.md
index 6fdf4bc9..38a5aa20 100644
--- a/src/categories/multimedia/index.incl.md
+++ b/src/categories/multimedia/index.incl.md
@@ -6,5 +6,5 @@
| | | [![cat-audio][cat-audio-badge]][cat-audio] |
| | | [![cat-multimedia-encoding][cat-multimedia-encoding-badge]][cat-multimedia-encoding] |
-TODO:
+TODO: add links
diff --git a/src/categories/multimedia/index.md b/src/categories/multimedia/index.md
index a7e486b5..238cb9f0 100644
--- a/src/categories/multimedia/index.md
+++ b/src/categories/multimedia/index.md
@@ -30,6 +30,7 @@ Crates that process or build images.
{{#include refs.incl.md}}
{{#include ../../refs/link-refs.md}}
+
-TODO:
+TODO: write
diff --git a/src/categories/network-programming/index.md b/src/categories/network-programming/index.md
index dd9dd29d..83db21cd 100644
--- a/src/categories/network-programming/index.md
+++ b/src/categories/network-programming/index.md
@@ -6,6 +6,6 @@ Deal with higher-level network protocols{{hi:Network protocols}} such as FTP{{hi
{{#include refs.incl.md}}
{{#include ../../refs/link-refs.md}}
+
-TODO:
diff --git a/src/categories/network-programming/server.md b/src/categories/network-programming/server.md
index e5ae1505..029beed6 100644
--- a/src/categories/network-programming/server.md
+++ b/src/categories/network-programming/server.md
@@ -14,6 +14,6 @@ In this example, the port{{hi:Port}} is displayed on the console, and the progra
{{#include refs.incl.md}}
{{#include ../../refs/link-refs.md}}
+
-TODO:
diff --git a/src/categories/no-std/index.incl.md b/src/categories/no-std/index.incl.md
index db96eeaf..eb4a347c 100644
--- a/src/categories/no-std/index.incl.md
+++ b/src/categories/no-std/index.incl.md
@@ -2,6 +2,7 @@
|--------|--------|------------|
| | | [![cat-no-std][cat-no-std-badge]][cat-no-std] |
| | | [![cat-no-alloc][cat-no-alloc-badge]][cat-no-alloc] |
+
-TODO:
+TODO: add links
diff --git a/src/categories/no-std/index.md b/src/categories/no-std/index.md
index f73af091..5c1ad907 100644
--- a/src/categories/no-std/index.md
+++ b/src/categories/no-std/index.md
@@ -14,6 +14,7 @@ Crates that are able to function without the Rust alloc crate.
{{#include refs.incl.md}}
{{#include ../../refs/link-refs.md}}
+
-TODO:
+TODO: write
diff --git a/src/categories/os/external.md b/src/categories/os/external.md
index 2a4e14a2..7692bd90 100644
--- a/src/categories/os/external.md
+++ b/src/categories/os/external.md
@@ -73,6 +73,6 @@ Reads an environment variable{{hi:environment variable}} via [`std::env::var`][c
{{#include refs.incl.md}}
{{#include ../../refs/link-refs.md}}
+
-TODO:
diff --git a/src/categories/os/index.md b/src/categories/os/index.md
index c05e831b..c114e324 100644
--- a/src/categories/os/index.md
+++ b/src/categories/os/index.md
@@ -9,13 +9,8 @@ Bindings to operating system-specific APIs{{hi:Operating system-specific APIs}}.
- An operating system designed for hosting containers [bottlerocket][bottlerocket-github]⮳
- Redox: A Rust Operating System [redox][redox-github]⮳
-[bottlerocket-github]: https://github.com/bottlerocket-os/bottlerocket
-[redox-github]: https://github.com/redox-os/redox
-
{{#include refs.incl.md}}
{{#include ../../refs/link-refs.md}}
-TODO:
-
diff --git a/src/categories/os_windows-apis/index.md b/src/categories/os_windows-apis/index.md
index d4736d80..1e41479d 100644
--- a/src/categories/os_windows-apis/index.md
+++ b/src/categories/os_windows-apis/index.md
@@ -10,6 +10,6 @@ Native Windows GUI: [![native_windows_gui-github][c-native_windows_gui-github-ba
{{#include refs.incl.md}}
{{#include ../../refs/link-refs.md}}
+
-TODO:
diff --git a/src/categories/parsing/index.incl.md b/src/categories/parsing/index.incl.md
index e61c6997..f76d68e0 100644
--- a/src/categories/parsing/index.incl.md
+++ b/src/categories/parsing/index.incl.md
@@ -2,5 +2,5 @@
|--------|--------|------------|
| | | [![cat-parsing][cat-parsing-badge]][cat-parsing] |
-TODO:
+TODO: add links
diff --git a/src/categories/parsing/index.md b/src/categories/parsing/index.md
index 4e9d5f2f..8f867e66 100644
--- a/src/categories/parsing/index.md
+++ b/src/categories/parsing/index.md
@@ -8,52 +8,37 @@ Parsers implemented for particular formats or languages.
[![cat-parser-implementations][cat-parser-implementations-badge]][cat-parser-implementations]
+- JS parser in Rust: Feature-complete es2019 parser: [swc_ecma_parser][c-swc_ecma_parser-crates.io]⮳
+
## Parsing utilities
Crates to help create parsers of binary and text formats. Format-specific parsers belong in other, more specific categories.
[![cat-parsing][cat-parsing-badge]][cat-parsing]
-{{#include refs.incl.md}}
-{{#include ../../refs/link-refs.md}}
-
-
-TODO:
-
-## Tree sitter
-
-Tree-sitter is a parser generator tool and an incremental parsing library. It can build a concrete syntax tree for a source file and efficiently update the syntax tree as the source file is edited.
-
-- [tree-sitter.github.io][tree-sitter-website]⮳
-- [tree-sitter (github)][tree-sitter-github]⮳
-
-[tree-sitter-website]: https://tree-sitter.github.io/tree-sitter
-[tree-sitter-github]: https://github.com/tree-sitter/tree-sitter
-
## Nom
- [nom][c-nom-github]⮳
- [nominomicon][c-nom-nominomicon]⮳
-[c-nom-nominomicon]: https://tfpk.github.io/nominomicon/introduction.html
-[c-nom-github]: https://github.com/rust-bakery/nom/tree/main
-
## Pest
-- [pest.rs][c-pest-website]⮳
-
-[c-pest-website]: https://pest.rs/
+[pest.rs][c-pest-website]⮳
pest is a general purpose parser written in Rust with a focus on **accessibility**, **correctness**, and **performance**. It uses [parsing expression grammars (or PEG)][wikipedia-parsing-expression-grammars]⮳ as input, which are similar in spirit to regular expressions, but which offer the enhanced expressivity needed to parse complex languages.
Grammars are saved in separate `.pest` files which are never mixed with procedural code. This results in an always up-to-date formalization of a language that is easy to read and maintain.
-[wikipedia-parsing-expression-grammars]: https://en.wikipedia.org/wiki/Parsing_expression_grammar
+### Tree sitter
-## JS parser in Rust
+Tree-sitter is a parser generator tool and an incremental parsing library. It can build a concrete syntax tree for a source file and efficiently update the syntax tree as the source file is edited.
-Feature-complete es2019 parser: [swc_ecma_parser][c-swc_ecma_parser-crates.io]⮳
+- [tree-sitter.github.io][tree-sitter-website]⮳
+- [tree-sitter (github)][tree-sitter-github]⮳
-[c-swc_ecma_parser-crates.io]: https://crates.io/crates/swc_ecma_parser
+{{#include refs.incl.md}}
+{{#include ../../refs/link-refs.md}}
+
+TODO: organize
diff --git a/src/categories/rendering/index.incl.md b/src/categories/rendering/index.incl.md
index e10aed4d..0c072690 100644
--- a/src/categories/rendering/index.incl.md
+++ b/src/categories/rendering/index.incl.md
@@ -5,5 +5,5 @@
| | | [![cat-rendering-data-formats][cat-rendering-data-formats-badge]][cat-rendering-data-formats] |
| | | [![cat-rendering-graphics-api][cat-rendering-graphics-api-badge]][cat-rendering-graphics-api] |
-TODO:
+TODO: add links
diff --git a/src/categories/rendering/index.md b/src/categories/rendering/index.md
index 7794fdc3..a71a7221 100644
--- a/src/categories/rendering/index.md
+++ b/src/categories/rendering/index.md
@@ -26,6 +26,7 @@ Crates that provide direct access to the hardware's or the operating system's re
{{#include refs.incl.md}}
{{#include ../../refs/link-refs.md}}
+
-TODO:
+TODO: write
diff --git a/src/categories/rust-patterns/errors/error_handling.incl.md b/src/categories/rust-patterns/errors/error_handling.incl.md
index 6ba985a6..a0ae02f6 100644
--- a/src/categories/rust-patterns/errors/error_handling.incl.md
+++ b/src/categories/rust-patterns/errors/error_handling.incl.md
@@ -2,5 +2,5 @@
|--------|--------|------------|
| | | [![cat-rust-patterns][cat-rust-patterns-badge]][cat-rust-patterns] |
-TODO:
+TODO: add links
diff --git a/src/categories/rust-patterns/errors/error_handling.md b/src/categories/rust-patterns/errors/error_handling.md
index e27b41d2..874861ea 100644
--- a/src/categories/rust-patterns/errors/error_handling.md
+++ b/src/categories/rust-patterns/errors/error_handling.md
@@ -50,6 +50,6 @@ Another example:
{{#include refs.incl.md}}
{{#include ../../../refs/link-refs.md}}
+
-TODO:
diff --git a/src/categories/rust-patterns/errors/handle.md b/src/categories/rust-patterns/errors/handle.md
index 921614a0..efa672e6 100644
--- a/src/categories/rust-patterns/errors/handle.md
+++ b/src/categories/rust-patterns/errors/handle.md
@@ -58,6 +58,7 @@ Run the recipe with `RUST_BACKTRACE=1` to display a detailed [`error_chain::Chai
{{#include refs.incl.md}}
{{#include ../../../refs/link-refs.md}}
+
-TODO:
+TODO: review
diff --git a/src/categories/rust-patterns/errors/index.md b/src/categories/rust-patterns/errors/index.md
index 739e988e..7e199e07 100644
--- a/src/categories/rust-patterns/errors/index.md
+++ b/src/categories/rust-patterns/errors/index.md
@@ -8,6 +8,6 @@
{{#include refs.incl.md}}
{{#include ../../../refs/link-refs.md}}
+
-TODO:
diff --git a/src/categories/rust-patterns/index.md b/src/categories/rust-patterns/index.md
index f2235fe8..c4f9f1d7 100644
--- a/src/categories/rust-patterns/index.md
+++ b/src/categories/rust-patterns/index.md
@@ -1,25 +1,21 @@
# Rust Patterns
+{{#include index.incl.md}}
+
Shared solutions for particular situations specific to programming in Rust.
[![cat-rust-patterns][cat-rust-patterns-badge]][cat-rust-patterns]
## Error Handling
-{{#include index.incl.md}}
-
-{{#include refs.incl.md}}
-{{#include ../../refs/link-refs.md}}
-
-
-TODO:
-
## Design Patterns
-- [abstract-factory in rust][abstract-factory-in-rust]⮳
+- [abstract-factory in rust][abstract-factory-in-rust-website]⮳
- [lens-rs][c-lens]
-[abstract-factory-in-rust]: https://refactoring.guru/design-patterns/abstract-factory/rust/example#example-0
-[c-lens]: https://crates.io/crates/lens-rs
+{{#include refs.incl.md}}
+{{#include ../../refs/link-refs.md}}
+
+TODO: organize / write
diff --git a/src/categories/science/index.md b/src/categories/science/index.md
index 31897b94..b8d4fa20 100644
--- a/src/categories/science/index.md
+++ b/src/categories/science/index.md
@@ -20,6 +20,6 @@ Crates for research tools and processing of data related to the brain and nervou
{{#include refs.incl.md}}
{{#include ../../refs/link-refs.md}}
+
-TODO:
diff --git a/src/categories/science/machine_learning/index.md b/src/categories/science/machine_learning/index.md
index b102f6cb..93f0d557 100644
--- a/src/categories/science/machine_learning/index.md
+++ b/src/categories/science/machine_learning/index.md
@@ -4,8 +4,18 @@
[Are we learning yet?][are-we-learning-yet?-website]⮳
+## Linfa
+
[![linfa][c-linfa-badge]][c-linfa] [![linfa-crates.io][c-linfa-crates.io-badge]][c-linfa-crates.io] [![linfa-website][c-linfa-website-badge]][c-linfa-website] [![cat-science][cat-science-badge]][cat-science]
+## Candle
+
+[Candle Documentation][c-candle-docs]⮳
+
+[meet-candle-a-minimalist-machine-learning-framework-for-rust-that-focuses-on-performance-including-gpu-support-and-ease-of-use][blog-candle]⮳
+
+## Others
+
[SmartCore][smartcore-website]⮳ [![cat-science][cat-science-badge]][cat-science]
[Watchmaker (genetic algos in Rust)][c-watchmaker]⮳ [![watchmaker][c-watchmaker-badge]][c-watchmaker] [![watchmaker-github][c-watchmaker-github-badge]][c-watchmaker-github] [![watchmaker-crates.io][c-watchmaker-crates.io-badge]][c-watchmaker-crates.io] [![cat-science][cat-science-badge]][cat-science]
@@ -14,14 +24,5 @@
{{#include ../../../refs/link-refs.md}}
-TODO:
-
-## Candle
-
-- [meet-candle-a-minimalist-machine-learning-framework-for-rust-that-focuses-on-performance-including-gpu-support-and-ease-of-use][blog-candle]⮳
-- [Candle Documentation][c-candle-docs]⮳
-
-[c-candle-docs]: https://candle.dev/docs/wick/introduction
-[blog-candle]: https://www.marktechpost.com/2024/04/04/meet-candle-a-minimalist-machine-learning-framework-for-rust-that-focuses-on-performance-including-gpu-support-and-ease-of-use
-
+TODO: organize
diff --git a/src/categories/science_robotics/index.md b/src/categories/science_robotics/index.md
index ae2eabb5..f7bfbccd 100644
--- a/src/categories/science_robotics/index.md
+++ b/src/categories/science_robotics/index.md
@@ -20,15 +20,15 @@ Open Rust Robotics: [![openrr-github][c-openrr-github-badge]][c-openrr-github]
[Zenoh][c-zenoh-website]⮳
-{{#include refs.incl.md}}
-{{#include ../../refs/link-refs.md}}
-
-
-TODO:
+## See also
[why-rust-for-robots][why-rust-for-robots]⮳
+
[linux-embracing-rust-will-boost-robotics-community][linux-embracing-rust-will-boost-robotics-community]⮳
-[linux-embracing-rust-will-boost-robotics-community]: https://www.therobotreport.com/linux-embracing-rust-will-boost-robotics-community/
-[why-rust-for-robots]: https://www.tangramvision.com/blog/why-rust-for-robots
+{{#include refs.incl.md}}
+{{#include ../../refs/link-refs.md}}
+
+
+TODO: organize
diff --git a/src/categories/simulation/index.incl.md b/src/categories/simulation/index.incl.md
index b76fc646..58b8a72d 100644
--- a/src/categories/simulation/index.incl.md
+++ b/src/categories/simulation/index.incl.md
@@ -2,5 +2,5 @@
|--------|--------|------------|
| | | [![cat-simulation][cat-simulation-badge]][cat-simulation] |
-TODO:
+TODO: add links
diff --git a/src/categories/simulation/index.md b/src/categories/simulation/index.md
index 15ee2965..6ce54507 100644
--- a/src/categories/simulation/index.md
+++ b/src/categories/simulation/index.md
@@ -6,14 +6,13 @@ Crates used to model or construct models for some activity, e.g. to.simulate a n
[![cat-simulation][cat-simulation-badge]][cat-simulation]
-{{#include refs.incl.md}}
-{{#include ../../refs/link-refs.md}}
-
-
-TODO:
+## See also
- High-performance asynchronous computation framework for system simulation [Asynchronics][asynchronics-github]⮳
-[asynchronics-github]: https://github.com/asynchronics
+{{#include refs.incl.md}}
+{{#include ../../refs/link-refs.md}}
+
+TODO: write
diff --git a/src/categories/template-engine/index.incl.md b/src/categories/template-engine/index.incl.md
index daf79b2c..9ca0aca9 100644
--- a/src/categories/template-engine/index.incl.md
+++ b/src/categories/template-engine/index.incl.md
@@ -1,6 +1,7 @@
| Recipe | Crates | Categories |
|--------|--------|------------|
| | | [![cat-template-engine][cat-template-engine-badge]][cat-template-engine] |
+
-TODO:
+TODO: add links
diff --git a/src/categories/template-engine/index.md b/src/categories/template-engine/index.md
index cba7a7c4..f34fbe0f 100644
--- a/src/categories/template-engine/index.md
+++ b/src/categories/template-engine/index.md
@@ -8,6 +8,7 @@ Crates designed to combine templates with data to produce result documents, usua
{{#include refs.incl.md}}
{{#include ../../refs/link-refs.md}}
+
-TODO:
+TODO: write
diff --git a/src/categories/text-editors/index.md b/src/categories/text-editors/index.md
index f27445e9..04355d14 100644
--- a/src/categories/text-editors/index.md
+++ b/src/categories/text-editors/index.md
@@ -25,14 +25,14 @@ If you have a JetBrains license, CLion is your go-to editor for Rust in JetBrain
{{#include refs.incl.md}}
{{#include ../../refs/link-refs.md}}
-
-TODO:
+## Other
- Zed
- [helix-editor.com][helix-editor-website]⮳
-- [6 IDEs built for rust][6-ides-built-for-rust]⮳
-[helix-editor-website]: https://helix-editor.com
-[6-ides-built-for-rust]: https://analyticsindiamag.com/6-ides-built-for-rust
+[6 IDEs built for rust][blog-6-ides-built-for-rust]⮳
+
+
+TODO: organize
diff --git a/src/categories/text-processing/index.md b/src/categories/text-processing/index.md
index e287cc79..26d9da93 100644
--- a/src/categories/text-processing/index.md
+++ b/src/categories/text-processing/index.md
@@ -12,18 +12,14 @@ Deal with the complexities of human language when expressed in textual form.
{{#include ../../refs/link-refs.md}}
-TODO:
+TODO: add to separate file
## String benchmark
- [concat benchmark][concat-benchmark-github]⮳
-[concat-benchmark-github]: https://github.com/hoodie/concatenation_benchmarks-rs/blob/master/benches/lib.rs
-
-## Cosmic-text
+## See also
- Pure Rust multi-line text handling: [Pure Rust multi-line text handling][c-cosmic-text-github]⮳
-[c-cosmic-text-github]: https://github.com/pop-os/cosmic-text
-
diff --git a/src/categories/text-processing/regex.md b/src/categories/text-processing/regex.md
index 3011df7e..6dbeaacc 100644
--- a/src/categories/text-processing/regex.md
+++ b/src/categories/text-processing/regex.md
@@ -61,6 +61,6 @@ The method [`regex::Regex::replace_all`][c-regex::Regex::replace_all]{{hi:regex:
{{#include refs.incl.md}}
{{#include ../../refs/link-refs.md}}
+
-TODO:
diff --git a/src/categories/text-processing/regex2.md b/src/categories/text-processing/regex2.md
index 754523d0..bf15739d 100644
--- a/src/categories/text-processing/regex2.md
+++ b/src/categories/text-processing/regex2.md
@@ -10,6 +10,6 @@
{{#include refs.incl.md}}
{{#include ../../refs/link-refs.md}}
+
-TODO:
diff --git a/src/categories/text-processing/string_parsing.md b/src/categories/text-processing/string_parsing.md
index 5600c07f..dee7e9e6 100644
--- a/src/categories/text-processing/string_parsing.md
+++ b/src/categories/text-processing/string_parsing.md
@@ -24,6 +24,6 @@ Creates a custom struct `RGB` and implements the `FromStr`{{hi:FromStr}} trait t
{{#include refs.incl.md}}
{{#include ../../refs/link-refs.md}}
+
-TODO:
diff --git a/src/categories/virtualization/index.incl.md b/src/categories/virtualization/index.incl.md
index f3b88f13..dc3c0822 100644
--- a/src/categories/virtualization/index.incl.md
+++ b/src/categories/virtualization/index.incl.md
@@ -1,6 +1,7 @@
| Recipe | Crates | Categories |
|--------|--------|------------|
| | | [![cat-virtualization][cat-virtualization-badge]][cat-virtualization] |
+
-TODO:
+TODO: add links
diff --git a/src/categories/virtualization/index.md b/src/categories/virtualization/index.md
index 0d81af0d..2a9a384d 100644
--- a/src/categories/virtualization/index.md
+++ b/src/categories/virtualization/index.md
@@ -8,6 +8,7 @@ Creation and management of virtual environments and resources of any form, inclu
{{#include refs.incl.md}}
{{#include ../../refs/link-refs.md}}
+
-TODO:
+TODO: write
diff --git a/src/categories/visualization/index.incl.md b/src/categories/visualization/index.incl.md
index 5304fb4e..0d332d49 100644
--- a/src/categories/visualization/index.incl.md
+++ b/src/categories/visualization/index.incl.md
@@ -1,6 +1,7 @@
| Recipe | Crates | Categories |
|--------|--------|------------|
| | | [![cat-visualization][cat-visualization-badge]][cat-visualization] |
+
-TODO:
+TODO: add links
diff --git a/src/categories/visualization/index.md b/src/categories/visualization/index.md
index af6f0058..e9e3a657 100644
--- a/src/categories/visualization/index.md
+++ b/src/categories/visualization/index.md
@@ -8,6 +8,7 @@ Ways to view data, such as plotting or graphing.
{{#include refs.incl.md}}
{{#include ../../refs/link-refs.md}}
+
-TODO:
+TODO: write
diff --git a/src/categories/wasm/index.md b/src/categories/wasm/index.md
index a2302169..b3f20895 100644
--- a/src/categories/wasm/index.md
+++ b/src/categories/wasm/index.md
@@ -14,28 +14,18 @@ Tooling targeting WebAssembly or manipulating WebAssembly.
[Example real world app built with Rust + Yew + WebAssembly][c-yew-realworld-example]⮳ [![yew-realworld-example][c-yew-realworld-example-badge]][c-yew-realworld-example]
-{{#include refs.incl.md}}
-{{#include ../../refs/link-refs.md}}
+[rust-yew-realworld-example-app][rust-yew-realworld-example-app-github]⮳
-
-TODO:
-
-## WASM + Rust
+## Others
- [wasmer.io][wasmer-website]⮳
- [wasmtime][c-wasmtime-github]⮳
- [docs.wasmtime.dev][c-wasmtime-docs]⮳
- [rustwasm.github.io][c-rustwasm-website]⮳
-[c-rustwasm-website]: https://rustwasm.github.io/docs/book/reference/deploying-to-production.html
-[c-wasmtime-github]: https://github.com/bytecodealliance/wasmtime
-[wasmer-website]: https://wasmer.io
-[c-wasmtime-docs]: https://docs.wasmtime.dev/introduction.html
-
-## Rust WASM example code
-
-- [rust-yew-realworld-example-app][rust-yew-realworld-example-app-github]⮳
-
-[rust-yew-realworld-example-app-github]: https://github.com/jetli/rust-yew-realworld-example-app
+{{#include refs.incl.md}}
+{{#include ../../refs/link-refs.md}}
+
+TODO: organize
diff --git a/src/categories/web-programming/index.md b/src/categories/web-programming/index.md
index c29197db..a69e02d5 100644
--- a/src/categories/web-programming/index.md
+++ b/src/categories/web-programming/index.md
@@ -24,6 +24,7 @@ Create applications for the web{{hi:Web}}.
{{#include refs.incl.md}}
{{#include ../../refs/link-refs.md}}
+
-TODO:
+TODO: organize
diff --git a/src/categories/web-programming/mime.md b/src/categories/web-programming/mime.md
index a9b7dbae..c3f77ade 100644
--- a/src/categories/web-programming/mime.md
+++ b/src/categories/web-programming/mime.md
@@ -38,6 +38,6 @@ Note that the [`reqwest::header`][c-reqwest::header]{{hi:reqwest::header}}⮳ mo
{{#include refs.incl.md}}
{{#include ../../refs/link-refs.md}}
+
-TODO:
diff --git a/src/categories/web-programming/scraping.md b/src/categories/web-programming/scraping.md
index 6c56315c..bc06c286 100644
--- a/src/categories/web-programming/scraping.md
+++ b/src/categories/web-programming/scraping.md
@@ -39,6 +39,6 @@ MediaWiki link syntax is described [here][mediawiki-link-syntax]⮳.
{{#include refs.incl.md}}
{{#include ../../refs/link-refs.md}}
+
-TODO:
diff --git a/src/categories/web-programming/url.md b/src/categories/web-programming/url.md
index b4659f54..e1b19432 100644
--- a/src/categories/web-programming/url.md
+++ b/src/categories/web-programming/url.md
@@ -64,6 +64,6 @@ Parses [`url::Url`][c-url::Url]{{hi:url::Url}}⮳ and slices it with [`url::Posi
{{#include refs.incl.md}}
{{#include ../../refs/link-refs.md}}
+
-TODO:
diff --git a/src/categories/web-programming_http-client/apis.md b/src/categories/web-programming_http-client/apis.md
index 9354570b..682533b9 100644
--- a/src/categories/web-programming_http-client/apis.md
+++ b/src/categories/web-programming_http-client/apis.md
@@ -67,5 +67,4 @@ This example uses the [`GitHub API - rate limiting`][github-api-rate-limiting]{{
{{#include ../../refs/link-refs.md}}
-TODO:
diff --git a/src/categories/web-programming_http-client/download.md b/src/categories/web-programming_http-client/download.md
index 6ca35477..ab1d9129 100644
--- a/src/categories/web-programming_http-client/download.md
+++ b/src/categories/web-programming_http-client/download.md
@@ -41,6 +41,6 @@ The Range header is defined in [`RFC7233`][http-range-rfc7233]{{hi:RFC-7233}}⮳
{{#include refs.incl.md}}
{{#include ../../refs/link-refs.md}}
+
-TODO:
diff --git a/src/categories/web-programming_http-client/index.md b/src/categories/web-programming_http-client/index.md
index 5b100cfa..0dae756f 100644
--- a/src/categories/web-programming_http-client/index.md
+++ b/src/categories/web-programming_http-client/index.md
@@ -16,6 +16,6 @@ Make HTTP network requests.
{{#include refs.incl.md}}
{{#include ../../refs/link-refs.md}}
+
-TODO:
diff --git a/src/categories/web-programming_http-client/requests.md b/src/categories/web-programming_http-client/requests.md
index d34d3c98..071cb4ea 100644
--- a/src/categories/web-programming_http-client/requests.md
+++ b/src/categories/web-programming_http-client/requests.md
@@ -43,6 +43,6 @@ The request targets
service which responds with a J
{{#include refs.incl.md}}
{{#include ../../refs/link-refs.md}}
+
-TODO:
diff --git a/src/categories/web-programming_http-server/actix.md b/src/categories/web-programming_http-server/actix.md
index 8ae5f29c..d78c3a76 100644
--- a/src/categories/web-programming_http-server/actix.md
+++ b/src/categories/web-programming_http-server/actix.md
@@ -12,7 +12,13 @@ Actix examples: [![Actix examples][c-actix-examples-github-badge]][c-actix-examp
[Practical Rust Web Development - API Rest][blog-practical-rust]⮳
+- [actix][c-actix-github]⮳
+- [realworld-actix-fullstack][realworld-actix-fullstack-github]⮳
+- [realworld-v1-rust-actix-web-diesel][realworld-v1-rust-actix-web-diesel-github]⮳
+- [auth-microservice-rust-actix-web1.0-diesel-complete-tutorial][auth-microservice-rust-actix-web]⮳
+
{{#include ../../refs/link-refs.md}}
+
-TODO:
+TODO: organize
diff --git a/src/categories/web-programming_http-server/axum.md b/src/categories/web-programming_http-server/axum.md
index 1cfe55fb..072a1f65 100644
--- a/src/categories/web-programming_http-server/axum.md
+++ b/src/categories/web-programming_http-server/axum.md
@@ -6,7 +6,11 @@
[Crates.io example source code (using Axum)][crates.io-example-source-code]⮳
+- [realworld-rust-axum-sqlx][realworld-rust-axum-sqlx-website]⮳ see also [realworld.how][realworld.how]⮳
+- [Axum examples][c-axum-examples]⮳
+
{{#include ../../refs/link-refs.md}}
+
-TODO:
+TODO: write
diff --git a/src/categories/web-programming_http-server/cors.md b/src/categories/web-programming_http-server/cors.md
index 3d04f61a..407f693e 100644
--- a/src/categories/web-programming_http-server/cors.md
+++ b/src/categories/web-programming_http-server/cors.md
@@ -11,6 +11,7 @@ Using the Tower ecosystem:
```
{{#include ../../refs/link-refs.md}}
+
-TODO:
+TODO: write
diff --git a/src/categories/web-programming_http-server/index.md b/src/categories/web-programming_http-server/index.md
index 60891824..70509e5a 100644
--- a/src/categories/web-programming_http-server/index.md
+++ b/src/categories/web-programming_http-server/index.md
@@ -12,48 +12,5 @@ Serve data over HTTP.
{{#include ../../refs/link-refs.md}}
-TODO:
-
-## Web frameworks + Rust
-
-- [Rust web framework comparison][rust-web-framework-comparison-github]⮳
-
-[rust-web-framework-comparison-github]: https://github.com/flosse/rust-web-framework-comparison
-
-## Axum
-
-- [realworld-rust-axum-sqlx][realworld-rust-axum-sqlx-website]⮳
-- [axum examples][c-axum-examples]⮳
-- [realworld.how][realworld.how]⮳
-
-[realworld-rust-axum-sqlx-website]: https://github.com/JoeyMckenzie/realworld-rust-axum-sqlx
-[c-axum-examples]: https://github.com/tokio-rs/axum/tree/main/examples
-[realworld.how]: https://www.realworld.how
-
-## Actix
-
-- [actix][c-actix-github]⮳
-- [realworld-actix-fullstack][realworld-actix-fullstack-github]⮳
-- [realworld-v1-rust-actix-web-diesel][realworld-v1-rust-actix-web-diesel-github]⮳
-- [auth-microservice-rust-actix-web1.0-diesel-complete-tutorial][auth-microservice-rust-actix-web]⮳
-
-[c-actix-github]: https://github.com/actix/actix
-[realworld-actix-fullstack-github]: https://github.com/Bechma/realworld-actix-fullstack
-[realworld-v1-rust-actix-web-diesel-github]: https://github.com/snamiki1212/realworld-v1-rust-actix-web-diesel
-[auth-microservice-rust-actix-web]: https://gill.net.in/posts/auth-microservice-rust-actix-web1.0-diesel-complete-tutorial/
-
-## Leptos
-
-- [leptos][c-leptos-github]⮳
-
-[c-leptos-github]: https://github.com/leptos-rs/leptos
-
-## Loco
-
-- [loco.rs][c-loco-docs]⮳
-- [github.com/loco-rs][c-loco-github]⮳
-
-[c-loco-docs]: https://loco.rs/docs/getting-started/guide
-[c-loco-github]: https://github.com/loco-rs/loco
-
+TODO: organize
diff --git a/src/categories/web-programming_http-server/middleware.md b/src/categories/web-programming_http-server/middleware.md
index 011c8bf3..c2856690 100644
--- a/src/categories/web-programming_http-server/middleware.md
+++ b/src/categories/web-programming_http-server/middleware.md
@@ -34,6 +34,6 @@ A number of third-party libraries support [`tower`][c-tower]{{hi:tower}}⮳ and
{{#include refs.incl.md}}
{{#include ../../refs/link-refs.md}}
+
-TODO:
diff --git a/src/categories/web-programming_http-server/other_frameworks.md b/src/categories/web-programming_http-server/other_frameworks.md
index 8d25b2f7..7e21baa5 100644
--- a/src/categories/web-programming_http-server/other_frameworks.md
+++ b/src/categories/web-programming_http-server/other_frameworks.md
@@ -2,9 +2,13 @@
[![cat-web-programming][cat-web-programming-badge]][cat-web-programming] [![cat-http-server][cat-http-server-badge]][cat-http-server]
+[Rust web framework comparison][rust-web-framework-comparison-github]⮳
+
## Loco
-[Loco.rs][c-loco-website]⮳
+[loco.rs][c-loco-docs]⮳
+
+[loco-rs (github)][c-loco-github]⮳
[Loco article][c-loco-blog]⮳
@@ -14,6 +18,10 @@
[Rust + Rocket RealWorld framework implementation][rocket-realworld-example]⮳
+## Leptos
+
+[leptos][c-leptos-github]⮳
+
## See also
[![hyper][c-hyper-badge]][c-hyper] [![tonic][c-tonic-badge]][c-tonic]
@@ -23,6 +31,7 @@
[Building a SaaS with Rust and Next.js][blog-building-a-saas-with-rust]⮳
{{#include ../../refs/link-refs.md}}
+
-TODO:
+TODO: organize
diff --git a/src/categories/web-programming_http-server/static_website_generators.md b/src/categories/web-programming_http-server/static_website_generators.md
index 5bde3ecd..5f12df87 100644
--- a/src/categories/web-programming_http-server/static_website_generators.md
+++ b/src/categories/web-programming_http-server/static_website_generators.md
@@ -4,12 +4,9 @@
[Zola][c-zola-website]⮳
+[AdiDoks][adidoks-website] is a mordern documentation theme
+
{{#include ../../refs/link-refs.md}}
-TODO:
-
-- [AdiDoks][adidoks-website] is a mordern documentation theme
-
-[adidoks-website]: https://adidoks.netlify.app
-
+TODO: write
diff --git a/src/categories/web-programming_websocket/index.incl.md b/src/categories/web-programming_websocket/index.incl.md
index 21bc64a6..dbaa7a6e 100644
--- a/src/categories/web-programming_websocket/index.incl.md
+++ b/src/categories/web-programming_websocket/index.incl.md
@@ -1,6 +1,7 @@
| Recipe | Crates | Categories |
|--------|--------|------------|
| | | [![cat-websocket][cat-websocket-badge]][cat-websocket] |
+
-TODO:
+TODO: add links
diff --git a/src/categories/web-programming_websocket/index.md b/src/categories/web-programming_websocket/index.md
index 01de3519..156a832c 100644
--- a/src/categories/web-programming_websocket/index.md
+++ b/src/categories/web-programming_websocket/index.md
@@ -8,6 +8,7 @@ Communicate over the WebSocket protocol
{{#include refs.incl.md}}
{{#include ../../refs/link-refs.md}}
+
-TODO:
+TODO: write
diff --git a/src/contributing/api_documentation.md b/src/contributing/api_documentation.md
index 79e6c98a..23a09e4a 100644
--- a/src/contributing/api_documentation.md
+++ b/src/contributing/api_documentation.md
@@ -50,11 +50,7 @@ xdg-open /cargo-target-rust_howto/target/doc/deps/index.html
- Add the target directory e.g. `/cargo-target-rust_howto/target` to the VS Code Explorer view (`File` > `Add Folder to Workspace...`), then right-click the `/cargo-target-rust_howto/target/doc` folder in the VS Code Explorer view and select `Download...` or use VS Code's built-in `Simple Browser` command.
- Or install the `Live Server` or MS `Live Preview` VS Code extensions.
-[desktop-lite-github]: https://github.com/devcontainers/features/tree/main/src/desktop-lite
-[locahost:6080]: http://localhost:6080
{{#include ../refs/link-refs.md}}
-TODO:
-
diff --git a/src/contributing/dev_container_docker.md b/src/contributing/dev_container_docker.md
index 8f704aca..d0cd4c1c 100644
--- a/src/contributing/dev_container_docker.md
+++ b/src/contributing/dev_container_docker.md
@@ -79,6 +79,7 @@ docker push johncd/rust_howto_ci:latest
```
{{#include ../refs/link-refs.md}}
+
-TODO:
+TODO: review
diff --git a/src/contributing/dev_environment_setup.md b/src/contributing/dev_environment_setup.md
index b8bbc395..0265c128 100644
--- a/src/contributing/dev_environment_setup.md
+++ b/src/contributing/dev_environment_setup.md
@@ -34,6 +34,7 @@ You may need `sudo apt-get install libsqlite3-dev` on WSL.
Review `.devcontainer/Dockerfile` for other dependencies.
{{#include ../refs/link-refs.md}}
+
-TODO:
+TODO: review
diff --git a/src/contributing/development_editing.md b/src/contributing/development_editing.md
index dc457436..7af25626 100644
--- a/src/contributing/development_editing.md
+++ b/src/contributing/development_editing.md
@@ -17,6 +17,7 @@ To add or edit the book, simply update or add a `.md` file in the appropriate [`
Verify the markdown is properly rendered using `just serve` or `mdbook serve --open`. Pushing a commit to the `main` branch on GitHub will trigger a GitHub Action workflow that checks formatting / linting, builds / tests all examples, then deploys the book to GitHub Pages.
{{#include ../refs/link-refs.md}}
+
-TODO:
+TODO: review
diff --git a/src/contributing/index.md b/src/contributing/index.md
index 79a3da16..96295d11 100644
--- a/src/contributing/index.md
+++ b/src/contributing/index.md
@@ -30,5 +30,4 @@ Please read [CONTRIBUTING.md][rust-howto-contributing] for more details.
TODO: edit
-
diff --git a/src/contributing/optional_preprocessors.md b/src/contributing/optional_preprocessors.md
index 3e890e18..419c6e02 100644
--- a/src/contributing/optional_preprocessors.md
+++ b/src/contributing/optional_preprocessors.md
@@ -14,6 +14,7 @@ cargo install mdbook_keeper --git
```
{{#include ../refs/link-refs.md}}
+
-TODO:
+TODO: add
diff --git a/src/contributing/publication.md b/src/contributing/publication.md
index e5fa80da..2b75109c 100644
--- a/src/contributing/publication.md
+++ b/src/contributing/publication.md
@@ -9,6 +9,7 @@ The `publish` folder contains a placeholder crate, so that the book could be loc
- When ready, `cargo publish --dry-run; cargo publish`
{{#include ../refs/link-refs.md}}
+
-TODO:
+TODO: edit
diff --git a/src/contributing/repo_structure.md b/src/contributing/repo_structure.md
index fd8ec861..0b1b531b 100644
--- a/src/contributing/repo_structure.md
+++ b/src/contributing/repo_structure.md
@@ -11,5 +11,5 @@
{{#include ../refs/link-refs.md}}
-TODO:
+TODO: edit
diff --git a/src/examples_index.md b/src/examples_index.md
index fdd9a8b3..db760415 100644
--- a/src/examples_index.md
+++ b/src/examples_index.md
@@ -694,10 +694,9 @@
[ex-books]: links/books.md
[ex-companies]: links/companies.md
{{#include refs/link-refs.md}}
-
-TODO
-- [ ] add lru
+
+TODO - [ ] add lru
- [ ] make sure the list of examples is complete
diff --git a/src/index.md b/src/index.md
index a65e9cd3..656cdd14 100644
--- a/src/index.md
+++ b/src/index.md
@@ -45,6 +45,7 @@ The [Rust cookbook][book-rust-cookbook]⮳ demonstrate good practices to accompl
[standard-library]: standard_library/index.md
[web-programming]: categories/web-programming/index.md
{{#include refs/link-refs.md}}
+
TODO: rewrite the intro
diff --git a/src/key_crates.md b/src/key_crates.md
index d3a932d1..91c37f34 100644
--- a/src/key_crates.md
+++ b/src/key_crates.md
@@ -13,13 +13,10 @@ or older resources, such as:
- [Rust starter pack][rust-starter-pack]⮳
- [![stdx][c-stdx-github-badge]][c-stdx-github]
+[Best of Rust crates][best-of-rust-crates-github]
+
{{#include refs/link-refs.md}}
-TODO:
-
-[Best of Rust crates][best-of-rust-crates]
-
-[best-of-rust-crates]: https://github.com/stars/ErichDonGubler/lists/best-of-rust-crates>
-
+TODO: organize
diff --git a/src/lang/attributes.md b/src/lang/attributes.md
index 69e6a08b..8c6e47cc 100644
--- a/src/lang/attributes.md
+++ b/src/lang/attributes.md
@@ -35,7 +35,7 @@ List of lint checks{{hi:Lint checks}}: `rustc -W help`. [`rustc`][rustc]{{hi:rus
## Automatic trait derivation
-See [Automatic derivation][automatic-derivation].
+See [Automatic derivation][p-automatic-derivation].
## Must Use
@@ -63,8 +63,8 @@ See [Automatic derivation][automatic-derivation].
[Rust by example - attributes][book-rust-by-example-attributes]⮳
-[automatic-derivation]: ../standard_library/derive.md
+[p-automatic-derivation]: ../standard_library/derive.md
{{#include ../refs/link-refs.md}}
+
-TODO:
diff --git a/src/lang/closures.md b/src/lang/closures.md
index 56953dac..c90cc729 100644
--- a/src/lang/closures.md
+++ b/src/lang/closures.md
@@ -37,6 +37,7 @@ To force a move:
Functions may also be used as arguments.
{{#include ../refs/link-refs.md}}
+
-TODO:
+TODO: edit
diff --git a/src/lang/enums.md b/src/lang/enums.md
index 44aa9ba1..3ca723b5 100644
--- a/src/lang/enums.md
+++ b/src/lang/enums.md
@@ -7,6 +7,7 @@
If we make an enum{{hi:Enums}} public, all of its variants{{hi:Variants}} are then public. We only need [`pub`][book-rust-reference-visibility-and-privacy]{{hi:pub}}⮳ before the [`enum`][book-rust-reference-enum]⮳ keyword.
{{#include ../refs/link-refs.md}}
+
-TODO:
+TODO: edit
diff --git a/src/lang/generics.md b/src/lang/generics.md
index 8458d5a4..7ed687be 100644
--- a/src/lang/generics.md
+++ b/src/lang/generics.md
@@ -7,6 +7,7 @@
```
{{#include ../refs/link-refs.md}}
+
-TODO:
+TODO: edit
diff --git a/src/lang/index.md b/src/lang/index.md
index 8e4765e9..8b8666b9 100644
--- a/src/lang/index.md
+++ b/src/lang/index.md
@@ -10,17 +10,4 @@ Rust prefers snake case for variables and functions, so a method would be called
{{#include ../refs/link-refs.md}}
-TODO:
-
-## Try Catch
-
-- [what-is-the-rust-equivalent-to-a-try-catch-statement][stackoverflow-what-is-the-rust-equivalent-to-a-try-catch-statement]⮳
-
-## Memory Safety
-
-- [rust-re-borrowing-and-memory-safety][rust-re-borrowing-and-memory-safety]⮳
-
-[stackoverflow-what-is-the-rust-equivalent-to-a-try-catch-statement]: https://stackoverflow.com/questions/55755552/what-is-the-rust-equivalent-to-a-try-catch-statement
-[rust-re-borrowing-and-memory-safety]: https://felipemeriga.hashnode.dev/rust-re-borrowing-and-memory-safety?source=weekly
-
diff --git a/src/lang/iterators.md b/src/lang/iterators.md
index 659c03e0..a181466e 100644
--- a/src/lang/iterators.md
+++ b/src/lang/iterators.md
@@ -9,6 +9,7 @@
[Iterators][book-rust-iterators]⮳
{{#include ../refs/link-refs.md}}
+
-TODO:
+TODO: edit
diff --git a/src/lang/lifetimes.md b/src/lang/lifetimes.md
index 99b2b6fb..30282ac9 100644
--- a/src/lang/lifetimes.md
+++ b/src/lang/lifetimes.md
@@ -25,6 +25,7 @@ The generic lifetime{{hi:Lifetime}} `'a` will get the concrete lifetime that is
```
{{#include ../refs/link-refs.md}}
+
-TODO:
+TODO: review
diff --git a/src/lang/macros.md b/src/lang/macros.md
index 505784cd..d6fa86a8 100644
--- a/src/lang/macros.md
+++ b/src/lang/macros.md
@@ -39,6 +39,7 @@ The [Little Book of Rust Macros][book-rust-macros]⮳
[![watt][c-watt-badge]][c-watt] [![watt-github][c-watt-github-badge]][c-watt-github]
{{#include ../refs/link-refs.md}}
+
-TODO:
+TODO: add more / edit
diff --git a/src/lang/match.md b/src/lang/match.md
index f89393eb..d3888556 100644
--- a/src/lang/match.md
+++ b/src/lang/match.md
@@ -23,6 +23,7 @@ Patterns accept `1 | 2` for or, `1..=5` for inclusive range, `if x % 2 == 0` gua
[Pattern matching][book-rust-pattern-matching]⮳
{{#include ../refs/link-refs.md}}
+
-TODO:
+TODO: add more / edit
diff --git a/src/lang/modules.md b/src/lang/modules.md
index 6fe0b2a2..aaa62735 100644
--- a/src/lang/modules.md
+++ b/src/lang/modules.md
@@ -45,6 +45,7 @@ On the other hand, when bringing in structs, enums, and other items with use, it
```
{{#include ../refs/link-refs.md}}
+
-TODO:
+TODO: review
diff --git a/src/lang/ownership_borrowing.md b/src/lang/ownership_borrowing.md
index 465e6569..a7726b6a 100644
--- a/src/lang/ownership_borrowing.md
+++ b/src/lang/ownership_borrowing.md
@@ -47,4 +47,9 @@ If you have a mutable reference to a value, you can have no other simultaneous r
{{#include ../refs/link-refs.md}}
TODO: add text
+
+## Memory Safety
+
+- [rust-re-borrowing-and-memory-safety][blog-rust-re-borrowing-and-memory-safety]⮳
+
diff --git a/src/lang/simple_data_types.md b/src/lang/simple_data_types.md
index 2e987959..a03e622c 100644
--- a/src/lang/simple_data_types.md
+++ b/src/lang/simple_data_types.md
@@ -23,7 +23,7 @@
{{#include ../refs/link-refs.md}}
-TODO:
+TODO: edit
- [ ] table?
- [ ] add examples
diff --git a/src/lang/slices.md b/src/lang/slices.md
index 3f6773ef..d40e59ce 100644
--- a/src/lang/slices.md
+++ b/src/lang/slices.md
@@ -5,6 +5,7 @@
```
{{#include ../refs/link-refs.md}}
+
TODO: add text
diff --git a/src/lang/trait_objects.md b/src/lang/trait_objects.md
index 9435a20f..d7c87f60 100644
--- a/src/lang/trait_objects.md
+++ b/src/lang/trait_objects.md
@@ -22,6 +22,7 @@ dyn Trait + 'static
[Trait Objects (docs)][book-rust-trait-objects]⮳
{{#include ../refs/link-refs.md}}
+
-TODO:
+TODO: review
diff --git a/src/lang/traits.md b/src/lang/traits.md
index 066821d8..14f00b62 100644
--- a/src/lang/traits.md
+++ b/src/lang/traits.md
@@ -86,5 +86,5 @@ See [Async][p-async]⮳
{{#include ../refs/link-refs.md}}
-TODO:
+TODO: review
diff --git a/src/links/blogs.md b/src/links/blogs.md
index f4b4d736..75d63d6b 100644
--- a/src/links/blogs.md
+++ b/src/links/blogs.md
@@ -1,19 +1,18 @@
-# Blogs
+# Blogs, Podcasts, Meetups...
-[A learning journal][lpalmieri-website]⮳
+- [A learning journal][lpalmieri-website]⮳
-[LukeMathWalker/zero-to-production: Code for \"Zero To Production In Rust\", a book on API development using Rust][book-zero-to-production]⮳ [![zero-to-production-github][book-zero-to-production-github-badge]][book-zero-to-production-github]
-
-{{#include ../refs/link-refs.md}}
-
-
-TODO:
+- [LukeMathWalker/zero-to-production: Code for \"Zero To Production In Rust\", a book on API development using Rust][book-zero-to-production]⮳ [![zero-to-production-github][book-zero-to-production-github-badge]][book-zero-to-production-github]
## Rust Podcasts, Blogs, Meetups
- [rustacean-station.org][rustacean-station]
- [rustmagazine.org][rustmagazine.org]
+### Newsletters
+
+- Master Rust easily with our engaging, tutorial-style lessons and real-world examples in our Launchpad newsletter: [shuttle.rs/launchpad][launchpad-shuttle.rs]
+
## Meetups
### Rust Meetup Linz
@@ -21,13 +20,8 @@ TODO:
- [rust-linz.at][rust-linz.at]
- [linz.coderdojo.net][linz.coderdojo.net]
-### Newsletters
-
-- Master Rust easily with our engaging, tutorial-style lessons and real-world examples in our Launchpad newsletter: [shuttle.rs/launchpad][launchpad-shuttle.rs]
+{{#include ../refs/link-refs.md}}
-[launchpad-shuttle.rs]: https://www.shuttle.rs/launchpad
-[linz.coderdojo.net]: https://linz.coderdojo.net
-[rust-linz.at]: https://rust-linz.at
-[rustacean-station]: https://rustacean-station.org
-[rustmagazine.org]: https://rustmagazine.org
+
+TODO: organize
diff --git a/src/links/books.md b/src/links/books.md
index cded3902..d1358311 100644
--- a/src/links/books.md
+++ b/src/links/books.md
@@ -1,5 +1,7 @@
# Books
+[The Little Book of Rust Books][book-the-little-book-of-rust-books]⮳
+
[Effective Rust][book-effective-rust]⮳
[Programming Rust][book-programming-rust]⮳
@@ -8,17 +10,10 @@
[The Rust Programming Language, 2nd Edition][book-rust-programming-language]⮳
-{{#include ../refs/link-refs.md}}
-
-
-TODO:
-
-- [The Little Book of Rust Books][book-the-little-book-of-rust-books]⮳
-
-[book-the-little-book-of-rust-books]: https://lborb.github.io/book/title-page.html#the-little-book-of-rust-books
-
[Writing Interpreters in Rust: a Guide][writing-interpreters-in-rust]⮳
-[writing-interpreters-in-rust]: https://github.com/rust-hosted-langs/book
+{{#include ../refs/link-refs.md}}
+
+TODO: add / organize
diff --git a/src/links/companies.md b/src/links/companies.md
index 0a8c8455..3bf49a4a 100644
--- a/src/links/companies.md
+++ b/src/links/companies.md
@@ -17,6 +17,5 @@
{{#include ../refs/company-refs.md}}
-TODO:
-
+TODO: add
diff --git a/src/links/example_code.md b/src/links/example_code.md
index ad1c58f4..d8559db2 100644
--- a/src/links/example_code.md
+++ b/src/links/example_code.md
@@ -6,15 +6,11 @@
[Zero To Production In Rust (code)][book-zero-to-production-github]⮳
-{{#include ../refs/link-refs.md}}
-
-TODO:
-
-- Source Code for 'Practical Rust Web Projects' by Shing Lyu [practical-rust-web-projects][practical-rust-web-projects]⮳
-- A fullstack RealWorld implementation using rust, axum, sqlx, and yew! [realworld-rust-axum-sqlx][realworld-rust-axum-sqlx]⮳
+- Source Code for 'Practical Rust Web Projects' by Shing Lyu [practical-rust-web-projects][practical-rust-web-projects-github]⮳
+- A fullstack RealWorld implementation using rust, axum, sqlx, and yew! [realworld-rust-axum-sqlx][realworld-rust-axum-sqlx-github]⮳
- A full template for a REST API written in Rust, engineered for maximum testability. [rust-rest][c-rust-rest-github]⮳
-[c-rust-rest-github]: https://github.com/emanguy/rust-rest
-[practical-rust-web-projects]: https://github.com/Apress/practical-rust-web-projects/tree/main
-[realworld-rust-axum-sqlx]: https://github.com/JoeyMckenzie/realworld-rust-axum-sqlx
+{{#include ../refs/link-refs.md}}
+
+TODO: organize
diff --git a/src/links/index.md b/src/links/index.md
index 3e8ca515..3bf6edda 100644
--- a/src/links/index.md
+++ b/src/links/index.md
@@ -22,14 +22,6 @@
- [Learning Rust With Entirely Too Many Linked Lists][rust-learning-linked-lists-website]⮳
- [Rust quizz][rust-quizz]⮳
-{{#include refs.incl.md}}
-{{#include ../refs/link-refs.md}}
-
-
-TODO:
-
-[rustacean-station][rustacean-station]
-
## Rust Learning
- Rust language main site [rust-lang.org][rust]
@@ -38,37 +30,23 @@ TODO:
- free Rust course developed by the Android team at Google. The course covers the full spectrum of Rust, from basic syntax to advanced topics like generics and error handling. [comprehensive-rust][comprehensive-rust]⮳
- Rust for professionals [rust-for-professionals][rust-for-professionals]⮳
- A half-hour to learn Rust [a-half-hour-to-learn-rust][a-half-hour-to-learn-rust]⮳
-- [awesome-rust][awesome-rust]⮳
+- [awesome-rust][awesome-rust-github]⮳
A curated list of Rust code and resources.
- Top 15 Rust Projects To Elevate Your Skills [rust-practice-projects][rust-practice-projects]⮳
- Rust mastery exercises. Become your team's resident Rust expert. [app.codecrafters.io/tracks/rust][app.codecrafters.io/tracks/rust]⮳
-
-## Rust Maven training site
-
- [rust.code-maven.com][code-maven]
## Rust Courses
- open source training courses about distributed database and distributed systems [talent-plan][talent-plan-github]⮳
-- Learning Rust By Practice, narrowing the gap between beginner and skilled-dev through challenging examples, exercises and projects. [rust-by-practice][rust-by-practice]⮳
+- Learning Rust By Practice, narrowing the gap between beginner and skilled-dev through challenging examples, exercises and projects. [rust-by-practice][rust-by-practice-github]⮳
- A bunch of links to blog posts, articles, videos, etc for learning Rust [rust-learning][rust-learning]
-- Rust Language Bible [rust-course][rust-course]
+- Rust Language Bible [rust-course][rust-course-github]
- [How to learn modern Rust][how_to_learn_modern_rust-github]
-[awesome-rust]: https://github.com/rust-unofficial/awesome-rust
-[rust-for-professionals]: https://overexact.com/rust-for-professionals/
-[rust-by-example]: https://doc.rust-lang.org/rust-by-example/index.html
-[practice.course.rs]: https://practice.course.rs/why-exercise.html
-[comprehensive-rust]: https://google.github.io/comprehensive-rust/
-[a-half-hour-to-learn-rust]: https://fasterthanli.me/articles/a-half-hour-to-learn-rust
-[rust-practice-projects]: https://zerotomastery.io/blog/rust-practice-projects/
-[app.codecrafters.io/tracks/rust]: https://app.codecrafters.io/tracks/rust
-[talent-plan-github]: https://github.com/pingcap/talent-plan
-[rust-by-practice]: https://github.com/sunface/rust-by-practice
-[rust-learning]: https://github.com/ctjhoa/rust-learning
-[how_to_learn_modern_rust-github]: https://github.com/joaocarvalhoopen/How_to_learn_modern_Rust
-[rustacean-station]: https://rustacean-station.org
-[rust]: https://www.rust-lang.org
-[code-maven]: https://rust.code-maven.com
-[rust-course]: https://github.com/sunface/rust-course
+{{#include refs.incl.md}}
+{{#include ../refs/link-refs.md}}
+
+
+TODO: organize
diff --git a/src/links/rust_cheatsheets.md b/src/links/rust_cheatsheets.md
index 370293c7..3b72ee16 100644
--- a/src/links/rust_cheatsheets.md
+++ b/src/links/rust_cheatsheets.md
@@ -9,6 +9,7 @@
[Rust for C# developers][book-rust-for-C#-developers]⮳
{{#include ../refs/link-refs.md}}
+
-TODO:
+TODO: edit
diff --git a/src/other/cloud/index.md b/src/other/cloud/index.md
index f60de952..4040dc62 100644
--- a/src/other/cloud/index.md
+++ b/src/other/cloud/index.md
@@ -38,11 +38,9 @@ Dapr Rust SDK example: [![dapr-rust-examples][dapr-rust-examples-badge]][dapr-ru
- [docs.shuttle.rs][docs-shuttle-rs]
- [shuttle-examples][shuttle-examples-github]
-[docs-shuttle-rs]: https://docs.shuttle.rs/introduction/welcome
-[shuttle-examples-github]: https://github.com/shuttle-hq/shuttle-examples
{{#include refs.incl.md}}
{{#include ../../refs/link-refs.md}}
-TODO:
+TODO: edit
diff --git a/src/other/cross_platform/index.md b/src/other/cross_platform/index.md
index f6367724..5de7c596 100644
--- a/src/other/cross_platform/index.md
+++ b/src/other/cross_platform/index.md
@@ -16,6 +16,7 @@ The user interface{{hi:User interface}} layer is built natively, with modern dec
{{#include refs.incl.md}}
{{#include ../../refs/link-refs.md}}
+
-TODO:
+TODO: add / edit
diff --git a/src/other/data_processing/index.md b/src/other/data_processing/index.md
index fedda752..2e1f9f53 100644
--- a/src/other/data_processing/index.md
+++ b/src/other/data_processing/index.md
@@ -18,20 +18,6 @@
[![datafusion][c-datafusion-badge]][c-datafusion] is the `Apache Arrow DataFusion` SQL Query Engine.
-## See also
-
-[![csv][c-csv-badge]][c-csv]
-
-{{#include refs.incl.md}}
-{{#include ../../refs/link-refs.md}}
-
-
-TODO:
-
-## Data engineering + Rust
-
-Rust Data Engineering course By Alfredo Deza et al., O'Reilly
-
## Databend
𝗗𝗮𝘁𝗮, 𝗔𝗻𝗮𝗹𝘆𝘁𝗶𝗰𝘀 & 𝗔𝗜. Modern alternative to Snowflake. Cost-effective and simple for massive-scale analytics. [datafuselabs databend][c-databend-github]⮳
@@ -48,10 +34,15 @@ A fast CSV command line toolkit written in Rust. [xsv][c-xsv-github]⮳
xsv is a command line program for indexing, slicing, analyzing, splitting and joining CSV files.
-[c-polars-docs]: https://docs.pola.rs
-[c-xsv-github]: https://github.com/BurntSushi/xsv
-[c-databend-github]: https://github.com/datafuselabs/databend
-[plotly.js]: https://plot.ly/javascript
-[c-plotly-github]: https://igiagkiozis.github.io/plotly/content/plotly_rs.html
+[![csv][c-csv-badge]][c-csv]
+
+## See also
+
+Rust Data Engineering course By Alfredo Deza et al., O'Reilly
+{{#include refs.incl.md}}
+{{#include ../../refs/link-refs.md}}
+
+
+TODO: organize / edit
diff --git a/src/other/gpu/index.incl.md b/src/other/gpu/index.incl.md
index 2e4f9b67..2cfc8e99 100644
--- a/src/other/gpu/index.incl.md
+++ b/src/other/gpu/index.incl.md
@@ -1,6 +1,7 @@
| Recipe | Crates | Categories |
|--------|--------|------------|
| [rust_gpu][ex-rust_gpu] | [![rust_gpu-github][c-rust_gpu-github-badge]][c-rust_gpu-github] | |
+
-TODO:
+TODO: add links
diff --git a/src/other/gpu/index.md b/src/other/gpu/index.md
index 690b255b..dc50a532 100644
--- a/src/other/gpu/index.md
+++ b/src/other/gpu/index.md
@@ -8,6 +8,7 @@
{{#include refs.incl.md}}
{{#include ../../refs/link-refs.md}}
+
-TODO:
+TODO: write
diff --git a/src/other/index.md b/src/other/index.md
index 927dc001..7604b8e8 100644
--- a/src/other/index.md
+++ b/src/other/index.md
@@ -22,6 +22,7 @@
{{#include refs.incl.md}}
{{#include ../refs/link-refs.md}}
+
-TODO:
+TODO: organize
diff --git a/src/other/scripting/index.incl.md b/src/other/scripting/index.incl.md
index cd4761c8..108ad132 100644
--- a/src/other/scripting/index.incl.md
+++ b/src/other/scripting/index.incl.md
@@ -3,5 +3,5 @@
| | | |
-TODO:
+TODO: add links
diff --git a/src/refs/link-refs.md b/src/refs/link-refs.md
index 7cdb687b..0950cb90 100644
--- a/src/refs/link-refs.md
+++ b/src/refs/link-refs.md
@@ -1,3 +1,149 @@
+
+[a-half-hour-to-learn-rust]: https://fasterthanli.me/articles/a-half-hour-to-learn-rust
+[abstract-factory-in-rust-website]: https://refactoring.guru/design-patterns/abstract-factory/rust/example#example-0
+[actions-mdbook-github]: https://github.com/peaceiris/actions-mdbook
+[adidoks-website]: https://adidoks.netlify.app
+[app.codecrafters.io/tracks/rust]: https://app.codecrafters.io/tracks/rust
+[asynchronics-github]: https://github.com/asynchronics
+[auth-microservice-rust-actix-web]: https://gill.net.in/posts/auth-microservice-rust-actix-web1.0-diesel-complete-tutorial
+[awesome-rust-github]: https://github.com/rust-unofficial/awesome-rust
+[blog-6-ides-built-for-rust]: https://analyticsindiamag.com/6-ides-built-for-rust
+[blog-ai-tools-that-can-generate-code]: https://www.marktechpost.com/2024/03/14/top-artificial-intelligence-ai-tools-that-can-generate-code-to-help-programmers/
+[blog-candle]: https://www.marktechpost.com/2024/04/04/meet-candle-a-minimalist-machine-learning-framework-for-rust-that-focuses-on-performance-including-gpu-support-and-ease-of-use
+[blog-rust-re-borrowing-and-memory-safety]: https://felipemeriga.hashnode.dev/rust-re-borrowing-and-memory-safety?source=weekly
+[book-rust-reference-derive]: https://doc.rust-lang.org/reference/attributes/derive.html
+[book-the-little-book-of-rust-books]: https://lborb.github.io/book/title-page.html#the-little-book-of-rust-books
+[bottlerocket-github]: https://github.com/bottlerocket-os/bottlerocket
+[c-actix-github]: https://github.com/actix/actix
+[c-axum-examples]: https://github.com/tokio-rs/axum/tree/main/examples
+[c-candle-docs]: https://candle.dev/docs/wick/introduction
+[c-cargo-auditable-github]: https://github.com/rust-secure-code/cargo-auditable
+[c-cargo-cache-github]: https://github.com/matthiaskrgr/cargo-cache
+[c-cargo-hakari-crates.io]: https://crates.io/crates/cargo-hakari
+[c-cargo-husky-github]: https://github.com/rhysd/cargo-husky
+[c-cargo-limit-crates.io]: https://crates.io/crates/cargo-limit
+[c-cargo-make-blog]: https://medium.com/@sagiegurari/automating-your-rust-workflows-with-cargo-make-part-1-of-5-introduction-and-basics-b19ced7e7057
+[c-cargo-wizard-github]: https://github.com/Kobzol/cargo-wizard
+[c-cargo-xtask-github]: https://github.com/matklad/cargo-xtask
+[c-cornucopia-github]: https://github.com/cornucopia-rs/cornucopia
+[c-cosmic-text-github]: https://github.com/pop-os/cosmic-text
+[c-crossbeam-github]: https://github.com/crossbeam-rs/crossbeam
+[c-csv-crate-tutorial]: https://docs.rs/csv/*/csv/tutorial/index.html
+[c-databend-github]: https://github.com/datafuselabs/databend
+[c-devx-github]: https://github.com/elastio/devx
+[c-duct-github]: https://github.com/oconnor663/duct.rs
+[c-duct-gotchas-github]: https://github.com/oconnor663/duct.py/blob/master/gotchas.md
+[c-egui-containers]: https://docs.rs/egui/latest/egui/containers
+[c-egui-website]: https://www.egui.rs
+[c-egui-widgets]: https://docs.rs/egui/latest/egui/widgets/index.html#structs
+[c-egui::Ui]: https://docs.rs/egui/latest/egui/struct.Ui.html
+[c-egui_demo_lib-github]: https://github.com/emilk/egui/blob/master/crates/egui_demo_lib/src/demo/code_example.rs
+[c-floem-github]: https://github.com/lapce/floem
+[c-floem]: https://docs.rs/floem
+[c-glidesort-github]: https://github.com/orlp/glidesort
+[c-iced-github]: https://github.com/iced-rs/iced
+[c-kanal-github]: https://github.com/fereidani/kanal
+[c-kani-github]: https://github.com/model-checking/kani
+[c-lens]: https://crates.io/crates/lens-rs
+[c-leptos-github]: https://github.com/leptos-rs/leptos
+[c-loco-docs]: https://loco.rs/docs/getting-started/guide
+[c-loco-github]: https://github.com/loco-rs/loco
+[c-mdbook-linkcheck-github]: https://github.com/Michael-F-Bryan/mdbook-linkcheck
+[c-mdbook-private-github]: https://github.com/RealAtix/mdbook-private
+[c-mdbook-third-party-plugins-wiki]: https://github.com/rust-lang/mdBook/wiki/Third-party-plugins
+[c-meilisearch-github]: https://github.com/meilisearch/meilisearch
+[c-mio-github]: https://github.com/tokio-rs/mio
+[c-nom-github]: https://github.com/rust-bakery/nom/tree/main
+[c-nom-nominomicon]: https://tfpk.github.io/nominomicon/introduction.html
+[c-openobserve-github]: https://github.com/openobserve/openobserve
+[c-pake-github]: https://github.com/tw93/Pake
+[c-pest-website]: https://pest.rs/
+[c-plotly-github]: https://igiagkiozis.github.io/plotly/content/plotly_rs.html
+[c-polars-docs]: https://docs.pola.rs
+[c-ratatui-github]: https://github.com/ratatui-org/ratatui
+[c-riker-website]: https://riker.rs/actors
+[c-rui-github]: https://github.com/audulus/rui
+[c-rust-rest-github]: https://github.com/emanguy/rust-rest
+[c-rustquant-lib.rs]: https://lib.rs/crates/rustquant
+[c-rustwasm-website]: https://rustwasm.github.io/docs/book/reference/deploying-to-production.html
+[c-salsa-website]: https://salsa-rs.github.io/salsa/overview.html
+[c-serde-github]: https://github.com/serde-rs/serde
+[c-sled-github]: https://github.com/spacejam/sled
+[c-slint-github]: https://github.com/slint-ui/slint
+[c-slint-madewithslint-website]: https://madewithslint.com
+[c-slint-website]: https://slint.dev
+[c-slotmap-crates.io]: https://crates.io/crates/slotmap
+[c-stakker-github]: https://github.com/uazu/stakker
+[c-swc_ecma_parser-crates.io]: https://crates.io/crates/swc_ecma_parser
+[c-tantivy-github]: https://github.com/quickwit-oss/tantivy
+[c-termbook-github]: https://github.com/Byron/termbook
+[c-tracing-events-crates.io]: https://crates.io/crates/tracing
+[c-tracing_journald]: https://docs.rs/tracing-journald
+[c-wasmtime-docs]: https://docs.wasmtime.dev/introduction.html
+[c-wasmtime-github]: https://github.com/bytecodealliance/wasmtime
+[c-wgpu-github]: https://github.com/gfx-rs/wgpu
+[c-xilem-github]: https://github.com/linebender/xilem
+[c-xshell-github]: https://github.com/matklad/xshell
+[c-xsv-github]: https://github.com/BurntSushi/xsv
+[c-zed-website]: https://zed.dev
+[cargo_plugins_install_action-github]: https://github.com/taiki-e/install-action
+[client-side-server-with-rust]: https://logankeenan.com/posts/client-side-server-with-rust-a-new-approach-to-ui-development
+[code-maven]: https://rust.code-maven.com
+[comprehensive-rust]: https://google.github.io/comprehensive-rust/
+[concat-benchmark-github]: https://github.com/hoodie/concatenation_benchmarks-rs/blob/master/benches/lib.rs
+[concatenation_benchmarks-github]: https://github.com/hoodie/concatenation_benchmarks-rs
+[desktop-lite-github]: https://github.com/devcontainers/features/tree/main/src/desktop-lite
+[docs-shuttle-rs]: https://docs.shuttle.rs/introduction/welcome
+[embedded-devices-working-group]: https://www.rust-lang.org/governance/wgs/embedded
+[gpui.rs]: https://www.gpui.rs
+[helix-editor-website]: https://helix-editor.com
+[how_to_learn_modern_rust-github]: https://github.com/joaocarvalhoopen/How_to_learn_modern_Rust
+[journald]: https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html
+[launchpad-shuttle.rs]: https://www.shuttle.rs/launchpad
+[linux-embracing-rust-will-boost-robotics-community]: https://www.therobotreport.com/linux-embracing-rust-will-boost-robotics-community/
+[linz.coderdojo.net]: https://linz.coderdojo.net
+[locahost:6080]: http://localhost:6080
+[min-sized-rust-github]: https://github.com/johnthagen/min-sized-rust
+[plotly.js]: https://plot.ly/javascript
+[practical-rust-web-projects-github]: https://github.com/Apress/practical-rust-web-projects/tree/main
+[practice.course.rs]: https://practice.course.rs/why-exercise.html
+[pre-commit.com-website]: https://pre-commit.com/index.html
+[realworld-actix-fullstack-github]: https://github.com/Bechma/realworld-actix-fullstack
+[realworld-rust-axum-sqlx-github]: https://github.com/JoeyMckenzie/realworld-rust-axum-sqlx
+[realworld-rust-axum-sqlx-website]: https://github.com/JoeyMckenzie/realworld-rust-axum-sqlx
+[realworld-v1-rust-actix-web-diesel-github]: https://github.com/snamiki1212/realworld-v1-rust-actix-web-diesel
+[realworld.how]: https://www.realworld.how
+[redox-github]: https://github.com/redox-os/redox
+[rust-by-example]: https://doc.rust-lang.org/rust-by-example/index.html
+[rust-by-practice-github]: https://github.com/sunface/rust-by-practice
+[rust-course-github]: https://github.com/sunface/rust-course
+[rust-for-professionals]: https://overexact.com/rust-for-professionals/
+[rust-formal-methods-website]: https://rust-formal-methods.github.io
+[rust-learning-github]: https://github.com/ctjhoa/rust-learning
+[rust-linz.at]: https://rust-linz.at
+[rust-practice-projects]: https://zerotomastery.io/blog/rust-practice-projects/
+[rust-raspberrypi-OS-tutorials-github]: https://github.com/rust-embedded/rust-raspberrypi-OS-tutorials
+[rust-web-framework-comparison-github]: https://github.com/flosse/rust-web-framework-comparison
+[rust-yew-realworld-example-app-github]: https://github.com/jetli/rust-yew-realworld-example-app
+[rust]: https://www.rust-lang.org
+[rustacean-station]: https://rustacean-station.org
+[rustmagazine.org]: https://rustmagazine.org
+[shuttle-examples-github]: https://github.com/shuttle-hq/shuttle-examples
+[stackoverflow-how-do-i-get-a-str-or-string-from-stdborrowcowstr]: https://stackoverflow.com/questions/47147844/how-do-i-get-a-str-or-string-from-stdborrowcowstr
+[stackoverflow-what-is-the-rust-equivalent-to-a-try-catch-statement]: https://stackoverflow.com/questions/55755552/what-is-the-rust-equivalent-to-a-try-catch-statement
+[talent-plan-github]: https://github.com/pingcap/talent-plan
+[tokio-async-stream]: https://github.com/tokio-rs/async-stream
+[tokio-examples]: https://github.com/tokio-rs/tokio/tree/master/examples
+[tokio-rs]: https://tokio.rs
+[tree-sitter-github]: https://github.com/tree-sitter/tree-sitter
+[tree-sitter-website]: https://tree-sitter.github.io/tree-sitter
+[wasmer-website]: https://wasmer.io
+[webgpu-website]: https://gpuweb.github.io/gpuweb
+[why-rust-for-robots]: https://www.tangramvision.com/blog/why-rust-for-robots
+[wikipedia-parsing-expression-grammars]: https://en.wikipedia.org/wiki/Parsing_expression_grammar
+[wikipedia-splay-tree]: https://en.wikipedia.org/wiki/Splay_tree
+[wikipedia-webgpu]: https://en.wikipedia.org/wiki/WebGPU
+[writing-interpreters-in-rust]: https://github.com/rust-hosted-langs/book
{{#include category-refs.md}}
{{#include crate-refs.md}}
{{#include other-refs.md}}
diff --git a/src/refs/other-refs.md b/src/refs/other-refs.md
index 8955d059..8e3f89ac 100644
--- a/src/refs/other-refs.md
+++ b/src/refs/other-refs.md
@@ -13,6 +13,7 @@
[awesome-rust-github]: https://github.com/rust-unofficial/awesome-rust/
[aws-rust-sdk-website-badge]: https://img.shields.io/badge/AWS_rust_sdk-coral
[aws-rust-sdk-website]: https://aws.amazon.com/sdk-for-rust/
+[best-of-rust-crates-github]: https://github.com/stars/ErichDonGubler/lists/best-of-rust-crates
[blessed-rs-website-badge]: https://img.shields.io/badge/blessed.rs-coral
[blessed-rs-website]: https://blessed.rs/crates/
[blog-actors-with-tokio-badge]: https://img.shields.io/badge/blog-actors_with_tokio-beige
@@ -29,12 +30,15 @@
[blog-cargo-machete]: https://blog.benj.me/2022/04/27/cargo-machete/
[blog-error-badge]: https://img.shields.io/badge/blog-error-beige
[blog-error]: https://brson.github.io/2016/11/30/starting-with-error-chain
+[blog-how-i-improved-my-rust-compile-times-by-seventy-five-percent]: https://benw.is/posts/how-i-improved-my-rust-compile-times-by-seventy-five-percent
[blog-optimizing-ci-cd-pipelines-badge]: https://img.shields.io/badge/blog-optimizing_ci_cd_pipelines-beige
+[blog-optimizing-ci-cd-pipelines-rust-project]: https://blog.logrocket.com/optimizing-ci-cd-pipelines-rust-projects
[blog-optimizing-ci-cd-pipelines]: https://blog.logrocket.com/optimizing-ci-cd-pipelines-rust-projects/
[blog-practical-rust-badge]: https://img.shields.io/badge/blog-practical_rust-beige
[blog-practical-rust]: https://dev.to/werner/practical-rust-development-api-rest-29g1
[blog-rust-build-times-badge]: https://img.shields.io/badge/blog-Rust_build_times-beige
[blog-rust-build-times]: https://jondot.medium.com/8-steps-for-troubleshooting-your-rust-build-times-2ffc965fd13e
+[blog-rust-compilation-time]: https://www.williballenthin.com/post/rust-compilation-time/
[blog-rusty-terminal-badge]: https://img.shields.io/badge/blog-rusty_terminal-beige
[blog-rusty-terminal]: https://dev.to/22mahmoud/my-terminal-became-more-rusty-4g8l
[blog-speeding-up-incremental-rust-compilation-badge]: https://img.shields.io/badge/blog-speeding_up_incremental_rust_compilation-beige
@@ -51,6 +55,7 @@
[blog-what-is-blocking]: https://ryhl.io/blog/async-what-is-blocking/
[blog-working-with-env-variables-badge]: https://img.shields.io/badge/blog-working_with_env_variables-beige
[blog-working-with-env-variables]: https://www.thorsten-hans.com/working-with-environment-variables-in-rust/
+[book-async-prog-rust]: https://rust-lang.github.io/async-book/01_getting_started/01_chapter.html
[book-asynchronous-programming-in-rust-badge]: https://img.shields.io/badge/Asynchronous_programming_in_rust-peru?logo=mdbook
[book-asynchronous-programming-in-rust]: https://rust-lang.github.io/async-book/01_getting_started/01_chapter.html
[book-cargo-badge]: https://img.shields.io/badge/Cargo-peru?logo=mdbook
@@ -64,6 +69,7 @@
[book-cargo-env]: https://doc.rust-lang.org/cargo/reference/environment-variables.html
[book-cargo-specifying-dependencies]: https://doc.rust-lang.org/cargo/reference/specifying-dependencies.html
[book-cargo]: https://doc.rust-lang.org/cargo/index.html
+[book-command-line-rust-github]: https://github.com/kyclark/command-line-rust/tree/main
[book-easy-rust-badge]: https://img.shields.io/badge/Easy_rust-peru?logo=mdbook
[book-easy-rust]: https://fongyoong.github.io/easy_rust/Chapter_1.html
[book-effective-rust-badge]: https://img.shields.io/badge/Effective_rust-peru?logo=mdbook
@@ -198,10 +204,12 @@
[docker-website]: https://www.docker.com/
[dockerfile]: https://docs.docker.com/reference/dockerfile/
[docs-rs]: https://docs.rs/
+[forum-deploying-mdbook-on-github-using-github-action]: https://users.rust-lang.org/t/experience-about-deploying-mdbook-on-github-using-github-action/81408
[github-api-rate-limiting]: https://docs.github.com/en/rest/using-the-rest-api/rate-limits-for-the-rest-api?apiVersion=2022-11-28
[github-api]: https://developer.github.com/v3/auth/
[http-basic-auth]: https://tools.ietf.org/html/rfc2617
[http-range-rfc7233]: https://tools.ietf.org/html/rfc7233#section-3.1
+[install_action-github]: https://github.com/taiki-e/install-action/
[john-cd-github]: https://github.com/john-cd/
[julia-set]: https://en.wikipedia.org/wiki/Julia_set
[keyword-dyn]: https://doc.rust-lang.org/std/keyword.dyn.html
diff --git a/src/standard_library/cow.md b/src/standard_library/cow.md
index 8c972f6a..ad4cf08a 100644
--- a/src/standard_library/cow.md
+++ b/src/standard_library/cow.md
@@ -57,10 +57,9 @@ example.as_ref().to_owned();
Adapted from this [StackOverflow discussion][stackoverflow-how-do-i-get-a-str-or-string-from-stdborrowcowstr]⮳
-[stackoverflow-how-do-i-get-a-str-or-string-from-stdborrowcowstr]: https://stackoverflow.com/questions/47147844/how-do-i-get-a-str-or-string-from-stdborrowcowstr
{{#include refs.incl.md}}
{{#include ../refs/link-refs.md}}
-TODO:
+TODO: review
diff --git a/src/standard_library/derive.md b/src/standard_library/derive.md
index 6d3691ec..d2891665 100644
--- a/src/standard_library/derive.md
+++ b/src/standard_library/derive.md
@@ -10,6 +10,10 @@ The [`derive`][book-rust-reference-derive]{{hi:derive}}⮳ attribute{{hi:Attribu
You can use the `cargo_expand`{{hi:cargo-expand}} utility to see the exact code that is generated for your specific type.
+See also:
+
+- [Derive][book-rust-reference-derive]⮳
+
## Derive More
[![derive_more][c-derive_more-badge]][c-derive_more]
@@ -23,10 +27,5 @@ You can use the `cargo_expand`{{hi:cargo-expand}} utility to see the exact code
{{#include refs.incl.md}}
{{#include ../refs/link-refs.md}}
-TODO:
-
-[Derive][book-rust-reference-derive]⮳
-
-[book-rust-reference-derive]: https://doc.rust-lang.org/reference/attributes/derive.html
-
+TODO: review
diff --git a/src/standard_library/hashmaps.md b/src/standard_library/hashmaps.md
index 10918132..a5bb5096 100644
--- a/src/standard_library/hashmaps.md
+++ b/src/standard_library/hashmaps.md
@@ -12,6 +12,7 @@ All of the hashmap{{hi:Hashmap}} keys{{hi:Keys}} must have the same type as each
{{#include refs.incl.md}}
{{#include ../refs/link-refs.md}}
+
-TODO:
+TODO: add
diff --git a/src/standard_library/index.incl.md b/src/standard_library/index.incl.md
index 7866a272..28f7aa47 100644
--- a/src/standard_library/index.incl.md
+++ b/src/standard_library/index.incl.md
@@ -25,6 +25,7 @@
## Automatic Trait Derivation
{{#include derive.incl.md}}
+
-TODO:
+TODO: review
diff --git a/src/standard_library/index.md b/src/standard_library/index.md
index cfcf1682..ff4f4ffb 100644
--- a/src/standard_library/index.md
+++ b/src/standard_library/index.md
@@ -4,6 +4,7 @@
{{#include refs.incl.md}}
{{#include ../refs/link-refs.md}}
+
-TODO:
+TODO: review
diff --git a/src/standard_library/smart_pointers.incl.md b/src/standard_library/smart_pointers.incl.md
index a35ad371..80f83257 100644
--- a/src/standard_library/smart_pointers.incl.md
+++ b/src/standard_library/smart_pointers.incl.md
@@ -3,6 +3,7 @@
| [Box][ex-box] | [![std][c-std-badge]][c-std] | |
| [Rc][ex-rc] | [![std][c-std-badge]][c-std] | |
| [RefCell][ex-refcell] | [![std][c-std-badge]][c-std] | |
+
-TODO:
+TODO: edit recipe titles; add crate badges
diff --git a/src/standard_library/smart_pointers.md b/src/standard_library/smart_pointers.md
index afac618c..acd9838d 100644
--- a/src/standard_library/smart_pointers.md
+++ b/src/standard_library/smart_pointers.md
@@ -33,6 +33,7 @@ The `RefCell
` type with its interior mutability{{hi:interior mutability}} giv
{{#include refs.incl.md}}
{{#include ../refs/link-refs.md}}
+
-TODO:
+TODO: review
diff --git a/src/standard_library/strings.incl.md b/src/standard_library/strings.incl.md
index cb03c9e2..11f73757 100644
--- a/src/standard_library/strings.incl.md
+++ b/src/standard_library/strings.incl.md
@@ -3,6 +3,7 @@
| [String type][ex-string-type] | [![std][c-std-badge]][c-std] | |
| [Placeholders][ex-string-placeholders] | [![std][c-std-badge]][c-std] | |
| [String concatenation][ex-string-concatenation] | [![std][c-std-badge]][c-std] | |
+
-TODO:
+TODO: review
diff --git a/src/standard_library/strings.md b/src/standard_library/strings.md
index c3ee082c..83ac6652 100644
--- a/src/standard_library/strings.md
+++ b/src/standard_library/strings.md
@@ -28,11 +28,10 @@ Here are several common methods to concatenate{{hi:Concatenation}} Strings:
{{#include ../../deps/tests/strings3.rs}}
```
-Examples from [concatenation_benchmarks-rs][concatenation_benchmarks-rs]⮳
+Examples from [concatenation_benchmarks-rs][concatenation_benchmarks-github]⮳
-[concatenation_benchmarks-rs]: https://github.com/hoodie/concatenation_benchmarks-rs
{{#include refs.incl.md}}
{{#include ../refs/link-refs.md}}
-TODO:
+TODO: review
diff --git a/src/standard_library/vectors.incl.md b/src/standard_library/vectors.incl.md
index 04ddd129..67a716c5 100644
--- a/src/standard_library/vectors.incl.md
+++ b/src/standard_library/vectors.incl.md
@@ -1,7 +1,3 @@
| Recipe | Crates | Categories |
|---|---|---|
| [Vec][ex-vec] | [![std][c-std-badge]][c-std] | |
-
-
-TODO:
-
diff --git a/src/standard_library/vectors.md b/src/standard_library/vectors.md
index 1cbfc66f..7fc583ba 100644
--- a/src/standard_library/vectors.md
+++ b/src/standard_library/vectors.md
@@ -14,6 +14,7 @@ Vectors can only store values that are the same type.
{{#include refs.incl.md}}
{{#include ../refs/link-refs.md}}
+
-TODO:
+TODO: add
diff --git a/src/thanks.md b/src/thanks.md
index fe9dc85a..fa022ccd 100644
--- a/src/thanks.md
+++ b/src/thanks.md
@@ -25,5 +25,5 @@ This site is not affiliated with the [Rust Foundation][rust-foundation]⮳.
{{#include refs/link-refs.md}}
-TODO:
+TODO: add to