All Projects → probberechts → Hexo Theme Cactus

probberechts / Hexo Theme Cactus

Licence: mit
🌵 A responsive, clean and simple theme for Hexo.

Programming Languages

stylus
462 projects
EJS
674 projects
javascript
184084 projects - #8 most used programming language
CSS
56736 projects

Projects that are alternatives of or similar to Hexo Theme Cactus

Hexo Theme Anisina
🎨 A simple responsive , support qiniu image cdn theme for hexo https://haojen.github.io/
Stars: ✭ 746 (-65.12%)
Mutual labels:  blog, hexo
Lruihao.github.io
A Hexo-Next.Pisces Blog modified by LRH.
Stars: ✭ 162 (-92.43%)
Mutual labels:  blog, hexo
Hexo Theme Nexmoe
🔥 一个比较特别的 Hexo 主题
Stars: ✭ 789 (-63.11%)
Mutual labels:  blog, hexo
Hexo Theme Material
Material Design theme for hexo.
Stars: ✭ 4,028 (+88.31%)
Mutual labels:  blog, hexo
Hexo Theme Aomori
A Hexo Theme. Hexo 博客主题
Stars: ✭ 122 (-94.3%)
Mutual labels:  blog, hexo
Hexo Theme Inside
🌈 SPA, Flat and clean theme for Hexo.
Stars: ✭ 480 (-77.56%)
Mutual labels:  blog, hexo
Hexo Theme Diaspora
Hexo theme, Blog theme, Clean, Responsive theme
Stars: ✭ 986 (-53.9%)
Mutual labels:  blog, hexo
Hexo Theme Clean Blog
Hexo implementation of Clean Blog http://blackrockdigital.github.io/startbootstrap-clean-blog/index.html
Stars: ✭ 362 (-83.08%)
Mutual labels:  blog, hexo
Hexo Blog Lionkk
⚡️魔改自butterfly 🦋主题,提供完整详细的文档,同时为了回馈开源,这不是生成后的网页文件,是您可以直接使用的源码,您只需要把博客相关信息换成您自己的就可以部署了,对于新手或者不懂编程的小伙伴来说,简直是福音!❤️
Stars: ✭ 117 (-94.53%)
Mutual labels:  blog, hexo
Hexo Filter Github Emojis
github emojis for hexo! 🎉
Stars: ✭ 71 (-96.68%)
Mutual labels:  blog, hexo
Blog
🎯 个人博客
Stars: ✭ 394 (-81.58%)
Mutual labels:  blog, hexo
Hexo Theme Overdose
⚠ Caution: you could be overdosed with this theme.
Stars: ✭ 137 (-93.6%)
Mutual labels:  blog, hexo
Hexo Theme Aircloud
A concise hexo theme
Stars: ✭ 394 (-81.58%)
Mutual labels:  blog, hexo
Hexo Theme Amazing
Demo: https://removeif.github.io/removeif-demo hexo-theme
Stars: ✭ 154 (-92.8%)
Mutual labels:  blog, hexo
Hexo Theme Claudia
📌 Concisely designed & easy to config, match device dark mode, 90+ Lighthouse scoring
Stars: ✭ 379 (-82.28%)
Mutual labels:  blog, hexo
0x5e.github.io
A peosonal blog
Stars: ✭ 5 (-99.77%)
Mutual labels:  blog, hexo
Hexo Theme Daily
A simple theme for Hexo
Stars: ✭ 246 (-88.5%)
Mutual labels:  blog, hexo
Easy Hexo
🤘 Build your own website with Hexo, the easy way. | 轻松使用 Hexo 建站。
Stars: ✭ 314 (-85.32%)
Mutual labels:  blog, hexo
Hexo Theme Volantis
A Wonderful Theme for Hexo https://volantis.js.org
Stars: ✭ 1,050 (-50.91%)
Mutual labels:  blog, hexo
Hexo Theme Cold Stone
A simple, refreshing, text-based Hexo blog theme.
Stars: ✭ 131 (-93.88%)
Mutual labels:  blog, hexo

