GithubHelp home page GithubHelp logo

hexo-theme-skapp's Introduction

hexo-theme-skapp

Project Introduction

This project is a hexo theme named skapp. Demo

theme effect

theme effect

language support

skapp supports zh-cn and en by default. If you need other languages, you can extend it by yourself(to put the language yml file into the languages folder under the hexo-theme-skapp directory).

How to use

  1. Follow the hexo official document to build the basic blog.

the default path of the following operations is your hexo blog project directory, please enter the project.

noteWe recommend use node LTS version like node 8.9.3 because nodejieba 2.2.5 dependency has a build error in node 10 version

  1. use git to clone hexo-theme-skapp into the theme folder under your blog project directory.
cd themes
git clone https://github.com/Mrminfive/hexo-theme-skapp.git
  1. To modify the root _config.yml and install node dependencies.
npm install --save hexo-autoprefixer hexo-filter-cleanup hexo-generator-feed hexo-generator-sitemap hexo-renderer-sass hexo-renderer-swig mamboer/lunr.js moment node-sass object-assign

note: If your OS is Windows, you may meet some problems when install the mamboer/lunr.js(because of the packagenodejieba). To fix this problem, you should install node-gyp.

npm install -g windows-build-tools
npm install -g node-gyp

After finishing the install, you can preview your blog: hexo server(If you meet the style problem, you can use the command hexo clean first).

note: If you face the problem that lacking some js files(404 error), you should use hexo server instead of hexo server -l

More Theme Configuration

set support language

To edit the root _config.yml file:

language: zh-cn

Now, skapp support two kinds of language:

language code
English en
简体中文 zh-cn

configure the menu

To edit the root _config.yml file and set the menu item:

menu:
  home: / 
  archive: /archives
  about: /about

Default menu items:

key value display text
home home: / home
archive archive: /archives archives
about about: /about about
search search: /search search

Then, you need create about,search and 404 page manually:

create the about page:

hexo new page about

edit the index.md file in the root source/about folder:

---
title: about
date: 2017-07-29 00:50:51
type: about
layout: about
---

...(the below content will be redenered in the about page)

create the search page:

hexo new page search

edit the index.md file in the root source/search folder:

---
title: search
date: 2017-07-29 00:50:51
type: search
layout: search
---

To create the 404 page, create the 404.md file in the source directory and edit this file:

---
title: 404 Page Not Found
date: 2017-08-04 23:36:59
type: error
layout: error
---

blog information configuration

to edit the root _config.yml file:

# Site
# blog's title
title: MINFIVE

# subtitle in the banner header
subtitle: MINFIVE BLOG

# introduction  in the banner header
subtitle_desc: 日常学习与兴趣交流

# seo keyword
keywords: minfive, minfive blog, 前端博客, 前端, 程序员, 前端开发, 全栈开发, node.js, javascript

# blog description(for seo)
description: 日常学习与兴趣交流的个人博客

# self introduction
introduction: 不思量,自难忘!

# your blog favicon icon, support two ways: local and online. the local way need you to put the icon under  themes/hexo-theme-skapp/source/img directory
favicon_ico: https://blog.static.minfive.com/other/favicon.ico

# blog logo icon in the upper left corner. support the local way and online way. 
logo: http://oo12ugek5.bkt.clouddn.com/images/logo-text-white.png

# avatar
avatar: http://oo12ugek5.bkt.clouddn.com/images/qrcode.png
# qrcode: http://oo12ugek5.bkt.clouddn.com/images/qrcode.png

# page default cover
default_cover: http://oo12ugek5.bkt.clouddn.com/images/default_cover.png

# header background picture
header_cover: https://blog.static.minfive.com/other/banner-bg.jpg

# 404 page background picture
error_page_bg: https://blog.static.minfive.com/other/dogs.jpg

# page loading icon
loader_img: https://blog.static.minfive.com/other/loader.gif

# author information
author:
  name: minfive
  link: https://github.com/Mrminfive

# footer information
about:
  info: 本站是基于 Hexo 搭建的静态资源博客,主要用于分享日常学习、生活及工作的一些心得总结,欢迎点击右下角订阅 rss。
  address: Guangzhou, Guangdong Province, China
  email: [email protected]

