gulp及插件安装、应用

1、创建项目文件夹,全局安装gulp:$sudo npm install --global gulp

2、项目初始化: $ npm init

3、作为项目的开发依赖(devDependencies)安装:$npm install --save-dev gulp

出现node_modules / package.json 文件夹

4、 在项目根目录下创建一个名为gulpfile.js的文件:

$ lanou$ touch gulpfile.js

  var gulp=require('gulp')
  gulp.task('default',function(){

  console.log('Hello Wrold')
  })

5、运行gulp : $gulp 输出 Hello wrold

6、安装插件:concat-合并 jsmin-js压缩 rename-加后缀

$sudo npm install --save-dev gulp-concat

$ npm install --save-dev gulp-jsmin

$ npm install --save-dev gulp-rename

安装好后,我们可以观察package.json的内容

{
"name": "fack",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"devDependencies": {
"gulp": "^3.9.1",
"gulp-concat": "^2.6.0",
"gulp-jsmin": "^0.1.5",
"gulp-rename": "^1.2.2"
}
}

注: name:为自己安装中命得名 ,后几个为安装的插件信息,插件的另一种安装方法:可以把package.json复制到一个文件夹,即本段内容,终端运行 $ npm install 即安装了上述四个插件,(在node.js环境下)

gulpfile.js中代码演示:

var gulp = require('gulp');
var  concat=require('gulp-concat')
var jsmin=require('gulp-jsmin')
  var rename=require('gulp-rename')

gulp.task('b', function() {
// 将你的默认的任务代码放在这
console.log("nimei")
});

gulp.task("yasuo",function(){

gulp.src('js/*js')
.pipe(concat('new.js'))
.pipe(jsmin())
.pipe(rename({suffix:'.min'}))
.pipe(gulp.dest('newJs/'))

})

gulp.task('a',function(){

console.log( 'hello 王松'    )

}  )
gulp.task('jjj',['a','b','c'],function(){

console.log( 'hebing')

})

gulp.task('c',function(){

console.log( 'hello heffj'    )

 }  )

文件夹一览:

Mou icon

注释:gulp有5个基本方法:src、dest、task、run、watch

    gulp.src()

gulp模块的src方法,用于产生数据流。它的参数表示所要处理的文件,一般有以下几种形式:

js/app.js :指定确切的文件名
js/*.js :某个目录所有后缀名为js的文件
js/**/*.js :某个目录及其所有子目录中的所有后缀名为js的文件
!js/app.js :除了js/app.js以外的所有文件
*.+(js|css) :匹配项目根目录下,所有后缀名为js或css的文件

 src方法的参数还可以是一个数组,用来指定多个成员:

 gulp.src(['js/**/*.js', '!js/**/*.min.js']);



 gulp.dest()

gulp模块的dest方法,可以用来传送文件,同时写入文件到指定目录。可以重复的发送传递给它的数据,因此可以将文件传送到多个目录中。简单的例子:

 gulp.src('./client/templates/*.jade')  
.pipe(jade())
.pipe(gulp.dest('./build/templates'))
.pipe(minify())
.pipe(gulp.dest('./build/minified_templates'));

gulp.task()

 gulp模块的task方法,用于定义具体的任务。它的第一个参数是任务名,第二个参数是任务函数。下面是一个非常简单的任务函数:

gulp.task('greet', function () {  
 console.log('Hello world!');
});

task方法还可以指定按顺序运行的一组任务:

gulp.task('build', ['css', 'js', 'imgs']);

 上面代码先指定build任务,它按次序由css、js、imgs三个任务所组成。 注意: 由于每个任务都是异步调用,所以没有办法保证js任务的开始运行的时间,正好是css任务运行结束时间。

 如果希望各个任务严格按次序运行,可以把前一个任务写成后一个任务的依赖模块:

gulp.task('css', ['greet'], function () {  
  // Deal with CSS here
});

上面代码表明,css任务依赖greet任务,所以css一定会在greet运行完成后再运行。

