@@ -9,7 +9,6 @@ use sass_rs::{compile_file, Options};
99use serde_derive:: Serialize ;
1010use serde_json:: json;
1111use std:: convert:: AsRef ;
12- use std:: error:: Error ;
1312use std:: fs:: { self , File } ;
1413use std:: io:: { self , Write } ;
1514use std:: path:: { Path , PathBuf } ;
@@ -51,7 +50,7 @@ impl<'a> Generator<'a> {
5150 fn new (
5251 out_directory : impl AsRef < Path > ,
5352 posts_directory : impl AsRef < Path > ,
54- ) -> Result < Self , Box < dyn Error > > {
53+ ) -> eyre :: Result < Self > {
5554 let mut handlebars = Handlebars :: new ( ) ;
5655 handlebars. set_strict_mode ( true ) ;
5756 handlebars. register_templates_directory ( ".hbs" , "templates" ) ?;
@@ -80,7 +79,7 @@ impl<'a> Generator<'a> {
8079 . replace ( std:: path:: MAIN_SEPARATOR , "/" )
8180 }
8281
83- fn render ( & self ) -> Result < ( ) , Box < dyn Error > > {
82+ fn render ( & self ) -> eyre :: Result < ( ) > {
8483 // make sure our output directory exists
8584 fs:: create_dir_all ( & self . out_directory ) ?;
8685
@@ -116,7 +115,7 @@ impl<'a> Generator<'a> {
116115 fs:: write ( "./static/styles/vendor.css" , & concatted) . expect ( "couldn't write vendor css" ) ;
117116 }
118117
119- fn render_blog ( & self , blog : & Blog ) -> Result < ( ) , Box < dyn Error > > {
118+ fn render_blog ( & self , blog : & Blog ) -> eyre :: Result < ( ) > {
120119 std:: fs:: create_dir_all ( self . out_directory . join ( blog. prefix ( ) ) ) ?;
121120
122121 let path = self . render_index ( blog) ?;
@@ -136,7 +135,7 @@ impl<'a> Generator<'a> {
136135 Ok ( ( ) )
137136 }
138137
139- fn render_index ( & self , blog : & Blog ) -> Result < PathBuf , Box < dyn Error > > {
138+ fn render_index ( & self , blog : & Blog ) -> eyre :: Result < PathBuf > {
140139 let other_blogs: Vec < _ > = self
141140 . blogs
142141 . iter ( )
@@ -161,7 +160,7 @@ impl<'a> Generator<'a> {
161160 Ok ( path)
162161 }
163162
164- fn render_post ( & self , blog : & Blog , post : & Post ) -> Result < PathBuf , Box < dyn Error > > {
163+ fn render_post ( & self , blog : & Blog , post : & Post ) -> eyre :: Result < PathBuf > {
165164 let path = blog
166165 . prefix ( )
167166 . join ( format ! ( "{:04}" , & post. year) )
@@ -186,7 +185,7 @@ impl<'a> Generator<'a> {
186185 Ok ( path)
187186 }
188187
189- fn render_feed ( & self , blog : & Blog ) -> Result < ( ) , Box < dyn Error > > {
188+ fn render_feed ( & self , blog : & Blog ) -> eyre :: Result < ( ) > {
190189 let posts: Vec < _ > = blog. posts ( ) . iter ( ) . take ( 10 ) . collect ( ) ;
191190 let data = json ! ( {
192191 "blog" : blog,
@@ -198,7 +197,7 @@ impl<'a> Generator<'a> {
198197 Ok ( ( ) )
199198 }
200199
201- fn render_releases_feed ( & self , blog : & Blog ) -> Result < ( ) , Box < dyn Error > > {
200+ fn render_releases_feed ( & self , blog : & Blog ) -> eyre :: Result < ( ) > {
202201 let posts = blog. posts ( ) . iter ( ) . cloned ( ) . collect :: < Vec < _ > > ( ) ;
203202 let is_released: Vec < & Post > = posts. iter ( ) . filter ( |post| post. release ) . collect ( ) ;
204203 let releases: Vec < ReleasePost > = is_released
@@ -223,7 +222,7 @@ impl<'a> Generator<'a> {
223222 Ok ( ( ) )
224223 }
225224
226- fn copy_static_files ( & self ) -> Result < ( ) , Box < dyn Error > > {
225+ fn copy_static_files ( & self ) -> eyre :: Result < ( ) > {
227226 copy_dir ( "static/fonts" , & self . out_directory ) ?;
228227 copy_dir ( "static/images" , & self . out_directory ) ?;
229228 copy_dir ( "static/styles" , & self . out_directory ) ?;
@@ -236,7 +235,7 @@ impl<'a> Generator<'a> {
236235 name : impl AsRef < Path > ,
237236 template : & str ,
238237 data : serde_json:: Value ,
239- ) -> Result < ( ) , Box < dyn Error > > {
238+ ) -> eyre :: Result < ( ) > {
240239 let out_file = self . out_directory . join ( name. as_ref ( ) ) ;
241240 let file = File :: create ( out_file) ?;
242241 self . handlebars . render_to_write ( template, & data, file) ?;
@@ -264,7 +263,7 @@ fn copy_dir(source: impl AsRef<Path>, dest: impl AsRef<Path>) -> Result<(), io::
264263 copy_inner ( source, & dest)
265264}
266265
267- pub fn main ( ) -> Result < ( ) , Box < dyn Error > > {
266+ pub fn main ( ) -> eyre :: Result < ( ) > {
268267 let blog = Generator :: new ( "site" , "posts" ) ?;
269268
270269 blog. render ( ) ?;
0 commit comments