########################################
# Basic Configuration
########################################
theme_version_check: true
theme_config_check: true
# main menu navigation
# for more icon information, please visit https://github.com/D-Sketon/hexo-theme-reimu/issues/30
menu:
  - name: home
    url: /
    icon: # default use taichi icon, you can use a hexadecimal representation of fontawesome or icon_font, like 'f0c1'
  - name: archives
    url: /archives
    icon:
  - name: about
    url: /about
    icon:
  - name: friend
    url: /friend
    icon:

subtitle:
  typing:
    enable: false
    strings:
      # - Sentence 1
      # - Sentence 2
      # - Sentence 3
      # - Sentence 4
    typeSpeed: 100              # typing speed (milliseconds/character)
    backSpeed: 50               # backspacing speed (milliseconds/character)
    backDelay: 2000             # time before backspacing (milliseconds)
    startDelay: 300             # time before typing starts (milliseconds)
    loop: true                  # loop through the strings
    shuffle: true               # randomize the order of strings
    showCursor: true            # show the typing cursor
    cursorChar: "|"             # character for cursor
    smartBackspace: false       # only backspace what doesn't match the previous string

banner: "/images/banner.webp" # which means themes/reimu/source/images/banner.webp
# You can also write it in the form of the following url
# banner: "https://example.com"

# If you want to use the srcset attribute, please enable it
banner_srcset:
  enable: false
  srcset:
    - src: "/images/banner-600w.webp"
      media: "(max-width: 479px)"
    - src: "/images/banner-800w.webp"
      media: "(max-width: 799px)"
    - src: "/images/banner.webp"
      media: "(min-width: 800px)"

favicon: "/images/favicon.ico" # which means themes/reimu/source/images/favicon.ico
# You can also write it in the form of the following url
# favicon: "https://example.com"

avatar: "avatar.webp" # which means source/_data/avatar/avatar.webp

# Control the display of the post cover
# If not set, the banner image will be displayed by default
# Its priority is lower than the cover in the Front-matter
cover: # https://example.com / false / rgb(255,117,117)

# Control the display of the post toc
# Its priority is lower than the toc in the Front-matter
toc: true
toc_options:
  list_number: true
  min_depth: 1
  max_depth: 6

# Open Graph
# see https://hexo.io/docs/helpers#open-graph
open_graph:
  enable: true
  options:
    #twitter_card: <twitter:card>
    #twitter_id: <twitter:creator>
    #twitter_site: <twitter:site>
    #twitter_image: <twitter:image>
    #google_plus: <g+:profile_link>
    #fb_admins: <fb:admin_id>
    #fb_app_id: <fb:app_id>
    default_og_image: /images/banner.webp # the default og:image for Open Graph, support absolute path

# Content
excerpt_link: Read More

# RSS
# need https://github.com/hexojs/hexo-generator-feed
rss: atom.xml

# Footer copyright
copyright: # Inject code snippet right in the footer copyright
# Need help choosing? Please see...
# https://creativecommons.org/choose/
# https://choosealicense.com/
# copyright: |-
#   <div style="flex-direction:column;align-items: center;"><a rel="license" href="http://creativecommons.org/licenses/by/4.0/"><img alt="Creative Commons License" style="border-width:0" src="https://i.creativecommons.org/l/by/4.0/88x31.png" /></a>
#   All website licensed under <a href="https://creativecommons.org/licenses/by/4.0/" target="_blank">CC BY 4.0</a></div>

footer:
  since: 2020 # 2020-current year
  powered: true
  count: true # show word count and reading time
  busuanzi: true
  icon:
    url: "../images/taichi.png" # this path is relative to the css/style.css, so it needs to go up one level to reach the images folder
    rotate: true
    mask: true # whether to use the images as a mask

# Sidebar
# sidebar: right # deprecated, use sidebar.position instead
sidebar:
  position: right
  menu: true  # whether to show the sidebar menu button, ignored on mobile devices
  article:
    show_common: true # whether to show common sidebar, ignored on mobile devices