如果一个任务的名字为default,就表明它是“默认任务”,在命令行直接输入gulp命令,就会运行该任务:

gulp.task('default', function () {  
  // Your default task
 });
 gulp.run()

 gulp模块的run方法,表示要执行的任务。可能会使用单个参数的形式传递多个任务。 注意: 任务是尽可能多的并行执行的,并且可能不会按照指定的顺序运行:

gulp.run('scripts','copyfiles','builddocs');

gulp.run('scripts','copyfiles','builddocs', function(err) {  
// 所有任务完成,或者触发错误而终止
 });

 可以使用 gulp.run 在其他任务中运行任务。也可以在默认任务中使用 gulp.run 组织多个更小的任务为一个大任务。
 gulp.watch()

 gulp模块的watch方法,用于指定需要监视的文件。一旦这些文件发生变动,就运行指定任务:

 gulp.task('watch', function () {  
  gulp.watch('templates/*.tmpl.html', ['build']);
 });

 上面代码指定,一旦templates目录中的模板文件发生变化,就运行build任务。

 watch方法也可以用回调函数,代替指定的任务:

gulp.watch('templates/*.tmpl.html', function (event) {  
 console.log('Event type: ' + event.type); 
console.log('Event path: ' + event.path); 
});

另一种写法是watch方法所监控的文件发生变化时(修改、增加、删除文件),会触发change事件,可以对change事件指定回调函数:

var watcher = gulp.watch('templates/*.tmpl.html', ['build']);

 watcher.on('change', function (event) {  
 console.log('Event type: ' + event.type);
 console.log('Event path: ' + event.path);
 });

除了change事件,watch方法还可能触发以下事件:

end:回调函数运行完毕时触发。
error:发生错误时触发。
ready:当开始监听文件时触发。
nomatch:没有匹配的监听文件时触发。

watcher对象还包含其他一些方法:

watcher.end() :停止watcher对象,不会再调用任务或回调函数。
watcher.files() :返回watcher对象监视的文件。
watcher.add(glob) :增加所要监视的文件,它还可以附件第二个参数,表示回调函数。
watcher.remove(filepath) :从watcher对象中移走一个监视的文件。

学完这些就可以到其官网上找插件了,毕竟插件才是王道。

终端代码一览:

代码:
Last login: Mon May 16 15:20:21 on ttys000
 52:~ lanou$ cd desktop
 52:desktop lanou$ nodejs
-bash: nodejs: command not found
 52:desktop lanou$ cd nodejs
 52:nodejs lanou$ sudo npm install --global gulp    全局安装gulp
 npm WARN deprecated graceful-fs@3.0.8: graceful-fs v3.0.0 and before will fail on node releases >= v7.0. Please update to graceful-fs@^4.0.0 as soon as possible. Use 'npm ls graceful-fs' to find it in the tree.
 npm WARN deprecated lodash@1.0.2: lodash@<3.0.0 is no longer maintained. Upgrade to lodash@^4.0.0.
npm WARN deprecated graceful-fs@1.2.3: graceful-fs v3.0.0 and before will fail on node releases >= v7.0. Please update to graceful-fs@^4.0.0 as soon as possible. Use 'npm ls graceful-fs' to find it in the tree.
  /usr/local/bin/gulp -> /usr/local/lib/node_modules/gulp/bin/gulp.js
  gulp@3.9.1 /usr/local/lib/node_modules/gulp
  ├── interpret@1.0.1
 ├── pretty-hrtime@1.0.2
├── deprecated@0.0.1
 ├── archy@1.0.0
├── minimist@1.2.0
├── semver@4.3.6
├── tildify@1.2.0 (os-homedir@1.0.1)
 ├── v8flags@2.0.11 (user-home@1.1.1)
 ├── orchestrator@0.3.7 (stream-consume@0.1.0, sequencify@0.0.7, end-of-stream@0.1.5)
