Compare commits
4 Commits
grid
...
razorActio
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e084f343a6 | ||
|
|
f576961974 | ||
|
|
590a16dd77 | ||
|
|
a99d053f8d |
@@ -18,10 +18,11 @@ namespace TerribleDev.Blog.Web.Controllers
|
|||||||
{
|
{
|
||||||
this.postCache = postCache;
|
this.postCache = postCache;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
[Route("/index.html", Order = 2)]
|
||||||
|
[Route("/page/{pageNumber:int}", Order = -1 )]
|
||||||
[Route("/")]
|
[Route("/")]
|
||||||
[Route("/index.html")]
|
|
||||||
[Route("/page/{pageNumber?}" )]
|
|
||||||
[OutputCache(Duration = 31536000, VaryByParam = "pageNumber")]
|
[OutputCache(Duration = 31536000, VaryByParam = "pageNumber")]
|
||||||
[ResponseCache(Duration = 900)]
|
[ResponseCache(Duration = 900)]
|
||||||
public IActionResult Index(int pageNumber = 1)
|
public IActionResult Index(int pageNumber = 1)
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ using HardHat;
|
|||||||
using TerribleDev.Blog.Web.Models;
|
using TerribleDev.Blog.Web.Models;
|
||||||
using TerribleDev.Blog.Web.Factories;
|
using TerribleDev.Blog.Web.Factories;
|
||||||
using Microsoft.Extensions.Hosting;
|
using Microsoft.Extensions.Hosting;
|
||||||
|
using Microsoft.AspNetCore.Routing;
|
||||||
|
|
||||||
namespace TerribleDev.Blog.Web
|
namespace TerribleDev.Blog.Web
|
||||||
{
|
{
|
||||||
@@ -44,6 +45,9 @@ namespace TerribleDev.Blog.Web
|
|||||||
});
|
});
|
||||||
services.AddApplicationInsightsTelemetry();
|
services.AddApplicationInsightsTelemetry();
|
||||||
var controllerBuilder = services.AddControllersWithViews();
|
var controllerBuilder = services.AddControllersWithViews();
|
||||||
|
services.Configure<RouteOptions>(a => {
|
||||||
|
a.AppendTrailingSlash = true;
|
||||||
|
});
|
||||||
#if DEBUG
|
#if DEBUG
|
||||||
if (Env.IsDevelopment())
|
if (Env.IsDevelopment())
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -12,16 +12,16 @@
|
|||||||
<div class="bottomNavButtons">
|
<div class="bottomNavButtons">
|
||||||
@if (Model.HasPrevious)
|
@if (Model.HasPrevious)
|
||||||
{
|
{
|
||||||
<a href="/page/@(Model.Page - 1)/" class="btn">← Previous Page</a>
|
<a asp-controller="Home" asp-action="Index" asp-route-pageNumber="@(Model.Page - 1)" class="btn">← Previous Page</a>
|
||||||
}
|
}
|
||||||
<div class="spacer"></div>
|
<div class="spacer"></div>
|
||||||
@if (Model.HasNext)
|
@if (Model.HasNext)
|
||||||
{
|
{
|
||||||
<a href="/page/@(Model.Page + 1)/" class="btn">Next Page →</a>
|
<a asp-controller="Home" asp-action="Index" asp-route-pageNumber="@(Model.Page + 1)" class="btn">Next Page →</a>
|
||||||
}
|
}
|
||||||
</div>
|
</div>
|
||||||
</cache>
|
</cache>
|
||||||
|
|
||||||
@section Head {
|
@section Head {
|
||||||
<partial name="StockMeta" />
|
<partial name="StockMeta" />
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,9 +10,9 @@
|
|||||||
<span>Tagged In:</span><br />
|
<span>Tagged In:</span><br />
|
||||||
@foreach (var tag in Model.tags)
|
@foreach (var tag in Model.tags)
|
||||||
{
|
{
|
||||||
<a href="/tag/@tag/" class="btn block">@tag</a>
|
<a asp-controller="Tags" asp-action="GetTag" asp-route-tagName="@tag" class="btn block">@tag</a>
|
||||||
}
|
}
|
||||||
</div>
|
</div>
|
||||||
}
|
}
|
||||||
|
|
||||||
</article>
|
</article>
|
||||||
|
|||||||
@@ -6,9 +6,9 @@
|
|||||||
</picture>
|
</picture>
|
||||||
<span>Tommy "Terrible Dev" Parnell</span>
|
<span>Tommy "Terrible Dev" Parnell</span>
|
||||||
<ul class="sidebarBtns">
|
<ul class="sidebarBtns">
|
||||||
<li><a href="/" class="link-unstyled">Home</a></li>
|
<li><a asp-controller="Home" asp-action="Index" asp-route-pageNumber="@(null)" class="link-unstyled">Home</a></li>
|
||||||
<li><a href="/all-tags" class="link-unstyled">Tags</a></li>
|
<li><a asp-controller="Tags" asp-action="AllTags" class="link-unstyled">Tags</a></li>
|
||||||
<li><a href="/rss.xml" class="link-unstyled">RSS Feed</a></li>
|
<li><a asp-controller="Seo" asp-action="Rss" class="link-unstyled">RSS Feed</a></li>
|
||||||
<li><a href="https://github.com/terribledev" rel="noopener" target="_blank" class="link-unstyled">Github</a></li>
|
<li><a href="https://github.com/terribledev" rel="noopener" target="_blank" class="link-unstyled">Github</a></li>
|
||||||
<li><a href="https://twitter.com/terribledev" rel="noopener" target="_blank" class="link-unstyled">Twitter</a></li>
|
<li><a href="https://twitter.com/terribledev" rel="noopener" target="_blank" class="link-unstyled">Twitter</a></li>
|
||||||
<li><a href="mailto:tommy@terribledev.io" class="link-unstyled">Email</a></li>
|
<li><a href="mailto:tommy@terribledev.io" class="link-unstyled">Email</a></li>
|
||||||
|
|||||||
@@ -44,7 +44,7 @@
|
|||||||
<div class="rootbox">
|
<div class="rootbox">
|
||||||
<header class="header">
|
<header class="header">
|
||||||
<svg aria-label="Open Menu" id="menuBtn" role="button" xmlns="http://www.w3.org/2000/svg" width="32" height="32"><path d="M4 10h24c1.104 0 2-.896 2-2s-.896-2-2-2H4c-1.104 0-2 .896-2 2s.896 2 2 2zm24 4H4c-1.104 0-2 .896-2 2s.896 2 2 2h24c1.104 0 2-.896 2-2s-.896-2-2-2zm0 8H4c-1.104 0-2 .896-2 2s.896 2 2 2h24c1.104 0 2-.896 2-2s-.896-2-2-2z" /></svg>
|
<svg aria-label="Open Menu" id="menuBtn" role="button" xmlns="http://www.w3.org/2000/svg" width="32" height="32"><path d="M4 10h24c1.104 0 2-.896 2-2s-.896-2-2-2H4c-1.104 0-2 .896-2 2s.896 2 2 2zm24 4H4c-1.104 0-2 .896-2 2s.896 2 2 2h24c1.104 0 2-.896 2-2s-.896-2-2-2zm0 8H4c-1.104 0-2 .896-2 2s.896 2 2 2h24c1.104 0 2-.896 2-2s-.896-2-2-2z" /></svg>
|
||||||
<div class="headerCallout"><a href="/" class="link-unstyled ">@config.Title</a></div>
|
<div class="headerCallout"><a asp-controller="Home" asp-action="Index" asp-route-pageNumber="@(null)" class="link-unstyled ">@config.Title</a></div>
|
||||||
</header>
|
</header>
|
||||||
<partial name="Nav" />
|
<partial name="Nav" />
|
||||||
<main class="headerBump main-content-wrap">
|
<main class="headerBump main-content-wrap">
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
<cache>
|
<cache>
|
||||||
@foreach (var tag in Model.Keys)
|
@foreach (var tag in Model.Keys)
|
||||||
{
|
{
|
||||||
<a href="/tag/@tag/" class="btn block">@tag</a>
|
<a asp-controller="Tags" asp-action="GetTag" asp-route-tagName="@tag" class="btn block">@tag</a>
|
||||||
}
|
}
|
||||||
</cache>
|
</cache>
|
||||||
@section Head {
|
@section Head {
|
||||||
|
|||||||
@@ -43,26 +43,6 @@ h6 {
|
|||||||
line-height: 1.25em;
|
line-height: 1.25em;
|
||||||
}
|
}
|
||||||
|
|
||||||
h1 {
|
|
||||||
font-size: 3.3rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
h2 {
|
|
||||||
font-size: 2.6rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
h3 {
|
|
||||||
font-size: 2.4rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
h4 {
|
|
||||||
font-size: 2.2rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
h5 {
|
|
||||||
font-size: 2rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
article {
|
article {
|
||||||
margin-top: 0.5em;
|
margin-top: 0.5em;
|
||||||
}
|
}
|
||||||
@@ -79,12 +59,12 @@ body {
|
|||||||
|
|
||||||
.main-content-wrap {
|
.main-content-wrap {
|
||||||
display: block;
|
display: block;
|
||||||
max-width: 750px;
|
|
||||||
padding-right: 1.2em;
|
padding-right: 1.2em;
|
||||||
padding-left: 1.2em;
|
padding-left: 1.2em;
|
||||||
padding-bottom: 1.2em;
|
padding-bottom: 1.2em;
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
grid-area: c
|
grid-area: c;
|
||||||
|
word-break: break-word;
|
||||||
}
|
}
|
||||||
.headerBump {
|
.headerBump {
|
||||||
padding-top: 3.5rem;
|
padding-top: 3.5rem;
|
||||||
@@ -160,8 +140,6 @@ a:visited {
|
|||||||
.header {
|
.header {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
height: 3.5rem;
|
|
||||||
top: 0;
|
|
||||||
border-bottom: 1px solid var(--horizontal-rule);
|
border-bottom: 1px solid var(--horizontal-rule);
|
||||||
color: var(--headline);
|
color: var(--headline);
|
||||||
background-color: var(--primary-background);
|
background-color: var(--primary-background);
|
||||||
|
|||||||
@@ -1,30 +1,49 @@
|
|||||||
@media screen and (min-width: 769px) {
|
@media screen and (min-width: 769px) {
|
||||||
.rootbox {
|
h1 {
|
||||||
display: grid;
|
font-size: 3.3rem;
|
||||||
grid-template-columns: 1fr 1fr 1fr;
|
|
||||||
grid-template-rows: 1fr 1fr 1fr;
|
|
||||||
gap: 0;
|
|
||||||
grid-template:
|
|
||||||
"b b a"
|
|
||||||
"b b c"
|
|
||||||
"b b c";
|
|
||||||
grid-template-columns: .25fr .75fr;
|
|
||||||
}
|
|
||||||
.navBar {
|
|
||||||
height: auto;
|
|
||||||
position: relative;
|
|
||||||
}
|
|
||||||
.navContent {
|
|
||||||
position: sticky;
|
|
||||||
top: 20px;
|
|
||||||
}
|
|
||||||
.navBar.hide {
|
|
||||||
display: flex;
|
|
||||||
}
|
|
||||||
#closeNav {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
#menuBtn {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
h2 {
|
||||||
|
font-size: 2.6rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
h3 {
|
||||||
|
font-size: 2.4rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
h4 {
|
||||||
|
font-size: 2.2rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
h5 {
|
||||||
|
font-size: 2rem;
|
||||||
|
}
|
||||||
|
.rootbox {
|
||||||
|
display: grid;
|
||||||
|
grid-template-areas:
|
||||||
|
"b a"
|
||||||
|
"b c";
|
||||||
|
grid-template-columns: minmax(auto, 270px) 1fr;
|
||||||
|
grid-template-rows: 3.5rem minmax(calc(100vh - 3.5rem), auto);
|
||||||
|
gap: 0;
|
||||||
|
}
|
||||||
|
.navBar {
|
||||||
|
height: auto;
|
||||||
|
}
|
||||||
|
.navContent {
|
||||||
|
position: sticky;
|
||||||
|
top: 20px;
|
||||||
|
}
|
||||||
|
.navBar.hide {
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
#closeNav {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
#menuBtn {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
.main-content-wrap {
|
||||||
|
max-width: 750px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,31 +1,34 @@
|
|||||||
@media screen and (max-width: 768px) {
|
@media screen and (max-width: 768px) {
|
||||||
h1 {
|
h1 {
|
||||||
font-size: 2.6rem;
|
font-size: 2.6rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
h2 {
|
h2 {
|
||||||
font-size: 2.4rem;
|
font-size: 2.4rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
h3 {
|
h3 {
|
||||||
font-size: 2.2rem;
|
font-size: 2.2rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
h4 {
|
h4 {
|
||||||
font-size: 2rem;
|
font-size: 2rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
h5 {
|
|
||||||
font-size: 1.8rem;
|
|
||||||
}
|
|
||||||
.rootbox {
|
|
||||||
display: grid;
|
|
||||||
grid-template-areas: "a" "c";
|
|
||||||
grid-template-columns: 1fr;
|
|
||||||
}
|
|
||||||
.navBar {
|
|
||||||
position: fixed;
|
|
||||||
width: 100vw;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
h5 {
|
||||||
|
font-size: 1.8rem;
|
||||||
|
}
|
||||||
|
.rootbox {
|
||||||
|
display: grid;
|
||||||
|
grid-template-areas: "a" "c";
|
||||||
|
grid-template-rows: 3.5rem minmax(calc(100vh - 3.5rem), auto);
|
||||||
|
grid-template-columns: auto;
|
||||||
|
}
|
||||||
|
.navBar {
|
||||||
|
position: fixed;
|
||||||
|
width: 100vw;
|
||||||
|
}
|
||||||
|
.main-content-wrap {
|
||||||
|
max-width: calc(100vw - 4rem);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user