social:
  # email: mailto:xxx@gmail.com
  # github: https://github.com/yourname
  # google: https://plus.google.com/yourname
  # twitter: https://twitter.com/yourname
  # bluesky: https://bsky.app/profile/yourname
  # facebook: https://www.facebook.com/yourname
  # instagram: https://www.instagram.com/yourname
  # linkedin: https://www.linkedin.com/in/yourname
  # pinterest: https://www.pinterest.com/yourname
  # youtube: https://www.youtube.com/channel/yourname
  # vimeo: https://vimeo.com/yourname
  # flickr: https://www.flickr.com/photos/yourname
  # dribbble: https://dribbble.com/yourname
  # behance: https://www.behance.net/yourname
  # bilibili: https://space.bilibili.com/yourname
  # weibo: https://weibo.com/yourname
  # zhihu: https://www.zhihu.com/people/yourname
  # reddit: https://www.reddit.com/user/yourname
  # tumblr: https://yourname.tumblr.com
  # medium: https://medium.com/@yourname
  # deviantart: https://yourname.deviantart.com
  # stackoverflow: https://stackoverflow.com/users/yourname
  # keybase: https://keybase.io/yourname
  # telegram: https://t.me/yourname
  # discord: https://discordapp.com/users/yourname
  # steam: https://steamcommunity.com/id/yourname
  # weixin:
  # qq:
  # tiktok:

widgets:
  # - category
  # - tag
  # - tagcloud
  # - archive
  # - recent_posts

# Widget behavior
archive_type: "monthly"
show_count: false
tag_limits:
recent_posts_limits: 5
tagcloud_limits:

# Archive behavior
only_show_capsule_in_index: false # If you have hugo amounts of tags and categories, you can set this to true to only show the capsule in the index page for better performance
uppercase_capsule: true # If you want to keep taxonomic capsule unchanged, please set this to false

show_update_time: false # If you want to show the update time, please set this to true

# Summary content
summary:
  enable: false
  style: 'subtitle' # 'subtitle' or 'blockquote'

# Internationalization
i18n:
  enable: false
  type: [page, post]
  generator: [archive, category, tag, index]
  languages: [zh-CN, en]

########################################
# CSS
########################################

triangle_badge:
  enable: false
  icon: github # same as the icon in the social config
  link: https://github.com/D-Sketon/hexo-theme-reimu

layout:
  max_width: 1350px # the max width of the main content area

anchor_icon: # default use '#' icon, you can use a hexadecimal representation of fontawesome or icon_font, like 'f0c1', or you can use false to hide anchor icon

reimu_cursor:
  enable: true
  cursor:
    default: ../images/cursor/reimu-cursor-default.png # this path is relative to the css/style.css, so it needs to go up one level to reach the images folder
    pointer: ../images/cursor/reimu-cursor-pointer.png
    text: ../images/cursor/reimu-cursor-text.png

# set to false to enable fontawesome
icon_font: 4552607_ex15nbittbh

# Font loading strategy
# Custom Font -> Google Fonts -> Local FallBack Font

# Custom Font
custom_font:
  enable: false
  article:
    # - css: https://fontsapi.zeoseven.com/292/main/result.css
      # name: LXGW WenKai
  code:

# https://fonts.google.com/
# Google Fonts, higher priority than local_font
font:
  enable: true
  article:
    - Mulish
    - Noto Serif SC
  code:
    # - Ubuntu Mono
    # - Source Code Pro
    # - JetBrains Mono

# Local FallBack Font
local_font:
  article:
    - "-apple-system"
    - PingFang SC
    - Microsoft YaHei
    - sans-serif
  code:
    - Menlo
    - Monaco
    - Consolas
    - monospace

dark_mode:
  # true means that the dark mode is enabled by default
  # false means that the dark mode is disabled by default
  # auto means that the dark mode is automatically switched according to the system settings
  enable: auto # true | false | auto

########################################
# Markdown Display
########################################

# need https://github.com/D-Sketon/hexo-renderer-markdown-it-plus
math:
  enable: false
  # If you don't want to use it, please set `autoRender` to true to enable browser rendering
  katex:
    enable: true
    autoRender: false # whether to render the math in the browser, disabled by default
  mathjax:
    enable: false
    options: # see https://docs.mathjax.org/en/latest/web/configuration.html
      {
        tex:
          {
            tags: "ams",
            useLabelIds: true,
            inlineMath: [["$", "$"], ['\\(', '\\)']],
            displayMath: [["$$", "$$"], ['\\[', '\\]']],
            processEscapes: true,
            processEnvironments: true,
            autoload: { color: [], colorv2: ["color"] },
            packages: { "[+]": ["noerrors"] },
          },
        options:
          {
            skipHtmlTags:
              ["script", "noscript", "style", "textarea", "pre", "code"],
            ignoreHtmlClass: "tex2jax_ignore",
            processHtmlClass: "tex2jax_process",
          },
        loader: { load: ["input/asciimath", "[tex]/noerrors"] },
      }

# mermaid url https://github.com/mermaid-js/mermaid
# need https://github.com/webappdevelp/hexo-filter-mermaid-diagrams
mermaid:
  enable: false
  zoom: false # whether to enable zoom for mermaid diagrams

