Enhance post header (#100)

- show calendar icon for 'posted date'
- show 'reading time'
This commit is contained in:
Khosrow Moossavi 2018-10-14 21:24:13 -04:00 committed by Luiz F. A. de Prá
parent 24c0c2fcc1
commit 11c0108323
8 changed files with 45 additions and 392 deletions

View File

@ -23,6 +23,21 @@
margin-top: 4.0rem; margin-top: 4.0rem;
} }
} }
.post {
.post-title {
margin-bottom: .75em;
}
.post-meta {
.posted-on {
display: inline-block;
margin-left: 0;
margin-right: 1.5rem;
}
.reading-time {
display: inline-block;
}
}
}
} }
.avatar img{ .avatar img{

View File

@ -1,4 +1,14 @@
body.rtl { body.rtl {
.content {
.post {
.post-meta {
.posted-on {
margin-left: 1.5rem;
margin-right: 0;
}
}
}
}
.list { .list {
ul { ul {
li { li {

3
i18n/en.toml Normal file
View File

@ -0,0 +1,3 @@
[readingTime]
one = "One minute read"
other = "{{ .Count }} minutes read"

View File

@ -5,8 +5,21 @@
<section class="container post"> <section class="container post">
<article> <article>
<header> <header>
<div class="post-title">
<h1 class="title">{{ .Title }}</h1> <h1 class="title">{{ .Title }}</h1>
<h2 class="date">{{ .Date.Format (.Site.Params.dateFormat | default "January 2, 2006" ) }}</h2> </div>
<div class="post-meta">
<span class="posted-on">
<i class="far fa-calendar"></i>
<time datetime='{{ .Date.Format "2006-01-02T15:04:05Z07:00" }}'>
{{ .Date.Format (.Site.Params.dateFormat | default "January 2, 2006" ) }}
</time>
</span>
<span class="reading-time">
<i class="far fa-clock"></i>
{{ i18n "readingTime" .ReadingTime }}
</span>
</div>
</header> </header>
<div> <div>

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
{"Target":"css/coder.min.578f8fce262e4c448c239b69661084c57507b89d51b8d04de15cd1d8f8135600.css","MediaType":"text/css","Data":{"Integrity":"sha256-V4+PziYuTESMI5tpZhCExXUHuJ1RuNBN4VzR2PgTVgA="}} {"Target":"css/coder.min.da5204b40ef8cbcb52b75a8cac5656a9cebc00a15e25c865a4b84a3c06b3ed82.css","MediaType":"text/css","Data":{"Integrity":"sha256-2lIEtA74y8tSt1qMrFZWqc68AKFeJchlpLhKPAaz7YI="}}

View File

@ -1,387 +0,0 @@
*,
*:after,
*:before {
box-sizing: inherit; }
html {
box-sizing: border-box;
font-size: 62.5%; }
body {
display: flex;
color: #212121;
background-color: #FAFAFA;
font-family: Merriweather, Georgia, serif;
font-size: 1.6em;
font-weight: 300;
line-height: 1.8em; }
@media only screen and (max-device-width: 768px) {
body {
font-size: 1.6em;
line-height: 1.6em; } }
a {
font-weight: 300;
color: #1565c0;
text-decoration: none; }
a:focus, a:hover {
text-decoration: underline; }
p {
margin: 2.0rem 0 2.0rem 0; }
h1,
h2,
h3,
h4,
h5,
h6 {
font-family: Lato, Helvetica, sans-serif;
font-weight: 700;
color: #000;
margin: 6.4rem 0 3.2rem 0; }
h1 {
font-size: 3.2rem;
line-height: 3.6rem; }
@media only screen and (max-device-width: 768px) {
h1 {
font-size: 3.0rem;
line-height: 3.4rem; } }
h2 {
font-size: 2.8rem;
line-height: 3.2rem; }
@media only screen and (max-device-width: 768px) {
h2 {
font-size: 2.6rem;
line-height: 3.0rem; } }
h3 {
font-size: 2.4rem;
line-height: 2.8rem; }
@media only screen and (max-device-width: 768px) {
h3 {
font-size: 2.2rem;
line-height: 2.6rem; } }
h4 {
font-size: 2.2rem;
line-height: 2.6rem; }
@media only screen and (max-device-width: 768px) {
h4 {
font-size: 2.0rem;
line-height: 2.4rem; } }
h5 {
font-size: 2.0rem;
line-height: 2.4rem; }
@media only screen and (max-device-width: 768px) {
h5 {
font-size: 1.8rem;
line-height: 2.2rem; } }
h6 {
font-size: 1.8rem;
line-height: 2.2rem; }
@media only screen and (max-device-width: 768px) {
h6 {
font-size: 1.6rem;
line-height: 2.0rem; } }
b, strong {
font-weight: 700; }
pre {
display: block;
font-family: "Source Code Pro", "Lucida Console", monospace;
font-size: 1.6rem;
font-weight: 400;
line-height: 2.6rem;
margin: 2.0rem 0 2.0rem 0;
padding: 2.0rem;
overflow-x: auto; }
pre code {
background-color: inherit;
color: inherit; }
code {
font-family: "Source Code Pro", "Lucida Console", monospace;
font-size: 1.6rem;
font-weight: 400;
background-color: #E0E0E0;
color: #212121;
padding: 0.2rem 0.4rem 0.2rem 0.4rem; }
blockquote {
border-left: 2px solid #E0E0E0;
padding-left: 2.0rem;
line-height: 2.2rem;
font-weight: 400;
font-style: italic; }
th, td {
padding: 1.6rem; }
table {
border-collapse: collapse; }
table td, table th {
border: 2px solid #000; }
table tr:first-child th {
border-top: 0; }
table tr:last-child td {
border-bottom: 0; }
table tr td:first-child,
table tr th:first-child {
border-left: 0; }
table tr td:last-child,
table tr th:last-child {
border-right: 0; }
img {
max-width: 100%; }
.wrapper {
display: flex;
flex-direction: column;
min-height: 100vh;
width: 100%; }
.container {
margin: 0 auto;
max-width: 90.0rem;
width: 100%;
padding-left: 2.0rem;
padding-right: 2.0rem; }
.fab {
font-weight: 400; }
.fas {
font-weight: 700; }
.float-right {
float: right; }
.float-left {
float: left; }
.fab {
font-weight: 400; }
.fas {
font-weight: 900; }
.content {
flex: 1;
margin-top: 1.6rem;
margin-bottom: 3.2rem; }
.content article header {
margin-top: 6.4rem;
margin-bottom: 3.2rem; }
.content article header h1, .content article header h2 {
margin: 0; }
.content article header h2 {
font-size: 1.8rem;
line-height: 2.2rem;
color: #212121;
margin-top: 1.8rem; }
@media only screen and (max-device-width: 768px) {
.content article header h2 {
font-size: 1.6rem; } }
.content article footer {
margin-top: 1.0rem; }
.avatar img {
width: 20rem;
height: auto;
border-radius: 50%; }
@media only screen and (max-device-width: 768px) {
.avatar img {
width: 10rem; } }
.list ul {
margin: 3.2rem 0 3.2rem 0;
list-style: none;
padding: 0; }
.list ul li {
font-size: 1.8rem; }
@media only screen and (max-device-width: 768px) {
.list ul li {
margin: 1.6rem 0 1.6rem 0; } }
.list ul li span {
display: inline-block;
width: 20.0rem;
text-align: right;
margin-right: 3.0rem; }
@media only screen and (max-device-width: 768px) {
.list ul li span {
display: block;
text-align: left; } }
.list ul li a {
font-size: 1.8rem;
color: #212121;
font-family: Lato, Helvetica, sans-serif;
font-weight: 700; }
.list ul li a:hover, .list ul li a:focus {
color: #1565c0; }
.centered {
display: flex;
height: 100%;
align-items: center;
justify-content: center; }
.centered .about {
text-align: center; }
.centered .about h1 {
margin-top: 2.0rem;
margin-bottom: 0.5rem; }
.centered .about h2 {
margin-top: 1.0rem;
margin-bottom: 0.5rem;
font-size: 2.4rem; }
@media only screen and (max-device-width: 768px) {
.centered .about h2 {
font-size: 2.0rem; } }
.centered .about ul {
list-style: none;
margin: 3.0rem 0 1.0rem 0;
padding: 0; }
.centered .about ul li {
display: inline-block;
position: relative; }
.centered .about ul li a {
color: #212121;
text-transform: uppercase;
margin-left: 1.0rem;
margin-right: 1.0rem;
font-size: 1.6rem; }
.centered .about ul li a:hover, .centered .about ul li a:focus {
color: #1565c0; }
@media only screen and (max-device-width: 768px) {
.centered .about ul li a {
font-size: 1.4rem; } }
.centered .about ul li a i {
font-size: 3.2rem; }
.centered .error {
text-align: center; }
.centered .error h1 {
margin-top: 2.0rem;
margin-bottom: 0.5rem;
font-size: 4.6rem; }
@media only screen and (max-device-width: 768px) {
.centered .error h1 {
font-size: 3.2rem; } }
.centered .error h2 {
margin-top: 2.0rem;
margin-bottom: 3.2rem;
font-size: 3.2rem; }
@media only screen and (max-device-width: 768px) {
.centered .error h2 {
font-size: 2.8rem; } }
.navigation {
height: 6.0rem;
width: 100%; }
.navigation a, .navigation span {
display: inline;
font-size: 1.6rem;
font-family: Lato, Helvetica, sans-serif;
font-weight: 700;
line-height: 6.0rem;
color: #212121; }
.navigation a:hover, .navigation a:focus {
color: #1565c0; }
.navigation .navigation-title {
letter-spacing: 0.1rem;
text-transform: uppercase; }
.navigation .navigation-list {
float: right;
list-style: none;
margin-bottom: 0;
margin-top: 0; }
@media only screen and (max-device-width: 768px) {
.navigation .navigation-list {
position: absolute;
top: 6.0rem;
right: 0;
z-index: 5;
visibility: hidden;
opacity: 0;
padding: 0;
max-height: 0;
width: 100%;
background-color: #FAFAFA;
border-top: solid 2px #E0E0E0;
border-bottom: solid 2px #E0E0E0;
transition: opacity 0.25s, max-height 0.15s linear; } }
.navigation .navigation-list .navigation-item {
float: left;
margin: 0;
position: relative; }
@media only screen and (max-device-width: 768px) {
.navigation .navigation-list .navigation-item {
float: none !important;
text-align: center; }
.navigation .navigation-list .navigation-item a, .navigation .navigation-list .navigation-item span {
line-height: 5.0rem; } }
.navigation .navigation-list .navigation-item a, .navigation .navigation-list .navigation-item span {
margin-left: 1.0rem;
margin-right: 1.0rem; }
@media only screen and (max-device-width: 768px) {
.navigation .navigation-list .menu-separator {
border-top: 2px solid #212121;
margin: 0 8.0rem; }
.navigation .navigation-list .menu-separator span {
display: none; } }
.navigation #menu-toggle {
display: none; }
@media only screen and (max-device-width: 768px) {
.navigation #menu-toggle:checked + label {
color: #E0E0E0; }
.navigation #menu-toggle:checked + label + ul {
visibility: visible;
opacity: 1;
max-height: 100rem; } }
.navigation .menu-button {
display: none; }
@media only screen and (max-device-width: 768px) {
.navigation .menu-button {
display: block;
font-size: 2.4rem;
font-weight: 400;
line-height: 6.0rem;
color: #212121;
cursor: pointer; }
.navigation .menu-button:hover, .navigation .menu-button:focus {
color: #1565c0; } }
.pagination {
margin-top: 6.0rem;
text-align: center; }
.pagination li {
display: inline;
text-align: center; }
.pagination li span {
margin: 0;
text-align: center;
width: 3.2rem; }
.pagination li a span {
margin: 0;
text-align: center;
width: 3.2rem; }
.footer {
width: 100%;
text-align: center;
line-height: 2.0rem;
margin-bottom: 1.0rem; }
.footer a {
color: #1565c0; }
/*# sourceMappingURL=coder.css.map */

View File

@ -1 +0,0 @@
{"Target":"css/coder.css","MediaType":"text/css","Data":{}}