diff --git a/crates-io.md b/crates-io.md new file mode 100644 index 000000000..79117e31e --- /dev/null +++ b/crates-io.md @@ -0,0 +1,55 @@ + + +**Serde is a framework for *ser*ializing and *de*serializing Rust data structures efficiently and generically.** + +--- + +You may be looking for: + +- [An overview of Serde](https://serde.rs/) +- [Data formats supported by Serde](https://serde.rs/#data-formats) +- [Setting up `#[derive(Serialize, Deserialize)]`](https://serde.rs/codegen.html) +- [Examples](https://serde.rs/examples.html) +- [API documentation](https://docs.serde.rs/serde/) +- [Release notes](https://github.com/serde-rs/serde/releases) + +## Serde in action + +```rust +#[macro_use] +extern crate serde_derive; + +extern crate serde; +extern crate serde_json; + +#[derive(Serialize, Deserialize, Debug)] +struct Point { + x: i32, + y: i32, +} + +fn main() { + let point = Point { x: 1, y: 2 }; + + // Convert the Point to a JSON string. + let serialized = serde_json::to_string(&point).unwrap(); + + // Prints serialized = {"x":1,"y":2} + println!("serialized = {}", serialized); + + // Convert the JSON string back to a Point. + let deserialized: Point = serde_json::from_str(&serialized).unwrap(); + + // Prints deserialized = Point { x: 1, y: 2 } + println!("deserialized = {:?}", deserialized); +} +``` + +## Getting help + +Serde developers live in the #serde channel on +[`irc.mozilla.org`](https://wiki.mozilla.org/IRC). The #rust channel is also a +good resource with generally faster response time but less specific knowledge +about Serde. If IRC is not your thing or you don't get a good response, we are +happy to respond to [GitHub issues](https://github.com/serde-rs/serde/issues/new) +as well. diff --git a/serde/Cargo.toml b/serde/Cargo.toml index 4986dae42..3ed5fcf64 100644 --- a/serde/Cargo.toml +++ b/serde/Cargo.toml @@ -9,8 +9,8 @@ repository = "https://github.com/serde-rs/serde" documentation = "https://docs.serde.rs/serde/" keywords = ["serde", "serialization", "no_std"] categories = ["encoding"] -readme = "README.md" -include = ["Cargo.toml", "build.rs", "src/**/*.rs", "README.md", "LICENSE-APACHE", "LICENSE-MIT"] +readme = "crates-io.md" +include = ["Cargo.toml", "build.rs", "src/**/*.rs", "crates-io.md", "README.md", "LICENSE-APACHE", "LICENSE-MIT"] build = "build.rs" [badges] diff --git a/serde/crates-io.md b/serde/crates-io.md new file mode 120000 index 000000000..ae66dc9c4 --- /dev/null +++ b/serde/crates-io.md @@ -0,0 +1 @@ +../crates-io.md \ No newline at end of file diff --git a/serde_derive/Cargo.toml b/serde_derive/Cargo.toml index b8396077f..eeae01899 100644 --- a/serde_derive/Cargo.toml +++ b/serde_derive/Cargo.toml @@ -8,8 +8,8 @@ homepage = "https://serde.rs" repository = "https://github.com/serde-rs/serde" documentation = "https://serde.rs/codegen.html" keywords = ["serde", "serialization", "no_std"] -readme = "README.md" -include = ["Cargo.toml", "src/**/*.rs", "README.md", "LICENSE-APACHE", "LICENSE-MIT"] +readme = "crates-io.md" +include = ["Cargo.toml", "src/**/*.rs", "crates-io.md", "README.md", "LICENSE-APACHE", "LICENSE-MIT"] [badges] travis-ci = { repository = "serde-rs/serde" } diff --git a/serde_derive/crates-io.md b/serde_derive/crates-io.md new file mode 120000 index 000000000..ae66dc9c4 --- /dev/null +++ b/serde_derive/crates-io.md @@ -0,0 +1 @@ +../crates-io.md \ No newline at end of file diff --git a/serde_derive_internals/Cargo.toml b/serde_derive_internals/Cargo.toml index 0375e0192..0b3364adb 100644 --- a/serde_derive_internals/Cargo.toml +++ b/serde_derive_internals/Cargo.toml @@ -8,8 +8,8 @@ homepage = "https://serde.rs" repository = "https://github.com/serde-rs/serde" documentation = "https://docs.serde.rs/serde_derive_internals/" keywords = ["serde", "serialization"] -readme = "README.md" -include = ["Cargo.toml", "lib.rs", "src/**/*.rs", "README.md", "LICENSE-APACHE", "LICENSE-MIT"] +readme = "crates-io.md" +include = ["Cargo.toml", "lib.rs", "src/**/*.rs", "crates-io.md", "README.md", "LICENSE-APACHE", "LICENSE-MIT"] [lib] path = "lib.rs" diff --git a/serde_derive_internals/crates-io.md b/serde_derive_internals/crates-io.md new file mode 120000 index 000000000..ae66dc9c4 --- /dev/null +++ b/serde_derive_internals/crates-io.md @@ -0,0 +1 @@ +../crates-io.md \ No newline at end of file diff --git a/serde_test/Cargo.toml b/serde_test/Cargo.toml index 7df75eaa4..53dfcc886 100644 --- a/serde_test/Cargo.toml +++ b/serde_test/Cargo.toml @@ -8,8 +8,8 @@ homepage = "https://serde.rs" repository = "https://github.com/serde-rs/serde" documentation = "https://docs.serde.rs/serde_test/" keywords = ["serde", "serialization"] -readme = "README.md" -include = ["Cargo.toml", "src/**/*.rs", "README.md", "LICENSE-APACHE", "LICENSE-MIT"] +readme = "crates-io.md" +include = ["Cargo.toml", "src/**/*.rs", "crates-io.md", "README.md", "LICENSE-APACHE", "LICENSE-MIT"] [dependencies] serde = { version = "1.0.60", path = "../serde" } diff --git a/serde_test/crates-io.md b/serde_test/crates-io.md new file mode 120000 index 000000000..ae66dc9c4 --- /dev/null +++ b/serde_test/crates-io.md @@ -0,0 +1 @@ +../crates-io.md \ No newline at end of file