Coder Social home page Coder Social logo

auroral-ui / hexo-theme-aurora Goto Github PK

View Code? Open in Web Editor NEW
1.4K 5.0 218.0 4.74 MB

🏳️‍🌈 Futuristic auroral Hexo theme.

Home Page: https://blog.bennyxguo.com

License: MIT License

JavaScript 2.69% HTML 0.49% Vue 58.85% TypeScript 29.26% SCSS 8.56% Shell 0.02% EJS 0.13%
hexo-theme blog-theme aurora-theme aurora aurora-ui gitalk valine-plugins hexo-theme-aurora theme blog

hexo-theme-aurora's Introduction

image

🏳️‍🌈 Hexo Theme Aurora 🏳️‍🌈

Futuristic auroral theme for Hexo

Aurora is a next generation theme using Aurora colours and UI elements. It give you the feel of smooth flow of colours and a futuristic feeling.

This theme can be installed by using NPM or Yarn since version 1.1.0+, please check the usage document for more details.


Home Page

Article Section

Article Detail

Friends links

🏳️‍🌈 What's in Aurora?

Let's us take a look at the feature list and plans for Aurora:

⭐️ Features

  • Featured section - Can add a feature meta to any post, those will be pinned into the feature section on the home page.
  • Multi-language support - Can dynamically switch the language of the main texts in the application.
  • Statistics - Statistic of article words, posts, categories and tags counts.
  • Article reading time - Show the estimated reading time of an article.
  • Mathjax support - Support mathjax syntax in markdown files.
  • SPA - No page loading or freezing from page to page.
  • Comment plugins - Support the using Gitalk or Valine plugins
  • Comment plugins - Support the using Gitalk or Valine plugins
  • Blog search - Enable to search all the articles in the blog.
  • Latest comments - Added a widget showing the latest comments, supported using Gitalk or Valine.

🎨 Theme

  • Light and dark - Light and dark theme support.
  • Magazine Layout - Modern magazine grid layout.
  • Gradient Colours - Modern gradient colour styles.
  • Timeline styled archives - Archived posts into a timeline format.

🛠 Configuration

  • Beian Config - This feature is especially for China users, for those that need to put Beian info at the footer of the blog.
  • Customizable menu - Can customize your menu with internal links, external links, custom pages.
  • Post navigation - Can navigate to the previous and next article at the end of the article page.
  • Custom pages - Can add any custom pages, need to use the customized menu to display in the menu.
  • Page navbar - Can set up a sidebar on the specific page, act as the sub-menu of the page.

🚀 What is yet to come?

Everything listed here are currently under development.

  • Related posts - _Show a list of the related posts at the end of an article. _

🏆 My sponsors (Coffee Suppliers)

Keep me working on this project 💙

💜 Monthly Supplier

🥇 Golden Supplier

🥈 Silver Supplier

💰 Donation

Are you enjoying this project ? 👋

You can express your ❤️ by buying me a coffee ☕️ to keep this project maintained and stay alive, I would ❤️ to dedicate more time and effort on it!

If there are enough coffee ☕️ I would like to become a full time open source developer! Keep producing more awesome themes and applications to the world!

However you could just share this project with your friends, that would help me a lot as well! 👊

Thanks for your love in advance! ☀️

Donating using Paypal
Buy Me A Coffee
Buy Me A Coffee

All donator will be enlisted as Coffee Supporter and displayed in the Sponsor list in this section.


Wechat 微信支付 Alipay 支付宝支付
Buy Me A Coffee Buy Me A Coffee

所有赞助人将被列为咖啡支持者,并在本节的赞助人名单中显示。

🍼 Feedback

Please check the ISSUES before try to use the following contact methods! Maybe the question you have had being asked by others or it's already being answered. Thanks!

You can give me feedback or issue you have through the following methods:

💬 Join the Community

ObsidiaNext Community Discord Server

Alt

hexo-theme-aurora's People

Contributors

bennyxguo avatar codingjellyfish avatar davidzhang73 avatar mirrorshih avatar satoing avatar semantic-release-bot avatar ychikazawa 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

hexo-theme-aurora's Issues

Dark mode under theme config is not working.

Problem
Setting the dark_mode to true, will did not turn the application into dark mode by default.

Solution
Should read the dark_mode configuration when initializing the application. But skip the dark_mode configuration if the user had changed the mode by choice.

Menu setting's name documation is misleading.

Menu settings's name attribute is required at all time, but if an i18n attribute is set for a menu, the name's value will be ignored, but it will always be used. Since it's used to generate the menu itself during render.

Search Bar

After updating to Aurora 1.4, the search button doesn't work anymore.

Incorrect sum of site word count.

This is due to the string replace of 'k', should find post that is over 1000 words, and remove the 'k' and times by 1000, then add to the total word count.

AI bot

  • This bot will chat with your visitor
  • Build in AI, the bot will know what your user are doing and interact with your visitors while they are browsing.

🐞 [Gitalk] recent comment not updating.

The condition for 1 minute cache is invalid.