Cactus

A responsive, clean and simple Hexo theme for a personal website.

🌵 Demo

screenshot

Summary

General

  • Version : 3.0
  • Compatibility : Hexo 3 or later

Features

  • Fully responsive
  • Multiple color schemes
  • Pick your own code highlighting scheme
  • Configurable navigation menu
  • Support for local search
  • Projects list
  • I18n support
  • Disqus / Utterances
  • Google analytics / Baidu Tongji / Umami Analytics
  • Font Awesome icons
  • Simplicity

Install

  1. In the root directory:

    $ git clone https://github.com/probberechts/hexo-theme-cactus.git themes/cactus
    
  2. Change the theme property in the config.yml file.

    # theme: landscape
    theme: cactus

    See below for more information on how to customize this theme.

  3. Create pages and articles with the hexo new [layout] <title> command. For example, to create an "about me" page, run:

    $ hexo new page about

    This will create a new file in source/about/index.md Similary, you can create a new article with

    $ hexo new post "hello world"

    and add some interesting content in source/_posts/hello-world.md.

  4. Run: hexo generate and hexo server

  5. Publish your blog!

Configuration

You can (and should) modify a couple of settings. An overview of all settings can be found in _config.yml. The most important ones are discussed below.

There are two possible methods to override the defaults. As a first option, you could fork the theme and maintain a custom branch with your settings. Alternatively, you can configure it from your site's primary configuration file. Therefore, define your custom settings under the theme_config variable. For example:

# _config.yml
theme_config:
  colorscheme: white
# themes/cactus/_config.yml
colorscheme: dark

This will override the default black colorscheme in themes/cactus/_config.yml.

Color scheme

Currently, this theme is delivered with four color schemes: dark, light, white and classic. Set your preferred color scheme in the _config.yml file.

colorscheme: light

Alternatively, you can easily create your own color scheme by creating a new file in source/css/_colors.

Navigation

Setup the navigation menu in the _config.yml:

nav:
  home: /
  about: /about/
  articles: /archives/
  projects: http://github.com/probberechts
  LINK_NAME: URL

Blog posts list on home page

You have two options for the list of blog posts on the home page:

  • Show only the 5 most recent posts (default)

    posts_overview:
      show_all_posts: false
      post_count: 5
  • Show all posts

    posts_overview:
      show_all_posts: true

Projects list

Create a projects file source/_data/projects.json to show a list of your projects on the index page.

[
    {
       "name":"Hexo",
       "url":"https://hexo.io/",
       "desc":"A fast, simple & powerful blog framework"
    },
    {
       "name":"Font Awesome",
       "url":"http://fontawesome.io/",
       "desc":"The iconic font and CSS toolkit"
    }
]

Social media links

Cactus can automatically add links to your social media accounts. Therefore, update the theme's _config.yml:

social_links:
  github: your-github-url
  twitter: your-twitter-url
  NAME: your-NAME-url

where NAME is the name of a Font Awesome icon.

Copyright years

By default, Cactus will use current year in your copyright year information. If there is a need to customize, please update _config.yml:

copyright:
  start_year: 2016
  end_year:

Language configuration

If you are new to Hexo and internationalization (i18n), please read Hexo documentation - internationalization (i18n) section

Currently, the theme is delivered with support for:

  • English (en), default
  • Brazilian Portuguese (pt-br)
  • Catalan (ca)
  • Chinese (Simplified, PRC) (zh-CN)
  • Dutch (nl)
  • French (fr)
  • Italian (it)
  • Persian (fa)
  • Russian (ru)
  • Spanish (es)
  • German (de)

