Merge branch 'version/v1.1'

This commit is contained in:
FarseaSH 2023-12-23 17:51:44 +08:00
commit b9e0043d68
10 changed files with 496 additions and 342 deletions

View file

@ -1,8 +1,8 @@
<h1 align=center>Hugo 主题 Moments | <a href="https://farseash.github.io/demo-hugo-theme-moments/moments-zh">Demo</a></h1>
<h1 align=center>Hugo 主题 Moments | <a href="https://farseash.github.io/demo-hugo-theme-moments">Demo</a></h1>
</br>
Moments是一款专门为短博文设计的Hugo主题(插入链接)。开发初衷是在微信朋友圈之外做一个纯粹写给自己的,独立的短文/动态空间,去记录生活点滴,个人思绪,发现与想法。后面发现Moments的使用对象不仅仅可以是自己,还可以是一群人,你可以为是朋友、团队,亦或情侣搭建一个专有的Moments空间。
Moments是一款专门为短博文设计的[Hugo](https://gohugo.io/)主题。开发初衷是在微信朋友圈之外做一个纯粹写给自己的,独立的短文/动态空间,去记录生活点滴,个人思绪,发现与想法。后面发现Moments的使用对象不仅仅可以是自己,还可以是一群人,你可以为是朋友、团队,亦或情侣搭建一个专有的Moments空间。
Moments is a hugo theme designed for micro-blogging. The original intention is to create a personal space for sharing daily life, thoughts, discoveries & ideas, outside Wechat. Later on, it came to my mind that Moments can be a sharing space not only for a single individual, but also for friends, teams or even couples.

View file

@ -0,0 +1,338 @@
// helper class & functional class
.center{
display: flex;
justify-content: center;
}
// style for main framework
body{
background-color: #f5f5f5;
}
.pure-g [class*=pure-u]{
font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji" !important;
font-weight: normal;
font-size: 16px;
line-height: 24px;
color: rgb(33, 37, 41);
}
.page{
max-width: 1150px;
margin: auto;
background-color: white;
}
.container{
max-width: 760px;
margin: auto;
}
.moment-content{
position: relative;
}
.moment-row{
margin-bottom: 20px;
}
@media (min-width:1150px) {
.page{
margin-top: 50px;
}
}
@media (max-width: 720px) {
.moment-row{
margin-bottom: 20px;
}
.container{
padding-left: 10px;
padding-right: 10px;
}
}
p{
margin-top: 0;
}
/* START - top cover part */
.jumbotron{
padding-top: 64px;
background-position: center;
background-size: cover;
min-height: 200px;
text-align: center;
margin-bottom: 30px;
.site-title{
color: rgb(108, 117, 125);
font-size: 56px;
font-weight: 300;
margin-bottom: 20px;
}
.signature{
color: rgba(0, 0, 0, 0.5);
font-size: 20px;
font-weight: 300;
}
}
/* END - top cover part */
/* START - pagination */
// todo replace this part
$dark-blue: #21365c;
$blue: #3A6bA5;
$gray: #919EB1;
.pagination{
display: flex;
margin-top: 20px;
margin-bottom: 30px;
.page-item{
padding-left: 15px;
padding-right: 15px;
padding-top: 10px;
padding-bottom: 10px;
&.active{
background-color: $blue;
color: #ffffff;
}
&.disabled{
color: $gray;
}
}
a{
color: $dark-blue;
text-decoration: none;
}
.page-link .page-item:hover{
background-color: #f5f5f5;
}
}
/* END - pagination */
/* START - time */
.time{
text-align: right;
padding-right: 60px;
/* white-space: nowrap; */
font-weight: 300;
margin-bottom: 20px;
.month-day{
font-size: 24px;
margin-bottom: 10px;
}
.year{
font-size: 16px;
}
}
@media (max-width: 576px){
.time{
text-align: center;
padding-right: 15px;
}
}
@media (max-width: 720px) and (min-width:576px){
.time{
padding-right: 20px;
}
}
/* END - time */
/* START - user name, avatar & tags */
.user-info{
display: flex;
.avatar{
max-height: 45px;
float: left;
margin-bottom: 10px;
}
.intro{
float: left;
padding-left: 5px;
.name{
color:#186D9C!important;
margin-bottom: 0;
line-height: 1.1;
font-size: 24px;
}
.tag{
font-size: 80%;
margin-left: 0px;
margin-right: 10px;
color: #6c757d!important;
&::before{
content:"#";
padding-right: 1px;
}
}
}
}
/* END - user name, avatar & tags */
/* START - for the main content */
.context{
clear: left;
margin-bottom: 10px;
}
.single-pic{
max-width: 65%;
max-height: 250px;
padding-bottom:10px;
margin-top: 5px;
}
// pic set
.pic-grid{
max-width: 80%;
.img-container{
padding-top: 50%;
padding-bottom: 50%;
position: relative;
height: 0px;
}
img{
object-fit: cover;
height: 100%;
width: 100%;
position: absolute;
top: 0
}
.add-padding{
padding: 2.5px;
}
}
/* for links */
.share-link-block{
padding-bottom:10px;
padding-top:10px;
margin-bottom:10px;
background: #f7f7f7;
.link-table{
margin-left: 10%;
max-width: 80%;
}
.link-logo{
max-width: 50px;
max-height: 50px;
}
a{
color:#17a2b8;
word-wrap: break-word;
text-decoration: none;
}
}
.bilibili-video {
position: relative;
max-width: 85%;
height: 0;
padding-bottom: 45%;
margin-bottom: 10px;
iframe {
position: absolute;
width: 100%;
height: 100%;
left: 0;
top: 0;
}
}
// for the note info
.moment-note{
display: flex;
margin-bottom: 10px;
justify-content: space-between;
margin-right: 5px;
color:#808080;
.note{
font-size: 80%;
text-indent: 20px;
color: rgba(0, 0, 0, 0.5);
margin-top: 0;
margin-bottom: 0;
}
}
// hr
hr {
margin-top: 20px;
border-width: 0;
border-top: 1px solid;
border-color: rgba(0, 0, 0, 0.1);
max-width: 75%;
clear: both
}
/* END - for the main content */
/* START - footer*/
.footer {
padding-top: 20px;
padding-bottom: 30px;
background-color: #f5f5f5;
color: #6c757d !important;
text-align: center;
font-size: 95%;
a{
text-decoration: underline !important;
color:#6c757d !important;
}
}
/* END - footer*/
/* back-to-top button */
#back-top-button {
display: none;
position: fixed;
bottom: 20px;
right: 30px;
z-index: 99;
border: none;
outline: none;
background-color: #d1d1d1; /* Set a background color */
color: #2157ad; /* Text color */
opacity: 0.85;
cursor: pointer; /* Add a mouse pointer on hover */
padding: 12px;
border-radius: 10px;
font-size: 20px;
}

