Added basic theme
This commit is contained in:
parent
a085ca6867
commit
8b9afa66ce
7
.gitignore
vendored
Normal file
7
.gitignore
vendored
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
.DS_Store
|
||||||
|
Thumbs.db
|
||||||
|
db.json
|
||||||
|
*.log
|
||||||
|
node_modules/
|
||||||
|
public/
|
||||||
|
.deploy*/
|
11
.project
Normal file
11
.project
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<projectDescription>
|
||||||
|
<name>ff-website</name>
|
||||||
|
<comment></comment>
|
||||||
|
<projects>
|
||||||
|
</projects>
|
||||||
|
<buildSpec>
|
||||||
|
</buildSpec>
|
||||||
|
<natures>
|
||||||
|
</natures>
|
||||||
|
</projectDescription>
|
108
_config.yml
Normal file
108
_config.yml
Normal file
|
@ -0,0 +1,108 @@
|
||||||
|
# Hexo Configuration
|
||||||
|
## Docs: https://hexo.io/docs/configuration.html
|
||||||
|
## Source: https://github.com/hexojs/hexo/
|
||||||
|
|
||||||
|
# Site
|
||||||
|
title: ForwardFire
|
||||||
|
subtitle: ''
|
||||||
|
description: ''
|
||||||
|
keywords: pulsefire,java,vasc,x4o
|
||||||
|
author: Willem
|
||||||
|
language: en
|
||||||
|
timezone: Europe/Amsterdam
|
||||||
|
|
||||||
|
# URL
|
||||||
|
## If your site is put in a subdirectory, set url as 'http://yoursite.com/child' and root as '/child/'
|
||||||
|
url: http://www.forwardfire.net
|
||||||
|
root: /
|
||||||
|
permalink: :year/:month/:day/:title/
|
||||||
|
permalink_defaults:
|
||||||
|
pretty_urls:
|
||||||
|
trailing_index: true # Set to false to remove trailing 'index.html' from permalinks
|
||||||
|
trailing_html: true # Set to false to remove trailing '.html' from permalinks
|
||||||
|
|
||||||
|
# Directory
|
||||||
|
source_dir: source
|
||||||
|
public_dir: public
|
||||||
|
tag_dir: tags
|
||||||
|
archive_dir: archives
|
||||||
|
category_dir: categories
|
||||||
|
code_dir: downloads/code
|
||||||
|
i18n_dir: :lang
|
||||||
|
skip_render:
|
||||||
|
|
||||||
|
# Writing
|
||||||
|
new_post_name: :title.md # File name of new posts
|
||||||
|
default_layout: post
|
||||||
|
titlecase: false # Transform title into titlecase
|
||||||
|
external_link:
|
||||||
|
enable: true # Open external links in new tab
|
||||||
|
field: site # Apply to the whole site
|
||||||
|
exclude: ''
|
||||||
|
filename_case: 0
|
||||||
|
render_drafts: false
|
||||||
|
post_asset_folder: false
|
||||||
|
relative_link: false
|
||||||
|
future: true
|
||||||
|
highlight:
|
||||||
|
enable: true
|
||||||
|
line_number: true
|
||||||
|
auto_detect: false
|
||||||
|
tab_replace: ''
|
||||||
|
wrap: true
|
||||||
|
hljs: false
|
||||||
|
|
||||||
|
# Home page setting
|
||||||
|
# path: Root path for your blogs index page. (default = '')
|
||||||
|
# per_page: Posts displayed per page. (0 = disable pagination)
|
||||||
|
# order_by: Posts order. (Order by date descending by default)
|
||||||
|
index_generator:
|
||||||
|
path: ''
|
||||||
|
per_page: 10
|
||||||
|
order_by: -date
|
||||||
|
|
||||||
|
# Category & Tag
|
||||||
|
default_category: uncategorized
|
||||||
|
category_map:
|
||||||
|
tag_map:
|
||||||
|
|
||||||
|
# Metadata elements
|
||||||
|
## https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta
|
||||||
|
meta_generator: true
|
||||||
|
|
||||||
|
# Date / Time format
|
||||||
|
## Hexo uses Moment.js to parse and display date
|
||||||
|
## You can customize the date format as defined in
|
||||||
|
## http://momentjs.com/docs/#/displaying/format/
|
||||||
|
date_format: YYYY-MM-DD
|
||||||
|
time_format: HH:mm:ss
|
||||||
|
## Use post's date for updated date unless set in front-matter
|
||||||
|
use_date_for_updated: false
|
||||||
|
|
||||||
|
# Pagination
|
||||||
|
## Set per_page to 0 to disable pagination
|
||||||
|
per_page: 10
|
||||||
|
pagination_dir: page
|
||||||
|
|
||||||
|
# Include / Exclude file(s)
|
||||||
|
## include:/exclude: options only apply to the 'source/' folder
|
||||||
|
include:
|
||||||
|
exclude:
|
||||||
|
ignore:
|
||||||
|
|
||||||
|
# Extensions
|
||||||
|
## Plugins: https://hexo.io/plugins/
|
||||||
|
## Themes: https://hexo.io/themes/
|
||||||
|
theme: custom
|
||||||
|
|
||||||
|
# Deployment
|
||||||
|
## Docs: https://hexo.io/docs/deployment.html
|
||||||
|
deploy:
|
||||||
|
type: ''
|
||||||
|
|
||||||
|
# searchdb
|
||||||
|
search:
|
||||||
|
path: ff-search.xml
|
||||||
|
field: post
|
||||||
|
format: html
|
||||||
|
limit: 10000
|
3996
package-lock.json
generated
Normal file
3996
package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load diff
27
package.json
Normal file
27
package.json
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
{
|
||||||
|
"name": "hexo-site",
|
||||||
|
"version": "0.0.0",
|
||||||
|
"private": true,
|
||||||
|
"scripts": {
|
||||||
|
"build": "hexo generate",
|
||||||
|
"clean": "hexo clean",
|
||||||
|
"deploy": "hexo deploy",
|
||||||
|
"server": "hexo server"
|
||||||
|
},
|
||||||
|
"hexo": {
|
||||||
|
"version": "4.2.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"hexo": "^4.0.0",
|
||||||
|
"hexo-generator-archive": "^1.0.0",
|
||||||
|
"hexo-generator-category": "^1.0.0",
|
||||||
|
"hexo-generator-index": "^1.0.0",
|
||||||
|
"hexo-generator-searchdb": "^1.2.0",
|
||||||
|
"hexo-generator-tag": "^1.0.0",
|
||||||
|
"hexo-renderer-ejs": "^1.0.0",
|
||||||
|
"hexo-renderer-less": "^1.0.0",
|
||||||
|
"hexo-renderer-marked": "^2.0.0",
|
||||||
|
"hexo-renderer-stylus": "^1.1.0",
|
||||||
|
"hexo-server": "^1.0.0"
|
||||||
|
}
|
||||||
|
}
|
4
scaffolds/draft.md
Normal file
4
scaffolds/draft.md
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
---
|
||||||
|
title: {{ title }}
|
||||||
|
tags:
|
||||||
|
---
|
4
scaffolds/page.md
Normal file
4
scaffolds/page.md
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
---
|
||||||
|
title: {{ title }}
|
||||||
|
date: {{ date }}
|
||||||
|
---
|
5
scaffolds/post.md
Normal file
5
scaffolds/post.md
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
title: {{ title }}
|
||||||
|
date: {{ date }}
|
||||||
|
tags:
|
||||||
|
---
|
27
themes/custom/_config.yml
Normal file
27
themes/custom/_config.yml
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
Menu:
|
||||||
|
Home:
|
||||||
|
url: /
|
||||||
|
text: Home
|
||||||
|
# Tag:
|
||||||
|
# url: /tags
|
||||||
|
# text: Tags
|
||||||
|
Archive:
|
||||||
|
url: /archives
|
||||||
|
text: Archives
|
||||||
|
# Search:
|
||||||
|
# url: /search
|
||||||
|
# text: Search
|
||||||
|
Pulsefire:
|
||||||
|
url: /pulsefire
|
||||||
|
text: Pulsefire
|
||||||
|
|
||||||
|
Icon:
|
||||||
|
Favicon: /images/favicon.ico
|
||||||
|
Aside:
|
||||||
|
Avatar: /images/avatar.jpg
|
||||||
|
Author: Willem Cazander
|
||||||
|
Description:
|
||||||
|
Github: https://github.com/immetoo
|
||||||
|
Email: w.cazander@gmail.com
|
||||||
|
Footer:
|
||||||
|
counter: false
|
2
themes/custom/layout/_partial/arrow.ejs
Normal file
2
themes/custom/layout/_partial/arrow.ejs
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
<pointer href="javascript:void(0);" class="arrow fa fa-arrow-up"></pointer>
|
||||||
|
<pointer href="javascript:void(0);" class="arrow fa fa-arrow-down"></pointer>
|
12
themes/custom/layout/_partial/aside.ejs
Normal file
12
themes/custom/layout/_partial/aside.ejs
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
<aside class="aside">
|
||||||
|
<div class="aside-content">
|
||||||
|
<div class="aside-avatar"><img src="<%= theme.Aside.Avatar %>" alt="<%= theme.Aside.Author %>"></div>
|
||||||
|
<div class="aside-author"><%= theme.Aside.Author %></div>
|
||||||
|
<div class="aside-description"><%= theme.Aside.Description %></div>
|
||||||
|
<ul class="aside-contact clearFix">
|
||||||
|
<li><span class="fa fa-github"></span><a href="<%= theme.Aside.Github %>">Github</a></li>
|
||||||
|
<li><span class="fa fa-envelope"></span><a href="javascript:void(0);"><%= theme.Aside.Email %></a></li>
|
||||||
|
<li><span class="fa fa-envelope"></span><a href="javascript:void(0);"><%= theme.Aside.Email %></a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</aside>
|
11
themes/custom/layout/_partial/head.ejs
Normal file
11
themes/custom/layout/_partial/head.ejs
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport"
|
||||||
|
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
||||||
|
<title><%=config.title %></title>
|
||||||
|
<%- favicon_tag(theme.Icon.Favicon) %>
|
||||||
|
<%- css("https://cdn.jsdelivr.net/gh/meethigher/cdn@9.0/css/meethigher-font.css") %>
|
||||||
|
<%- css("https://cdn.jsdelivr.net/gh/meethigher/cdn@9.0/css/animate.css") %>
|
||||||
|
<%- css('css/index.css') %>
|
||||||
|
</head>
|
10
themes/custom/layout/_partial/header.ejs
Normal file
10
themes/custom/layout/_partial/header.ejs
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
<header class="header">
|
||||||
|
<div class="header-menu"><span class="fa fa-bars"></span></div>
|
||||||
|
<div class="header-search"><span class="fa fa-search"></span></div>
|
||||||
|
<div class="header-title"><a href="/"><%=config.title%> | <span class="header-subtitle"><%=config.subtitle%></span></a></div>
|
||||||
|
<ul class="header-navbar clearFix">
|
||||||
|
<% for(name in theme.Menu) { %>
|
||||||
|
<li><a href="<%- url_for(theme.Menu[name].url) %>"><%=theme.Menu[name].text%></a></li>
|
||||||
|
<% } %>
|
||||||
|
</ul>
|
||||||
|
</header>
|
10
themes/custom/layout/_partial/paginator.ejs
Normal file
10
themes/custom/layout/_partial/paginator.ejs
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
<div class="post-nav">
|
||||||
|
<% if(page.total > 1) { %>
|
||||||
|
<div class="page-nav">
|
||||||
|
<%- paginator({
|
||||||
|
prev_text: "«",
|
||||||
|
next_text: "»"
|
||||||
|
}) %>
|
||||||
|
</div>
|
||||||
|
<% } %>
|
||||||
|
</div>
|
1
themes/custom/layout/_partial/particles.ejs
Normal file
1
themes/custom/layout/_partial/particles.ejs
Normal file
|
@ -0,0 +1 @@
|
||||||
|
<div id="particles-js"></div>
|
1
themes/custom/layout/_partial/search.ejs
Normal file
1
themes/custom/layout/_partial/search.ejs
Normal file
|
@ -0,0 +1 @@
|
||||||
|
<div class="search"><span class="fa fa-search"></span></div>
|
1
themes/custom/layout/_partial/toolbar.ejs
Normal file
1
themes/custom/layout/_partial/toolbar.ejs
Normal file
|
@ -0,0 +1 @@
|
||||||
|
<div class="toolbar"><span class="fa fa-th"></span></div>
|
27
themes/custom/layout/archive.ejs
Normal file
27
themes/custom/layout/archive.ejs
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
<div class="main-content meethigher-scroll">
|
||||||
|
<% let postsArr = [];
|
||||||
|
site.posts.forEach(function (post) {
|
||||||
|
postsArr.push(post);
|
||||||
|
});
|
||||||
|
let compare = function (obj1, obj2) {
|
||||||
|
var val1 = obj1.date;
|
||||||
|
var val2 = obj2.date;
|
||||||
|
if (val1 > val2) {
|
||||||
|
return -1;
|
||||||
|
} else if (val1 < val2) {
|
||||||
|
return 1;
|
||||||
|
} else {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
postsArr = postsArr.sort(compare);
|
||||||
|
%>
|
||||||
|
<div class="tag-tags">
|
||||||
|
<span class="tags-title">Archive - Total of <%= postsArr.length %> posts.</span>
|
||||||
|
<ul class="posts-all">
|
||||||
|
<% postsArr.forEach(function(post){ %>
|
||||||
|
<li><span><%= time(post.date, "YYYY-MM-DD") %></span><a href="<%- url_for("/") %><%= post.path %>"><%= post.title %></a></li>
|
||||||
|
<% }) %>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
27
themes/custom/layout/index.ejs
Normal file
27
themes/custom/layout/index.ejs
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
<div class="main-content meethigher-scroll">
|
||||||
|
<div class="main-content-post">
|
||||||
|
<% page.posts.each(function (post) { %>
|
||||||
|
<article class="post">
|
||||||
|
<div class="post-title">
|
||||||
|
<a href="<%- url_for(post.path) %>"><%= post.title %></a>
|
||||||
|
</div>
|
||||||
|
<div class="post-excerpt">
|
||||||
|
<%- post.excerpt %>
|
||||||
|
</div>
|
||||||
|
<div class="post-content">
|
||||||
|
<a href="<%- url_for(post.path) %>">Read</a>
|
||||||
|
<% if (post.tags && post.tags.length){ %>
|
||||||
|
<%- list_tags(post.tags, {
|
||||||
|
show_count: false,
|
||||||
|
class: 'article-tag'
|
||||||
|
}) %>
|
||||||
|
<% } %>
|
||||||
|
</div>
|
||||||
|
<div class="post-media">
|
||||||
|
<span class="post-time">posted @ <%- date(post.date, "YYYY-MM-DD HH:mm:ss") %> <%- config.author %></span>
|
||||||
|
</div>
|
||||||
|
</article>
|
||||||
|
<% }) %>
|
||||||
|
<%- partial("_partial/paginator") %>
|
||||||
|
</div>
|
||||||
|
</div>
|
21
themes/custom/layout/layout.ejs
Normal file
21
themes/custom/layout/layout.ejs
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
<!doctype html>
|
||||||
|
<html lang="en">
|
||||||
|
<%- partial("_partial/head") %>
|
||||||
|
<body>
|
||||||
|
<%- partial("_partial/header") %>
|
||||||
|
<main class="main">
|
||||||
|
<%- body %>
|
||||||
|
<%- partial("_partial/arrow") %>
|
||||||
|
</main>
|
||||||
|
<%- partial("_partial/aside") %>
|
||||||
|
<%- partial("_partial/toolbar") %>
|
||||||
|
<!-- partial("_partial/search") -->
|
||||||
|
<%- partial("_partial/particles") %>
|
||||||
|
<%- js("https://cdn.jsdelivr.net/gh/meethigher/cdn@9.0/js/jquery.min.js") %>
|
||||||
|
<%- js("https://cdn.jsdelivr.net/gh/meethigher/cdn@9.0/js/particles.min.js") %>
|
||||||
|
<%- js("https://cdn.jsdelivr.net/gh/meethigher/cdn@9.0/js/app.js") %>
|
||||||
|
<%- js("https://cdn.jsdelivr.net/gh/meethigher/cdn@11/js/layer/layer.js") %>
|
||||||
|
<%- js("js/meethigher.js") %>
|
||||||
|
<%- js("js/toolbar.js") %>
|
||||||
|
</body>
|
||||||
|
</html>
|
20
themes/custom/layout/post.ejs
Normal file
20
themes/custom/layout/post.ejs
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
<div class="main-content meethigher-scroll">
|
||||||
|
<article class="post">
|
||||||
|
<div class="post-title">
|
||||||
|
<h2 class="title"><%= page.title %></h2>
|
||||||
|
</div>
|
||||||
|
<div class="post-media2">
|
||||||
|
<span class="post-time"><%- date(page.date, "YYYY-MM-DD") %></span>
|
||||||
|
<% if (page.tags && page.tags.length){ %>
|
||||||
|
<%- list_tags(page.tags, {
|
||||||
|
show_count: false,
|
||||||
|
class: 'article-tag'
|
||||||
|
}) %>
|
||||||
|
<% } %>
|
||||||
|
</div>
|
||||||
|
<div class="post-content blog-markdown">
|
||||||
|
<%- page.more %>
|
||||||
|
</div>
|
||||||
|
</article>
|
||||||
|
<div class="outline"><span class="fa fa-list"></span></div>
|
||||||
|
</div>
|
23
themes/custom/layout/tag.ejs
Normal file
23
themes/custom/layout/tag.ejs
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
<div class="main-content meethigher-scroll">
|
||||||
|
<div class="tag-tags">
|
||||||
|
<% if(!is_tag()) { %>
|
||||||
|
<span class="tags-title">No tag found - Total <%= site.tags.length %> tags.</span>
|
||||||
|
<ul class="tags-all clearFix">
|
||||||
|
<% for(let key in site.tags.data) { %>
|
||||||
|
<li><a href="<%- url_for("/tags/") %><%= site.tags.data[key].name %>/"><%= site.tags.data[key].name %></a></li>
|
||||||
|
<% } %>
|
||||||
|
</ul>
|
||||||
|
<% } else { %>
|
||||||
|
<% let tagNum = 0;site.tags.each(function (tag) {
|
||||||
|
if (tag.name == page.tag.trim()) tagNum = tag.length;
|
||||||
|
})%>
|
||||||
|
<span class="tags-title">Searched Tag - <%= page.tag %> - Found <%= tagNum %> Result</span>
|
||||||
|
<ul class="posts-all">
|
||||||
|
<% page.posts.each(function(post){ %>
|
||||||
|
<li><span><%= time(post.date, "YYYY-MM-DD") %></span><a href="<%- url_for("/") %><%= post.path %>"><%= post.title %></a></li>
|
||||||
|
<% }) %>
|
||||||
|
</ul>
|
||||||
|
<% } %>
|
||||||
|
</div>
|
||||||
|
<%- partial("_partial/paginator") %>
|
||||||
|
</div>
|
49
themes/custom/source/404.html
Normal file
49
themes/custom/source/404.html
Normal file
|
@ -0,0 +1,49 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta name="generator" content="Hexo 3.9.0">
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport"
|
||||||
|
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
|
||||||
|
<title>Page not found</title>
|
||||||
|
<link rel="stylesheet" href="/css/index.css">
|
||||||
|
<style>
|
||||||
|
error {
|
||||||
|
font-size: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
error span {
|
||||||
|
padding: 0 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
div {
|
||||||
|
margin: 0 auto;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<error>
|
||||||
|
<div>Page not found!</div>
|
||||||
|
</error>
|
||||||
|
<div id="particles-js"></div>
|
||||||
|
<script
|
||||||
|
src="https://cdn.jsdelivr.net/gh/meethigher/cdn@9.0/js/jquery.min.js"></script>
|
||||||
|
<script
|
||||||
|
src="https://cdn.jsdelivr.net/gh/meethigher/cdn@9.0/js/particles.min.js"></script>
|
||||||
|
<script src="https://cdn.jsdelivr.net/gh/meethigher/cdn@9.0/js/app.js"></script>
|
||||||
|
<script>
|
||||||
|
$span = $("span");
|
||||||
|
let i = $span.text();
|
||||||
|
let interval = setInterval(function() {
|
||||||
|
if (i <= 0) {
|
||||||
|
clearInterval(interval);
|
||||||
|
window.location.href = "https://meethigher.top/";
|
||||||
|
} else {
|
||||||
|
i--;
|
||||||
|
$span.text(i);
|
||||||
|
}
|
||||||
|
}, 1000);
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
1
themes/custom/source/css/_partial/adapter.less
Normal file
1
themes/custom/source/css/_partial/adapter.less
Normal file
|
@ -0,0 +1 @@
|
||||||
|
.adapterMixin(@len);
|
0
themes/custom/source/css/_partial/archive.less
Normal file
0
themes/custom/source/css/_partial/archive.less
Normal file
93
themes/custom/source/css/_partial/aside.less
Normal file
93
themes/custom/source/css/_partial/aside.less
Normal file
|
@ -0,0 +1,93 @@
|
||||||
|
.aside {
|
||||||
|
display:none;
|
||||||
|
position:absolute;
|
||||||
|
top:0;
|
||||||
|
right:0;
|
||||||
|
width:100%;
|
||||||
|
height:100%;
|
||||||
|
overflow:hidden;
|
||||||
|
background-color: rgba(0,0,0,0.3);
|
||||||
|
.aside-content {
|
||||||
|
position:absolute;
|
||||||
|
top:0;
|
||||||
|
right:0;
|
||||||
|
width:750rem/@baseFontSize;
|
||||||
|
transform:translateX(750rem/@baseFontSize);
|
||||||
|
transition:transform .75s;
|
||||||
|
height:100%;
|
||||||
|
background-color: rgba(0,0,0,.9);
|
||||||
|
padding:40rem/@baseFontSize 15rem/@baseFontSize;
|
||||||
|
.aside-avatar {
|
||||||
|
width:128rem/@baseFontSize;
|
||||||
|
height:128rem/@baseFontSize;
|
||||||
|
display:block;
|
||||||
|
border-radius:50%;
|
||||||
|
margin:0 auto;
|
||||||
|
overflow:hidden;
|
||||||
|
img {
|
||||||
|
width:128rem/@baseFontSize;
|
||||||
|
height:128rem/@baseFontSize;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.aside-author {
|
||||||
|
text-align:center;
|
||||||
|
font-family:"华文行楷",sans-serif;
|
||||||
|
font-size:40rem/@baseFontSize;
|
||||||
|
margin-top:20rem/@baseFontSize;
|
||||||
|
}
|
||||||
|
.aside-description {
|
||||||
|
text-align:center;
|
||||||
|
font-family:"华文行楷",sans-serif;
|
||||||
|
font-size:30rem/@baseFontSize;
|
||||||
|
margin-top:20rem/@baseFontSize;
|
||||||
|
}
|
||||||
|
.aside-contact {
|
||||||
|
margin-top:20rem/@baseFontSize;
|
||||||
|
li {
|
||||||
|
float:left;
|
||||||
|
width:220rem/@baseFontSize;
|
||||||
|
height:220rem/@baseFontSize;
|
||||||
|
margin:0 10rem/@baseFontSize;
|
||||||
|
border-radius:10rem/@baseFontSize;
|
||||||
|
background-color: rgba(255,255,255,.1);
|
||||||
|
text-align:center;
|
||||||
|
overflow:hidden;
|
||||||
|
position:relative;
|
||||||
|
span {
|
||||||
|
display:block;
|
||||||
|
width:100%;
|
||||||
|
height:100%;
|
||||||
|
line-height:220rem/@baseFontSize;
|
||||||
|
text-align:center;
|
||||||
|
}
|
||||||
|
span.fa {
|
||||||
|
font-size:30rem/@baseFontSize;
|
||||||
|
}
|
||||||
|
a {
|
||||||
|
position:absolute;
|
||||||
|
top:0;
|
||||||
|
left:0;
|
||||||
|
color: @colorFont;
|
||||||
|
display:block;
|
||||||
|
background-color: #CEBB3B;
|
||||||
|
width:100%;
|
||||||
|
height:100%;
|
||||||
|
line-height:220rem/@baseFontSize;
|
||||||
|
text-align:center;
|
||||||
|
transform:translateY(220rem/@baseFontSize);
|
||||||
|
overflow:hidden;
|
||||||
|
transition:transform .3s;
|
||||||
|
}
|
||||||
|
a.in {
|
||||||
|
transform:translateY(0);
|
||||||
|
}
|
||||||
|
img {
|
||||||
|
width:220rem/@baseFontSize;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.in {
|
||||||
|
transform:translateX(0);
|
||||||
|
}
|
||||||
|
}
|
13
themes/custom/source/css/_partial/footer.less
Normal file
13
themes/custom/source/css/_partial/footer.less
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
/*
|
||||||
|
.footer {
|
||||||
|
width:100%;
|
||||||
|
height:80rem/@baseFontSize;
|
||||||
|
background-color: @colorBar;
|
||||||
|
font-size: 20rem/@baseFontSize;
|
||||||
|
position:fixed;
|
||||||
|
bottom:0;
|
||||||
|
left:0;
|
||||||
|
text-align:center;
|
||||||
|
line-height:80rem/@baseFontSize;
|
||||||
|
border-top:2px solid #fff;
|
||||||
|
}*/
|
102
themes/custom/source/css/_partial/header.less
Normal file
102
themes/custom/source/css/_partial/header.less
Normal file
|
@ -0,0 +1,102 @@
|
||||||
|
.header {
|
||||||
|
width:100%;
|
||||||
|
height:80rem/@baseFontSize;
|
||||||
|
background-color: @colorBar;
|
||||||
|
font-size:20rem/@baseFontSize;
|
||||||
|
padding:0 80rem/@baseFontSize;
|
||||||
|
position:fixed;
|
||||||
|
top:0;
|
||||||
|
left:0;
|
||||||
|
line-height:80rem/@baseFontSize;
|
||||||
|
border-bottom:2px solid #fff;
|
||||||
|
a {
|
||||||
|
transition: all 0.3s ease !important;
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
color: @colorFontHover !important;
|
||||||
|
text-decoration: none !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.header-menu,.header-search {
|
||||||
|
cursor:pointer;
|
||||||
|
display:none;
|
||||||
|
position:absolute;
|
||||||
|
top:0;
|
||||||
|
span {
|
||||||
|
font-size:30rem/@baseFontSize;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.header-menu {
|
||||||
|
left:20rem/@baseFontSize;
|
||||||
|
}
|
||||||
|
.header-search {
|
||||||
|
right:20rem/@baseFontSize;
|
||||||
|
}
|
||||||
|
.header-title {
|
||||||
|
a {
|
||||||
|
font-size:25rem/@baseFontSize;
|
||||||
|
.header-subtitle {
|
||||||
|
font-size:20rem/@baseFontSize;
|
||||||
|
transition: all .3s ease;
|
||||||
|
}
|
||||||
|
&:hover .header-subtitle {
|
||||||
|
color:@colorFontHover;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@media screen and (min-width:750px) {
|
||||||
|
.header-title {
|
||||||
|
display:inline-block;
|
||||||
|
float:left;
|
||||||
|
a {
|
||||||
|
color:#fff;
|
||||||
|
.header-subtitle {
|
||||||
|
color:#fff;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.header-navbar {
|
||||||
|
float:right;
|
||||||
|
li {
|
||||||
|
float:left;
|
||||||
|
a {
|
||||||
|
padding:0 10rem/@baseFontSize;
|
||||||
|
color:#fff;
|
||||||
|
}
|
||||||
|
//a:hover {
|
||||||
|
// color:@colorFontHover;
|
||||||
|
//}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@media screen and (max-width:750px) {
|
||||||
|
.header-menu,.header-search {
|
||||||
|
display:block;
|
||||||
|
}
|
||||||
|
.header-title {
|
||||||
|
text-align:center;
|
||||||
|
a {
|
||||||
|
color:#fff;
|
||||||
|
.header-subtitle {
|
||||||
|
color:#fff;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.header-navbar {
|
||||||
|
display:none;
|
||||||
|
line-height:40rem/@baseFontSize;
|
||||||
|
position:absolute;
|
||||||
|
top:80rem/@baseFontSize;
|
||||||
|
left:0;
|
||||||
|
li {
|
||||||
|
padding:0 20rem/@baseFontSize;
|
||||||
|
a {
|
||||||
|
color:#fff;
|
||||||
|
}
|
||||||
|
//a:hover {
|
||||||
|
// color:@colorFontHover;
|
||||||
|
//}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
120
themes/custom/source/css/_partial/layout.less
Normal file
120
themes/custom/source/css/_partial/layout.less
Normal file
|
@ -0,0 +1,120 @@
|
||||||
|
.main {
|
||||||
|
width:100%;
|
||||||
|
height:100%;
|
||||||
|
padding:80rem/@baseFontSize 0 0 0;
|
||||||
|
overflow:hidden;
|
||||||
|
a {
|
||||||
|
transition: all 0.3s ease !important;
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
color: @colorFontHover !important;
|
||||||
|
text-decoration: none !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.arrow {
|
||||||
|
display:none;
|
||||||
|
padding:5rem/@baseFontSize 15rem/@baseFontSize;
|
||||||
|
border-radius:10rem/@baseFontSize;
|
||||||
|
background-color:rgba(255,255,255,.2) ;
|
||||||
|
color:@colorFont;
|
||||||
|
position:absolute;
|
||||||
|
left:0;
|
||||||
|
&.fa-arrow-down {
|
||||||
|
bottom:20rem/@baseFontSize;
|
||||||
|
}
|
||||||
|
&.fa-arrow-up {
|
||||||
|
top:100rem/@baseFontSize;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.main-content {
|
||||||
|
width:100%;
|
||||||
|
height:100%;
|
||||||
|
background-color: @colorBg;
|
||||||
|
padding:50rem/@baseFontSize 50rem/@baseFontSize;
|
||||||
|
overflow:auto;
|
||||||
|
.post {
|
||||||
|
border-radius:20rem/@baseFontSize;
|
||||||
|
padding:40rem/@baseFontSize 20rem/@baseFontSize;
|
||||||
|
min-width:100%;
|
||||||
|
background-color: rgba(255,255,255,.1);
|
||||||
|
margin-bottom:50rem/@baseFontSize;
|
||||||
|
overflow:hidden;
|
||||||
|
.post-title {
|
||||||
|
a {
|
||||||
|
font-size:25rem/@baseFontSize;
|
||||||
|
color:@colorFont;
|
||||||
|
}
|
||||||
|
h2 {
|
||||||
|
margin:10rem/@baseFontSize 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.post-excerpt {
|
||||||
|
margin-top:40rem/@baseFontSize;
|
||||||
|
}
|
||||||
|
.post-content {
|
||||||
|
margin-top:40rem/@baseFontSize;
|
||||||
|
a {
|
||||||
|
padding:5rem/@baseFontSize 15rem/@baseFontSize;
|
||||||
|
border-radius:10rem/@baseFontSize;
|
||||||
|
background-color:rgba(255,255,255,.2) ;
|
||||||
|
color:@colorFont;
|
||||||
|
}
|
||||||
|
.article-tag-list {
|
||||||
|
float:right;
|
||||||
|
.article-tag-list-item {
|
||||||
|
float:left;
|
||||||
|
margin:0 5rem/@baseFontSize;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.post-media {
|
||||||
|
margin-top:40rem/@baseFontSize;
|
||||||
|
text-align:right;
|
||||||
|
.post-time {
|
||||||
|
font-size:15rem/@baseFontSize;
|
||||||
|
}
|
||||||
|
a {
|
||||||
|
padding:5rem/@baseFontSize 15rem/@baseFontSize;
|
||||||
|
border-radius:10rem/@baseFontSize;
|
||||||
|
background-color:rgba(255,255,255,.2) ;
|
||||||
|
color:@colorFont;
|
||||||
|
}
|
||||||
|
.article-tag-list {
|
||||||
|
float:left;
|
||||||
|
.article-tag-list-item {
|
||||||
|
float:left;
|
||||||
|
margin:0 5rem/@baseFontSize;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.post-nav {
|
||||||
|
text-align:center;
|
||||||
|
.page-nav {
|
||||||
|
display:inline-block;
|
||||||
|
vertical-align: middle;
|
||||||
|
.page-number,.extend.prev,.extend.next {
|
||||||
|
padding:5rem/@baseFontSize 15rem/@baseFontSize;
|
||||||
|
border-radius:10rem/@baseFontSize;
|
||||||
|
margin:0 5rem/@baseFontSize;
|
||||||
|
background-color:rgba(255,255,255,.2) ;
|
||||||
|
color:@colorFont;
|
||||||
|
}
|
||||||
|
span.page-number {
|
||||||
|
color:@colorFontHover;
|
||||||
|
}
|
||||||
|
a.page-number {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#particles-js {
|
||||||
|
position:fixed;
|
||||||
|
top:0;
|
||||||
|
left:0;
|
||||||
|
width:100%;
|
||||||
|
height:100%;
|
||||||
|
background-color: @colorDiy;
|
||||||
|
z-index:-1;
|
||||||
|
}
|
14
themes/custom/source/css/_partial/meethigher-scroll.less
Normal file
14
themes/custom/source/css/_partial/meethigher-scroll.less
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
.meethigher-scroll::-webkit-scrollbar {/*滚动条整体样式*/
|
||||||
|
width: 5rem/@baseFontSize; /*高宽分别对应横竖滚动条的尺寸*/
|
||||||
|
height: 10rem/@baseFontSize;
|
||||||
|
}
|
||||||
|
.meethigher-scroll::-webkit-scrollbar-thumb {/*滚动条里面小方块*/
|
||||||
|
border-radius: 10px;
|
||||||
|
background-color: @colorDiy;
|
||||||
|
background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .2) 50%, rgba(255, 255, 255, .2) 75%, transparent 75%, transparent);
|
||||||
|
}
|
||||||
|
.meethigher-scroll::-webkit-scrollbar-track {/*滚动条里面轨道*/
|
||||||
|
-webkit-box-shadow: inset 0 0 5px rgba(0,0,0,0.2);
|
||||||
|
border-radius: 10px;
|
||||||
|
background: #EDEDED;
|
||||||
|
}
|
8
themes/custom/source/css/_partial/mixins.less
Normal file
8
themes/custom/source/css/_partial/mixins.less
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
.adapterMixin(@index) when (@index>=1) {
|
||||||
|
@media(min-width:extract(@adapterDeviceList,@index)){
|
||||||
|
html {
|
||||||
|
font-size: @baseFontSize/ @psdWidth*extract(@adapterDeviceList,@index);
|
||||||
|
}
|
||||||
|
.adapterMixin(@index - 1);
|
||||||
|
}
|
||||||
|
}
|
400
themes/custom/source/css/_partial/post.less
Normal file
400
themes/custom/source/css/_partial/post.less
Normal file
|
@ -0,0 +1,400 @@
|
||||||
|
.busuanzi {
|
||||||
|
margin-top: 30rem/@baseFontSize;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
//下面是目录样式
|
||||||
|
.outline {
|
||||||
|
padding: 5rem/@baseFontSize 15rem/@baseFontSize;
|
||||||
|
background-color: rgba(255, 255, 255, .2);
|
||||||
|
color: @colorFont;
|
||||||
|
cursor: pointer;
|
||||||
|
position: absolute;
|
||||||
|
top: 200px;
|
||||||
|
right: 0;
|
||||||
|
border-radius: 10rem/@baseFontSize;
|
||||||
|
}
|
||||||
|
|
||||||
|
.layui-layer-page {
|
||||||
|
background-color: #13172f !important;
|
||||||
|
border: 1px solid #fff !important;
|
||||||
|
border-radius: 10px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.layui-layer-title {
|
||||||
|
border-top-left-radius: 10px !important;
|
||||||
|
border-top-right-radius:10px !important;
|
||||||
|
}
|
||||||
|
.layui-layer-content ul {
|
||||||
|
list-style:none;
|
||||||
|
}
|
||||||
|
.layui-layer-dialog {
|
||||||
|
background-color: #13172F !important;
|
||||||
|
border: 1px solid #fff !important;
|
||||||
|
border-radius: 10px !important;
|
||||||
|
}
|
||||||
|
.catalog-container {
|
||||||
|
padding:5px 10px;
|
||||||
|
font-size:16px;
|
||||||
|
}
|
||||||
|
.catalog-container ul li a {
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
//上面是目录样式
|
||||||
|
.post-media2 {
|
||||||
|
margin-top: 20rem/@baseFontSize;
|
||||||
|
|
||||||
|
.post-time {
|
||||||
|
padding: 5rem/@baseFontSize 15rem/@baseFontSize;
|
||||||
|
border-radius: 10rem/@baseFontSize;
|
||||||
|
background-color: rgba(255, 255, 255, .2);
|
||||||
|
color: @colorFont;
|
||||||
|
}
|
||||||
|
|
||||||
|
.article-tag-list {
|
||||||
|
float: left;
|
||||||
|
|
||||||
|
.article-tag-list-item {
|
||||||
|
float: left;
|
||||||
|
margin: 0 5rem/@baseFontSize;
|
||||||
|
|
||||||
|
a {
|
||||||
|
padding: 5rem/@baseFontSize 15rem/@baseFontSize;
|
||||||
|
border-radius: 10rem/@baseFontSize;
|
||||||
|
background-color: rgba(255, 255, 255, .2);
|
||||||
|
color: @colorFont;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.blog-markdown {
|
||||||
|
font-size: 18rem/@baseFontSize !important;
|
||||||
|
/*设置h标签*/
|
||||||
|
.postSize(@fontSize) {
|
||||||
|
font-size: @fontSize/@baseFontSize !important;
|
||||||
|
margin: 10rem/@baseFontSize 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
h6 {
|
||||||
|
.postSize(18rem);
|
||||||
|
}
|
||||||
|
|
||||||
|
h5 {
|
||||||
|
.postSize(20rem);
|
||||||
|
}
|
||||||
|
|
||||||
|
h4 {
|
||||||
|
.postSize(22rem);
|
||||||
|
}
|
||||||
|
|
||||||
|
h3 {
|
||||||
|
.postSize(24rem);
|
||||||
|
}
|
||||||
|
|
||||||
|
h2 {
|
||||||
|
.postSize(26rem);
|
||||||
|
}
|
||||||
|
|
||||||
|
h1 {
|
||||||
|
.postSize(28rem);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*设置无序有序标签*/
|
||||||
|
|
||||||
|
ul, ol {
|
||||||
|
margin-left: 30rem/@baseFontSize;
|
||||||
|
|
||||||
|
li {
|
||||||
|
margin: 3rem/@baseFontSize 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ul {
|
||||||
|
list-style-type: disc;
|
||||||
|
}
|
||||||
|
|
||||||
|
ol {
|
||||||
|
list-style-type: decimal;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*设置引用标签*/
|
||||||
|
|
||||||
|
blockquote {
|
||||||
|
border: none;
|
||||||
|
color: @colorFont;
|
||||||
|
margin: 20rem/@baseFontSize 0;
|
||||||
|
padding: 0 0 0 10rem/@baseFontSize;
|
||||||
|
min-height: 20rem/@baseFontSize;
|
||||||
|
background-color: transparent;
|
||||||
|
line-height: inherit;
|
||||||
|
border-left: 4px solid @post-blockquote-border-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*设置加粗倾斜*/
|
||||||
|
|
||||||
|
strong {
|
||||||
|
margin: 0 3rem/@baseFontSize;
|
||||||
|
}
|
||||||
|
|
||||||
|
em {
|
||||||
|
padding-right: 3rem/@baseFontSize;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*设置图片*/
|
||||||
|
@media screen and (min-width: 767px) {
|
||||||
|
img {
|
||||||
|
max-width: 930rem/@baseFontSize;
|
||||||
|
display: block;
|
||||||
|
margin: 15rem/@baseFontSize auto 30rem/@baseFontSize auto;
|
||||||
|
border-radius: 3rem/@baseFontSize;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@media screen and (max-width: 767px) {
|
||||||
|
img {
|
||||||
|
width: 100%;
|
||||||
|
display: block;
|
||||||
|
margin: 15rem/@baseFontSize auto 30rem/@baseFontSize auto;
|
||||||
|
border-radius: 3rem/@baseFontSize;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/*设置表格*/
|
||||||
|
|
||||||
|
> table {
|
||||||
|
font-size: 16rem/@baseFontSize;
|
||||||
|
border-collapse: collapse;
|
||||||
|
border-spacing: 0;
|
||||||
|
empty-cells: show;
|
||||||
|
border: 1px solid @post-table-border-color;
|
||||||
|
width: 100%;
|
||||||
|
margin-bottom: 24rem/@baseFontSize;
|
||||||
|
border-radius: 3rem/@baseFontSize;
|
||||||
|
|
||||||
|
th {
|
||||||
|
font-family: inherit;
|
||||||
|
font-size: inherit;
|
||||||
|
background-color: @post-table-thead-bg-color !important;
|
||||||
|
white-space: nowrap;
|
||||||
|
font-weight: 600;
|
||||||
|
border: 1px solid @post-table-border-color !important;
|
||||||
|
padding: 8rem/@baseFontSize 16rem/baseFontSize !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
td {
|
||||||
|
border: 1px solid @post-table-border-color !important;
|
||||||
|
padding: 8rem/@baseFontSize 16rem/@baseFontSize !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*设置超链接*/
|
||||||
|
|
||||||
|
a {
|
||||||
|
padding: 0 !important;
|
||||||
|
border-radius: 0 !important;
|
||||||
|
color: @colorFontHover !important;
|
||||||
|
background-color: transparent !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*设置段落格式*/
|
||||||
|
|
||||||
|
p {
|
||||||
|
margin: 10rem/@baseFontSize auto;
|
||||||
|
text-indent: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*设置关键字*/
|
||||||
|
|
||||||
|
code {
|
||||||
|
color: @colorFont;
|
||||||
|
line-height: 1;
|
||||||
|
padding: 3rem/@baseFontSize 4rem/@baseFontSize;
|
||||||
|
margin: 0 3rem/@baseFontSize;
|
||||||
|
border-radius: 3rem/@baseFontSize !important;
|
||||||
|
border: 1px solid @post-table-border-color;
|
||||||
|
background-color: @post-table-thead-bg-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*设置代码块*/
|
||||||
|
|
||||||
|
figure.highlight {
|
||||||
|
background-color: @post-table-thead-bg-color;
|
||||||
|
padding: 30rem/@baseFontSize 0 10rem/@baseFontSize 0;
|
||||||
|
border: 1px solid @post-table-border-color;
|
||||||
|
border-radius: 3rem/@baseFontSize;
|
||||||
|
position: relative;
|
||||||
|
overflow-x: auto;
|
||||||
|
width: 100%;
|
||||||
|
|
||||||
|
span.language {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
padding: 5rem/@baseFontSize 6rem/@baseFontSize 6rem/@baseFontSize 6rem/@baseFontSize;
|
||||||
|
border-radius: 10rem/@baseFontSize;
|
||||||
|
}
|
||||||
|
|
||||||
|
table {
|
||||||
|
width: 100%;
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
.line {
|
||||||
|
font-family: "Comic Sans MS", Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace !important;
|
||||||
|
line-height: 12rem/@baseFontSize;
|
||||||
|
|
||||||
|
.comment,
|
||||||
|
.quote {
|
||||||
|
color: #5c6370;
|
||||||
|
font-style: italic;
|
||||||
|
}
|
||||||
|
|
||||||
|
.doctag,
|
||||||
|
.keyword,
|
||||||
|
.formula {
|
||||||
|
color: #c678dd;
|
||||||
|
}
|
||||||
|
|
||||||
|
.section,
|
||||||
|
.name,
|
||||||
|
.selector-tag,
|
||||||
|
.deletion,
|
||||||
|
.subst {
|
||||||
|
color: #e06c75;
|
||||||
|
}
|
||||||
|
|
||||||
|
.literal {
|
||||||
|
color: #56b6c2;
|
||||||
|
}
|
||||||
|
|
||||||
|
.string,
|
||||||
|
.regexp,
|
||||||
|
.addition,
|
||||||
|
.attribute,
|
||||||
|
.meta-string {
|
||||||
|
color: #98c379;
|
||||||
|
}
|
||||||
|
|
||||||
|
.built_in,
|
||||||
|
.class .title {
|
||||||
|
color: #e6c07b;
|
||||||
|
}
|
||||||
|
|
||||||
|
.attr,
|
||||||
|
.variable,
|
||||||
|
.template-variable,
|
||||||
|
.type,
|
||||||
|
.selector-class,
|
||||||
|
.selector-attr,
|
||||||
|
.selector-pseudo,
|
||||||
|
.number {
|
||||||
|
color: #d19a66;
|
||||||
|
}
|
||||||
|
|
||||||
|
.symbol,
|
||||||
|
.bullet,
|
||||||
|
.link,
|
||||||
|
.meta,
|
||||||
|
.selector-id,
|
||||||
|
.title {
|
||||||
|
color: #61aeee;
|
||||||
|
}
|
||||||
|
|
||||||
|
.emphasis {
|
||||||
|
font-style: italic;
|
||||||
|
}
|
||||||
|
|
||||||
|
.strong {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.link {
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.gutter {
|
||||||
|
width: 30rem/@baseFontSize;
|
||||||
|
|
||||||
|
pre {
|
||||||
|
padding-left: 8rem/@baseFontSize;
|
||||||
|
text-align: right;
|
||||||
|
color: @post-table-border-color;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.code {
|
||||||
|
pre {
|
||||||
|
padding-right: 8rem/@baseFontSize;
|
||||||
|
padding-left: 8rem/@baseFontSize;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&::before {
|
||||||
|
position: absolute;
|
||||||
|
top: -30rem/@baseFontSize;
|
||||||
|
left: 0;
|
||||||
|
min-width: 100%;
|
||||||
|
display: block;
|
||||||
|
height: 30rem/@baseFontSize;
|
||||||
|
background-color: @post-table-border-color;
|
||||||
|
content: ""
|
||||||
|
}
|
||||||
|
|
||||||
|
tbody {
|
||||||
|
pointer-events: none;
|
||||||
|
|
||||||
|
&::after {
|
||||||
|
position: absolute;
|
||||||
|
top: -30rem/@baseFontSize;
|
||||||
|
right: 0;
|
||||||
|
content: "copy";
|
||||||
|
padding: 5rem/@baseFontSize 6rem/@baseFontSize 6rem/@baseFontSize 6rem/@baseFontSize;
|
||||||
|
border-radius: 10rem/@baseFontSize;
|
||||||
|
background-color: skyblue;
|
||||||
|
cursor: pointer;
|
||||||
|
pointer-events: all;
|
||||||
|
}
|
||||||
|
|
||||||
|
.before {
|
||||||
|
opacity: 0;
|
||||||
|
position: absolute;
|
||||||
|
top: -30rem/@baseFontSize;
|
||||||
|
right: 50rem/@baseFontSize;
|
||||||
|
padding: 5rem/@baseFontSize 6rem/@baseFontSize 6rem/@baseFontSize 6rem/@baseFontSize;
|
||||||
|
background-color: skyblue;
|
||||||
|
content: "success";
|
||||||
|
border-radius: 10rem/@baseFontSize;
|
||||||
|
animation: copy 1.5s;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes copy {
|
||||||
|
0% {
|
||||||
|
opacity: 0
|
||||||
|
}
|
||||||
|
50% {
|
||||||
|
opacity: 1
|
||||||
|
}
|
||||||
|
100% {
|
||||||
|
opacity: 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&::-webkit-scrollbar { /*滚动条整体样式*/
|
||||||
|
width: 5rem/@baseFontSize; /*高宽分别对应横竖滚动条的尺寸*/
|
||||||
|
height: 5rem/@baseFontSize;
|
||||||
|
}
|
||||||
|
|
||||||
|
&::-webkit-scrollbar-thumb { /*滚动条里面小方块*/
|
||||||
|
border-radius: 10px;
|
||||||
|
background-color: @colorDiy;
|
||||||
|
background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .2) 50%, rgba(255, 255, 255, .2) 75%, transparent 75%, transparent);
|
||||||
|
}
|
||||||
|
|
||||||
|
&::-webkit-scrollbar-track { /*滚动条里面轨道*/
|
||||||
|
-webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2);
|
||||||
|
border-radius: 10px;
|
||||||
|
background: #EDEDED;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
55
themes/custom/source/css/_partial/reset.less
Normal file
55
themes/custom/source/css/_partial/reset.less
Normal file
|
@ -0,0 +1,55 @@
|
||||||
|
/*========reset css===============*/
|
||||||
|
*,
|
||||||
|
*::before,
|
||||||
|
*::after {
|
||||||
|
/*所有的标签和伪元素都选中*/
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
/*移动端常用布局是非固定像素布局*/
|
||||||
|
box-sizing: border-box;
|
||||||
|
-webkit-box-sizing: border-box;
|
||||||
|
/*点击高亮效果清除*/
|
||||||
|
tap-highlight-color: transparent;
|
||||||
|
-webkit-tap-highlight-color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
html, body {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
font-size: 20rem/@baseFontSize;
|
||||||
|
font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', sans-serif;
|
||||||
|
color: @colorFont;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul, ol {
|
||||||
|
list-style: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
a {
|
||||||
|
text-decoration: none;
|
||||||
|
color: @colorFont;
|
||||||
|
}
|
||||||
|
|
||||||
|
input, textarea {
|
||||||
|
border: none;
|
||||||
|
outline: none;
|
||||||
|
/*不允许改变尺寸*/
|
||||||
|
resize: none;
|
||||||
|
/*元素的外观 none没有任何样式*/
|
||||||
|
-webkit-appearance: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*===============common css===========*/
|
||||||
|
/*清除浮动*/
|
||||||
|
.clearFix::before,
|
||||||
|
.clearFix::after {
|
||||||
|
content: "";
|
||||||
|
display: block;
|
||||||
|
visibility: hidden;
|
||||||
|
height: 0;
|
||||||
|
line-height: 0;
|
||||||
|
clear: both;
|
||||||
|
}
|
40
themes/custom/source/css/_partial/search.less
Normal file
40
themes/custom/source/css/_partial/search.less
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
.search {
|
||||||
|
padding: 5rem/@baseFontSize 15rem/@baseFontSize;
|
||||||
|
background-color: rgba(255, 255, 255, .2);
|
||||||
|
color: @colorFont;
|
||||||
|
cursor: pointer;
|
||||||
|
position: absolute;
|
||||||
|
top: 150px;
|
||||||
|
right: 0;
|
||||||
|
border-radius: 10rem/@baseFontSize;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (max-width: 750px) {
|
||||||
|
.search {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.search-container {
|
||||||
|
margin:0 auto;
|
||||||
|
text-align:center;
|
||||||
|
padding:5px 10px;
|
||||||
|
font-size:16px;
|
||||||
|
#input {
|
||||||
|
outline: none;
|
||||||
|
border: 1px solid orange;
|
||||||
|
padding: 5px 10px;
|
||||||
|
vertical-align: middle;
|
||||||
|
border-radius: 10px;
|
||||||
|
}
|
||||||
|
.btn-search {
|
||||||
|
cursor:pointer;
|
||||||
|
display:inline-block;
|
||||||
|
padding:5px 10px;
|
||||||
|
}
|
||||||
|
.result {
|
||||||
|
list-style:none;
|
||||||
|
}
|
||||||
|
.result li {
|
||||||
|
border-bottom: 1px solid rgba(255,255,255,.1);
|
||||||
|
}
|
||||||
|
}
|
45
themes/custom/source/css/_partial/tag.less
Normal file
45
themes/custom/source/css/_partial/tag.less
Normal file
|
@ -0,0 +1,45 @@
|
||||||
|
.tag-tags {
|
||||||
|
.tags-title {
|
||||||
|
font-size:26rem/@baseFontSize;
|
||||||
|
display:block;
|
||||||
|
margin:0 auto;
|
||||||
|
text-align:center;
|
||||||
|
}
|
||||||
|
.tags-all {
|
||||||
|
margin-top:10rem/@baseFontSize;
|
||||||
|
li {
|
||||||
|
float:left;
|
||||||
|
margin:10rem/@baseFontSize 5rem/@baseFontSize;
|
||||||
|
a {
|
||||||
|
padding:5rem/@baseFontSize 15rem/@baseFontSize;
|
||||||
|
border-radius:10rem/@baseFontSize;
|
||||||
|
background-color:rgba(255,255,255,.2) ;
|
||||||
|
color:@colorFont;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.posts-all {
|
||||||
|
margin:10rem/@baseFontSize 0;
|
||||||
|
text-align:left;
|
||||||
|
li {
|
||||||
|
padding:5rem/@baseFontSize 15rem/@baseFontSize;
|
||||||
|
border-radius:10rem/@baseFontSize;
|
||||||
|
background-color:rgba(255,255,255,.2) ;
|
||||||
|
color:@colorFont;
|
||||||
|
margin-top:10rem/@baseFontSize;
|
||||||
|
width:100%;
|
||||||
|
span {
|
||||||
|
width:50%;
|
||||||
|
display:inline-block;
|
||||||
|
text-align:right;
|
||||||
|
padding-right:50rem/@baseFontSize;
|
||||||
|
}
|
||||||
|
a {
|
||||||
|
width:50%;
|
||||||
|
display:inline-block;
|
||||||
|
padding-left:50rem/@baseFontSize;
|
||||||
|
//padding-left:100rem/@baseFontSize;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
15
themes/custom/source/css/_partial/toolbar.less
Normal file
15
themes/custom/source/css/_partial/toolbar.less
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
.toolbar {
|
||||||
|
padding:5rem/@baseFontSize 15rem/@baseFontSize;
|
||||||
|
background-color:rgba(255,255,255,.2) ;
|
||||||
|
color:@colorFont;
|
||||||
|
cursor:pointer;
|
||||||
|
position:absolute;
|
||||||
|
top:100px;
|
||||||
|
right:0;
|
||||||
|
border-radius:10rem/@baseFontSize;
|
||||||
|
}
|
||||||
|
@media screen and (max-width:750px) {
|
||||||
|
.toolbar {
|
||||||
|
display:none;
|
||||||
|
}
|
||||||
|
}
|
37
themes/custom/source/css/_partial/var.less
Normal file
37
themes/custom/source/css/_partial/var.less
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
@charset "UTF-8";
|
||||||
|
|
||||||
|
|
||||||
|
@adapterDeviceList:750px,720px,640px,540px,480px,424px,414px,400px,384px,375px,360px,320px;
|
||||||
|
@psdWidth:750px;
|
||||||
|
@baseFontSize:100px;
|
||||||
|
@len:length(@adapterDeviceList);
|
||||||
|
@colorDiy:#13172F;
|
||||||
|
@colorBar:transparent;
|
||||||
|
@colorBg:transparent;
|
||||||
|
@colorFont:#fff;
|
||||||
|
@colorFontHover:gold;
|
||||||
|
|
||||||
|
@blog-bg-color: #2B2A32;
|
||||||
|
@blog-theme-color: #FF787F;
|
||||||
|
@blog-border-color: #3e4c42;
|
||||||
|
@blog-font-color: #25AD87;
|
||||||
|
@blog-title-color: #25AD87;
|
||||||
|
@blog-github-fill-color: #25AD87;
|
||||||
|
|
||||||
|
@post-catalog-bg-color: #2b2a32;
|
||||||
|
@post-catalog-font-color: #288EAD;
|
||||||
|
@post-table-thead-bg-color: #30303a;
|
||||||
|
@post-table-border-color: #3e4c42;
|
||||||
|
@post-inline-code-bg-color: #282c34;
|
||||||
|
@post-inline-code-border-color: #3e4c42;
|
||||||
|
@post-cnblogs-code-bg-color: #282c34;
|
||||||
|
@post-cnblogs-code-font-color: #abb2bf;
|
||||||
|
@post-signature-bg-color: #30303a;
|
||||||
|
@post-blockquote-border-color: #479680;
|
||||||
|
|
||||||
|
@comment-font-color: #C8B735;
|
||||||
|
@comment-bg-color: #30303a;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
28
themes/custom/source/css/index.less
Normal file
28
themes/custom/source/css/index.less
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
@import "_partial/var";
|
||||||
|
|
||||||
|
@import "_partial/mixins";
|
||||||
|
|
||||||
|
@import "_partial/adapter";
|
||||||
|
|
||||||
|
@import "_partial/reset";
|
||||||
|
|
||||||
|
/*===============diy css===========*/
|
||||||
|
@import "_partial/meethigher-scroll";
|
||||||
|
|
||||||
|
@import "_partial/header";
|
||||||
|
|
||||||
|
@import "_partial/aside";
|
||||||
|
|
||||||
|
@import "_partial/layout";
|
||||||
|
|
||||||
|
@import "_partial/post";
|
||||||
|
|
||||||
|
@import "_partial/tag";
|
||||||
|
|
||||||
|
@import "_partial/archive";
|
||||||
|
|
||||||
|
@import "_partial/footer";
|
||||||
|
|
||||||
|
@import "_partial/toolbar";
|
||||||
|
|
||||||
|
@import "_partial/search";
|
BIN
themes/custom/source/images/avatar.jpg
Normal file
BIN
themes/custom/source/images/avatar.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 5.4 KiB |
BIN
themes/custom/source/images/favicon.ico
Normal file
BIN
themes/custom/source/images/favicon.ico
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.1 KiB |
212
themes/custom/source/js/meethigher.js
Normal file
212
themes/custom/source/js/meethigher.js
Normal file
|
@ -0,0 +1,212 @@
|
||||||
|
$(function () {
|
||||||
|
let $menu = $(".header-menu");
|
||||||
|
let $headerNavbar = $(".header-navbar");
|
||||||
|
let $arrowUp = $(".arrow.fa-arrow-up");
|
||||||
|
let $arrowDown = $(".arrow.fa-arrow-down");
|
||||||
|
let $mainContent = $(".main-content");
|
||||||
|
let $copy = $("figure.highlight tbody");
|
||||||
|
let flag = false;
|
||||||
|
let isClick = true;
|
||||||
|
|
||||||
|
$menu.on("click", function () {
|
||||||
|
if (!isClick) return;
|
||||||
|
isClick = false;
|
||||||
|
if (!flag) {
|
||||||
|
$headerNavbar.fadeIn(function () {
|
||||||
|
flag = true;
|
||||||
|
isClick = true;
|
||||||
|
});
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
$headerNavbar.fadeOut(function () {
|
||||||
|
flag = false;
|
||||||
|
isClick = true;
|
||||||
|
});
|
||||||
|
});
|
||||||
|
$arrowUp.on("click", function () {
|
||||||
|
$mainContent.animate({
|
||||||
|
scrollTop: 0
|
||||||
|
});
|
||||||
|
});
|
||||||
|
$arrowDown.on("click", function () {
|
||||||
|
let scrollHeight = $mainContent[0].scrollHeight - $mainContent[0].offsetHeight;
|
||||||
|
$mainContent.animate({
|
||||||
|
scrollTop: scrollHeight
|
||||||
|
});
|
||||||
|
});
|
||||||
|
$mainContent.scroll(function () {
|
||||||
|
$arrowUp.fadeIn();
|
||||||
|
$arrowDown.fadeIn();
|
||||||
|
});
|
||||||
|
$copy.on("click", function () {
|
||||||
|
let $pre = $(this).find(".code pre");
|
||||||
|
let text = $pre.text();
|
||||||
|
let $input = $("<input>");
|
||||||
|
let $copySuccess = $("<span>success</span>");
|
||||||
|
$copySuccess.addClass("before");
|
||||||
|
$input.val(text);
|
||||||
|
$(this).append($copySuccess);
|
||||||
|
$pre.append($input);
|
||||||
|
$input.select();
|
||||||
|
document.execCommand("Copy");
|
||||||
|
$input.remove();
|
||||||
|
setTimeout(function () {
|
||||||
|
$copySuccess.remove();
|
||||||
|
}, 1500);
|
||||||
|
});
|
||||||
|
let getLanguage = function () {
|
||||||
|
$("figure.highlight").each(function () {
|
||||||
|
let str = $(this).attr("class");
|
||||||
|
str = str.substr(10);
|
||||||
|
let $span = $("<span class='language'>" + str + "</span>");
|
||||||
|
$(this).append($span);
|
||||||
|
});
|
||||||
|
};
|
||||||
|
getLanguage();
|
||||||
|
});
|
||||||
|
//生成文章的目录
|
||||||
|
$(function () {
|
||||||
|
let $outline = $(".outline");
|
||||||
|
let $catalog = $("<ul></ul>");
|
||||||
|
let $headerlink = $(".headerlink");
|
||||||
|
$headerlink.each(function () {
|
||||||
|
let spaceNum = "";
|
||||||
|
switch ($(this).parent()[0].tagName) {
|
||||||
|
case "H1":
|
||||||
|
spaceNum = 0;
|
||||||
|
break;
|
||||||
|
case "H2":
|
||||||
|
spaceNum = 1;
|
||||||
|
break;
|
||||||
|
case "H3":
|
||||||
|
spaceNum = 2;
|
||||||
|
break;
|
||||||
|
case "H4":
|
||||||
|
spaceNum = 3;
|
||||||
|
break;
|
||||||
|
case "H5":
|
||||||
|
spaceNum = 4;
|
||||||
|
break;
|
||||||
|
case "H6":
|
||||||
|
spaceNum = 5;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
let content = $(this).attr("title");
|
||||||
|
let $li = $("<li></li>");
|
||||||
|
let $a = $("<a href='" + $(this).attr("href") + "'>" + content + "</a>");
|
||||||
|
$li.append($a);
|
||||||
|
$li.css("margin-left",spaceNum*10+"px");
|
||||||
|
$catalog.append($li);
|
||||||
|
});
|
||||||
|
$outline.on("click", function () {
|
||||||
|
layer.open({
|
||||||
|
title: "Index",
|
||||||
|
type: 1,
|
||||||
|
skin: 'layui-layer-rim', //加上边框
|
||||||
|
area: ['320px', '240px'], //宽高
|
||||||
|
content: "<div class='catalog-container'><ul>" + $catalog.html() + "</ul></div>"
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
//搜索功能
|
||||||
|
$(function (){
|
||||||
|
$(".header-search").on("click",function (){
|
||||||
|
$(".search").click();
|
||||||
|
});
|
||||||
|
//=============================================
|
||||||
|
let url = [];
|
||||||
|
let title = [];
|
||||||
|
let content = [];
|
||||||
|
let ajaxing = false;
|
||||||
|
|
||||||
|
function ajaxSearch() {
|
||||||
|
url=[];
|
||||||
|
title=[];
|
||||||
|
content=[];
|
||||||
|
ajaxing = true;
|
||||||
|
$.ajax({
|
||||||
|
url: "meethigher.xml",//此处需要修改成你的路径
|
||||||
|
dataType: "xml",
|
||||||
|
type: "GET",
|
||||||
|
error: function () {
|
||||||
|
layer.msg("Error while searching, sorry ❤");
|
||||||
|
},
|
||||||
|
success: function (data) {
|
||||||
|
$(data).find("entry").each(function () {
|
||||||
|
url.push($(this).find("url").text());
|
||||||
|
title.push($(this).find("title").text());
|
||||||
|
content.push($(this).find("content").text());
|
||||||
|
});
|
||||||
|
},
|
||||||
|
complete: function () {
|
||||||
|
ajaxing = false;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function searchResult($result,value) {
|
||||||
|
let count = 0;
|
||||||
|
let index= layer.load(1, {shade: [0.1, '#fff']});
|
||||||
|
let timeId = setInterval(function () {
|
||||||
|
count++;
|
||||||
|
if (!ajaxing) {
|
||||||
|
render($result,value);
|
||||||
|
clearInterval(timeId);
|
||||||
|
layer.close(index);
|
||||||
|
}
|
||||||
|
if (count >= 15) {
|
||||||
|
layer.close(index);
|
||||||
|
layer.msg("Search did not return in time");
|
||||||
|
clearInterval(timeId);
|
||||||
|
|
||||||
|
}
|
||||||
|
}, 1000);
|
||||||
|
}
|
||||||
|
|
||||||
|
function render($result,value) {
|
||||||
|
let isContains=false;
|
||||||
|
content.forEach(function (ele,index){
|
||||||
|
if(ele.indexOf(value)>-1){
|
||||||
|
let $li=$("<li><a href='"+url[index]+"'>"+title[index]+"</a></li>");
|
||||||
|
$result.append($li);
|
||||||
|
isContains=true;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
if(!isContains)
|
||||||
|
layer.msg("Nothing you want, dear");
|
||||||
|
}
|
||||||
|
//================================================
|
||||||
|
|
||||||
|
$(".search").on("click",function (){
|
||||||
|
layer.open({
|
||||||
|
title: "Search",
|
||||||
|
type: 1,
|
||||||
|
skin: 'layui-layer-rim', //加上边框
|
||||||
|
area: ['320px', '240px'], //宽高
|
||||||
|
content: "<div class=\"search-container\">\n" +
|
||||||
|
" <input type=\"search\" placeholder=\"Search\" id=\"input\" autocomplete='off'>\n" +
|
||||||
|
" <div class=\"btn-search\"><span class=\"fa fa-search\"></span></div>\n" +
|
||||||
|
" <ul class=\"result\"></ul>\n" +
|
||||||
|
"</div>"
|
||||||
|
});
|
||||||
|
let $input=$("#input");
|
||||||
|
let $button=$(".btn-search");
|
||||||
|
let $result=$(".result");
|
||||||
|
$input.on("keydown",function (e){
|
||||||
|
if(e.which===13){
|
||||||
|
$button.click();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
$button.on("click",function (){
|
||||||
|
$result.empty();
|
||||||
|
ajaxSearch();
|
||||||
|
let value = $input.val();
|
||||||
|
if(value===""||value===null){
|
||||||
|
layer.msg("Search had no results.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
searchResult($result,value);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
46
themes/custom/source/js/toolbar.js
Normal file
46
themes/custom/source/js/toolbar.js
Normal file
|
@ -0,0 +1,46 @@
|
||||||
|
$(function () {
|
||||||
|
let $toolbar = $(".toolbar");
|
||||||
|
let $aside = $(".aside");
|
||||||
|
let $asideContent = $(".aside-content");
|
||||||
|
let $divs = $(".aside-content div");
|
||||||
|
let flag = false;
|
||||||
|
let isClick = true;
|
||||||
|
let isRotate = false;
|
||||||
|
|
||||||
|
let $lis = $(".aside-contact li");
|
||||||
|
|
||||||
|
//toolbar点击事件
|
||||||
|
$toolbar.on("click", function () {
|
||||||
|
if (!isClick) return;
|
||||||
|
isClick = false;
|
||||||
|
if (flag) {
|
||||||
|
$asideContent.removeClass("in");
|
||||||
|
flag = false;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
$aside.fadeIn();
|
||||||
|
$asideContent.addClass("in");
|
||||||
|
flag = true;
|
||||||
|
$asideContent.on("transitionend", function () {
|
||||||
|
if (!$asideContent.hasClass("in")) {
|
||||||
|
$aside.hide();
|
||||||
|
}
|
||||||
|
isClick = true;
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
//contact经过事件
|
||||||
|
$lis.on("mouseover", function () {
|
||||||
|
$(this).children("a").addClass("in");
|
||||||
|
}).on("mouseleave", function () {
|
||||||
|
$(this).children("a").removeClass("in");
|
||||||
|
});
|
||||||
|
|
||||||
|
//鼠标经过动态事件
|
||||||
|
$divs.on("mouseover",function (){
|
||||||
|
$(this).addClass("heartBeat").addClass("animated");
|
||||||
|
}).on("mouseleave",function (){
|
||||||
|
$(this).removeClass("heartBeat");
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
Loading…
Reference in a new issue