├── vinyl-fs@0.3.14 (graceful-fs@3.0.8, mkdirp@0.5.1, strip-bom@1.0.0, defaults@1.0.3, vinyl@0.4.6, glob-stream@3.1.18, through2@0.6.5, glob-watcher@0.0.6)
  ├── chalk@1.1.3 (supports-color@2.0.0, escape-string-regexp@1.0.5, ansi-styles@2.2.1, has-ansi@2.0.0, strip-ansi@3.0.1)
  ├── liftoff@2.2.1 (extend@2.0.1, rechoir@0.6.2, flagged-respawn@0.3.2, resolve@1.1.7, findup-sync@0.3.0)
 └── gulp-util@3.0.7 (array-differ@1.0.0, array-uniq@1.0.2, lodash._reinterpolate@3.0.0, lodash._reescape@3.0.0, lodash._reevaluate@3.0.0, beeper@1.1.0, object-assign@3.0.0, replace-ext@0.0.1, has-gulplog@0.1.0, fancy-log@1.2.0, gulplog@1.0.0, vinyl@0.5.3, multipipe@0.1.2, lodash.template@3.6.2, through2@2.0.1, dateformat@1.0.12)
 52:nodejs lanou$ npm init
This utility will walk you through creating a package.json file.
 It only covers the most common items, and tries to guess sensible defaults.

 See `npm help json` for definitive documentation on these fields
  and exactly what they do.

Use `npm install <pkg> --save` afterwards to install a package and
   save it as a dependency in the package.json file.

 Press ^C at any time to quit.
  name: (nodejs) fack
version: (1.0.0)
 description:
 entry point: (index.js)
test command:
 git repository:
 keywords:
 author:
 license: (ISC)
  About to write to /Users/lanou/Desktop/nodejs/package.json:

{
  "name": "fack",
 "version": "1.0.0",
  "description": "",
 "main": "index.js",
 "scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
 },
 "author": "",
"license": "ISC"
 }