contact information configuration

create contact.yml under the /source/_data (This configuration will create links in the page footer):

contact-img

- title: github
  icon: icon-github
  link: https://github.com/Mrminfive
- title: email
  icon: icon-email
  link: mailto:[email protected]
- title: rss
  icon: icon-rss
  link: /atom.xml

icon only support these values:

  • icon-email: email
  • icon-rss: rss
  • icon-in: linkedin
  • icon-twitter: twitter
  • icon-facebook: facebook
  • icon-github: github
  • icon-zhihu: zhihu
  • icon-douban: douban
  • icon-weibo: weibo
  • icon-telegram: telegram

external link configuration

create footer_link.yml under the source/_data directory(This configuration will create links in the page footer): footer-link

friend_links:
  - name: hexo-theme-skapp
    desc: hexo-theme-skapp
    link: https://github.com/Mrminfive/hexo-theme-skapp

build_tools:
  - name: Hexo
    desc: Blog Framework
    link: https://hexo.io/

name means the link value, desc means the link title attribute value. Each array in this file represents a list of link(e.g. friend_links). Skapp support multi-column links(you just need to edit your language configuration in the hexo-theme-skapp/languages).

personalized configuration

skapp uses sass precompiled style and packages all the baisc styles in the _theme.scss file under the hexo-theme-skapp/source/scss directory:

/**
 * blog theme 
 */

$main-color: #19abd6                                !default;
$main-color--hover: lighten($main-color, 10%)       !default;

$font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,"PingFang SC","Lantinghei SC","Microsoft Yahei","Hiragino Sans GB","Microsoft Sans Serif","WenQuanYi Micro Hei",sans           !default;

$main-fc: #666                                      !default;
$main-fs: 14px                                      !default;
$main-lh: 1.7                                       !default;

$title-fc: #242f35                                  !default;

$hint-fc: #19abd6                                   !default;

$bgc--main: #fff                                    !default;
$bgc--bottom: #2d383e                               !default;
$bgc--footer: #242f35                               !default;

$border-c: #d8e5f3                                  !default;

$transition: .3s                                    !default;

$mq-desktop--wide: 1280px                           !default;
$mq-desktop: 980px                                  !default;
$mq-mobile: 736px                                   !default;

$pad: 15px                                          !default;

$z-index--bottom: 1                                 !default;
$z-index--center: 50                                !default;
$z-index--top: 100                                  !default;

blog basic usage

To configure basic info in your markdown blog file:

title: Hello World 
cover: http://oxnuwmm3w.bkt.clouddn.com/hello-world.jpeg
# author information, multiple authors are set to array
# single author
author: 
  nick: BruceYJ
  link: https://www.github.com/BruceYuj
# multiple authors
author:
  - nick: BruceYJ
    link: https://www.github.com/BruceYuj
  - nick: minfive
    link: https://www.github.com/Mrminfive

# If the article is reproduced, you need to increase the article source
editor:
  name: Minfive
  link: https://www.github.com/Mrminfive

# post subtitle in your index page
subtitle: post introduction

title attribute is the blog's title. cover attribute is the blog's first picture and thumbnail. author attribute is the blog's author information and link.

third-part service

statistics
baidu statistics

skapp has integrated baidu statistics. You need to get the id and edit the root _config.yml file:

# Baidu statistic
baidu_statistic: ***
google statistics

skapp has integrated google statistics. You need to get the id and edit the root _config.yml file:

# Google statistic
google_statistic: ***
busuanzi statistics

skapp uses busuanzi to count page PV and closed by default. You can open this service by editing the _config.yml file:

# Busuanzi
busuanzi: true
global search

skapp uses lunr to search in site and don't support configuration.

rss

to edit the root _config.yml file:

# Feed Atom
feed:
  type: atom
  path: atom.xml
  limit: 20

# Sitemap
sitemap:
  path: sitemap.xml
Comment system
gitalk

skapp has integrated gitalk. If you want to use this comment function, you need to register the Github Application(follow the gitalk document). Then to edit the _config.yml configuration:

# Gitalk
gitTalk:
  clientId: ***
  clientSecret: ***
  repo: ***
  owner: ***
  admin: 
    - ***