code_block:
  # whether to expand the code block by default
  # true means expand all code blocks by default
  # false means collapse all code blocks by default
  # number means collapse the code block by default when the number of lines exceeds the specified value
  expand: true

# Clipboard configuration
clipboard:
  success:
    en: Copy successfully (*^▽^*)
    zh-CN: 复制成功 (*^▽^*)
    zh-TW: 複製成功 (*^▽^*)
    ja: コピー成功 (*^▽^*)
    pt-BR: Copiado com sucesso (*^▽^*)
  fail:
    en: Copy failed (ﾟ⊿ﾟ)ﾂ
    zh-CN: 复制失败 (ﾟ⊿ﾟ)ﾂ
    zh-TW: 複製失敗 (ﾟ⊿ﾟ)ﾂ
    ja: コピー失敗 (ﾟ⊿ﾟ)ﾂ
    pt-BR: Falha ao copiar (ﾟ⊿ﾟ)ﾂ
  copyright: # whether to add a copyright for the clipped content
    enable: false
    count: 50 # The number of characters when the copyright is displayed
    license_type: by-nc-sa # https://creativecommons.org/licenses

# Paragraph anchor
# Injects linkable anchor icons into paragraphs and list items in article body
# Usage: write {#anchor-xxx} in Markdown; the matching element gets id="anchor-xxx" and an anchor icon
anchor:
  # Explicit anchors
  explicit:
    # Whether to enable explicit anchors: parse {#anchor-xxx} syntax in Markdown (default false)
    enable: false
    # Anchor placeholder: the pattern used to match explicit anchors (no need to change unless it conflicts with article content)
    marker: "{#anchor-"
    # Anchor id prefix: generated id = prefix + the xxx part inside the marker (default "anchor-")
    prefix: "anchor-"
  # Auto anchors
  auto:
    # Whether to enable auto anchors: automatically generate ids for direct child paragraphs, derived from text content (default false)
    enable: false
    # Maximum length of auto-generated anchor ids; longer ids will be truncated (only effective when auto.enable = true)
    length: 60

########################################
# Analytics
########################################

baidu_analytics: false
google_analytics: false
clarity: false

########################################
# Comment system
########################################

# global control of the comment system
# you can use multiple comment systems at the same time
# load order: localStorage(user manually selects) -> default
# -> valine -> waline -> twikoo -> gitalk -> giscus -> utterances -> beaudar -> disqus
comment:
  # comment system title
  title:
    en: Leave a comment
    zh-CN: 说些什么吧！
    zh-TW: 說些什麼吧！
    ja: コメントを残す
    pt-BR: Deixe um comentário
  default: waline # default comment system, when you enable multiple comment systems

# valine comment system. https://valine.js.org
# version 1.5.1
# notify and verify have been deprecated
valine:
  enable: false # if you want to use valine,please set this value is true
  appId: # leancloud application app id
  appKey: # leancloud application app key
  pageSize: 10 # comment list page size
  avatar: mp # gravatar style https://valine.js.org/#/avatar
  # lang: zh-cn # deprecated, use html.lang instead
  placeholder: Just go go # valine comment input placeholder(like: Please leave your footprints )
  guest_info: nick,mail,link #valine comment header info
  recordIP: true # whether to record the IP address of the commenters
  highlight: true # whether to highlight the code blocks
  visitor: false # whether to display the number of visitors
  serverURLs: # leancloud server url

# https://waline.js.org/
# version 2.15.8
waline:
  enable: false
  serverURL:
  # lang: zh-CN # deprecated, use html.lang instead
  locale: {} # https://waline.js.org/guide/features/i18n.html#%E8%87%AA%E5%AE%9A%E4%B9%89%E8%AF%AD%E8%A8%80
  emoji:
    - https://unpkg.com/@waline/emojis@1.2.0/weibo
    - https://unpkg.com/@waline/emojis@1.2.0/alus
    - https://unpkg.com/@waline/emojis@1.2.0/bilibili
    - https://unpkg.com/@waline/emojis@1.2.0/qq
    - https://unpkg.com/@waline/emojis@1.2.0/tieba
    - https://unpkg.com/@waline/emojis@1.2.0/tw-emoji
  meta:
    - nick
    - mail
    - link
  requiredMeta:
    - nick
    - mail
  wordLimit: 0
  pageSize: 10
  pageview: true

# https://twikoo.js.org
twikoo:
  enable: false
  envId: # 腾讯云环境填 envId；Vercel 环境填地址（https://xxx.vercel.app）
  region:

# https://github.com/gitalk/gitalk/blob/master/readme-cn.md
gitalk:
  enable: false
  clientID:
  clientSecret:
  repo:
  owner:
  admin:
  md5: false

