Giter Club home page Giter Club logo

hexo-theme-webstack's Introduction

hexo-theme-webstack

中文文档

A Hexo theme based on WebStackPage.

screenshot

Installation

hexo >= 4.0

git clone https://github.com/HCLonely/hexo-theme-webstack themes/webstack

hexo >= 5.0

npm install hexo-theme-webstack -S

or

cnpm install hexo-theme-webstack -S

Configuration

hexo >= 4.0

Copy the _config.example.yml file in the themes/webstack/ directory to the rootDir/source/_data/ directory and rename it to webstack.yml.

Configure it by editing webstack.yml.

hexo >= 5.0

  • If this theme is newly installed, a _config.webstack.yml file will be generated in the root directory after the installation is complete, and you can directly edit the _config.webstack.yml file for configuration.
  • If it is a theme upgrade, you can use the configuration method of hexo >= 4.0, or you can move the original configuration file to the root directory and rename it to _config.webstack.yml.

Note: Please keep only one of rootDir/_config.webstack.yml and rootDir/source/_data/webstack.yml!

favicon

Website icon.

Examples:

favicon: /favicon.ico

banner

[Optional] Banner when sharing website to twitter and facebook.

Examples:

banner: /images/webstack_banner_cn.png

logo

Website logo.

  • expanded: The logo in the upper left corner of the expanded sidebar.
  • collapsed: The logo in the upper left corner of the retractable sidebar.
  • dark: The logo in the upper left corner when the top bar is dark, only the about page takes effect.

Examples:

logo:
  expanded: /images/[email protected]
  collapsed: /images/[email protected]
  dark: /images/[email protected]

flag

Language identifier, multi-language please cooperate with Subpage use.

  • icon: Language icons, by default only flag-cn and flag-us, other icons please look for and store in theme directory/source/images/flags/.
  • name: Language name
  • default: Whether the language is the default language
  • index: The page link

Examples:

flag:
  - name: Chinese
    default: true
    icon: flag-cn
    index: /index.html

search

Whether to show search box

Examples:

search: true

userDefinedSearchData

Custom search engine

  • custom: Whether to enable custom configuration
  • thisSearch: Current search engine search link
  • thisSearchIcon: Current search engine icon link, format: url(图片链接)
  • hotStatus: Whether to enable hot word search function
  • data: Multiple search engine configurations
    • name: Search engine name img: Search engine search link url: Search engine icon link, format: url(图片链接)

示例:

userDefinedSearchData:
  custom: true
  thisSearch: https://www.baidu.com/s?wd=
  thisSearchIcon: url(https://www.baidu.com/favicon.ico)
  hotStatus: true
  data:
    - name: 百度
      img: url(https://www.baidu.com/favicon.ico)
      url: https://www.baidu.com/s?wd=
    - name: 谷歌
      img: url(https://www.google.com/favicon.ico)
      url: https://www.google.com/search?q=

githubCorner

Github corner in the upper right corner.

Examples:

githubCorner: '<a href="https://github.com/HCLonely/hexo-theme-webstack" class="github-corner" aria-label="View source on GitHub"><svg width="80" height="80" viewBox="0 0 250 250" style="fill:#151513; color:#fff; position: absolute; top: 0; border: 0; right: 0;" aria-hidden="true"><path d="M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z"></path><path d="M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2" fill="currentColor" style="transform-origin: 130px 106px;" class="octo-arm"></path><path d="M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z" fill="currentColor" class="octo-body"></path></svg></a><style>.github-corner:hover .octo-arm{animation:octocat-wave 560ms ease-in-out}@keyframes octocat-wave{0%,100%{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}@media (max-width:500px){.github-corner:hover .octo-arm{animation:none}.github-corner .octo-arm{animation:octocat-wave 560ms ease-in-out}}</style>'

since

Year of site establishment, shown at the bottom of the page.

Examples:

since: 2020

menu

[Main] Sidebar menu settings

  • name: Group name
  • icon: Group icon
  • config: [Main] Grouped content (see Config for detailed settings), if there is a submenu, this item is not needed!
  • submenu: If there is a submenu, config is not required, this option contains name, icon, config options.

Examples:

menu:
  - name: 常用工具
    icon: far fa-star
    config: hotTools
  - name: 其他工具
    icon: fas fa-tools
    submenu:
      - name: 开发工具
        icon: fas fa-tools
        config: devTools
      - name: 我的博客
        icon: fas fa-blog
        config: myBlog

expandAll

Whether to expand the sidebar.

示例:

expandAll: true

about

About this site in the sidebar.

  • url: The link of about page.
  • name: Text displayed in the sidebar.
  • icon: Icon.

Examples:

about:
  url: /about/
  icon: far fa-heart
  name: 关于本站

aboutPage

About page settings.

  1. Generate about page.
hexo new page about
  1. Edit source/about/index.md and add type:'about'
---
title: about
date: 2020-06-04 18:11:54
type: 'about'
---
  1. Editing aboutPage in theme configuration files.
  • website: The content of about this site.
    • head: Headline.
    • html: Content, support html syntax.
  • webmaster: The content of about webmaster.
    • head: Headline.
    • name: Webmaster's name
    • url: Link.
    • img: Avatar.
    • description: Description.
    • html: Content, support html syntax.

Examples:

aboutPage:
  website:
    head: 关于本站
    html: '<blockquote><p>本站是hexo主题<a href="https://github.com/HCLonely/hexo-theme-webstack">hexo-theme-webstack</a>的demo站。</p></blockquote>'
  webmaster:
    head: 关于站长
    name: HCLonely
    url: https://blog.hclonely.com/
    img: /images/logos/myblog.png
    description: 懒人一个
    html: '<br /><blockquote><p>本站是<a href="https://github.com/HCLonely">HCLonely</a>基于<a href="https://github.com/WebStackPage/WebStackPage.github.io">WebStackPage</a>项目做的一款<a href="https://hexo.io/">Hexo</a>主题。</p></blockquote>'

busuanzi

Website statistics by busuanzi.

  • enable: Whether to enable this feature.
  • position: The number of visits is displayed, footer is displayed in the footer, and sidebar is displayed in the sidebar.
  • pv: The number of visits displayed by the traffic, $pv will be replaced by the number of visits.
  • uv: The number of visitors displayed, $uv will be replaced by the number of visitors.

Examples:

busuanzi:
  enable: true
  position: sidebar
  pv: 本站总访问量$pv
  uv: 本站总访客数$uv

custom

Customize html content.

  • head: Content inserted into the <head></head> tag.
  • body: Content inserted before the </body> tag.

Examples:

custom:
  head: |- # The following content is inserted into the <head></head> tag, you can set up multiple lines, pay attention to at least four spaces at the beginning of each line.
    <link rel="stylesheet" type="text/css" href="custom.css">
    <script src="custom.js"></script>
  body: |- # Insert the following content before the </body> tag, you can set multiple lines, pay attention to at least four spaces at the beginning of each line.
    <div>custom text</div>
    <script src="custom.js"></script>

config

[Main] Website content settings

Parameter

  • name: Website name.
  • url: Website link.
  • img: Website icon.
  • description: Website description.

Examples:

- name: HCLonely Blog
  url: https://blog.hclonely.com/
  img: /images/logos/myBlog.png
  description: 一个懒人的博客。

Associate setting name and add website

The content of config set in menu and submenu is the name of this option.

Examples menu

menu:
  - name: Common tools
    icon: far fa-star
    config: hotTools

There are two ways to add websites in the Common Tools group:

  • In the theme's _config.yml add:
hotTools:
  - name: HCLonely Blog
    url: https://blog.hclonely.com/
    img: /images/logos/myBlog.png
    description: 一个懒人的博客。
  - name: Github
    url: https://github.com/
    img: /images/logos/github.png
    description: 面向开源及私有软件项目的托管平台。
  • Create a new hotTools.yml file in the source/_data/ (not created by yourself), the content of the file is as follows:
- name: HCLonely Blog
  url: https://blog.hclonely.com/
  img: /images/logos/myBlog.png
  description: 一个懒人的博客。
- name: Github
  url: https://github.com/
  img: /images/logos/github.png
  description: 面向开源及私有软件项目的托管平台。

Either of the above two methods can be selected. The second method is recommended.

Subpage configuration

Create subpage

Use hexo new page xxx to create a child page, including the following descriptions, using hexo new page child as an example.

Modify the subpage configuration file

After using the above command to generate the subpage, open the root directory/source/child/index.md file (subpage configuration file), and add a line type:'child' between the two --- This configuration file takes effect. The sub-page uses the configuration of the homepage by default, and the sub-page preferentially uses the configuration between the two --- sub-page configuration files. Each configuration item has the same configuration function as the homepage.

See the examplehttps://github.com/HCLonely/hexo-theme-webstack/tree/gh-pages/source/child/index.md

Since the subpage was basically completed a long time ago, it was later put on hold when it was busy. There may be some configuration or bugs that have been forgotten. If you have any questions, please feedback in time!

hexo-theme-webstack's People

Contributors

dependabot[bot] avatar hclonely 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-webstack's Issues

如何取消页面滚动

您好,再使用这个hexo-theme-webstack导航项目过程中,遇到以下问题

问题描述:点击到左侧的标签分类之后,右侧的页面会有滚动的效果,观感不太好,

我想问下如何关闭这个滚动的功能

本地图片图标只显示一个

image
直接复制的主题,显示的这样
然后改了post_asset_folder: true,本地图片的插件也安了,请问是哪里还没有设置

请问怎么在子目录中使用该主题?

如题,我的博客以前已经使用了其它主题,现在想两个主题同时使用,把这个主题作为博客的导航页面,访问博客URL/guide即可跳转到该主题的首页,请问应该如何设置?

网站图片路径问题

使用gitlab 的page服务部署,网站在子目录下,网站的不能正确显示路径是为什么呢?css js那些文件都能正常加载。
需要在配置文件图片路径中加上项名才行,是我哪里没配对么

每行显示个数问题

您好, 想请问一下, 现在有支持自定义每行显示网站的个数吗, 现在貌似只能每行4个, 个人感觉每行显示的可以再多一点

关于本站页面,站长信息卡片好像有点问题

鼠标悬浮站长信息卡片时,显示的地址好像是固定的,好像有点不合理啊

html

<div class="xe-widget xe-conversations box2 label-info" onclick="window.open('https://www.yansheng.xyz', '_blank')" 
    data-toggle="tooltip" data-placement="bottom" title="" data-original-title="https://www.hclonely.com/">
    <div class="xe-comment-entry">
        <a class="xe-user-img">
            <img src="/images/logos/yansheng.jpg" class="img-circle" width="40">
        </a>
        <div class="xe-comment">
            <a href="#" class="xe-user-name overflowClip_1"> <strong>荷塘月色</strong>

            </a>
            <p class="overflowClip_2">程序猿</p>
        </div>
    </div>
</div>

左侧菜单bug

左侧菜单第三项无论如何配置,都会显示submenu。
甚至配置中menu个数少于3个,也会显示第三项。

menu -> name 带有空格时,页面滚动失效

image

image

见上图,当配置(_config.webstack.yml)中的 menu -> name中间带有空格时,点击左侧菜单无法滚动页面,提示js出错。
name中间不带空格可以正常滚动。

---- hexo-theme-webstack 版本 ----
2.1.0 (npm 安装)

---- Hexo 版本信息 ----
% hexo --version
INFO Validating config
hexo: 6.3.0
hexo-cli: 4.3.0
os: darwin 22.1.0 13.0.1

node: 19.7.0
acorn: 8.8.2
ada: 1.0.1
ares: 1.19.0
brotli: 1.0.9
cldr: 42.0
icu: 72.1
llhttp: 8.1.0
modules: 111
napi: 8
nghttp2: 1.52.0
openssl: 1.1.1t
simdutf: 3.1.0
tz: 2022e
undici: 5.20.0
unicode: 15.0
uv: 1.44.2
uvwasi: 0.0.15
v8: 10.8.168.25-node.11
zlib: 1.2.11

npm安装报错

λ hexo -v

INFO  Validating config
hexo: 5.4.0
hexo-cli: 4.3.0
os: win32 10.0.19042
node: 17.2.0
v8: 9.6.180.14-node.12
uv: 1.42.0
zlib: 1.2.11
brotli: 1.0.9
ares: 1.18.1
modules: 102
nghttp2: 1.45.1
napi: 8
llhttp: 6.0.4
openssl: 3.0.0+quic
cldr: 40.0
icu: 70.1
tz: 2021a3
unicode: 14.0
ngtcp2: 0.1.0-DEV
nghttp3: 0.1.0-DEV

package.json

{
  "name": "hexo-site",
  "version": "0.0.0",
  "private": true,
  "scripts": {
    "build": "hexo generate",
    "clean": "hexo clean",
    "deploy": "hexo deploy",
    "server": "hexo server"
  },
  "hexo": {
    "version": "5.4.0"
  },
  "dependencies": {
    "hexo": "^5.4.0",
    "hexo-generator-archive": "^1.0.0",
    "hexo-generator-category": "^1.0.0",
    "hexo-generator-index": "^2.0.0",
    "hexo-generator-tag": "^1.0.0",
    "hexo-renderer-ejs": "^2.0.0",
    "hexo-renderer-marked": "^4.1.0",
    "hexo-renderer-stylus": "^2.0.1",
    "hexo-server": "^2.0.0",
    "hexo-theme-landscape": "^0.0.3"
  }
}

λ npm install hexo-theme-webstack -S

npm ERR! code 1
npm ERR! path D:\OneDrive\hexo\Mynav\node_modules\hexo-theme-webstack
npm ERR! command failed
npm ERR! command C:\WINDOWS\system32\cmd.exe /d /s /c node ./move_config.js
npm ERR! D:\OneDrive\hexo\Mynav\node_modules\hexo-theme-webstack\move_config.js:5
npm ERR!   if (version.split('.')[0].imcludes('5')) {
npm ERR!                             ^
npm ERR!
npm ERR! TypeError: version.split(...)[0].imcludes is not a function
npm ERR!     at Object.<anonymous> (D:\OneDrive\hexo\Mynav\node_modules\hexo-theme-webstack\move_config.js:5:29)
npm ERR!     at Module._compile (node:internal/modules/cjs/loader:1097:14)
npm ERR!     at Object.Module._extensions..js (node:internal/modules/cjs/loader:1149:10)
npm ERR!     at Module.load (node:internal/modules/cjs/loader:975:32)
npm ERR!     at Function.Module._load (node:internal/modules/cjs/loader:822:12)
npm ERR!     at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
npm ERR!     at node:internal/main/run_main_module:17:47
npm ERR!
npm ERR! Node.js v17.2.0

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\Mypc\AppData\Local\npm-cache\_logs\2021-12-21T22_19_25_536Z-debug-0.log

在 hexo 5.4.0,有的时候 lozad.js 无法加载

themes/webstack/layout/common/footer.ejs 这里有这么一段:

<% if (setting.type!=="about") { %>
<%- js(setting.js.lozad) %>
<% } else { %>
<textarea ...></textarea>
<% } %>

看起来应该是在首页加载 setting.js.lozad,在「关于本站」的页面,加载下面那段 textarea。

但我用 hexo 5.4,通过 hexo generate 生成的 index.html 里面,始终是 textarea 那段(这样导致首页各个菜单项的 logo 显示不出来),除非把 source/about/index.html 里面的 type: 'about' 去掉。

复现方式(我的是 node 14.15.4)

hexo init test-hexo
cd test-hexo
npm install hexo-theme-webstack -S
# 将 _config.yml 中的 theme 改为 webstack
hexo new page about
# 给 source/about/index.md 加上 type: 'about'
npm run build
# 查看 public/index.html,最下面没有加载 lozad.js,而是放了一个 textarea

另外用 hexo server 的时候没问题,只有 generate 出来的 index.html 是有问题的。

页脚版权问题

页脚中的版权,好像都是webstack,是不可修改的,能否考虑改成主题_config.yml中的author、或者新增一个字段来配置?
(ps:我特地去看了下WebStackPage的开源协议,是MIT,修改后好像问题不大。)

image

关于 Font Awesome 字体的最新版本

你好,最近发现 Font Awesome 字体的最新版本是 5.15.4,跟主题现有的版本相比增加了一些新的符号,我摸索着替换了相关的字体文件和 css 文件后发现新的符号可以正常显示,所以我从官网搜集了新版本字体的相关下载链接,希望你在下次更新主题时可以减轻一点工作量!

CSS
https://use.fontawesome.com/releases/v5.15.4/css/all.css

Solid
https://use.fontawesome.com/releases/v5.15.4/webfonts/fa-solid-900.eot
https://use.fontawesome.com/releases/v5.15.4/webfonts/fa-solid-900.svg
https://use.fontawesome.com/releases/v5.15.4/webfonts/fa-solid-900.ttf
https://use.fontawesome.com/releases/v5.15.4/webfonts/fa-solid-900.woff
https://use.fontawesome.com/releases/v5.15.4/webfonts/fa-solid-900.woff2

Regular
https://use.fontawesome.com/releases/v5.15.4/webfonts/fa-regular-400.eot
https://use.fontawesome.com/releases/v5.15.4/webfonts/fa-regular-400.svg
https://use.fontawesome.com/releases/v5.15.4/webfonts/fa-regular-400.ttf
https://use.fontawesome.com/releases/v5.15.4/webfonts/fa-regular-400.woff
https://use.fontawesome.com/releases/v5.15.4/webfonts/fa-regular-400.woff2

Brand
https://use.fontawesome.com/releases/v5.15.4/webfonts/fa-brands-400.eot
https://use.fontawesome.com/releases/v5.15.4/webfonts/fa-brands-400.svg
https://use.fontawesome.com/releases/v5.15.4/webfonts/fa-brands-400.ttf
https://use.fontawesome.com/releases/v5.15.4/webfonts/fa-brands-400.woff
https://use.fontawesome.com/releases/v5.15.4/webfonts/fa-brands-400.woff2

关于子页面

SharedScreenshot
为何子页面试这样的,在/child/index.md中添加type:'child'显示错误,去除就显示上图

主题配置中左上角flag的图标问题和custom选项中的body问题

您好,有两个小问题说一下,
1.
flag:
icon: flag-cn
name: Chinese
icon这个图标路径是默认的images\flags目录,但我是将这个导航主题嵌套到我另一个博客里面的,所以这个路径我就没法用。

2.主题配置中custom配置里的body选项,
pc模式是在最左下角,且链接失效
QQ截图20210213150049
在手机模式会错位。
image

这是我填写的配置:

custom:
  head: |- # 以下内容插入到<head></head>标签内,可设置多行,注意每行开头至少四个空格
    <!-- 直接添加html内容即可 -->
    <!-- 可设置多行 -->
  body: |- # 以下内容插入到</body>标签之前,可设置多行,注意每行开头至少四个空格
    <!-- 直接添加html内容即可 -->
    <!-- 可设置多行 -->
    <a href="https://beian.miit.gov.cn"><img src="/dchh/images/yumkbwan.png"><span>蜀ICP备20005665号-1</span></a>|<a href="https://www.upyun.com/?utm_source=lianmeng&utm_medium=referral"><img src="/dchh/images/又拍云_logo5.png" height="20" width="40" ></a>

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.