$*= test test1 test2 "$*"= test test1 test2 $@= test test1 test2 "$@"= test test1 test2 print each param from $* test test1 test2 print each param from $@ test test1 test2 从 "$*" 获取并打印每一个参数 test test1 test2 从 "$@" 获取并打印每一个参数 test test1 test2
let x if ([1][0] === undefined) { x = f() } else { x = [1][0] }
+
+
默认值可以引用解构赋值的其他变量,但该变量必须已经声明。
+
1 2 3 4
let [x = 1, y = x] = [] // x=1; y=1 let [x = 1, y = x] = [2] // x=2; y=2 let [x = 1, y = x] = [1, 2] // x=1; y=2 let [x = y, y = 1] = [] // ReferenceError: y is not defined
+
+
上面最后一个表达式之所以会报错,是因为x用y做默认值时,y还没有声明。
+
对象的解构赋值
解构不仅可以用于数组,还可以用于对象。
+
1 2 3
let { foo, bar } = { foo: "aaa", bar: "bbb" } foo // "aaa" bar // "bbb"
$ ssh user@host The authenticity of host 'host (***.***.***.***)' can't be established. RSA key fingerprint is 98:2e:d7:e0:de:9f:ac:67:28:c2:42:2d:37:16:58:4d. Are you sure you want to continue connecting (yes/no)?
$ ssh-copy-id -i ~/.ssh/id_rsa_test user@ssh.test.com /usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed /usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys user@ssh.test.com's password:
Number of key(s) added: 1
Now try logging into the machine, with: "ssh 'user@ssh.test.com'" and check to make sure that only the key(s) you wanted were added.
$ ssh user@ssh.test.com
+
+
使用配置文件方式
+
有如下配置文件:
+
+
1 2 3 4 5 6 7 8 9 10 11 12
$ vim ~/.ssh/config Host sshtest HostName ssh.test.com User user Port 2200 IdentityFile ~/.ssh/id_rsa_test
Host ssttest2 HostName ssh.test2.com User user2 Port 2345 IdentityFile ~/.ssh/id_rsa_test2
$ ssh-keygen -t ecdsa -b 521 -C "$(whoami)@$(hostname)-$(date -I)" Generating public/private ecdsa key pair. Enter file in which to save the key (/home/username/.ssh/id_ecdsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/username/.ssh/id_ecdsa. Your public key has been saved in /home/username/.ssh/id_ecdsa.pub. The key fingerprint is: dd:15:ee:24:20:14:11:01:b8:72:a2:0f:99:4c:79:7f username@localhost-2015-03-08 The key's randomart image is: +--[ECDSA 521]---+ | ..oB=. . | | . . . . . | | . . . + | | oo.o . . = | |o+.+. S . . . | |=. . E | | o . | | . | | | +-----------------+
functionstr_ (str) { let result = '' if (str != '') { result = str[0]; for (let i = 1; i < str.length; i++) { if (str[i] != str[i - 1]) { result += str[i]; } } } else result = ''; return result; }
+
+
Q: 正则将电话号码中间四位变成#号 ?
1 2 3 4 5 6 7 8
// 方式 1: 正则分组 let phone = "18180800880" let reg = /(\d{3})\d{4}(\d{4})/ phone.replace(reg,"$1****$2") // 181****0880
While loaders are used to transform certain types of modules, plugins can be leveraged to perform a wider range of tasks like bundle optimization, asset management and injection of environment variables.
volta list //查看存在的版本 volta install node //安装最新版的nodejs volta install node@12.2.0 //安装指定版本 volta install node@12 //volta将选择合适的版本安装 volta pin node@10.15 //将更新项目的package.json文件以使用工具的选定版本 volta pin yarn@1.14 //将更新项目的package.json文件以使用工具的选定版本
+
+
技巧 volta install <package name>安装tools时与网络有关系,有时会死活下载不下来(主要应该是国内网络环境的原因),可以将自己手动下载的压缩包,或者其他机器上已经使用volta安装过该工具所下载的压缩包(在%VOLTA_HOME%\tools\inventory\目录中),拷贝到%VOLTA_HOME%\tools\inventory\下对应的文件夹内,比如将node-v12.18.2-win-x64.zip复制到%VOLTA_HOME%\tools\inventory\node\目录下,然后再重新执行install命令
/** * 获取不可以参与格式化的元素 */ * _getNotFormattingItems(selection, schema) { // Check formatting on selected items that are not blocks. for (const curRange of selection.getRanges()) { for (const item of curRange.getItems()) { if (!schema.isBlock(item)) { yield item; } } }
// Check formatting from selected blocks. for (const block of selection.getSelectedBlocks()) { if (block) { yield block; } }
// Finally the selection might be formatted as well, so make sure to check it. if (selection) { yield selection; } }
AI 在前端开发领域的应用日益广泛,带来诸多机遇。例如,AI 能助力我们自动生成代码。以往编写一个简单页面布局,可能得耗费几个小时,如今借助一些 AI 代码生成工具,只需输入简短描述,短短几分钟就能生成基础代码框架,开发效率大幅提升。有数据表明,使用 AI 代码生成工具,开发效率可提高 30% - 50%。这就如同拥有一个超级助手,能帮我分担大量重复性工作,让我有更多精力专注于更具创造性的任务。
+
AI 还能辅助我们进行代码优化与错误检测。它能分析我们编写的代码,精准找出潜在问题与优化点,恰似一位专业的代码审查员。而且,AI 在个性化用户体验方面潜力巨大。通过分析用户行为数据与偏好,我们可借助 AI 为用户打造更具个性化的界面与交互,提升用户体验,这对增强产品竞争力大有裨益。
+
此外,AI 的发展为我们前端程序员开辟了新的职业转型路径。我们可朝着 AI 前端开发方向转型,成为既精通前端技术又懂 AI 应用的复合型人才。这类人才在市场上极为抢手,薪资待遇也相当优厚。据统计,掌握 AI 技术的前端程序员,平均薪资较普通前端程序员高出 20% - 30%。
+
抓住机遇,迎接挑战
面对 AI 带来的机遇,我深知不能再固步自封,必须积极学习,提升自身能力。我开始利用业余时间学习 AI 相关知识与技能,参加线上课程、阅读相关书籍和论文。虽说学习过程并不轻松,有时一些复杂算法和概念让人头疼不已,但我明白,这是突破困境的必经之路。
+
我也尝试将 AI 技术运用到实际工作中。比如在近期的一个项目里,我运用 AI 代码生成工具生成部分基础代码,然后在此基础上进行个性化修改与完善。这不仅加快了项目开发进度,还让我对 AI 技术有了更深入的理解与实践经验。
+
在这个充满挑战与机遇的时代,作为一名 35 岁的双非前端程序员,即便面临家庭、生活和工作的重重压力,可我也看到了 AI 带来的无限可能。我坚信,只要保持积极的学习态度,持续提升自己,就一定能在这片波涛汹涌的大海中找准航向,驶向成功彼岸。正如那句名言所说:“机遇总是留给有准备的人。” 我要做好充分准备,迎接未来挑战,抓住属于自己的机遇。
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/source/CNAME b/CNAME
similarity index 100%
rename from source/CNAME
rename to CNAME
diff --git a/LICENSE b/LICENSE
deleted file mode 100644
index 4454c6a0..00000000
--- a/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-MIT License
-
-Copyright (c) 2017 Jack
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
diff --git a/README.md b/README.md
deleted file mode 100644
index 284bcdf5..00000000
--- a/README.md
+++ /dev/null
@@ -1,21 +0,0 @@
-[](https://dl.circleci.com/status-badge/redirect/gh/JS-mark/Js-mark.github.io/tree/blog)
-
-# 开发
-
-```bash
-# 执行开发构建的server
-hexo s
-# 创建一篇新文章
-hexo new post xx
-# 创建新页面
-hexo new page xx
-```
-
-# 部署
-
-```bash
-# 生成构建静态页面
-hexo g
-# 部署到github上
-hexo g -d
-```
diff --git a/_config.next.yml b/_config.next.yml
deleted file mode 100644
index df304f0d..00000000
--- a/_config.next.yml
+++ /dev/null
@@ -1,1131 +0,0 @@
-# ===============================================================
-# It's recommended to use Alternate Theme Config to configure the theme
-# Modifying this file may result in merge conflict
-# See: https://theme-next.js.org/docs/getting-started/configuration
-# ===============================================================
-
-# ---------------------------------------------------------------
-# Theme Core Configuration Settings
-# See: https://theme-next.js.org/docs/theme-settings/
-# ---------------------------------------------------------------
-
-# If false, merge configs from `_data/next.yml` into default configuration (rewrite).
-# If true, will fully override default configuration by options from `_data/next.yml` (override). Only for NexT settings.
-# And if true, all config from default NexT `_config.yml` have to be copied into `next.yml`. Use if you know what you are doing.
-# Useful if you want to comment some options from NexT `_config.yml` by `next.yml` without editing default config.
-override: false
-
-# Console reminder if new version released.
-reminder: true
-
-# Allow to cache content generation. Introduced in NexT v6.0.0.
-cache:
- enable: true
-
-# Remove unnecessary files after hexo generate.
-minify: true
-
-# Define custom file paths.
-# Create your custom files in site directory `source/_data` and uncomment needed files below.
-custom_file_path:
- head: source/_data/head.njk
- #header: source/_data/header.njk
- #sidebar: source/_data/sidebar.njk
- #postMeta: source/_data/post-meta.njk
- #postBodyEnd: source/_data/post-body-end.njk
- #footer: source/_data/footer.njk
- #bodyEnd: source/_data/body-end.njk
- #variable: source/_data/variables.styl
- #mixin: source/_data/mixins.styl
- #style: source/_data/styles.styl
-
-# ---------------------------------------------------------------
-# Scheme Settings
-# ---------------------------------------------------------------
-
-# Schemes
-scheme: Gemini
-#scheme: Mist
-#scheme: Pisces
-#scheme: Gemini
-
-# Dark Mode
-darkmode: true
-# ---------------------------------------------------------------
-# Site Information Settings
-# See: https://theme-next.org/docs/getting-started/
-# ---------------------------------------------------------------
-
-favicon:
- small: https://avatars.githubusercontent.com/u/31335385?s=60&v=4
- medium: https://avatars.githubusercontent.com/u/31335385?s=60&v=4
- apple_touch_icon: https://avatars.githubusercontent.com/u/31335385?s=60&v=4
- safari_pinned_tab: /images/logo.svg
- #android_manifest: /images/manifest.json
- #ms_browserconfig: /images/browserconfig.xml
-
-# ---------------------------------------------------------------
-# Footer Settings
-# See: https://theme-next.js.org/docs/theme-settings/footer
-# ---------------------------------------------------------------
-
-# Show multilingual switcher in footer.
-language_switcher: false
-
-footer:
- # Specify the date when the site was setup. If not defined, current year will be used.
- since: 2015
-
- # Icon between year and copyright info.
- icon:
- # Icon name in Font Awesome. See: https://fontawesome.com/icons
- name: fa fa-heart
- # If you want to animate the icon, set it to true.
- animated: true
- # Change the color of icon, using Hex Code.
- color: '#808080'
-
- # If not defined, `author` from Hexo `_config.yml` will be used.
- copyright: Mark
-
- # Powered by Hexo & NexT
- powered: false
-
- # Beian ICP and gongan information for Chinese users. See: http://www.beian.miit.gov.cn, http://www.beian.gov.cn
- beian:
- enable: false
- icp:
- # The digit in the num of gongan beian.
- gongan_id:
- # The full num of gongan beian.
- gongan_num:
- # The icon for gongan beian. See: http://www.beian.gov.cn/portal/download
- gongan_icon_url:
-
-# Creative Commons 4.0 International License.
-# See: https://creativecommons.org/share-your-work/licensing-types-examples
-# Available values of license: by | by-nc | by-nc-nd | by-nc-sa | by-nd | by-sa | zero
-# You can set a language value if you prefer a translated version of CC license, e.g. deed.zh
-# CC licenses are available in 39 languages, you can find the specific and correct abbreviation you need on https://creativecommons.org
-creative_commons:
- license: by-nc-sa
- sidebar: true
- post: true
- language:
-
-# ---------------------------------------------------------------
-# Menu Settings
-# ---------------------------------------------------------------
-
-# Usage: `Key: /link/ || icon`
-# Key is the name of menu item. If the translation for this item is available, the translated text will be loaded, otherwise the Key name will be used. Key is case-senstive.
-# Value before `||` delimiter is the target link, value after `||` delimiter is the name of Font Awesome icon.
-# When running the site in a subdirectory (e.g. yoursite.com/blog), remove the leading slash from link value (/archives -> archives).
-# External url should start with http:// or https://
-menu:
- home: / || fa fa-home
- tags: /tags/ || fa fa-tags
- categories: /categories/ || fa fa-th
- # schedule: /schedule/ || fa fa-calendar
- archives: /archives/ || fa fa-archive
- # sitemap: /sitemap.xml || sitemap
- about: /about/ || fa fa-user
- commonweal: /404.html || fa fa-heartbeat
- guestbook: /guestbook/ || fa fa-book
-
-# Enable / Disable menu icons / item badges.
-menu_settings:
- icons: true
- badges: true
-
-# ---------------------------------------------------------------
-# Sidebar Settings
-# See: https://theme-next.org/docs/theme-settings/sidebar
-# ---------------------------------------------------------------
-
-sidebar:
- # Sidebar Position.
- # position: left
- position: right
-
- # Manual define the sidebar width. If commented, will be default for:
- # Muse | Mist: 320
- # Pisces | Gemini: 240
- #width: 300
-
- # Sidebar Display (only for Muse | Mist), available values:
- # - post expand on posts automatically. Default.
- # - always expand for all pages automatically.
- # - hide expand only when click on the sidebar toggle icon.
- # - remove totally remove sidebar including sidebar toggle.
- display: post
-
- # Sidebar padding in pixels.
- padding: 18
- # Sidebar offset from top menubar in pixels (only for Pisces | Gemini).
- offset: 12
-
-# Sidebar Avatar
-avatar:
- # Replace the default image and set the url here.
- url: /images/avatar.jpeg
- # If true, the avatar will be dispalyed in circle.
- rounded: false
- # If true, the avatar will be rotated with the cursor.
- rotated: false
-
-# Posts / Categories / Tags in sidebar.
-site_state: true
-
-# Social Links
-# Usage: `Key: permalink || icon`
-# Key is the link label showing to end users.
-# Value before `||` delimiter is the target permalink, value after `||` delimiter is the name of Font Awesome icon.
-social:
- GitHub: https://github.com/JS-mark || fab fa-github
- E-Mail: mailto:sunduo3195@qq.com || fa fa-envelope
- Weibo: https://weibo.com/u/2353382961 || fab fa-weibo
- #Google: https://plus.google.com/yourname || fab fa-google
- #Twitter: https://twitter.com/yourname || fab fa-twitter
- #FB Page: https://www.facebook.com/yourname || fab fa-facebook
- #StackOverflow: https://stackoverflow.com/yourname || fab fa-stack-overflow
- #YouTube: https://youtube.com/yourname || fab fa-youtube
- #Instagram: https://instagram.com/yourname || fab fa-instagram
- #Skype: skype:yourname?call|chat || fab fa-skype
-
-social_icons:
- enable: true
- icons_only: true
- transition: true
-
-# Blog rolls
-links_settings:
- icon: fa fa-link
- title: Links
- # Available values: block | inline
- layout: block
-
-links:
- # Title: https://js-mark.com
-
-# Table of Contents in the Sidebar
-# Front-matter variable (unsupport wrap expand_all).
-toc:
- enable: true
- # Automatically add list number to toc.
- number: true
- # If true, all words will placed on next lines if header width longer then sidebar width.
- wrap: true
- # If true, all level of TOC in a post will be displayed, rather than the activated part of it.
- expand_all: false
- # Maximum heading depth of generated toc.
- max_depth: 6
-
-# A button to open designated chat widget in sidebar.
-# Firstly, you need enable the chat service you want to activate its sidebar button.
-chat:
- enable: false
- #service: chatra
- #service: tidio
- icon: fa fa-comment # Icon name in Font Awesome, set false to disable icon.
- text: Chat # Button text, change it as you wish.
-
-# ---------------------------------------------------------------
-# Post Settings
-# See: https://theme-next.js.org/docs/theme-settings/posts
-# ---------------------------------------------------------------
-
-# Automatically excerpt description in homepage as preamble text.
-excerpt_description: true
-
-# Read more button
-# If true, the read more button will be displayed in excerpt section.
-read_more_btn: true
-
-# Post meta display settings
-post_meta:
- item_text: true
- created_at: true
- updated_at:
- enable: true
- another_day: true
- categories: true
-
-# Post wordcount display settings
-# Dependencies: https://github.com/theme-next/hexo-symbols-count-time
-symbols_count_time:
- separated_meta: true
- item_text_post: true
- item_text_total: true
-
-# Use icon instead of the symbol # to indicate the tag at the bottom of the post
-tag_icon: true
-
-# Reward (Donate)
-# Front-matter variable (unsupport animation).
-reward_settings:
- # If true, reward will be displayed in every article by default.
- enable: true
- animation: false
- comment: 坚持原创技术分享,您的支持将鼓励我继续创作!
-
-reward:
- wechatpay: /images/wechat.png
- alipay: /images/alipay.png
- #paypal: /images/paypal.png
- #bitcoin: /images/bitcoin.png
-
-# Subscribe through Telegram Channel, Twitter, etc.
-# Usage: `Key: permalink || icon` (Font Awesome)
-follow_me:
- #Twitter: https://twitter.com/username || fab fa-twitter
- Telegram: https://t.me/mark_blog || fab fa-telegram
- WeChat: /images/Wechat.jpeg || fab fa-weixin
- #RSS: /atom.xml || fa fa-rss
-
-# Related popular posts
-# Dependencies: https://github.com/tea3/hexo-related-popular-posts
-related_posts:
- enable: false
- title: # Custom header, leave empty to use the default one
- display_in_home: false
- params:
- maxCount: 5
- # PPMixingRate: 0.0
- # isDate: false
- # isImage: false
- # isExcerpt: false
-
-# Post edit
-# Dependencies: https://github.com/hexojs/hexo-deployer-git
-post_edit:
- enable: false
- url: https://github.com/user-name/repo-name/tree/branch-name/subdirectory-name # Link for view source
- #url: https://github.com/user-name/repo-name/edit/branch-name/subdirectory-name # Link for fork & edit
-
-# Show previous post and next post in post footer if exists
-# Available values: left | right | false
-post_navigation: right
-
-# ---------------------------------------------------------------
-# Custom Page Settings
-# See: https://theme-next.org/docs/theme-settings/custom-pages
-# ---------------------------------------------------------------
-
-# TagCloud settings for tags page.
-tagcloud:
- # All values below are same as default, change them by yourself.
- min: 12 # Minimun font size in px
- max: 30 # Maxium font size in px
- start: '#ccc' # Start color (hex, rgba, hsla or color keywords)
- end: '#111' # End color (hex, rgba, hsla or color keywords)
- amount: 200 # Amount of tags, change it if you have more than 200 tags
-
-# Google Calendar
-# Share your recent schedule to others via calendar page.
-calendar:
- calendar_id: # Your Google account E-Mail
- api_key:
- orderBy: startTime
- offsetMax: 24 # Time Range
- offsetMin: 4 # Time Range
- showDeleted: false
- singleEvents: true
- maxResults: 250
-
-# ---------------------------------------------------------------
-# Misc Theme Settings
-# ---------------------------------------------------------------
-
-# Set the text alignment in posts / pages.
-text_align:
- # Available values: start | end | left | right | center | justify | justify-all | match-parent
- desktop: justify
- mobile: justify
-
-# Reduce padding / margin indents on devices with narrow width.
-mobile_layout_economy: true
-
-# Android Chrome header panel color ($brand-bg / $headband-bg => $black-deep).
-android_chrome_color: '#222'
-
-# Custom Logo (Do not support scheme Mist)
-custom_logo: #/uploads/custom-logo.jpg
-
-codeblock:
- # Code Highlight theme
- # Available values: normal | night | night eighties | night blue | night bright | solarized | solarized dark | galactic
- # See: https://github.com/chriskempson/tomorrow-theme
- highlight_theme: 'solarized dark'
- # Add copy button on codeblock
- copy_button:
- enable: true
- # Show text copy result.
- show_result: true
- # Available values: default | flat | mac
- style:
-
-back2top:
- enable: true
- # Back to top in sidebar.
- sidebar: true
- # Scroll percent label in b2t button.
- scrollpercent: true
-
-# Reading progress bar
-reading_progress:
- enable: true
- # Available values: top | bottom
- position: top
- color: '#37c6c0'
- height: 3px
-
-# Bookmark Support
-bookmark:
- enable: true
- # Customize the color of the bookmark.
- color: '#222'
- # If auto, save the reading progress when closing the page or clicking the bookmark-icon.
- # If manual, only save it by clicking the bookmark-icon.
- save: auto
-
-# `Follow me on GitHub` banner in the top-right corner.
-github_banner:
- enable: true
- permalink: https://github.com/Js-mark
- title: Follow me on GitHub
-
-# ---------------------------------------------------------------
-# Font Settings
-# See: https://theme-next.js.org/docs/theme-settings/#Fonts-Customization
-# ---------------------------------------------------------------
-# Find fonts on Google Fonts (https://www.google.com/fonts)
-# All fonts set here will have the following styles:
-# light | light italic | normal | normal italic | bold | bold italic
-# Be aware that setting too much fonts will cause site running slowly
-# ---------------------------------------------------------------
-# To avoid space between header and sidebar in scheme Pisces / Gemini, Web Safe fonts are recommended for `global` (and `title`):
-# Arial | Tahoma | Helvetica | Times New Roman | Courier New | Verdana | Georgia | Palatino | Garamond | Comic Sans MS | Trebuchet MS
-# ---------------------------------------------------------------
-
-font:
- enable: false
-
- # Uri of fonts host, e.g. https://fonts.googleapis.com (Default).
- host:
-
- # Font options:
- # `external: true` will load this font family from `host` above.
- # `family: Times New Roman`. Without any quotes.
- # `size: x.x`. Use `em` as unit. Default: 1 (16px)
-
- # Global font settings used for all elements inside .
- global:
- external: true
- family: Lato
- size:
-
- # Font settings for site title (.site-title).
- title:
- external: true
- family:
- size:
-
- # Font settings for headlines (
to
).
- headings:
- external: true
- family:
- size:
-
- # Font settings for posts (.post-body).
- posts:
- external: true
- family:
-
- # Font settings for and code blocks.
- codes:
- external: true
- family:
-
-# ---------------------------------------------------------------
-# SEO Settings
-# See: https://theme-next.js.org/docs/theme-settings/seo
-# ---------------------------------------------------------------
-
-# Disable Baidu transformation on mobile devices.
-disable_baidu_transformation: true
-
-# If true, site-subtitle will be added to index page.
-# Remember to set up your site-subtitle in Hexo `_config.yml` (e.g. subtitle: Subtitle)
-index_with_subtitle: true
-
-# Automatically add external URL with Base64 encrypt & decrypt.
-exturl: true
-
-# Google Webmaster tools verification.
-# See: https://www.google.com/webmasters
-google_site_verification:
-
-# Bing Webmaster tools verification.
-# See: https://www.bing.com/webmaster
-bing_site_verification:
-
-# Yandex Webmaster tools verification.
-# See: https://webmaster.yandex.ru
-yandex_site_verification:
-
-# Baidu Webmaster tools verification.
-# See: https://ziyuan.baidu.com/site
-baidu_site_verification:
-
-# Enable baidu push so that the blog will push the url to baidu automatically which is very helpful for SEO.
-baidu_push: false
-
-# ---------------------------------------------------------------
-# Third Party Plugins & Services Settings
-# See: https://theme-next.js.org/docs/third-party-services/
-# More plugins: https://github.com/theme-next/awesome-next
-# You may need to install dependencies or set CDN URLs in `vendors`
-# There are two different CDN providers by default:
-# - jsDelivr (cdn.jsdelivr.net), works everywhere even in China
-# - CDNJS (cdnjs.cloudflare.com), provided by cloudflare
-# ---------------------------------------------------------------
-
-# Math Formulas Render Support
-math:
- # Default (true) will load mathjax / katex script on demand.
- # That is it only render those page which has `mathjax: true` in Front-matter.
- # If you set it to false, it will load mathjax / katex srcipt EVERY PAGE.
- per_page: true
-
- # hexo-renderer-pandoc (or hexo-renderer-kramed) required for full MathJax support.
- mathjax:
- enable: true
- # See: https://mhchem.github.io/MathJax-mhchem/
- mhchem: true
-
- # hexo-renderer-markdown-it-plus (or hexo-renderer-markdown-it with markdown-it-katex plugin) required for full Katex support.
- katex:
- enable: true
- # See: https://github.com/KaTeX/KaTeX/tree/master/contrib/copy-tex
- copy_tex: true
-
-# Easily enable fast Ajax navigation on your website.
-# Dependencies: https://github.com/theme-next/theme-next-pjax
-pjax: false
-
-# FancyBox is a tool that offers a nice and elegant way to add zooming functionality for images.
-# For more information: https://fancyapps.com/fancybox
-fancybox: true
-
-# A JavaScript library for zooming images like Medium.
-# Do not enable both `fancybox` and `mediumzoom`.
-# For more information: https://github.com/francoischalifour/medium-zoom
-mediumzoom: true
-
-# Vanilla JavaScript plugin for lazyloading images.
-# For more information: https://github.com/ApoorvSaxena/lozad.js
-lazyload: true
-
-# Pangu Support
-# For more information: https://github.com/vinta/pangu.js
-pangu: false
-
-# Quicklink Support
-# Do not enable both `pjax` and `quicklink`.
-# For more information: https://github.com/GoogleChromeLabs/quicklink
-# Front-matter (unsupport home archive).
-quicklink:
- enable: true
-
- # Home page and archive page can be controlled through home and archive options below.
- # This configuration item is independent of `enable`.
- home: true
- archive: true
-
- # Default (true) will initialize quicklink after the load event fires.
- delay: true
- # Custom a time in milliseconds by which the browser must execute prefetching.
- timeout: 3000
- # Default (true) will enable fetch() or falls back to XHR.
- priority: true
-
- # For more flexibility you can add some patterns (RegExp, Function, or Array) to ignores.
- # See: https://github.com/GoogleChromeLabs/quicklink#custom-ignore-patterns
- ignores:
-
-# ---------------------------------------------------------------
-# Comments Settings
-# See: https://theme-next.js.org/docs/third-party-services/comments
-# ---------------------------------------------------------------
-
-# Multiple Comment System Support
-comments:
- # Available values: tabs | buttons
- style: tabs
- # Choose a comment system to be displayed by default.
- # Available values: changyan | disqus | disqusjs | gitalk | livere | valine
- active: gitalk
- # Setting `true` means remembering the comment system selected by the visitor.
- storage: true
- # Lazyload all comment systems.
- lazyload: true
- # Modify texts or order for any navs, here are some examples.
- nav:
- #disqus:
- # text: Load Disqus
- # order: -1
- #gitalk:
- # order: -2
-
-# Disqus
-disqus:
- enable: false
- shortname:
- count: true
- #post_meta_order: 0
-
-# DisqusJS
-# Alternative Disqus - Render comment component using Disqus API.
-# Demo: https://suka.js.org/DisqusJS/
-# For more information: https://github.com/SukkaW/DisqusJS
-disqusjs:
- enable: false
- # API Endpoint of Disqus API (https://disqus.com/api/).
- # Leave api empty if you are able to connect to Disqus API. Otherwise you need a reverse proxy for it.
- # For example:
- # api: https://disqus.skk.moe/disqus/
- api:
- apikey: # Register new application from https://disqus.com/api/applications/
- shortname: # See: https://disqus.com/admin/settings/general/
-
-# Changyan
-changyan:
- enable: false
- appid:
- appkey:
- #post_meta_order: 0
-
-# Valine
-# For more information: https://valine.js.org, https://github.com/xCss/Valine
-valine:
- enable: false
- appId: 'DIAnS0Hiky61MuInVHgHkywd-gzGzoHsz'
- appKey: 'zXXukDTNJEGlfy84Y3jbQEDa'
- placeholder: 'ヾノ≧∀≦)o 来啊,快活啊!' # Comment box placeholder
- avatar: 'robohash' # Gravatar style
- meta: [nick, mail] # Custom comment header , link
- highlight: true
- pageSize: 10 # Pagination size
- lang: zh-cn # Language, available values: en, zh-cn
- visitor: true # Article reading statistic
- comment_count: true # If false, comment count will only be displayed in post page, not in home page
- recordIP: false # Whether to record the commenter IP
- serverURLs: # When the custom domain name is enabled, fill it in here (it will be detected automatically by default, no need to fill in)
- #post_meta_order: 0
- requiredFields: [nick] # Set required fields: [nick] | [nick, mail]
- emojiCDN: '//cdn.jsdelivr.net/gh/haomingvince/ghcdn/'
- emojiMaps:
- {
- 'bilibili_doge.png': 'CommentEmote/bilibili_doge.png',
- 'bilibili_baiyan.png': 'CommentEmote/bilibili_baiyan.png',
- 'bilibili_bishi.png': 'CommentEmote/bilibili_bishi.png',
- 'bilibili_bizui.png': 'CommentEmote/bilibili_bizui.png',
- 'bilibili_chan.png': 'CommentEmote/bilibili_chan.png',
- 'bilibili_dai.png': 'CommentEmote/bilibili_dai.png',
- 'bilibili_daku.png': 'CommentEmote/bilibili_daku.png',
- 'bilibili_dalao.png': 'CommentEmote/bilibili_dalao.png',
- 'bilibili_dalian.png': 'CommentEmote/bilibili_dalian.png',
- 'bilibili_dianzan.png': 'CommentEmote/bilibili_dianzan.png',
- 'bilibili_facai.png': 'CommentEmote/bilibili_facai.png',
- 'bilibili_fanu.png': 'CommentEmote/bilibili_fanu.png',
- 'bilibili_ganga.png': 'CommentEmote/bilibili_ganga.png',
- 'bilibili_guilian.png': 'CommentEmote/bilibili_guilian.png',
- 'bilibili_guzhang.png': 'CommentEmote/bilibili_guzhang.png',
- 'bilibili_haixiu.png': 'CommentEmote/bilibili_haixiu.png',
- 'bilibili_heirenwenhao.png': 'CommentEmote/bilibili_heirenwenhao.png',
- 'bilibili_huaixiao.png': 'CommentEmote/bilibili_huaixiao.png',
- 'bilibili_jingxia.png': 'CommentEmote/bilibili_jingxia.png',
- 'bilibili_keai.png': 'CommentEmote/bilibili_keai.png',
- 'bilibili_koubi.png': 'CommentEmote/bilibili_koubi.png',
- 'bilibili_kun.png': 'CommentEmote/bilibili_kun.png',
- 'bilibili_lengmo.png': 'CommentEmote/bilibili_lengmo.png',
- 'bilibili_liubixue.png': 'CommentEmote/bilibili_liubixue.png',
- 'bilibili_liuhan.png': 'CommentEmote/bilibili_liuhan.png',
- 'bilibili_liulei.png': 'CommentEmote/bilibili_liulei.png',
- 'bilibili_miantian.png': 'CommentEmote/bilibili_miantian.png',
- 'bilibili_mudengkoudai.png': 'CommentEmote/bilibili_mudengkoudai.png',
- 'bilibili_nanguo.png': 'CommentEmote/bilibili_nanguo.png',
- 'bilibili_outu.png': 'CommentEmote/bilibili_outu.png',
- 'bilibili_qinqin.png': 'CommentEmote/bilibili_qinqin.png',
- 'bilibili_se.png': 'CommentEmote/bilibili_se.png',
- 'bilibili_shengbing.png': 'CommentEmote/bilibili_shengbing.png',
- 'bilibili_shengqi.png': 'CommentEmote/bilibili_shengqi.png',
- 'bilibili_shuizhao.png': 'CommentEmote/bilibili_shuizhao.png',
- 'bilibili_sikao.png': 'CommentEmote/bilibili_sikao.png',
- 'bilibili_tiaokan.png': 'CommentEmote/bilibili_tiaokan.png',
- 'bilibili_tiaopi.png': 'CommentEmote/bilibili_tiaopi.png',
- 'bilibili_touxiao.png': 'CommentEmote/bilibili_touxiao.png',
- 'bilibili_tuxie.png': 'CommentEmote/bilibili_tuxie.png',
- 'bilibili_weiqu.png': 'CommentEmote/bilibili_weiqu.png',
- 'bilibili_weixiao.png': 'CommentEmote/bilibili_weixiao.png',
- 'bilibili_wunai.png': 'CommentEmote/bilibili_wunai.png',
- 'bilibili_xiaoku.png': 'CommentEmote/bilibili_xiaoku.png',
- 'bilibili_xieyanxiao.png': 'CommentEmote/bilibili_xieyanxiao.png',
- 'bilibili_yiwen.png': 'CommentEmote/bilibili_yiwen.png',
- 'bilibili_yun.png': 'CommentEmote/bilibili_yun.png',
- 'bilibili_zaijian.png': 'CommentEmote/bilibili_zaijian.png',
- 'bilibili_zhoumei.png': 'CommentEmote/bilibili_zhoumei.png',
- 'bilibili_zhuakuang.png': 'CommentEmote/bilibili_zhuakuang.png',
- 'tieba_1.png': 'CommentEmote/tieba_1.png',
- 'tieba_2.png': 'CommentEmote/tieba_2.png',
- 'tieba_3.png': 'CommentEmote/tieba_3.png',
- 'tieba_4.png': 'CommentEmote/tieba_4.png',
- 'tieba_5.png': 'CommentEmote/tieba_5.png',
- 'tieba_6.png': 'CommentEmote/tieba_6.png',
- 'tieba_7.png': 'CommentEmote/tieba_7.png',
- 'tieba_8.png': 'CommentEmote/tieba_8.png',
- 'tieba_9.png': 'CommentEmote/tieba_9.png',
- 'tieba_10.png': 'CommentEmote/tieba_10.png',
- 'tieba_11.png': 'CommentEmote/tieba_11.png',
- 'tieba_12.png': 'CommentEmote/tieba_12.png',
- 'tieba_13.png': 'CommentEmote/tieba_13.png',
- 'tieba_14.png': 'CommentEmote/tieba_14.png',
- 'tieba_15.png': 'CommentEmote/tieba_15.png',
- 'tieba_16.png': 'CommentEmote/tieba_16.png',
- 'tieba_17.png': 'CommentEmote/tieba_17.png',
- 'tieba_18.png': 'CommentEmote/tieba_18.png',
- 'tieba_19.png': 'CommentEmote/tieba_19.png',
- 'tieba_20.png': 'CommentEmote/tieba_20.png',
- 'tieba_21.png': 'CommentEmote/tieba_21.png',
- 'tieba_22.png': 'CommentEmote/tieba_22.png',
- 'tieba_23.png': 'CommentEmote/tieba_23.png',
- 'tieba_24.png': 'CommentEmote/tieba_24.png',
- 'tieba_25.png': 'CommentEmote/tieba_25.png',
- 'tieba_26.png': 'CommentEmote/tieba_26.png',
- 'tieba_27.png': 'CommentEmote/tieba_27.png',
- 'tieba_28.png': 'CommentEmote/tieba_28.png',
- 'tieba_29.png': 'CommentEmote/tieba_29.png',
- 'tieba_30.png': 'CommentEmote/tieba_30.png',
- 'tieba_31.png': 'CommentEmote/tieba_31.png',
- 'tieba_32.png': 'CommentEmote/tieba_32.png',
- 'tieba_33.png': 'CommentEmote/tieba_33.png',
- 'tieba_46.png': 'CommentEmote/tieba_46.png',
- 'tieba_47.png': 'CommentEmote/tieba_47.png',
- 'tieba_48.png': 'CommentEmote/tieba_48.png',
- 'tieba_49.png': 'CommentEmote/tieba_49.png',
- 'tieba_50.png': 'CommentEmote/tieba_50.png',
- 'tieba_66.png': 'CommentEmote/tieba_66.png',
- 'tieba_67.png': 'CommentEmote/tieba_67.png',
- 'tieba_68.png': 'CommentEmote/tieba_68.png',
- 'tieba_69.png': 'CommentEmote/tieba_69.png',
- 'tieba_70.png': 'CommentEmote/tieba_70.png',
- 'tieba_71.png': 'CommentEmote/tieba_71.png',
- 'tieba_72.png': 'CommentEmote/tieba_72.png',
- 'tieba_73.png': 'CommentEmote/tieba_73.png',
- 'tieba_74.png': 'CommentEmote/tieba_74.png',
- 'tieba_75.png': 'CommentEmote/tieba_75.png',
- 'tieba_76.png': 'CommentEmote/tieba_76.png',
- 'tieba_86.png': 'CommentEmote/tieba_86.png',
- 'tieba_87.png': 'CommentEmote/tieba_87.png',
- 'tieba_88.png': 'CommentEmote/tieba_88.png',
- 'tieba_89.png': 'CommentEmote/tieba_89.png',
- 'tieba_90.png': 'CommentEmote/tieba_90.png',
- 'tieba_91.png': 'CommentEmote/tieba_91.png',
- 'tieba_92.png': 'CommentEmote/tieba_92.png',
- 'tieba_93.png': 'CommentEmote/tieba_93.png',
- 'tieba_95.png': 'CommentEmote/tieba_95.png',
- 'tieba_96.png': 'CommentEmote/tieba_96.png',
- 'tieba_97.png': 'CommentEmote/tieba_97.png',
- 'tieba_98.png': 'CommentEmote/tieba_98.png',
- }
-
-# LiveRe comments system
-# You can get your uid from https://livere.com/insight/myCode (General web site)
-livere_uid: #
-
-# Gitalk
-# For more information: https://gitalk.github.io, https://github.com/gitalk/gitalk
-gitalk:
- enable: true
- github_id: JS-mark # GitHub repo owner
- repo: Js-mark.github.io # Repository name to store issues
- perPage: 10
- pagerDirection: last
- client_id: 771111cf1a5ef33c99d5 # GitHub Application Client ID
- client_secret: 00254dd1456d8593ede120f4158193706ac7b3fb # GitHub Application Client Secret
- admin_user: 'JS-mark' # GitHub repo owner and collaborators, only these guys can initialize gitHub issues
- distraction_free_mode: true # Facebook-like distraction free mode
- # Gitalk's display language depends on user's browser or system environment
- # If you want everyone visiting your site to see a uniform language, you can set a force language value
- # Available values: en | es-ES | fr | ru | zh-CN | zh-TW
- language: zh-CN
-
-# ---------------------------------------------------------------
-# Post Widgets & Content Sharing Services
-# See: https://theme-next.js.org/docs/third-party-services/post-widgets
-# ---------------------------------------------------------------
-
-# Star rating support to each article.
-# To get your ID visit https://widgetpack.com
-rating:
- enable: false
- id: #
- color: '#fc6423'
-
-# AddThis Share. See: https://www.addthis.com
-# Go to https://www.addthis.com/dashboard to customize your tools.
-add_this_id:
-
-# ---------------------------------------------------------------
-# Statistics and Analytics
-# See: https://theme-next.js.org/docs/third-party-services/statistics-and-analytics
-# ---------------------------------------------------------------
-
-# Google Analytics
-google_analytics:
- tracking_id: #
- # By default, NexT will load an external gtag.js script on your site.
- # If you only need the pageview feature, set the following option to true to get a better performance.
- only_pageview: false
-
-# Baidu Analytics
-baidu_analytics: #
-
-# Growingio Analytics
-growingio_analytics: #
-
-# CNZZ count
-cnzz_siteid:
-
-# Show number of visitors of each article.
-# You can visit https://leancloud.cn to get AppID and AppKey.
-# AppID and AppKey are recommended to be the same as valine's for counter compatibility.
-# Do not enable both `valine.visitor` and `leancloud_visitors`.
-leancloud_visitors:
- enable: false
- app_id: #
- app_key: #
- # Required for apps from CN region
- server_url: #
- # Dependencies: https://github.com/theme-next/hexo-leancloud-counter-security
- # If you don't care about security in leancloud counter and just want to use it directly
- # (without hexo-leancloud-counter-security plugin), set `security` to `false`.
- security: false
-
-# Another tool to show number of visitors to each article.
-# Visit https://console.firebase.google.com/u/0/ to get apiKey and projectId.
-# Visit https://firebase.google.com/docs/firestore/ to get more information about firestore.
-firestore:
- enable: false
- collection: articles # Required, a string collection name to access firestore database
- apiKey: # Required
- projectId: # Required
-
-# Show Views / Visitors of the website / page with busuanzi.
-# Get more information on http://ibruce.info/2015/04/04/busuanzi
-busuanzi_count:
- enable: true
- total_visitors: true
- total_visitors_icon: fa fa-user
- total_views: true
- total_views_icon: fa fa-eye
- post_views: false
- post_views_icon: fa fa-eye
-
-# ---------------------------------------------------------------
-# Search Services
-# See: https://theme-next.js.org/docs/third-party-services/search-services
-# ---------------------------------------------------------------
-
-# Algolia Search
-# For more information: https://www.algolia.com
-algolia_search:
- enable: false
- hits:
- per_page: 10
- labels:
- input_placeholder: Search for Posts
- hits_empty: "We didn't find any results for the search: ${query}"
- hits_stats: '${hits} results found in ${time} ms'
-
-# Local Search
-# Dependencies: https://github.com/theme-next/hexo-generator-searchdb
-local_search:
- enable: true
- # If auto, trigger search by changing input.
- # If manual, trigger search by pressing enter key or search button.
- trigger: auto
- # Show top n results per article, show all results by setting to -1
- top_n_per_article: 1
- # Unescape html strings to the readable one.
- unescape: true
- # Preload the search data when the page loads.
- preload: true
-
-# Swiftype Search API Key
-swiftype_key:
-
-# ---------------------------------------------------------------
-# Chat Services
-# See: https://theme-next.org/docs/third-party-services/chat-services
-# ---------------------------------------------------------------
-
-# Chatra Support
-# See: https://chatra.io
-# Dashboard: https://app.chatra.io/settings/general
-chatra:
- enable: false
- async: false
- id: # Visit Dashboard to get your ChatraID
- #embed: # Unfinished experimental feature for developers. See: https://chatra.io/help/api/#injectto
-
-# Tidio Support
-# See: https://www.tidiochat.com
-# Dashboard: https://www.tidiochat.com/panel/dashboard
-tidio:
- enable: false
- key: # Public Key, get it from dashboard. See: https://www.tidiochat.com/panel/settings/developer
-
-# ---------------------------------------------------------------
-# Tags Settings
-# See: https://theme-next.js.org/docs/tag-plugins/
-# ---------------------------------------------------------------
-
-# Note tag (bs-callout)
-note:
- # Note tag style values:
- # - simple bs-callout old alert style. Default.
- # - modern bs-callout new (v2-v3) alert style.
- # - flat flat callout style with background, like on Mozilla or StackOverflow.
- # - disabled disable all CSS styles import of note tag.
- style: modern
- icons: true
- # Offset lighter of background in % for modern and flat styles (modern: -12 | 12; flat: -18 | 6).
- # Offset also applied to label tag variables. This option can work with disabled note tag.
- light_bg_offset: 0
-
-# Tabs tag
-tabs:
- transition:
- tabs: true
- labels: true
-
-# PDF tag
-# NexT will try to load pdf files natively, if failed, pdf.js will be used.
-# So, you have to install the dependency of pdf.js if you want to use pdf tag and make it available to all browsers.
-# See: https://github.com/theme-next/theme-next-pdf
-pdf:
- enable: true
- # Default height
- height: 500px
-
-# flowchart tag
-flowchart:
- # raphael: # optional, the source url of raphael.js
- # flowchart: # optional, the source url of flowchart.js
- options: drawSVG # options used for `drawSVG`
-
-# sequence tag
-sequence:
- webfont: //cdnjs.cloudflare.com/ajax/libs/webfont/1.6.27/webfontloader.js
- snap: //cdnjs.cloudflare.com/ajax/libs/snap.svg/0.4.1/snap.svg-min.js
- underscore: //cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore-min.js
- sequence: //cdnjs.cloudflare.com/ajax/libs/js-sequence-diagrams/1.0.6/sequence-diagram-min.js
- # webfont: # optional, the source url of webfontloader.js
- # snap: # optional, the source url of snap.svg.js
- # underscore: # optional, the source url of underscore.js
- # sequence: # optional, the source url of sequence-diagram.js
- # css: # optional, the url for css, such as hand drawn theme
- options:
- theme: simple
- css_class:
-
-# Mermaid tag
-mermaid:
- enable: true
- # Available themes: default | dark | forest | neutral
- theme: forest
-
-# ---------------------------------------------------------------
-# Animation Settings
-# ---------------------------------------------------------------
-
-# Use velocity to animate everything.
-# For more information: http://velocityjs.org
-motion:
- enable: true
- async: true
- transition:
- # Transition variants:
- # fadeIn | flipXIn | flipYIn | flipBounceXIn | flipBounceYIn
- # swoopIn | whirlIn | shrinkIn | expandIn
- # bounceIn | bounceUpIn | bounceDownIn | bounceLeftIn | bounceRightIn
- # slideUpIn | slideDownIn | slideLeftIn | slideRightIn
- # slideUpBigIn | slideDownBigIn | slideLeftBigIn | slideRightBigIn
- # perspectiveUpIn | perspectiveDownIn | perspectiveLeftIn | perspectiveRightIn
- post_block: fadeIn
- post_header: slideDownIn
- post_body: slideDownIn
- coll_header: slideLeftIn
- # Only for Pisces | Gemini.
- sidebar: slideUpIn
-
-# Progress bar in the top during page loading.
-# Dependencies: https://github.com/theme-next/theme-next-pace
-# For more information: https://github.com/HubSpot/pace
-pace:
- enable: true
- # Themes list:
- # big-counter | bounce | barber-shop | center-atom | center-circle | center-radar | center-simple
- # corner-indicator | fill-left | flat-top | flash | loading-bar | mac-osx | material | minimal
- theme: pace-theme-minimal
-
-# JavaScript 3D library.
-# Dependencies: https://github.com/theme-next/theme-next-three
-three:
- enable: true
- three_waves: false
- canvas_lines: true
- canvas_sphere: false
-
-# Canvas-ribbon
-# Dependencies: https://github.com/theme-next/theme-next-canvas-ribbon
-# For more information: https://github.com/zproo/canvas-ribbon
-canvas_ribbon:
- enable: true
- size: 300 # The width of the ribbon
- alpha: 0.6 # The transparency of the ribbon
- zIndex: -1 # The display level of the ribbon
-
-#! ==============================================================
-#! DO NOT EDIT THE FOLLOWING SETTINGS
-#! UNLESS YOU KNOW WHAT YOU ARE DOING
-#! See: https://theme-next.js.org/docs/advanced-settings/vendors
-#! ==============================================================
-
-# Script Vendors. Set a CDN address for the vendor you want to customize.
-# Be aware that you would better use the same version as internal ones to avoid potential problems.
-# Remember to use the https protocol of CDN files when you enable https on your site.
-vendors:
- # Internal path prefix.
- _internal: lib
-
- # Internal version: 3.1.0
- anime: //cdn.jsdelivr.net/npm/animejs@3.1.0/lib/anime.min.js
- # anime:
-
- # Internal version: 5.13.0
- fontawesome: //cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@5/css/all.min.css
- # fontawesome: //cdnjs.cloudflare.com/ajax/libs/font-awesome/5.13.0/css/all.min.css
- # fontawesome:
-
- # MathJax
- mathjax: //cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js
- # mathjax:
-
- # KaTeX
- katex: //cdn.jsdelivr.net/npm/katex@0/dist/katex.min.css
- # katex: //cdnjs.cloudflare.com/ajax/libs/KaTeX/0.11.1/katex.min.css
- copy_tex_js: //cdn.jsdelivr.net/npm/katex@0/dist/contrib/copy-tex.min.js
- copy_tex_css: //cdn.jsdelivr.net/npm/katex@0/dist/contrib/copy-tex.min.css
- # katex:
- # copy_tex_js:
- # copy_tex_css:
-
- # Internal version: 0.2.8
- pjax: //cdn.jsdelivr.net/gh/theme-next/theme-next-pjax@0/pjax.min.js
- # pjax:
-
- # FancyBox
- jquery: //cdn.jsdelivr.net/npm/jquery@3/dist/jquery.min.js
- fancybox: //cdn.jsdelivr.net/gh/fancyapps/fancybox@3/dist/jquery.fancybox.min.js
- fancybox_css: //cdn.jsdelivr.net/gh/fancyapps/fancybox@3/dist/jquery.fancybox.min.css
- # jquery:
- # fancybox:
- # fancybox_css:
-
- # Medium-zoom
- mediumzoom: //cdn.jsdelivr.net/npm/medium-zoom@1/dist/medium-zoom.min.js
- # mediumzoom:
-
- # Lazyload
- lazyload: //cdn.jsdelivr.net/npm/lozad@1/dist/lozad.min.js
- # lazyload: //cdnjs.cloudflare.com/ajax/libs/lozad.js/1.14.0/lozad.min.js
- # lazyload:
-
- # Pangu
- pangu: //cdn.jsdelivr.net/npm/pangu@4/dist/browser/pangu.min.js
- # pangu: //cdnjs.cloudflare.com/ajax/libs/pangu/4.0.7/pangu.min.js
- # pangu:
-
- # Quicklink
- quicklink: //cdn.jsdelivr.net/npm/quicklink@2/dist/quicklink.umd.js
- # quicklink:
-
- # DisqusJS
- disqusjs_js: //cdn.jsdelivr.net/npm/disqusjs@1/dist/disqus.js
- disqusjs_css: //cdn.jsdelivr.net/npm/disqusjs@1/dist/disqusjs.css
- # disqusjs_js:
- # disqusjs_css:
-
- # Valine
- valine: //cdn.jsdelivr.net/npm/valine@1/dist/Valine.min.js
- # valine: //cdnjs.cloudflare.com/ajax/libs/valine/1.3.10/Valine.min.js
- # valine:
-
- # Gitalk
- gitalk_js: //cdn.jsdelivr.net/npm/gitalk@1/dist/gitalk.min.js
- gitalk_css: //cdn.jsdelivr.net/npm/gitalk@1/dist/gitalk.min.css
- # gitalk_js:
- # gitalk_css:
-
- # Algolia Search
- algolia_search: //cdn.jsdelivr.net/npm/algoliasearch@4/dist/algoliasearch-lite.umd.js
- instant_search: //cdn.jsdelivr.net/npm/instantsearch.js@4/dist/instantsearch.production.min.js
- # algolia_search:
- # instant_search:
-
- # Mermaid
- mermaid: //cdn.jsdelivr.net/npm/mermaid@8/dist/mermaid.min.js
- # mermaid: //cdnjs.cloudflare.com/ajax/libs/mermaid/8.4.8/mermaid.min.js
- # mermaid:
-
- # Internal version: 1.2.1
- velocity: //cdn.jsdelivr.net/npm/velocity-animate@1/velocity.min.js
- # velocity: //cdnjs.cloudflare.com/ajax/libs/velocity/1.2.1/velocity.min.js
- velocity_ui: //cdn.jsdelivr.net/npm/velocity-animate@1/velocity.ui.min.js
- # velocity_ui: //cdnjs.cloudflare.com/ajax/libs/velocity/1.2.1/velocity.ui.min.js
- # velocity:
- # velocity_ui:
-
- # Internal version: 1.0.2
- pace: //cdn.jsdelivr.net/npm/pace-js@1/pace.min.js
- # pace: //cdnjs.cloudflare.com/ajax/libs/pace/1.0.2/pace.min.js
- pace_css: //cdn.jsdelivr.net/npm/pace-js@1/themes/blue/pace-theme-minimal.css
- # pace_css: //cdnjs.cloudflare.com/ajax/libs/pace/1.0.2/themes/blue/pace-theme-minimal.min.css
- # pace:
- # pace_css:
-
- # Internal version: 1.0.0
- three: //cdn.jsdelivr.net/gh/theme-next/theme-next-three@1/three.min.js
- three_waves: //cdn.jsdelivr.net/gh/theme-next/theme-next-three@1/three-waves.min.js
- canvas_lines: //cdn.jsdelivr.net/gh/theme-next/theme-next-three@1/canvas_lines.min.js
- canvas_sphere: //cdn.jsdelivr.net/gh/theme-next/theme-next-three@1/canvas_sphere.min.js
- # three:
- # three_waves:
- # canvas_lines:
- # canvas_sphere:
-
- # Internal version: 1.0.0
- canvas_ribbon: //cdn.jsdelivr.net/gh/theme-next/theme-next-canvas-ribbon@1/canvas-ribbon.js
- # canvas_ribbon:
-
-# Assets
-css: css
-js: js
-images: images
-
-# darkmode.js
-darkmode_js:
- enable: true
diff --git a/_config.yml b/_config.yml
deleted file mode 100644
index 82db947c..00000000
--- a/_config.yml
+++ /dev/null
@@ -1,113 +0,0 @@
-# Hexo Configuration
-## Docs: https://hexo.io/docs/configuration.html
-## Source: https://github.com/hexojs/hexo/
-
-# Site
-title: Mark's Blog
-subtitle:
-description: Personal Technology Blog
-author: Mark
-language: zh-CN
-timezone:
-
-# URL
-## If your site is put in a subdirectory, set url as 'http://yoursite.com/child' and root as '/child/'
-url: https://js-mark.com/
-root: /
-permalink: /:year/:month/:day/:title/
-permalink_defaults: :year/:month/:day/:title/
-
-# 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
-# Open external links in new tab
-external_link:
- enable: true
-filename_case: 0
-render_drafts: true
-post_asset_folder: true
-marked:
- prependRoot: true
- postAsset: true
-relative_link: false
-future: true
-highlight:
- enable: true
- auto_detect: false
- line_number: true
- tab_replace: ''
- wrap: true
- hljs: false
-
-# 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:
-# 本地搜索配置
-search:
- path: search.xml
- field: post
- format: html
- limit: 10000
-
-# 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:ss
-
-# Pagination
-## Set per_page to 0 to disable pagination
-per_page: 10
-pagination_dir: page
-
-# Extensions
-## Plugins: https://hexo.io/plugins/
-## Themes: https://hexo.io/themes/
-theme: next
-
-# Deployment
-## Docs: https://hexo.io/docs/deployment.html
-deploy:
- type: git
- repository: git@github.com:JS-mark/Js-mark.github.io.git
- branch: master
-jsonContent:
- meta: true
- pages: true
- posts:
- title: true
- date: true
- path: true
- text: false
- raw: false
- content: true
- slug: false
- updated: true
- comments: true
- link: true
- permalink: true
- excerpt: false
- categories: true
- tags: true
diff --git a/about/index.html b/about/index.html
new file mode 100644
index 00000000..8f3d668a
--- /dev/null
+++ b/about/index.html
@@ -0,0 +1,396 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+自我介绍(Introduce Yourself) | Mark's Blog
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
AI 在前端开发领域的应用日益广泛,带来诸多机遇。例如,AI 能助力我们自动生成代码。以往编写一个简单页面布局,可能得耗费几个小时,如今借助一些 AI 代码生成工具,只需输入简短描述,短短几分钟就能生成基础代码框架,开发效率大幅提升。有数据表明,使用 AI 代码生成工具,开发效率可提高 30% - 50%。这就如同拥有一个超级助手,能帮我分担大量重复性工作,让我有更多精力专注于更具创造性的任务。
AI 还能辅助我们进行代码优化与错误检测。它能分析我们编写的代码,精准找出潜在问题与优化点,恰似一位专业的代码审查员。而且,AI 在个性化用户体验方面潜力巨大。通过分析用户行为数据与偏好,我们可借助 AI 为用户打造更具个性化的界面与交互,提升用户体验,这对增强产品竞争力大有裨益。
此外,AI 的发展为我们前端程序员开辟了新的职业转型路径。我们可朝着 AI 前端开发方向转型,成为既精通前端技术又懂 AI 应用的复合型人才。这类人才在市场上极为抢手,薪资待遇也相当优厚。据统计,掌握 AI 技术的前端程序员,平均薪资较普通前端程序员高出 20% - 30%。
抓住机遇,迎接挑战
面对 AI 带来的机遇,我深知不能再固步自封,必须积极学习,提升自身能力。我开始利用业余时间学习 AI 相关知识与技能,参加线上课程、阅读相关书籍和论文。虽说学习过程并不轻松,有时一些复杂算法和概念让人头疼不已,但我明白,这是突破困境的必经之路。
我也尝试将 AI 技术运用到实际工作中。比如在近期的一个项目里,我运用 AI 代码生成工具生成部分基础代码,然后在此基础上进行个性化修改与完善。这不仅加快了项目开发进度,还让我对 AI 技术有了更深入的理解与实践经验。
在这个充满挑战与机遇的时代,作为一名 35 岁的双非前端程序员,即便面临家庭、生活和工作的重重压力,可我也看到了 AI 带来的无限可能。我坚信,只要保持积极的学习态度,持续提升自己,就一定能在这片波涛汹涌的大海中找准航向,驶向成功彼岸。正如那句名言所说:“机遇总是留给有准备的人。” 我要做好充分准备,迎接未来挑战,抓住属于自己的机遇。