Giter Site home page Giter Site logo

hexo-theme-aria's Introduction

hexo-theme-aria

A Hexo theme inspired by Kalafina's song ARIA.

中文说明

Live Demo: 喵's StackHarbor

Screenshot

Donate

I am a collage student and I don't have a job, I just code this theme in my spare time with my passion. If you like my theme or this theme and code help you, you can donate me for my work via WeChatPay or AliPay or PayPal to support my development, here are my qrcodes and links:

Feature

  • Elegant responsive double column layout with css animation.

  • Comment system (currently supprt Disqus, commentjs and Valine). (Removed HyperComments because it needs to pay now.)

  • Busuanzi counting.

  • Hexo local search support (need to install hexo-generator-search and set config as its README).

  • Multi-languages support (currently zh_CN, zh_HK, zh_TW and en, PR welcome).

  • Image display powered by Lightgallery.

  • RSS supported (need to install hexo-generator-feed and set config as its README).

  • Automatically convert Markdown asset folder links and images to absolute path. (No need for hexo-asset-image plugin.)

Before Using

  • Using a static website generator needs some basic knowledge, if you know nothing, Hexo and ARIA are not your best choice. Please be sure you know Hexo, YAML, git, Markdown and Web before continuing.

  • ARIA uses FlexBox layout to place elements, and Internet Explorer before version 9 has no way to support it. So if you use IE, upgrade to IE 11 or later, or use a modern browser like Google Chrome or Mozilla Firefox. Or if you know how to fallback FlexBox in elder IE, please send PRs, thanks.

Usage

Install Plugins

First change to your Hexo website dir. Use hexo-renderer-njucks instead of hexo-renderer-nunjucks or hexo-renderer-njk or hexo-renderer-njks, those three plugins are not maintained and cannot support Nunjucks 3.

$ npm install --save hexo-renderer-njucks hexo-renderer-stylus hexo-generator-search hexo-generator-feed

Clone This Repo

Clone it to themes/aria:

$ git clone https://github.com/AlynxZhou/hexo-theme-aria themes/aria

Edit Site Config

Following needs to be changed in your site's _config.yml.

Change Theme to aria

theme: aria

Language Settings

Available values are zh_CN, zh_HK, zh_TW and en. If you are from other themes like old versions of NexT, please note there are no zh-Hans but zh_CN. default is an alias of en.

language: zh_CN

Hexo Search Plugin Settings

# Hexo local search
search:
  path: search.xml
  field: all

Hexo RSS Plugin Settings

# Hexo feed
feed:
  type: atom
  path: atom.xml
  limit: 20
  hub:
  content:
  content_limit: 140
  content_limit_delim: ' '

Highlight Settings

Hexo's highlight doesn't add hljs- prefix to highlight class, but by default highlight.js project's CSS file uses this prefix. To keep compatibility with CSS files from highlight.js project, you need to add hljs: true like this:

highlight:
  enable: true
  hljs: true # Add this line!
  line_number: true
  auto_detect: true
  tab_replace:

Copy ARIA's Config

Copy _config.yml.example to _config.yml:

$ cp themes/aria/_config.yml.example themes/aria/_config.yml

Edit Theme Config

Following needs to be changed in theme's _config.yml in ARIA's dir, not all config needs customization, you just change what you need:

Menu Settings

If you want to add "Categories" and "Tags" page, uncomment categories and tags, then run hexo new page categories and hexo new page tags, then add layout: categories and layout: tags to those pages' front-matter. If you want a about page, just hexo new page about and uncomment it:

menu:
  - name: home
    link: /
    icon: <i class="fas fa-home"></i>
  - name: archives
    link: archives/
    icon: <i class="fas fa-archive"></i>
  - name: categories
    link: categories/
    icon: <i class="fas fa-th-list"></i>
  - name: tags
    link: tags/
    icon: <i class="fas fa-tags"></i>
  - name: about
    link: about/
    icon: <i class="fas fa-user-edit"></i>

Generating Favicon

First prepare a image of your favicon then go to https://realfavicongenerator.net/ to generate favicons for different browsers, then download the zip file and extract it into website's source/favicons dir (create it first). ARIA will load them.

Website Keywords

Set the value of keywords to a list of keywords.

CreativeCommons Licenses

Set it in creative_commons. To keep it simple ARIA will show a link in footer. You can choose one of by, by-sa, by-nd, by-nc, by-nc-sa, by-nc-nd. Go to https://creativecommons.org/licenses/ to learn more.

Code Highlight

ARIA has 4 highlight theme. You can choose the value of highlight in one of atom-one-dark, atom-one-light, solarized-dark, solarized-light. ARIA uses Hexo's internal highlight.js, so if you want to add more highlight theme, go to highlight.js' style repo and download CSS file you need to your site's source/css/ dir (just create a css/ dir in source/ that you store Markdown files, you can also put it into theme's source/css/ but it will make git workspace dirty), then set here to your downloaded file name (without .css suffix, it will be add automatically).

Custom Info

The value of custom_info will be shown in footer. You should not use a long string because it will break footer's format.

Avatar

Set the value of avatar to your avatar's link, for example, you set avatar: images/myavatar.png then you needs to put you avatar to source/images/myavatar.png.

Custom Logo

