XPoet / hexo-theme-keep

:rainbow: A simple and light theme for Hexo. It makes you more focused on writing.
https://xpoet.cn
GNU Affero General Public License v3.0
1.31k stars 175 forks source link

对文档上锁后,公式渲染会失效 && 代码块默认展开打开后,无法折叠 #346

Open realnghon opened 1 month ago

realnghon commented 1 month ago

Issue Checklist | Issue 检查清单

Expected behavior | 预期行为

问题1: image image 这两者的区别只有我在head是否添加password字段导致。

问题2: 当我使用在head中使用 code_block_shrink: false image image

此时codeBlock的折叠功能失效,code_block_shrink: true正常,但是对于长代码快会自动折叠不是很喜欢

Actual behavior | 实际行为

Steps to reproduce the behavior | 重现步骤

  1. First step ... (第一步 ...)
  2. Second step ... (第二步 ...)
  3. Third step ... (第三步 ...)

Node.js and NPM Information | Node.js 和 NPM 信息

$ node -v && npm -v
v20.15.1
10.8.1

Hexo Configuration | Hexo 配置

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

# Site
title: NgHon's Blog
subtitle: ''
description: Personal Blog
keywords:
author: Nghon
language: en
timezone: ''
# URL
## Set your site url here. For example, if you use GitHub Page, set url as 'https://username.github.io/project'
url: http://example.com
permalink: :year/:month/:day/:title/
permalink_defaults:
pretty_urls:
  trailing_index: true # Set to false to remove trailing 'index.html' from permalinks
  trailing_html: true # Set to false to remove trailing '.html' from permalinks

# Directory
source_dir: source
public_dir: public
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
syntax_highlighter: highlight.js
highlight:
  line_number: true
  auto_detect: true
  tab_replace: ''
  wrap: true
  hljs: false
prismjs:
  enable: false
  preprocess: true
  line_number: 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
## updated_option supports 'mtime', 'date', 'empty'
updated_option: 'mtime'

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

# Deployment
## Docs: https://hexo.io/docs/one-command-deployment
deploy:
  type: git
  repo: git@github.com:realnghon/realnghon.github.io.git
  branch: main

jsonContent:
  meta: false
  pages: false
  posts:
    title: true
    date: true
    path: true
    text: true
    raw: false
    content: false
    slug: false
    updated: false
    comments: false
    link: false
    permalink: false
    excerpt: false
    categories: false
    tags: true

mathjax:
  tags: none               # or 'ams' or 'all'
  single_dollars: true     # enable single dollar signs as in-line math delimiters
  cjk_width: 0.9           # relative CJK char width
  normal_width: 0.6        # relative normal (monospace) width
  append_css: true         # add CSS to every page
  every_page: false        # if true, every page will be rendered by mathjax regardless the `mathjax` setting in Front-matter of each article

Keep Configuration | Keep 配置

## ======================================================================================
## Hexo Theme Keep
## Documents: https://keep-docs.xpoet.cn
## Repository: https://github.com/XPoet/hexo-theme-keep
## ======================================================================================

# ---------------------------------------------------------------------------------------
# Docs: https://keep-docs.xpoet.cn/basis/configuration-guide/base_info.html
# ---------------------------------------------------------------------------------------
base_info:
  # Theme primary color
  primary_color: "#0066cc"

  # Blog website title
  title: Han's Blog

  # Blog website author name
  author: NgHon

  # Author avatar, You can use local image path or image link
  avatar: https://avatars.githubusercontent.com/u/61865995?v=4

  # Website LOGO, You can use local image path or image link
  logo: https://avatars.githubusercontent.com/u/61865995?v=4

  # Website favicon, You can use local image path or image link
  favicon: https://avatars.githubusercontent.com/u/61865995?v=4

# ---------------------------------------------------------------------------------------
# Docs: https://keep-docs.xpoet.cn/basis/configuration-guide/menu.html
# ---------------------------------------------------------------------------------------
# If you want to enable a new navigation menu, you need to create a corresponding page
# e.g. to enable categories, you need to execute `hexo new page categories`
# Use `||` to set icon for navigation menu, e.g. `home: / || fa-solid fa-home`
menu:
  home: / || fa-solid fa-home
  archives: /archives  || fa-solid fa-box-archive
  # tags: /tags                 # || fa-solid fa-tags
  categories: /categories || fa-solid fa-layer-group
  # links: /links               # || fa-solid fa-link
  # photos: /photos             # || fa-solid fa-image
  # tools: /tools               # || fa-solid fa-tools
  about: /about   || fa-solid fa-user-graduate
  # ......

# ---------------------------------------------------------------------------------------
# Docs: https://keep-docs.xpoet.cn/basis/configuration-guide/first_screen.html
# ---------------------------------------------------------------------------------------
first_screen:
  enable: true  # Option values: true | false

  # First screen background image in light mode, You can use local image path or image link
  background_img: /images/bg.svg

  # First screen background image in dark mode, You can use local image path or image link
  background_img_dark: /images/bg.svg

  # First screen description
  # You can use the "||" to begin a newline, maximum is two lines.
  description: The Future Only Depends on Current State, Not the History.

  # If enable hitokoto, first screen description is different every time when you enter the website
  hitokoto: true      # Option values: true | false