# https://giscus.app/zh-CN
giscus:
  enable: false
  repo:
  repoId:
  category:
  categoryId:
  mapping: mapping
  strict: 0
  reactionsEnabled: 1
  emitMetadata: 0
  inputPosition: bottom
  theme:
    light:
    dark:

# https://utteranc.es
utterances:
  enable: false
  repo: owner/repo # Change this to "Your GitHub Username/The Repository Name" used for storing blog comments
  issue_term: title
  theme: auto # auto means to automatically adapt to dark and light themes, you can also use specific themes like github-light, github-dark, preferred-color-scheme, etc.

# https://beaudar.lipk.org/
beaudar:
  enable: false
  repo: owner/repo # Change this to "Your GitHub Username/The Repository Name" used for storing blog comments
  branch: main # The branch name, default is main
  issue_term: title # The term to be used to create issues for comments, support pathname, url, title, og:title
  issue_number:
  theme: auto # auto means to automatically adapt to dark and light themes, you can also use specific themes like github-light, github-dark, preferred-color-scheme, etc.
  label:
  input_position: top # top/bottom, comment input position, default is top
  comment_order: desc # asc/desc, comment order, asc displays the oldest comments first, while desc displays the newest comments first. The default is desc
  keep_theme: # true/false, save the theme settings to sessionStorage, default is true
  loading: # true/false, jump to official website when clicking the loading icon, default is true

# https://disqus.com
disqus:
  enable: false
  shortname: # your disqus shortname
  count: true

########################################
# Search
########################################

# need https://github.com/D-Sketon/hexo-algoliasearch
# please add the following config in your _config.yml
# algolia:
#   appId: 'your applicationID'
#   apiKey: 'your apiKey'
#   adminApiKey: 'your adminApiKey'
#   indexName: 'your indexName'
#   chunkSize: 5000
#   fields:
#     - content:strip:truncate,0,500
#     - excerpt:strip
#     - gallery
#     - permalink
#     - photos
#     - slug
#     - tags
#     - title
algolia_search:
  enable: false
  hits:
    per_page: 10

generator_search:
  enable: false
  field: post
  content: true

########################################
# Animation
########################################

# Loader animation
preloader:
  enable: true
  text:
    zh-CN: 少女祈祷中...
    zh-TW: 少女祈禱中...
    en: Loading...
    ja: 少女祈祷中...
    pt-BR: Carregando...
  icon: # default use inline svg for fast speed, you can use a image url, like '/images/taichi.png'
  rotate: true # whether to rotate the icon

# see https://github.com/D-Sketon/aos.js
animation:
  enable: true
  options:
    header:
      title: slide-up
      subTitle: slide-down
    home:
      post: fade-up
      widget: fade-up
      sidebar: fade-up
    article:
      whole: fade-up
      date: zoom-in
      category: zoom-in
      tag: zoom-in
      comment: zoom-in
      reading: zoom-in
      nav: fade-up
    archive:
      whole: fade-up
      tag: zoom-in
      category: zoom-in
      section: fade-up
      nav: fade-up

# see https://github.com/D-Sketon/mouse-firework
firework:
  enable: true
  disable_on_mobile: false
  options:
    excludeElements: ["a", "button"]
    particles:
      - shape: circle
        move: ["emit"]
        easing: easeOutExpo
        colors: ["var(--red-1)", "var(--red-2)", "var(--red-3)", "var(--red-4)"]
        number: 20
        duration: [1200, 1800]
        shapeOptions:
          radius: [16, 32]
          alpha: [0.3, 0.5]
      - shape: circle
        move: ["diffuse"]
        easing: easeOutExpo
        colors: ["var(--red-0)"]
        number: 1
        duration: [1200, 1800]
        shapeOptions:
          radius: 20
          alpha: [0.2, 0.5]
          lineWidth: 6

########################################
# Extended features
########################################

# show categories card on home page
home_categories:
  enable: false
  content:
    - categories: # string (single-layer category) or array (multi-layer category)
      cover: # empty means random cover
    - categories:
      cover:

# whether to display the notification when the article is outdated
outdate:
  enable: false
  daysAgo: 180 # The number of days after which the article is considered outdated
  message:
    en: This article was last updated on {time}. Please note that the content may no longer be applicable.
    zh-CN: 本文最后更新于 {time}，请注意文中内容可能已不适用。
    zh-TW: 本文最後更新於 {time}，請注意文中內容可能已不適用。
    ja: この記事は最終更新日：{time}。記載内容が現在有効でない可能性がありますのでご注意ください。
    pt-BR: Este artigo foi atualizado pela última vez em {time}. Observe que o conteúdo pode não ser mais aplicável.

