activitystreams/activitystreams-traits/README.md

44 lines
1.8 KiB
Markdown
Raw Normal View History

2018-05-14 04:22:34 +00:00
# ActivityStreams Traits
__Traits for Activity Streams__
2019-07-30 22:02:05 +00:00
- [Read the documentation on docs.rs](https://docs.rs/activitystreams-traits)
- [Find the crate on crates.io](https://crates.io/crates/activitystreams-traits)
- [Join the discussion on Matrix](https://matrix.to/#/!fAEcHyTUdAaKCzIKCt:asonix.dog?via=asonix.dog)
2018-05-14 04:22:34 +00:00
These traits don't provide any functionality other than anotations for types created in other
projects. See the `activitystreams-types` crate for examples of how these traits could be used.
## Examples
```rust
extern crate activitystreams_traits;
extern crate serde;
#[macro_use]
extern crate serde_derive;
use activitystreams_traits::{Object, Actor};
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
#[serde(rename_all = "camelCase")]
pub struct Persona {
#[serde(rename = "type")]
kind: String,
}
impl Object for Persona {}
impl Actor for Persona {}
```
## Contributing
Feel free to open issues for anything you find an issue with. Please note that any contributed code will be licensed under the GPLv3.
## License
Copyright © 2018 Riley Trautman
ActivityStreams Traits is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
ActivityStreams Traits is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. This file is part of ActivityStreams Traits.
You should have received a copy of the GNU General Public License along with ActivityStreams Traits. If not, see [http://www.gnu.org/licenses/](http://www.gnu.org/licenses/).