View file

@ -12,11 +12,11 @@
{{ $paginator := .Paginate ((where $.Site.RegularPages "Section" .Section ).ByParam "top") }}
{{ if $paginator.HasPrev }}
<li class="page-item">
<a class="page-link" href="{{$.Site.BaseURL}}/{{sub $paginator.PageNumber 1 }}" tabindex="-1">Previous</a>
<a class="page-link" href="{{$.Site.BaseURL}}/{{sub $paginator.PageNumber 1 }}" tabindex="-1">< Prev</a>
</li>
{{ else }}
<li class="page-item disabled">
<a class="page-link" href="{{$.Site.BaseURL}}/{{sub $paginator.PageNumber 1 }}" tabindex="-1">Previous</a>
<a class="page-link" href="{{$.Site.BaseURL}}/{{sub $paginator.PageNumber 1 }}" tabindex="-1">< Prev</a>
</li>
{{ end }}
@ -31,11 +31,11 @@
{{ if $paginator.HasNext }}
<li class="page-item">
<a class="page-link" href="{{$.Site.BaseURL}}/{{ add $paginator.PageNumber 1 }}">Next</a>
<a class="page-link" href="{{$.Site.BaseURL}}/{{ add $paginator.PageNumber 1 }}">Next ></a>
</li>
{{ else }}
<li class="page-item disabled">
<a class="page-link" href="{{$.Site.BaseURL}}/{{ add $paginator.PageNumber 1 }}">Next</a>
<a class="page-link" href="{{$.Site.BaseURL}}/{{ add $paginator.PageNumber 1 }}">Next ></a>
</li>
{{ end }}
{{ end }}