# Sponsor
sponsor:
  enable: false
  tip:
    zh-CN: 请作者喝杯咖啡吧
    zh-TW: 請作者喝杯咖啡吧
    en: Buy me a coffee
    ja: コーヒーを買ってください
    pt-BR: Compre-me um café
  icon:
    url: "../images/taichi.png" # this path is relative to the css/style.css, so it needs to go up one level to reach the images folder
    rotate: true
    mask: true # whether to use the images as a mask
  qr:
    # - name: 支付宝
    #   src: "/sponsor/alipay.jpg"
    # - name: 微信
    #   src: "/sponsor/wechat.png"

# ICP 备案
icp:
  icpnumber: # ICP备案号
  beian: # 网安备案号
  recordcode: # 网安备案链接中的recordcode参数

# 萌国 ICP 备案
moe_icp:
  icpnumber: # 萌国ICP备案号

# show the copyright below each article
article_copyright:
  enable: false
  content:
    author: true
    link: true
    title: false
    date: false
    updated: false
    license: true
    license_type: by-nc-sa # https://creativecommons.org/licenses

# Back To Top
top:
  enable: true
  position: right # left or right
  icon:
    url: "../images/taichi.png" # this path is relative to the css/style.css, so it needs to go up one level to reach the images folder
    rotate: true
    mask: true # whether to use the images as a mask

share:
  # - facebook
  # - twitter
  # - bluesky
  # - linkedin
  # - reddit
  # - weibo
  # - qq
  # - weixin

########################################
# Experimental features
########################################

# a very simple alternative for https://hexo.io/api/injector
injector:
  head_begin: # Inject code snippet right after <head>
  head_end: # Inject code snippet right before </head>
  body_begin: # Inject code snippet right after <body>
  body_end: # Inject code snippet right before </body>
  sidebar_begin: # Inject code snippet right after <aside>
  sidebar_end: # Inject code snippet right before </aside>

pjax:
  enable: false

# https://github.com/GoogleChromeLabs/quicklink
quicklink:
  enable: false
  # The `requestIdleCallback` timeout, in milliseconds.
  timeout: 3000
  # Whether or not the URLs within the options.el container should be treated as high priority.
  # When true, quicklink will attempt to use the fetch() API if supported (rather than link[rel=prefetch]).
  priority: true
  # Determine if a URL should be prefetched.
  # Only support string
  ignores: []

# https://github.com/CodeByZach/pace
pace:
  enable: true

# Experimental
service_worker:
  enable: false

# Experimental
live2d:
  enable: false
  position: left # left or right

# Experimental
live2d_widgets:
  enable: false
  position: left # left or right

# Please turn on pjax to use this feature
player:
  disable_on_mobile: false
  position: before_sidebar # before_sidebar / after_sidebar / after_widget
  # if you enable meting, you must enable aplayer first
  aplayer:
    # https://github.com/DIYgod/APlayer
    enable: false
    options:
      audio: []
      fixed:
      autoplay:
      loop:
      order:
      preload:
      volume:
      mutex:
      listFolded:
      lrcType:
  meting:
    # https://github.com/metowolf/MetingJS
    # if you want to use meting, please enable aplayer first
    enable: false
    meting_api: # custom api
    options:
      id: 2265921590
      server: netease
      type: playlist
      auto:

########################################
# pangu.js
########################################

pangu:
  # more information: https://github.com/vinta/pangu.js
  enable: false # enable pangu.js to add space between Chinese and English

########################################
# Theme
########################################

# experimental, may have a lot of bugs, open with caution!
# A dynamic color generation tool based on Google's Material You design guidelines, capable of extracting primary colors from any image and generating complete light and dark color schemes.
material_theme:
  # more information: https://github.com/2061360308/material-theme
  # notice: when you enable this feature, all the covers will be automatically added "crossorigin" attribute to support the dynamic color scheme
  # so make sure your custom covers will not be blocked by the browser's CORS policy
  enable: false # enable material_theme to generate dynamic color schemes based on the banner image