disqus

skapp has integrateddisqus. If you want to use this comment function, you need to register Disqus(follow the official instruction). Then to edit the _config.yml configuration:

# Disqus

disqus_shortname: ***

Math Equations Render Support

skapp uses hexo-math to render math formulas and it's closes by default. Configure the _config.yml under the theme folder to use this feature:

# Math Equations Render Support
math:
  enable: true

  # Default(true) will load mathjax/katex script on demand
  # That is it only render those page who has 'mathjax: true' in Front Matter.
  # If you set it to false, it will load mathjax/katex srcipt EVERY PAGE.
  per_page: false

  engine: mathjax
  #engine: katex

  # hexo-rendering-pandoc (or hexo-renderer-kramed) needed to full MathJax support.
  mathjax:
    # Use 2.7.1 as default, jsdelivr as default CDN, works everywhere even in China
    cdn: //cdn.jsdelivr.net/npm/[email protected]/MathJax.js?config=TeX-AMS-MML_HTMLorMML
    # For newMathJax CDN (cdnjs.cloudflare.com) with fallback to oldMathJax (cdn.mathjax.org).
    #cdn: //cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML
    # For direct link to MathJax.js with CloudFlare CDN (cdnjs.cloudflare.com).
    #cdn: //cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-MML-AM_CHTML
    # For automatic detect latest version link to MathJax.js and get from Bootcss.
    #cdn: //cdn.bootcss.com/mathjax/2.7.1/latest.js?config=TeX-AMS-MML_HTMLorMML

  # hexo-renderer-markdown-it-plus (or hexo-renderer-markdown-it with markdown-it-katex plugin)
  # needed to full Katex support.
  katex:
    # Use 0.7.1 as default, jsdelivr as default CDN, works everywhere even in China
    cdn: //cdn.jsdelivr.net/npm/[email protected]/dist/katex.min.css
    # CDNJS, provided by cloudflare, maybe the best CDN, but not works in China
    #cdn: //cdnjs.cloudflare.com/ajax/libs/KaTeX/0.7.1/katex.min.css
    # Bootcss, works great in China, but not so well in other region
    #cdn: //cdn.bootcss.com/KaTeX/0.7.1/katex.min.css

hexo-theme-skapp's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

hexo-theme-skapp's Issues

卡片布局问题

看你的DEMO,卡片高度不一致时,会出现大片留白(但看你的截图是等高等宽的).
是否是瀑布式布局出现问题。

hexo clean报错

ERROR Script load failed: themes/hexo-theme-skapp/scripts/helper.js
SyntaxError: Unexpected token ...
at Object.exports.runInThisContext (vm.js:53:16)

common.js location issue

image

I'm testing appling this theme at http://localhost:4000/mk/
Every file loads okay except common.js
Only this file is trying to load in root directory, not /mk/ directory.
How can I fix that?

Thanks for your answer and sorry for my english...

How to create a new post with picture?

Hello:

I like your theme very much. I found that every post in your blog has a big picture at the top of its title. How to add this picture while creating a new post?

_config.yml配置

image
这些配置是写到blog目录下的_config.yml还是主题文件下的_config.yml

nodejieba分词库安装问题

根据安装步骤,我是windows 环境,先执行了
npm install -g windows-build-tools
npm install -g node-gyp

再执行安装node依赖
npm install --save hexo-autoprefixer hexo-filter-cleanup hexo-generator-feed hexo-generator-sitemap hexo-renderer-sass hexo-renderer-swig mamboer/lunr.js moment node-sass object-assign

最后nodejieba报错,请问这怎么解决,试了把目录删掉,重新生成一个新的,再重复步骤,依然是报这个错。
image

ERROR Script load failed: themes\hexo-theme-skapp\scripts\renderer.js

