HEXO官方文档学习笔记

HEXO官方文档学习笔记

hexo官方文档

一. hexo 开始使用

1.1 概述

环境必须包括 nodejsgit ,从对应的官网进行对应的安装;

1.2 建站(测试生成静态文件并本地运行)

执行下面的代码:

$ cd D:hexo/    #换成你的目录
$ npm install -g hexo-cli  #安装hexo脚手架
$ hexo init     #Hexo自动在当前文件夹下下载搭建网站所需的所有文件
$ npm install   #安装依赖包

$ hexo g        #完整命令为hexo generate,生成静态文件
$ hexo s        #完整命令为hexo server,启动服务器,用来本地预览

生成的项目的目录如下,下面对各个目录功能介绍:

.
├── _config.yml
├── package.json
├── scaffolds
├── source
|   ├── _drafts
|   └── _posts
└── themes
  • _config.yml:网站的 配置 信息,您可以在此配置大部分的参数;
  • scaffolds:模版 文件夹。当您新建文章时,Hexo 会根据 scaffold 来建立文件:hexo new title.md
  • source:资源文件夹是存放用户资源的地方; _posts 文件夹指的是发布文章的文件夹;_drafts为文章的草稿文件夹,除 _posts 文件夹之,开头命名为 _ (下划线)的文件 / 文件夹和隐藏的文件将会被忽略。
  • themes:主题 文件夹。Hexo 会根据主题来生成静态页面。

1.3 配置(_config.yml 中修改网站配置)

_config.yml 文件中的 # Home page setting 在后面介绍;