If you would like to use one the languages listed above, simply set language to the desired language (e.g., fr) in _config.yml. Otherwise, you can follow the steps below (E.g., to add a Japanese (ja) translation):

  1. Set language to ja in Hexo configuration file _config.yml
  2. Create a ja.yml file in the themes/cactus/languages/ folder
  3. Copy the content of themes/cactus/languages/default.yml and paste it it into the ja.yml file
  4. Replace all English strings by their Japanese translation

Note: Cactus does not support multi-language sites.

RTL support

This theme support RTL languages for Persian and Arabic language. If you would like to use RTL layout, change direction attribute in _config.yml to rtl. Note that this also will change the font to Vazir, which is a Persian font.

direction: rtl

RSS

Set the rss field in the _config.yml to one of the following values:

  1. rss: false will totally disable rss (default).
  2. rss: atom.xml sets a specific feed link.
  3. rss:leave empty to use the hexo-generator-feed plugin.

Analytics

Add you Google, Baidu, Cloudflare or Umami Analytics tracking_id to the _config.yml.

google_analytics:
  enabled: true
  id: 'UA-49627206-1'

baidu_analytics:
  enabled: true
  id: 2e6da3c375c8a87f5b664cea6d4cb29c

cloudflare_analytics:
  enabled: true
  id: 0dabb6e21848405483a237e6a7b6ed04

umami_analytics:
  enabled: false
  id: e77e68be-f6e4-4br3-9365-2b76b57cd571
  host: https://analytics.domain.com

CDN

Load Javascript and CSS resources from a CDN. Enabled by default, loads all resources from cdnjs.

cdn:
  enable: true
  jquery: 'url'
  clipboard: 'url'
  font_awesome: 'url'
  justified_gallery_css: 'url'
  justified_gallery_js: 'url'

Set enable: false to completely disable CDN and load all resources from your domain. If you want to disable it only for specific resource(s) then just remove the corresponding entry(s).

cdn:
  enable: true
  jquery: 'url'

Only JQuery will be loaded from the specified CDN.

Comments

Cactus supports two commenting systems: Disqus and Utterances.

Disqus

First, create a site on Disqus: https://disqus.com/admin/create/.

Next, update the _config.yml file:

disqus:
  enabled: true
  shortname: SITENAME

where SITENAME is the name you gave your site on Disqus.

Utterances

First, follow the instructions on the oficial website to setup an issue tracker Utterances will connect to.

Next, update the _config.yml file:

utteranc:
  enabled: true
  repo: owner/githubrepo
  issue_term: pathname
  label: utteranc
  theme: themename

where each of the parameters are the respective values ​​provided during the configuration of the Utterances:

  • repo: the repository Utterances will connect to.
  • issue_term: the mapping between blog posts and GitHub issues.
  • label: the label that will be assigned to issues created by Utterances
  • theme: the selected Utterances theme.

Code Highlighting

Pick one of the available colorschemes and add it to the _config.yml:

highlight: COLORSCHEME_NAME

Tags and categories

Tags and categories can be included in the front-matter of your posts. For example:

title: Tags and Categories
date: 2017-12-24 23:29:53
tags:
- Foo
- Bar
categories: 
- Baz
---

This post contains 2 tags and 1 category.

You can create a page with a tag cloud by running:

$ hexo new page tags

Next, add type: tags to the front-matter of source/tags/index.md. You can also add a tag cloud to the home page by setting the tags_overview option to true.

Similarly, you can create a page with an overview of all categories by running:

$ hexo new page categories

and adding type: categories to the front-matter of source/categories/index.md.

Finally, don't forget to create a link to these pages, for example in the navigation menu:

nav:
  tag: /tags/
  category: /categories/

Local search

First, install the hexo-generate-search plugin, which will generate a search index file.

$ npm install hexo-generator-search --save

Next, create a page to display the search engine:

$ hexo new page search

and put type: search in the front-matter.

title: Search
type: search
---

Finally, edit the _config.yml and add a link to the navigation menu.

nav:
  search: /search/

License

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].