Problems

  • The use of OR condition will always return true as valid cache, while the cache has data.length > 0
  • The time checking is setted to check if time cached is > 60*1000 which is incorrect, should check if the time is < 1 minute, if larger than 1 minute since cached was saved, the cache need to be refreshed.

🐞 Site language option not working.

Problem
The locale setting did not take effect when set. After investigation, this is caused by the router guard logic, where it change the locale basic on checking the router params.

Solution
Changed the logic to use the stored locale in appStore, and set it to the stored locale in the beforeEach callback.

错误读取文章front-matter导致的错误

log:
ERROR ERROR {
err: TypeError: Cannot read property 'cdn' of undefined
at module.exports (/home/kcn3388/hexo/themes/aurora/scripts/lib/injector/index.js:16:29)
at /home/kcn3388/hexo/themes/aurora/scripts/index.js:4:26
at /home/kcn3388/hexo/node_modules/hexo/lib/hexo/index.js:305:14
at tryCatcher (/home/kcn3388/hexo/node_modules/bluebird/js/release/util.js:16:23)
at Promise._settlePromiseFromHandler (/home/kcn3388/hexo/node_modules/bluebird/js/release/promise.js:547:31)
at Promise._settlePromise (/home/kcn3388/hexo/node_modules/bluebird/js/release/promise.js:604:18)
at Promise._settlePromise0 (/home/kcn3388/hexo/node_modules/bluebird/js/release/promise.js:649:10)
at Promise._settlePromises (/home/kcn3388/hexo/node_modules/bluebird/js/release/promise.js:729:18)
at _drainQueueStep (/home/kcn3388/hexo/node_modules/bluebird/js/release/async.js:93:12)
at _drainQueue (/home/kcn3388/hexo/node_modules/bluebird/js/release/async.js:86:9)
at Async._drainQueues (/home/kcn3388/hexo/node_modules/bluebird/js/release/async.js:102:5)
at Immediate.Async.drainQueues [as _onImmediate] (/home/kcn3388/hexo/node_modules/bluebird/js/release/async.js:15:14)
at processImmediate (internal/timers.js:439:21)
} Script load failed: %s themes/aurora/scripts/index.js
{
err: TypeError: Cannot read property 'cdn' of undefined
at module.exports (/home/kcn3388/hexo/themes/aurora/scripts/lib/injector/index.js:16:29)
at /home/kcn3388/hexo/themes/aurora/scripts/index.js:4:26
at /home/kcn3388/hexo/node_modules/hexo/lib/hexo/index.js:305:14
at tryCatcher (/home/kcn3388/hexo/node_modules/bluebird/js/release/util.js:16:23)
at Promise._settlePromiseFromHandler (/home/kcn3388/hexo/node_modules/bluebird/js/release/promise.js:547:31)
at Promise._settlePromise (/home/kcn3388/hexo/node_modules/bluebird/js/release/promise.js:604:18)
at Promise._settlePromise0 (/home/kcn3388/hexo/node_modules/bluebird/js/release/promise.js:649:10)
at Promise._settlePromises (/home/kcn3388/hexo/node_modules/bluebird/js/release/promise.js:729:18)
at _drainQueueStep (/home/kcn3388/hexo/node_modules/bluebird/js/release/async.js:93:12)
at _drainQueue (/home/kcn3388/hexo/node_modules/bluebird/js/release/async.js:86:9)
at Async._drainQueues (/home/kcn3388/hexo/node_modules/bluebird/js/release/async.js:102:5)
at Immediate.Async.drainQueues [as _onImmediate] (/home/kcn3388/hexo/node_modules/bluebird/js/release/async.js:15:14)
at processImmediate (internal/timers.js:439:21)
} Script load failed: %s themes/aurora/scripts/index.js
INFO Start processing
FATAL {
err: TypeError: Cannot read property 'KMurasaki' of null
at authorMapper (/home/kcn3388/hexo/themes/aurora/scripts/lib/helpers/mapper.js:41:50)
at postMapper (/home/kcn3388/hexo/themes/aurora/scripts/lib/helpers/mapper.js:33:13)
at /home/kcn3388/hexo/themes/aurora/scripts/lib/generators/post.js:33:21
at _Query.forEach (/home/kcn3388/hexo/node_modules/warehouse/lib/query.js:36:7)
at PostGenerator.transform (/home/kcn3388/hexo/themes/aurora/scripts/lib/generators/post.js:32:15)
at new PostGenerator (/home/kcn3388/hexo/themes/aurora/scripts/lib/generators/post.js:13:10)
at generator (/home/kcn3388/hexo/themes/aurora/scripts/lib/generators/index.js:91:19)
at Hexo. (/home/kcn3388/hexo/themes/aurora/scripts/lib/generators/index.js:79:12)
at Hexo.tryCatcher (/home/kcn3388/hexo/node_modules/bluebird/js/release/util.js:16:23)
at Hexo. (/home/kcn3388/hexo/node_modules/bluebird/js/release/method.js:15:34)
at /home/kcn3388/hexo/node_modules/hexo/lib/hexo/index.js:405:22
at tryCatcher (/home/kcn3388/hexo/node_modules/bluebird/js/release/util.js:16:23)
at MappingPromiseArray._promiseFulfilled (/home/kcn3388/hexo/node_modules/bluebird/js/release/map.js:68:38)
at MappingPromiseArray.PromiseArray._iterate (/home/kcn3388/hexo/node_modules/bluebird/js/release/promise_array.js:115:31)
at MappingPromiseArray.init (/home/kcn3388/hexo/node_modules/bluebird/js/release/promise_array.js:79:10)
at MappingPromiseArray._asyncInit (/home/kcn3388/hexo/node_modules/bluebird/js/release/map.js:37:10)
at _drainQueueStep (/home/kcn3388/hexo/node_modules/bluebird/js/release/async.js:97:12)
at _drainQueue (/home/kcn3388/hexo/node_modules/bluebird/js/release/async.js:86:9)
at Async._drainQueues (/home/kcn3388/hexo/node_modules/bluebird/js/release/async.js:102:5)
at Immediate.Async.drainQueues [as _onImmediate] (/home/kcn3388/hexo/node_modules/bluebird/js/release/async.js:15:14)
at processImmediate (internal/timers.js:439:21)
} Something's wrong. Maybe you can find the solution here: %s https://hexo.io/docs/troubleshooting.html