Is this ok? (yes) yes       yes
52:nodejs lanou$ sudo npm install --save-dev gulp 
npm WARN package.json fack@1.0.0 No description
npm WARN package.json fack@1.0.0 No repository field.
 npm WARN package.json fack@1.0.0 No README data
 npm WARN deprecated graceful-fs@3.0.8: graceful-fs v3.0.0 and before will fail on node releases >= v7.0. Please update to graceful-fs@^4.0.0 as soon as possible. Use 'npm ls graceful-fs' to find it in the tree.
 npm WARN deprecated lodash@1.0.2: lodash@<3.0.0 is no longer maintained. Upgrade to lodash@^4.0.0.
 npm WARN deprecated graceful-fs@1.2.3: graceful-fs v3.0.0 and before will fail on node releases >= v7.0. Please update to graceful-fs@^4.0.0 as soon as possible. Use 'npm ls graceful-fs' to find it in the tree.
 gulp@3.9.1 node_modules/gulp
 ├── interpret@1.0.1
 ├── pretty-hrtime@1.0.2
 ├── deprecated@0.0.1
 ├── archy@1.0.0
 ├── minimist@1.2.0
 ├── semver@4.3.6
 ├── tildify@1.2.0 (os-homedir@1.0.1)
 ├── v8flags@2.0.11 (user-home@1.1.1)
 ├── chalk@1.1.3 (ansi-styles@2.2.1, escape-string-regexp@1.0.5, supports-color@2.0.0, strip-ansi@3.0.1, has-ansi@2.0.0)
  ├── orchestrator@0.3.7 (stream-consume@0.1.0, sequencify@0.0.7, end-of-stream@0.1.5)
 ├── liftoff@2.2.1 (extend@2.0.1, rechoir@0.6.2, flagged-respawn@0.3.2, resolve@1.1.7, findup-sync@0.3.0)
 ├── vinyl-fs@0.3.14 (graceful-fs@3.0.8, mkdirp@0.5.1, through2@0.6.5, strip-bom@1.0.0, vinyl@0.4.6, defaults@1.0.3, glob-stream@3.1.18, glob-watcher@0.0.6)
  └── gulp-util@3.0.7 (array-differ@1.0.0, array-uniq@1.0.2, lodash._reevaluate@3.0.0, lodash._reinterpolate@3.0.0, object-assign@3.0.0, lodash._reescape@3.0.0, beeper@1.1.0, replace-ext@0.0.1, fancy-log@1.2.0, has-gulplog@0.1.0, gulplog@1.0.0, multipipe@0.1.2, through2@2.0.1, vinyl@0.5.3, lodash.template@3.6.2, dateformat@1.0.12)
 52:nodejs lanou$ touch gulpfile.js
 52:nodejs lanou$ gulp
 [15:28:22] Using gulpfile ~/Desktop/nodejs/gulpfile.js
 [15:28:22] Starting 'default'...
 nimei
 [15:28:22] Finished 'default' after 111 μs
 52:nodejs lanou$ sudo npm install --save-dev gulp-concat
 Password:
 npm WARN package.json fack@1.0.0 No description
 npm WARN package.json fack@1.0.0 No repository field.
 npm WARN package.json fack@1.0.0 No README data
 gulp-concat@2.6.0 node_modules/gulp-concat
 ├── through2@0.6.5 (xtend@4.0.1, readable-stream@1.0.34) 
 ├── gulp-util@3.0.7 (array-uniq@1.0.2, array-differ@1.0.0, lodash._reinterpolate@3.0.0, object-assign@3.0.0, lodash._reescape@3.0.0, beeper@1.1.0, lodash._reevaluate@3.0.0, replace-ext@0.0.1, minimist@1.2.0, has-gulplog@0.1.0, fancy-log@1.2.0, vinyl@0.5.3, multipipe@0.1.2, chalk@1.1.3, gulplog@1.0.0, through2@2.0.1, lodash.template@3.6.2, dateformat@1.0.12)
   └── concat-with-sourcemaps@1.0.4 (source-map@0.5.6)
 52:nodejs lanou$ npm install --save-dev gulp-jsmin
 npm WARN package.json fack@1.0.0 No description
 npm WARN package.json fack@1.0.0 No repository field.
 npm WARN package.json fack@1.0.0 No README data
 npm WARN deprecated graceful-fs@2.0.3: graceful-fs v3.0.0 and before will fail on node releases >= v7.0. Please update to graceful-fs@^4.0.0 as soon as possible. Use 'npm ls graceful-fs' to find it in the tree.
 gulp-jsmin@0.1.5 node_modules/gulp-jsmin
 ├── filesize@2.0.4
 ├── graceful-fs@2.0.3
├── map-stream@0.0.4
├── gulp-rename@1.1.0
 ├── temp-write@0.1.1 (tempfile@0.1.3)
  ├── gulp-util@2.2.20 (lodash._reinterpolate@2.4.1, minimist@0.2.0, vinyl@0.2.3, multipipe@0.1.2, through2@0.5.1, chalk@0.5.1, dateformat@1.0.12, lodash.template@2.4.1)
 └── jsmin-sourcemap@0.16.0 (jsmin2@1.1.9, source-map-index-generator@0.1.2)
 52:nodejs lanou$ gulp dh
 [15:38:20] Using gulpfile ~/Desktop/nodejs/gulpfile.js
 [15:38:20] Starting 'dh'...
 nimei
 [15:38:20] Finished 'dh' after 107 μs
 52:nodejs lanou$ js
 -bash: js: command not found
 52:nodejs lanou$ cd js
 52:js lanou$ touch 1.js
 52:js lanou$ touch 2.js
52:js lanou$ gulp hangmingyang
[16:00:31] Working directory changed to ~/Desktop/nodejs
   [16:00:31] Using gulpfile ~/Desktop/nodejs/gulpfile.js
[16:00:31] Starting 'hangmingyang'...
[  16:00:31] 'hangmingyang' errored after 6.49 ms
 [16:00:31] ReferenceError: concat is not defined
