feat: add blog feed (#3)
* chore: begin working on post service * chore: add debug assets * chore: add whitelist words * feat: add prism for syntax highlighting * feat: updated favicon * feat: add blog feed * fix: add link to written by image * feat: add custom error pages * fix: focus on h2 since h1 is always the journal site title * feat: use status code pages with redirects * fix: add discernible text to link * feat: add support for light and dark theme * fix: wrap body with main tag * fix: style main element in pages to take up full width of container * fix: add heading to home page * feat: add not-found-corgi image * chore: add robots.txt file * chore: clean up place holder posts * fix: namespace header in layouts * fix: use logger instead of console * fix: use new text context in each test when registering services * chore: update workflow to debug failing tests * chore: install playwright deps * fix: extend expect timeout * fix: extend expect timeout * fix: capture traces * fix: capture traces * fix: index file name
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
@namespace Blog.Components
|
||||
@inject IPostService postService
|
||||
@inject IJSRuntime JS
|
||||
|
||||
@if (posts.Count == 0)
|
||||
{
|
||||
<div class="container">
|
||||
<p>Looks like writers block. Check back later.</p>
|
||||
</div>
|
||||
}
|
||||
else
|
||||
{
|
||||
<section role="feed" class="container">
|
||||
@foreach (var post in posts)
|
||||
{
|
||||
<a href="/@post.Slug">
|
||||
<article>
|
||||
<h3 title="@post.Title" >@post.Title</h3>
|
||||
<p class="date">@post.PublishedAt.ToString("MMMM d, yyyy")</p>
|
||||
<p class="lead">@post.Lead</p>
|
||||
</article>
|
||||
</a>
|
||||
}
|
||||
</section>
|
||||
}
|
||||
|
||||
@code {
|
||||
private List<Post> posts = [];
|
||||
|
||||
protected override async Task OnInitializedAsync()
|
||||
{
|
||||
posts = await postService.GetPostsAsync();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user