Set it like avatar, and your logo will be shown in header, which by default shows ARIA, or leave it blank to hide logo.

Custom Theme Color

Theme color color will be used in header and footer background, and also in some browsers' title bar like Android Chrome, by default it's theme's dark. Because color starts with #, you need to use double quote to prevent YAML from making it a comment. If you are not sure, don't change here.

Google Site Verification

If you want to let Google collect your website, you need to show that this is your website. When verifying, choose "Use tag" and copy the value of property content to google_verification then re-generate and re-deploy your website.

Website Start Year

Set since to your start year,if blank or the same as current year, it will only show current year, else it will show start - current.

Searching Settings

To enable search, first keep sure that you installed hexo-generator-search and add config like the 2nd step, then set search to true, it will be placed on the top of sidebar.

Sidebar Settings

Choose between left, right and false, if false, sidebar will be hidden.

Animation

Set animate to true will enable the flipping of cards (Not recommended because it's slow in some old browsers and computers).

Busuanzi Counting

If you want to disable Busuanzi, set busuanzi to false, or it will display website visit counting, website visit persion counting, page visit counting.

MathJax

MathJax is a library of displaying math formula in webpage, because it is large, ARIA does not contain it. If you need it, first set enable of mathjax to true and set cdn to your MathJax CDN, then add mathjax: true to the page's front-matter in which you has formula. Set global to true can enable MathJax in all pages but it will let other pages slow.

Library CDN

You can use CDN with ARIA's internal lib. First set lib_cdn to enable: true, then add CDN link to the library. If you don't know what you are doing, just skip it.

Social Links

First set enable of social to true, then add your social links under links like following:

social:
  enable: true
  links:
    - name: Display Name
      link: Link Address
      icon: Font Awesome icon tag you want to use
    - name: Display Name
      link: Link Address
      icon: Font Awesome icon tag you want to use

Get icons in Font Awesome.

Blogrolls

First set enable of blogroll to true, then add links under links like following:

blogroll:
  enable: true
  links:
    - name: Display Name
      link: Link Address
      icon: Font Awesome icon tag you want to use
    - name: Display Name
      link: Link Address
      icon: Font Awesome icon tag you want to use

Get icons in Font Awesome.

Comment Support

First set comment to enable: true to enable comment in all pages (except Home, Archives, Categories, Tags), then fill your Disqus Shortname. If you want to disable comment in some pages, add front-matter comment: false (comment NOT comments!).

If you use commentjs, first set enable to true, then set type according to your host service between github and oschina, user is your user name of the host, repo is your repo name, client_id and client_secret needs you go to github or oschina to create an application, and copy your token.

If you use Valine, read its docs and fill options apiID, apiKey, set enable to true and custom other options.

If you enable more than one comment services, only the one shows in front of the queue will be shown (queue: Disqus, commentjs, Valine).

Tips:If you want to edit all new pages' front-matter, just edit files in your website's scaffolds dir, Hexo uses them as template when create new page or post.

Reward

Set enable of reward to true to use it, then set your comment in comment, and set QRCode of WeChat Pay, AliPay, BitCoin like avatar. Leave blank to disable a QRCode.

Auto Excerpt

If you want to generate post excerpt at homepage automatically, you can use this. For example, auto_excerpt: 200 will use first 200 chars (without HTML tags) as excerpt. However, if you want to get a better look, it is recommended to place a <!--more--> tag to where you want, words before this tag will be used as except.

Custom Fonts

Set enable of custom_font to true, then go to a webfont server like Google Fonts (If you cannot open it, choose another), select all fonts you need, then copy the href property of generated <link> tag to link option. Then set different fonts to different parts.

Example like:

custom_font:
  enable: true
  link: //fonts.googleapis.com/css?family=Lato|Roboto+Condensed|Skranji|Ubuntu|Ubuntu+Mono
  all: Ubuntu # Font of <body>.
  title: Roboto Condensed # Font of title.
  subtitle: Roboto Condensed # Font of subtitle.
  main: Ubuntu # Font of main part (after the menu and before the footer).
  code: Ubuntu Mono # Font of code.

Internal Style for Writing

Markdown will be compiled to HTML, and you can write HTML in a valid Markdown file. In order to help you organize your article better, here are some internal custom style class that you can use while writing.

Centerquote

Just add .centerquote class to your HTML code, you will get a center-aligned quote with top and bottom border. Recommended for <blockquote></blockquote> tag:

<blockquote class="centerquote">Centerquote Example</blockquote>

It looks like:

Centerquote Example

Colorful Alert

Just add .alert-red, .alert-green or .alert-blue to your HTML code:

<div class="alert-red">Alert Red Example</div>
<div class="alert-green">Alert Green Example</div>
<div class="alert-blue">Alert Blue Example</div>

It looks like:

Alert Example

Google Analytics

Add google_analytics with tracking ID to config.

google_analytics:

Custom CSS and JavaScript

If you need to cover some CSS style of ARIA, just edit themes/aria/source/css/custom.styl which will be added last.

If you need some custom JavaScript, just edit themes/aria/source/js/custom.js which will be added last.

Update Theme

If you use custom CSS or JavaScript, please use Git to commit them first. You can only pull when your workspace is clean.

Then use git pull to get the newest commit, if there is a conflict, merge it manually.

Don't forget to compare _config.yml and _config.yml.example, then apply changes in example to your own config manually.

License

Apache-2.0

Note

I created this theme with less configurations and beautiful styles. You can send PRs if you want to add some functions, if those functions are useful they will be merged soon.However, some themes say they are simple, simpler, or even the simplest, but in fact they are ugly. Some themes claim that they are equipped with many functions, but most of them will not be used by the users. They just remain in default values. I do not want to add them into my theme.

Like what I say, I will only add Hexo local search, which generates a xml of data and just use JavaScript code to query it without buying database service, to my theme because it works fine. Are there any people pay to use Swift search or Algolia? So never send PR like I added swift search and let some beginners use it and pay for it because they know little! because I think local search is better for noobs or beginners! if you dislike local search you can disable it (Really? You hate a simple search frame in your site?).

And also,do not bother me with something like I added a config to make avatar a square instead of a circle!, even if we make avatar available to choose from TRIANGLE to HEPTADECAON, where can it help? Do we really need six or more schemes in one theme? If you wish, you can fork your own, but I would rather separate them into six themes. This will make developers to find where to edit codes more easier rather than finding bug in some totally unrelated schemes codes with {% if schemeA %}{{ xxxxxxxxxblockxxxxxXXXXXxxxxx }}{% elif schemeB %}{{ xxxxxxxspanxxxxximgxxxxx }}{% endif %} or if (hexo-config(schemeA)) { .cls { a { &:hover { background: #333; } } } }, I used to work with those codes and I know how they will hurt your eyes while finding somewhere to edit...

Finally, if you want add comment system, choose what people use most like Gitment or Valine or LiveRe, no more Duoshuo or Changyan or Netease Cloud Comment because they are unstable and can make people confused or send your privacy to the government of "Other Country". I want ARIA to be easy to use, not a mess of needless choices. If only 15% or less users need a custom option, just write it into code instead of leaving a option in config file.

hexo-theme-aria's People

Contributors

alynxzhou avatar cjwind avatar lfswang avatar zkysfls avatar zyh94946 avatar

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

hexo-theme-aria's Issues

文章内容导致主页显示错误/index display bug

I Have Done Those and Need to Create a New Issue / 我确定我已经做过了下面这几步并确实需要创建一个新 Issue

  • Yes, I already updated my theme to the newest version as docs and cleaned cache before testing (hexo clean && hexo s). / 是的,我已经按照 文档 把我的主题更新到最新版本了并在测试之前清除了缓存(hexo clean && hexo s)。
  • Yes, I already read Hexo Docs page. / 是的,我已经查阅过 Hexo 文档 了。
  • Yes, I already verified I found a theme problem, not a Hexo problem or because of my lack of Markdown usage and Hexo usage. / 是的,我已经确定我发现了一个主题的问题,而不是 Hexo 的问题或者因为我缺乏对于 Markdown 和 Hexo 用法的了解。
  • Yes, I already searched opening issues and not found related issues. / 是的,我查找过了未解决的 issue 并且没有发现类似的。

Expected Behavior / 预期行为

code blog publish/发布编程文章。

Actual Behavior / 实际行为

Code block(Markdown) in blog cause main page display problem /因为文章中含有Markdown语法中的代码块(3个“·”),导致主页显示异常。
here is a blog content which will cause display problem/以下是一个会导致主页错误的文章内容
21

Related Screenshots / 相关截图

20

mathjax无法正常显示

你好,之前我这边的mathjax可以显示公式,但是最近又不可以了,不知道是怎么回事,我将global设置为true也不行。

升级到Hexo4.0.0后生成报错

I Have Done Those and Need to Create a New Issue / 我确定我已经做过了下面这几步并确实需要创建一个新 Issue

  • Yes, I already updated my theme to the newest version as docs and cleaned cache before testing (hexo clean && hexo s). / 是的,我已经按照 文档 把我的主题更新到最新版本了并在测试之前清除了缓存(hexo clean && hexo s)。
  • Yes, I already read Hexo Docs page. / 是的,我已经查阅过 Hexo 文档 了。
  • Yes, I already verified I found a theme problem, not a Hexo problem or because of my lack of Markdown usage and Hexo usage. / 是的,我已经确定我发现了一个主题的问题,而不是 Hexo 的问题或者因为我缺乏对于 Markdown 和 Hexo 用法的了解。
  • Yes, I already searched opening issues and not found related issues. / 是的,我查找过了未解决的 issue 并且没有发现类似的。

Expected Behavior / 预期行为

Actual Behavior / 实际行为

Related Screenshots / 相关截图

Related Pages / 相关页面

Steps to Reproduce / 重现步骤

  1. N/A
  2. N/A
  3. N/A

Related Configuration and Code / 相关配置和代码

Site's _config.yml / 站点配置文件

Theme's _config.yml / 主题配置文件

# Hexo Configuration
## Docs: https://hexo.io/docs/configuration.html
## Source: https://github.com/hexojs/hexo/

# Site
title: ACANX
subtitle: 'acanx'
description: 'acanx site'
keywords: 
  - ACANX
  - BCANX
  - canxx
author: John Doe
language: zh-CN
timezone: 'Asia/Shanghai'

# URL
## If your site is put in a subdirectory, set url as 'http://yoursite.com/child' and root as '/child/'
url: https://acanx.gitee.io/
root: /Blog/
permalink: :year/:month/:day/:title/
permalink_defaults:
pretty_urls:
  trailing_index: true # Set to false to remove trailing index.html from permalinks

# Directory
source_dir: source
public_dir: Blog
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: true
  tab_replace: ''

# 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: aria

# Deployment
## Docs: https://hexo.io/docs/deployment.html
deploy:
  type: ''

Code / 代码

PS D:\ProgramCode\Hexo\Blog> hexo g                                                                                                                                                                       INFO  Start processing
INFO  Files loaded in 164 ms
ERROR Template render error: (D:\ProgramCode\Hexo\Blog\themes\aria\layout\post.njk) [Line 52, Column 42]
  TypeError: path.startsWith is not a function
Template render error: (D:\ProgramCode\Hexo\Blog\themes\aria\layout\post.njk) [Line 52, Column 42]
  TypeError: path.startsWith is not a function
    at Object._prettifyError (D:\ProgramCode\Hexo\Blog\node_modules\nunjucks\src\lib.js:36:11)
    at D:\ProgramCode\Hexo\Blog\node_modules\nunjucks\src\environment.js:567:19
    at Template.root [as rootRenderFunc] (eval at _compile (D:\ProgramCode\Hexo\Blog\node_modules\nunjucks\src\environment.js:637:18), <anonymous>:413:3)
    at eval (eval at _compile (D:\ProgramCode\Hexo\Blog\node_modules\nunjucks\src\environment.js:637:18), <anonymous>:29:16)
    at eval (eval at _compile (D:\ProgramCode\Hexo\Blog\node_modules\nunjucks\src\environment.js:637:18), <anonymous>:24:46)
    at eval (eval at _compile (D:\ProgramCode\Hexo\Blog\node_modules\nunjucks\src\environment.js:637:18), <anonymous>:24:86)
    at eval (eval at _compile (D:\ProgramCode\Hexo\Blog\node_modules\nunjucks\src\environment.js:637:18), <anonymous>:20:46)
    at eval (eval at _compile (D:\ProgramCode\Hexo\Blog\node_modules\nunjucks\src\environment.js:637:18), <anonymous>:20:84)
    at eval (eval at _compile (D:\ProgramCode\Hexo\Blog\node_modules\nunjucks\src\environment.js:637:18), <anonymous>:16:46)
    at eval (eval at _compile (D:\ProgramCode\Hexo\Blog\node_modules\nunjucks\src\environment.js:637:18), <anonymous>:16:82)
    at createTemplate (D:\ProgramCode\Hexo\Blog\node_modules\nunjucks\src\environment.js:315:9)
    at handle (D:\ProgramCode\Hexo\Blog\node_modules\nunjucks\src\environment.js:327:11)
    at D:\ProgramCode\Hexo\Blog\node_modules\nunjucks\src\environment.js:339:9
    at next (D:\ProgramCode\Hexo\Blog\node_modules\nunjucks\src\lib.js:280:7)
    at Object.asyncIter (D:\ProgramCode\Hexo\Blog\node_modules\nunjucks\src\lib.js:286:3)
    at Environment.getTemplate (D:\ProgramCode\Hexo\Blog\node_modules\nunjucks\src\environment.js:321:9)
    at Template.root [as rootRenderFunc] (eval at _compile (D:\ProgramCode\Hexo\Blog\node_modules\nunjucks\src\environment.js:637:18), <anonymous>:9:5)
    at Template.render (D:\ProgramCode\Hexo\Blog\node_modules\nunjucks\src\environment.js:556:10)
    at D:\ProgramCode\Hexo\Blog\node_modules\hexo-renderer-njucks\index.js:22:27
    at Theme._View.View._compiled (D:\ProgramCode\Hexo\Blog\node_modules\hexo\lib\theme\view.js:123:48)
    at Theme._View.View.View.render (D:\ProgramCode\Hexo\Blog\node_modules\hexo\lib\theme\view.js:29:15)
    at D:\ProgramCode\Hexo\Blog\node_modules\hexo\lib\hexo\index.js:365:21
ERROR Template render error: (D:\ProgramCode\Hexo\Blog\themes\aria\layout\archive.njk) [Line 52, Column 42]
  TypeError: path.startsWith is not a function
Template render error: (D:\ProgramCode\Hexo\Blog\themes\aria\layout\archive.njk) [Line 52, Column 42]
  TypeError: path.startsWith is not a function
    at Object._prettifyError (D:\ProgramCode\Hexo\Blog\node_modules\nunjucks\src\lib.js:36:11)
    at D:\ProgramCode\Hexo\Blog\node_modules\nunjucks\src\environment.js:567:19
    at Template.root [as rootRenderFunc] (eval at _compile (D:\ProgramCode\Hexo\Blog\node_modules\nunjucks\src\environment.js:637:18), <anonymous>:413:3)
    at eval (eval at _compile (D:\ProgramCode\Hexo\Blog\node_modules\nunjucks\src\environment.js:637:18), <anonymous>:29:16)
    at eval (eval at _compile (D:\ProgramCode\Hexo\Blog\node_modules\nunjucks\src\environment.js:637:18), <anonymous>:24:46)
    at eval (eval at _compile (D:\ProgramCode\Hexo\Blog\node_modules\nunjucks\src\environment.js:637:18), <anonymous>:24:86)
    at eval (eval at _compile (D:\ProgramCode\Hexo\Blog\node_modules\nunjucks\src\environment.js:637:18), <anonymous>:20:46)
    at eval (eval at _compile (D:\ProgramCode\Hexo\Blog\node_modules\nunjucks\src\environment.js:637:18), <anonymous>:20:84)
    at eval (eval at _compile (D:\ProgramCode\Hexo\Blog\node_modules\nunjucks\src\environment.js:637:18), <anonymous>:16:46)
    at eval (eval at _compile (D:\ProgramCode\Hexo\Blog\node_modules\nunjucks\src\environment.js:637:18), <anonymous>:16:82)
    at createTemplate (D:\ProgramCode\Hexo\Blog\node_modules\nunjucks\src\environment.js:315:9)
    at handle (D:\ProgramCode\Hexo\Blog\node_modules\nunjucks\src\environment.js:327:11)
    at D:\ProgramCode\Hexo\Blog\node_modules\nunjucks\src\environment.js:339:9
    at next (D:\ProgramCode\Hexo\Blog\node_modules\nunjucks\src\lib.js:280:7)
    at Object.asyncIter (D:\ProgramCode\Hexo\Blog\node_modules\nunjucks\src\lib.js:286:3)
    at Environment.getTemplate (D:\ProgramCode\Hexo\Blog\node_modules\nunjucks\src\environment.js:321:9)
    at Template.root [as rootRenderFunc] (eval at _compile (D:\ProgramCode\Hexo\Blog\node_modules\nunjucks\src\environment.js:637:18), <anonymous>:9:5)
    at Template.render (D:\ProgramCode\Hexo\Blog\node_modules\nunjucks\src\environment.js:556:10)
    at D:\ProgramCode\Hexo\Blog\node_modules\hexo-renderer-njucks\index.js:22:27
    at Theme._View.View._compiled (D:\ProgramCode\Hexo\Blog\node_modules\hexo\lib\theme\view.js:123:48)
    at Theme._View.View.View.render (D:\ProgramCode\Hexo\Blog\node_modules\hexo\lib\theme\view.js:29:15)
    at D:\ProgramCode\Hexo\Blog\node_modules\hexo\lib\hexo\index.js:365:21
ERROR Template render error: (D:\ProgramCode\Hexo\Blog\themes\aria\layout\archive.njk) [Line 52, Column 42]
  TypeError: path.startsWith is not a function
Template render error: (D:\ProgramCode\Hexo\Blog\themes\aria\layout\archive.njk) [Line 52, Column 42]
  TypeError: path.startsWith is not a function
    at Object._prettifyError (D:\ProgramCode\Hexo\Blog\node_modules\nunjucks\src\lib.js:36:11)
    at D:\ProgramCode\Hexo\Blog\node_modules\nunjucks\src\environment.js:567:19
    at Template.root [as rootRenderFunc] (eval at _compile (D:\ProgramCode\Hexo\Blog\node_modules\nunjucks\src\environment.js:637:18), <anonymous>:413:3)
    at eval (eval at _compile (D:\ProgramCode\Hexo\Blog\node_modules\nunjucks\src\environment.js:637:18), <anonymous>:29:16)
    at eval (eval at _compile (D:\ProgramCode\Hexo\Blog\node_modules\nunjucks\src\environment.js:637:18), <anonymous>:24:46)
    at eval (eval at _compile (D:\ProgramCode\Hexo\Blog\node_modules\nunjucks\src\environment.js:637:18), <anonymous>:24:86)
    at eval (eval at _compile (D:\ProgramCode\Hexo\Blog\node_modules\nunjucks\src\environment.js:637:18), <anonymous>:20:46)
    at eval (eval at _compile (D:\ProgramCode\Hexo\Blog\node_modules\nunjucks\src\environment.js:637:18), <anonymous>:20:84)
    at eval (eval at _compile (D:\ProgramCode\Hexo\Blog\node_modules\nunjucks\src\environment.js:637:18), <anonymous>:16:46)
    at eval (eval at _compile (D:\ProgramCode\Hexo\Blog\node_modules\nunjucks\src\environment.js:637:18), <anonymous>:16:82)
    at createTemplate (D:\ProgramCode\Hexo\Blog\node_modules\nunjucks\src\environment.js:315:9)
    at handle (D:\ProgramCode\Hexo\Blog\node_modules\nunjucks\src\environment.js:327:11)
    at D:\ProgramCode\Hexo\Blog\node_modules\nunjucks\src\environment.js:339:9
    at next (D:\ProgramCode\Hexo\Blog\node_modules\nunjucks\src\lib.js:280:7)
    at Object.asyncIter (D:\ProgramCode\Hexo\Blog\node_modules\nunjucks\src\lib.js:286:3)
    at Environment.getTemplate (D:\ProgramCode\Hexo\Blog\node_modules\nunjucks\src\environment.js:321:9)
    at Template.root [as rootRenderFunc] (eval at _compile (D:\ProgramCode\Hexo\Blog\node_modules\nunjucks\src\environment.js:637:18), <anonymous>:9:5)
    at Template.render (D:\ProgramCode\Hexo\Blog\node_modules\nunjucks\src\environment.js:556:10)
    at D:\ProgramCode\Hexo\Blog\node_modules\hexo-renderer-njucks\index.js:22:27
    at Theme._View.View._compiled (D:\ProgramCode\Hexo\Blog\node_modules\hexo\lib\theme\view.js:123:48)
    at Theme._View.View.View.render (D:\ProgramCode\Hexo\Blog\node_modules\hexo\lib\theme\view.js:29:15)
    at D:\ProgramCode\Hexo\Blog\node_modules\hexo\lib\hexo\index.js:365:21
ERROR Template render error: (D:\ProgramCode\Hexo\Blog\themes\aria\layout\archive.njk) [Line 52, Column 42]
  TypeError: path.startsWith is not a function
Template render error: (D:\ProgramCode\Hexo\Blog\themes\aria\layout\archive.njk) [Line 52, Column 42]
  TypeError: path.startsWith is not a function
    at Object._prettifyError (D:\ProgramCode\Hexo\Blog\node_modules\nunjucks\src\lib.js:36:11)
    at D:\ProgramCode\Hexo\Blog\node_modules\nunjucks\src\environment.js:567:19
    at Template.root [as rootRenderFunc] (eval at _compile (D:\ProgramCode\Hexo\Blog\node_modules\nunjucks\src\environment.js:637:18), <anonymous>:413:3)
    at eval (eval at _compile (D:\ProgramCode\Hexo\Blog\node_modules\nunjucks\src\environment.js:637:18), <anonymous>:29:16)
    at eval (eval at _compile (D:\ProgramCode\Hexo\Blog\node_modules\nunjucks\src\environment.js:637:18), <anonymous>:24:46)
    at eval (eval at _compile (D:\ProgramCode\Hexo\Blog\node_modules\nunjucks\src\environment.js:637:18), <anonymous>:24:86)
    at eval (eval at _compile (D:\ProgramCode\Hexo\Blog\node_modules\nunjucks\src\environment.js:637:18), <anonymous>:20:46)
    at eval (eval at _compile (D:\ProgramCode\Hexo\Blog\node_modules\nunjucks\src\environment.js:637:18), <anonymous>:20:84)
    at eval (eval at _compile (D:\ProgramCode\Hexo\Blog\node_modules\nunjucks\src\environment.js:637:18), <anonymous>:16:46)
    at eval (eval at _compile (D:\ProgramCode\Hexo\Blog\node_modules\nunjucks\src\environment.js:637:18), <anonymous>:16:82)
    at createTemplate (D:\ProgramCode\Hexo\Blog\node_modules\nunjucks\src\environment.js:315:9)
    at handle (D:\ProgramCode\Hexo\Blog\node_modules\nunjucks\src\environment.js:327:11)
    at D:\ProgramCode\Hexo\Blog\node_modules\nunjucks\src\environment.js:339:9
    at next (D:\ProgramCode\Hexo\Blog\node_modules\nunjucks\src\lib.js:280:7)
    at Object.asyncIter (D:\ProgramCode\Hexo\Blog\node_modules\nunjucks\src\lib.js:286:3)
    at Environment.getTemplate (D:\ProgramCode\Hexo\Blog\node_modules\nunjucks\src\environment.js:321:9)
    at Template.root [as rootRenderFunc] (eval at _compile (D:\ProgramCode\Hexo\Blog\node_modules\nunjucks\src\environment.js:637:18), <anonymous>:9:5)
    at Template.render (D:\ProgramCode\Hexo\Blog\node_modules\nunjucks\src\environment.js:556:10)
    at D:\ProgramCode\Hexo\Blog\node_modules\hexo-renderer-njucks\index.js:22:27
    at Theme._View.View._compiled (D:\ProgramCode\Hexo\Blog\node_modules\hexo\lib\theme\view.js:123:48)
    at Theme._View.View.View.render (D:\ProgramCode\Hexo\Blog\node_modules\hexo\lib\theme\view.js:29:15)
    at D:\ProgramCode\Hexo\Blog\node_modules\hexo\lib\hexo\index.js:365:21
ERROR Template render error: (D:\ProgramCode\Hexo\Blog\themes\aria\layout\index.njk) [Line 52, Column 42]
  TypeError: path.startsWith is not a function
Template render error: (D:\ProgramCode\Hexo\Blog\themes\aria\layout\index.njk) [Line 52, Column 42]
  TypeError: path.startsWith is not a function
    at Object._prettifyError (D:\ProgramCode\Hexo\Blog\node_modules\nunjucks\src\lib.js:36:11)
    at D:\ProgramCode\Hexo\Blog\node_modules\nunjucks\src\environment.js:567:19
    at Template.root [as rootRenderFunc] (eval at _compile (D:\ProgramCode\Hexo\Blog\node_modules\nunjucks\src\environment.js:637:18), <anonymous>:413:3)
    at eval (eval at _compile (D:\ProgramCode\Hexo\Blog\node_modules\nunjucks\src\environment.js:637:18), <anonymous>:29:16)
    at eval (eval at _compile (D:\ProgramCode\Hexo\Blog\node_modules\nunjucks\src\environment.js:637:18), <anonymous>:24:46)
    at eval (eval at _compile (D:\ProgramCode\Hexo\Blog\node_modules\nunjucks\src\environment.js:637:18), <anonymous>:24:86)
    at eval (eval at _compile (D:\ProgramCode\Hexo\Blog\node_modules\nunjucks\src\environment.js:637:18), <anonymous>:20:46)
    at eval (eval at _compile (D:\ProgramCode\Hexo\Blog\node_modules\nunjucks\src\environment.js:637:18), <anonymous>:20:84)
    at eval (eval at _compile (D:\ProgramCode\Hexo\Blog\node_modules\nunjucks\src\environment.js:637:18), <anonymous>:16:46)
    at eval (eval at _compile (D:\ProgramCode\Hexo\Blog\node_modules\nunjucks\src\environment.js:637:18), <anonymous>:16:82)
    at createTemplate (D:\ProgramCode\Hexo\Blog\node_modules\nunjucks\src\environment.js:315:9)
    at handle (D:\ProgramCode\Hexo\Blog\node_modules\nunjucks\src\environment.js:327:11)
    at D:\ProgramCode\Hexo\Blog\node_modules\nunjucks\src\environment.js:339:9
    at next (D:\ProgramCode\Hexo\Blog\node_modules\nunjucks\src\lib.js:280:7)
    at Object.asyncIter (D:\ProgramCode\Hexo\Blog\node_modules\nunjucks\src\lib.js:286:3)
    at Environment.getTemplate (D:\ProgramCode\Hexo\Blog\node_modules\nunjucks\src\environment.js:321:9)
    at Template.root [as rootRenderFunc] (eval at _compile (D:\ProgramCode\Hexo\Blog\node_modules\nunjucks\src\environment.js:637:18), <anonymous>:9:5)
    at Template.render (D:\ProgramCode\Hexo\Blog\node_modules\nunjucks\src\environment.js:556:10)
    at D:\ProgramCode\Hexo\Blog\node_modules\hexo-renderer-njucks\index.js:22:27
    at Theme._View.View._compiled (D:\ProgramCode\Hexo\Blog\node_modules\hexo\lib\theme\view.js:123:48)
    at Theme._View.View.View.render (D:\ProgramCode\Hexo\Blog\node_modules\hexo\lib\theme\view.js:29:15)
    at D:\ProgramCode\Hexo\Blog\node_modules\hexo\lib\hexo\index.js:365:21
INFO  Generated: atom.xml
INFO  Generated: search.xml
INFO  Generated: index.html
INFO  Generated: archives/index.html
INFO  Generated: fonts/lg.eot
INFO  Generated: fancybox/blank.gif
INFO  Generated: fancybox/jquery.fancybox.css
INFO  Generated: fancybox/jquery.fancybox.js
INFO  Generated: images/avatar.png
INFO  Generated: fancybox/jquery.fancybox.pack.js
INFO  Generated: fancybox/fancybox_overlay.png
INFO  Generated: fancybox/fancybox_loading.gif
INFO  Generated: fancybox/[email protected]
INFO  Generated: fancybox/[email protected]
INFO  Generated: fonts/lg.svg
INFO  Generated: fancybox/fancybox_sprite.png
INFO  Generated: images/logo.png
INFO  Generated: fonts/lg.ttf
INFO  Generated: fonts/lg.woff
INFO  Generated: archives/2019/11/index.html
INFO  Generated: archives/2019/index.html
INFO  Generated: css/fonts/FontAwesome.otf
INFO  Generated: fancybox/helpers/fancybox_buttons.png
INFO  Generated: css/fonts/fontawesome-webfont.eot
INFO  Generated: css/fonts/fontawesome-webfont.woff
INFO  Generated: js/script.js
INFO  Generated: fancybox/helpers/jquery.fancybox-buttons.js
INFO  Generated: css/atom-one-light.css
INFO  Generated: css/atom-one-dark.css
INFO  Generated: fancybox/helpers/jquery.fancybox-buttons.css
INFO  Generated: fancybox/helpers/jquery.fancybox-media.js
INFO  Generated: css/commentjs.css
INFO  Generated: css/comment.css
INFO  Generated: fancybox/helpers/jquery.fancybox-thumbs.js
INFO  Generated: css/info.css
INFO  Generated: fancybox/helpers/jquery.fancybox-thumbs.css
INFO  Generated: css/custom.css
INFO  Generated: css/header.css
INFO  Generated: css/nav.css
INFO  Generated: css/page.css
INFO  Generated: css/normalize.css
INFO  Generated: css/main.css
INFO  Generated: css/post.css
INFO  Generated: css/footer.css
INFO  Generated: css/reward.css
INFO  Generated: css/solarized-dark.css
INFO  Generated: js/busuanzi.pure.mini.js
INFO  Generated: css/sidebar.css
INFO  Generated: css/solarized-light.css
INFO  Generated: js/clipboard.min.js
INFO  Generated: js/index.js
INFO  Generated: js/lg-hash.min.js
INFO  Generated: js/lg-pager.min.js
INFO  Generated: js/custom.js
INFO  Generated: js/lg-fullscreen.min.js
INFO  Generated: js/lg-zoom.min.js
INFO  Generated: js/lg-thumbnail.min.js
INFO  Generated: css/variables.css
INFO  Generated: js/scrollspy.js
INFO  Generated: js/marked.min.js
INFO  Generated: js/timeago.min.js
INFO  Generated: js/search.js
INFO  Generated: js/util.js
INFO  Generated: css/index.css
INFO  Generated: js/commentjs.js
INFO  Generated: css/lightgallery.min.css
INFO  Generated: css/style.css
INFO  Generated: js/highlight.min.js
INFO  Generated: js/lightgallery.min.js
INFO  Generated: js/jquery.min.js
INFO  Generated: css/images/banner.jpg
INFO  Generated: css/fonts/fontawesome-webfont.ttf
INFO  Generated: css/fonts/fontawesome-webfont.svg
INFO  Generated: js/fontawesome-all.min.js
INFO  Generated: 2019/11/23/hello-world/index.html
INFO  Generated: images/background.png
INFO  76 files generated in 2.47 s
PS D:\ProgramCode\Hexo\Blog>   

Others / 其他

mathjax没有效果

我现在配置好了,但是没有渲染出数学表达式,请问还需要改什么么

打赏设置开关无效

喵~我又回来惹。
之前未经允许开了issue真的不好意思(鞠躬)
现在打赏这个功能有点小问题哇,enable: false依旧会显示打赏和comment字符串,虽然是一个没用的按钮。

望修复Orz毕竟个人对前端也就会一点点

侧栏部件

你好,请问侧栏部件是否能够增加一些?例如把category list放在侧栏。
或者自己实现的话我应该如何修改呢

Mango

请问我可以用你的主题来搭建我的博客网站吗?谢谢

mathjax如何配置

我按照README讲的设置了CDN之后,发现不仅没有成功,页面也没法正常显示了。

commentjs头像显示大小的问题

我用这个主题搭建了自己的博客pyrrhax.com,发现commentjs评论区,显示的头像尺寸为所加载的头像图片原尺寸(比如图片尺寸很大,就会把旁边的东西挤到一边)。并且“去评论”按钮没有背景色,很难被找到。。
打开sh.alynx.xyz,审查元素进行对比,发现头像部分的CSS样式少了
.comments .commentjs .avatar-parent-child .avatar {
width: 3em;
height: 3em;
}
自己手动在index.styl中加入了
.comments
.commentjs
.avatar-parent-child
.avatar {
width: 3em;
height: 3em;
}
才恢复正常。。
目前还是一脸懵逼。。。不知道为什么会这样。。

上传的md文件标题会多一个 #

I Have Done Those and Need to Create a New Issue / 我确定我已经做过了下面这几步并确实需要创建一个新 Issue

  • Yes, I already updated my theme to the newest version as docs and cleaned cache before testing (hexo clean && hexo s). / 是的,我已经按照 文档 把我的主题更新到最新版本了并在测试之前清除了缓存(hexo clean && hexo s)。
  • Yes, I already read Hexo Docs page. / 是的,我已经查阅过 Hexo 文档 了。
  • Yes, I already verified I found a theme problem, not a Hexo problem or because of my lack of Markdown usage and Hexo usage. / 是的,我已经确定我发现了一个主题的问题,而不是 Hexo 的问题或者因为我缺乏对于 Markdown 和 Hexo 用法的了解。
  • Yes, I already searched opening issues and not found related issues. / 是的,我查找过了未解决的 issue 并且没有发现类似的。

Expected Behavior / 预期行为

上传markdown文件

Actual Behavior / 实际行为

标题前面会出现’#‘

Related Screenshots / 相关截图

2019-01-07 2

Related Pages / 相关页面

Steps to Reproduce / 重现步骤

  1. N/A
  2. N/A
  3. N/A

Related Configuration and Code / 相关配置和代码

Site's _config.yml / 站点配置文件

Theme's _config.yml / 主题配置文件

Code / 代码


Others / 其他

作者你好, 代码高亮不能正常工作, 麻烦看下

已经按照说明文档的配置了, 代码高亮还是有问题, 尝试将内置的 solarized-dark 更换为下载的 agate css文件依然无效, 不太明白啥情况
博客地址
xx.github.io/_config.yml:

highlight:
  enable: true
  hljs: true
  line_number: true
  auto_detect: false
  tab_replace:

xx.github.io/themes/aria/_config.yml:

# Available: atom-one-dark | atom-one-light | solarized-dark | solarized-light
highlight: agate
#solarized-dark

如何限制显示图片的大小

开发者你好。
<img src="190408/e.png" width="50%"></img>
我使用了上述代码不能限制图片的大小,现在图片在博客上面显示太大,请问正确的语法是怎么样的,谢谢

favicon的路径好像不对吧?

favicon:
  apple_touch_icon: favicons/apple-touch-icon.png
  android_chrome_large: favicons/android-chrome-192x192.png
  medium: favicons/favicon-32x32.png
  small: favicons/favicon-16x16.png
  safari_pinned_tab: favicons/safari-pinned-tab.svg
  android_manifest: favicons/site.webmanifest
  ms_browserconfig: favicons/browserconfig.xml
  fallback: favicon.ico

fallback的路径应该也是favicons/favicon.ico吧,不然加载不到

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.