View file

@ -11,12 +11,11 @@
{{ define "pagination" }}
{{ $paginator := .Paginate ((where .Site.RegularPages "Section" "moments").ByParam "top") }}
{{ if $paginator.HasPrev }}
<a class="page-link" href="{{$.Site.BaseURL}}/{{sub $paginator.PageNumber 1 }}">
<div class="page-item">Previous</div>
</a>
<a class="page-link" href="{{$.Site.BaseURL}}/{{sub $paginator.PageNumber 1 }}">
<div class="page-item">< Prev</div>
</a>
{{ else }}
<div class="page-item disabled">Previous</div>
<div class="page-item disabled">< Prev</div>
{{ end }}
{{ $current_num := $paginator.PageNumber }}
@ -29,10 +28,10 @@
{{end}}
{{ if $paginator.HasNext }}
<a class="page-link" href="{{$.Site.BaseURL}}/{{ add $paginator.PageNumber 1 }}">
<div class="page-item">Next</div>
</a>
<a class="page-link" href="{{$.Site.BaseURL}}/{{ add $paginator.PageNumber 1 }}">
<div class="page-item">Next ></div>
</a>
{{ else }}
<div class="page-item disabled">Next</div>
<div class="page-item disabled">Next ></div>
{{ end }}
{{ end }}

View file

@ -13,3 +13,37 @@
<!-- fancybox -->
<script src="https://cdn.jsdelivr.net/npm/@fancyapps/ui/dist/fancybox.umd.js"></script>
{{/* a pangu support */}}
{{ if .Site.Params.features.pangu }}
<!-- pangu.js -->
<script>
pangu.spacingElementByClassName('moment-note');
pangu.spacingElementByClassName('context');
document.addEventListener('DOMContentLoaded', () => {
// listen to any DOM change and automatically perform spacing via MutationObserver()
pangu.autoSpacingPage();
});
</script>
{{ end }}
{{/* back-top- button */}}
<button id="back-top-button"><i class="fas fa-chevron-up"></i></button>
<script>
window.onscroll = function() {scrollFunction()};
function scrollFunction() {
if (document.body.scrollTop > 30 || document.documentElement.scrollTop > 30) {
$("#back-top-button").fadeIn();
} else {
$("#back-top-button").fadeOut();
}
}
$( "#back-top-button" ).click(function() {
$("html, body").animate({scrollTop: 0}, 500);
});
</script>

View file