# ---------------------------------------------------------------------------------------
# Docs: https://keep-docs.xpoet.cn/basis/configuration-guide/social_contact.html
# ---------------------------------------------------------------------------------------
social_contact:
  enable: true      # Option values: true | false
  links:
    # Fill in your social platform links here, e.g. `github: https://github.com/XPoet`
    # If you want to click open the picture, you need to add a prefix `img | `,
    # at the same time change your link to the image link.
    # e.g. `weixin: img | ./images/qrcode.png`
    github: 'https://github.com/realnghon'        # GitHub
    weixin: img | ./images/wechat.jpg       # WeChat
    # qq:              # QQ
    # weibo:           # WeiBo
    # zhihu:           # ZhiHu
    # twitter:         # Twitter
    # x:               # X
    # facebook:        # Facebook
    email: nghon@outlook.com           # Email

# ---------------------------------------------------------------------------------------
# Docs: https://keep-docs.xpoet.cn/basis/configuration-guide/scroll.html
# ---------------------------------------------------------------------------------------
scroll:
  # Show progress bar in top when page scroll
  progress_bar: true  # Option values: true | false

  # Show percent when page scroll
  percent: true       # Option values: true | false

  # Hide header in top when page scroll
  hide_header: true    # Option values: true | false

# ---------------------------------------------------------------------------------------
# Docs: https://keep-docs.xpoet.cn/basis/configuration-guide/home.html
# ---------------------------------------------------------------------------------------
home:
  # Website announcement in home page
  announcement:

  # Show category in home page post block
  category: true           # Option values: true | false

  # Show tags in home page post block
  tag: true                # Option values: true | false

  # Set the datetime type of home page post block
  post_datetime: updated    # Option values: updated | created

# ---------------------------------------------------------------------------------------
# Docs: https://keep-docs.xpoet.cn/basis/configuration-guide/post.html
# ---------------------------------------------------------------------------------------
post:
  # Author badge in the post
  author_badge:
    enable: true         # Option values: true | false

    # If true, show Lv1, Lv2, Lv3 ...
    # If false, show custom badge
    level_badge: false    # Option values: true | false

    # Custom badge array, You can be fill one or more item
    custom_badge: ["萌新"]

  # Post word count
  # Depend on Hexo Plugin: hexo-wordcount (`npm install hexo-wordcount`)
  # See: https://github.com/willin/hexo-wordcount
  word_count:
    wordcount: true     # Word count, one post. Option values: true | false
    min2read: true      # Time to read, one post. Option values: true | false

  # Post datetime
  datetime_format: "YYYY-MM-DD HH:mm"  # Datetime format. e.g. "YYYY-MM-DD HH:mm:ss"

  # Post copyright info
  copyright_info: true  # Option values: true | false

  # Post share
  share: false           # Option values: true | false

  # Reward author
  reward:
    enable: false        # Option values: true | false
    img_link:            # Image link for the payment QR code
    text:                # Custom reward text, Can be null

# ---------------------------------------------------------------------------------------
# Docs: https://keep-docs.xpoet.cn/basis/configuration-guide/code_block.html
# ---------------------------------------------------------------------------------------
code_block:
  # Toolbar include: "code copy", "code block collapse" and "code language"
  tools:
    enable: true            # Option values: true | false
    style: mac           # Option values: default | mac
  highlight_theme: obsidian   # Option values: default | obsidian

# ---------------------------------------------------------------------------------------
# Docs: https://keep-docs.xpoet.cn/basis/configuration-guide/toc.html
# ---------------------------------------------------------------------------------------
toc:
  enable: true      # Option values: true | false

  # Automatically add list number to toc
  number: false      # Option values: true | false

  # If true, all level of TOC in a post will be displayed, rather than the activated part of it.
  expand_all: true  # Option values: true | false

  # If true, auto open TOC every time when you enter post page
  init_open: true    # Option values: true | false

  # TOC layout on post page
  layout: right      # Option values: left | right

# ---------------------------------------------------------------------------------------
# Docs: https://keep-docs.xpoet.cn/basis/configuration-guide/website_count.html
# ---------------------------------------------------------------------------------------
website_count:
  # busuanzi
  # See: http://ibruce.info/2015/04/04/busuanzi/
  busuanzi_count:
    enable: true     # Option values: true | false
    site_uv: false    # Option values: true | false
    site_pv: true    # Option values: true | false
    page_pv: true    # Option values: true | false

# ---------------------------------------------------------------------------------------
# Docs: https://keep-docs.xpoet.cn/basis/configuration-guide/local_search.html
# Depend on Hexo Plugin: hexo-generator-searchdb (`npm install hexo-generator-searchdb`)
# See: https://github.com/theme-next/hexo-generator-searchdb
# ---------------------------------------------------------------------------------------
local_search:
  enable: false

  # If auto, trigger search by changing input.
  # If manual, trigger search by pressing enter key or search button.
  # 输入关键字后的触发搜索,可选 自动 auto 或 手动 manual。
  # auto 每输入或删除一个字符后,自动触发搜索。
  # manual 每输入或删除一个字符后,需要按回车键触发搜索。
  trigger: auto  # values: auto | manual

  # Unescape html strings to the readable one.
  # 转义 HTML 字符串为可读字符串。
  unescape: false

  # Preload the search data when the page loads.
  # 在页面加载时预加载搜索数据
  preload: true

