Browse Source

Move render_alias to templates mod

index-subcmd
Vincent Prouillet 7 years ago
parent
commit
76527801ce
2 changed files with 16 additions and 12 deletions
  1. +2
    -11
      src/site.rs
  2. +14
    -1
      src/templates/mod.rs

+ 2
- 11
src/site.rs View File

@@ -15,18 +15,9 @@ use pagination::Paginator;
use utils::{create_file, create_directory}; use utils::{create_file, create_directory};
use section::{Section}; use section::{Section};
use front_matter::{SortBy}; use front_matter::{SortBy};
use templates::{GUTENBERG_TERA, global_fns};
use templates::{GUTENBERG_TERA, global_fns, render_redirect_template};




/// Renders the `internal/alias.html` template that will redirect
/// via refresh to the url given
fn render_alias(url: &str, tera: &Tera) -> Result<String> {
let mut context = Context::new();
context.add("url", &url);

tera.render("internal/alias.html", &context)
.chain_err(|| format!("Failed to render alias for '{}'", url))
}




#[derive(Debug, PartialEq)] #[derive(Debug, PartialEq)]
@@ -670,7 +661,7 @@ impl Site {
create_file(page_path.join("index.html"), &self.inject_livereload(output))?; create_file(page_path.join("index.html"), &self.inject_livereload(output))?;
} else { } else {
create_file(output_path.join("index.html"), &self.inject_livereload(output))?; create_file(output_path.join("index.html"), &self.inject_livereload(output))?;
create_file(page_path.join("index.html"), &render_alias(&section.permalink, &self.tera)?)?;
create_file(page_path.join("index.html"), &render_redirect_template(&section.permalink, &self.tera)?)?;
} }
} }




+ 14
- 1
src/templates/mod.rs View File

@@ -1,4 +1,6 @@
use tera::Tera;
use tera::{Tera, Context};

use errors::{Result, ResultExt};


pub mod filters; pub mod filters;
pub mod global_fns; pub mod global_fns;
@@ -24,3 +26,14 @@ lazy_static! {
tera tera
}; };
} }


/// Renders the `internal/alias.html` template that will redirect
/// via refresh to the url given
pub fn render_redirect_template(url: &str, tera: &Tera) -> Result<String> {
let mut context = Context::new();
context.add("url", &url);

tera.render("internal/alias.html", &context)
.chain_err(|| format!("Failed to render alias for '{}'", url))
}

Loading…
Cancel
Save