diff --git a/Lib/BuildSite/HtmlBuilder.cs b/Lib/BuildSite/HtmlBuilder.cs index 9ece7df..d8b6d74 100644 --- a/Lib/BuildSite/HtmlBuilder.cs +++ b/Lib/BuildSite/HtmlBuilder.cs @@ -34,6 +34,7 @@ public HtmlBuilder(string input, string output) public void BuildWebSite() { + GetBaseUrl(); BuildData(); BuildBlogs(); BuildIndex(); @@ -44,7 +45,6 @@ public void BuildWebSite() /// public void BuildBlogs() { - BaseUrl = GetBaseUrl(); // 配置markdown管道 MarkdownPipeline pipeline = new MarkdownPipelineBuilder() .UseAutoIdentifiers(Markdig.Extensions.AutoIdentifiers.AutoIdentifierOptions.GitHub) @@ -127,6 +127,7 @@ public void BuildIndex() var siderBarHtml = GenSiderBar(rootCatalog); indexHtml = indexHtml.Replace("@{Name}", webInfo.Name) + .Replace("@{BaseUrl}", BaseUrl) .Replace("@{Description}", webInfo.Description) .Replace("@{blogList}", blogHtml) .Replace("@{siderbar}", siderBarHtml); @@ -135,22 +136,6 @@ public void BuildIndex() } } - /// - /// 处理index.html中的base href - /// - public void BuildBaseHref() - { - var webInfoPath = Path.Combine(Environment.CurrentDirectory, "webinfo.json"); - var content = File.ReadAllText(webInfoPath); - var webInfo = JsonSerializer.Deserialize(content); - var indexPath = Path.Combine(Output, "index.html"); - var indexContent = File.ReadAllText(indexPath); - indexContent = indexContent.Replace("", $""); - - Console.WriteLine($"✍️ Using {webInfo?.BaseHref} as base href!"); - File.WriteAllText(indexPath, indexContent, Encoding.UTF8); - } - private void TraverseDirectory(string directoryPath, Catalog parentCatalog) { foreach (string subDirectoryPath in Directory.GetDirectories(directoryPath)) @@ -196,16 +181,15 @@ private static string GetFullPath(Catalog catalog) } return path.Replace("Root", ""); } - private string GetBaseUrl() + private void GetBaseUrl() { var webInfoPath = Path.Combine(DataPath, "webinfo.json"); if (File.Exists(webInfoPath)) { var content = File.ReadAllText(webInfoPath); var webInfo = JsonSerializer.Deserialize(content); - return webInfo?.BaseHref ?? "/"; + BaseUrl = webInfo?.BaseHref ?? "/"; } - return "/"; } /// diff --git a/Lib/BuildSite/Program.cs b/Lib/BuildSite/Program.cs index 3ecc9dd..bd7938f 100644 --- a/Lib/BuildSite/Program.cs +++ b/Lib/BuildSite/Program.cs @@ -5,17 +5,11 @@ var output = args.Skip(1).FirstOrDefault() ?? "./_site"; var environment = args.Skip(2).FirstOrDefault() ?? "Development"; - var builder = new HtmlBuilder(input, output); try { builder.BuildWebSite(); - - if (environment.Equals("Production", StringComparison.OrdinalIgnoreCase)) - { - //builder.BuildBaseHref(); - } } catch (Exception e) { diff --git a/Lib/BuildSite/TemplateContent.cs b/Lib/BuildSite/TemplateContent.cs index 52ddeea..eae39a7 100644 --- a/Lib/BuildSite/TemplateContent.cs +++ b/Lib/BuildSite/TemplateContent.cs @@ -10,8 +10,8 @@ internal class TemplateContent Ater Blog - - + + diff --git a/webinfo.json b/webinfo.json index ec0460a..2c8da68 100644 --- a/webinfo.json +++ b/webinfo.json @@ -2,5 +2,5 @@ "Name": "Blazor Blog", "Description": "Blazor Blog - Powered by Ater Blog", "AuthorName": "NilTor", - "BaseHref": "/" + "BaseHref": "/blazor-blog/" } \ No newline at end of file