Skip to content

Commit 7a11658

Browse files
committed
merge resolve git urls
1 parent 1558969 commit 7a11658

File tree

1 file changed

+18
-33
lines changed

1 file changed

+18
-33
lines changed

MyApp/Configure.Ssg.cs

Lines changed: 18 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,7 @@ public void Configure(IWebHostBuilder builder) => builder
5151
includes.LoadFrom("_includes");
5252
pages.LoadFrom("_pages");
5353
videos.LoadFrom("_videos");
54-
AppConfig.Instance.GitPagesBaseUrl ??= ResolveGitBlobBaseUrl(appHost.ContentRootDirectory);
55-
AppConfig.Instance.GitPagesRawBaseUrl ??= ResolveGitRawBlobBaseUrl(appHost.ContentRootDirectory);
54+
AppConfig.Instance.Init(appHost.ContentRootDirectory);
5655
},
5756
afterAppHostInit: appHost =>
5857
{
@@ -78,26 +77,23 @@ public void Configure(IWebHostBuilder builder) => builder
7877
RazorSsg.PrerenderAsync(appHost, razorFiles, distDir).GetAwaiter().GetResult();
7978
});
8079
});
81-
82-
private string? ResolveGitBlobBaseUrl(IVirtualDirectory contentDir)
80+
}
81+
82+
public class AppConfig
83+
{
84+
public static AppConfig Instance { get; } = new();
85+
public string Title { get; set; }
86+
public string LocalBaseUrl { get; set; }
87+
public string PublicBaseUrl { get; set; }
88+
public string? GitPagesBaseUrl { get; set; }
89+
public string? GitPagesRawBaseUrl { get; set; }
90+
91+
public void Init(IVirtualDirectory contentDir)
8392
{
84-
var srcDir = new DirectoryInfo(contentDir.RealPath);
85-
var gitConfig = new FileInfo(Path.Combine(srcDir.Parent!.FullName, ".git", "config"));
86-
if (gitConfig.Exists)
87-
{
88-
var txt = gitConfig.ReadAllText();
89-
var pos = txt.IndexOf("url = ", StringComparison.Ordinal);
90-
if (pos >= 0)
91-
{
92-
var url = txt[(pos + "url = ".Length)..].LeftPart(".git").LeftPart('\n').Trim();
93-
var gitBaseUrl = url.CombineWith($"blob/main/{srcDir.Name}");
94-
return gitBaseUrl;
95-
}
96-
}
97-
return null;
93+
ResolveGitBlobBaseUrls(contentDir);
9894
}
99-
100-
private string? ResolveGitRawBlobBaseUrl(IVirtualDirectory contentDir)
95+
96+
public void ResolveGitBlobBaseUrls(IVirtualDirectory contentDir)
10197
{
10298
var srcDir = new DirectoryInfo(contentDir.RealPath);
10399
var gitConfig = new FileInfo(Path.Combine(srcDir.Parent!.FullName, ".git", "config"));
@@ -108,24 +104,13 @@ public void Configure(IWebHostBuilder builder) => builder
108104
if (pos >= 0)
109105
{
110106
var url = txt[(pos + "url = ".Length)..].LeftPart(".git").LeftPart('\n').Trim();
111-
var gitBaseUrl = url.Replace("github.com","raw.githubusercontent.com").CombineWith($"refs/heads/main/{srcDir.Name}");
112-
return gitBaseUrl;
107+
GitPagesBaseUrl = url.CombineWith($"blob/main/{srcDir.Name}");
108+
GitPagesRawBaseUrl = url.Replace("github.com","raw.githubusercontent.com").CombineWith($"refs/heads/main/{srcDir.Name}");
113109
}
114110
}
115-
return null;
116111
}
117112
}
118113

119-
public class AppConfig
120-
{
121-
public static AppConfig Instance { get; } = new();
122-
public string Title { get; set; }
123-
public string LocalBaseUrl { get; set; }
124-
public string PublicBaseUrl { get; set; }
125-
public string? GitPagesBaseUrl { get; set; }
126-
public string? GitPagesRawBaseUrl { get; set; }
127-
}
128-
129114
// Add additional frontmatter info to include
130115
public class MarkdownFileInfo : MarkdownFileBase
131116
{

0 commit comments

Comments
 (0)