feat(examples): add json example

This commit is contained in:
PoiScript 2019-06-27 01:55:08 +08:00
parent 0a876e2f2b
commit 05cfe17f6a
2 changed files with 26 additions and 7 deletions

View file

@ -7,7 +7,7 @@ repository = "https://github.com/PoiScript/orgize"
readme = "README.md" readme = "README.md"
edition = "2018" edition = "2018"
license = "MIT" license = "MIT"
keywords = ["orgmode","emacs","parser"] keywords = ["orgmode", "emacs", "parser"]
[badges] [badges]
travis-ci = { repository = "PoiScript/orgize" } travis-ci = { repository = "PoiScript/orgize" }
@ -17,13 +17,13 @@ default = ["serde", "chrono"]
extra-serde-info = [] extra-serde-info = []
[dependencies] [dependencies]
bytecount = "0.5" bytecount = "0.5.1"
chrono = { version = "0.4", optional = true } chrono = { version = "0.4.7", optional = true }
indextree = "3.2.0" indextree = "3.2.0"
jetscii = "0.4" jetscii = "0.4.4"
memchr = "2" memchr = "2.2.0"
serde = { version = "1.0.93", features = ["derive"], optional = true } serde = { version = "1.0.93", optional = true }
serde_json = "1.0.39"
[dev-dependencies] [dev-dependencies]
serde_json = "1.0.39"
slugify = "0.1.0" slugify = "0.1.0"

19
examples/json.rs Normal file
View file

@ -0,0 +1,19 @@
use orgize::Org;
use serde_json::to_string;
use std::env::args;
use std::fs;
use std::io::Result;
fn main() -> Result<()> {
let args: Vec<_> = args().collect();
if args.len() < 2 {
eprintln!("Usage: {} <org-file>", args[0]);
} else {
let contents = String::from_utf8(fs::read(&args[1])?).unwrap();
let mut org = Org::new(&contents);
org.parse();
println!("{}", to_string(&org).unwrap());
}
Ok(())
}