1.3.1 网站(# Site)

参数 | 描述
------------- | ------------------------------------------- |------------------
title | 网站标题
subtitle | 网站副标题
description | 网站描述
author | 您的名字
language | 网站使用的语言
timezone | 网站时区。Hexo 默认使用您电脑的时区。时区列表。比如说:America/New_York, Japan, 和 UTC 。

description主要用于SEO,告诉搜索引擎一个关于您站点的简单描述,通常建议在其中包含您网站的关键词。author参数用于主题显示文章的作者。

1.3.2 网址(# URL)

参数 描述 默认值
url 网址
root 网站根目录
permalink 文章的 永久链接 格式 :year/:month/:day/:title/
permalink_defaults 永久链接中各部分的默认值

如果您的网站存放在子目录中,例如 http://yoursite.com/blog,则请将您的 url 设为 http://yoursite.com/blog 并把 root 设为 /blog/

1.3.3 目录(# Directory)——建议刚学hexo时不改动

参数 描述 默认值
source_dir 资源文件夹,这个文件夹用来存放内容。 source
public_dir 公共文件夹,这个文件夹用于存放生成的站点文件。 public
tag_dir 标签文件夹 tags
archive_dir 归档文件夹 archives
category_dir 分类文件夹 categories
code_dir Include code 文件夹 downloads/code
i18n_dir 国际化(i18n)文件夹 :lang
skip_render 跳过指定文件的渲染,您可使用 glob 表达式来匹配路径。

1.3.4 文章(# Writing)

参数 描述 默认值
new_post_name 新文章的文件名称 :title.md
default_layout 预设布局 post
auto_spacing 在中文和英文之间加入空格 false
titlecase 把标题转换为 title case false
external_link 在新标签中打开链接 true
filename_case 把文件名称转换为 (1) 小写或 (2) 大写 0
render_drafts 显示草稿 false
post_asset_folder 启动 Asset 文件夹 false
relative_link 把链接改为与根目录的相对位址 false
future 显示未来的文章 true
highlight 代码块的设置

1.3.5 分类 & 标签(# Category & Tag)

参数 描述 默认值
default_category 默认分类 uncategorized
category_map 分类别名
tag_map 标签别名

1.3.6 日期 / 时间格式(# Date / Time format)

参数 描述 默认值
date_format 日期格式 YYYY-MM-DD
time_format 时间格式 H:mm:ss

Hexo 使用 Moment.js 来解析和显示时间。

1.3.6 分页(# Pagination)

参数 描述 默认值
per_page 每页显示的文章量 (0 = 关闭分页功能) 10
pagination_dir 分页目录 page

1.3.6 扩展(# Extensions)

参数 | 描述
------------- | ------------------------------------------- |------------------
theme | 当前主题名称。值为false时禁用主题
deploy | 部署部分的设置

1.4 命令

1.4.1 指令

# init : hexo初始化新建一个网站,没有folder默认当前文件夹建立网站项目,一般是在网站建立文件夹下使用gitBash直接输入 hexo init 进行初始化;
$ hexo init [folder]

# new : 新建一篇文章,若没有设置 layout 的话,默认使用 _config.yml 中的 default_layout 参数post代替,如果标题包含空格的话,请使用引号括起来;
$ hexo new [layout] 

# generate : 生成静态文件;可选参数:-d, --deploy   文件生成后立即部署网站 ;-w, --watch    监视文件变动
$ hexo generate 
$ hexo g  #简写

# publish : 发表草稿
$ hexo publish [layout] <filename>

# server : 启动服务器,默认网址: http://localhost:4000/。可选参数:-i  重设IP地址;  -p, --port  重设端口;-s, --static   只使用静态文件;-l, --log   启动日记记录,使用覆盖记录格式
$ hexo server

# deploy : 部署网站。可选参数:-g, --generate 部署之前预先生成静态文件
$ hexo deploy
$ hexo d  # 简写

# render : 渲染文件。可选参数:-o, --output   设置输出路径
$ hexo render <file1> [file2] ...

# migrate : 从其他博客系统 迁移内容。
$ hexo migrate <type>

# clean : 清除缓存文件 (db.json) 和已生成的静态文件 (public),发布新的网站前应执行该命令。
$ hexo clean

# list : 列出网站资料。
$ hexo list <type>

# version : 显示 Hexo 版本。
$ hexo version
</code></pre> 
 <h4>1.4.2 选项</h4> 
 <pre><code class="bash"># 安全模式 : 在安全模式下,不会载入插件和脚本。当您在安装新插件遭遇问题时,可以尝试以安全模式重新执行。
$ hexo --safe

# 调试模式 : 在终端中显示调试信息并记录到 debug.log。当您碰到问题时,可以尝试用调试模式重新执行一次,并 提交调试信息到 GitHub。
$ hexo --debug

# 简洁模式 : 隐藏终端信息。
$ hexo --silent

# 自定义配置文件的路径 : 自定义配置文件的路径,执行后将不再使用 _config.yml。
$ hexo --config custom.yml

# 显示草稿 : 显示 source/_drafts 文件夹中的草稿文章。
$ hexo --draft

# 自定义 CWD : 自定义当前工作目录(Current working directory)的路径。
$ hexo --cwd /path/to/cwd
</code></pre> 
 <h2>二. 基本操作</h2> 
 <h3>2.1 写作</h3> 
 <p>创建一篇新文章的命令:</p> 
 <pre><code class="bash"># layout 表示文章的布局,默认是post,可修改 _config.yml 中的 default_layout 参数来指定默认布局
$ hexo new [layout] <title>
</code></pre> 
 <h4>2.1.1 布局(Layout)</h4> 
 <p>Hexo 有三种默认布局:post、page 和 draft,也可以自定义其他布局,都将储存到 source/_posts 文件夹;</p> 
 <p>【若不想你的文章被处理,你可以将 Front-Matter 中的layout: 设为 false 。】</p> 
 <h4>2.1.2 文件名称</h4> 
 <p>Hexo 默认以标题做为文件名称,但您可编辑 new_post_name 参数来改变默认的文件名称,举例来说,设为 :year-:month-:day-:title.md 可让您更方便的通过日期来管理文章。</p> 
 <table> 
  <thead> 
   <tr> 
    <th>变量</th> 
    <th>描述</th> 
   </tr> 
  </thead> 
  <tbody> 
   <tr> 
    <td>:title</td> 
    <td>标题(小写,空格将会被替换为短杠)</td> 
   </tr> 
   <tr> 
    <td>:year</td> 
    <td>建立的年份,比如, 2015</td> 
   </tr> 
   <tr> 
    <td>:month</td> 
    <td>建立的月份(有前导零),比如, 04</td> 
   </tr> 
   <tr> 
    <td>:i_month</td> 
    <td>建立的月份(无前导零),比如, 4</td> 
   </tr> 
   <tr> 
    <td>:day</td> 
    <td>建立的日期(有前导零),比如, 07</td> 
   </tr> 
   <tr> 
    <td>:i_day</td> 
    <td>建立的日期(无前导零),比如, 7</td> 
   </tr> 
  </tbody> 
 </table> 
 <h4>2.1.3 草稿</h4> 
 <p>草稿存放在 <code>source/_drafts</code> 目录下,通过 <code>hexo new draft :title</code> 建立,再通过 <code>hexo publish [layout] <title></code> 来指定布局并发布文章;</p> 
 <p>【草稿默认不会显示在页面中,您可在执行时加上 --draft 参数,或是把 render_drafts 参数设为 true 来预览草稿。】</p> 
 <h4>2.1.4 模版(Scaffold)</h4> 
 <p>新建文章时,Hexo 会根据 scaffolds 文件夹内相对应的文件来建立文件;<br> 例如 : <code>$ hexo new photo "My Gallery"</code>,表示Hexo 会尝试在 scaffolds 文件夹中寻找 photo.md,并根据其内容建立文章,以下是您可以在模版中使用的变量:</p> 
 <table> 
  <thead> 
   <tr> 
    <th>变量</th> 
    <th>描述</th> 
   </tr> 
  </thead> 
  <tbody> 
   <tr> 
    <td>layout</td> 
    <td>布局</td> 
   </tr> 
   <tr> 
    <td>title</td> 
    <td>标题</td> 
   </tr> 
   <tr> 
    <td>date</td> 
    <td>文件建立日期</td> 
   </tr> 
  </tbody> 
 </table> 
 <h3>2.2 Front-matter</h3> 
 <p>Front-matter 是文件最上方以 --- 分隔的区域,用于指定个别文件的变量;</p> 
 <pre><code class="m">title: Hello World
date: 2013/7/13 20:46:25
---
</code></pre> 
 <p>以下是预先定义的参数,您可在模板中使用这些参数值并加以利用。</p> 
 <table> 
  <thead> 
   <tr> 
    <th>参数</th> 
    <th>描述</th> 
    <th>默认值</th> 
   </tr> 
  </thead> 
  <tbody> 
   <tr> 
    <td>layout</td> 
    <td>布局</td> 
   </tr> 
   <tr> 
    <td>title</td> 
    <td>标题</td> 
   </tr> 
   <tr> 
    <td>date</td> 
    <td>建立日期</td> 
    <td>文件建立日期</td> 
   </tr> 
   <tr> 
    <td>updated</td> 
    <td>更新日期</td> 
    <td>文件更新日期</td> 
   </tr> 
   <tr> 
    <td>comments</td> 
    <td>开启文章的评论功能</td> 
    <td>true</td> 
   </tr> 
   <tr> 
    <td>tags</td> 
    <td>标签(不适用于分页)</td> 
   </tr> 
   <tr> 
    <td>categories</td> 
    <td>分类(不适用于分页)</td> 
   </tr> 
   <tr> 
    <td>permalink</td> 
    <td>覆盖文章网址</td> 
   </tr> 
  </tbody> 
 </table> 
 <h4>2.2.1 分类和标签</h4> 
 <p>只有文章支持分类和标签,您可以在 Front-matter 中设置。Hexo 中的分类具有顺序性和层次性,而标签没有顺序和层次,区别于其他系统;</p> 
 <pre><code class="m">categories:
- Diary
tags:
- PS3
- Games
</code></pre> 
 <h4>2.2.2 JSON Front-matter</h4> 
 <p>除了 YAML 外,你也可以使用 JSON 来编写 Front-matter,只要将 --- 代换成 ;;; 即可</p> 
 <pre><code class="m">"title": "Hello World",
"date": "2013/7/13 20:46:25"
;;;
</code></pre> 
 <h3>2.3 标签插件(Tag Plugins)</h3> 
 <p>标签插件和 Front-matter 中的标签不同,它们是用于在文章中快速插入特定内容的插件。</p> 
 <h4>2.3.1 引用块</h4> 
 <p>在文章中插入引言,可包含作者、来源和标题。</p> 
 <p><strong>别号: quote</strong></p> 
 <pre><code class="m">方式1:提供参数, 这些参数将会被显示出来
{% blockquote [author[, source]] [link] [source_link_title] %}
content
{% endblockquote %}

方式2:没有提供参数,则只输出普通的 blockquote

方式3:引用书上的句子
{% blockquote David Levithan, Wide Awake %}
Do not just seek happiness for yourself. Seek happiness for all. Through kindness. Through mercy.
{% endblockquote %}

方式4:引用 Twitter
{% blockquote @DevDocs https://twitter.com/devdocs/status/356095192085962752 %}
NEW: DevDocs now comes with syntax highlighting. http://devdocs.io
{% endblockquote %}

方式5:引用网络上的文章
{% blockquote Seth Godin http://sethgodin.typepad.com/seths_blog/2009/07/welcome-to-island-marketing.html Welcome to Island Marketing %}
Every interaction is both precious and an opportunity to delight.
{% endblockquote %}
</code></pre> 
 <h4>2.3.2 代码块</h4> 
 <p>在文章中插入代码。</p> 
 <p><strong>别名: code</strong></p> 
 <pre><code class="m">方式1:提供参数, 这些参数将会被显示出来
{% codeblock [title] [lang:language] [url] [link text] %}
code snippet
{% endcodeblock %}

方式2:普通的代码块
{% codeblock %}
alert('Hello World!');
{% endcodeblock %}

方式3:指定语言
{% codeblock lang:objc %}
[rectangle setX: 10 y: 10 width: 20 height: 20];
{% endcodeblock %}

方式4:附加说明
{% codeblock Array.map %}
array.map(callback[, thisArg])
{% endcodeblock %}

方式5:附加说明和网址
{% codeblock _.compact http://underscorejs.org/#compact Underscore.js %}
_.compact([0, 1, false, 2, '', 3]);
=> [1, 2, 3]
{% endcodeblock %}
</code></pre> 
 <h4>2.3.3 反引号代码块(类似md中的代码块格式)</h4> 
 <p>它使用三个反引号来包裹;<br> <code>[language] [title] [url] [link text] code snippet</code></p> 
 <h4>2.3.4 Pull Quote</h4> 
 <p>在文章中插入 Pull quote。</p> 
 <pre><code class="m">{% pullquote [class] %}
content
{% endpullquote %}
</code></pre> 
 <h4>2.3.5 jsFiddle</h4> 
 <p>在文章中嵌入 jsFiddle。</p> 
 <pre><code class="m">{% jsfiddle shorttag [tabs] [skin] [width] [height] %}
</code></pre> 
 <h4>2.3.6 Gist</h4> 
 <p>在文章中嵌入 Gist。</p> 
 <pre><code class="m">{% gist gist_id [filename] %}
</code></pre> 
 <h4>2.3.7 iframe</h4> 
 <p>在文章中插入 iframe。</p> 
 <pre><code class="m">{% iframe url [width] [height] %}
</code></pre> 
 <h4>2.3.8 Image</h4> 
 <p>在文章中插入指定大小的图片。</p> 
 <pre><code class="m">{% img [class names] /path/to/image [width] [height] [title text [alt text]] %}
</code></pre> 
 <h4>2.3.9 Link</h4> 
 <p>在文章中插入链接,并自动给外部链接添加 target="_blank" 属性。</p> 
 <pre><code class="m">{% link text url [external] [title] %}
</code></pre> 
 <h4>2.3.10 Include Code</h4> 
 <p>插入 source 文件夹内的代码文件。</p> 
 <pre><code class="m">{% include_code [title] [lang:language] path/to/file %}
</code></pre> 
 <h4>2.3.11 Youtube</h4> 
 <p>在文章中插入 Youtube 视频。</p> 
 <pre><code class="m">{% youtube video_id %}
</code></pre> 
 <h4>2.3.12 Vimeo</h4> 
 <p>在文章中插入 Vimeo 视频。</p> 
 <pre><code class="m">{% vimeo video_id %}
</code></pre> 
 <h4>2.3.13 引用文章</h4> 
 <p>引用其他文章的链接。</p> 
 <pre><code class="m">{% post_path slug %}
{% post_link slug [title] %}
</code></pre> 
 <h4>2.3.14 引用资源</h4> 
 <p>引用文章的资源。</p> 
 <pre><code class="m">{% asset_path slug %}
{% asset_img slug [title] %}
{% asset_link slug [title] %}
</code></pre> 
 <h4>2.3.15 Raw</h4> 
 <p>如果您想在文章中插入 Swig 标签,可以尝试使用 Raw 标签,以免发生解析异常。</p> 
 <pre><code class="m">{% raw %}
content
{% endraw %}
</code></pre> 
 <h3>2.4 资源文件夹</h3> 
 <p>资源(Asset)代表 source 文件夹中除了文章以外的所有文件,例如图片、CSS、JS 文件等。</p> 
 <h4>2.4.1 文章资源文件夹</h4> 
 <p>将 config.yml 文件中的 <code>post_asset_folder</code> 选项设为 true 来打开,有规律地提供图片和其他资源以及想要将他们的资源分布在各个文章上;当资源文件管理功能打开后,Hexo将会在你每一次通过 <code>hexo new [layout] <title></code> 命令创建新文章时自动创建一个文件夹。这个资源文件夹将会有与这个 <code>markdown 文件一样的名字</code>。将所有与你的文章有关的资源放在这个关联文件夹中之后,你可以通过相对路径来引用它们,这样你就得到了一个更简单而且方便得多的工作流。</p> 
 <h4>2.4.2 相对路径引用的标签插件</h4> 
 <p>通过常规的 markdown 语法和相对路径来引用图片和其它资源可能会导致它们在存档页或者主页上显示不正确。<br> Hexo 3 的发布,许多新的标签插件被加入到了核心代码中。这使得你可以更简单地在文章中引用你的资源。<br> 正确的引用图片方式是使用下列的标签插件而不是 markdown 语法 <code>[图片上传失败...(image-3fd250-1576230489118)]</code>:</p> 
 <pre><code class="m">{% asset_path slug %}
{% asset_img slug [title] %}
{% asset_link slug [title] %}

通过下面这种方式,图片将会同时出现在文章和主页以及归档页中。
{% asset_img example.jpg This is an example image %}
</code></pre> 
 <h3>2.5 数据文件夹</h3> 
 <p>有时候可能需要在主题中使用某些资料,而这些资料并不在文章内,并且是需要重复使用的,那么您可以考虑使用 Hexo 3.0 新增的「数据文件」功能。此功能会载入 <code>source/_data</code> 内的 <code>YAML 或 JSON</code> 文件,如此一来您便能在网站中复用这些文件;<br> 例子:在 source/_data 文件夹中新建 menu.yml 文件:</p> 
 <pre><code>Home: /
Gallery: /gallery/
Archives: /archives/
</code></pre> 
 <p>就能在模板中使用这些资料:</p> 
 <pre><code class="js"><% for (var link in site.data.menu) { %>
  <a href="<%= site.data.menu[link] %>"> <%= link %> </a>
<% } %>
</code></pre> 
 <p>渲染结果如下 :</p> 
 <pre><code class="js"><a href="/"> Home </a>
<a href="/gallery/"> Gallery </a>
<a href="/archives/"> Archives </a>
</code></pre> 
 <h3>2.6 服务器(本地预览效果)</h3> 
 <p>Hexo 3.0 把服务器独立成了个别模块,安装 hexo-server 才能使用:<code>npm install hexo-server --save</code>;安装完后执行 <code>hexo server</code>启动服务器,也可以改变一些参数,参考<code>命令->指令</code>的知识;</p> 
 <h4>2.6.1 静态模式 && 自定义 IP</h4> 
 <pre><code class="bash"># 在静态模式下,服务器只处理 public 文件夹内的文件,而不会处理文件变动,在执行时,您应该先自行执行 hexo generate;
$ hexo server -s
# 自定义 IP地址,对于一台使用无线网络的笔记本电脑,除了指向本机的127.0.0.1外,通常还有一个192.168.*.*的局域网IP; hexo server -i 127.0.0.1 -p 5000
$ hexo server -i 192.168.1.1
</code></pre> 
 <h4>2.6.2 Pow(略)</h4> 
 <p>Pow 是一个 Mac 系统上的零配置 Rack 服务器,它也可以作为一个简单易用的静态文件服务器来使用。</p> 
 <h3>2.7 生成器</h3> 
 <p>Hexo 生成静态文件指令:<code>$ hexo generate</code>,参考<code>命令->指令</code>的知识;</p> 
 <h4>监视文件变动 && 完成后部署</h4> 
 <pre><code class="bash"># 监视文件变动并立即重新生成静态文件,在生成时会比对文件的 SHA1 checksum,只有变动的文件才会写入;
$ hexo generate --watch
# 在生成完毕后自动部署网站,下面两个命令的作用是相同的。
$ hexo generate --deploy
$ hexo deploy --generate
# 上面命令的简介形式
$ hexo g -d
$ hexo d -g
</code></pre> 
 <h3>2.8 部署</h3> 
 <p>Hexo 通过指令 <code>$ hexo deploy</code> 实现网站部署到指定的服务器中,在执行此命令前要对网站根目录下的 <code>_config.yml</code> 中修改参数(<strong>注意yml文件格式</strong>),见下方实现 <code>gitee pages</code> 部署:</p> 
 <pre><code class="bash">deploy:
  type: git
  repository: git@gitee.com:geekleng/hexoblog.git     #发布到gitee,还可以加上github Page 页面
  branch: master
</code></pre> 
 <p>部署多个 deployer,Hexo 会依照顺序执行每个 deployer:</p> 
 <pre><code class="bash">deploy:
- type: git
  repo:
- type: heroku
  repo:
</code></pre> 
 <p>【YAML依靠缩进来确定元素间的从属关系。因此,请确保每个deployer的缩进长度相同,并且使用空格缩进。】</p> 
 <h4>2.8.1 Git</h4> 
 <ul> 
  <li>先安装 <code>hexo-deployer-git</code> 包:<code>$ npm install hexo-deployer-git --save</code> </li> 
  <li>修改<code>_config.yml</code> 中参数;</li> 
 </ul> 
 <pre><code class="bash">deploy:
  type: git
  repo: <repository url>
  branch: [branch]
  message: [message]
</code></pre> 
 <table> 
  <thead> 
   <tr> 
    <th>参数</th> 
    <th>描述</th> 
   </tr> 
  </thead> 
  <tbody> 
   <tr> 
    <td>repo</td> 
    <td>库(Repository)地址</td> 
   </tr> 
   <tr> 
    <td>branch</td> 
    <td>分支名称。如果您使用的是 GitHub 或 GitCafe 的话,程序会尝试自动检测。</td> 
   </tr> 
   <tr> 
    <td>message</td> 
    <td>自定义提交信息 (默认为 Site updated: {{ 当前时间('YYYY-MM-DD HH:mm:ss') }})</td> 
   </tr> 
  </tbody> 
 </table> 
 <h2>三. 自定义</h2> 
 <h3>3.1 永久链接</h3> 
 <p>可以在HEXO网站配置文件 <code>_config.yml</code> 配置中调整网站的永久链接或者在每篇文章的 <code>Front-matter</code> 中指定。</p> 
 <h4>3.1.1 变量</h4> 
 <p>使用下面的变量或是使用 <code>Front-matter</code> 中的所有属性;</p> 
 <table> 
  <thead> 
   <tr> 
    <th>变量</th> 
    <th>描述</th> 
   </tr> 
  </thead> 
  <tbody> 
   <tr> 
    <td>:year</td> 
    <td>文章的发表年份(4 位数)</td> 
   </tr> 
   <tr> 
    <td>:month</td> 
    <td>文章的发表月份(2 位数)</td> 
   </tr> 
   <tr> 
    <td>:i_month</td> 
    <td>文章的发表月份(去掉开头的零)</td> 
   </tr> 
   <tr> 
    <td>:day</td> 
    <td>文章的发表日期 (2 位数)</td> 
   </tr> 
   <tr> 
    <td>:i_day</td> 
    <td>文章的发表日期(去掉开头的零)</td> 
   </tr> 
   <tr> 
    <td>:title</td> 
    <td>文件名称</td> 
   </tr> 
   <tr> 
    <td>:post_title</td> 
    <td>文章标题</td> 
   </tr> 
   <tr> 
    <td>:id</td> 
    <td>文章 ID</td> 
   </tr> 
   <tr> 
    <td>:category</td> 
    <td>分类。如果文章没有分类,则是 default_category 配置信息。</td> 
   </tr> 
  </tbody> 
 </table> 
 <p>或在 <code>permalink_defaults</code> 参数下调整永久链接中各变量的默认值:</p> 
 <pre><code class="bash">permalink_defaults:
  lang: en
</code></pre> 
 <h4>3.1.2 多语种支持</h4> 
 <p>若要建立一个多语种的网站,您可修改 new_post_name 和 permalink 参数,如下:</p> 
 <pre><code class="bash">new_post_name: :lang/:title.md  # 新的博文的文件名
permalink: :lang/:title/  # 生成的链接的格式。带井号的是默认的格式;规则也比较简单,标签前面要加英文冒号。
</code></pre> 
 <p>当您建立新文章时,文章会被储存到:</p> 
 <pre><code class="bash">$ hexo new "Hello World" --lang tw
# => source/_posts/tw/Hello-World.md
</code></pre> 
 <h3>3.2 主题</h3> 
 <p>在HEXO的官网上找到合适的主题,下载压缩包解压到 <code>themes</code> 文件夹中或者是由git直接下载对应主题的包,再修改HEXO网站配置文件 <code>_config.yml</code> 配置中 <code>theme</code> 字段即可;主题的文件架构如下:</p> 
 <pre><code class="m">.
├── _config.yml
├── languages
├── layout
├── scripts
└── source
</code></pre> 
 <h4>3.2.1 _config.yml</h4> 
 <p>主题的配置文件。修改时会自动更新,无需重启服务器。</p> 
 <h4>3.2.2 languages</h4> 
 <p>语言文件夹;HEXO国际化-i18n</p> 
 <h4>3.2.3 layout</h4> 
 <p>布局文件夹。用于存放主题的模板文件,决定了网站内容的呈现方式,Hexo 内建 Swig 模板引擎,可以另外安装插件来获得 EJS、Haml 或 Jade 支持;HEXO模板</p> 
 <h4>3.2.4 scripts</h4> 
 <p>脚本文件夹。在启动时,Hexo 会载入此文件夹内的 JavaScript 文件;HEXO插件</p> 
 <h4>3.2.5 source</h4> 
 <p>资源文件夹,除了模板以外的 <code>Asset</code>,例如 <code>CSS、JavaScript</code> 文件等,都应该放在这个文件夹中。文件或文件夹开头名称为 <code>_(下划线线)</code> 或隐藏的文件会被忽略。</p> 
 <h3>3.3 模版</h3> 
 <p>模板决定了网站内容的呈现方式,以下是各页面相对应的模板名称:</p> 
 <table> 
  <thead> 
   <tr> 
    <th>模板</th> 
    <th>用途</th> 
    <th>回退</th> 
   </tr> 
  </thead> 
  <tbody> 
   <tr> 
    <td>index</td> 
    <td>首页</td> 
   </tr> 
   <tr> 
    <td>post</td> 
    <td>文章</td> 
    <td>index</td> 
   </tr> 
   <tr> 
    <td>page</td> 
    <td>分页</td> 
    <td>index</td> 
   </tr> 
   <tr> 
    <td>archive</td> 
    <td>归档</td> 
    <td>index</td> 
   </tr> 
   <tr> 
    <td>category</td> 
    <td>分类归档</td> 
    <td>archive</td> 
   </tr> 
   <tr> 
    <td>tag</td> 
    <td>标签归档</td> 
    <td>archive</td> 
   </tr> 
  </tbody> 
 </table> 
 <h4>3.3.1 布局(Layout)</h4> 
 <p>若页面结构类似,可以通过「布局」让两个模板共享相同的结构。一个布局文件必须要能显示 body 变量的内容,如此一来模板的内容才会被显示,举例来说:</p> 
 <pre><code class="html"><!-->index.ejs 文件<-->
index

<!-->layout.ejs 文件<-->
<!DOCTYPE html>
<html>
  <body><%- body %></body>
</html>

<!-->生成文件<-->
<!DOCTYPE html>
<html>
  <body>index</body>
</html>
</code></pre> 
 <p>每个模板都默认使用 layout 布局,您可在 <code>front-matter</code> 指定其他布局,或是设为 <code>false</code> 来关闭布局功能,甚至可在布局中再使用其他布局来建立嵌套布局。</p> 
 <h4>3.3.2 局部模版(Partial)</h4> 
 <p>局部模板让您在不同模板之间共享相同的组件,可利用局部模板功能分割为个别文件,让维护更加便利。</p> 
 <pre><code class="html"><!-->partial/header.ejs文件<-->
<h1 id="logo"><%= config.title %></h1>

<!-->index.ejs文件<-->
<%- partial('partial/header') %>
<div id="content">Home page</div>

<!-->生成文件<-->
<h1 id="logo">My Site</h1>
<div id="content">Home page</div>
</code></pre> 
 <p><strong>局部变量</strong>:局部模板中指定局部变量并使用;</p> 
 <pre><code class="html"><!-->partial/header.ejs文件<-->
<h1 id="logo"><%= title></h1>

<!-->index.ejs文件<-->
<%- partial('partial/header', {title: 'Hello World'}) %>
<div id="content">Home page</div>

<!-->生成文件<-->
<h1 id="logo">Hello World</h1>
<div id="content">Home page</div>
</code></pre> 
 <h4>3.3.3 优化</h4> 
 <p>考虑使用 Hexo 2.7 新增的局部缓存(Fragment Caching) 功能,功能借鉴于 Ruby on Rails,它储存局部内容,下次便能直接使用缓存内容,可以减少文件夹查询并使生成速度更快。可用于页首、页脚、侧边栏等文件不常变动的位置;</p> 
 <pre><code class="html"><%- fragment_cache('header', function(){
  return '<header></header>';
});
</code></pre> 
 <p>如果您使用局部模板的话,可以更简单:</p> 
 <p><code><%- partial('header', {}, {cache: true});</code></p> 
 <p>【注意:若开启了 <code>relative_link</code> 参数(把链接改为与根目录的相对位址),请勿使用局部缓存功能,因为相对链接在每个页面可能不同】</p> 
 <h3>3.4 变量</h3> 
 <h4>3.4.1 全局变量</h4> 
 <table> 
  <thead> 
   <tr> 
    <th>变量</th> 
    <th>描述</th> 
   </tr> 
  </thead> 
  <tbody> 
   <tr> 
    <td>site</td> 
    <td>网站变量</td> 
   </tr> 
   <tr> 
    <td>page</td> 
    <td>针对该页面的内容以及 front-matter 所设定的变量。</td> 
   </tr> 
   <tr> 
    <td>config</td> 
    <td>网站配置</td> 
   </tr> 
   <tr> 
    <td>theme</td> 
    <td>主题配置。继承自网站配置。</td> 
   </tr> 
   <tr> 
    <td>_ (单下划线)</td> 
    <td>Lodash 函数库</td> 
   </tr> 
   <tr> 
    <td>path</td> 
    <td>当前页面的路径(不含根路径)</td> 
   </tr> 
   <tr> 
    <td>url</td> 
    <td>当前页面的完整网址</td> 
   </tr> 
   <tr> 
    <td>env</td> 
    <td>环境变量</td> 
   </tr> 
  </tbody> 
 </table> 
 <h4>3.4.2 网站变量</h4> 
 <table> 
  <thead> 
   <tr> 
    <th>变量</th> 
    <th>描述</th> 
   </tr> 
  </thead> 
  <tbody> 
   <tr> 
    <td>site.posts</td> 
    <td>所有文章</td> 
   </tr> 
   <tr> 
    <td>site.pages</td> 
    <td>所有分页</td> 
   </tr> 
   <tr> 
    <td>site.categories</td> 
    <td>所有分类</td> 
   </tr> 
   <tr> 
    <td>site.tags</td> 
    <td>所有标签</td> 
   </tr> 
  </tbody> 
 </table> 
 <h4>3.4.3 页面变量</h4> 
 <p><strong>页面(page)</strong></p> 
 <table> 
  <thead> 
   <tr> 
    <th>变量</th> 
    <th>描述</th> 
   </tr> 
  </thead> 
  <tbody> 
   <tr> 
    <td>page.title</td> 
    <td>页面标题</td> 
   </tr> 
   <tr> 
    <td>page.date</td> 
    <td>页面建立日期(Moment.js 对象)</td> 
   </tr> 
   <tr> 
    <td>page.updated</td> 
    <td>页面更新日期(Moment.js 对象)</td> 
   </tr> 
   <tr> 
    <td>page.comments</td> 
    <td>留言是否开启</td> 
   </tr> 
   <tr> 
    <td>page.layout</td> 
    <td>布局名称</td> 
   </tr> 
   <tr> 
    <td>page.content</td> 
    <td>页面的完整内容</td> 
   </tr> 
   <tr> 
    <td>page.excerpt</td> 
    <td>页面摘要</td> 
   </tr> 
   <tr> 
    <td>page.more</td> 
    <td>除了页面摘要的其余内容</td> 
   </tr> 
   <tr> 
    <td>page.source</td> 
    <td>页面原始路径</td> 
   </tr> 
   <tr> 
    <td>page.full_source</td> 
    <td>页面的完整原始路径</td> 
   </tr> 
   <tr> 
    <td>page.path</td> 
    <td>页面网址(不含根路径)。我们通常在主题中使用 url_for(page.path)。</td> 
   </tr> 
   <tr> 
    <td>page.permalink</td> 
    <td>页面的完整网址</td> 
   </tr> 
   <tr> 
    <td>page.prev</td> 
    <td>上一个页面。如果此为第一个页面则为 null。</td> 
   </tr> 
   <tr> 
    <td>page.next</td> 
    <td>下一个页面。如果此为最后一个页面则为 null。</td> 
   </tr> 
   <tr> 
    <td>page.raw</td> 
    <td>文章的原始内容</td> 
   </tr> 
   <tr> 
    <td>page.photos</td> 
    <td>文章的照片(用于相簿)</td> 
   </tr> 
   <tr> 
    <td>page.link</td> 
    <td>文章的外部链接(用于链接文章)</td> 
   </tr> 
  </tbody> 
 </table> 
 <p><strong>文章 (post)</strong>: 和 page 布局类似,但是添加了下列变量。</p> 
 <table> 
  <thead> 
   <tr> 
    <th>变量</th> 
    <th>描述</th> 
   </tr> 
  </thead> 
  <tbody> 
   <tr> 
    <td>page.published</td> 
    <td>如果该文章已发布则为True</td> 
   </tr> 
   <tr> 
    <td>page.categories</td> 
    <td>该文章的所有分类</td> 
   </tr> 
   <tr> 
    <td>page.tags</td> 
    <td>该文章的所有标签</td> 
   </tr> 
  </tbody> 
 </table> 
 <p><strong>首页(index)</strong></p> 
 <table> 
  <thead> 
   <tr> 
    <th>变量</th> 
    <th>描述</th> 
   </tr> 
  </thead> 
  <tbody> 
   <tr> 
    <td>page.per_page</td> 
    <td>每页显示的文章数量</td> 
   </tr> 
   <tr> 
    <td>page.total</td> 
    <td>总文章数</td> 
   </tr> 
   <tr> 
    <td>page.current</td> 
    <td>目前页数</td> 
   </tr> 
   <tr> 
    <td>page.current_url</td> 
    <td>目前分页的网址</td> 
   </tr> 
   <tr> 
    <td>page.posts</td> 
    <td>本页文章</td> 
   </tr> 
   <tr> 
    <td>page.prev</td> 
    <td>上一页的页数。如果此页是第一页的话则为 0。</td> 
   </tr> 
   <tr> 
    <td>page.prev_link</td> 
    <td>上一页的网址。如果此页是第一页的话则为 ''。</td> 
   </tr> 
   <tr> 
    <td>page.next</td> 
    <td>下一页的页数。如果此页是最后一页的话则为 0。</td> 
   </tr> 
   <tr> 
    <td>page.next_link</td> 
    <td>下一页的网址。如果此页是最后一页的话则为 ''。</td> 
   </tr> 
   <tr> 
    <td>page.path</td> 
    <td>当前页面的路径(不含根目录)。我们通常在主题中使用 url_for(page.path)。</td> 
   </tr> 
  </tbody> 
 </table> 
 <p><strong>归档 (archive)</strong>:与 index 布局相同,但新增以下变量。</p> 
 <table> 
  <thead> 
   <tr> 
    <th>变量</th> 
    <th>描述</th> 
   </tr> 
  </thead> 
  <tbody> 
   <tr> 
    <td>page.archive</td> 
    <td>等于 true</td> 
   </tr> 
   <tr> 
    <td>page.year</td> 
    <td>年份归档 (4位)</td> 
   </tr> 
   <tr> 
    <td>page.month</td> 
    <td>月份归档 (没有前导零的2位数)</td> 
   </tr> 
  </tbody> 
 </table> 
 <p><strong>分类 (category)</strong>:与 index 布局相同,但新增以下变量。</p> 
 <table> 
  <thead> 
   <tr> 
    <th>变量</th> 
    <th>描述</th> 
   </tr> 
  </thead> 
  <tbody> 
   <tr> 
    <td>page.category</td> 
    <td>分类名称</td> 
   </tr> 
  </tbody> 
 </table> 
 <p><strong>标签 (tag)</strong>:与 index 布局相同,但新增以下变量。</p> 
 <table> 
  <thead> 
   <tr> 
    <th>变量</th> 
    <th>描述</th> 
   </tr> 
  </thead> 
  <tbody> 
   <tr> 
    <td>page.tag</td> 
    <td>标签名称</td> 
   </tr> 
  </tbody> 
 </table> 
 <h3>3.5 辅助函数——重难点</h3> 
 <p>HEXO辅助函数官方文档</p> 
 <p>辅助函数帮助您在模版中快速插入内容。</p> 
 <h3>3.6 国际化 (i18n)</h3> 
 <p>HEXO的网站配置文件 <code>_config.yml</code> 中调整 <code>language</code> 字段值的设定,可设定多个语言来调整预设语言的顺位。</p> 
 <pre><code class="bash">language: 
- zh-tw
- en
</code></pre> 
 <h4>3.6.1 语言文件</h4> 
 <p>语言文件可以使用 YAML 或 JSON 编写,并放在主题文件夹中的 languages 文件夹。</p> 
 <h4>3.6. 模板</h4> 
 <p>在模板中,透过 __ 或 _p 辅助函数,即可取得翻译后的字符串,前者用于一般使用;而后者用于复数字符串。</p> 
 <h4>3.6.3 路径</h4> 
 <p>可在 <code>front-matter</code> 中指定该页面的语言,也可在 <code>_config.yml</code> 中修改 <code>i18n_dir</code> 设定,让 Hexo 自动侦测。</p> 
 <p>i18n_dir 的预设值是 :lang:<code>i18n_dir: :lang</code>,Hexo 会捕获网址中的第一段以检测语言,举例来说:</p> 
 <pre><code class="m">/index.html => en
/archives/index.html => en
/zh-tw/index.html => zh-tw
</code></pre> 
 <h3>3.7 插件</h3> 
 <h4>3.7.1 脚本(Scripts)</h4> 
 <p>若代码很简单,建议您编写脚本,您只需要把 JavaScript 文件放到 scripts 文件夹,在启动时就会自动载入。</p> 
 <h4>3.7.2 插件(Packages)</h4> 
 <p>编写自己的插件;首先,在 <code>node_modules</code> 文件夹中建立文件夹,文件夹名称开头必须为 <code>hexo-</code>,如此一来 <code>Hexo</code> 才会在启动时载入否则 Hexo 将会忽略它。<br><br> 文件夹内至少要包含 2 个文件:一个是主程序 <code>index.js</code> ,另一个是 <code>package.json</code> (至少包含name, version, main 属性),描述插件的用途和所依赖的插件。</p> 
 <h4>3.7.3 工具</h4> 
 <p>Hexo 提供的官方工具插件来加速开发:(可在npm上看各自包的用法)</p> 
 <ul> 
  <li>hexo-fs:文件 IO</li> 
  <li>hexo-util:工具程式</li> 
  <li>hexo-i18n:本地化(i18n)</li> 
  <li>hexo-pagination:生成分页资料</li> 
 </ul> 
 <h4>3.7.4 发布</h4> 
 <p>发布你的插件到 HEXO插件列表</p> 
 <ol> 
  <li>Fork hexojs/site </li> 
  <li>把库(repository)复制到电脑上,并安装所依赖的插件。</li> 
 </ol> 
 <pre><code class="bash">$ git clone https://github.com/<username>/site.git
$ cd site
$ npm install
</code></pre> 
 <ol start="3"> 
  <li>编辑 source/_data/plugins.yml,在档案中新增您的插件,例如:</li> 
 </ol> 
 <pre><code class="bash">- name: hexo-server
  description: Server module for Hexo.
  link: https://github.com/hexojs/hexo-server
  tags:
    - official
    - server
    - console
</code></pre> 
 <ol start="4"> 
  <li>推送(push)分支。</li> 
  <li>建立一个新的合并申请(pull request)并描述改动。</li> 
 </ol> 
</article>
                            </div>
                        </div>
                    </div>
                    <!--PC和WAP自适应版-->
                    <div id="SOHUCS" sid="1697350289570476032"></div>
                    <script type="text/javascript" src="/views/front/js/chanyan.js"></script>
                    <!-- 文章页-底部 动态广告位 -->
                    <div class="youdao-fixed-ad" id="detail_ad_bottom"></div>
                </div>
                <div class="col-md-3">
                    <div class="row" id="ad">
                        <!-- 文章页-右侧1 动态广告位 -->
                        <div id="right-1" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad">
                            <div class="youdao-fixed-ad" id="detail_ad_1"> </div>
                        </div>
                        <!-- 文章页-右侧2 动态广告位 -->
                        <div id="right-2" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad">
                            <div class="youdao-fixed-ad" id="detail_ad_2"></div>
                        </div>
                        <!-- 文章页-右侧3 动态广告位 -->
                        <div id="right-3" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad">
                            <div class="youdao-fixed-ad" id="detail_ad_3"></div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
    <div class="container">
        <h4 class="pt20 mb15 mt0 border-top">你可能感兴趣的:(HEXO官方文档学习笔记)</h4>
        <div id="paradigm-article-related">
            <div class="recommend-post mb30">
                <ul class="widget-links">
                    <li><a href="/article/1835507248395284480.htm"
                           title="【一起学Rust | 设计模式】习惯语法——使用借用类型作为参数、格式化拼接字符串、构造函数" target="_blank">【一起学Rust | 设计模式】习惯语法——使用借用类型作为参数、格式化拼接字符串、构造函数</a>
                        <span class="text-muted">广龙宇</span>
<a class="tag" taget="_blank" href="/search/%E4%B8%80%E8%B5%B7%E5%AD%A6Rust/1.htm">一起学Rust</a><a class="tag" taget="_blank" href="/search/%23/1.htm">#</a><a class="tag" taget="_blank" href="/search/Rust%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">Rust设计模式</a><a class="tag" taget="_blank" href="/search/rust/1.htm">rust</a><a class="tag" taget="_blank" href="/search/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">设计模式</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a>
                        <div>提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、使用借用类型作为参数二、格式化拼接字符串三、使用构造函数总结前言Rust不是传统的面向对象编程语言,它的所有特性,使其独一无二。因此,学习特定于Rust的设计模式是必要的。本系列文章为作者学习《Rust设计模式》的学习笔记以及自己的见解。因此,本系列文章的结构也与此书的结构相同(后续可能会调成结构),基本上分为三个部分</div>
                    </li>
                    <li><a href="/article/1835499615491813376.htm"
                           title="四章-32-点要素的聚合" target="_blank">四章-32-点要素的聚合</a>
                        <span class="text-muted">彩云飘过</span>

                        <div>本文基于腾讯课堂老胡的课《跟我学Openlayers--基础实例详解》做的学习笔记,使用的openlayers5.3.xapi。源码见1032.html,对应的官网示例https://openlayers.org/en/latest/examples/cluster.htmlhttps://openlayers.org/en/latest/examples/earthquake-clusters.</div>
                    </li>
                    <li><a href="/article/1835460528621842432.htm"
                           title="语文主题教学学习笔记之87" target="_blank">语文主题教学学习笔记之87</a>
                        <span class="text-muted">东哥杂谈</span>

                        <div>“语文主题教学”学习笔记之八十七(0125)今天继续学习小学语文主题教学的实践样态。板块三:教学中体现“书艺”味道。作为四大名著之一的《水浒传》,堪称我国文学宝库之经典。对从《水浒传》中摘选的单元,教师就要了解其原生态,即评书体特点。这也要求教师要了解一些常用的评书行话术语,然后在教学时适时地加入一些,让学生体味其文本中原有的特色。学生也要尽可能地通过朗读的方式,而不单是分析讲解的方式进行学习。细</div>
                    </li>
                    <li><a href="/article/1835443013749403648.htm"
                           title="入门MySQL——查询语法练习" target="_blank">入门MySQL——查询语法练习</a>
                        <span class="text-muted">K_un</span>

                        <div>前言:前面几篇文章为大家介绍了DML以及DDL语句的使用方法,本篇文章将主要讲述常用的查询语法。其实MySQL官网给出了多个示例数据库供大家实用查询,下面我们以最常用的员工示例数据库为准,详细介绍各自常用的查询语法。1.员工示例数据库导入官方文档员工示例数据库介绍及下载链接:https://dev.mysql.com/doc/employee/en/employees-installation.h</div>
                    </li>
                    <li><a href="/article/1835429927567060992.htm"
                           title="《转介绍方法论》学习笔记" target="_blank">《转介绍方法论》学习笔记</a>
                        <span class="text-muted">小可乐的妈妈</span>

                        <div>一、高效转介绍的流程:价值观---执行----方案一)转介绍发生的背景:1、对象:谁向谁转介绍?全员营销,人人参与。①员工的激励政策、客户的转介绍诱因制作客户画像:a信任;支付能力;意愿度;便利度(根据家长具备四个特征的个数分为四类)B性格分类C职业分类D年龄性别②执行:套路,策略,方法,流程2、诱因:为什么要转介绍?认同信任;多方共赢;传递美好;零风险承诺打动人心,超越期待。选择做教育,就是选择</div>
                    </li>
                    <li><a href="/article/1835429581205630976.htm"
                           title="JAVA学习笔记之23种设计模式学习" target="_blank">JAVA学习笔记之23种设计模式学习</a>
                        <span class="text-muted">victorfreedom</span>
<a class="tag" taget="_blank" href="/search/Java%E6%8A%80%E6%9C%AF/1.htm">Java技术</a><a class="tag" taget="_blank" href="/search/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">设计模式</a><a class="tag" taget="_blank" href="/search/android/1.htm">android</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%B8%B8%E7%94%A8%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">常用设计模式</a>
                        <div>博主最近买了《设计模式》这本书来学习,无奈这本书是以C++语言为基础进行说明,整个学习流程下来效率不是很高,虽然有的设计模式通俗易懂,但感觉还是没有充分的掌握了所有的设计模式。于是博主百度了一番,发现有大神写过了这方面的问题,于是博主迅速拿来学习。一、设计模式的分类总体来说设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式,共七种:适配器</div>
                    </li>
                    <li><a href="/article/1835406006264360960.htm"
                           title="新能源汽车 BMS 学习笔记篇—BMS 基本定义及分类" target="_blank">新能源汽车 BMS 学习笔记篇—BMS 基本定义及分类</a>
                        <span class="text-muted">WPG大大通</span>
<a class="tag" taget="_blank" href="/search/%E5%85%B6%E4%BB%96/1.htm">其他</a><a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a><a class="tag" taget="_blank" href="/search/%E6%B1%BD%E8%BD%A6/1.htm">汽车</a><a class="tag" taget="_blank" href="/search/BMS/1.htm">BMS</a><a class="tag" taget="_blank" href="/search/%E7%BB%8F%E9%AA%8C%E5%88%86%E4%BA%AB/1.htm">经验分享</a><a class="tag" taget="_blank" href="/search/%E6%96%B0%E8%83%BD%E6%BA%90/1.htm">新能源</a><a class="tag" taget="_blank" href="/search/%E7%94%B5%E6%B1%A0/1.htm">电池</a>
                        <div>一、BMS定义1、概念:BMS(BatteryManagementSystem)即电池管理系统,其管理对象是二次电池(充电电池或蓄电池),其主要目的是电池的利用率,防止电池出现过度充电和过度放电,可应用于电动汽车、电瓶车、机器人、无人机等图片来源:腾讯网https://new.qq.com《标准普尔警告,电动汽车电池生产面临供应链和地缘政治风险》2、四大功能①感知和测量:检测电池的电压、电流、温度</div>
                    </li>
                    <li><a href="/article/1835362538016043008.htm"
                           title="吴恩达深度学习笔记(30)-正则化的解释" target="_blank">吴恩达深度学习笔记(30)-正则化的解释</a>
                        <span class="text-muted">极客Array</span>

                        <div>正则化(Regularization)深度学习可能存在过拟合问题——高方差,有两个解决方法,一个是正则化,另一个是准备更多的数据,这是非常可靠的方法,但你可能无法时时刻刻准备足够多的训练数据或者获取更多数据的成本很高,但正则化通常有助于避免过拟合或减少你的网络误差。如果你怀疑神经网络过度拟合了数据,即存在高方差问题,那么最先想到的方法可能是正则化,另一个解决高方差的方法就是准备更多数据,这也是非常</div>
                    </li>
                    <li><a href="/article/1835356591562518528.htm"
                           title="个人学习笔记7-6:动手学深度学习pytorch版-李沐" target="_blank">个人学习笔记7-6:动手学深度学习pytorch版-李沐</a>
                        <span class="text-muted">浪子L</span>
<a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/1.htm">深度学习</a><a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/1.htm">深度学习</a><a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a><a class="tag" taget="_blank" href="/search/%E8%AE%A1%E7%AE%97%E6%9C%BA%E8%A7%86%E8%A7%89/1.htm">计算机视觉</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C/1.htm">神经网络</a><a class="tag" taget="_blank" href="/search/pytorch/1.htm">pytorch</a>
                        <div>#人工智能##深度学习##语义分割##计算机视觉##神经网络#计算机视觉13.11全卷积网络全卷积网络(fullyconvolutionalnetwork,FCN)采用卷积神经网络实现了从图像像素到像素类别的变换。引入l转置卷积(transposedconvolution)实现的,输出的类别预测与输入图像在像素级别上具有一一对应关系:通道维的输出即该位置对应像素的类别预测。13.11.1构造模型下</div>
                    </li>
                    <li><a href="/article/1835338310210383872.htm"
                           title="FlagEmbedding" target="_blank">FlagEmbedding</a>
                        <span class="text-muted">吉小雨</span>
<a class="tag" taget="_blank" href="/search/python%E5%BA%93/1.htm">python库</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a>
                        <div>FlagEmbedding教程FlagEmbedding是一个用于生成文本嵌入(textembeddings)的库,适合处理自然语言处理(NLP)中的各种任务。嵌入(embeddings)是将文本表示为连续向量,能够捕捉语义上的相似性,常用于文本分类、聚类、信息检索等场景。官方文档链接:FlagEmbedding官方GitHub一、FlagEmbedding库概述1.1什么是FlagEmbeddi</div>
                    </li>
                    <li><a href="/article/1835328099944853504.htm"
                           title="Playwright 自动化验证码教程" target="_blank">Playwright 自动化验证码教程</a>
                        <span class="text-muted">吉小雨</span>
<a class="tag" taget="_blank" href="/search/python%E5%BA%93/1.htm">python库</a><a class="tag" taget="_blank" href="/search/%E8%87%AA%E5%8A%A8%E5%8C%96/1.htm">自动化</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a>
                        <div>Playwright自动化点击验证码教程在自动化测试中,Playwright是一个流行的浏览器自动化工具,支持多种浏览器的高效操作。验证码(如图片验证码、滑动验证码等)是网页中常见的反自动化机制,常常需要特别处理。我们将介绍如何使用Playwright自动化点击验证码,并提供几种常见验证码的处理方案。官方文档链接:Playwright官方文档一、Playwright环境搭建1.1安装Playwri</div>
                    </li>
                    <li><a href="/article/1835302697079762944.htm"
                           title="golang学习笔记--MPG模型" target="_blank">golang学习笔记--MPG模型</a>
                        <span class="text-muted">xxzed</span>
<a class="tag" taget="_blank" href="/search/golang/1.htm">golang</a><a class="tag" taget="_blank" href="/search/%23/1.htm">#</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/1.htm">学习笔记</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a><a class="tag" taget="_blank" href="/search/golang/1.htm">golang</a>
                        <div>MPG模式:M(Machine):操作系统的主线程P(Processor):协程执行需要的资源(上下文context),可以看作一个局部的调度器,使go代码在一个线程上跑,他是实现从N:1到N:M映射的关键G(Goroutine):协程,有自己的栈。包含指令指针(instructionpointer)和其它信息(正在等待的channel等等),用于调度。一个P下面可以有多个G1、当前程序有三个M,</div>
                    </li>
                    <li><a href="/article/1835299364118032384.htm"
                           title="碎片化学习笔记分享" target="_blank">碎片化学习笔记分享</a>
                        <span class="text-muted">剑客写作</span>

                        <div>现在生活节奏很快,学习力成为了我们拥有的最大财富。碎片化学习是最好的。首先,不要太过自信,学会虚心学习,是我们面对现实的好方法,才能够常保新鲜。平时我们要拥有什么工具呢?1.思维导图2.写在印象笔记里3.听书,消燥耳机4.教学输出5.录音笔里面最好的方式就是教学输出法,记忆里最好。当输出时我们集中精力记忆里最好。有人认为缩短睡眠时间来学习,其实最好的方式是保持最好的睡眠,记忆力会更好。剥夺睡眠,会</div>
                    </li>
                    <li><a href="/article/1835233629056364544.htm"
                           title="java 技术 架构 相关文档" target="_blank">java 技术 架构 相关文档</a>
                        <span class="text-muted">圣心</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a>
                        <div>在Java中,有许多不同的技术和架构,这里我将列举一些常见的Java技术和架构,并提供一些相关的文档资源。SpringFrameworkSpring是一个开源的Java/JavaEE全功能框架,以Apache许可证形式发布,提供了一种实现企业级应用的方法。官方文档:SpringFrameworkSpringBootSpringBoot是Spring的一个子项目,旨在简化创建生产级的Spring应用</div>
                    </li>
                    <li><a href="/article/1835233597204819968.htm"
                           title="《随园诗话》学习笔记三百零六" target="_blank">《随园诗话》学习笔记三百零六</a>
                        <span class="text-muted">飞鸿雪舞</span>

                        <div>卷五凡诗之传者,都在灵性五、五斗米与诗【原文】丁丑,余觅一抄书人,或荐黄生,名之纪,号星岩者,人甚朴野。偶过其案头,得句云;“破庵僧卖临街瓦,独井人争向晚泉。”余大奇之,即饷米五斗。自此欣然大用力于诗。五言句云:“云开日脚直,雨落水纹圆。竹锐穿泥壁,蝇酣落酒尊。钓久知鱼性,樵多识树名。笔残芦并用,墨尽指同磨。"七言云:"小窗近水寒偏觉,古木遮天曙不知。旧生萍处泥犹绿,新落花时水亦香。旧甓恐闲都贮水</div>
                    </li>
                    <li><a href="/article/1835218812954308608.htm"
                           title="D15 论语学习笔记" target="_blank">D15 论语学习笔记</a>
                        <span class="text-muted">许小兔Angelina</span>

                        <div>悟:上级对下级的宽容:凡事成定局,就不你说了;已接近完结的事,也没必要匡正和挽回了;既然是过去的事,也没必要追究得失和责任了。对待孩子教育也是,不用“问责制”,这样容易让孩子因为害怕担责而说谎。应当循循善诱,避免再犯错才是最重要的。3.16:【原文】子曰:“射不主皮,为力不同科,古之道也。”【译文】孔子说:“射箭比赛不以射透为主,而主要看是否射得准确,因为人的力量不同,自古如此。”3.17:【原文</div>
                    </li>
                    <li><a href="/article/1835210568282238976.htm"
                           title="greenplum资源队列" target="_blank">greenplum资源队列</a>
                        <span class="text-muted">李春田</span>

                        <div>文章来源https://www.cnblogs.com/pl-boke/p/9852439.html官方文档:https://gpdb.docs.pivotal.io/6-8/admin_guide/workload_mgmt.html1、创建资源队列语法Command:CREATERESOURCEQUEUEDescription:createanewresourcequeueforworkloa</div>
                    </li>
                    <li><a href="/article/1835165136495669248.htm"
                           title="Hexo框架Ayer主题搭建我的博客" target="_blank">Hexo框架Ayer主题搭建我的博客</a>
                        <span class="text-muted">@HZY</span>
<a class="tag" taget="_blank" href="/search/gitee/1.htm">gitee</a><a class="tag" taget="_blank" href="/search/hexo/1.htm">hexo</a><a class="tag" taget="_blank" href="/search/ayer/1.htm">ayer</a><a class="tag" taget="_blank" href="/search/blog/1.htm">blog</a><a class="tag" taget="_blank" href="/search/%E4%B8%AA%E4%BA%BA%E7%BD%91%E7%AB%99/1.htm">个人网站</a>
                        <div>关于Hexoayer主题搭建Blog我的博客链接,欢迎来访:[RainのBlog](https://hzyqaqgitee.gitee.io/raining).https://hzyqaqgitee.gitee.io/raining使用的框架、插件Hexo常用命令页面展示我的博客链接,欢迎来访:RainのBlog.https://hzyqaqgitee.gitee.io/raining使用Hexo</div>
                    </li>
                    <li><a href="/article/1835139546212298752.htm"
                           title="Android JetPack架构——结合记事本Demo一篇打通对Sqlite的增删改查结合常用jetpack架构应用" target="_blank">Android JetPack架构——结合记事本Demo一篇打通对Sqlite的增删改查结合常用jetpack架构应用</a>
                        <span class="text-muted">erhtre</span>
<a class="tag" taget="_blank" href="/search/%E7%A8%8B%E5%BA%8F%E5%91%98/1.htm">程序员</a><a class="tag" taget="_blank" href="/search/android/1.htm">android</a><a class="tag" taget="_blank" href="/search/jetpack/1.htm">jetpack</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a><a class="tag" taget="_blank" href="/search/sqlite/1.htm">sqlite</a>
                        <div>为什么要用Jetpack?========================================================================关于为什么要用Jetpack,我参考了许多的博客和官方文档,开阔了我对Android生态圈的理解和认识,在Jetpack推出前出现的许许多多强大的第三方框架与语言,典型代表无疑是强大的RxJava在Jetpack仍然有许多粉丝在一</div>
                    </li>
                    <li><a href="/article/1835095546516303872.htm"
                           title="prometheus中step或resolution的含义" target="_blank">prometheus中step或resolution的含义</a>
                        <span class="text-muted">iceman1952</span>
<a class="tag" taget="_blank" href="/search/prometheus/1.htm">prometheus</a>
                        <div>prometheus官方文档对resolution的解释真是语焉不详,只有下面寥寥几句话Queryingexamples|PrometheusSubqueryReturnthe5-minuterateofthehttp_requests_totalmetricforthepast30minutes,witharesolutionof1minute.rate(http_requests_total[</div>
                    </li>
                    <li><a href="/article/1835086976097808384.htm"
                           title="网络工程师学习笔记(一)" target="_blank">网络工程师学习笔记(一)</a>
                        <span class="text-muted">专业白嫖怪</span>
<a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E5%B7%A5%E7%A8%8B%E5%B8%88%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/1.htm">网络工程师学习笔记</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a>
                        <div>为了备战下半年的软考——网络工程师,利用每天的下班的闲暇时间看书听课,然后自己手敲整理的系列资料。希望能够对你们有所帮助第一章__计算机网络概述计算机网络的定义:将分散的具有独立运算功能的计算机系统,通过通信线路和通信设备进行连接起来的实现资源的共享。ARPAnet网络的特征:资源共享、分散控制、分组交换1946年第一台通用计算机—埃尼亚克能够相互连通进行数据交换。1960年提出巨型网络,出现了对</div>
                    </li>
                    <li><a href="/article/1835058988631289856.htm"
                           title="K8S学习笔记02——K8S组件" target="_blank">K8S学习笔记02——K8S组件</a>
                        <span class="text-muted">沉淅尘</span>
<a class="tag" taget="_blank" href="/search/%23/1.htm">#</a><a class="tag" taget="_blank" href="/search/Docker/1.htm">Docker</a><a class="tag" taget="_blank" href="/search/%23/1.htm">#</a><a class="tag" taget="_blank" href="/search/K8S/1.htm">K8S</a><a class="tag" taget="_blank" href="/search/kubernetes/1.htm">kubernetes</a>
                        <div>Kubernetes组件一、控制平面组件(ControlPlaneComponents)(1)kube-apiserver(2)etcd(3)kube-scheduler(4)kube-controller-manager(5)cloud-controller-manager二、Node组件1.kubelet2.kube-proxy3.容器运行时(ContainerRuntime)三、插件(Add</div>
                    </li>
                    <li><a href="/article/1835034390174986240.htm"
                           title="「Python」2020.04.08学习笔记 | 第六章文件(a+)模式+把随机手机号写入文件小练习" target="_blank">「Python」2020.04.08学习笔记 | 第六章文件(a+)模式+把随机手机号写入文件小练习</a>
                        <span class="text-muted">Yetta的书影屋</span>

                        <div>学习测试开发的Day97,真棒!学习时间为40M第九次全天课(下午视频二20M-50M)>>>fp.seek(0)0>>>fp.read()'你好11你好12你好13你好14你好15\n你好16\n你好17\n你好18\n'>>>fp.seek(0,0)0>>>fp.write("*********************************\n")34>>>fp.seek(0,0)0>>>f</div>
                    </li>
                    <li><a href="/article/1835010473251139584.htm"
                           title="《金文成〈中庸〉学习笔记401。2020-2-24》" target="_blank">《金文成〈中庸〉学习笔记401。2020-2-24》</a>
                        <span class="text-muted">金吾生</span>

                        <div>《金文成〈中庸〉学习笔记401。2020-2-24》今天是庚子年戊寅月丁酉日,二月初二,2020年2月24日星期一。二月二龙抬头。第二十二章【唯天下至诚,为能尽其性;能尽其性,则能尽人之性;能尽人之性,则能尽物之性;能尽物之性,则能赞天地之化育;能赞天地之化育,则可以与天地参矣。】上一节,船山讲解说,性作为天用之本体,于圣人和匹夫匹妇而言并无二致,区别来自于诚。诚的区别来自于纯粹与掺杂。掺杂什么呢</div>
                    </li>
                    <li><a href="/article/1834966436284559360.htm"
                           title="CDGA学习笔记三-《数据安全》" target="_blank">CDGA学习笔记三-《数据安全》</a>
                        <span class="text-muted">zy_chris</span>
<a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a><a class="tag" taget="_blank" href="/search/%E5%AE%89%E5%85%A8/1.htm">安全</a>
                        <div>七、数据安全7.1引言数据安全包括安全策略和过程的规划、建立与执行,为数据和信息资产提供正确的身份验证、授权、访问和审计。要求来自以下方面:(1)利益相关方(2)政府法规(3)特定业务关注点(4)合法访问需求(5)合同义务7.1.1业务驱动因素1、降低风险信息安全首先对组织数据进行分级分类,对组织数据进行分类分级的整个流程:1)识别敏感数据资产并分类分级2)在企业中查找敏感数据3)确定保护每项资产</div>
                    </li>
                    <li><a href="/article/1834953567916617728.htm"
                           title="vue学习笔记——关于对Vue3 ref(), toRef(), toRefs(), unref(), isRef(), reactive()方法的理解。" target="_blank">vue学习笔记——关于对Vue3 ref(), toRef(), toRefs(), unref(), isRef(), reactive()方法的理解。</a>
                        <span class="text-muted">chen_sir_sh</span>
<a class="tag" taget="_blank" href="/search/vue%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/1.htm">vue学习笔记</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/vue/1.htm">vue</a>
                        <div>VUE3出现了很多新的API,下面是自己的一些理解进行的总结。欢迎大家一起交流补充。ref()使用ref创建一个数据类型,ref有value这个属性constname1={age:"14",name:"bob1"};constname2=ref({name:"bob2"});//使用ref创建一个数据类型相对于reactive,ref有value属性name2.value="bob3"consol</div>
                    </li>
                    <li><a href="/article/1834949156674826240.htm"
                           title="vue3 内置组件<Teleport>" target="_blank">vue3 内置组件<Teleport></a>
                        <span class="text-muted">fishmemory7sec</span>
<a class="tag" taget="_blank" href="/search/vue3/1.htm">vue3</a><a class="tag" taget="_blank" href="/search/vue.js/1.htm">vue.js</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a>
                        <div>官方文档:Teleport内置组件将一个组件的模板内容渲染到指定的DOM节点位置,而不是在组件自身的挂载点。组件的参数说明:to:必填项。指定目标容器。可以是选择器或实际元素。类型:string|HTMLElement作用:指定要将内容传送(teleport)到的目标位置。可以是一个CSS选择器字符串,用于选择一个现存的DOM元素,也可以是一个实际的DOM元素对象引用。示例:disabled:可选</div>
                    </li>
                    <li><a href="/article/1834940969309532160.htm"
                           title="遇到僵尸进程,怎么处理---学习笔记" target="_blank">遇到僵尸进程,怎么处理---学习笔记</a>
                        <span class="text-muted">summer@彤妈</span>
<a class="tag" taget="_blank" href="/search/%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96/1.htm">性能优化</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a>
                        <div>僵尸进程解释当iowait升高时,进程很可能因为得不到硬件的响应,而长时间处于不可中断状态。从ps或者top命令的输出中,你可以发现它们都处于D状态,也就是不可中断状态(UninterruptibleSleep)。既然说到了进程的状态,进程有哪些状态你还记得吗?我们先来回顾一下。top和ps是最常用的查看进程状态的工具,我们就从top的输出开始。下面是一个top命令输出的示例,S列(也就是Stat</div>
                    </li>
                    <li><a href="/article/1834935551438974976.htm"
                           title="C++学习笔记----6、内存管理(五)---- 智能指针(3)" target="_blank">C++学习笔记----6、内存管理(五)---- 智能指针(3)</a>
                        <span class="text-muted">王俊山IT</span>
<a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a>
                        <div>2、shared_ptr有时候吧,有些对象或者一部分代码需要同一个指针的拷贝。那么unique_ptr不能被拷贝,因此就不能用于些场景。这样的话,std::shared_ptr就是一个支持能够被拷贝的拥有共享属主的智能指针。但是,如果有指向同一个资源的多个shared_ptr实例,那么怎么知道什么时候去释放资源呢?这可以通过对于引用记数来解决,这个我们以后再聊。首先,让我们看一下怎么构造与使用sh</div>
                    </li>
                    <li><a href="/article/1834926470724677632.htm"
                           title="uniapp设计H5 tabbar会遮挡内容区的解决办法" target="_blank">uniapp设计H5 tabbar会遮挡内容区的解决办法</a>
                        <span class="text-muted">qq_39016177</span>
<a class="tag" taget="_blank" href="/search/uni-app/1.htm">uni-app</a>
                        <div>uniapp设计H5tabbar会遮挡内容区的解决办法1.现象底部tabbar会遮挡内容区最底部的文字2.解决方法—css中增加个padding-bottom:var(–window-bottom)这样就是好了官方依据官方文档链接https://uniapp.dcloud.net.cn/tutorial/syntax-css.html#css-%E5%8F%98%E9%87%8F诸君有用且点赞</div>
                    </li>
                                <li><a href="/article/36.htm"
                                       title="ASM系列四 利用Method 组件动态注入方法逻辑" target="_blank">ASM系列四 利用Method 组件动态注入方法逻辑</a>
                                    <span class="text-muted">lijingyao8206</span>
<a class="tag" taget="_blank" href="/search/%E5%AD%97%E8%8A%82%E7%A0%81%E6%8A%80%E6%9C%AF/1.htm">字节码技术</a><a class="tag" taget="_blank" href="/search/jvm/1.htm">jvm</a><a class="tag" taget="_blank" href="/search/AOP/1.htm">AOP</a><a class="tag" taget="_blank" href="/search/%E5%8A%A8%E6%80%81%E4%BB%A3%E7%90%86/1.htm">动态代理</a><a class="tag" taget="_blank" href="/search/ASM/1.htm">ASM</a>
                                    <div>        这篇继续结合例子来深入了解下Method组件动态变更方法字节码的实现。通过前面一篇,知道ClassVisitor 的visitMethod()方法可以返回一个MethodVisitor的实例。那么我们也基本可以知道,同ClassVisitor改变类成员一样,MethodVIsistor如果需要改变方法成员,注入逻辑,也可以</div>
                                </li>
                                <li><a href="/article/163.htm"
                                       title="java编程思想 --内部类" target="_blank">java编程思想 --内部类</a>
                                    <span class="text-muted">百合不是茶</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%86%85%E9%83%A8%E7%B1%BB/1.htm">内部类</a><a class="tag" taget="_blank" href="/search/%E5%8C%BF%E5%90%8D%E5%86%85%E9%83%A8%E7%B1%BB/1.htm">匿名内部类</a>
                                    <div>内部类;了解外部类 并能与之通信 内部类写出来的代码更加整洁与优雅 
  
1,内部类的创建  内部类是创建在类中的 
 
package com.wj.InsideClass;

/*
 * 内部类的创建
 */
public class CreateInsideClass {

	public CreateInsideClass(</div>
                                </li>
                                <li><a href="/article/290.htm"
                                       title="web.xml报错" target="_blank">web.xml报错</a>
                                    <span class="text-muted">crabdave</span>
<a class="tag" taget="_blank" href="/search/web.xml/1.htm">web.xml</a>
                                    <div>web.xml报错 
  
The content of element type "web-app" must match "(icon?,display- 
 name?,description?,distributable?,context-param*,filter*,filter-mapping*,listener*,servlet*,s</div>
                                </li>
                                <li><a href="/article/417.htm"
                                       title="泛型类的自定义" target="_blank">泛型类的自定义</a>
                                    <span class="text-muted">麦田的设计者</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/android/1.htm">android</a><a class="tag" taget="_blank" href="/search/%E6%B3%9B%E5%9E%8B/1.htm">泛型</a>
                                    <div>   为什么要定义泛型类,当类中要操作的引用数据类型不确定的时候。 
采用泛型类,完成扩展。 
  例如有一个学生类 
    
Student{
  Student(){
   System.out.println("I'm a student.....");
  }
} 
 有一个老师类 
  
</div>
                                </li>
                                <li><a href="/article/544.htm"
                                       title="CSS清除浮动的4中方法" target="_blank">CSS清除浮动的4中方法</a>
                                    <span class="text-muted">IT独行者</span>
<a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a><a class="tag" taget="_blank" href="/search/UI/1.htm">UI</a><a class="tag" taget="_blank" href="/search/css/1.htm">css</a>
                                    <div>清除浮动这个问题,做前端的应该再熟悉不过了,咱是个新人,所以还是记个笔记,做个积累,努力学习向大神靠近。CSS清除浮动的方法网上一搜,大概有N多种,用过几种,说下个人感受。 
1、结尾处加空div标签 clear:both      1   2   3   4      
.div 
1 
{ 
background 
: 
#000080 
; 
border 
: 
1px   
s</div>
                                </li>
                                <li><a href="/article/671.htm"
                                       title="Cygwin使用windows的jdk 配置方法" target="_blank">Cygwin使用windows的jdk 配置方法</a>
                                    <span class="text-muted">_wy_</span>
<a class="tag" taget="_blank" href="/search/jdk/1.htm">jdk</a><a class="tag" taget="_blank" href="/search/windows/1.htm">windows</a><a class="tag" taget="_blank" href="/search/cygwin/1.htm">cygwin</a>
                                    <div>1.[vim /etc/profile] 
   JAVA_HOME="/cgydrive/d/Java/jdk1.6.0_43"  (windows下jdk路径为D:\Java\jdk1.6.0_43) 
   PATH="$JAVA_HOME/bin:${PATH}" 
   CLAS</div>
                                </li>
                                <li><a href="/article/798.htm"
                                       title="linux下安装maven" target="_blank">linux下安装maven</a>
                                    <span class="text-muted">无量</span>
<a class="tag" taget="_blank" href="/search/maven/1.htm">maven</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E5%AE%89%E8%A3%85/1.htm">安装</a>
                                    <div>Linux下安装maven(转)  1.首先到Maven官网 
下载安装文件,目前最新版本为3.0.3,下载文件为 
apache-maven-3.0.3-bin.tar.gz,下载可以使用wget命令; 
 
2.进入下载文件夹,找到下载的文件,运行如下命令解压 
  tar -xvf  apache-maven-2.2.1-bin.tar.gz  
解压后的文件夹</div>
                                </li>
                                <li><a href="/article/925.htm"
                                       title="tomcat的https 配置,syslog-ng配置" target="_blank">tomcat的https 配置,syslog-ng配置</a>
                                    <span class="text-muted">aichenglong</span>
<a class="tag" taget="_blank" href="/search/tomcat/1.htm">tomcat</a><a class="tag" taget="_blank" href="/search/http%E8%B7%B3%E8%BD%AC%E5%88%B0https/1.htm">http跳转到https</a><a class="tag" taget="_blank" href="/search/syslong-ng%E9%85%8D%E7%BD%AE/1.htm">syslong-ng配置</a><a class="tag" taget="_blank" href="/search/syslog%E9%85%8D%E7%BD%AE/1.htm">syslog配置</a>
                                    <div>1) tomcat配置https,以及http自动跳转到https的配置 
    1)TOMCAT_HOME目录下生成密钥(keytool是jdk中的命令) 
     keytool -genkey -alias tomcat -keyalg RSA -keypass changeit -storepass changeit</div>
                                </li>
                                <li><a href="/article/1052.htm"
                                       title="关于领号活动总结" target="_blank">关于领号活动总结</a>
                                    <span class="text-muted">alafqq</span>
<a class="tag" taget="_blank" href="/search/%E6%B4%BB%E5%8A%A8/1.htm">活动</a>
                                    <div>关于某彩票活动的总结 
具体需求,每个用户进活动页面,领取一个号码,1000中的一个; 
活动要求 
1,随机性,一定要有随机性; 
2,最少中奖概率,如果注数为3200注,则最多中4注 
3,效率问题,(不能每个人来都产生一个随机数,这样效率不高); 
4,支持断电(仍然从下一个开始),重启服务;(存数据库有点大材小用,因此不能存放在数据库) 
 
解决方案 
1,事先产生随机数1000个,并打</div>
                                </li>
                                <li><a href="/article/1179.htm"
                                       title="java数据结构 冒泡排序的遍历与排序" target="_blank">java数据结构 冒泡排序的遍历与排序</a>
                                    <span class="text-muted">百合不是茶</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                                    <div>java的冒泡排序是一种简单的排序规则 
  
冒泡排序的原理:  
         比较两个相邻的数,首先将最大的排在第一个,第二次比较第二个 ,此后一样; 
        针对所有的元素重复以上的步骤,除了最后一个 
  
  
例题;将int array[] </div>
                                </li>
                                <li><a href="/article/1306.htm"
                                       title="JS检查输入框输入的是否是数字的一种校验方法" target="_blank">JS检查输入框输入的是否是数字的一种校验方法</a>
                                    <span class="text-muted">bijian1013</span>
<a class="tag" taget="_blank" href="/search/js/1.htm">js</a>
                                    <div>如下是JS检查输入框输入的是否是数字的一种校验方法: 
<form method=post target="_blank">
   数字:<input type="text" name=num onkeypress="checkNum(this.form)"><br>
</form>
</div>
                                </li>
                                <li><a href="/article/1433.htm"
                                       title="Test注解的两个属性:expected和timeout" target="_blank">Test注解的两个属性:expected和timeout</a>
                                    <span class="text-muted">bijian1013</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/JUnit/1.htm">JUnit</a><a class="tag" taget="_blank" href="/search/expected/1.htm">expected</a><a class="tag" taget="_blank" href="/search/timeout/1.htm">timeout</a>
                                    <div>JUnit4:Test文档中的解释: 
  The Test annotation supports two optional parameters. 
  The first, expected, declares that a test method should throw an exception. 
  If it doesn't throw an exception or if it </div>
                                </li>
                                <li><a href="/article/1560.htm"
                                       title="[Gson二]继承关系的POJO的反序列化" target="_blank">[Gson二]继承关系的POJO的反序列化</a>
                                    <span class="text-muted">bit1129</span>
<a class="tag" taget="_blank" href="/search/POJO/1.htm">POJO</a>
                                    <div>父类 
  
  
package inheritance.test2;

import java.util.Map;

public class Model {
    private String field1;
    private String field2;

    private Map<String, String> infoMap</div>
                                </li>
                                <li><a href="/article/1687.htm"
                                       title="【Spark八十四】Spark零碎知识点记录" target="_blank">【Spark八十四】Spark零碎知识点记录</a>
                                    <span class="text-muted">bit1129</span>
<a class="tag" taget="_blank" href="/search/spark/1.htm">spark</a>
                                    <div>1. ShuffleMapTask的shuffle数据在什么地方记录到MapOutputTracker中的 
ShuffleMapTask的runTask方法负责写数据到shuffle map文件中。当任务执行完成成功,DAGScheduler会收到通知,在DAGScheduler的handleTaskCompletion方法中完成记录到MapOutputTracker中 
  
   </div>
                                </li>
                                <li><a href="/article/1814.htm"
                                       title="WAS各种脚本作用大全" target="_blank">WAS各种脚本作用大全</a>
                                    <span class="text-muted">ronin47</span>
<a class="tag" taget="_blank" href="/search/WAS+%E8%84%9A%E6%9C%AC/1.htm">WAS 脚本</a>
                                    <div>   http://www.ibm.com/developerworks/cn/websphere/library/samples/SampleScripts.html 
   无意中,在WAS官网上发现的各种脚本作用,感觉很有作用,先与各位分享一下 
    
获取下载 
这些示例 jacl 和 Jython 脚本可用于在 WebSphere Application Server 的不同版本中自</div>
                                </li>
                                <li><a href="/article/1941.htm"
                                       title="java-12.求 1+2+3+..n不能使用乘除法、 for 、 while 、 if 、 else 、 switch 、 case 等关键字以及条件判断语句" target="_blank">java-12.求 1+2+3+..n不能使用乘除法、 for 、 while 、 if 、 else 、 switch 、 case 等关键字以及条件判断语句</a>
                                    <span class="text-muted">bylijinnan</span>
<a class="tag" taget="_blank" href="/search/switch/1.htm">switch</a>
                                    <div>借鉴网上的思路,用java实现: 
 




public class NoIfWhile {

	/**
	 * @param args
	 * 
	 * find x=1+2+3+....n
	 */
	public static void main(String[] args) {
		int n=10;
		int re=find(n);
		System.o</div>
                                </li>
                                <li><a href="/article/2068.htm"
                                       title="Netty源码学习-ObjectEncoder和ObjectDecoder" target="_blank">Netty源码学习-ObjectEncoder和ObjectDecoder</a>
                                    <span class="text-muted">bylijinnan</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/netty/1.htm">netty</a>
                                    <div>Netty中传递对象的思路很直观: 
Netty中数据的传递是基于ChannelBuffer(也就是byte[]); 
那把对象序列化为字节流,就可以在Netty中传递对象了 
相应的从ChannelBuffer恢复对象,就是反序列化的过程 
 
Netty已经封装好ObjectEncoder和ObjectDecoder 
 
先看ObjectEncoder 
ObjectEncoder是往外发送</div>
                                </li>
                                <li><a href="/article/2195.htm"
                                       title="spring 定时任务中cronExpression表达式含义" target="_blank">spring 定时任务中cronExpression表达式含义</a>
                                    <span class="text-muted">chicony</span>
<a class="tag" taget="_blank" href="/search/cronExpression/1.htm">cronExpression</a>
                                    <div>一个cron表达式有6个必选的元素和一个可选的元素,各个元素之间是以空格分隔的,从左至右,这些元素的含义如下表所示: 
代表含义            是否必须 允许的取值范围         &nb</div>
                                </li>
                                <li><a href="/article/2322.htm"
                                       title="Nutz配置Jndi" target="_blank">Nutz配置Jndi</a>
                                    <span class="text-muted">ctrain</span>
<a class="tag" taget="_blank" href="/search/JNDI/1.htm">JNDI</a>
                                    <div>1、使用JNDI获取指定资源: 
 

var ioc = {
    dao : {
        type :"org.nutz.dao.impl.NutDao",
        args : [ {jndi :"jdbc/dataSource"} ]
    }
}
 
以上方法,仅需要在容器中配置好数据源,注入到NutDao即可. </div>
                                </li>
                                <li><a href="/article/2449.htm"
                                       title="解决 /bin/sh^M: bad interpreter: No such file or directory" target="_blank">解决 /bin/sh^M: bad interpreter: No such file or directory</a>
                                    <span class="text-muted">daizj</span>
<a class="tag" taget="_blank" href="/search/shell/1.htm">shell</a>
                                    <div>在Linux中执行.sh脚本,异常/bin/sh^M: bad interpreter: No such file or directory。 
  
分析:这是不同系统编码格式引起的:在windows系统中编辑的.sh文件可能有不可见字符,所以在Linux系统下执行会报以上异常信息。 
解决: 
1)在windows下转换: 
利用一些编辑器如UltraEdit或EditPlus等工具</div>
                                </li>
                                <li><a href="/article/2576.htm"
                                       title="[转]for 循环为何可恨?" target="_blank">[转]for 循环为何可恨?</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/%E7%A8%8B%E5%BA%8F%E5%91%98/1.htm">程序员</a><a class="tag" taget="_blank" href="/search/%E8%AF%BB%E4%B9%A6/1.htm">读书</a>
                                    <div>  
Java的闭包(Closure)特征最近成为了一个热门话题。 一些精英正在起草一份议案,要在Java将来的版本中加入闭包特征。 然而,提议中的闭包语法以及语言上的这种扩充受到了众多Java程序员的猛烈抨击。 
不久前,出版过数十本编程书籍的大作家Elliotte Rusty Harold发表了对Java中闭包的价值的质疑。 尤其是他问道“for 循环为何可恨?”[http://ju</div>
                                </li>
                                <li><a href="/article/2703.htm"
                                       title="Android实用小技巧" target="_blank">Android实用小技巧</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/android/1.htm">android</a>
                                    <div>1、去掉所有Activity界面的标题栏 
  修改AndroidManifest.xml   在application 标签中添加android:theme="@android:style/Theme.NoTitleBar" 
  
2、去掉所有Activity界面的TitleBar 和StatusBar  
  修改AndroidManifes</div>
                                </li>
                                <li><a href="/article/2830.htm"
                                       title="Oracle 复习笔记之序列" target="_blank">Oracle 复习笔记之序列</a>
                                    <span class="text-muted">eksliang</span>
<a class="tag" taget="_blank" href="/search/Oracle+%E5%BA%8F%E5%88%97/1.htm">Oracle 序列</a><a class="tag" taget="_blank" href="/search/sequence/1.htm">sequence</a><a class="tag" taget="_blank" href="/search/Oracle+sequence/1.htm">Oracle sequence</a>
                                    <div>转载请出自出处:http://eksliang.iteye.com/blog/2098859 
1.序列的作用 
 
 序列是用于生成唯一、连续序号的对象 
 一般用序列来充当数据库表的主键值 
 
2.创建序列语法如下: 
  
create sequence s_emp
start with 1      --开始值
increment by 1    --増长值
maxval</div>
                                </li>
                                <li><a href="/article/2957.htm"
                                       title="有“品”的程序员" target="_blank">有“品”的程序员</a>
                                    <span class="text-muted">gongmeitao</span>
<a class="tag" taget="_blank" href="/search/%E5%B7%A5%E4%BD%9C/1.htm">工作</a>
                                    <div>完美程序员的10种品质   
  
 完美程序员的每种品质都有一个范围,这个范围取决于具体的问题和背景。没有能解决所有问题的 
  
完美程序员(至少在我们这个星球上),并且对于特定问题,完美程序员应该具有以下品质: 
  1. 才智非凡- 能够理解问题、能够用清晰可读的代码翻译并表达想法、善于分析并且逻辑思维能力强 
  
(范围:用简单方式解决复杂问题)   
 </div>
                                </li>
                                <li><a href="/article/3084.htm"
                                       title="使用KeleyiSQLHelper类进行分页查询" target="_blank">使用KeleyiSQLHelper类进行分页查询</a>
                                    <span class="text-muted">hvt</span>
<a class="tag" taget="_blank" href="/search/sql/1.htm">sql</a><a class="tag" taget="_blank" href="/search/.net/1.htm">.net</a><a class="tag" taget="_blank" href="/search/C%23/1.htm">C#</a><a class="tag" taget="_blank" href="/search/asp.net/1.htm">asp.net</a><a class="tag" taget="_blank" href="/search/hovertree/1.htm">hovertree</a>
                                    <div>本文适用于sql server单主键表或者视图进行分页查询,支持多字段排序。KeleyiSQLHelper类的最新代码请到http://hovertree.codeplex.com/SourceControl/latest下载整个解决方案源代码查看。或者直接在线查看类的代码:http://hovertree.codeplex.com/SourceControl/latest#HoverTree.D</div>
                                </li>
                                <li><a href="/article/3211.htm"
                                       title="SVG 教程 (三)圆形,椭圆,直线" target="_blank">SVG 教程 (三)圆形,椭圆,直线</a>
                                    <span class="text-muted">天梯梦</span>
<a class="tag" taget="_blank" href="/search/svg/1.htm">svg</a>
                                    <div>SVG <circle>   SVG 圆形 - <circle> 
<circle> 标签可用来创建一个圆: 
下面是SVG代码: 
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
  <circle cx="100" c</div>
                                </li>
                                <li><a href="/article/3338.htm"
                                       title="链表栈" target="_blank">链表栈</a>
                                    <span class="text-muted">luyulong</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/1.htm">数据结构</a>
                                    <div>
public class Node {
	private Object object;
	private Node next;

	public Node() {
		this.next = null;
		this.object = null;
	}

	public Object getObject() {
		return object;
	}

	public</div>
                                </li>
                                <li><a href="/article/3465.htm"
                                       title="基础数据结构和算法十:2-3 search tree" target="_blank">基础数据结构和算法十:2-3 search tree</a>
                                    <span class="text-muted">sunwinner</span>
<a class="tag" taget="_blank" href="/search/Algorithm/1.htm">Algorithm</a><a class="tag" taget="_blank" href="/search/2-3+search+tree/1.htm">2-3 search tree</a>
                                    <div>  
Binary search tree works well for a wide variety of applications, but they have poor worst-case performance. Now we introduce a type of binary search tree where costs are guaranteed to be loga</div>
                                </li>
                                <li><a href="/article/3592.htm"
                                       title="spring配置定时任务" target="_blank">spring配置定时任务</a>
                                    <span class="text-muted">stunizhengjia</span>
<a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/timer/1.htm">timer</a>
                                    <div>最近因工作的需要,用到了spring的定时任务的功能,觉得spring还是很智能化的,只需要配置一下配置文件就可以了,在此记录一下,以便以后用到: 
  
  
//------------------------定时任务调用的方法------------------------------
    /**
     * 存储过程定时器
    */
    publi</div>
                                </li>
                                <li><a href="/article/3719.htm"
                                       title="ITeye 8月技术图书有奖试读获奖名单公布" target="_blank">ITeye 8月技术图书有奖试读获奖名单公布</a>
                                    <span class="text-muted">ITeye管理员</span>
<a class="tag" taget="_blank" href="/search/%E6%B4%BB%E5%8A%A8/1.htm">活动</a>
                                    <div>ITeye携手博文视点举办的8月技术图书有奖试读活动已圆满结束,非常感谢广大用户对本次活动的关注与参与。 
 
 
8月试读活动回顾: 
http://webmaster.iteye.com/blog/2102830 
 
 
本次技术图书试读活动的优秀奖获奖名单及相应作品如下(优秀文章有很多,但名额有限,没获奖并不代表不优秀): 
 
 
《跨终端Web》 
 
 
 
 gleams:http</div>
                                </li>
                </ul>
            </div>
        </div>
    </div>

<div>
    <div class="container">
        <div class="indexes">
            <strong>按字母分类:</strong>
            <a href="/tags/A/1.htm" target="_blank">A</a><a href="/tags/B/1.htm" target="_blank">B</a><a href="/tags/C/1.htm" target="_blank">C</a><a
                href="/tags/D/1.htm" target="_blank">D</a><a href="/tags/E/1.htm" target="_blank">E</a><a href="/tags/F/1.htm" target="_blank">F</a><a
                href="/tags/G/1.htm" target="_blank">G</a><a href="/tags/H/1.htm" target="_blank">H</a><a href="/tags/I/1.htm" target="_blank">I</a><a
                href="/tags/J/1.htm" target="_blank">J</a><a href="/tags/K/1.htm" target="_blank">K</a><a href="/tags/L/1.htm" target="_blank">L</a><a
                href="/tags/M/1.htm" target="_blank">M</a><a href="/tags/N/1.htm" target="_blank">N</a><a href="/tags/O/1.htm" target="_blank">O</a><a
                href="/tags/P/1.htm" target="_blank">P</a><a href="/tags/Q/1.htm" target="_blank">Q</a><a href="/tags/R/1.htm" target="_blank">R</a><a
                href="/tags/S/1.htm" target="_blank">S</a><a href="/tags/T/1.htm" target="_blank">T</a><a href="/tags/U/1.htm" target="_blank">U</a><a
                href="/tags/V/1.htm" target="_blank">V</a><a href="/tags/W/1.htm" target="_blank">W</a><a href="/tags/X/1.htm" target="_blank">X</a><a
                href="/tags/Y/1.htm" target="_blank">Y</a><a href="/tags/Z/1.htm" target="_blank">Z</a><a href="/tags/0/1.htm" target="_blank">其他</a>
        </div>
    </div>
</div>
<footer id="footer" class="mb30 mt30">
    <div class="container">
        <div class="footBglm">
            <a target="_blank" href="/">首页</a> -
            <a target="_blank" href="/custom/about.htm">关于我们</a> -
            <a target="_blank" href="/search/Java/1.htm">站内搜索</a> -
            <a target="_blank" href="/sitemap.txt">Sitemap</a> -
            <a target="_blank" href="/custom/delete.htm">侵权投诉</a>
        </div>
        <div class="copyright">版权所有 IT知识库 CopyRight © 2000-2050 E-COM-NET.COM , All Rights Reserved.
<!--            <a href="https://beian.miit.gov.cn/" rel="nofollow" target="_blank">京ICP备09083238号</a><br>-->
        </div>
    </div>
</footer>
<!-- 代码高亮 -->
<script type="text/javascript" src="/static/syntaxhighlighter/scripts/shCore.js"></script>
<script type="text/javascript" src="/static/syntaxhighlighter/scripts/shLegacy.js"></script>
<script type="text/javascript" src="/static/syntaxhighlighter/scripts/shAutoloader.js"></script>
<link type="text/css" rel="stylesheet" href="/static/syntaxhighlighter/styles/shCoreDefault.css"/>
<script type="text/javascript" src="/static/syntaxhighlighter/src/my_start_1.js"></script>





</body>

</html>