You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
57 lines
1.4 KiB
57 lines
1.4 KiB
@using System.Net.Http.Json |
|
@inject HttpClient httpClient |
|
|
|
@if (content == null) |
|
{ |
|
<LoadingComponent/> |
|
} |
|
else |
|
{ |
|
<div class="doc"> |
|
<div class="docHeader"> |
|
<div class="docTitle">@DocContentModel.Name</div> |
|
|
|
<div class="docDates"> |
|
<div class="docDateUpdated"><b>Updated</b>: @DocContentModel.UpdatedDate.ToString("MM/dd/yyyy")</div> |
|
<div class="docDateCreated"><b>Created</b>: @DocContentModel.CreatedDate.ToString("MM/dd/yyyy")</div> |
|
</div> |
|
</div> |
|
<div class="docContent">@((MarkupString)Markdown.ToHtml(content, pipeline))</div> |
|
</div> |
|
} |
|
|
|
<style> |
|
.docTitle { |
|
font-weight: bold; |
|
} |
|
|
|
.docHeader { |
|
display: flex; |
|
justify-content: space-between; |
|
} |
|
|
|
.docDates { |
|
display: flex; |
|
flex-direction: column; |
|
} |
|
|
|
th { |
|
padding: 8px; |
|
border: 1px solid gray; |
|
} |
|
td { |
|
padding: 8px; |
|
border: 1px solid gray; |
|
} |
|
</style> |
|
|
|
@code { |
|
[Parameter] |
|
public DocContentModel DocContentModel { get; set; } = default!; |
|
|
|
MarkdownPipeline pipeline = new MarkdownPipelineBuilder().UseAdvancedExtensions().Build(); |
|
string? content = null; |
|
private async Task<string> LoadContent() => content = await httpClient.GetStringAsync($"content/docs/{DocContentModel.Content}.md"); |
|
protected override async Task OnParametersSetAsync() => await LoadContent(); |
|
protected override async Task OnInitializedAsync() => await LoadContent(); |
|
} |