feature(index): Build a homepage draft
This commit is contained in:
parent
68d3411d2e
commit
32abe6f33c
3
.vscode/settings.json
vendored
Normal file
3
.vscode/settings.json
vendored
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"compile-hero.disable-compile-files-on-did-save-code": false
|
||||||
|
}
|
88
index.ftl
88
index.ftl
@ -1,50 +1,68 @@
|
|||||||
<#include "module/macro.ftl">
|
<#include "module/macro.ftl">
|
||||||
<@layout title="${blog_title!}">
|
<@layout title="${blog_title!}">
|
||||||
<h1>公告</h1>
|
<main>
|
||||||
<p>
|
<div class="header">
|
||||||
${settings.index_notice!}
|
<div class="title">
|
||||||
</p>
|
<a href="${blog_url!}"><span>无尽光芒</span></a>
|
||||||
|
</div>
|
||||||
|
<div class="description">
|
||||||
|
<p>${settings.sub_title!'the site subtitle'}</p>
|
||||||
|
<div class="socials">
|
||||||
|
<#if settings.github??>
|
||||||
|
<a href="${settings.github}" title="github" target="_blank"><i class="ri-github-line"></i></a>
|
||||||
|
</#if>
|
||||||
|
<#if settings.wechat??>
|
||||||
|
<a href="${settings.wechat}" title="wechat" target="_blank"><i class="ri-wechat-line"></i></a>
|
||||||
|
</#if>
|
||||||
|
<#if settings.bilibili??>
|
||||||
|
<a href="${settings.bilibili}" title="bilibili" target="_blank"><i class="ri-bilibili-line"></i></a>
|
||||||
|
</#if>
|
||||||
|
<#if settings.mail??>
|
||||||
|
<a href="mailto:${settings.mail}" title="mail" target="_blank"><i class="ri-mail-line"></i></a>
|
||||||
|
</#if>
|
||||||
|
<a href="/rss.xml" type="application/rss+xml" title="rss" target="_blank"><i class="ri-rss-line"></i></a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<h1>文章列表</h1>
|
|
||||||
<ul>
|
|
||||||
<#list posts.content as post>
|
<#list posts.content as post>
|
||||||
<li>
|
<div class="post">
|
||||||
<a href="${post.fullPath!}">${post.title}</a>
|
<h1><a href='${post.fullPath!}'>${post.title!}</a></h1>
|
||||||
</li>
|
<#if settings.enable_summary!true>
|
||||||
|
<p>${post.summary!}......</p>
|
||||||
|
</#if>
|
||||||
|
<div class="info">
|
||||||
|
<span class="date">
|
||||||
|
<i class="ri-map-pin-time-line"></i>
|
||||||
|
<span>${post.createTime?string('yyyy.MM.dd')}</span>
|
||||||
|
</span>
|
||||||
|
<#if post.tags?? && post.tags?size gt 0>
|
||||||
|
<span class="tag">
|
||||||
|
<i class="ri-bookmark-3-line"></i>
|
||||||
|
<#list post.tags as tag>
|
||||||
|
<a href="${tag.fullPath!}">${tag.name!}</a>
|
||||||
|
</#list>
|
||||||
|
</span>
|
||||||
|
</#if>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</#list>
|
</#list>
|
||||||
</ul>
|
|
||||||
|
|
||||||
<h1>分页</h1>
|
|
||||||
|
|
||||||
|
<div class="pagenav">
|
||||||
<#if posts.totalPages gt 1>
|
<#if posts.totalPages gt 1>
|
||||||
<ul>
|
|
||||||
<@paginationTag method="index" page="${posts.number}" total="${posts.totalPages}" display="3">
|
<@paginationTag method="index" page="${posts.number}" total="${posts.totalPages}" display="3">
|
||||||
<#if pagination.hasPrev>
|
<#if pagination.hasPrev>
|
||||||
<li>
|
<a href="${pagination.prevPageFullPath!}" class="pre">
|
||||||
<a href="${pagination.prevPageFullPath!}">
|
返回上页
|
||||||
上一页
|
|
||||||
</a>
|
</a>
|
||||||
</li>
|
|
||||||
</#if>
|
</#if>
|
||||||
<#list pagination.rainbowPages as number>
|
|
||||||
<li>
|
|
||||||
<#if number.isCurrent>
|
|
||||||
<span class="current">第 ${number.page!} 页</span>
|
|
||||||
<#else>
|
|
||||||
<a href="${number.fullPath!}">第 ${number.page!} 页</a>
|
|
||||||
</#if>
|
|
||||||
</li>
|
|
||||||
</#list>
|
|
||||||
<#if pagination.hasNext>
|
<#if pagination.hasNext>
|
||||||
<li>
|
<a href="${pagination.nextPageFullPath!}" class="next">
|
||||||
<a href="${pagination.nextPageFullPath!}">
|
更多文章
|
||||||
下一页
|
|
||||||
</a>
|
</a>
|
||||||
</li>
|
|
||||||
</#if>
|
</#if>
|
||||||
</@paginationTag>
|
</@paginationTag>
|
||||||
</ul>
|
|
||||||
<#else>
|
|
||||||
<span>当前只有一页</span>
|
|
||||||
</#if>
|
</#if>
|
||||||
</@layout>
|
</div>
|
||||||
|
</main>
|
||||||
|
</@layout>
|
@ -1,38 +1,34 @@
|
|||||||
<#macro layout title>
|
<#macro layout title>
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="zh">
|
<html lang="zh">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">
|
||||||
|
<title>${title}</title>
|
||||||
<meta name="keywords" content="${meta_keywords!}"/>
|
<meta name="keywords" content="${meta_keywords!}"/>
|
||||||
<meta name="description" content="${meta_description!}" />
|
<meta name="description" content="${meta_description!}" />
|
||||||
|
|
||||||
<#--
|
|
||||||
公共 head 代码,详情请参考:https://docs.halo.run/zh/developer-guide/theme/public-template-tag
|
|
||||||
包含:Favicon,自定义 head 等
|
|
||||||
-->
|
|
||||||
|
|
||||||
<@global.head />
|
<@global.head />
|
||||||
|
|
||||||
<title>${title}</title>
|
|
||||||
|
|
||||||
<#--
|
|
||||||
样式 CSS 代码
|
|
||||||
-->
|
|
||||||
<link rel="stylesheet" href="${theme_base!}/source/css/normalize.css"/>
|
<link rel="stylesheet" href="${theme_base!}/source/css/normalize.css"/>
|
||||||
<link rel="stylesheet" href="${theme_base!}/source/css/animate.min.css"/>
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/animate.css/4.1.1/animate.min.css"/>
|
||||||
<link rel="stylesheet" href="${theme_base!}/source/css/main.css"/>
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/remixicon@2.5.0/fonts/remixicon.css"/>
|
||||||
</head>
|
<link rel="stylesheet" href="${theme_base!}/source/css/color.css"/>
|
||||||
<body>
|
<link rel="stylesheet" href="${theme_base!}/source/css/redemption.css"/>
|
||||||
<#include "menu.ftl">
|
</head>
|
||||||
|
<body class="animate__animated animate__fadeInDown">
|
||||||
|
<#-- <#include "menu.ftl"> -->
|
||||||
|
|
||||||
<#nested >
|
<#-- 主体 -->
|
||||||
|
<#nested >
|
||||||
|
|
||||||
<#--
|
<footer>
|
||||||
公共底部代码,详情请参考:https://docs.halo.run/zh/developer-guide/theme/public-template-tag
|
<div class="copyright">
|
||||||
包含:统计代码,底部信息
|
<a href="https://zeuk.me">Designed by Zeuk,</a>
|
||||||
-->
|
<a href="https://halo.run">Proudly published with Halo</a>
|
||||||
<@global.footer />
|
</div>
|
||||||
</body>
|
<@global.footer />
|
||||||
|
</footer>
|
||||||
|
</body>
|
||||||
</html>
|
</html>
|
||||||
</#macro>
|
</#macro>
|
||||||
|
|
||||||
|
@ -1,9 +1,53 @@
|
|||||||
# 配置详情请参考:https://docs.halo.run/zh/developer-guide/theme/config-files
|
general:
|
||||||
genernal:
|
label: 基础设置
|
||||||
label: 基本设置
|
|
||||||
items:
|
items:
|
||||||
index_notice:
|
sub_title:
|
||||||
name: index_notice
|
name: sub_title
|
||||||
label: 首页公告
|
label: 二级标题
|
||||||
|
type: text
|
||||||
|
default: 'the site subtitle'
|
||||||
|
enable_mathJax:
|
||||||
|
name: enable_mathJax
|
||||||
|
label: 是否使用 MathJax
|
||||||
|
type: radio
|
||||||
|
data-type: bool
|
||||||
|
default: true
|
||||||
|
options:
|
||||||
|
- value: true
|
||||||
|
label: 开启
|
||||||
|
- value: false
|
||||||
|
label: 关闭
|
||||||
|
enable_summary:
|
||||||
|
name: enable_summary
|
||||||
|
label: 是否显示文章摘要
|
||||||
|
type: radio
|
||||||
|
data-type: bool
|
||||||
|
default: true
|
||||||
|
options:
|
||||||
|
- value: true
|
||||||
|
label: 开启
|
||||||
|
- value: false
|
||||||
|
label: 关闭
|
||||||
|
custom_css:
|
||||||
|
name: custom_css
|
||||||
|
label: 自定义样式
|
||||||
type: textarea
|
type: textarea
|
||||||
default: '欢迎来到我的博客'
|
sns:
|
||||||
|
label: 社交资料
|
||||||
|
items:
|
||||||
|
github:
|
||||||
|
name: github
|
||||||
|
label: Github
|
||||||
|
type: text
|
||||||
|
wechat:
|
||||||
|
name: wechat
|
||||||
|
label: wechat
|
||||||
|
type: text
|
||||||
|
bilibili:
|
||||||
|
name: bilibili
|
||||||
|
label: bilibili
|
||||||
|
type: text
|
||||||
|
mail:
|
||||||
|
name: mail
|
||||||
|
label: mail
|
||||||
|
type: text
|
161
source/css/Redemption.css
Normal file
161
source/css/Redemption.css
Normal file
@ -0,0 +1,161 @@
|
|||||||
|
html {
|
||||||
|
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";
|
||||||
|
font-size: 16px;
|
||||||
|
font-weight: 500;
|
||||||
|
font-variant-numeric: tabular-nums;
|
||||||
|
-webkit-font-smoothing: antialiased;
|
||||||
|
}
|
||||||
|
|
||||||
|
html::-webkit-scrollbar {
|
||||||
|
width: 10px;
|
||||||
|
height: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
html::-webkit-scrollbar-thumb {
|
||||||
|
height: 40px;
|
||||||
|
border-radius: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: nowrap;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.header {
|
||||||
|
width: 45rem;
|
||||||
|
padding: 7rem 0 3rem 0;
|
||||||
|
-webkit-background-size: cover;
|
||||||
|
background-size: cover;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
.header .title {
|
||||||
|
width: 6rem;
|
||||||
|
}
|
||||||
|
.header .title a {
|
||||||
|
font-size: 2.2rem;
|
||||||
|
letter-spacing: 0.2rem;
|
||||||
|
line-height: 2.4rem;
|
||||||
|
}
|
||||||
|
.header .description {
|
||||||
|
font-size: 0.9rem;
|
||||||
|
}
|
||||||
|
.header .description .socials {
|
||||||
|
display: flex;
|
||||||
|
justify-content: flex-end;
|
||||||
|
}
|
||||||
|
.header .description .socials a {
|
||||||
|
font-size: 1rem;
|
||||||
|
margin-left: 0.5rem;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
main {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: nowrap;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
width: 50rem;
|
||||||
|
margin-top: 4rem;
|
||||||
|
}
|
||||||
|
main .post {
|
||||||
|
width: 45rem;
|
||||||
|
padding-top: 1rem;
|
||||||
|
}
|
||||||
|
main .post h1 a {
|
||||||
|
letter-spacing: 0.0625rem;
|
||||||
|
font-size: 1.375rem;
|
||||||
|
line-height: 1.75rem;
|
||||||
|
}
|
||||||
|
main .post p {
|
||||||
|
line-height: 1.5rem;
|
||||||
|
text-indent: 2rem;
|
||||||
|
}
|
||||||
|
main .post .info {
|
||||||
|
display: flex;
|
||||||
|
justify-content: flex-end;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
flex-direction: row;
|
||||||
|
padding: 0.5rem 0 2rem 0;
|
||||||
|
}
|
||||||
|
main .post .info span {
|
||||||
|
font-weight: 400;
|
||||||
|
font-size: 0.75rem;
|
||||||
|
}
|
||||||
|
main .post .info a {
|
||||||
|
font-size: 0.75rem;
|
||||||
|
}
|
||||||
|
main .post .info .date,
|
||||||
|
main .post .info .tag {
|
||||||
|
margin: 0 0.5rem;
|
||||||
|
}
|
||||||
|
main .post .info .date i,
|
||||||
|
main .post .info .tag i {
|
||||||
|
position: relative;
|
||||||
|
top: 0.05rem;
|
||||||
|
}
|
||||||
|
main .pagenav {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
padding: 2rem 0 5rem 0;
|
||||||
|
}
|
||||||
|
main .pagenav a {
|
||||||
|
text-decoration: none;
|
||||||
|
margin: 0 2rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
footer {
|
||||||
|
padding: 2rem 0;
|
||||||
|
}
|
||||||
|
footer .copyright {
|
||||||
|
font-size: 0.8rem;
|
||||||
|
}
|
||||||
|
footer .copyright a {
|
||||||
|
margin: 0 0.125rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*animation starts*/
|
||||||
|
@-webkit-keyframes fadeInDown {
|
||||||
|
0% {
|
||||||
|
opacity: 0;
|
||||||
|
-webkit-transform: translateY(-3px);
|
||||||
|
}
|
||||||
|
100% {
|
||||||
|
opacity: 1;
|
||||||
|
-webkit-transform: translateY(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@-moz-keyframes fadeInDown {
|
||||||
|
0% {
|
||||||
|
opacity: 0;
|
||||||
|
-moz-transform: translateY(-3px);
|
||||||
|
}
|
||||||
|
100% {
|
||||||
|
opacity: 1;
|
||||||
|
-moz-transform: translateY(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@-o-keyframes fadeInDown {
|
||||||
|
0% {
|
||||||
|
opacity: 0;
|
||||||
|
-o-transform: translateY(-3px);
|
||||||
|
}
|
||||||
|
100% {
|
||||||
|
opacity: 1;
|
||||||
|
-o-transform: translateY(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@keyframes fadeInDown {
|
||||||
|
0% {
|
||||||
|
opacity: 0;
|
||||||
|
transform: translateY(-3px);
|
||||||
|
}
|
||||||
|
100% {
|
||||||
|
opacity: 1;
|
||||||
|
transform: translateY(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/*animation ends*/
|
202
source/css/Redemption.scss
Normal file
202
source/css/Redemption.scss
Normal file
@ -0,0 +1,202 @@
|
|||||||
|
@charset "UTF-8";
|
||||||
|
// 全局 HTML 配置
|
||||||
|
html {
|
||||||
|
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';
|
||||||
|
font-size: 16px;
|
||||||
|
font-weight: 500;
|
||||||
|
font-variant-numeric: tabular-nums;
|
||||||
|
-webkit-font-smoothing: antialiased;
|
||||||
|
}
|
||||||
|
// 滚动条
|
||||||
|
html::-webkit-scrollbar {
|
||||||
|
width: 10px;
|
||||||
|
height: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
html::-webkit-scrollbar-thumb {
|
||||||
|
height: 40px;
|
||||||
|
border-radius: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Body 主体
|
||||||
|
body {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: nowrap;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Header 头部
|
||||||
|
.header {
|
||||||
|
width: 45rem;
|
||||||
|
padding: 7rem 0 3rem 0;
|
||||||
|
-webkit-background-size: cover;
|
||||||
|
background-size: cover;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
|
// 站点标题
|
||||||
|
.title {
|
||||||
|
width: 6rem;
|
||||||
|
|
||||||
|
a {
|
||||||
|
font-size: 2.2rem;
|
||||||
|
letter-spacing: 0.2rem;
|
||||||
|
line-height: 2.4rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 二级标题
|
||||||
|
.description {
|
||||||
|
font-size: 0.9rem;
|
||||||
|
|
||||||
|
.socials {
|
||||||
|
display: flex;
|
||||||
|
justify-content: flex-end;
|
||||||
|
|
||||||
|
a {
|
||||||
|
font-size: 1rem;
|
||||||
|
margin-left: 0.5rem;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// main 主体
|
||||||
|
main {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: nowrap;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
width: 50rem;
|
||||||
|
margin-top: 4rem;
|
||||||
|
|
||||||
|
.post {
|
||||||
|
width: 45rem;
|
||||||
|
padding-top: 1rem;
|
||||||
|
|
||||||
|
h1 {
|
||||||
|
a {
|
||||||
|
letter-spacing: 0.0625rem;
|
||||||
|
font-size: 1.375rem;
|
||||||
|
line-height: 1.75rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
p {
|
||||||
|
line-height: 1.5rem;
|
||||||
|
text-indent: 2rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.info {
|
||||||
|
display: flex;
|
||||||
|
justify-content: flex-end;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
flex-direction: row;
|
||||||
|
padding: 0.5rem 0 2rem 0;
|
||||||
|
|
||||||
|
span {
|
||||||
|
font-weight: 400;
|
||||||
|
font-size: 0.75rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
a {
|
||||||
|
font-size: 0.75rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.date,
|
||||||
|
.tag {
|
||||||
|
margin: 0 0.5rem;
|
||||||
|
|
||||||
|
i {
|
||||||
|
position: relative;
|
||||||
|
top: 0.05rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.pagenav {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
padding: 2rem 0 5rem 0;
|
||||||
|
|
||||||
|
a {
|
||||||
|
text-decoration: none;
|
||||||
|
margin: 0 2rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
footer {
|
||||||
|
padding: 2rem 0;
|
||||||
|
.copyright {
|
||||||
|
font-size: 0.8rem;
|
||||||
|
a {
|
||||||
|
margin: 0 0.125rem;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*animation starts*/
|
||||||
|
|
||||||
|
@-webkit-keyframes fadeInDown {
|
||||||
|
0% {
|
||||||
|
opacity: 0;
|
||||||
|
-webkit-transform: translateY(-3px);
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
opacity: 1;
|
||||||
|
-webkit-transform: translateY(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@-moz-keyframes fadeInDown {
|
||||||
|
0% {
|
||||||
|
opacity: 0;
|
||||||
|
-moz-transform: translateY(-3px);
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
opacity: 1;
|
||||||
|
-moz-transform: translateY(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@-o-keyframes fadeInDown {
|
||||||
|
0% {
|
||||||
|
opacity: 0;
|
||||||
|
-o-transform: translateY(-3px);
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
opacity: 1;
|
||||||
|
-o-transform: translateY(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes fadeInDown {
|
||||||
|
0% {
|
||||||
|
opacity: 0;
|
||||||
|
transform: translateY(-3px);
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
opacity: 1;
|
||||||
|
transform: translateY(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*animation ends*/
|
7
source/css/animate.min.css
vendored
7
source/css/animate.min.css
vendored
File diff suppressed because one or more lines are too long
79
source/css/color.css
Normal file
79
source/css/color.css
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
html {
|
||||||
|
background-color: #f5f5f5;
|
||||||
|
color: #1f1f1f;
|
||||||
|
}
|
||||||
|
|
||||||
|
html::-webkit-scrollbar-thumb {
|
||||||
|
background-color: #0000000d;
|
||||||
|
}
|
||||||
|
|
||||||
|
html::-webkit-scrollbar-thumb:hover {
|
||||||
|
background-color: #00000026;
|
||||||
|
}
|
||||||
|
|
||||||
|
::selection {
|
||||||
|
background: #0095ff1a;
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: nowrap;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.header .title a span {
|
||||||
|
color: black;
|
||||||
|
}
|
||||||
|
.header .title a span:hover {
|
||||||
|
color: rgba(0, 0, 0, 0.65);
|
||||||
|
}
|
||||||
|
.header .description {
|
||||||
|
color: rgba(0, 0, 0, 0.65);
|
||||||
|
}
|
||||||
|
.header .description .socials a {
|
||||||
|
color: rgba(0, 0, 0, 0.65);
|
||||||
|
}
|
||||||
|
.header .description .socials a:hover {
|
||||||
|
color: rgba(0, 0, 0, 0.85);
|
||||||
|
}
|
||||||
|
|
||||||
|
main {
|
||||||
|
background: #ffffff;
|
||||||
|
box-shadow: 0 0.375rem 1rem -0.5rem rgba(0, 0, 0, 0.08);
|
||||||
|
}
|
||||||
|
main .post h1 a {
|
||||||
|
color: black;
|
||||||
|
}
|
||||||
|
main .post p {
|
||||||
|
color: rgba(0, 0, 0, 0.85);
|
||||||
|
}
|
||||||
|
main .post .info {
|
||||||
|
border-bottom: 1px solid #f3f3f3;
|
||||||
|
}
|
||||||
|
main .post .info span {
|
||||||
|
color: rgba(0, 0, 0, 0.65);
|
||||||
|
}
|
||||||
|
main .post .info a {
|
||||||
|
color: rgba(0, 0, 0, 0.65);
|
||||||
|
}
|
||||||
|
main .post .info .date i,
|
||||||
|
main .post .info .tag i {
|
||||||
|
color: rgba(0, 0, 0, 0.85);
|
||||||
|
}
|
||||||
|
main .pagenav {
|
||||||
|
border-bottom: 1px solid #f2f2f2;
|
||||||
|
}
|
||||||
|
main .pagenav a {
|
||||||
|
color: black;
|
||||||
|
}
|
||||||
|
main .pagenav a:hover {
|
||||||
|
color: rgba(0, 0, 0, 0.65);
|
||||||
|
}
|
||||||
|
|
||||||
|
footer .copyright a {
|
||||||
|
color: rgba(0, 0, 0, 0.25);
|
||||||
|
}
|
||||||
|
footer .copyright a:hover {
|
||||||
|
color: rgba(0, 0, 0, 0.85);
|
||||||
|
}
|
125
source/css/color.scss
Normal file
125
source/css/color.scss
Normal file
@ -0,0 +1,125 @@
|
|||||||
|
// HTML
|
||||||
|
html {
|
||||||
|
background-color: #f5f5f5;
|
||||||
|
color: #1f1f1f;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 滚动条
|
||||||
|
html::-webkit-scrollbar-thumb {
|
||||||
|
background-color: #0000000d;
|
||||||
|
}
|
||||||
|
|
||||||
|
html::-webkit-scrollbar-thumb:hover {
|
||||||
|
background-color: #00000026;
|
||||||
|
}
|
||||||
|
|
||||||
|
::selection {
|
||||||
|
background: #0095ff1a;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Body
|
||||||
|
body {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: nowrap;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Header 头部
|
||||||
|
.header {
|
||||||
|
|
||||||
|
// 站点标题
|
||||||
|
.title {
|
||||||
|
|
||||||
|
a {
|
||||||
|
span {
|
||||||
|
color: rgb(0, 0, 0);
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
color: rgba(0, 0, 0, 0.65);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 二级标题
|
||||||
|
.description {
|
||||||
|
color: rgba(0, 0, 0, 0.65);
|
||||||
|
|
||||||
|
.socials {
|
||||||
|
a {
|
||||||
|
color: rgba(0, 0, 0, 0.65);
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
color: rgba(0, 0, 0, 0.85);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// main 主体
|
||||||
|
main {
|
||||||
|
background: #ffffff;
|
||||||
|
box-shadow: 0 0.375rem 1rem -0.5rem rgba(0, 0, 0, 0.08);
|
||||||
|
|
||||||
|
.post {
|
||||||
|
h1 {
|
||||||
|
a {
|
||||||
|
color: rgba(0, 0, 0, 1);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
p {
|
||||||
|
color: rgba(0, 0, 0, 0.85);
|
||||||
|
}
|
||||||
|
|
||||||
|
.info {
|
||||||
|
border-bottom: 1px solid #f3f3f3;
|
||||||
|
|
||||||
|
span {
|
||||||
|
color: rgb(0, 0, 0, 0.65);
|
||||||
|
}
|
||||||
|
|
||||||
|
a {
|
||||||
|
color: rgb(0, 0, 0, 0.65);
|
||||||
|
}
|
||||||
|
|
||||||
|
.date,
|
||||||
|
.tag {
|
||||||
|
i {
|
||||||
|
color: rgb(0, 0, 0, 0.85);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.pagenav {
|
||||||
|
border-bottom: 1px solid #f2f2f2;
|
||||||
|
|
||||||
|
a {
|
||||||
|
color: rgb(0, 0, 0);
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
color: rgb(0, 0, 0, 0.65);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 脚注
|
||||||
|
|
||||||
|
footer {
|
||||||
|
.copyright {
|
||||||
|
a {
|
||||||
|
color: rgb(0, 0, 0, 0.25);
|
||||||
|
&:hover {
|
||||||
|
color: rgb(0, 0, 0, 0.85);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -1,3 +0,0 @@
|
|||||||
html {
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
@ -1,3 +0,0 @@
|
|||||||
html{
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
7
source/css/normalize.css
vendored
7
source/css/normalize.css
vendored
@ -347,3 +347,10 @@
|
|||||||
[hidden] {
|
[hidden] {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 去除链接下划线
|
||||||
|
*/
|
||||||
|
a {
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
Reference in New Issue
Block a user