kmurasaki是我文章设置的第三方作者名,代码为:
author: Kmurasaki

🐞 When there is `excerpt` the content is empty

excerpt is used originally in Hexo generator for outputting shorten description of an article. However for Aurora, it has a custom HTMLTruncate logic comes with it. Therefore we don't need this field anymore.

Problem
When ecerpt of the article is generated, due to the old logic, content is putting as empty. Causing article output with empty content.

Solution
Removing the excerpt field in the Aurora API data generation process.

🐞 Scrolling not smooth

Problem:
The scrolling right now is using the browser default API window.scrollTo which have performance and scrolling smoothness issue when scrolling a large distance.

Solution:
Switching to a custom scroll animation script.

Compulsory adding authors

Hi bro,
I have tried to install this new theme, the steps have been followed but I got this message

INFO Thanks for using Aurora v1.1.2
INFO Check out the repo at: https://github.com/auroral-ui/hexo-theme-aurora
INFO  Validating config
INFO  Start processing
FATAL {
  err: TypeError: Cannot read property 'Nguyên Lưu (Alfred - Yuan)' of null
      at authorMapper (C:\Users\Heisenberg\Documents\blog_zhenyuan0502\blog\node_modules\hexo-theme-aurora\scripts\lib\helpers\mapper.js:41:50)
      at postMapper (C:\Users\Heisenberg\Documents\blog_zhenyuan0502\blog\node_modules\hexo-theme-aurora\scripts\lib\helpers\mapper.js:33:13)
      at C:\Users\Heisenberg\Documents\blog_zhenyuan0502\blog\node_modules\hexo-theme-aurora\scripts\lib\generators\post.js:33:21
      at _Query.forEach (C:\Users\Heisenberg\Documents\blog_zhenyuan0502\blog\node_modules\warehouse\lib\query.js:36:7)
      at PostGenerator.transform (C:\Users\Heisenberg\Documents\blog_zhenyuan0502\blog\node_modules\hexo-theme-aurora\scripts\lib\generators\post.js:32:15)
      at new PostGenerator (C:\Users\Heisenberg\Documents\blog_zhenyuan0502\blog\node_modules\hexo-theme-aurora\scripts\lib\generators\post.js:13:10)
      at generator (C:\Users\Heisenberg\Documents\blog_zhenyuan0502\blog\node_modules\hexo-theme-aurora\scripts\lib\generators\index.js:91:19)
      at Hexo.<anonymous> (C:\Users\Heisenberg\Documents\blog_zhenyuan0502\blog\node_modules\hexo-theme-aurora\scripts\lib\generators\index.js:79:12)
      at Hexo.tryCatcher (C:\Users\Heisenberg\Documents\blog_zhenyuan0502\blog\node_modules\bluebird\js\release\util.js:16:23)
      at Hexo.<anonymous> (C:\Users\Heisenberg\Documents\blog_zhenyuan0502\blog\node_modules\bluebird\js\release\method.js:15:34)

The issue is, when _config.auroa not existed any author, the error will be thrown

#! ---------------------------------------------------------------
#! Authors Configs
#! @docs https://obsidianext.tridiamond.tech/guide/authors.html
#! ---------------------------------------------------------------
authors:

In my sense, I believe that it should be optional, as no authors defined, blog author would be caught up

Allow proxy config for Gitalk.

Gitalk has a config called proxy, this is mainly used to solve cors problem. By default it uses https://cors-anywhere.herokuapp.com/https://github.com/login/oauth/access_token, but for the bloggers in China, this domain is blocked. So the proxy setting should be able to configured in the _config.yml.

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.