internal_theme:
  light:
    --red-0: "#ff0000"
    --red-1: "#ff5252"
    --red-2: "#ff7c7c"
    --red-3: "#ffafaf"
    --red-4: "#ffd0d0"
    --red-5: "#ffecec"
    --red-5-5: "#fff3f3"
    --red-6: "#fff7f7"
    --color-red-6-shadow: "rgba(255, 78, 78, 0.6)"
    --color-red-3-shadow: "rgba(255, 78, 78, 0.3)"

    --highlight-nav: "#f5f5f5"
    --highlight-scrollbar: "#d6d6d6"
    --highlight-background: "#fdfdfd"
    --highlight-selection: "#e9e9e988"
    --highlight-foreground: "#24292e"
    --highlight-comment: "#7d7d7d"
    --highlight-red: "#d73a49"
    --highlight-orange: "#e36209"
    --highlight-yellow: "#cb911d"
    --highlight-green: "#22863a"
    --highlight-aqua: "#005cc5"
    --highlight-blue: "#032f62"
    --highlight-purple: "#6f42c1"
    --highlight-deletion: "#b31d28"
    --highlight-deletion-bg: "#ffeef0"
    --highlight-addition: "#22863a"
    --highlight-addition-bg: "#f0fff4"
  dark:
    --red-4: "rgba(255, 208, 208, 0.5)"
    --red-5: "rgba(255,228,228,0.15)"
    --red-5-5: "rgba(255,236,236,0.05)"
    --red-6: "rgba(255, 243, 243, 0.2)"

    --highlight-nav: "#222830"
    --highlight-scrollbar: "#454d59"
    --highlight-background: "#1e2027"
    --highlight-selection: "#51515155"
    --highlight-foreground: "#c9d1d9"
    --highlight-comment: "#8b949e"
    --highlight-red: "#ff7b72"
    --highlight-orange: "#ffa657"
    --highlight-yellow: "#ffcc66"
    --highlight-green: "#7ee787"
    --highlight-aqua: "#a5d6ff"
    --highlight-blue: "#79c0ff"
    --highlight-purple: "#d2a8ff"
    --highlight-deletion: "#ffa198"
    --highlight-deletion-bg: "#490202"
    --highlight-addition: "#7ee787"
    --highlight-addition-bg: "#04260f"

########################################
# Vendor
########################################