at Gulp.<anonymous> (/Users/lanou/Desktop/nodejs/gulpfile.js:10:25)
at module.exports (/Users/lanou/Desktop/nodejs/node_modules/gulp/node_modules/orchestrator/lib/runTask.js:34:7)
at Gulp.Orchestrator._runTask (/Users/lanou/Desktop/nodejs/node_modules/gulp/node_modules/orchestrator/index.js:273:3)
at Gulp.Orchestrator._runStep (/Users/lanou/Desktop/nodejs/node_modules/gulp/node_modules/orchestrator/index.js:214:10)
at Gulp.Orchestrator.start (/Users/lanou/Desktop/nodejs/node_modules/gulp/node_modules/orchestrator/index.js:134:8)
at /usr/local/lib/node_modules/gulp/bin/gulp.js:129:20
at nextTickCallbackWith0Args (node.js:420:9)
at process._tickCallback (node.js:349:13)
at Function.Module.runMain (module.js:443:11)
at startup (node.js:139:18)
 52:js lanou$ gulp hangmingyang
 [16:04:19] Working directory changed to ~/Desktop/nodejs
 /Users/lanou/Desktop/nodejs/gulpfile.js:3
vaar jsmin=require('gulp-jsmin')
 ^^^^^

 SyntaxError: Unexpected identifier
at exports.runInThisContext (vm.js:53:16)
at Module._compile (module.js:373:25)
at Object.Module._extensions..js (module.js:416:10)
at Module.load (module.js:343:32)
at Function.Module._load (module.js:300:12)
at Module.require (module.js:353:17)
at require (internal/module.js:12:17)
at Liftoff.handleArguments (/usr/local/lib/node_modules/gulp/bin/gulp.js:116:3)
at Liftoff.<anonymous> (/usr/local/lib/node_modules/gulp/node_modules/liftoff/index.js:193:16)
at module.exports (/usr/local/lib/node_modules/gulp/node_modules/liftoff/node_modules/flagged-respawn/index.js:17:3)
  52:js lanou$ gulp hangmingyang
 [16:05:19] Working directory changed to ~/Desktop/nodejs
 [16:05:19] Using gulpfile ~/Desktop/nodejs/gulpfile.js
[16:05:19] Starting 'hangmingyang'...
  [   16:05:19] Finished 'hangmingyang' after 9.69 ms
 [16:05:19] gulp-jsmin: ✔ new.js
  52:js lanou$ gulp hangmingyang
  [16:06:07] Working directory changed to ~/Desktop/nodejs
 [16:06:07] Using gulpfile ~/Desktop/nodejs/gulpfile.js
 [16:06:07] Starting 'hangmingyang'...
 [16:06:07] Finished 'hangmingyang' after 9.11 ms
 [16:06:07] gulp-jsmin: ✔ new.js
 52:js lanou$ npm install
 npm WARN package.json fack@1.0.0 No description
 npm WARN package.json fack@1.0.0 No repository field.
 npm WARN package.json fack@1.0.0 No README data
 52:js lanou$ cd ..
 52:nodejs lanou$ cd ..
52:desktop lanou$ cd yj
 52:yj lanou$ npm install
 npm WARN package.json fack@1.0.0 No description
 npm WARN package.json fack@1.0.0 No repository field.
npm WARN package.json fack@1.0.0 No README data
 npm WARN deprecated graceful-fs@2.0.3: graceful-fs v3.0.0 and before will fail on node releases >= v7.0. Please update to graceful-fs@^4.0.0 as soon as possible. Use 'npm ls graceful-fs' to find it in the tree.
 npm WARN deprecated graceful-fs@3.0.8: graceful-fs v3.0.0 and before will fail on node releases >= v7.0. Please update to graceful-fs@^4.0.0 as soon as possible. Use 'npm ls graceful-fs' to find it in the tree.
    npm WARN deprecated lodash@1.0.2: lodash@<3.0.0 is no longer maintained. Upgrade to lodash@^4.0.0.
 npm WARN deprecated graceful-fs@1.2.3: graceful-fs v3.0.0 and before will fail on node releases >= v7.0. Please update to graceful-fs@^4.0.0 as soon as possible. Use 'npm ls graceful-fs' to find it in the tree.
