docs.rs
rfcs
docs.rs | rfcs | |
---|---|---|
143 | 16 | |
1,029 | 115 | |
1.2% | 0.0% | |
9.5 | 3.1 | |
5 days ago | 4 months ago | |
Rust | ||
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
docs.rs
-
Obvious Things C Should Do
> So it’s built into GitLab and GitHub? BitBucket?
No. It's built into the toolchain which every Rust developer has installed.
> How easy is it to use on windows (i.e. is it is easy as opening a .h in notepad and reading it)?
A easy as on Linux or macOS from my experience.
> How easy is it to use from a command line environment with vim or emacs bindings?
Not sure I understand the question; use how exactly? You either have a binding which runs `cargo doc` and opens the docs for you, or you use an LSP server and a plugin for your editor in which case the docs are integrated into your editor.
> I shouldn’t have to install a toolchain (let alone rely on a web browser) to read API documentation.
If you want you can just read the source code, just as you do for any other language, because the docs are right there in the sources.
For publicly available libraries you can also type in `https://docs.rs/$name_of_library` in your web browser to open the docs. Any library available through crates.io (so 99.9% of what people use) have docs available there, so even if you don't have the toolchain installed/are on your phone you can still browse through the docs.
I know what you're going to say - what if you don't have the toolchain installed and the library is not public? Or, worse, you're using a 30 year old machine that doesn't have a web browser available?! Well, sure, tough luck, then you need to do it the old school way and browse the sources.
You can always find a corner case of "what if...?", but I find that totally unconvincing. Making the 99.9% case harder (when you have a web browser and a toolchain installed, etc.) to make the 0.1% case (when you don't) easier is a bad tradeoff.
-
Ask HN: What's the best documentation site you've come across?
As a general rule (for established libraries at least), the docs for rust crates stored on https://docs.rs are pretty good. This comes from having docs being built-in to the tooling, so it's really easy to deliver docs in a consistent format.
-
Enlightenmentware
I felt that way about node and yet node lead to an explosion of poorly written and designed packages and constant notifications about needing to upgrade project X because it depended on Y which depends on Z and Z has some DoS issue if you pass the wrong regex to it.
I don't feel confident that rust won't go the same way when I tried to update the rust docs (https://github.com/rust-lang/docs.rs)
cargo build
-
Publish pure ESM npm package written in TypeScript to JSR
Now JSR have changed this situation. After publishing the package, we can view API docs of each version (similar to docs.rs in Rust or pkg.go.dev in Go). All we have to do is to write few lines of JSON. Optionally you can publish a package from GitHub Actions by adding only few lines to a workflow file. Any other setup (install packages, write config for document generator...) is not needed.
-
Using GenAI to improve developer experience on AWS
Working in combination with CodeWhisperer in your IDE, you can send whole code sections to Amazon Q and ask for an explanation of what the selected code does. To show how this works, we open up the file.rs file cloned from this GitHub repository. This is part of an open source project to host documentation of crates for the Rust Programming Language, which is a language we are not familiar with.
-
TSDocs.dev: type docs for any JavaScript library
Looks like a great initiative – I wish there was a reliable TS/JS equivalent of https://docs.rs (even considering rustdoc's deficiencies[1]).
I went through this exercise recently and so far my experience with trying to produce documentation from a somewhat convoluted TS codebase[2] has been disappointing. I would claim it's a consequence of the library's public (user-facing) API substantially differing from how the actual implementation is structured.
Typedoc produces bad results for that codebase so sphinx-js, which I wanted to use, doesn't have much to work with. I ultimately documented things by hand, for now, the way the API is meant to be used by the user.
Compare:
https://ts-results-es.readthedocs.io/en/latest/reference/api...
vs
https://tsdocs.dev/docs/ts-results-es/4.1.0-alpha.1/index.ht...
-
How did I need to know about feature rwh_05 for winit?
Rust Search Extension adds a section on docs.rs menubar which lists the features of a crate in a nice and easy to access format.
-
Embassy on ESP: GPIO
📝 Note: At the time of writing this post, I couldn't really locate the init function docs.rs documentation. It didn't seem easily accessible through any of the current HAL implementation documentation. Nevertheless, I reached the signature of the function through the source here.
-
First Rust Package - Telegram Notification Framework (Feedback Appreciated)
Rust Crates are a Game-Changer 🎮:The ease of releasing a crate with `cargo publish` and the convenience of rolling out new versions amazed me. The auto-generated docs on Docs.rs. is an amazing tool, especially with docstring formatting. Doc tests serve as a two-fold tool for documenting the code and ensuring it's up-to-date.
-
Grimoire: Open-Source bookmark manager with extra features
I've found I manually type out certain subsets of URLs where possible[0], maybe that's subconsciously associated with my impression that Google Search results have gotten worse and worse over the years.
[0] https://en.wiktionary.org/wiki/ and https://docs.rs/ come to mind.
rfcs
-
I made a fast and ergonomic crate for trait queries. Now, you can easily query for `dyn Trait`!
For some good real-world use cases, check out this thread: https://github.com/bevyengine/rfcs/pull/39
-
Bevy 0.8
I'm the author of the draft Many Worlds RFC. Current plan is to get scheduling sorted out, then pick that work up again.
- Programming a Rogue-Like with Rust
-
Improving upon Entity Component Systems, introducing DG-ECM!
Yep, we do this, it works great! We stole it from hecs and Amethyst before us. There's a nice write-up of the theory in the scheduler rework the team has been working on for the past few months.
-
Bevy 0.7: data oriented game engine built in Rust
I can tell you right now that there’s an entire channel in the Bevy discord server dedicated to making an out of the box api for multiplayer. If you want the current state of it, check out this RFC. https://github.com/bevyengine/rfcs/pull/19 I’m really excited for it when it eventually comes out.
-
Bevy 0.7
I think making it easier for systems to observe the effects of Commands from other systems is a critical missing piece of the Bevy ECS puzzle. "Stageless" is a solid, holistic solution to the problem and we're seeing the community slowly establish consensus on that design. There is already a draft implementation in the works. And I think "stageless" is most likely the solution we will land on.
-
Announcing bevy-egui-kbgp - an improved keyboard and gamepad story for egui in Bevy
Cool! Looks like a nice complement to the RFC about keyboard navigation!
-
Bevy 0.6
This should be fairly feasible: although you'll probably want to wait on (or implement) the dynamic components RFC. The comments above are more to the effect of "writing Rust is easier and more convenient than you might expect".
-
Bevy’s First Birthday: a year of open source Rust game engine development
You will be happy to know that better/updated documentation is planned. It was briefly mentioned as "the new Bevy Book effort" in this paragraph of the blog post and there are a ton more details in this RFC. Your participation would be more than welcome!
-
Placating the borrow checker for systems that depend on a component plus the same component on another entity?
So, several of us have been working on a relations feature for Bevy: first-class support for those sort of "target another entity with a component" patterns that keep cropping up. There's a lot to be done, and it's at a point where it can be chunked out, so if you're interested in helping out come say hi on Discord :)
What are some alternatives?
crates.io - The Rust package registry
backroll-rs - A (almost) 100% pure safe Rust implementation of GGPO-style rollback netcode.
config-rs - ⚙️ Layered configuration system for Rust applications (with strong support for 12-factor applications).
bevy_ggrs - Bevy plugin for the GGRS P2P rollback networking library.
serenity - A Rust library for the Discord API.
kajiya - 💡 Experimental real-time global illumination renderer 🦀