@ -1,13 +1,15 @@
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">
{{/*
<!-- <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"></script> -->
*/}}
<!-- todo change jquery -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://unpkg.com/jquery@3.3.1/dist/jquery.min.js"></script>
<!-- 点赞 -->
<!-- like button -->
<link href="https://cdn.bootcss.com/font-awesome/5.8.2/css/all.min.css" rel="stylesheet">
<script src="https://cdn.bootcss.com/jqueryui/1.12.1/jquery-ui.min.js"></script>
@ -31,7 +33,8 @@
<meta name="theme-color" content="#ffffff">
<!-- the Moments style css file -->
<link rel="stylesheet" type="text/css" href="{{.Site.BaseURL}}/css/style.css">
{{ $style := resources.Get "style-refractored.scss" | resources.ToCSS | resources.Minify | resources.Fingerprint }}
<link rel="stylesheet" href="{{ $style.Permalink }}">
<!-- fancybox css (js in the end before the body closing tag) -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fancyapps/ui/dist/fancybox.css"/>
@ -41,5 +44,12 @@
<link rel="stylesheet" href="https://unpkg.com/purecss@2.0.6/build/grids-min.css">
<link rel="stylesheet" href="https://unpkg.com/purecss@2.0.6/build/grids-responsive-min.css">
{{/* pangu support: js in the end before the body closing tag */}}
{{ if .Site.Params.features.pangu }}
<!-- pangu support -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/pangu/4.0.7/pangu.min.js"></script>
{{ end }}
<!-- website title -->
<title>{{ .Site.Params.title }}</title>
<title>{{ .Site.Params.title }}</title>

View file

@ -1,25 +1,57 @@
{{/* BEGIN parse the input parameter */}}
{{/* PART 1 default link */}}
{{ $resource_type := "link" }}
{{ $logo_file := "default_link_logo.png" }}
{{/* 1.1 Wechat articles */}}
{{ if eq 1 (len (findRE `(https?://)?mp\.weixin\.qq\.com([-a-zA-Z0-9()@:%\+.~#?&/=_]*)` .a)) }}
{{ $logo_file = "wechat.png"}}
{{ end }}
{{/* 1.2 Bilibili webpage */}}
{{ if eq 1 (len (findRE `(https?://)?(www\.)?bilibili\.com/video/([-a-zA-Z0-9()@:%\+.~#?&/=_]*)` .a)) }}
{{ $logo_file = "bilibili.png"}}
{{ end }}
{{/* 1.3 github repo */}}
{{ if eq 1 (len (findRE `(https?://)?(www\.)?github\.com([-a-zA-Z0-9()@:%\+.~#?&/=_]*)` .a)) }}
{{ $logo_file = "github.png"}}
{{ end }}
{{/* 1.4.1 zhihu answers */}}
{{ if eq 1 (len (findRE `(https?://)?(www\.)?zhihu\.com/question/([0-9]*)/answer/[0-9]*` .a)) }}
{{ $logo_file = "zhihu.svg"}}
{{ end }}
{{/* 1.4.2 zhihu articles */}}
{{ if eq 1 (len (findRE `(https?://)?zhuanlan\.zhihu\.com/p/([0-9]*)` .a)) }}
{{ $logo_file = "zhihu.svg"}}
{{ end }}
{{/* PART 2 other link type */}}
{{/* 2.1 netease music */}}
{{ $netease_music_song_id := "0" }}
{{ if eq 1 (len (findRE `(https?://)?music\.163\.com/song\?id=([0-9]*)([-a-zA-Z0-9()@:%\+.~#?&/=_]*)` .a)) }}
{{ $resource_type = "netease_music" }}
{{ $netease_music_song_id = replaceRE `(https?://)?music\.163\.com/song\?id=([0-9]*)([-a-zA-Z0-9()@:%\+.~#?&/=_]*)` "$2" .a }}
{{ end }}
{{/* 2.2 bilibili video */}}
{{ $bilibili_video_url := "0" }}
{{ if eq 1 (len (findRE `(https?://)?player\.bilibili\.com/player\.html.*` .a)) }}
{{ $resource_type = "bilibili_video" }}
{{ $bilibili_video_url = .a }}
{{ end }}
{{ if eq 1 (len (findRE `<iframe src="(//player\.bilibili.com/player\.html\?aid=.*&bvid=.*&cid=.*&page=1)" scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="true"> </iframe>` .a)) }}
{{ $resource_type = "bilibili_video" }}
{{ $bilibili_video_url = replaceRE `<iframe src="(//player\.bilibili.com/player\.html\?aid=.*&bvid=.*&cid=.*&page=1)" scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="true"> </iframe>` "$1" .a }}
{{ end }}
{{/* BEGIN generate output */}}
{{/* PART 1 default link */}}
{{ if eq "link" $resource_type }}
<div class="share-link-block">
<table class="link-table">
<tr>
@ -32,8 +64,23 @@
{{ end }}
</td>
<td style="padding-left: 20px">
<a href="{{ .a }}">{{.word}}</a>
<a href="{{ .a }}" target="_blank" rel="noopener noreferrer">{{.word}}</a>
</td>
</tr>
</table>
</div>
</div>
{{ end }}
{{/* PART 2 other link type */}}
{{ if eq "netease_music" $resource_type}}
<iframe
frameborder="no" border="0" marginwidth="0" marginheight="0" width=330 height=86 class="netease_music_player"
src="//music.163.com/outchain/player?type=2&id={{ $netease_music_song_id }}&auto=1&height=66">
</iframe>
{{ end }}
{{ if eq "bilibili_video" $resource_type}}
<div class="bilibili-video">
<iframe src="{{ $bilibili_video_url }}" scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="true"></iframe>
</div>
{{ end }}