gulp-concat@2.6.0 node_modules/gulp-concat
 ├── concat-with-sourcemaps@1.0.4 (source-map@0.5.6)
├── through2@0.6.5 (xtend@4.0.1, readable-stream@1.0.34)
 └── gulp-util@3.0.7 (array-differ@1.0.0, array-uniq@1.0.2, lodash._reevaluate@3.0.0, lodash._reescape@3.0.0, lodash._reinterpolate@3.0.0, beeper@1.1.0, object-assign@3.0.0, replace-ext@0.0.1, minimist@1.2.0, vinyl@0.5.3, has-gulplog@0.1.0, fancy-log@1.2.0, chalk@1.1.3, gulplog@1.0.0, through2@2.0.1, multipipe@0.1.2, lodash.template@3.6.2, dateformat@1.0.12)

  gulp-jsmin@0.1.5 node_modules/gulp-jsmin
   ├── filesize@2.0.4
  ├── graceful-fs@2.0.3
 ├── map-stream@0.0.4
 ├── gulp-rename@1.1.0
├── temp-write@0.1.1 (tempfile@0.1.3)
  ├── jsmin-sourcemap@0.16.0 (jsmin2@1.1.9, source-map-index-generator@0.1.2)
  └── gulp-util@2.2.20 (lodash._reinterpolate@2.4.1, minimist@0.2.0, through2@0.5.1, vinyl@0.2.3, chalk@0.5.1, multipipe@0.1.2, lodash.template@2.4.1, dateformat@1.0.12)

gulp@3.9.1 node_modules/gulp
├── interpret@1.0.1
├── deprecated@0.0.1
├── pretty-hrtime@1.0.2
 ├── archy@1.0.0
   ├── minimist@1.2.0
├── semver@4.3.6
├── tildify@1.2.0 (os-homedir@1.0.1)
├── v8flags@2.0.11 (user-home@1.1.1)
 ├── chalk@1.1.3 (escape-string-regexp@1.0.5, supports-color@2.0.0, ansi-styles@2.2.1, strip-ansi@3.0.1, has-ansi@2.0.0)
├── orchestrator@0.3.7 (stream-consume@0.1.0, sequencify@0.0.7, end-of-stream@0.1.5)
 ├── gulp-util@3.0.7 (array-uniq@1.0.2, array-differ@1.0.0, beeper@1.1.0, lodash._reescape@3.0.0, lodash._reevaluate@3.0.0, lodash._reinterpolate@3.0.0, object-assign@3.0.0, replace-ext@0.0.1, vinyl@0.5.3, has-gulplog@0.1.0, fancy-log@1.2.0, gulplog@1.0.0, through2@2.0.1, multipipe@0.1.2, lodash.template@3.6.2, dateformat@1.0.12)
├── vinyl-fs@0.3.14 (graceful-fs@3.0.8, through2@0.6.5, mkdirp@0.5.1, vinyl@0.4.6, defaults@1.0.3,  strip-   bom@1.0.0, glob-watcher@0.0.6, glob-stream@3.1.18)
└── liftoff@2.2.1 (extend@2.0.1, rechoir@0.6.2, flagged-respawn@0.3.2, resolve@1.1.7, findup-sync@0.3.0)
 52:yj lanou$ cd ..

伪类

####A 、伪类 :
a /love/ hate / hover / ( active(点击)/ visited(访问后) / link(未访问) :a 只针对a 标签 )

单冒号是伪类

###B 、伪元素 ::
first-line: 文本第一行

first-letter: 首字母

before
内部之前有元素,元素之前,有内容内容之前,再次同元素会覆盖
after

selection 只能改变background 和选中字体颜色,改变不了first-line first-letter改变过的属性

米奇老鼠头

 .div1{width:200px;
 height:200px;
 background:red;
 border-radius:50%;
 margin:auto;
 margin-top:100px;
 position:relative;
 }