# Dependent cdn links
# If you change the version of a js library, be sure to modify the corresponding integrity value
vendor:
  cdn_jsdelivr_gh: https://cdn.jsdelivr.net/gh/
  cdn_jsdelivr_npm: https://cdn.jsdelivr.net/npm/
  fastly_jsdelivr_gh: https://fastly.jsdelivr.net/gh/
  fastly_jsdelivr_npm: https://fastly.jsdelivr.net/npm/
  unpkg: https://unpkg.com/
  webcache: https://npm.webcache.cn/
  js:
    clipboard:
      src: webcache|clipboard@2.0.11/dist/clipboard.min.js
      integrity: sha384-J08i8An/QeARD9ExYpvphB8BsyOj3Gh2TSh1aLINKO3L0cMSH2dN3E22zFoXEi0Q
    lazysizes:
      src: webcache|lazysizes@5.3.2/lazysizes.min.js
      integrity: sha384-3gT/vsepWkfz/ff7PpWNUeMzeWoH3cDhm/A8jM7ouoAK0/fP/9bcHHR5kHq2nf+e
    photoswipe:
      src: webcache|photoswipe@5.4.4/dist/photoswipe.esm.min.js
      integrity: sha384-WkkO3GCmgkC3VQWpaV8DqhKJqpzpF9JoByxDmnV8+oTJ7m3DfYEWX1fu1scuS4+s
    photoswipe_lightbox:
      src: webcache|photoswipe@5.4.4/dist/photoswipe-lightbox.esm.min.js
      integrity: sha384-DiL6M/gG+wmTxmCRZyD1zee6lIhawn5TGvED0FOh7fXcN9B0aZ9dexSF/N6lrZi/
    valine:
      src: webcache|valine@1.5.1/dist/Valine.min.js
      integrity: sha384-3ma91AExDeMAZ1rjTjaP8V2A2obQE+s5ltKRwYlwdpArz9xVbp0tF3b0VV2ACNPn
    waline:
      src: webcache|@waline/client@2.15.8/dist/waline.mjs
      integrity: sha384-9sbqJjrfGjbkI6/PI4nU/MvBfEmkkPC4YK9I4zBeMIf1CVCZdCMH/KinBEAZII/5
    twikoo:
      src: webcache|twikoo@1.6.44/dist/twikoo.all.min.js
      integrity: sha384-kwWLC0HjeZZnVPqCJ1AncI8tsk+kQqF9TbAmCclcc9Z0hGkfgHRzeQZxmdmZhE0K
    gitalk:
      src: webcache|gitalk@1.8.0/dist/gitalk.min.js
      integrity: sha384-kspnZUWBoSWwoJHa0hBCXYbHGbhvU/lcEH5O8eVbSDhbPwsiVUTp/aGX/z/5EuMA
    busuanzi:
      src: webcache|busuanzi@2.3.0/bsz.pure.mini.js
      integrity: sha384-0M75wtSkhjIInv4coYlaJU83+OypaRCIq2SukQVQX04eGTCBXJDuWAbJet56id+S
    algolia:
      src: webcache|algoliasearch@4.17.1/dist/algoliasearch-lite.umd.js
      integrity: sha384-xvLS0jfKuoREs7pqkRI/OI8GcqohO5S+jQz7ZBtQXnsXmD+9jDOOY4cL6dCPzlrk
    instantsearch:
      src: webcache|@reimujs/instantsearch.js@4.57.0-beta.1/dist/instantsearch.production.min.js
      integrity: sha384-aagKMe8nkqaP2DYQc8kkYOL5l+M5Q2WH/Uhr4teOh0Ybp0RZj0kUSDm45qPikMjK
    pace:
      src: webcache|pace-js@1.2.4/pace.min.js
      integrity: sha384-k6YtvFUEIuEFBdrLKJ3YAUbBki333tj1CSUisai5Cswsg9wcLNaPzsTHDswp4Az8
    mermaid:
      src: webcache|mermaid@11.12.0/dist/mermaid.min.js
      integrity: sha384-o+g/BxPwhi0C3RK7oQBxQuNimeafQ3GE/ST4iT2BxVI4Wzt60SH4pq9iXVYujjaS
    svg_pan_zoom:
      src: webcache|svg-pan-zoom@3.6.2/dist/svg-pan-zoom.min.js
      integrity: sha384-GGX4llYprEPGp9w5caepn95YWAEflHnsA5ewt+Y+cBEb95og5cXKllnWKSELlzbx
    firework:
      src: webcache|mouse-firework@0.2.0/dist/index.umd.js
      integrity: sha384-qi9WggRt19tv8Vc7pCHW3ulMNLwrn515zaLEWZjl1px07vz8+pUoWX8n1rgq282T
    pjax:
      src: webcache|theme-shokax-pjax@0.0.3/dist/index.umd.js
      integrity: sha384-xneY1WY8hOfUzswrE4CrYq35N4BdVcxqxwHPr9zawE/jMSCxD+jAPU55x/jj3wlf
    live2d:
      base: fastly_jsdelivr_gh|D-Sketon/plugin-live2d/
      js: fastly_jsdelivr_gh|D-Sketon/plugin-live2d/js/live2d-autoload.js
    live2d_widgets:
      src: webcache|live2d-widgets@0.9.0/autoload.js
      integrity: sha384-poTN7wN/SqNhQqo3jdFeX20ikddWeFGkUkDEzsKjgH/ez8aQLn81oI0Cw6q5xNyB
    md5:
      src: webcache|blueimp-md5@2.19.0/js/md5.min.js
      integrity: sha384-JmVtRz6RWiXnA14QbIOJzPuU3MidULOpBP66deeLLyyoF4Tr/gZlbkHkL6vTthxH
    quicklink:
      src: webcache|quicklink@3.0.1/dist/quicklink.umd.js
      integrity: sha384-caMDqvgav/HWdEYQU1QRRHMLleigpL1YHAG0m371DhzfL8rRzUyOb+bEHtwlmYjD
    katex:
      src: webcache|katex@0.16.24/dist/katex.min.js
      integrity: sha384-MWNUH0WmtsYGhn2cbH6ELRCbf9LG3QDqCC+gqPB3IBNO35xjZK3Ejb6oONRpDbPg
    katex_auto_render:
      src: webcache|katex@0.16.24/dist/contrib/auto-render.min.js
      integrity: sha384-hCXGrW6PitJEwbkoStFjeJxv+fSOOQKOPbJxSfM6G5sWZjAyWhXiTIIAmQqnlLlh
    mathjax:
      src: webcache|mathjax@3.2.2/es5/tex-mml-chtml.js
      integrity: sha384-Wuix6BuhrWbjDBs24bXrjf4ZQ5aFeFWBuKkFekO2t8xFU0iNaLQfp2K6/1Nxveei
    aplayer:
      src: webcache|aplayer@1.10.1/dist/APlayer.min.js
      integrity: sha384-gdGYZwHnfJM54evoZhpO0s6ZF5BQiybkiyW7VXr+h5UfruuRL/aORyw+5+HZoU6e
    meting:
      src: webcache|meting@2.0.1/dist/Meting.min.js
      integrity: sha384-ASVlpKF80A22OXTK3tfEjZm1EL6uFMKIC4p8+0maanw1S/IyB+Y4JG+ZDU7GpKE8
    qrcode:
      src: webcache|qrcode@1.5.1/build/qrcode.js
      integrity: sha384-VT1EeewTCEXgndcPMQ0PzV+uVFYjxFIjmAA7s5gcMX9t4Dt5TD+OVQIn7NJWIXn7
    dompurify:
      src: webcache|dompurify@3.2.6/dist/purify.min.js
      integrity: sha384-JEyTNhjM6R1ElGoJns4U2Ln4ofPcqzSsynQkmEc/KGy6336qAZl70tDLufbkla+3
    pangu:
      src: webcache|pangu@4.0.7/dist/browser/pangu.min.js
      integrity: sha384-HeUHqi0nVsPUm/E0ss7OfnIV/yD96JWB8ehZvUuoVax9DpNHL17jj9pdfXHzqDxm
    material_theme:
      src: webcache|material-theme@1.0.0/dist/material-theme.umd.js
      integrity: sha384-vLev0II0HKFaxkcm+/7kX5IGwVFBASkGchU311wmU/veIj2bB0UcBkQbW6yw2asK
    snapdom:
      src: webcache|@zumer/snapdom@1.9.14/dist/snapdom.min.js
      integrity: sha384-OEQ+fJp/Mvi2uzBREXybtxryJvLytWapuHu4EE6LPwTKUwATYcc55tPPcZTzVcmx
    typed:
      src: webcache|typed.js@2.1.0/dist/typed.umd.js
      integrity: sha384-cMrTlShXEGSdSFA359p+3aVUxK/R+0TAfbRZMcTlAn8yqzxEDj05QsS65nTFMMj4
  css:
    photoswipe:
      src: webcache|photoswipe@5.4.4/dist/photoswipe.css
      integrity: sha384-IfxC36XL/toUyJ939C73PcgMuRzAZuIzZxE38drsmO5p6jD7ei+Zx/1oA/0l8ysE
    katex:
      src: webcache|katex@0.16.24/dist/katex.min.css
      integrity: sha384-tTgKLjMYmJr94v8qu2PE5MUGSMbyN2xiH266JUB3gpm8vnnJywd1dWSOEfrFz+YI
    waline:
      src: webcache|@waline/client@2.15.8/dist/waline.css
      integrity: sha384-vltfZtesCdl6NYVcFVcjEaIi5RpNvZe9t7fXvq8twVtcoy+Ub9QgnxUYJmwOhYCK
    gitalk:
      src: webcache|gitalk@1.8.0/dist/gitalk.css
      integrity: sha384-X7z7PUv2B67D8sPJyzDyGZSco1ADwmdI7ed4eCGtTKkClfyDFpPL9WgAn9XVr/Io
    fontawesome:
      high_priority:
        - src: webcache|@fortawesome/fontawesome-free@7.1.0/css/regular.min.css
          integrity: sha384-4qYppzjH8EiA+cGdaubu2vL7Rk8WGiqCSj7oRuP1uwtFWkfKNHD20lPfcrbQc8dU
        - src: webcache|@fortawesome/fontawesome-free@7.1.0/css/solid.min.css
          integrity: sha384-wbMWab3UDSPm2kvIgVOn/d9KPTecgPU1+Nb3zoQrm/oVu0EkPL6IaKinjbwW0rum
      low_priority:
        - src: webcache|@fortawesome/fontawesome-free@7.1.0/css/brands.min.css
          integrity: sha384-KTGeC2hIMzpeQakhsmzB9bZfhCD5xZZCgI1iZH6f/O457SxzlkzTQg/WXFNoi3ih
        - src: webcache|@fortawesome/fontawesome-free@7.1.0/css/v5-font-face.min.css
          integrity: sha384-nJ1ThfldViXoLpJ6jlKcP2beas8BMbYq26SG9Hi8cH89bZi4RZ644v7helMCqJxd
        - src: webcache|@fortawesome/fontawesome-free@7.1.0/css/v4-font-face.min.css
          integrity: sha384-UlkrhOIvZxJFd4MElSUp7ow6/RUeYKi/orfCZIRRiOENFuQPIAA3T3HjYfmBRhNq
    aos:
      src: webcache|@reimujs/aos@0.1.2/dist/aos.css
      integrity: sha384-GMRP93c6Hkz9JVKGAuRR3nTS7M07RwPgTFenXiosjq2VbVgvdDNcz1g6Mkj8AONa
    aplayer:
      src: webcache|aplayer@1.10.1/dist/APlayer.min.css
      integrity: sha384-tLMkTWh2pfXNWGFlUS0w1TFtRG5xZ9lPWFOooj+vDDLIL+xBGQU/voDBY5XE2lVh
