mirror of
https://github.com/GenZmeY/casper-i18n.git
synced 2025-07-14 01:36:06 +00:00
Compare commits
28 Commits
Author | SHA1 | Date | |
---|---|---|---|
986a954f33 | |||
636882bce4 | |||
79e113226c | |||
8e865b797b | |||
a655b59e69 | |||
b078dcb86e | |||
d5002f2c51 | |||
41bcbb7157 | |||
452776939c | |||
57c31ddacb | |||
21088b1d38 | |||
16f283e675 | |||
942054ba0d | |||
782aba3991 | |||
9df85fbbe5 | |||
1e10549ee2 | |||
a6eb6848de | |||
6788302f62 | |||
67e55abfed | |||
bfaae0f7ba | |||
edfafffd32 | |||
7798bf115f | |||
9395846fdf | |||
99fad4cbc4 | |||
990f712209 | |||
4ff4b4c7f8 | |||
de05d90fe9 | |||
978e54403c |
2
.github/ISSUE_TEMPLATE.md
vendored
2
.github/ISSUE_TEMPLATE.md
vendored
@ -1,4 +1,4 @@
|
|||||||
Do you need help or have a question? Please come chat in Slack: https://ghost.org/slack 👫.
|
Do you need help or have a question? Please come chat in our forum: https://forum.ghost.org 👫.
|
||||||
|
|
||||||
If you're filing a bug 🐛, please include the following information:
|
If you're filing a bug 🐛, please include the following information:
|
||||||
|
|
||||||
|
2
LICENSE
2
LICENSE
@ -1,4 +1,4 @@
|
|||||||
Copyright (c) 2013-2017 Ghost Foundation
|
Copyright (c) 2013-2018 Ghost Foundation
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person
|
Permission is hereby granted, free of charge, to any person
|
||||||
obtaining a copy of this software and associated documentation
|
obtaining a copy of this software and associated documentation
|
||||||
|
@ -35,8 +35,8 @@ One really neat trick is that you can also create custom one-off templates just
|
|||||||
Casper styles are compiled using Gulp/PostCSS to polyfill future CSS spec. You'll need Node and Gulp installed globally. After that, from the theme's root directory:
|
Casper styles are compiled using Gulp/PostCSS to polyfill future CSS spec. You'll need Node and Gulp installed globally. After that, from the theme's root directory:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ npm install
|
$ yarn install
|
||||||
$ gulp
|
$ yarn dev
|
||||||
```
|
```
|
||||||
|
|
||||||
Now you can edit `/assets/css/` files, which will be compiled to `/assets/built/` automatically.
|
Now you can edit `/assets/css/` files, which will be compiled to `/assets/built/` automatically.
|
||||||
@ -44,7 +44,7 @@ Now you can edit `/assets/css/` files, which will be compiled to `/assets/built/
|
|||||||
The `zip` Gulp task packages the theme files into `dist/<theme-name>.zip`, which you can then upload to your site.
|
The `zip` Gulp task packages the theme files into `dist/<theme-name>.zip`, which you can then upload to your site.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ gulp zip
|
$ yarn zip
|
||||||
```
|
```
|
||||||
|
|
||||||
# PostCSS Features Used
|
# PostCSS Features Used
|
||||||
@ -63,4 +63,4 @@ You can add your own SVG icons in the same manner.
|
|||||||
|
|
||||||
# Copyright & License
|
# Copyright & License
|
||||||
|
|
||||||
Copyright (c) 2013-2017 Ghost Foundation - Released under the [MIT license](LICENSE).
|
Copyright (c) 2013-2018 Ghost Foundation - Released under the [MIT license](LICENSE).
|
||||||
|
@ -1,2 +1,2 @@
|
|||||||
a,abbr,acronym,address,applet,article,aside,audio,big,blockquote,body,canvas,caption,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,ul,var,video{margin:0;padding:0;border:0;font:inherit;font-size:100%;vertical-align:baseline}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:"";content:none}img{max-width:100%}html{box-sizing:border-box;font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}*,:after,:before{box-sizing:inherit}a{background-color:transparent}a:active,a:hover{outline:0}b,strong{font-weight:700}dfn,em,i{font-style:italic}h1{margin:.67em 0;font-size:2em}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}mark{background-color:#fdffb6}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{margin:0;color:inherit;font:inherit}button{overflow:visible;border:none}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{cursor:pointer;-webkit-appearance:button}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input{line-height:normal}input:focus{outline:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{box-sizing:content-box;-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}legend{padding:0;border:0}textarea{overflow:auto}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}html{overflow-y:scroll;font-size:62.5%;-webkit-tap-highlight-color:rgba(0,0,0,0)}body,html{overflow-x:hidden}body{color:#3c484e;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;font-size:1.5rem;line-height:1.6em;font-weight:400;font-style:normal;letter-spacing:0;text-rendering:optimizeLegibility;background:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-moz-font-feature-settings:"liga" on}::-moz-selection{text-shadow:none;background:#cbeafb}::selection{text-shadow:none;background:#cbeafb}hr{position:relative;display:block;width:100%;margin:2.5em 0 3.5em;padding:0;height:1px;border:0;border-top:1px solid #e3e9ed}audio,canvas,iframe,img,svg,video{vertical-align:middle}fieldset{margin:0;padding:0;border:0}textarea{resize:vertical}blockquote,dl,ol,p,ul{margin:0 0 1.5em}ol,ul{padding-left:1.3em;padding-right:1.5em}ol ol,ol ul,ul ol,ul ul{margin:.5em 0 1em}ul{list-style:disc}ol{list-style:decimal}li{margin:.5em 0;padding-left:.3em;line-height:1.6em}dt{float:left;margin:0 20px 0 0;width:120px;color:#15171a;font-weight:500;text-align:right}dd{margin:0 0 5px;text-align:left}blockquote{margin:1.5em 0;padding:0 1.6em;border-left:.5em solid #e5eff5}blockquote p{margin:.8em 0;font-size:1.2em;font-weight:300}blockquote small{display:inline-block;margin:.8em 0 .8em 1.5em;font-size:.9em;opacity:.8}blockquote small:before{content:"\2014 \00A0"}blockquote cite{font-weight:700}blockquote cite a{font-weight:400}a{color:#26a8ed;text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4,h5,h6{margin-top:0;line-height:1.15;font-weight:700;text-rendering:optimizeLegibility}h1{margin:0 0 .5em;font-size:5rem;font-weight:700}@media (max-width:500px){h1{font-size:2.2rem}}h2{margin:1.5em 0 .5em;font-size:2rem}@media (max-width:500px){h2{font-size:1.8rem}}h3{margin:1.5em 0 .5em;font-size:1.8rem;font-weight:500}@media (max-width:500px){h3{font-size:1.7rem}}h4{margin:1.5em 0 .5em;font-size:1.6rem;font-weight:500}h5,h6{margin:1.5em 0 .5em;font-size:1.4rem;font-weight:500}
|
a,abbr,acronym,address,applet,article,aside,audio,big,blockquote,body,canvas,caption,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,ul,var,video{margin:0;padding:0;border:0;font:inherit;font-size:100%;vertical-align:baseline}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:"";content:none}img{max-width:100%}html{box-sizing:border-box;font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}*,:after,:before{box-sizing:inherit}a{background-color:transparent}a:active,a:hover{outline:0}b,strong{font-weight:700}dfn,em,i{font-style:italic}h1{margin:.67em 0;font-size:2em}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}mark{background-color:#fdffb6}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{margin:0;color:inherit;font:inherit}button{overflow:visible;border:none}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{cursor:pointer;-webkit-appearance:button}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input{line-height:normal}input:focus{outline:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{box-sizing:content-box;-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}legend{padding:0;border:0}textarea{overflow:auto}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}html{overflow-y:scroll;font-size:62.5%;-webkit-tap-highlight-color:rgba(0,0,0,0)}body,html{overflow-x:hidden}body{color:#3c484e;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;font-size:1.5rem;line-height:1.6em;font-weight:400;font-style:normal;letter-spacing:0;text-rendering:optimizeLegibility;background:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-moz-font-feature-settings:"liga" on}::-moz-selection{text-shadow:none;background:#cbeafb}::selection{text-shadow:none;background:#cbeafb}hr{position:relative;display:block;width:100%;margin:2.5em 0 3.5em;padding:0;height:1px;border:0;border-top:1px solid #e3e9ed}audio,canvas,iframe,img,svg,video{vertical-align:middle}fieldset{margin:0;padding:0;border:0}textarea{resize:vertical}blockquote,dl,ol,p,ul{margin:0 0 1.5em}ol,ul{padding-left:1.3em;padding-right:1.5em}ol ol,ol ul,ul ol,ul ul{margin:.5em 0 1em}ul{list-style:disc}ol{list-style:decimal}ol,ul{max-width:100%}li{margin:.5em 0;padding-left:.3em;line-height:1.6em}dt{float:left;margin:0 20px 0 0;width:120px;color:#15171a;font-weight:500;text-align:right}dd{margin:0 0 5px;text-align:left}blockquote{margin:1.5em 0;padding:0 1.6em;border-left:.5em solid #e5eff5}blockquote p{margin:.8em 0;font-size:1.2em;font-weight:300}blockquote small{display:inline-block;margin:.8em 0 .8em 1.5em;font-size:.9em;opacity:.8}blockquote small:before{content:"\2014 \00A0"}blockquote cite{font-weight:700}blockquote cite a{font-weight:400}a{color:#26a8ed;text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4,h5,h6{margin-top:0;line-height:1.15;font-weight:700;text-rendering:optimizeLegibility}h1{margin:0 0 .5em;font-size:5rem;font-weight:700}@media (max-width:500px){h1{font-size:2.2rem}}h2{margin:1.5em 0 .5em;font-size:2rem}@media (max-width:500px){h2{font-size:1.8rem}}h3{margin:1.5em 0 .5em;font-size:1.8rem;font-weight:500}@media (max-width:500px){h3{font-size:1.7rem}}h4{margin:1.5em 0 .5em;font-size:1.6rem;font-weight:500}h5,h6{margin:1.5em 0 .5em;font-size:1.4rem;font-weight:500}
|
||||||
/*# sourceMappingURL=global.css.map */
|
/*# sourceMappingURL=global.css.map */
|
||||||
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -267,7 +267,6 @@ th {
|
|||||||
padding: 0;
|
padding: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* ==========================================================================
|
/* ==========================================================================
|
||||||
Base styles: opinionated defaults
|
Base styles: opinionated defaults
|
||||||
========================================================================== */
|
========================================================================== */
|
||||||
@ -360,6 +359,11 @@ ol {
|
|||||||
list-style: decimal;
|
list-style: decimal;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ul,
|
||||||
|
ol {
|
||||||
|
max-width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
li {
|
li {
|
||||||
margin: 0.5em 0;
|
margin: 0.5em 0;
|
||||||
padding-left: 0.3em;
|
padding-left: 0.3em;
|
||||||
@ -383,7 +387,7 @@ dd {
|
|||||||
blockquote {
|
blockquote {
|
||||||
margin: 1.5em 0;
|
margin: 1.5em 0;
|
||||||
padding: 0 1.6em 0 1.6em;
|
padding: 0 1.6em 0 1.6em;
|
||||||
border-left: var(--whitegrey) 0.5em solid;;
|
border-left: var(--whitegrey) 0.5em solid;
|
||||||
}
|
}
|
||||||
|
|
||||||
blockquote p {
|
blockquote p {
|
||||||
|
@ -36,8 +36,8 @@ body {
|
|||||||
display: block;
|
display: block;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
background-size: cover;
|
|
||||||
background-position: center center;
|
background-position: center center;
|
||||||
|
background-size: cover;
|
||||||
border-radius: 100%;
|
border-radius: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -70,9 +70,9 @@ body {
|
|||||||
|
|
||||||
/* Centered content container blocks */
|
/* Centered content container blocks */
|
||||||
.inner {
|
.inner {
|
||||||
width: 100%;
|
|
||||||
max-width: 1040px;
|
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
|
max-width: 1040px;
|
||||||
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Usage:
|
/* Usage:
|
||||||
@ -149,9 +149,9 @@ body {
|
|||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
padding: 10vw 4vw;
|
||||||
min-height: 200px;
|
min-height: 200px;
|
||||||
max-height: 450px;
|
max-height: 450px;
|
||||||
padding: 10vw 4vw;
|
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -196,8 +196,8 @@ body {
|
|||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
align-items: flex-start;
|
align-items: flex-start;
|
||||||
height: 40px;
|
|
||||||
overflow-y: hidden;
|
overflow-y: hidden;
|
||||||
|
height: 40px;
|
||||||
font-size: 1.2rem;
|
font-size: 1.2rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -206,11 +206,12 @@ body {
|
|||||||
align-items: center;
|
align-items: center;
|
||||||
overflow-x: auto;
|
overflow-x: auto;
|
||||||
overflow-y: hidden;
|
overflow-y: hidden;
|
||||||
|
-webkit-overflow-scrolling: touch;
|
||||||
margin-right: 10px;
|
margin-right: 10px;
|
||||||
padding-bottom: 80px;
|
padding-bottom: 80px;
|
||||||
letter-spacing: 0.4px;
|
letter-spacing: 0.4px;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
-webkit-overflow-scrolling: touch;
|
|
||||||
-ms-overflow-scrolling: touch;
|
-ms-overflow-scrolling: touch;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -348,8 +349,8 @@ The knock-on effect of this is ugly browser-scroll bars at the bottom, so 80px o
|
|||||||
}
|
}
|
||||||
|
|
||||||
.rss-button svg {
|
.rss-button svg {
|
||||||
height: 2.1rem;
|
|
||||||
margin-bottom: 1px;
|
margin-bottom: 1px;
|
||||||
|
height: 2.1rem;
|
||||||
fill: #fff;
|
fill: #fff;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -383,9 +384,9 @@ The knock-on effect of this is ugly browser-scroll bars at the bottom, so 80px o
|
|||||||
flex: 1 1 300px;
|
flex: 1 1 300px;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
min-height: 300px;
|
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
margin: 0 20px 40px;
|
margin: 0 20px 40px;
|
||||||
|
min-height: 300px;
|
||||||
background: #fff center center;
|
background: #fff center center;
|
||||||
background-size: cover;
|
background-size: cover;
|
||||||
border-radius: 5px;
|
border-radius: 5px;
|
||||||
@ -394,9 +395,9 @@ The knock-on effect of this is ugly browser-scroll bars at the bottom, so 80px o
|
|||||||
}
|
}
|
||||||
|
|
||||||
.post-card:hover {
|
.post-card:hover {
|
||||||
box-shadow: 0 0 1px rgba(39,44,49,0.10), 0 3px 16px rgba(39, 44, 49,0.07);
|
box-shadow: rgba(39,44,49,0.07) 8px 28px 50px, rgba(39, 44, 49, 0.04) 1px 6px 12px;
|
||||||
transition: all 0.3s ease;
|
transition: all 0.4s ease;
|
||||||
transform: translate3D(0, -1px, 0);
|
transform: translate3D(0, -1px, 0) scale(1.02);
|
||||||
}
|
}
|
||||||
|
|
||||||
.post-card-image-link {
|
.post-card-image-link {
|
||||||
@ -415,6 +416,7 @@ The knock-on effect of this is ugly browser-scroll bars at the bottom, so 80px o
|
|||||||
|
|
||||||
.post-card-content-link {
|
.post-card-content-link {
|
||||||
position: relative;
|
position: relative;
|
||||||
|
flex-grow: 1;
|
||||||
display: block;
|
display: block;
|
||||||
padding: 25px 25px 0;
|
padding: 25px 25px 0;
|
||||||
color: var(--darkgrey);
|
color: var(--darkgrey);
|
||||||
@ -451,20 +453,151 @@ The knock-on effect of this is ugly browser-scroll bars at the bottom, so 80px o
|
|||||||
}
|
}
|
||||||
|
|
||||||
.post-card-meta {
|
.post-card-meta {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
padding: 0 25px 25px;
|
padding: 0 25px 25px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.profile-image-wrapper,
|
||||||
|
.avatar-wrapper {
|
||||||
|
position: absolute;
|
||||||
|
display: inline-block;
|
||||||
|
width: 28px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.avatar-wrapper {
|
||||||
|
display: inline-block;
|
||||||
|
box-sizing: content-box;
|
||||||
|
margin-right: 3px;
|
||||||
|
border: 2px solid #fff;
|
||||||
|
text-align: center;
|
||||||
|
background-color: color(var(--lightgrey) l(+10%));
|
||||||
|
border-radius: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.avatar-wrapper svg {
|
||||||
|
width: 28px;
|
||||||
|
height: 28px;
|
||||||
|
}
|
||||||
|
|
||||||
.author-profile-image {
|
.author-profile-image {
|
||||||
width: 25px;
|
box-sizing: content-box;
|
||||||
height: 25px;
|
|
||||||
margin-right: 5px;
|
margin-right: 5px;
|
||||||
|
width: 28px;
|
||||||
|
height: 28px;
|
||||||
|
border: 2px solid #fff;
|
||||||
border-radius: 100%;
|
border-radius: 100%;
|
||||||
|
|
||||||
object-fit: cover;
|
object-fit: cover;
|
||||||
}
|
}
|
||||||
|
|
||||||
.post-card-author {
|
.post-card-meta .profile-image-wrapper,
|
||||||
font-size: 1.3rem;
|
.post-card-meta .avatar-wrapper {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.author-list {
|
||||||
|
display: flex;
|
||||||
|
margin-bottom: 0;
|
||||||
|
padding: 0;
|
||||||
|
max-width: calc(100% - 120px);
|
||||||
|
list-style-type: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.author-list-item {
|
||||||
|
position: relative;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
width: 25px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.moving-avatar {
|
||||||
|
transition: all 0.5s cubic-bezier(0.4, 0.01, 0.165, 0.99);
|
||||||
|
transform: translate(0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
.moving-avatar.right {
|
||||||
|
transform: translateX(10px);
|
||||||
|
}
|
||||||
|
|
||||||
|
.moving-avatar.left {
|
||||||
|
transform: translateX(-10px);
|
||||||
|
}
|
||||||
|
|
||||||
|
.author-list-item:nth-child( 1 ) {
|
||||||
|
z-index: 9;
|
||||||
|
}
|
||||||
|
|
||||||
|
.author-list-item:nth-child( 2 ) {
|
||||||
|
z-index: 8;
|
||||||
|
}
|
||||||
|
|
||||||
|
.author-list-item:nth-child( 3 ) {
|
||||||
|
z-index: 7;
|
||||||
|
}
|
||||||
|
|
||||||
|
.author-list-item:nth-child( 4 ) {
|
||||||
|
z-index: 6;
|
||||||
|
}
|
||||||
|
|
||||||
|
.author-list-item:nth-child( 5 ) {
|
||||||
|
z-index: 5;
|
||||||
|
}
|
||||||
|
|
||||||
|
.author-list-item:nth-child( 6 ) {
|
||||||
|
z-index: 4;
|
||||||
|
}
|
||||||
|
|
||||||
|
.author-list-item:nth-child( 7 ) {
|
||||||
|
z-index: 3;
|
||||||
|
}
|
||||||
|
|
||||||
|
.author-list-item:nth-child( 8 ) {
|
||||||
|
z-index: 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
.author-list-item:nth-child( 9 ) {
|
||||||
|
z-index: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.z-999 {
|
||||||
|
z-index: 999;
|
||||||
|
}
|
||||||
|
|
||||||
|
.author-name-tooltip {
|
||||||
|
position: absolute;
|
||||||
|
bottom: 36px;
|
||||||
|
z-index: 999;
|
||||||
|
display: block;
|
||||||
|
padding: 2px 8px;
|
||||||
|
color: white;
|
||||||
|
font-size: 1.2rem;
|
||||||
|
letter-spacing: 0.2px;
|
||||||
|
white-space: nowrap;
|
||||||
|
background: var(--darkgrey);
|
||||||
|
border-radius: 3px;
|
||||||
|
box-shadow: rgba(39,44,49,0.08) 0 12px 26px, rgba(39, 44, 49, 0.03) 1px 3px 8px;
|
||||||
|
opacity: 0;
|
||||||
|
transition: all 0.3s cubic-bezier(0.4, 0.01, 0.165, 0.99);
|
||||||
|
transform: translateY(6px);
|
||||||
|
pointer-events: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.author-list-item:hover .author-name-tooltip {
|
||||||
|
opacity: 1.0;
|
||||||
|
transform: translateY(0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 650px) {
|
||||||
|
.author-name-tooltip {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.reading-time {
|
||||||
|
color: var(--midgrey);
|
||||||
|
font-size: 1.2rem;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
letter-spacing: 0.5px;
|
letter-spacing: 0.5px;
|
||||||
text-transform: uppercase;
|
text-transform: uppercase;
|
||||||
@ -549,9 +682,9 @@ The first (most recent) post in the list is styled to be bigger than the others
|
|||||||
/* ^ Required to make .post-full-content:before/after z-index stacking work */
|
/* ^ Required to make .post-full-content:before/after z-index stacking work */
|
||||||
|
|
||||||
.post-full-header {
|
.post-full-header {
|
||||||
max-width: 1040px;
|
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
padding: 6vw 3vw 3vw;
|
padding: 6vw 3vw 3vw;
|
||||||
|
max-width: 1040px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
@media (max-width: 500px) {
|
@media (max-width: 500px) {
|
||||||
@ -585,8 +718,8 @@ The first (most recent) post in the list is styled to be bigger than the others
|
|||||||
}
|
}
|
||||||
|
|
||||||
.post-full-image {
|
.post-full-image {
|
||||||
height: 800px;
|
|
||||||
margin: 0 -10vw -165px;
|
margin: 0 -10vw -165px;
|
||||||
|
height: 800px;
|
||||||
background: var(--lightgrey) center center;
|
background: var(--lightgrey) center center;
|
||||||
background-size: cover;
|
background-size: cover;
|
||||||
border-radius: 5px;
|
border-radius: 5px;
|
||||||
@ -594,8 +727,8 @@ The first (most recent) post in the list is styled to be bigger than the others
|
|||||||
|
|
||||||
@media (max-width: 1170px) {
|
@media (max-width: 1170px) {
|
||||||
.post-full-image {
|
.post-full-image {
|
||||||
height: 600px;
|
|
||||||
margin: 0 -4vw -100px;
|
margin: 0 -4vw -100px;
|
||||||
|
height: 600px;
|
||||||
border-radius: 0;
|
border-radius: 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -608,9 +741,9 @@ The first (most recent) post in the list is styled to be bigger than the others
|
|||||||
|
|
||||||
.post-full-content {
|
.post-full-content {
|
||||||
position: relative;
|
position: relative;
|
||||||
min-height: 230px;
|
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
padding: 70px 100px 0;
|
padding: 70px 100px 0;
|
||||||
|
min-height: 230px;
|
||||||
font-family: Georgia, serif;
|
font-family: Georgia, serif;
|
||||||
font-size: 2.2rem;
|
font-size: 2.2rem;
|
||||||
line-height: 1.6em;
|
line-height: 1.6em;
|
||||||
@ -729,8 +862,8 @@ The first (most recent) post in the list is styled to be bigger than the others
|
|||||||
.post-full-content img,
|
.post-full-content img,
|
||||||
.post-full-content video {
|
.post-full-content video {
|
||||||
display: block;
|
display: block;
|
||||||
max-width: 1040px;
|
|
||||||
margin: 1.5em auto;
|
margin: 1.5em auto;
|
||||||
|
max-width: 1040px;
|
||||||
}
|
}
|
||||||
@media (max-width: 1040px) {
|
@media (max-width: 1040px) {
|
||||||
.post-full-content img,
|
.post-full-content img,
|
||||||
@ -749,8 +882,8 @@ Usage (In Ghost edtior):
|
|||||||
|
|
||||||
*/
|
*/
|
||||||
.post-full-content img[src$="#full"] {
|
.post-full-content img[src$="#full"] {
|
||||||
width: 100vw;
|
|
||||||
max-width: none;
|
max-width: none;
|
||||||
|
width: 100vw;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -801,10 +934,10 @@ Usage (In Ghost editor):
|
|||||||
}
|
}
|
||||||
|
|
||||||
.post-full-content pre {
|
.post-full-content pre {
|
||||||
max-width: 100%;
|
|
||||||
overflow-x: auto;
|
overflow-x: auto;
|
||||||
margin: 1.5em 0 3em;
|
margin: 1.5em 0 3em;
|
||||||
padding: 20px;
|
padding: 20px;
|
||||||
|
max-width: 100%;
|
||||||
border: color(var(--darkgrey) l(-10%)) 1px solid;
|
border: color(var(--darkgrey) l(-10%)) 1px solid;
|
||||||
color: var(--whitegrey);
|
color: var(--whitegrey);
|
||||||
font-size: 1.4rem;
|
font-size: 1.4rem;
|
||||||
@ -820,6 +953,10 @@ Usage (In Ghost editor):
|
|||||||
background: transparent;
|
background: transparent;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.post-full-content pre code * {
|
||||||
|
color: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
.post-full-content .fluid-width-video-wrapper {
|
.post-full-content .fluid-width-video-wrapper {
|
||||||
margin: 1.5em 0 3em;
|
margin: 1.5em 0 3em;
|
||||||
}
|
}
|
||||||
@ -834,9 +971,9 @@ Usage (In Ghost editor):
|
|||||||
top: -15px;
|
top: -15px;
|
||||||
left: 50%;
|
left: 50%;
|
||||||
display: block;
|
display: block;
|
||||||
|
margin-left: -10px;
|
||||||
width: 1px;
|
width: 1px;
|
||||||
height: 30px;
|
height: 30px;
|
||||||
margin-left: -10px;
|
|
||||||
background: color(var(--lightgrey) l(+10%));
|
background: color(var(--lightgrey) l(+10%));
|
||||||
box-shadow: #fff 0 0 0 5px;
|
box-shadow: #fff 0 0 0 5px;
|
||||||
transform: rotate(45deg);
|
transform: rotate(45deg);
|
||||||
@ -909,8 +1046,8 @@ Usage (In Ghost editor):
|
|||||||
}
|
}
|
||||||
@media (min-width: 1180px) {
|
@media (min-width: 1180px) {
|
||||||
.post-full-content h5 {
|
.post-full-content h5 {
|
||||||
width: 100vw;
|
|
||||||
max-width: 1060px;
|
max-width: 1060px;
|
||||||
|
width: 100vw;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@media (max-width: 500px) {
|
@media (max-width: 500px) {
|
||||||
@ -961,8 +1098,8 @@ Usage (In Ghost editor):
|
|||||||
font-size: 2.9rem;
|
font-size: 2.9rem;
|
||||||
}
|
}
|
||||||
.post-full-image {
|
.post-full-image {
|
||||||
height: 350px;
|
|
||||||
margin-bottom: 4vw;
|
margin-bottom: 4vw;
|
||||||
|
height: 350px;
|
||||||
}
|
}
|
||||||
.post-full-content {
|
.post-full-content {
|
||||||
padding: 0;
|
padding: 0;
|
||||||
@ -976,24 +1113,24 @@ Usage (In Ghost editor):
|
|||||||
/* Tables */
|
/* Tables */
|
||||||
.post-full-content table {
|
.post-full-content table {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
width: auto;
|
|
||||||
max-width: 100%;
|
|
||||||
overflow-x: auto;
|
overflow-x: auto;
|
||||||
margin: 0.5em 0 2.5em;
|
margin: 0.5em 0 2.5em;
|
||||||
|
max-width: 100%;
|
||||||
|
width: auto;
|
||||||
border-spacing: 0;
|
border-spacing: 0;
|
||||||
border-collapse: collapse;
|
border-collapse: collapse;
|
||||||
vertical-align: top;
|
|
||||||
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
|
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
|
||||||
font-size: 1.6rem;
|
font-size: 1.6rem;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
|
vertical-align: top;
|
||||||
}
|
}
|
||||||
|
|
||||||
.post-full-content table {
|
.post-full-content table {
|
||||||
background: radial-gradient(ellipse at left, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0) 75%) 0 center, radial-gradient(ellipse at right, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0) 75%) 100% center;
|
|
||||||
background-size: 10px 100%, 10px 100%;
|
|
||||||
background-attachment: scroll, scroll;
|
|
||||||
background-repeat: no-repeat;
|
|
||||||
-webkit-overflow-scrolling: touch;
|
-webkit-overflow-scrolling: touch;
|
||||||
|
background: radial-gradient(ellipse at left, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0) 75%) 0 center, radial-gradient(ellipse at right, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0) 75%) 100% center;
|
||||||
|
background-attachment: scroll, scroll;
|
||||||
|
background-size: 10px 100%, 10px 100%;
|
||||||
|
background-repeat: no-repeat;
|
||||||
}
|
}
|
||||||
|
|
||||||
.post-full-content table td:first-child {
|
.post-full-content table td:first-child {
|
||||||
@ -1004,8 +1141,8 @@ Usage (In Ghost editor):
|
|||||||
|
|
||||||
.post-full-content table td:last-child {
|
.post-full-content table td:last-child {
|
||||||
background-image: linear-gradient(to left, rgba(255,255,255, 1) 50%, rgba(255,255,255, 0) 100%);
|
background-image: linear-gradient(to left, rgba(255,255,255, 1) 50%, rgba(255,255,255, 0) 100%);
|
||||||
background-size: 20px 100%;
|
|
||||||
background-position: 100% 0;
|
background-position: 100% 0;
|
||||||
|
background-size: 20px 100%;
|
||||||
background-repeat: no-repeat;
|
background-repeat: no-repeat;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1059,8 +1196,8 @@ Usage (In Ghost editor):
|
|||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
max-width: 420px;
|
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
|
max-width: 420px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.subscribe-form .form-group {
|
.subscribe-form .form-group {
|
||||||
@ -1069,8 +1206,8 @@ Usage (In Ghost editor):
|
|||||||
|
|
||||||
.subscribe-email {
|
.subscribe-email {
|
||||||
display: block;
|
display: block;
|
||||||
width: 100%;
|
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
|
width: 100%;
|
||||||
border: color(var(--lightgrey) l(+7%)) 1px solid;
|
border: color(var(--lightgrey) l(+7%)) 1px solid;
|
||||||
color: var(--midgrey);
|
color: var(--midgrey);
|
||||||
font-size: 1.8rem;
|
font-size: 1.8rem;
|
||||||
@ -1090,9 +1227,9 @@ Usage (In Ghost editor):
|
|||||||
|
|
||||||
.subscribe-form button {
|
.subscribe-form button {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
height: 41px;
|
|
||||||
margin: 0 0 0 10px;
|
margin: 0 0 0 10px;
|
||||||
padding: 0 20px;
|
padding: 0 20px;
|
||||||
|
height: 41px;
|
||||||
outline: none;
|
outline: none;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
font-size: 1.5rem;
|
font-size: 1.5rem;
|
||||||
@ -1134,8 +1271,8 @@ Usage (In Ghost editor):
|
|||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
.subscribe-form button {
|
.subscribe-form button {
|
||||||
width: 100%;
|
|
||||||
margin: 10px 0 0 0;
|
margin: 10px 0 0 0;
|
||||||
|
width: 100%;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1147,9 +1284,9 @@ Usage (In Ghost editor):
|
|||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
max-width: 840px;
|
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
padding: 3vw 0 6vw 0;
|
padding: 3vw 0 6vw 0;
|
||||||
|
max-width: 840px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.author-card {
|
.author-card {
|
||||||
@ -1157,12 +1294,6 @@ Usage (In Ghost editor):
|
|||||||
align-items: center;
|
align-items: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.author-card .author-profile-image {
|
|
||||||
width: 60px;
|
|
||||||
height: 60px;
|
|
||||||
margin-right: 15px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.author-card-name {
|
.author-card-name {
|
||||||
margin: 0 0 2px 0;
|
margin: 0 0 2px 0;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
@ -1207,13 +1338,162 @@ Usage (In Ghost editor):
|
|||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.post-full-authors {
|
||||||
|
flex-grow: 1;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
margin-top: 20px;
|
||||||
|
padding-top: 40px;
|
||||||
|
border-top: color(var(--lightgrey) l(+10%)) 1px solid;
|
||||||
|
}
|
||||||
|
|
||||||
|
.post-full-authors-content {
|
||||||
|
margin-bottom: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.post-full-authors-content p {
|
||||||
|
margin-bottom: 0;
|
||||||
|
color: var(--midgrey);
|
||||||
|
font-size: 1.4rem;
|
||||||
|
letter-spacing: 0.2px;
|
||||||
|
text-align: center;
|
||||||
|
text-transform: uppercase;
|
||||||
|
}
|
||||||
|
|
||||||
|
.post-full-authors-content a {
|
||||||
|
display: inline-block;
|
||||||
|
color: color(var(--darkgrey) l(+20%));
|
||||||
|
font-size: 1.4rem;
|
||||||
|
font-weight: 600;
|
||||||
|
text-transform: uppercase;
|
||||||
|
}
|
||||||
|
|
||||||
|
.post-full-footer .author-list-item {
|
||||||
|
width: 42px;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 650px) {
|
||||||
|
.post-full-footer .author-list-item {
|
||||||
|
width: 54px;
|
||||||
|
height: 54px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.post-full-footer .author-list-item > a {
|
||||||
|
position: absolute;
|
||||||
|
display: inline-block;
|
||||||
|
width: 48px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.post-full-footer .author-profile-image,
|
||||||
|
.post-full-footer .avatar-wrapper {
|
||||||
|
width: 48px;
|
||||||
|
height: 48px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.author-card .author-profile-image,
|
||||||
|
.author-card .avatar-wrapper {
|
||||||
|
margin-right: 15px;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.post-full-footer .avatar-wrapper svg {
|
||||||
|
width: 46px;
|
||||||
|
height: 46px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.author-list-item .author-card {
|
||||||
|
position: absolute;
|
||||||
|
bottom: 12px;
|
||||||
|
left: calc(-160px + 28px);
|
||||||
|
z-index: 999;
|
||||||
|
display: block;
|
||||||
|
width: 320px;
|
||||||
|
font-size: 1.4rem;
|
||||||
|
letter-spacing: 0.2px;
|
||||||
|
background: white;
|
||||||
|
border-radius: 6px;
|
||||||
|
box-shadow: rgba(39,44,49,0.08) 0 12px 26px, rgba(39, 44, 49, 0.03) 1px 3px 8px;
|
||||||
|
opacity: 0;
|
||||||
|
transition: all 0.3s cubic-bezier(0.4, 0.01, 0.165, 0.99);
|
||||||
|
transform: scale(0.98) translateY(10px);
|
||||||
|
pointer-events: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.author-list-item .author-card:before {
|
||||||
|
content: "";
|
||||||
|
position: absolute;
|
||||||
|
top: 100%;
|
||||||
|
left: calc(160px - 20px + 6px);
|
||||||
|
display: block;
|
||||||
|
width: 0;
|
||||||
|
height: 0;
|
||||||
|
border-top: 12px solid #fff;
|
||||||
|
border-right: 12px solid transparent;
|
||||||
|
border-left: 12px solid transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
.author-list-item .author-card.hovered {
|
||||||
|
opacity: 1.0;
|
||||||
|
transform: scale(1) translateY(0px);
|
||||||
|
pointer-events: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.author-card .basic-info {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
padding: 30px 20px 20px 20px;
|
||||||
|
color: #fff;
|
||||||
|
background: var(--darkgrey);
|
||||||
|
border-radius: 6px 6px 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.author-card .basic-info h2 {
|
||||||
|
margin: 1em 0 0.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.author-card .bio {
|
||||||
|
padding: 20px 20px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 650px) {
|
||||||
|
.author-list-item .author-card {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.basic-info .author-profile-image {
|
||||||
|
margin: 0;
|
||||||
|
width: 88px;
|
||||||
|
height: 88px;
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.basic-info .avatar-wrapper {
|
||||||
|
position: relative;
|
||||||
|
margin: 0;
|
||||||
|
width: 88px;
|
||||||
|
height: 88px;
|
||||||
|
border: none;
|
||||||
|
background: rgba(229, 239, 245, 0.1);
|
||||||
|
}
|
||||||
|
|
||||||
|
.basic-info .avatar-wrapper svg {
|
||||||
|
margin: 0;
|
||||||
|
width: 88px;
|
||||||
|
height: 88px;
|
||||||
|
opacity: 0.15;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/* 7.3. Comments
|
/* 7.3. Comments
|
||||||
/* ---------------------------------------------------------- */
|
/* ---------------------------------------------------------- */
|
||||||
|
|
||||||
.post-full-comments {
|
.post-full-comments {
|
||||||
max-width: 840px;
|
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
|
max-width: 840px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -1298,8 +1578,9 @@ Usage (In Ghost editor):
|
|||||||
|
|
||||||
.read-next-divider svg {
|
.read-next-divider svg {
|
||||||
width: 40px;
|
width: 40px;
|
||||||
stroke: #fff;
|
|
||||||
fill: transparent;
|
fill: transparent;
|
||||||
|
stroke: #fff;
|
||||||
|
|
||||||
stroke-width: 0.5px;
|
stroke-width: 0.5px;
|
||||||
stroke-opacity: 0.65;
|
stroke-opacity: 0.65;
|
||||||
}
|
}
|
||||||
@ -1317,8 +1598,8 @@ Usage (In Ghost editor):
|
|||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
list-style: none;
|
|
||||||
text-align: center;
|
text-align: center;
|
||||||
|
list-style: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.read-next-card-content li {
|
.read-next-card-content li {
|
||||||
@ -1334,9 +1615,9 @@ Usage (In Ghost editor):
|
|||||||
display: block;
|
display: block;
|
||||||
padding: 20px 0;
|
padding: 20px 0;
|
||||||
border-bottom: rgba(255,255,255,0.3) 1px solid;
|
border-bottom: rgba(255,255,255,0.3) 1px solid;
|
||||||
vertical-align: top;
|
|
||||||
color: #fff;
|
color: #fff;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
|
vertical-align: top;
|
||||||
transition: opacity 0.3s ease;
|
transition: opacity 0.3s ease;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1407,8 +1688,8 @@ Usage (In Ghost editor):
|
|||||||
}
|
}
|
||||||
|
|
||||||
.floating-header-logo img {
|
.floating-header-logo img {
|
||||||
max-height: 20px;
|
|
||||||
margin: 0 10px 0 0;
|
margin: 0 10px 0 0;
|
||||||
|
max-height: 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.floating-header-divider {
|
.floating-header-divider {
|
||||||
@ -1459,9 +1740,9 @@ Usage (In Ghost editor):
|
|||||||
}
|
}
|
||||||
|
|
||||||
.floating-header-share-label svg {
|
.floating-header-share-label svg {
|
||||||
|
margin: 0 5px 0 10px;
|
||||||
width: 18px;
|
width: 18px;
|
||||||
height: 18px;
|
height: 18px;
|
||||||
margin: 0 5px 0 10px;
|
|
||||||
stroke: rgba(0,0,0,0.7);
|
stroke: rgba(0,0,0,0.7);
|
||||||
transform: rotate(90deg);
|
transform: rotate(90deg);
|
||||||
}
|
}
|
||||||
@ -1571,17 +1852,17 @@ Usage (In Ghost editor):
|
|||||||
.site-header-content .author-profile-image {
|
.site-header-content .author-profile-image {
|
||||||
z-index: 10;
|
z-index: 10;
|
||||||
flex-shrink: 0;
|
flex-shrink: 0;
|
||||||
|
margin: 0 0 20px 0;
|
||||||
width: 100px;
|
width: 100px;
|
||||||
height: 100px;
|
height: 100px;
|
||||||
margin: 0 0 20px 0;
|
|
||||||
box-shadow: rgba(255,255,255,0.1) 0 0 0 6px;
|
box-shadow: rgba(255,255,255,0.1) 0 0 0 6px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.site-header-content .author-bio {
|
.site-header-content .author-bio {
|
||||||
z-index: 10;
|
z-index: 10;
|
||||||
flex-shrink: 0;
|
flex-shrink: 0;
|
||||||
max-width: 600px;
|
|
||||||
margin: 5px 0 10px 0;
|
margin: 5px 0 10px 0;
|
||||||
|
max-width: 600px;
|
||||||
font-size: 2rem;
|
font-size: 2rem;
|
||||||
line-height: 1.3em;
|
line-height: 1.3em;
|
||||||
font-weight: 300;
|
font-weight: 300;
|
||||||
@ -1733,8 +2014,8 @@ Usage (In Ghost editor):
|
|||||||
}
|
}
|
||||||
|
|
||||||
.subscribe-overlay-description {
|
.subscribe-overlay-description {
|
||||||
max-width: 650px;
|
|
||||||
margin: 0 auto 50px;
|
margin: 0 auto 50px;
|
||||||
|
max-width: 650px;
|
||||||
font-family: Georgia, serif;
|
font-family: Georgia, serif;
|
||||||
font-size: 3rem;
|
font-size: 3rem;
|
||||||
line-height: 1.3em;
|
line-height: 1.3em;
|
||||||
@ -1746,8 +2027,8 @@ Usage (In Ghost editor):
|
|||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
max-width: 500px;
|
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
|
max-width: 500px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.subscribe-overlay .form-group {
|
.subscribe-overlay .form-group {
|
||||||
@ -1756,8 +2037,8 @@ Usage (In Ghost editor):
|
|||||||
|
|
||||||
.subscribe-overlay .subscribe-email {
|
.subscribe-overlay .subscribe-email {
|
||||||
display: block;
|
display: block;
|
||||||
width: 100%;
|
|
||||||
padding: 14px 20px;
|
padding: 14px 20px;
|
||||||
|
width: 100%;
|
||||||
border: none;
|
border: none;
|
||||||
color: var(--midgrey);
|
color: var(--midgrey);
|
||||||
font-size: 2rem;
|
font-size: 2rem;
|
||||||
@ -1778,9 +2059,9 @@ Usage (In Ghost editor):
|
|||||||
|
|
||||||
.subscribe-overlay button {
|
.subscribe-overlay button {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
height: 52px;
|
|
||||||
margin: 0 0 0 15px;
|
margin: 0 0 0 15px;
|
||||||
padding: 0 25px;
|
padding: 0 25px;
|
||||||
|
height: 52px;
|
||||||
outline: none;
|
outline: none;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
font-size: 1.7rem;
|
font-size: 1.7rem;
|
||||||
@ -1858,15 +2139,15 @@ Usage (In Ghost editor):
|
|||||||
|
|
||||||
.site-footer-content {
|
.site-footer-content {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
flex-wrap: wrap;
|
|
||||||
color: rgba(255,255,255,0.7);
|
color: rgba(255,255,255,0.7);
|
||||||
font-size: 1.3rem;
|
font-size: 1.3rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.site-footer-content a {
|
.site-footer-content a {
|
||||||
color: rgba(255,255,255,0.7);;
|
color: rgba(255,255,255,0.7);
|
||||||
}
|
}
|
||||||
|
|
||||||
.site-footer-content a:hover {
|
.site-footer-content a:hover {
|
||||||
|
@ -1,10 +1,12 @@
|
|||||||
|
/* global maxPages */
|
||||||
|
|
||||||
// Code snippet inspired by https://github.com/douglasrodrigues5/ghost-blog-infinite-scroll
|
// Code snippet inspired by https://github.com/douglasrodrigues5/ghost-blog-infinite-scroll
|
||||||
$(function ($) {
|
$(function ($) {
|
||||||
var currentPage = 1;
|
var currentPage = 1;
|
||||||
var pathname = window.location.pathname;
|
var pathname = window.location.pathname;
|
||||||
var $document = $(document);
|
var $document = $(document);
|
||||||
var $result = $('.post-feed');
|
var $result = $('.post-feed');
|
||||||
var buffer = 100;
|
var buffer = 300;
|
||||||
|
|
||||||
var ticking = false;
|
var ticking = false;
|
||||||
var isLoading = false;
|
var isLoading = false;
|
||||||
@ -13,9 +15,6 @@ $(function ($) {
|
|||||||
var lastWindowHeight = window.innerHeight;
|
var lastWindowHeight = window.innerHeight;
|
||||||
var lastDocumentHeight = $document.height();
|
var lastDocumentHeight = $document.height();
|
||||||
|
|
||||||
// remove hash params from pathname
|
|
||||||
pathname = pathname.replace(/#(.*)$/g, '').replace('/\//g', '/');
|
|
||||||
|
|
||||||
function onScroll() {
|
function onScroll() {
|
||||||
lastScrollY = window.scrollY;
|
lastScrollY = window.scrollY;
|
||||||
requestTick();
|
requestTick();
|
||||||
@ -29,12 +28,34 @@ $(function ($) {
|
|||||||
|
|
||||||
function requestTick() {
|
function requestTick() {
|
||||||
if (!ticking) {
|
if (!ticking) {
|
||||||
requestAnimationFrame(infiniteScroll)
|
requestAnimationFrame(infiniteScroll);
|
||||||
}
|
}
|
||||||
ticking = true;
|
ticking = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
function infiniteScroll () {
|
function sanitizePathname(path) {
|
||||||
|
var paginationRegex = /(?:page\/)(\d)(?:\/)$/i;
|
||||||
|
|
||||||
|
// remove hash params from path
|
||||||
|
path = path.replace(/#(.*)$/g, '').replace('////g', '/');
|
||||||
|
|
||||||
|
// remove pagination from the path and replace the current pages
|
||||||
|
// with the actual requested page. E. g. `/page/3/` indicates that
|
||||||
|
// the user actually requested page 3, so we should request page 4
|
||||||
|
// next, unless it's the last page already.
|
||||||
|
if (path.match(paginationRegex)) {
|
||||||
|
currentPage = parseInt(path.match(paginationRegex)[1]);
|
||||||
|
|
||||||
|
path = path.replace(paginationRegex, '');
|
||||||
|
}
|
||||||
|
|
||||||
|
return path;
|
||||||
|
}
|
||||||
|
|
||||||
|
function infiniteScroll() {
|
||||||
|
// sanitize the pathname from possible pagination or hash params
|
||||||
|
pathname = sanitizePathname(pathname);
|
||||||
|
|
||||||
// return if already loading
|
// return if already loading
|
||||||
if (isLoading) {
|
if (isLoading) {
|
||||||
return;
|
return;
|
||||||
@ -46,29 +67,40 @@ $(function ($) {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// return if currentPage is the last page already
|
/**
|
||||||
if (currentPage === maxPages) {
|
* maxPages is defined in default.hbs and is the value
|
||||||
|
* of the amount of pagination pages.
|
||||||
|
* If we reached the last page or are past it,
|
||||||
|
* we return and disable the listeners.
|
||||||
|
*/
|
||||||
|
if (currentPage >= maxPages) {
|
||||||
|
window.removeEventListener('scroll', onScroll, {passive: true});
|
||||||
|
window.removeEventListener('resize', onResize);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
isLoading = true;
|
isLoading = true;
|
||||||
|
|
||||||
// next page
|
// next page
|
||||||
currentPage++;
|
currentPage += 1;
|
||||||
|
|
||||||
// Load more
|
// Load more
|
||||||
var nextPage = pathname + 'page/' + currentPage + '/';
|
var nextPage = pathname + 'page/' + currentPage + '/';
|
||||||
|
|
||||||
$.get(nextPage, function (content) {
|
$.get(nextPage, function (content) {
|
||||||
$result.append($(content).find('.post').hide().fadeIn(100));
|
var parse = document.createRange().createContextualFragment(content);
|
||||||
|
var posts = parse.querySelectorAll('.post');
|
||||||
|
if (posts.length) {
|
||||||
|
[].forEach.call(posts, function (post) {
|
||||||
|
$result[0].appendChild(post);
|
||||||
|
});
|
||||||
|
}
|
||||||
}).fail(function (xhr) {
|
}).fail(function (xhr) {
|
||||||
// 404 indicates we've run out of pages
|
// 404 indicates we've run out of pages
|
||||||
if (xhr.status === 404) {
|
if (xhr.status === 404) {
|
||||||
window.removeEventListener('scroll', onScroll, {passive: true});
|
window.removeEventListener('scroll', onScroll, {passive: true});
|
||||||
window.removeEventListener('resize', onResize);
|
window.removeEventListener('resize', onResize);
|
||||||
}
|
}
|
||||||
|
|
||||||
}).always(function () {
|
}).always(function () {
|
||||||
lastDocumentHeight = $document.height();
|
lastDocumentHeight = $document.height();
|
||||||
isLoading = false;
|
isLoading = false;
|
||||||
|
@ -30,7 +30,7 @@
|
|||||||
{{#if facebook}}
|
{{#if facebook}}
|
||||||
<a class="social-link social-link-fb" href="{{facebook_url}}" target="_blank" rel="noopener">{{> "icons/facebook"}}</a>
|
<a class="social-link social-link-fb" href="{{facebook_url}}" target="_blank" rel="noopener">{{> "icons/facebook"}}</a>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
<a class="social-link social-link-rss" href="http://cloud.feedly.com/#subscription/feed/{{url absolute="true"}}/rss/" target="_blank" rel="noopener">{{> "icons/rss"}}</a>
|
<a class="social-link social-link-rss" href="https://feedly.com/i/subscription/feed/{{url absolute="true"}}rss/" target="_blank" rel="noopener">{{> "icons/rss"}}</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html>
|
<html lang="{{lang}}">
|
||||||
<head>
|
<head>
|
||||||
|
|
||||||
{{!-- Document Settings --}}
|
{{!-- Document Settings --}}
|
||||||
@ -65,6 +65,9 @@
|
|||||||
|
|
||||||
{{#if pagination.pages}}
|
{{#if pagination.pages}}
|
||||||
<script>
|
<script>
|
||||||
|
// maxPages is a global variable that is needed to determine
|
||||||
|
// if we need to load more pages for the infinitescroll, or if
|
||||||
|
// we reached the last page already.
|
||||||
var maxPages = parseInt('{{pagination.pages}}');
|
var maxPages = parseInt('{{pagination.pages}}');
|
||||||
</script>
|
</script>
|
||||||
<script src="{{asset "js/infinitescroll.js"}}"></script>
|
<script src="{{asset "js/infinitescroll.js"}}"></script>
|
||||||
|
@ -3,7 +3,6 @@ var gulp = require('gulp');
|
|||||||
// gulp plugins and utils
|
// gulp plugins and utils
|
||||||
var gutil = require('gulp-util');
|
var gutil = require('gulp-util');
|
||||||
var livereload = require('gulp-livereload');
|
var livereload = require('gulp-livereload');
|
||||||
var nodemon = require('gulp-nodemon');
|
|
||||||
var postcss = require('gulp-postcss');
|
var postcss = require('gulp-postcss');
|
||||||
var sourcemaps = require('gulp-sourcemaps');
|
var sourcemaps = require('gulp-sourcemaps');
|
||||||
var zip = require('gulp-zip');
|
var zip = require('gulp-zip');
|
||||||
@ -51,7 +50,7 @@ gulp.task('watch', function () {
|
|||||||
gulp.watch('assets/css/**', ['css']);
|
gulp.watch('assets/css/**', ['css']);
|
||||||
});
|
});
|
||||||
|
|
||||||
gulp.task('zip', ['css'], function() {
|
gulp.task('zip', ['css'], function () {
|
||||||
var targetDir = 'dist/';
|
var targetDir = 'dist/';
|
||||||
var themeName = require('./package.json').name;
|
var themeName = require('./package.json').name;
|
||||||
var filename = themeName + '.zip';
|
var filename = themeName + '.zip';
|
||||||
@ -59,8 +58,7 @@ gulp.task('zip', ['css'], function() {
|
|||||||
return gulp.src([
|
return gulp.src([
|
||||||
'**',
|
'**',
|
||||||
'!node_modules', '!node_modules/**',
|
'!node_modules', '!node_modules/**',
|
||||||
'!dist', '!dist/**',
|
'!dist', '!dist/**'
|
||||||
'!assets/css', '!assets/css/**',
|
|
||||||
])
|
])
|
||||||
.pipe(zip(filename))
|
.pipe(zip(filename))
|
||||||
.pipe(gulp.dest(targetDir));
|
.pipe(gulp.dest(targetDir));
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
"name": "casper",
|
"name": "casper",
|
||||||
"description": "The default personal blogging theme for Ghost. Beautiful, minimal and responsive.",
|
"description": "The default personal blogging theme for Ghost. Beautiful, minimal and responsive.",
|
||||||
"demo": "https://demo.ghost.io",
|
"demo": "https://demo.ghost.io",
|
||||||
"version": "2.1.5",
|
"version": "2.2.0",
|
||||||
"engines": {
|
"engines": {
|
||||||
"ghost": ">=1.2.0"
|
"ghost": ">=1.2.0"
|
||||||
},
|
},
|
||||||
@ -11,6 +11,10 @@
|
|||||||
"desktop": "assets/screenshot-desktop.jpg",
|
"desktop": "assets/screenshot-desktop.jpg",
|
||||||
"mobile": "assets/screenshot-mobile.jpg"
|
"mobile": "assets/screenshot-mobile.jpg"
|
||||||
},
|
},
|
||||||
|
"scripts": {
|
||||||
|
"dev": "gulp",
|
||||||
|
"zip": "gulp zip"
|
||||||
|
},
|
||||||
"author": {
|
"author": {
|
||||||
"name": "Ghost Foundation",
|
"name": "Ghost Foundation",
|
||||||
"email": "hello@ghost.org",
|
"email": "hello@ghost.org",
|
||||||
@ -38,7 +42,6 @@
|
|||||||
"cssnano": "3.7.1",
|
"cssnano": "3.7.1",
|
||||||
"gulp": "3.9.1",
|
"gulp": "3.9.1",
|
||||||
"gulp-livereload": "3.8.1",
|
"gulp-livereload": "3.8.1",
|
||||||
"gulp-nodemon": "2.1.0",
|
|
||||||
"gulp-postcss": "6.1.1",
|
"gulp-postcss": "6.1.1",
|
||||||
"gulp-sourcemaps": "1.6.0",
|
"gulp-sourcemaps": "1.6.0",
|
||||||
"gulp-util": "3.0.7",
|
"gulp-util": "3.0.7",
|
||||||
|
1
partials/icons/avatar.hbs
Normal file
1
partials/icons/avatar.hbs
Normal file
@ -0,0 +1 @@
|
|||||||
|
<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><path d="M3.513 18.998C4.749 15.504 8.082 13 12 13s7.251 2.504 8.487 5.998C18.47 21.442 15.417 23 12 23s-6.47-1.558-8.487-4.002zM12 12c2.21 0 4-2.79 4-5s-1.79-4-4-4-4 1.79-4 4 1.79 5 4 5z" fill="#FFF"/></g></svg>
|
After Width: | Height: | Size: 308 B |
@ -17,10 +17,26 @@
|
|||||||
</section>
|
</section>
|
||||||
</a>
|
</a>
|
||||||
<footer class="post-card-meta">
|
<footer class="post-card-meta">
|
||||||
{{#if author.profile_image}}
|
|
||||||
<img class="author-profile-image" src="{{author.profile_image}}" alt="{{author.name}}" />
|
<ul class="author-list">
|
||||||
{{/if}}
|
{{#foreach authors}}
|
||||||
<span class="post-card-author">{{author}}</span>
|
<li class="author-list-item">
|
||||||
|
|
||||||
|
<div class="author-name-tooltip">
|
||||||
|
{{name}}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{#if profile_image}}
|
||||||
|
<span class="profile-image-wrapper"><img class="author-profile-image" src="{{profile_image}}" alt="{{name}}" /></span>
|
||||||
|
{{else}}
|
||||||
|
<span class="avatar-wrapper">{{> "icons/avatar"}}</span>
|
||||||
|
{{/if}}
|
||||||
|
</li>
|
||||||
|
{{/foreach}}
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<span class="reading-time">{{reading_time}}</span>
|
||||||
|
|
||||||
</footer>
|
</footer>
|
||||||
</div>
|
</div>
|
||||||
</article>
|
</article>
|
||||||
|
@ -23,7 +23,7 @@
|
|||||||
{{#if @labs.subscribers}}
|
{{#if @labs.subscribers}}
|
||||||
<a class="subscribe-button" href="#subscribe">Subscribe</a>
|
<a class="subscribe-button" href="#subscribe">Subscribe</a>
|
||||||
{{else}}
|
{{else}}
|
||||||
<a class="rss-button" href="http://cloud.feedly.com/#subscription/feed/{{@blog.url}}/rss/" target="_blank" rel="noopener">{{> "icons/rss"}}</a>
|
<a class="rss-button" href="https://feedly.com/i/subscription/feed/{{@blog.url}}/rss/" target="_blank" rel="noopener">{{> "icons/rss"}}</a>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
|
141
post.hbs
141
post.hbs
@ -46,27 +46,81 @@ into the {body} of the default.hbs template --}}
|
|||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
<footer class="post-full-footer">
|
<footer class="post-full-footer">
|
||||||
{{!-- Everything inside the #author tags pulls data from the author --}}
|
|
||||||
{{#author}}
|
|
||||||
|
|
||||||
<section class="author-card">
|
{{!-- If there are multiple authors for the post, display all of their avatars in a stack --}}
|
||||||
{{#if profile_image}}
|
{{#has author="count:>1"}}
|
||||||
<img class="author-profile-image" src="{{profile_image}}" alt="{{name}}" />
|
|
||||||
{{/if}}
|
<section class="post-full-authors">
|
||||||
<section class="author-card-content">
|
|
||||||
<h4 class="author-card-name"><a href="{{url}}">{{name}}</a></h4>
|
<div class="post-full-authors-content">
|
||||||
{{#if bio}}
|
<p>This post was a collaboration between</p>
|
||||||
<p>{{bio}}</p>
|
<p>{{authors}}</p>
|
||||||
{{else}}
|
</div>
|
||||||
<p>Read <a href="{{url}}">more posts</a> by this author.</p>
|
|
||||||
{{/if}}
|
<ul class="author-list">
|
||||||
|
{{#foreach authors}}
|
||||||
|
<li class="author-list-item">
|
||||||
|
|
||||||
|
<div class="author-card">
|
||||||
|
<div class="basic-info">
|
||||||
|
{{#if profile_image}}
|
||||||
|
<img class="author-profile-image" src="{{profile_image}}" alt="{{name}}" />
|
||||||
|
{{else}}
|
||||||
|
<span class="avatar-wrapper">{{> "icons/avatar"}}</span>
|
||||||
|
{{/if}}
|
||||||
|
<h2>{{name}}</h2>
|
||||||
|
</div>
|
||||||
|
<div class="bio">
|
||||||
|
{{#if bio}}
|
||||||
|
<p>{{bio}}</p>
|
||||||
|
<p><a href="{{url}}">More posts</a> by {{name}}.</p>
|
||||||
|
{{else}}
|
||||||
|
<p>Read <a href="{{url}}">more posts</a> by this author.</p>
|
||||||
|
{{/if}}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{#if profile_image}}
|
||||||
|
<a href="{{url}}" class="moving-avatar"><img class="author-profile-image" src="{{profile_image}}" alt="{{name}}" /></a>
|
||||||
|
{{else}}
|
||||||
|
<a href="{{url}}" class="moving-avatar"><span class="avatar-wrapper">{{> "icons/avatar"}}</span></a>
|
||||||
|
{{/if}}
|
||||||
|
|
||||||
|
</li>
|
||||||
|
{{/foreach}}
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
</section>
|
|
||||||
<div class="post-full-footer-right">
|
|
||||||
<a class="author-card-button" href="{{url}}">Read More</a>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
{{/author}}
|
{{!-- If there is a single author for the post, display her/his information --}}
|
||||||
|
{{else}}
|
||||||
|
|
||||||
|
{{!-- Everything inside the #author tags pulls data from the author --}}
|
||||||
|
{{#author}}
|
||||||
|
|
||||||
|
<section class="author-card">
|
||||||
|
{{#if profile_image}}
|
||||||
|
<img class="author-profile-image" src="{{profile_image}}" alt="{{name}}" />
|
||||||
|
{{else}}
|
||||||
|
<span class="avatar-wrapper">{{> "icons/avatar"}}</span>
|
||||||
|
{{/if}}
|
||||||
|
<section class="author-card-content">
|
||||||
|
<h4 class="author-card-name"><a href="{{url}}">{{name}}</a></h4>
|
||||||
|
{{#if bio}}
|
||||||
|
<p>{{bio}}</p>
|
||||||
|
{{else}}
|
||||||
|
<p>Read <a href="{{url}}">more posts</a> by this author.</p>
|
||||||
|
{{/if}}
|
||||||
|
</section>
|
||||||
|
</section>
|
||||||
|
<div class="post-full-footer-right">
|
||||||
|
<a class="author-card-button" href="{{url}}">Read More</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{/author}}
|
||||||
|
{{/has}}
|
||||||
|
|
||||||
</footer>
|
</footer>
|
||||||
|
|
||||||
{{!--
|
{{!--
|
||||||
@ -216,6 +270,57 @@ $(document).ready(function () {
|
|||||||
window.addEventListener('resize', onResize, false);
|
window.addEventListener('resize', onResize, false);
|
||||||
|
|
||||||
update();
|
update();
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
// Adds delay to author card dropups to disappear. This gives enough
|
||||||
|
// time for the user to interact with the author card while they move
|
||||||
|
// the mouse from the avatar to the card. Also makes space for the
|
||||||
|
// interacted avatar.
|
||||||
|
$(document).ready(function () {
|
||||||
|
|
||||||
|
var hoverTimeout;
|
||||||
|
var direction = 'left';
|
||||||
|
|
||||||
|
$('.author-list-item:first-child').addClass('first-child');
|
||||||
|
|
||||||
|
function makeSpaceForAvatar(avatar) {
|
||||||
|
if (avatar.hasClass('first-child')) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
$('.author-list-item').each(function(i, obj) {
|
||||||
|
|
||||||
|
if ($(this)[0] != avatar[0]) {
|
||||||
|
if (Number($(this).css('z-index')) > Number(avatar.css('z-index'))) {
|
||||||
|
$(this).children('.moving-avatar').addClass('left');
|
||||||
|
} else {
|
||||||
|
$(this).children('.moving-avatar').addClass('right');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
$('.author-list-item').hover(function(){
|
||||||
|
var $this = $(this);
|
||||||
|
|
||||||
|
clearTimeout(hoverTimeout);
|
||||||
|
|
||||||
|
$('.author-card').removeClass('hovered');
|
||||||
|
$(this).children('.author-card').addClass('hovered');
|
||||||
|
|
||||||
|
makeSpaceForAvatar($this);
|
||||||
|
}, function() {
|
||||||
|
var $this = $(this);
|
||||||
|
|
||||||
|
$('.author-list-item').children('.moving-avatar').removeClass('left right');
|
||||||
|
|
||||||
|
hoverTimeout = setTimeout(function() {
|
||||||
|
$this.children('.author-card').removeClass('hovered');
|
||||||
|
}, 800);
|
||||||
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
{{/contentFor}}
|
{{/contentFor}}
|
||||||
|
Reference in New Issue
Block a user