MAC
实用软件:
Dynamic Wallpaper:动态视频壁纸
腾讯柠檬清理
SwitchHosts
数据库管理工具:
数据库建模工具:
ZooKeeper:WEB管理工具
Redis:Another Redis Desktop Manager
Tabby:命令行终端增强软件
画UML图工具:
PDF工具:
HomeBrew
国内安装:
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
JDK
Oracle官网下载JDK1.8安装包:
配置系统的环境变量:
JDK真实主目录如下:
/Library/Java/JavaVirtualMachines/jdk1.8.0_211.jdk/Contents/Home
打开
.bash_profile
,在文件的末尾加入这几行语句:
open ~/.bash_profile
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_281.jdk/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH:.
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:.
source ~/.bash_profile
验证JDK1.8是否安装成功
# 确认配置生效
java -version
ITerm2
下载地址:https://iterm2.com/downloads.html
主题配置:
- 主题:Solarized Dark theme,下载地址:http://ethanschoonover.com/solarized
- 配置:打开 Preferences ,
Profiles -> Colors -> Color Presets
,选择 Import。- 选择刚才解压的
solarized->iterm2-colors-solarized->Solarized Dark.itermcolors
文件。- 导入成功后,在
Color Presets
下选择Solarized Dark
主题。
ZSH
# 使用brew安装zsh
brew install zsh
# 将zsh加入shells备选列表
echo /usr/local/bin/bash | sudo tee -a /etc/shells
# 切换到zsh(之后需要重新打开命令窗口)
chsh -s /usr/local/bin/zsh
OhMyzsh
sh -c "$(curl -fsSL https://gitee.com/mirrors/oh-my-zsh/raw/master/tools/install.sh)"
配置zsh:
vi ~/.zshrc
根据主题列表 https://github.com/ohmyzsh/ohmyzsh/wiki/themes ,选择想要的主题
ZSH_THEME="af-magic
#改为
ZSH_THEME="ys"
Python
brew install python3
IDEA
主题配置
2023版本之后的
JetBrains IDEs
,在设置中有一个New UI
的选项,区别于默认的经典样式
- 打开设置界面,在
Appearance & Behavior
菜单下找到New UI
,勾选Enable new UI
,然后确定
Dracula Theme
主题插件:Dracula Colorful
图标插件
Atom Material Icons
GIT
常用命令
删除远程分支:
git push origin --delete branch_name
删除本地分支:
git branch -D branch_name
Fork别人的代码以及如何拉取最新的源项目代码。
upstream
是fork的源项目起的别名,最后这个是源项目的git仓库地址。
git remote add upstream git@xxxxxxx.git
upstream
是上面起的源项目别名,dev
是要拉取的源项目分支。
git pull upstream dev
参与开源
开源社区中常见的三个身份标签。
contributor(贡献者)
- 只要参与过一次贡献就算是贡献者。
committer(提交者)
- 成为 contributor 后,如果能保证持续贡献,而且有扎实的技术功底,经 PMC(管理委员会)投票或讨论决定后,可以成为一名 committer。
- committer 和 contributor 的 区别, commiter 对于项目的仓库是具有写的权限的。
- 可以审核并合并 contributor 的 代码,而且成为 commiter,还会获得一个后缀为
@apache.org
的邮箱。PMC(管理委员会)
- Committer 中表现优秀的话,是可以成为 PMC 的。
- PMC 要负责整个项目的走向,做出一些重要的决策,要具备前瞻性的技术眼光。
GitHub
GitHub Trend:
GitHub的趋势榜,https://github.com/trending
Github Topics:
展示了最新、最热门的讨论主题,https://github.com/topics
Github Explore:
根据你平时的兴趣,推荐一些项目,https://github.com/explore
Chrome插件
源码查看
Github1s
Sourcegraph
翻译插件
镜像加速下载
快速访问GitHub
ping:
github.global.ssl.fastly.net
和github.com
,得到其分别对应的ip地址编辑hosts文件,追加刚刚ping的结果
#github
10.13.252.88 github.global.ssl.fastly.net
20.205.243.166 github.com
MAT
安装地址:https://www.eclipse.org/mat/downloads.php
- 下载太慢可以更改镜像地址
MAT需要高版本Java环境:
- 一定要将APP移入Applications后再打开,不然会报错
加载大dump文件,报错
java heap space
编辑文件
MemoryAnalyzer.ini
:
- 参考:9个G的Dump,配置成16384M
-Xmx2048m
菜单
Dominator Tree
使用 Dominator Tree了解各支配树起点对象所支配内存的大小,进而了解哪几个Root对象是 GC 无法释放大内存的原因
Shallow Heap 和 Retained Heap分别表示对象自身不包含引用的大小和对象自身并包含引用的大小
针对非数组类型的对象,Shallow Heap的大小就是对象与它所有的成员变量大小的总和
针对数组类型的对象,Shallow Heap的大小是数组元素对象的大小总和
当个别对象支配树的 Retained Heap 很大且存在明显倾斜时,可以重点分析它们的对象支配关系
- 展开RingBuffer的子树进一步定位到问题根因
如下图可看出最终是业务类的 LogData 对象持有的 String字符串过大
Histogram
它默认直接罗列每个类实例的数量和累计内存占比
包括自身内存占用量(Shallow Heap)及支配对象的内存占用量(Retained Heap)
业务类LogData存在131072个对象,消耗的内存也比较靠前:
- SdkSpan和SpanData存在同样的问题,因此这三个类必定存在问题
使用场景:
有些情况下,
Dominator Tree
无法展现出热点对象(如按Class
聚合也无明显热点对象:
- 此时
Dominator Tree
很难做关联分析判断哪类对象占比高)这时可以使用
Histogram
查看所有对象所属类的分布,快速定位占据Retained Heap
大头的类使用技巧:
Integer,String
和Object[]
一般不直接导致内存问题- 为更好的组织视图,可以通过
Class Loader
或Package
分组进一步排查问题
ChatGPT
程序员效率工具:https://devv.ai/
英语学习
Chrome插件:
- Voice Control For ChatGPT
- 利用 ChatGPT 练习雅思口语的神器
Maven
基本配置
安装配置:
配置系统的环境变量:
open ~/.bash_profile
export MAVEN_HOME=/Users/kun/Desktop/midongtools/apache-maven-3.5.0
export PATH=$PATH:$MAVEN_HOME/bin
source ~/.bash_profile
验证是否安装成功
mvn -v
镜像配置:
阿里云镜像配置,修改
settting.xml
文件,在mirrors标签下添加子节点。
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>central</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
远程仓库认证配置
在
setting.xml
文件下的servers元素的子元素server中添加相关远程仓库的认证信息。
- 其中id元素即为项目POM文件声明的远程仓库的ID。
<settings>
...
<servers>
...
<server>
<id>[repositoryId]</id>
<username>[username]</username>
<password>[password]</password>
</server>
...
</servers>
...
</settings>
基础知识
基本信息
标 签 | 作 用 |
---|---|
groupId | 通常为组织或公司域名反写 |
artifactId | 项目的名称 |
version | 项目的版本信息 |
name | 项目的简称 |
description | 项目的简要描述 |
生命周期
clean
:
- 清除当前工程编译后生成的文件(即删除
target
整个目录)
validate
:
- 对工程进行基础验证,如工程结构、
pom
、资源文件等是否正确
compile
:
- 对
src/main/java
目录下的源码进行编译(会生成target
目录)
test
:
- 编译并执行
src/test/java/
目录下的所有测试用例
package
:
- 将当前项目打包,普通项目打
jar
包,webapp
项目打war
包
verify
:
- 验证工程所有代码、配置进行是否正确,如类中代码的语法检测等
install
:
- 将当前工程打包,然后安装到本地仓库,别人可通过
GAV
导入
site
:
- 生成项目的概述、源码测试覆盖率、开发者列表等站点文档(需要额外配置)
deploy
:
- 将当前工程对应的包,上传到远程仓库,提供给他人使用(私服会用)
依赖范围
项目引入的所有依赖,如果不显式指定依赖范围,默认是
compile
,意味着所有环境下都生效。一般的依赖包无需更改,只有某些特殊的依赖,才需要手动配置一下,如:
JUnit、spring-test
这类包,只在测试环境使用,所以配成test
Tomcat
内置servlet-api
包,为了避免在运行环境冲突,应该配成provided
依赖范围 | 编译环境 | 测试环境 | 运行环境 |
---|---|---|---|
compile |
生效 | 生效 | 生效 |
provided |
生效 | 生效 | 不生效 |
system |
生效 | 生效 | 不生效 |
runtime |
不生效 | 生效 | 生效 |
test |
不生效 | 生效 | 不生效 |
间接依赖
如果
Dependency-A
引用了Dependency-B
,而Dependency-B
又依赖于Dependency-C
。
- 只需要引入
Dependency-B
即可,Maven
会自动将子模块所依赖的包导入。
依赖顺序:
如工程中引入
Dependency-A
与Dependency-B
两个依赖,二者又分别引用了不同版本的Dependency-C
,但最终编译时同一个依赖即便是不同的版本也只会选择一份。计算规则:
- 若
Dependency-A
定义在Dependency-B
之前,则最终将导入Dependency-A
中的Dependency-C
版本。
依赖调解
当一个间接依赖存在多条引入路径时,为避免依赖重复Maven会通过依赖调解来确定该间接依赖的引入路径。
依赖调解遵循以下原则,优先使用第一原则,当第一原则无法解决时,则通过第二原则解决。
- 第一原则: 路径最短者优先。
- 第二原则: 第一声明者优先。
可选依赖
当某个间接依赖是可选依赖时,无论依赖范围是什么,其都不会因为传递性依赖机制而被引入。
- 只有显式地配置项目中某依赖的option元素为true时,该依赖才是可选依赖。
排除依赖
在引用多个模块时可能会发生版本兼容冲突问题,通过
exclusions
标签即可实现依赖排除。
<dependency>
<groupId>com.apple</groupId>
<artifactId>B</artifactId>
<version>2.3</version>
<exclusions>
<exclusion>
<groupId>com.google</groupId>
<artifactId>C</artifactId>
</exclusion>
</exclusions>
</dependency>
变量配置
当项目中引入了大量依赖,为了方便管理通常将引入依赖的版本通过变量进行统一配置,从而实现更直观的依赖管理。
通过
properties
标签即可自定义变量配置,然后使用${}
引用变量。
<properties>
<mysql.version>8.0.30</mysql.version>
</properties>
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<!-- 使用 "${}" 引用上述自定义变量 -->
<version>${mysql.version}</version>
</dependency>
</dependencies>
模块配置
模块继承:
通过
parent
即可标记当前模块的父模块,且子模块将会继承父模块中的所有依赖配置。
- 子模块若没有指定的
groupId
和version
默认继承父模块中的配置。其中
relativePath
用于指定父模块的POM
文件目录,省略时默认值为../pom.xml
,即当前目录的上一级中,若仍未找到则会在本地仓库中寻找。
<!-- module-1 pom.xml -->
<parent>
<groupId>xyz.ibudai</groupId>
<artifactId>maven-demo</artifactId>
<version>1.0-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>
<artifactId>module-1</artifactId>
依赖管理
将项目依赖统一定义在父模块的
dependencyManagement
标签中,子模块只需继承父模块并在dependencies
引入所需的依赖,便可自动读取父模块dependencyManagement
所指定的版本。
dependencyManagement
既不会在当前模块引入依赖,也不会给其子模块引入依赖,但其可以被继承的。只有在子模块下同样声明了该依赖,才会引入到模块中,子模块中只需在依赖中引入
groupId
与artifactId
即可, 也可以指定版本则会进行覆盖。
<dependencyManagement>
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.30</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.2</version>
</dependency>
</dependencies>
</dependencyManagement>
构建配置
版本指定:
在
<plugin>
标签内可指定工程打包编译时使用的JDK
版本,可根据服务器环境手动修改版本。
<plugins>
<plugin>
<!-- 编译时使用 JDK 版本 -->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>8</source>
<target>8</target>
</configuration>
</plugin>
</plugins>
主类配置
在打包时可能出现无法识别工程主类的问题,导致编译后的文件无法正常运行,此时则可以在
pom
文件中手动设置工程的主类。
- 其中
<mainClass>
中配置的为项目主类的完成限定名。
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<mainClass>xyz.ibudai.TestWebApplication</mainClass>
<layout>JAR</layout>
</configuration>
</plugin>
</plugins>
基本操作
更新父子模块版本号
mvn versions
插件可以帮忙更新所有子模块的版本号
- Maven会自动安装一个versions的插件帮你完成修改父子模块版本号一系列的工作。
mvn versions:set -DnewVersion=1.0.1-SNAPSHOT
mvn -N versions:update-child-modules
回滚:
mvn versions:revert
提交:
mvn versions:commit
Arthas
官方文档:https://arthas.aliyun.com/
Arthas可以帮助开发人员在运行时对Java应用进行调试和诊断,解决线上问题
连接应用
默认连接:
指 Arthas 自动连接当前机器上正在运行的 Java 应用程序。
$ java -jar arthas-boot.jar
尝试连接指定的 IP 地址和端口号上的 Java 应用程序。
$ java -jar arthas-boot.jar --target-ip 127.0.0.1 --telnet-port 3658
Telnet 连接:
通过 Telnet 协议连接到 Java 应用程序。
$ telnet 127.0.0.1 3658
进入Arthas Shell:
./as.sh
查看JVM状态:
在Arthas Shell中,可以通过以下命令查看当前JVM的状态。
$ jvm
方法调用链路追踪
查看某个方法被调用了多少次、被哪些方法调用了,甚至是每一次调用的参数和返回值。
追踪某个方法的所有调用:
$ trace com.example.demo.service.UserService getUserById
追踪某个类中所有方法的调用:
$ trace com.example.demo.service.UserService
追踪某个方法的详细信息:
追踪
com.example.demo.service.UserService
类中的getUserById
方法的前5次调用,并打印出每次调用的参数和返回值。
$ trace com.example.demo.service.UserService getUserById -n 5
监控系统资源消耗
监控CPU占用率:
输出一个监控面板,其中包含了CPU占用率、Java线程数、内存使用情况等信息。
$ dashboard
监控线程:
输出当前JVM中所有线程的信息。
$ thread
监控GC:
输出GC的相关信息。
动态修改代码
修改某个类的某个方法的返回值:
修改
com.example.demo.service.UserService
类中的getUserById
方法的返回值为"Hello Arthas!"
。
$ redefine com.example.demo.service.UserService getUserById "return \"Hello Arthas!\";"
添加某个类的某个方法:
在
com.example.demo.service.UserService
类中添加一个名为addUser
的方法,并且该方法的参数为String name
和Integer age
,最后将会输出日志并返回true
。
$ redefine -c com.example.demo.service.UserService -m addUser --params-string "java.lang.String name, java.lang.Integer age" "logger.info(\"addUser invoked! name:{} age:{}\", name, age); return true;"
常用命令
查看方法调用次数:
查看
com.example.demo.service.UserService
类中的getUserById
方法在最近的3秒钟内被调用的次数。
$ sc -d 3 com.example.demo.service.UserService getUserById
查看线程堆栈:
$ thread -i [线程ID]
输出指定ID的线程的堆栈信息。
查看类的加载情况:
查看
com.example.demo.service.UserService
类的加载情况。
$ classloader -c com.example.demo.service.UserService
Hexo
NPM安装:
安装太慢的话,使用镜像解决。
npm config set registry http://registry.npm.taobao.org
下载Hexo:
输入
hexo g
生成静态网页,然后输入hexo s
打开本地服务器。
npm install -g hexo-cli
hexo init blog
本地连接GitHub:
首先右键打开
Git Bash
,然后输入下面命令:
git config --global user.name "godweiyang"
git config --global user.email "792321264@qq.com"
生成密钥SSH key:
ssh-keygen -t rsa -C "792321264@qq.com"
打开GitHub,在头像下面点击Settings,再点击
SSH and GPG keys
,新建一个SSH,名字随便。
cat ~/.ssh/id_rsa.pub
将输出的内容复制到框中,点击确定保存。
输入
ssh -T git@github.com
,出现你的用户名,那就成功了。
主页文章按更新时间排序
index_generator:
path: ''
per_page: 20
order_by: -updated
per_page
设置每页显示的文章数量。
order_by
指定文章的排序方式。
-date
: 按照文章发布日期的倒序排序;
-updated
: 按照文章更新时间的倒序排序;-title
: 按照文章标题的倒序排序;
域名绑定
你的hexo本地目录,
cd source
,touch CNAME
创建CNAME文件。
xiaoflyfish.cn
给解析添加A类型:
185.199.108.153
185.199.109.153
185.199.110.153
185.199.111.153
博客备份
切换并创建一个叫hexo的分支
git checkout -b hexo
# 切换分支
git checkout hexo
将复制过来的文件推送到github
git add .
git commit -m "新建分支"
git remote add origin https://github.com/zine-fj/zine-fj.github.io.git
git push -u origin hexo
注意:如果themes下human的文件夹无法上传,因为有
.git
文件。删除子文件夹下
.git
后,依然无法提交子文件夹下的文件,解决操作如下。
git rm --cached themes/hueman
git add .
git commit -m "xxx"
git push origin master
换电脑配置
进入 原来电脑
hex
o 博客目录,只拷如下几个目录。换电脑,同时要把
.git文件
夹复制过去,然后安装相关插件。
scaffolds 文章模版 必须备份
source 博客文章 必须备份
themes 主题 必须备份
.gitignore 限定在push时那些文件可以忽略 必须备份
_config.yml 站点配置文件 必须备份
package.json 安装包的名称 必须备份
.ssh 密钥文件 必须备份
部署到GitHub
安装一个扩展
npm i hexo-deployer-git
最后输入
hexo d
上传到GitHub上。
deploy:
type: git
repository: https://github.com/xiaoflyfish/xiaoflyfish.github.io
branch: master
部署到Coding
配置SSH公钥:
Typora图片配置
偏好设置->图像->设置图片根目录
typora-root-url: ../../../themes/hunam/source
插入音乐
npm install hexo-tag-aplayer --save
{% aplayer "Caffeine" "Jeff Williams" "11.mp3" "autoplay" %}
<%- css('https://cdn.jsdelivr.net/npm/aplayer/dist/APlayer.min.css') %>
<%- js('https://cdn.jsdelivr.net/npm/aplayer/dist/APlayer.min.js') %>
置顶文章
npm install hexo-generator-topindex --save
---
title: 每天一个linux命令
date: 2017-01-23 11:41:48
top: 1
categories:
- 运维
tags:
- linux命令
---
如果存在多个置顶文章,top后的参数越大,越靠前。
文章加密
npm install --save hexo-blog-encrypt
全局配置文件
_config.yml
中启用该插件:
# Security
encrypt:
enable: true
将 password 字段添加到文章信息头:
title: Hello World
date: 2016-03-30 21:18:02
password: abcd1234xxx
---
按标签加密:
- 对博文禁用 Tag 加密:
- 将博文头部的
password
设置为""
即可取消 Tag 加密。
title: Hello World
tags:
- 加密文章tag
date: 2019-10-26 20:22:58
password: mikemessi
abstract: 该文章已加密, 请输入密码查看。
message: 该文章已加密, 请输入密码查看。
wrong_pass_message: 密码不正确,请重新输入!
wrong_hash_message: 文章不能被校验, 不过您还是能看看解密后的内容!
---
全局配置文件
_config.yml
中配置该插件:
# Security
encrypt: # hexo-blog-encrypt
abstract: 有东西被加密了, 请输入密码查看.
message: 您好, 这里需要密码.
tags:
- {name: tagName, password: 密码A}
- {name: tagName, password: 密码B}
template: <div id="hexo-blog-encrypt" data-wpm="{{hbeWrongPassMessage}}" data-whm="{{hbeWrongHashMessage}}"><div class="hbe-input-container"><input type="password" id="hbePass" placeholder="{{hbeMessage}}" /><label>{{hbeMessage}}</label><div class="bottom-line"></div></div><script id="hbeData" type="hbeData" data-hmacdigest="{{hbeHmacDigest}}">{{hbeEncryptedData}}</script></div>
wrong_pass_message: 抱歉, 这个密码看着不太对, 请再试试.
wrong_hash_message: 抱歉, 这个文章不能被校验, 不过您还是能看看解密后的内容.
部署云服务器
安装nginx:
yum install -y nginx
启动 nginx 服务器:
systemctl start nginx
systemctl enable nginx
sudo nginx -s reload
配置 Nginx 托管文件目录:
- 创建目录并修改目录所有权和权限。
mkdir -p /usr/share/nginx/mysite
chown -R $USER:$USER /usr/share/nginx/mysite
chmod -R 755 /usr/share/nginx/mysite
安装GIT:
yum install git
建立文件路径:
mkdir /root/gitrepo/
修改权限:
chown -R $USER:$USER /root/gitrepo/
chmod -R 755 /root/gitrepo/
创建远程 Git 仓库:
cd /root/gitrepo/
git init --bare {自定义仓库名name}.git
Git 钩子(hooks):
- 在生成的仓库
{自定义仓库名name}/hooks
目录下创建一个新的钩子文件。
vim /root/gitrepo/hexo.git/hooks/post-receive
打开文件添加下面的代码:
#!/bin/bash
git --work-tree=/usr/share/nginx/mysite --git-dir=/root/gitrepo/hexo.git checkout -f
赋予该文件可执行权限:
chmod +x /root/gitrepo/hexo.git/hooks/post-receive
设置 SSH Key 免密登录服务器
- 服务器登陆然后找到
.ssh
目录,如果没有的话,就新建并赋予权限。
mkdir .ssh && chmod 700 .ssh
然后接着新建文件
authorized_keys
:
touch .ssh/authorized_keys && chmod 600 .ssh/authorized_keys
查看repo的用户信息:
git config -l
本地查看是否在
.ssh
下有公钥私钥,如果没有需要创建:
ssh-keygen
将本地
id_rsa.pub
中的公钥复制粘贴添加到authorized_keys
中
Nginx配置:
执行命令
vim /etc/nginx/nginx.conf
,找到http { ... }
部分,并向其中添加如下的server:
server {
listen 80;
server_name blog.jackjiang.top; # 你的博客域名
location / {
root /home/blog/hexo-blog; # 博客所在目录
index index.html index.php index.htm;
}
}
service nginx restart
博客部署云服务器:
- 修改本地Hexo博客的配置文件
_config.yml
,找到url:
和deploy:
部分,做如下的修改:
url: http://blog.jackjiang.top # 修改为你的博客域名
root: /
permalink: :year-:month-:day/:title/
permalink_defaults:
deploy:
type: git
repo: blog@your_server_ip:/home/blog/github-blog.git # 修改为你的服务器IP
branch: master
域名解析:
在域名解析服务中添加记录:
主机记录 | 记录类型 | 解析路线 | 记录值 |
---|---|---|---|
@ | A | 默认 | 你的云服务器公网 ip |
之后就可以输入域名访问博客。
注意:这里用云服务器的 80 端口,使用 http 访问,如果需要 https 访问,还需要 SSL 证书。
网站收录到百度
查看网站是否被收录:
可以输入
site:域名
来查看域名是否被搜索引擎收录。如:site:hardyfish.top
百度资源平台配置:
依次选择:用户中心 - 站点管理,添加你的网站。
如:hardyfish.top
网站验证:
文件验证:下载给定的文件,将其放到本地主题目录 source 文件夹,然后部署上去完成验证。
提交百度搜索:
安装插件
npm install hexo-baidu-url-submit --save
,然后在根目录_config.yml
文件里写入以下配置。
baidu_url_submit:
count: 1 # 提交最新的多少个链接
host: www.itrhx.com # 在百度站长平台中添加的域名
token: your_token # 秘钥
path: baidu_urls.txt # 文本文档的地址, 新链接会保存在此文本文档里
在根目录的
_config.yml
文件,url 要改为在百度站长平台添加的域名,也就是网站的首页地址。
# URL
url: https://www.itrhx.com
root: /
permalink: :year/:month/:day/:title/
加入新的 deployer。
# Deployment
## Docs: https://hexo.io/docs/deployment.html
deploy:
- type: git
repository:
github: git@github.com:TRHX/TRHX.github.io.git # 这是原来的 github 配置
coding: git@git.dev.tencent.com:TRHX/TRHX.git # 这是原来的 coding 配置
branch: master
- type: baidu_url_submitter # 这是新加的主动推送
网站收录到Google
生成一个网站地图(SiteMap):
npm install hexo-generator-sitemap --save
npm install hexo-generator-baidu-sitemap --save
用命令
hexo g -d
将网站部署上去。然后访问
首页/sitemap.xml
或者首页/baidusitemap.xml
就可以看到网站地图了。
- 其中
sitemap.xml
文件是搜索引擎通用的 sitemap 文件。baidusitemap.xml
是百度专用的 sitemap 文件。
进入谷歌站长平台,登录谷歌账号之后会让你验证网站所有权。
进入:https://search.google.com/search-console/
选择站点地图,将生成的 sitemap 提交就行了。
跳过指定文件的渲染
skip_render: "mypage/**/*"
# 将会直接将 `source/mypage/index.html` 和 `source/mypage/code.js` 不做改动地输出到 'public' 目录
# 你也可以用这种方法来跳过对指定文章文件的渲染
skip_render: "_posts/test-post.md"
# 这将会忽略对 'test-post.md' 的渲染
提升加载速度