# ---------------------------------------------------------------------------------------
# Docs: https://keep-docs.xpoet.cn/basis/configuration-guide/comment.html
# ---------------------------------------------------------------------------------------
comment:
  enable: false   # Option values: true | false
  use: valine     # Option values: valine | gitalk | twikoo | waline | giscus | artalk | disqus

  # Valine
  # See: https://github.com/xCss/Valine
  #      https://valine.js.org
  valine:
    appid:           # Your leancloud application appid
    appkey:          # Your leancloud application appkey
    server_urls:     # Your Server URL
    placeholder:     # Input box placeholder

  # Gitalk
  # See: https://github.com/gitalk/gitalk
  #      https://gitalk.github.io
  gitalk:
    github_id:        # GitHub repo owner
    github_admins:    # GitHub Admins (in Array type), optional
    repository:       # Repository name to store issues
    client_id:        # GitHub Application Client ID
    client_secret:    # GitHub Application Client Secret
    proxy:            # GitHub oauth request reverse proxy for CORS

  # Twikoo
  # See: https://github.com/imaegoo/twikoo
  #      https://twikoo.js.org
  twikoo:
    env_id:          # Environment ID
    region:          # Environment region, Can be null
    version: 1.6.36  # Twikoo version, default use v1.6.36

  # Waline
  # See: https://github.com/walinejs/waline
  #      https://waline.js.org/guide/get-started.html
  waline:
    server_url:         # Server URL
    reaction: false     # Post reactions, option values: true | false
    version: 3.2.1      # Waline version, default use v3.2.1

  # Giscus
  # See: https://github.com/giscus/giscus
  #      https://giscus.app
  # Please generate your configuration items in https://giscus.app
  giscus:
    repo:
    repo_id:
    category: Announcements    # Recommend use Announcements
    category_id:
    reactions_enabled: false   # Option values: true | false

  # Artalk
  # See: https://github.com/ArtalkJS/Artalk
  #      https://artalk.js.org
  artalk:
    server:                    # Server URL

  # Disqus
  # See: https://disqus.com/
  disqus:
    shortname:                 # Disqus Shortname

# ---------------------------------------------------------------------------------------
# Docs: https://keep-docs.xpoet.cn/basis/configuration-guide/rss.html
# Depend on Hexo Plugin: hexo-generator-feed (`npm install hexo-generator-feed`)
# See: https://github.com/hexojs/hexo-generator-feed
# ---------------------------------------------------------------------------------------
rss:
  enable: false  # Option values: true | false

# ---------------------------------------------------------------------------------------
# Docs: https://keep-docs.xpoet.cn/basis/configuration-guide/lazyload.html
# ---------------------------------------------------------------------------------------
lazyload:
  enable: false  # Option values: true | false

# ---------------------------------------------------------------------------------------
# Docs: https://keep-docs.xpoet.cn/basis/configuration-guide/cdn.html
# ---------------------------------------------------------------------------------------
cdn:
  enable: false       # Option values: true | false
  provider: cdnjs     # Option values: cdnjs | jsdelivr | unpkg

# ---------------------------------------------------------------------------------------
# Docs: https://keep-docs.xpoet.cn/basis/configuration-guide/pjax.html
# ---------------------------------------------------------------------------------------
pjax:
  enable: false  # Option values: true | false

# ---------------------------------------------------------------------------------------
# Docs: https://keep-docs.xpoet.cn/basis/configuration-guide/footer.html
# ---------------------------------------------------------------------------------------
footer:
  since: 2020            # The starting year of your website, Can be null
  word_count: false      # Option values: true | false

  site_deploy:
    enable: false        # Option values: true | false
    provider: github     # Option values: github | vercel | netlify | cloudflare | gitee | aliyun | tencent_cloud | upyun
    url:                 # Your deployment provider url, Can be null

  record:
    enable: false        # Option values: true | false
    list:
      - code:            # record code of your website
        link:            # record link of your website, Can be null
      # e.g.
      # - code: ICP 001
      # - link: https://beian.miit.gov.cn

# ---------------------------------------------------------------------------------------
# Docs: https://keep-docs.xpoet.cn/basis/configuration-guide/inject.html
# ---------------------------------------------------------------------------------------
inject:
  enable: false  # Option values: true | false
  css:
    -
    # e.g.
    # - /css/custom-1.css
    # - /css/custom-2.css
    # - ...
  js:
    -
    # e.g.
    # - /js/custom-1.js
    # - /js/custom-2.js
    # - ...

Other Information | 其它信息

No response

XPoet commented 1 month ago

代码块折叠问题已修复,请使用最新版本 v4.2.0

XPoet commented 1 month ago

加密文章的公式渲染问题,还没得到验证,请等待后续版本更新。