add option to link directly to readme

This commit is contained in:
Trevor Bentley
2023-01-15 00:39:11 +01:00
parent 8185721f94
commit 276b8a01e7
5 changed files with 41 additions and 5 deletions
+12
View File
@@ -345,6 +345,18 @@ impl GitsyGenerator {
local_ctx.insert("site_generated_ts", &generated_dt.timestamp());
local_ctx.insert("site_generated_offset", &generated_dt.offset().local_minus_utc());
if let Some(readmes) = &repo_desc.readme_files {
for readme in readmes {
if let Some(file) = parsed_repo.root_files.iter().filter(|x| &x.name == readme).next() {
louder!(" - found readme file: {}", file.name);
let _ = GitsyGenerator::fill_file_contents(&repo, &file, &repo_desc)
.expect("Failed to parse file.");
local_ctx.insert("readme", &file);
break;
}
}
};
if let Some(templ_file) = self.settings.templates.repo_summary.as_deref() {
match tera.render(templ_file, &local_ctx) {
Ok(rendered) => {
+5
View File
@@ -231,6 +231,7 @@ pub struct GitsySettingsRepo {
pub clone_url: Option<String>,
pub website: Option<String>,
pub branch: Option<String>,
pub readme_files: Option<Vec<String>>,
pub asset_files: Option<Vec<String>>,
pub render_markdown: Option<bool>,
pub syntax_highlight: Option<bool>,
@@ -273,6 +274,7 @@ pub struct GitsySettings {
pub site_url: Option<String>,
pub site_description: Option<String>,
pub clone_url: Option<String>,
pub readme_files: Option<Vec<String>>,
pub asset_files: Option<Vec<String>>,
pub branch: Option<String>,
#[serde(rename(deserialize = "gitsy_templates"))]
@@ -356,6 +358,7 @@ impl GitsySettings {
};
}
global_to_repo!(settings, repo, branch);
global_to_repo!(settings, repo, readme_files);
global_to_repo!(settings, repo, render_markdown);
global_to_repo!(settings, repo, syntax_highlight);
global_to_repo!(settings, repo, syntax_highlight_theme);
@@ -395,6 +398,7 @@ impl GitsySettings {
path: dir.path().clone(),
name: Some(name),
clone_url,
readme_files: settings.readme_files.clone(),
branch: settings.branch.clone(),
render_markdown: settings.render_markdown.clone(),
syntax_highlight: settings.syntax_highlight.clone(),
@@ -434,6 +438,7 @@ impl GitsySettings {
path: dir.clone(),
name: Some(name),
clone_url,
readme_files: settings.readme_files.clone(),
branch: settings.branch.clone(),
render_markdown: settings.render_markdown.clone(),
syntax_highlight: settings.syntax_highlight.clone(),