.div1::before{  content: "我是before1";/*一定要有*/
width:50px;
height:50px;
display: block;
color: white;
background: green;
border-radius: 50%;
position: absolute;
left: 0px;
top: 0px;

 }




.div1::after{  content: "我是before1";/*一定要有*/
width:50px;
height:50px;
display: block;
color: white;
background: green;
border-radius: 50%;
position: absolute;
left:150px;
top: 0px;

 }



 ::selection{  //选中颜色变化,针对全局
 background:gray;
 color:yellow;}
 .div1::selection{  //颜色变化,仅针对div1 的第一层子集内容
 background:gray;
 color:yellow;
 }


  如:<span>123456</span> 可以

 <span<p>123</span></div>//不行


title:

hexo+github搭建自己的博客


date: 2016-05-11 15:31:25
tags:
友情链接-邹强
刘畅
龚克
孙平博客


本文系转载

正文


hexo是一款基于NOde.js的静态博客框架,这篇教程是针对与Mac的,不啰嗦,直接上搭建步骤.


配置环境


安装Node(必须)

Mou icon
/Users/lanou/Desktop/17AAA232-705F-4D09-86D4-C75A0B8BEE11.png

####(安装我选择圈圈的稳定版)

作用:用来生成静态页面


到Node.js官网下载


安装git


作用:把本地的hexo内容提交到github上去


安装Xcode就自带有git,我就不多说了。


申请github


作用:用来做博客的远程创库、域名、服务器之类的,怎么与本地hexo建立连接等下讲




github账号我也不再啰嗦了,没有的话直接申请就行了,跟一般的注册账号差多多,


创建SSH:ssh-keygen

  • 52:blog lanou$ ssh-keygen
  • Generating public/private rsa key pair.
  • Enter file in which to save the key (/Users/lanou/.ssh/id_rsa):
  • /Users/lanou/.ssh/id_rsa already exists.
  • Overwrite (y/n)? y
  • Enter passphrase (empty for no passphrase):
  • Enter same passphrase again:
  • Your identification has been saved in /Users/lanou/.ssh/id_rsa.
  • Your public key has been saved in /Users/lanou/.ssh/id_rsa.pub.
  • The key fingerprint is:
  • SHA256:b6/WUHxsa6WVWOJ3bO8SI8YvxOWXFVHygmosWlhVy5s lanou@52.local
  • The key’s randomart image is:
  • +—[RSA 2048]—-+
  • | … ..+|
  • | . . + = |
  • | . .=.=.+|
  • | o . .o==+B|
  • | . S ++E=.*=|
  • | o +. * B.o|
  • | . o= + = |
  • | …o o .|
  • | ….. . |
  • +—-[SHA256]—–+

然后操作 :q center

查看SSH:vim ~/.ssh/id_rsa.pub

出现:

52:blog lanou$ ls
_config.yml node_modules scaffolds themes
db.json package.json source
52:blog lanou$ cd ..
52:Desktop lanou$ ls

执行克隆,+后缀


52:Desktop lanou$ git clone git@github.com:41152419901017/html3-.git


hexo g 生成


第一次会由用户名与密码


hexo d 部署


###正式安装hexo

Node和git都安装好后,首先创建一个文件夹,如blog,用户存放hexo的配置文件,然后进入blog里安装Hexo.


执行命令安装Hexo: sudo npm install -g hexo


然后,执行 hexo init 初始化


至此,全部安装工作已经完成!blog就是你的博客根目录,所有的操作都在里面进行


hexo server


INFO Start processing INFO Hexo is running at http://localhost:4000/. Press Ctrl+C to stop. 启动服务,告诉网址和
theme: landscape 主题

获得登录本地的网址 ,启动本地服务,进行文章预览调试


配置github


建立Repository仓库


建立与你用户名对应的仓库,仓库名必须为

你的名字.github.io


然后建立关联,我的在本地/users/lanou/blog,里面有:


文件



_config.yml db.json node_modules

package.json public scaffolds

source themes

现在我们需要——config.ylm文件,来建立关联,命令