$ hexo s
ERROR Script load failed: themes\hexo-theme-skapp\scripts\renderer.js
Error: Cannot find module 'F:\code\html\hexo\node_modules\nodejieba/build/Release/nodejieba.node'
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:548:15)
at Function.Module._load (internal/modules/cjs/loader.js:475:25)
at Module.require (internal/modules/cjs/loader.js:598:17)
at require (internal/modules/cjs/helpers.js:11:18)
at Object. (F:\code\html\hexo\node_modules\nodejieba\index.js:1:79)
at Module._compile (internal/modules/cjs/loader.js:654:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:665:10)
at Module.load (internal/modules/cjs/loader.js:566:32)
at tryModuleLoad (internal/modules/cjs/loader.js:506:12)
at Function.Module._load (internal/modules/cjs/loader.js:498:3)
at Module.require (internal/modules/cjs/loader.js:598:17)
at require (internal/modules/cjs/helpers.js:11:18)
at F:\code\html\hexo\node_modules\lunr\lunr.js:199:23
at Object. (F:\code\html\hexo\node_modules\lunr\lunr.js:2065:3)
at Module._compile (internal/modules/cjs/loader.js:654:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:665:10)
at Module.load (internal/modules/cjs/loader.js:566:32)
at tryModuleLoad (internal/modules/cjs/loader.js:506:12)
at Function.Module._load (internal/modules/cjs/loader.js:498:3)
at Module.require (internal/modules/cjs/loader.js:598:17)
at require (F:\code\html\hexo\node_modules\hexo\lib\hexo\index.js:219:21)
at F:\code\html\hexo\themes\hexo-theme-skapp\scripts\renderer.js:5:16
INFO Start processing
INFO Hexo is running at http://localhost:4000/. Press Ctrl+C to stop.

Windows10下,按照教程配置了,一直会报错,然后样式找不到

mamboer/lunr.js问题(win10下)

win10下npm安装mamboer/lunr.js会报错。
hexo-lunr
按照错误提示,添加PYTHON env,同样还是会报同样的错误。

单独安装nodejieba不会报错。(但貌似lunr调用的是自己目录下的nodejieba)

theme问题:自动生成的html文件引入的js路径有问题

Mini Post Blank Space

Hi,

There is a blank spot on all the mini-articles under the author and above the tags.

image

Is it a margin there or there should be something to add there? If I can add something, then how can I do it?

Thanks.

图标无法显示的处理

使用该主题生成网站,发现页面上的图标都不能显示。
查看了自己网站与使用该主题正常网站的css文件,发现图标的路径不同。
1
2
于是将themes\hexo-theme-skapp\source\下的fonts文件夹 移动至themes\hexo-theme-skapp\source\scss\目录下,再次生成网站则可以正常显示图标。
不知道是否还有人遇到过这样的问题...看起来这样是解决了。

配置完后无法生成

你好,我在配置完config文件后,然后hexo s预览,但是出现错误,clean后用generate也出现错误,麻烦指导下,谢谢。
以下是命令hexo s的打印输出:

INFO index2 generators:
INFO [ { path: '',
per_page: 10,
order_by: '-date',
layout: 'index',
index: true } ]
INFO Start processing
INFO hexo-filter-cleanup(FAVICONS): error [ Error: ENOENT: no such file or dire ctory, access 'D:\ImowealthBlog\themes\hexo-theme-skapp\source\img\logo.png' ]
INFO hexo-filter-cleanup(IMG): fonts/iconfont.svg [ 54.64% saved]
INFO hexo-filter-cleanup(IMG): img/quotes.png [ 52.78% saved]
FATAL Something's wrong. Maybe you can find the solution here: http://hexo.io/do cs/troubleshooting.html
TypeError: path.substring is not a function
at Object.urlForHelper (D:\ImowealthBlog\node_modules\hexo\lib\plugins\helpe r\url_for.js:7:31)
at wrapper (D:\ImowealthBlog\node_modules\lodash\lodash.js:4949:19)
at Object.eval [as tpl] (eval at precompile (D:\ImowealthBlog\node_modules\h exo-renderer-swig\node_modules\swig\lib\swig.js:498:13), :12:119)
at compiled (D:\ImowealthBlog\node_modules\hexo-renderer-swig\node_modules\s wig\lib\swig.js:619:18)
at Object.eval [as tpl] (eval at precompile (D:\ImowealthBlog\node_modules\h exo-renderer-swig\node_modules\swig\lib\swig.js:498:13), :6:144)
at compiled (D:\ImowealthBlog\node_modules\hexo-renderer-swig\node_modules\s wig\lib\swig.js:619:18)
at Object.eval [as tpl] (eval at precompile (D:\ImowealthBlog\node_modules\h exo-renderer-swig\node_modules\swig\lib\swig.js:498:13), :31:139)
at compiled (D:\ImowealthBlog\node_modules\hexo-renderer-swig\node_modules\s wig\lib\swig.js:619:18)
at Theme._View.View._compiled.locals [as _compiled] (D:\ImowealthBlog\node_m odules\hexo\lib\theme\view.js:124:48)
at Theme._View.View.View.render (D:\ImowealthBlog\node_modules\hexo\lib\them e\view.js:29:15)
at route.set (D:\ImowealthBlog\node_modules\hexo\lib\hexo\index.js:386:29)
at tryCatcher (D:\ImowealthBlog\node_modules\bluebird\js\release\util.js:16: 23)
at D:\ImowealthBlog\node_modules\bluebird\js\release\method.js:15:34
at RouteStream._read (D:\ImowealthBlog\node_modules\hexo\lib\hexo\router.js: 134:3)
at RouteStream.Readable.read (stream_readable.js:442:10)
at resume
(_stream_readable.js:822:12)
at _combinedTickCallback (internal/process/next_tick.js:138:11)
at process._tickCallback (internal/process/next_tick.js:180:9)
INFO hexo-filter-cleanup(JS): D:\ImowealthBlog\themes\hexo-theme-skapp\source\j s\common\utils.js [ 45.85% saved]
INFO hexo-filter-cleanup(JS): D:\ImowealthBlog\themes\hexo-theme-skapp\source\j s\common\animation.js [ 64.76% saved]
INFO hexo-filter-cleanup(JS): D:\ImowealthBlog\themes\hexo-theme-skapp\source\j s\common\pack.js [ 51.37% saved]
INFO hexo-filter-cleanup(JS): D:\ImowealthBlog\themes\hexo-theme-skapp\source\j s\layout\loading.js [ 32.61% saved]
INFO hexo-filter-cleanup(JS): D:\ImowealthBlog\themes\hexo-theme-skapp\source\j s\layout\header.js [ 44.95% saved]
INFO hexo-filter-cleanup(JS): D:\ImowealthBlog\themes\hexo-theme-skapp\source\j s\layout\back-top.js [ 55.25% saved]
INFO hexo-filter-cleanup(JS): D:\ImowealthBlog\themes\hexo-theme-skapp\source\j s\layout\post.js [ 48.44% saved]
INFO hexo-filter-cleanup(USEREF): js/common.js

Multiple Author

Please add features to make a post have more than one author.

文档更新

我添加了google统计和disqus,更新了下中文文档,能麻烦你更新下英文文档吗?另外,你现在的gitalk还能评论吗?我怎么感觉github把这种使用issue的方式给封了

LaTeX not supported

The theme doesn't support LaTeX, which displays math formulas nicely.

Should we add LaTeX support to it?

tags

how to add two tags in one article?

archives页面没有加分页逻辑

主题很赞,正在切换中发现一个小问题, archives没有分页,对于一年的文章还是挺多的,但是该页面没有做相应的分页.

page/search.scss 编译报错

@keyframes loader {
    from { transform: translate(-50%, -50%) rotate(0) },
    to { transform: translate(-50%, -50%) rotate(360deg) }
}

改为
@Keyframes loader {
from { transform: translate(-50%, -50%) rotate(0) };
to { transform: translate(-50%, -50%) rotate(360deg) }
}

Small Langauge issue

Hi. I'm still setting and configuring this theme. There is an issue with the date that shows on small posts when I search for them.

image
This is the home page and the month is showing in English, which is what I want. The archive page is also ok.

image
But whenever I search for a post, the month of the resulted posts are in Chinese.

What can I do to change this language issue? I set en to the root config and it's still the same.

link text color

Why is the color of the link text the same as plain text?
image
Where should I define the color the same as your blog?
image
I read the README file, shoud I configure the _theme.scss file in hexo-theme-skapp/source/scss.
If so, how can I define it?

By the way, the README-CN.md contains some mistakes in the step of "search page".
Also some mistake in English version.
image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.