新增:网站侧边栏
This commit is contained in:
parent
8e9a257e02
commit
ab6935d372
@ -3,6 +3,7 @@
|
|||||||
backdrop-filter: saturate(180%) blur(1px);
|
backdrop-filter: saturate(180%) blur(1px);
|
||||||
background-color: rgba(255,255,255,0.5);
|
background-color: rgba(255,255,255,0.5);
|
||||||
color: #272936;
|
color: #272936;
|
||||||
|
z-index: 999;
|
||||||
}
|
}
|
||||||
.article-header {
|
.article-header {
|
||||||
height: 70vh;
|
height: 70vh;
|
||||||
@ -80,18 +81,27 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@media screen and (max-width: 759px) {
|
@media screen and (max-width: 768px) {
|
||||||
.blog-title {
|
.blog-title {
|
||||||
font-size: 1.75rem;
|
font-size: 1.75rem;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
margin-bottom: .5rem;
|
margin-bottom: .5rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.cover-wrapper .cover .cover-body {
|
||||||
|
padding-bottom: 68px;
|
||||||
|
.title {
|
||||||
|
font-size: 2rem;
|
||||||
|
font-weight: 400;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.article-header .inner {
|
||||||
|
padding-bottom: 80px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (min-width: 768px){
|
@media (min-width: 768px){
|
||||||
.article-header .inner {
|
|
||||||
padding-top: 3.75rem;
|
|
||||||
}
|
|
||||||
.navbar>.container-fluid {
|
.navbar>.container-fluid {
|
||||||
max-width: 720px;
|
max-width: 720px;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -28,6 +28,11 @@
|
|||||||
background: -webkit-linear-gradient(to right, #0052d4, #0ed2f7, #b2fefa) !important;
|
background: -webkit-linear-gradient(to right, #0052d4, #0ed2f7, #b2fefa) !important;
|
||||||
background: linear-gradient(to right, #0052d4, #0ed2f7, #b2fefa) !important;
|
background: linear-gradient(to right, #0052d4, #0ed2f7, #b2fefa) !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.nav-link-label {
|
||||||
|
margin-left: 0.25rem;
|
||||||
|
}
|
||||||
|
|
||||||
/deep/ #top {
|
/deep/ #top {
|
||||||
padding: .75rem 1rem;
|
padding: .75rem 1rem;
|
||||||
line-height: 2;
|
line-height: 2;
|
||||||
@ -36,7 +41,6 @@
|
|||||||
position: fixed;
|
position: fixed;
|
||||||
top: 0;
|
top: 0;
|
||||||
z-index: 891;
|
z-index: 891;
|
||||||
display: none;
|
|
||||||
/* border-bottom: 1px solid #201c29; */
|
/* border-bottom: 1px solid #201c29; */
|
||||||
-webkit-transition: all 350ms ease-in-out;
|
-webkit-transition: all 350ms ease-in-out;
|
||||||
transition: all 350ms ease-in-out;
|
transition: all 350ms ease-in-out;
|
||||||
@ -87,9 +91,6 @@
|
|||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
.nav-item {
|
.nav-item {
|
||||||
margin: 0 10px;
|
margin: 0 10px;
|
||||||
.nav-link-label {
|
|
||||||
margin-left: 0.25rem;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.side-toolbar-list {
|
.side-toolbar-list {
|
||||||
@ -660,9 +661,92 @@
|
|||||||
.pre-numbering {
|
.pre-numbering {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#toggle-nav {
|
||||||
|
display: none;
|
||||||
|
position: fixed;
|
||||||
|
top: .625rem;
|
||||||
|
left: .625rem;
|
||||||
|
z-index: 891;
|
||||||
|
-webkit-transition: 0.5s ease all;
|
||||||
|
-moz-transition: 0.5s ease all;
|
||||||
|
-ms-transition: 0.5s ease all;
|
||||||
|
-o-transition: 0.5s ease all;
|
||||||
|
transition: 0.5s ease all;
|
||||||
|
}
|
||||||
|
|
||||||
|
#sidebar-nav {
|
||||||
|
width: 20rem;
|
||||||
|
height: 100%;
|
||||||
|
position: absolute;
|
||||||
|
left: -20rem;
|
||||||
|
top: 0;
|
||||||
|
bottom: 0;
|
||||||
|
overflow-y: auto;
|
||||||
|
overflow-x: hidden;
|
||||||
|
padding-bottom: 6.25rem;
|
||||||
|
-webkit-overflow-scrolling: touch;
|
||||||
|
-ms-overflow-style: -ms-autohiding-scrollbar;
|
||||||
|
-webkit-transition: 0.5s ease all;
|
||||||
|
-moz-transition: 0.5s ease all;
|
||||||
|
-ms-transition: 0.5s ease all;
|
||||||
|
-o-transition: 0.5s ease all;
|
||||||
|
transition: 0.5s ease all;
|
||||||
|
.author {
|
||||||
|
text-align: center;
|
||||||
|
padding-top: 2.5rem;
|
||||||
|
padding-bottom: 2.5rem;
|
||||||
|
min-width: 12.5rem;
|
||||||
|
img {
|
||||||
|
border-radius: 7rem;
|
||||||
|
width: 7rem;
|
||||||
|
height: 7rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.menu {
|
||||||
|
margin-top: 1.875rem;
|
||||||
|
li a {
|
||||||
|
color: #333;
|
||||||
|
padding: 0.375rem 1.75rem;
|
||||||
|
position: relative;
|
||||||
|
line-height: 2.25rem;
|
||||||
|
display: block;
|
||||||
|
font-size: 1.25rem;
|
||||||
|
text-align: center;
|
||||||
|
font-weight: 300;
|
||||||
|
-webkit-transition: color 0.2s linear;
|
||||||
|
-moz-transition: color 0.2s linear;
|
||||||
|
-ms-transition: color 0.2s linear;
|
||||||
|
-o-transition: color 0.2s linear;
|
||||||
|
transition: color 0.2s linear;
|
||||||
|
}
|
||||||
|
li a:hover{
|
||||||
|
background: #efefef;
|
||||||
|
color: #333;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#body {
|
||||||
|
overflow: hidden;
|
||||||
|
-webkit-transition: 0.5s ease all;
|
||||||
|
-moz-transition: 0.5s ease all;
|
||||||
|
-ms-transition: 0.5s ease all;
|
||||||
|
-o-transition: 0.5s ease all;
|
||||||
|
transition: 0.5s ease all;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@media screen and (max-width: 425px){
|
@media screen and (max-width: 425px){
|
||||||
.pre-numbering {
|
.pre-numbering {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@media (max-width: 767.98px) {
|
||||||
|
.animateIn {
|
||||||
|
transform: translateY(-100%);
|
||||||
|
}
|
||||||
|
#toggle-nav {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@ -4,7 +4,6 @@
|
|||||||
<a class="navbar-brand text-brand" href="/articles">{{setting.siteName}}</a>
|
<a class="navbar-brand text-brand" href="/articles">{{setting.siteName}}</a>
|
||||||
<div class="collapse navbar-collapse">
|
<div class="collapse navbar-collapse">
|
||||||
<ul class="navbar-nav mr-auto">
|
<ul class="navbar-nav mr-auto">
|
||||||
<li class="nav-item dropdown"></li>
|
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="nav-link" href="https://www.jmal.top/archives.html" title="归档"><svg-icon icon-class="guidang"></svg-icon><span class="nav-link-label">归档</span></a>
|
<a class="nav-link" href="https://www.jmal.top/archives.html" title="归档"><svg-icon icon-class="guidang"></svg-icon><span class="nav-link-label">归档</span></a>
|
||||||
</li>
|
</li>
|
||||||
@ -12,7 +11,7 @@
|
|||||||
<a class="nav-link" href="https://www.jmal.top/archives.html" title="分类"><svg-icon icon-class="leimupinleifenleileibie"></svg-icon><span class="nav-link-label">分类</span></a>
|
<a class="nav-link" href="https://www.jmal.top/archives.html" title="分类"><svg-icon icon-class="leimupinleifenleileibie"></svg-icon><span class="nav-link-label">分类</span></a>
|
||||||
</li>
|
</li>
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="nav-link" href="https://www.jmal.top/archives.html" title="关于我"><svg-icon icon-class="myself"></svg-icon><span class="nav-link-label">关于我</span></a>
|
<a class="nav-link" href="https://www.jmal.top/archives.html" title="关于"><svg-icon icon-class="myself"></svg-icon><span class="nav-link-label">关于</span></a>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
|
|||||||
59
src/views/public/article/SidebarNav.vue
Normal file
59
src/views/public/article/SidebarNav.vue
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<div id="toggle-nav">
|
||||||
|
<el-button round @click="toggle">MENU</el-button>
|
||||||
|
</div>
|
||||||
|
<div id="sidebar-nav">
|
||||||
|
<div class="author navbar-header">
|
||||||
|
<a href="/articles">
|
||||||
|
<img src="https://www.jmal.top/avatar.jpg" alt="Avatar" width="100" height="100">
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<ul id="menu-menu-1" class="menu navbar-nav">
|
||||||
|
<li class="menu-item">
|
||||||
|
<a href="/articles">首页</a>
|
||||||
|
</li>
|
||||||
|
<li class="menu-item">
|
||||||
|
<a class="nav-link" href="https://www.jmal.top/archives.html" title="归档"><svg-icon icon-class="guidang"></svg-icon><span class="nav-link-label">归档</span></a>
|
||||||
|
</li>
|
||||||
|
<li class="menu-item">
|
||||||
|
<a class="nav-link" href="https://www.jmal.top/archives.html" title="分类"><svg-icon icon-class="leimupinleifenleileibie"></svg-icon><span class="nav-link-label">分类</span></a>
|
||||||
|
</li>
|
||||||
|
<li class="menu-item">
|
||||||
|
<a class="nav-link" href="https://www.jmal.top/archives.html" title="关于"><svg-icon icon-class="myself"></svg-icon><span class="nav-link-label">关于</span></a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import '../../../assets/fontawesome-free-5.11.2-web/css/all.min.css'
|
||||||
|
import Icon from '@/components/Icon/Icon.vue'
|
||||||
|
export default {
|
||||||
|
name: 'SidebarNav',
|
||||||
|
components: {
|
||||||
|
Icon
|
||||||
|
},
|
||||||
|
props: {
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
toggle() {
|
||||||
|
let body = document.getElementById("body")
|
||||||
|
let toggleNav = document.getElementById("toggle-nav")
|
||||||
|
let sidebarNav = document.getElementById("sidebar-nav")
|
||||||
|
if(body.style.transform.length > 0){
|
||||||
|
body.style.transform = ''
|
||||||
|
toggleNav.style.transform = ''
|
||||||
|
sidebarNav.style.transform = ''
|
||||||
|
} else {
|
||||||
|
body.style.transform = 'translateX(20rem)'
|
||||||
|
toggleNav.style.transform = 'translateX(17.5rem)'
|
||||||
|
sidebarNav.style.transform = 'translateX(20rem)'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
@import "src/styles/markdown";
|
||||||
|
</style>
|
||||||
5
src/views/public/article/all.min.css
vendored
5
src/views/public/article/all.min.css
vendored
File diff suppressed because one or more lines are too long
@ -5,51 +5,56 @@
|
|||||||
</transition>
|
</transition>
|
||||||
<al-back-top></al-back-top>
|
<al-back-top></al-back-top>
|
||||||
|
|
||||||
<div id="top" style="display: block;" class="animateIn">
|
<!--SideBar menu-->
|
||||||
<ArticleTop :setting="userSetting"/>
|
<SidebarNav/>
|
||||||
<div class="scrollbar gradient-bg-rev" style="width: 0;"></div>
|
|
||||||
</div>
|
<div id="body">
|
||||||
<div class="article-header">
|
<div id="top" class="animateIn">
|
||||||
<div class="article-background" :style="{backgroundImage: `url(${file.cover})`}"></div>
|
<ArticleTop :setting="userSetting"/>
|
||||||
<div class="inner">
|
<div class="scrollbar gradient-bg-rev" style="width: 0;"></div>
|
||||||
<div class="blog-title"><span id="article-title">{{pageTitle}}</span><span class="typed-cursor">_</span></div>
|
</div>
|
||||||
<div class="blog-description font-mono">
|
<div class="article-header">
|
||||||
<a itemprop="name" href="https://www.jmal.top/author/1/" rel="author">{{file.username}}</a>
|
<div class="article-background" :style="{backgroundImage: `url(${file.cover})`}"></div>
|
||||||
· {{file.uploadDate}}
|
<div class="inner">
|
||||||
|
<div class="blog-title"><span id="article-title">{{pageTitle}}</span><span class="typed-cursor">_</span></div>
|
||||||
|
<div class="blog-description font-mono">
|
||||||
|
<a itemprop="name" href="https://www.jmal.top/author/1/" rel="author">{{file.username}}</a>
|
||||||
|
· {{file.uploadDate}}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<div class="body-wrapper">
|
||||||
<div class="body-wrapper">
|
<el-main id="main_body" :content="titleList.length > 0?'show':'hide'" class="l_main article_l_main">
|
||||||
<el-main id="main_body" :content="titleList.length > 0?'show':'hide'" class="l_main article_l_main">
|
<mavon-editor
|
||||||
<mavon-editor
|
ref="md"
|
||||||
ref="md"
|
v-if="!showList"
|
||||||
v-if="!showList"
|
v-model="content"
|
||||||
v-model="content"
|
:subfield="false"
|
||||||
:subfield="false"
|
:boxShadow="true"
|
||||||
:boxShadow="true"
|
:toolbarsFlag="false"
|
||||||
:toolbarsFlag="false"
|
codeStyle="atom-one-dark"
|
||||||
codeStyle="atom-one-dark"
|
defaultOpen="preview"
|
||||||
defaultOpen="preview"
|
/>
|
||||||
/>
|
</el-main>
|
||||||
</el-main>
|
<div v-show="titleList.length > 0" class="right-bj">
|
||||||
<div v-show="titleList.length > 0" class="right-bj">
|
<a-affix>
|
||||||
<a-affix>
|
<div class="slimScrollDiv">
|
||||||
<div class="slimScrollDiv">
|
<div class="right-menu" :style="{maxHeight:maxMenuHeight+'px'}">
|
||||||
<div class="right-menu" :style="{maxHeight:maxMenuHeight+'px'}">
|
<div class="toc-content">
|
||||||
<div class="toc-content">
|
<header class="toc-header"><svg-icon icon-class="contents"></svg-icon><span>目录</span></header>
|
||||||
<header class="toc-header"><svg-icon icon-class="contents"></svg-icon><span>目录</span></header>
|
</div>
|
||||||
</div>
|
<div class="j-titleList titleList">
|
||||||
<div class="j-titleList titleList">
|
<div class="j-bj" style="height: 30px; top: 0;"></div>
|
||||||
<div class="j-bj" style="height: 30px; top: 0;"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</a-affix>
|
</div>
|
||||||
</div>
|
</a-affix>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<footer class="clearfix">
|
||||||
|
<div class="copyright"><p><a href="/articles">Copyright © 2020 jmal</a></p></div>
|
||||||
|
</footer>
|
||||||
</div>
|
</div>
|
||||||
<footer class="clearfix">
|
|
||||||
<div class="copyright"><p><a href="/articles">Copyright © 2020 jmal</a></p></div>
|
|
||||||
</footer>
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -60,10 +65,11 @@ import markdownApi from '@/api/markdown-api'
|
|||||||
import {addCodeBtn} from '@/assets/js/mavon-line'
|
import {addCodeBtn} from '@/assets/js/mavon-line'
|
||||||
import $ from 'jquery'
|
import $ from 'jquery'
|
||||||
import ArticleTop from "@/views/public/article/ArticleTop";
|
import ArticleTop from "@/views/public/article/ArticleTop";
|
||||||
import { getSetting } from '@/api/user'
|
import {getSetting} from '@/api/user'
|
||||||
|
import SidebarNav from "@/views/public/article/SidebarNav";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
components: {ArticleTop, AlBackTop, AlLoading },
|
components: {SidebarNav, ArticleTop, AlBackTop, AlLoading },
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
file: {},
|
file: {},
|
||||||
@ -242,8 +248,6 @@ export default {
|
|||||||
_this.isLoading = false
|
_this.isLoading = false
|
||||||
},150)
|
},150)
|
||||||
})
|
})
|
||||||
// const doc = document.querySelector(".v-show-content");
|
|
||||||
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -252,10 +256,11 @@ export default {
|
|||||||
$('.j-titleList li').unbind("click");
|
$('.j-titleList li').unbind("click");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import "src/styles/index";
|
@import "src/styles/index";
|
||||||
@import "src/styles/markdown";
|
@import "src/styles/markdown";
|
||||||
@import "src/styles/articles";
|
@import "src/styles/articles";
|
||||||
@import "src/styles/article";
|
@import "src/styles/article";
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@ -4,70 +4,73 @@
|
|||||||
<al-loading v-if="isLoading"></al-loading>
|
<al-loading v-if="isLoading"></al-loading>
|
||||||
</transition>
|
</transition>
|
||||||
<al-back-top></al-back-top>
|
<al-back-top></al-back-top>
|
||||||
<div id="top" style="display: block;" class="animateIn">
|
|
||||||
<ArticleTop :setting="userSetting"/>
|
<SidebarNav/>
|
||||||
<div class="scrollbar gradient-bg-rev" style="width: 0;"></div>
|
|
||||||
</div>
|
<div id="body">
|
||||||
<div class="cover-wrapper">
|
<div id="top" class="animateIn">
|
||||||
<div class="cover half" style="position: relative; z-index: 0; background-image: none;">
|
<ArticleTop :setting="userSetting"/>
|
||||||
<div class="cover-body">
|
</div>
|
||||||
<div class="a">
|
<div class="cover-wrapper">
|
||||||
<p class="title"><span id="article-title">{{ userSetting.backgroundTextSite }}</span><span class="typed-cursor">_</span></p >
|
<div class="cover half" style="position: relative; z-index: 0; background-image: none;">
|
||||||
<p class="subtitle">{{ userSetting.backgroundDescSite }}</p>
|
<div class="cover-body">
|
||||||
|
<div class="a">
|
||||||
|
<p class="title"><span id="article-title">{{ userSetting.backgroundTextSite }}</span><span class="typed-cursor">_</span></p >
|
||||||
|
<p class="subtitle">{{ userSetting.backgroundDescSite }}</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="backstretch">
|
||||||
|
<img class="blog-background" :src="userSetting.backgroundSite"
|
||||||
|
onerror="this.src='https://images.unsplash.com/photo-1603910062519-69a9616d34c7?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=2250&q=80'">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="backstretch">
|
</div>
|
||||||
<img class="blog-background" :src="userSetting.backgroundSite"
|
<div class="l_body">
|
||||||
onerror="this.src='https://images.unsplash.com/photo-1603910062519-69a9616d34c7?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=2250&q=80'">
|
<div class="body-wrapper articles_l_main">
|
||||||
|
<el-main class="l_main">
|
||||||
|
<section class="post-list">
|
||||||
|
<div v-for="article in articleList" class="post-wrapper">
|
||||||
|
<article class="post white-box shadow reveal">
|
||||||
|
<section class="meta">
|
||||||
|
<div class="meta" id="header-meta">
|
||||||
|
<h2 class="title">
|
||||||
|
<a :href="$route.path+'/article?mark='+article.id">{{article.name}}</a>
|
||||||
|
</h2>
|
||||||
|
<div class="new-meta-box">
|
||||||
|
<div class="new-meta-item author">
|
||||||
|
<a href="http://www.jmal.top" rel="nofollow">
|
||||||
|
<img :src="imageUrl+article.avatar" :data-original="imageUrl+article.avatar">
|
||||||
|
<p>{{article.username}}</p>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<div class="new-meta-item date">
|
||||||
|
<a class="notlink">
|
||||||
|
<svg-icon icon-class="release"></svg-icon>
|
||||||
|
<p>发布于 {{article.uploadTime}}</p>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<hr>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
<section class="article typo">
|
||||||
|
<a :href="$route.path+'/article?mark='+article.id">
|
||||||
|
<div class="article-entry" itemprop="articleBody">
|
||||||
|
<p><img class="blog-background articles-list" :src="article.cover" onerror="this.src='https://images.unsplash.com/photo-1582230587856-7fec01506148?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=800&q=60'"/></p>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</section>
|
||||||
|
</article>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
</el-main>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<footer class="clearfix">
|
||||||
|
<br><br><br>
|
||||||
|
<div class="copyright"><p><a href="http://blog.jmal.top">Copyright © 2020 journey magical AL</a></p></div>
|
||||||
|
</footer>
|
||||||
</div>
|
</div>
|
||||||
<div class="l_body">
|
|
||||||
<div class="body-wrapper articles_l_main">
|
|
||||||
<el-main class="l_main">
|
|
||||||
<section class="post-list">
|
|
||||||
<div v-for="article in articleList" class="post-wrapper">
|
|
||||||
<article class="post white-box shadow reveal">
|
|
||||||
<section class="meta">
|
|
||||||
<div class="meta" id="header-meta">
|
|
||||||
<h2 class="title">
|
|
||||||
<a :href="$route.path+'/article?mark='+article.id">{{article.name}}</a>
|
|
||||||
</h2>
|
|
||||||
<div class="new-meta-box">
|
|
||||||
<div class="new-meta-item author">
|
|
||||||
<a href="http://www.jmal.top" rel="nofollow">
|
|
||||||
<img :src="imageUrl+article.avatar" :data-original="imageUrl+article.avatar">
|
|
||||||
<p>{{article.username}}</p>
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
<div class="new-meta-item date">
|
|
||||||
<a class="notlink">
|
|
||||||
<svg-icon icon-class="release"></svg-icon>
|
|
||||||
<p>发布于 {{article.uploadTime}}</p>
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<hr>
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
<section class="article typo">
|
|
||||||
<a :href="$route.path+'/article?mark='+article.id">
|
|
||||||
<div class="article-entry" itemprop="articleBody">
|
|
||||||
<p><img class="blog-background articles-list" :src="article.cover" onerror="this.src='https://images.unsplash.com/photo-1582230587856-7fec01506148?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=800&q=60'"/></p>
|
|
||||||
<!--<div class="button readmore"><a :href="$route.path+'/article?mark='+article.id">阅读全文 <i class="fas fa-chevron-right"></i></a></div>-->
|
|
||||||
</div>
|
|
||||||
</a>
|
|
||||||
</section>
|
|
||||||
</article>
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
</el-main>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<footer class="clearfix">
|
|
||||||
<br><br><br>
|
|
||||||
<div class="copyright"><p><a href="http://blog.jmal.top">Copyright © 2020 journey magical AL</a></p></div>
|
|
||||||
</footer>
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -77,9 +80,10 @@ import { getSetting } from '@/api/user'
|
|||||||
import AlLoading from "@/components/loading/AlLoading";
|
import AlLoading from "@/components/loading/AlLoading";
|
||||||
import markdownApi from '@/api/markdown-api'
|
import markdownApi from '@/api/markdown-api'
|
||||||
import ArticleTop from "@/views/public/article/ArticleTop";
|
import ArticleTop from "@/views/public/article/ArticleTop";
|
||||||
|
import SidebarNav from "@/views/public/article/SidebarNav"
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
components: { ArticleTop, AlBackTop, AlLoading },
|
components: { SidebarNav, ArticleTop, AlBackTop, AlLoading },
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
imageUrl: process.env.VUE_APP_BASE_API + '/public/s/view/thumbnail?id=',
|
imageUrl: process.env.VUE_APP_BASE_API + '/public/s/view/thumbnail?id=',
|
||||||
|
|||||||
@ -28,7 +28,7 @@
|
|||||||
|
|
||||||
<div class="config-itme-label">导航栏操作按钮:</div>
|
<div class="config-itme-label">导航栏操作按钮:</div>
|
||||||
<el-input :autosize="{ minRows: 4, maxRows: 6}" type="textarea" width="100%" v-model="form.operatingButtons"></el-input>
|
<el-input :autosize="{ minRows: 4, maxRows: 6}" type="textarea" width="100%" v-model="form.operatingButtons"></el-input>
|
||||||
<span class="instruction">一个操作按钮包含两个部分:<a href="https://fontawesome.com/icons?d=gallery">Font-awesome</a>图标标签和链接,使用':'隔开。列如:{{example}}:https://github.com/jamebal</span>
|
<span class="instruction">一个操作按钮包含两个部分:<a href="https://fontawesome.com/icons?d=gallery" target="_blank">Font-awesome</a>图标标签和链接,使用':'隔开。列如:{{example}}:https://github.com/jamebal</span>
|
||||||
</el-collapse-item>
|
</el-collapse-item>
|
||||||
</el-collapse>
|
</el-collapse>
|
||||||
</el-card>
|
</el-card>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user