View file

@ -1,17 +1,19 @@
<!-- START -->
{{ $num_per_row := 3}}
{{ $max_width := 80}}
{{ if or (eq (len .pic_set) 2) (eq (len .pic_set) 4)}}
{{ $num_per_row = 2}}
{{ $max_width = 53}}
{{ end }}
{{ $caption := .caption}}
<div class="pic-grid" style="width: {{ $max_width }}%">
<div class="pure-g">
{{ range $num, $a := .pic_set }}
<div class="pure-u-1-{{ $num_per_row }}">
<div class="add-padding">
<div class="img-container">
<a data-src="{{ $a }}" data-fancybox="gallery">
<a data-src="{{ $a }}" data-fancybox="gallery" data-caption="{{ $caption }}">
<img src="{{ $a }}" alt="pictures"/>
</a>
</div>

View file

@ -1,7 +1,8 @@
<div class="moment-row">
<div class="pure-g">
<!-- time -->
{{/* time info shown in the left (or above in small screens) */}}
<div class="pure-u-1 pure-u-sm-1-3">
<div class="time">
<div class="month-day">{{ .Date.Format "Jan 2"}}{{ if in (slice 1 21 31) .Date.Day}}st{{ else if in (slice 2 22)
@ -10,23 +11,23 @@
</div>
</div>
<!-- moment-content -->
{{/* moment-main-content */}}
<div class="pure-u-1 pure-u-sm-2-3">
<div class="moment-content">
<!-- top mark -->
{{/* top mark */}}
{{ if gt .Params.top 0}}
<div class="top-mark" style="position: absolute; right: 5%;">
<i class="fas fa-bookmark" style="color: #e76b4f;"></i>
</div>
{{ end }}
<!-- user info -->
{{/* user info */}}
<div class="user-info">
<div class="avatar-block">
{{ with .Params.avatar }}
<img src='{{ . }}' class="avatar">
{{ else }}
<!-- fixme check whether the default avatar path is url or not-->
{{/* fixme check whether the default avatar path is url or not--> */}}
<img src='{{ $.Site.BaseURL }}/{{ .Site.Params.avatar }}' class="avatar">
{{ end }}
</div>
@ -51,34 +52,17 @@
</div>
</div>
</div>
<div style="padding-left: 5px; padding-right: 5px;">
<!-- content -->
{{/* Main text content */}}
<div class="context">
{{ .Content }}
</div>
<!-- add-on info 1: pictures -->
<!-- single picture (old version)-->
{{ with .Params.pic }}
<img src="{{ . }}" class="single-pic" alt="Responsive image" data-fancybox="gallery"></img>
{{ end }}
<!-- multiple pictures (old version) -->
{{ $pic_set_filtered := slice}}
{{ with .Params.pic_set }}
{{ range . }}
{{ with . }}
{{ $pic_set_filtered = $pic_set_filtered | append . }}
{{ end }}
{{ end }}
{{ end }}
{{ with $pic_set_filtered }}
{{ partial "pic_set.html" (dict "pic_set" .) }}
{{ end }}
<!-- new pictures API (combine single & multiple pictures)-->
{{ $pictures_set:= slice}}
{{/* add-on info 1: pictures */}}
{{/* new pictures API `pictures` (combine single & multiple pictures)*/}}
{{ $pictures_set := slice}}
{{ $picture_caption := .Plain}}
{{ with .Params.pictures }}
{{ range . }}
{{ with . }}
@ -89,31 +73,54 @@
{{ if (eq (len $pictures_set) 1) }}
{{ range $pictures_set }}
<img src="{{ . }}" class="single-pic" alt="Responsive image" data-fancybox="gallery"></img>
<img src="{{ . }}" class="single-pic" alt="Responsive image" data-fancybox="gallery" data-caption={{ $picture_caption }}></img>
{{ end }}
{{ end }}
{{ if (gt (len $pictures_set) 1)}}
{{ partial "pic_set.html" (dict "pic_set" $pictures_set) }}
{{ partial "pic_set.html" (dict "pic_set" $pictures_set "other" $.Site.BaseURL "caption" $picture_caption) }}
{{ end }}
<!-- add-on info 2: link -->
{{/* Probably DEPRECATED in the future: single picture (old version API `pic`)*/}}
{{ with .Params.pic }}
<img src="{{ . }}" class="single-pic" alt="Responsive image" data-fancybox="gallery" data-caption={{ $picture_caption }}></img>
{{ end }}
{{/* Probably DEPRECATED in the future: multiple pictures (old version API `pic_set`) */}}
{{ $pic_set_filtered := slice}}
{{ with .Params.pic_set }}
{{ range . }}
{{ with . }}
{{ $pic_set_filtered = $pic_set_filtered | append . }}
{{ end }}
{{ end }}
{{ end }}
{{ with $pic_set_filtered }}
{{ partial "pic_set.html" (dict "pic_set" . "caption" $picture_caption) }}
{{ end }}
{{/* add-on info 2: hyperlink to other resourse (e.g webpage, Netease music, Bilibili Video) */}}
{{ $link_link := .Params.link }}
{{ $link_logo := .Params.link_logo }}
{{ $link_text := .Params.link_text }}
{{ with .Params.link }}
{{ partial "link-block.html" (dict "logo" $link_logo "a" $link_link "word" $link_text "baseurl"
$.Site.BaseURL)}}
{{ partial "link-block.html" (dict "logo" $link_logo "a" $link_link "word" $link_text "baseurl"
$.Site.BaseURL)}}
{{ end }}
<!-- Note info -->
{{/* Note info shown below the main content */}}
<div class="moment-note">
<p class="note">{{ .Date.Format "15:04" }} {{ .Params.note }}</p>
<div style="padding-right: 12px;"><i class="far fa-heart"></i></div>
</div>
</div>
<hr style="clear: both">
<hr class="seperating_line">
</div>
</div>
</div>

View file

@ -1,283 +0,0 @@
/* 主框架 */
body{
background-color: #f5f5f5;
}
.pure-g [class*=pure-u]{
font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji" !important;
font-weight: normal;
font-size: 16px;
line-height: 24px;
color: rgb(33, 37, 41);
}
p{
margin-top: 0;
}
/* START - top cover part */
.jumbotron{
padding-top: 64px;
background-position: center;
background-size: cover;
min-height: 200px;
text-align: center;
margin-bottom: 30px;
}
.site-title{
color: rgb(108, 117, 125);
font-size: 56px;
font-weight: 300;
margin-bottom: 20px;
}
.signature{
color: rgb(0, 0, 0, 0.5);
font-size: 20px;
font-weight: 300;
}
/* END - top cover part */
/* START - pagination */
.center{
display: flex;
justify-content: center;
}
.pagination{
display: flex;
margin-top: 20px;
margin-bottom: 30px;
}
.pagination a{
color: #337cf6;
text-decoration: none;
}
.page-item{
border: #80808050;
border-style: solid;
border-width: 0.5px;
border-radius: 2%;
padding-left: 10px;
padding-right: 10px;
padding-top: 10px;
padding-bottom: 10px;
}
.page-link .page-item:hover{
background-color: #eaecef;
color: #2157ad;
}
.page-item.active{
background-color: #337cf6;
color: #ffffff;
}
.page-item.disabled{
color:rgb(108, 117, 125)
}
/* END - pagination */
.page{
max-width: 1150px;
margin: auto;
background-color: white;
}
@media (min-width:1150px) {
.page{
margin-top: 50px;
}
}
.container{
max-width: 760px;
margin: auto;
}
.moment-content {
position: relative;
}
@media (max-width: 720px) {
.moment-row{
margin-bottom: 20px;
}
.container{
padding-left: 10px;
padding-right: 10px;
}
}
/* START - time */
.time{
text-align: right;
padding-right: 60px;
/* white-space: nowrap; */
font-weight: 300;
margin-bottom: 20px;
}
@media (max-width: 576px){
.time{
text-align: center;
padding-right: 15px;
}
}
@media (max-width: 720px) and (min-width:576px){
.time{
padding-right: 20px;
}
}
.time .month-day{
font-size: 24px;
margin-bottom: 10px;
}
.time .year{
font-size: 16px;
}
/* END - time */
/* 抬头 */
.user-info{
display: flex;
}
.avatar{
max-height: 45px;
float: left;
margin-bottom: 10px;
}
.intro{
float: left;
padding-left: 5px;
}
.name{
color:#186D9C!important;
margin-bottom: 0;
line-height: 1.1;
font-size: 24px;
}
.tag::before{
content:"#";
padding-right: 1px;
}
.tag{
font-size: 80%;
margin-left: 0px;
margin-right: 10px;
color: #6c757d!important;
}
/* 正文 */
.context{
clear: left;
margin-bottom: 10px;
}
/* 图片 */
.single-pic{
max-width: 65%;
max-height: 250px;
padding-bottom:10px;
margin-top: 5px;
}
/* 图片集 */
.pic-grid{
max-width: 80%;
}
.pic-grid .img-container{
padding-top: 50%;
padding-bottom: 50%;
position: relative;
height: 0px;
}
.pic-grid img{
object-fit: cover;
height: 100%;
width: 100%;
position: absolute;
top: 0
}
.pic-grid .add-padding{
padding: 2.5px;
}
/* 内容附带的超链接 */
.share-link-block{
padding-bottom:10px;
padding-top:10px;
margin-bottom:10px;
background: #f7f7f7;
}
.link-table{
margin-left: 10%;
max-width: 80%;
}
.link-logo{
max-width: 50px;
max-height: 50px;
}
.share-link-block a{
color:#17a2b8;
word-wrap: break-word;
text-decoration: none;
}
/* 附注信息 */
.moment-note{
display: flex;
margin-bottom: 10px;
justify-content: space-between;
}
.moment-note .note{
font-size: 80%;
text-indent: 20px;
color: rgb(0, 0, 0, 0.5);
margin-top: 0;
margin-bottom: 0;
}
.moment-note{
margin-right: 5px;
color:#808080
}
/* hr */
hr {
border-width: 0;
border-top: 1px solid;
border-color: rgb(0, 0, 0, 0.1);
}
/* footer底注 */
.footer {
padding-top: 20px;
padding-bottom: 30px;
background-color: #f5f5f5;
color: #6c757d !important;
text-align: center;
font-size: 95%;
}
.footer a{
text-decoration: underline !important;
color:#6c757d !important;
}