GitHub+hexo折腾记

前言

趁着项目期过去,手头活不多,把自己近期学到的东西记录一下,于是就想到了博客。Github+Hexo还算是挺简单的建站方法,有一些前端经验的话会更快,即使没有经验网上也有大把的教程,不过大多都需要东拼西凑才能完整的搞下来。

趁着休息时间摸爬滚打一个星期做完了,在此记录一下建站时的步骤以及遇到的问题、解决方法等。

我的电脑是Mac,windows环境大同小异。

Hexo简介

GitHub就不做过多解释了,Hexo是一个基于Node.js的静态博客程序(如果你不了解Node.js也没关系,在此处用到的的只有基于它的模块),可以方便的生成静态页面托管在GitHub上。其因美观、简介且使用方便而受广大人群喜好(不止是程序猿),本次我使用的是next主题,贴出一张next主题的截图!

Hexo next theme

提前准备

  • 安装Node.js
  • 注册GitHub账号
  • 安装git
  • markDown写作语法

git

如果你使用过git命令行,那么可以跳过此步骤,非则点击下载链接

注:听说Mac上自带git,可以使用命令行输入git –version看是否出现版本号(此处为两个-)。

nodejs

hexo是基于nodejs的,并且里面还会使用到nodejs的其他模块。使用方法很简单,直接安装nodejs就可以(下载传送门)。

GitHub账号

先打开GitHub,有账号的话直接登录,无账号的话进行注册。

GitHub注册

登录上去后,点击New repository创建一个仓库。

创建仓库

输入完信息后点击Create repository

markDown

markDown的语法其实很简单,如果你要写作、做笔记等都可以使用,如果不了解的话可以在这里看一下(我也是直接百度的-. -)。

安装

  • 安装Hexo,语句为:

    1
    $npm install -g hexo
  • 创建博客文件夹,建议不要随意命名,这个里面放的就是子集博客的文件,语句为:

    1
    $hexo init blogs(blgos是你的博客文件夹,名称随意)
  • 进入blogs文件夹,安装所需模块,执行语句:

    1
    $npm install

查看博客页面

这个时候,已经可以通过命令行:

1
2
3
$hexo server
或者
$hexo s

来访问页面了,浏览器输入http://localhost:4000即可看到。

hexo默认端口为4000,如果想要更改,可输入:

1
2
3
4
5
$hexo server -p 你想改的端口号

$hexo s -p 你想改的端口号
比如:
$hexo s -p 4001

来启动hexo。

配置SSH

如果使用过GitHub提交过代码,可忽略此步骤

如果想了解SSH是什么东西的话,可以在阮一峰SSH原理与运用中了解。

生成SSH,命令行语句为:

1
$ssh-keygen -t rsa -C 你的GitHub邮箱

可能会需要输入密码,这时直接摁回车就可以,不输入密码也行,摁三下回车键。接下来继续执行命令行语句:

1
2
3
$cd ~/.ssh        进入.ssh文件夹
$ls 查看当前文件夹内所有文件,查看是否有名为id_rsa.pub的文件
$vim id_rsa.pub 打开公钥文件,拷贝其中的东西

然后打开GitHub-点击右上角头像-Settings-SSH and GPG keys-New SSH key,把复制的SSH秘钥粘贴进Key处,名称最好写自己的电脑,点击Add SSH key,这就保存成功了(因为此处我在很久以前就已经配置完成了,所以不太确定操作是否正确。如果有什么问题可以联系我或者参考一些大佬的文章,很多解决办法)。

Next主题安装

克隆next主题:

1
$git clone https://github.com/iissnan/hexo-theme-next.git

将克隆下载的主题拷贝到blogs/themes文件夹下,并将文件夹更名为next。

修改根目录下的_config.yml配置文件,搜索theme:,将值改为next。注意:冒号后面要加一个空格,否则不会生效。

这时重启Hexo服务器,即可看到Hexo主题界面。

此处附上Next主题使用文档,更多配置可在Next主题文档内查看,超详细的!

部署设置

打开blogs根目录下的_config.yml文件,搜索deploy:,设置type为git,给它下面增加两行属性:

1
2
repository: git@***.github.com:***/***.github.io.git // 此处填写你的GitHub提交地址
branch: master

此处注意缩进哦。

常用命令

1
2
3
4
$hexo clean 		// 清除静态资源,如果页面显示不正常的话就执行它,然后重新生成
$hexo g 或 $hexo generate // 生成静态资源
$hexo d 或 $hexo deploy // 提交代码到GitHub
$hexo s 或 $hexo server // 启动Hexo服务器,相当于上线前预览项目

如果不需要预览项目,可直接使用简写:

1
$hexo d -g

进行提交项目。

1
2
$npm update hexo -g 	// 升级Hexo
$hexo init // 初始化Hexo仓库

创建文章

使用:

1
$hexo new "文章名"

命令来创建一个新文章。

此处推荐MarkDown编写工具Typora,此工具完全免费,使用方便。

在/blogs/source/_posts下打开刚才创建的文章,输入”Hello Hexo”保存,刷新博客页面即可看到刚才创建的文章。

创建标签页

使用:

1
$hexo new page "newPage"

来创建新页面。

然后在主题配置_config.yml中搜索menu:,在这个下面按照home等配置的格式添加。

如:新文章: /newPage || icone

刷新页面即可在导航看到新创建的标签页。

报错

1
ERROR Deployer not found: git

解决方法

1
$npm install hexo-deployer-git --save

我的配置

  • 根目录_config.yml配置:

    展开查看
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    # Hexo Configuration
    ## Docs: https://hexo.io/docs/configuration.html
    ## Source: https://github.com/hexojs/hexo/

    # Site # 站点设置
    title: # 标题
    subtitle: # 副标题
    description: # 描述
    keywords: # 关键字
    author: # 作者
    language: # 语言
    timezone: # 时区

    # URL
    ## If your site is put in a subdirectory, set url as 'http://yoursite.com/child' and root as '/child/'
    ## 这里是用于收录百度和谷歌生成的sitemap中的URL
    url: https://www.jiabeih.cn # 用于绑定域名,其余不用设置
    root: /
    permalink: :year/:month/:day/:title/
    permalink_defaults:

    # Directory # 目录
    source_dir: source # 源文件
    public_dir: public # 生成网页的文件
    tag_dir: tags # 标签
    archive_dir: archives # 归档
    category_dir: categories # 分类
    code_dir: downloads/code
    i18n_dir: :lang # 国际化
    skip_render:

    # Writing # 写作
    new_post_name: :title.md # File name of new posts # 新文章标题
    default_layout: post # 默认模板 ( post page photo draft)
    titlecase: false # Transform title into titlecase # 标题转换成大写
    external_link: true # Open external links in new tab # 新标签页里打开链接
    filename_case: 0
    render_drafts: false
    post_asset_folder: false
    relative_link: false
    future: true
    highlight: # 语法高亮
    enable: true
    line_number: true # 显示行号
    auto_detect: false
    tab_replace:

    # Home page setting
    # path: Root path for your blogs index page. (default = '')
    # per_page: Posts displayed per page. (0 = disable pagination)
    # order_by: Posts order. (Order by date descending by default)
    index_generator:
    path: ''
    per_page: 10
    order_by: -date

    # Category & Tag #分类和标签
    default_category: uncategorized #默认分类
    category_map:
    tag_map:

    # Date / Time format #日期时间格式
    ## Hexo uses Moment.js to parse and display date
    ## You can customize the date format as defined in
    ## http://momentjs.com/docs/#/displaying/format/
    date_format: YYYY-MM-DD
    time_format: HH:mm:ss

    # Pagination #分页
    ## Set per_page to 0 to disable pagination
    per_page: 10 # 每页文章数,0则不分页
    pagination_dir: page

    # Extensions # 插件和主题
    ## Plugins: https://hexo.io/plugins/
    ## Themes: https://hexo.io/themes/
    theme: next

    # Deployment # 部署,发布在github上
    ## Docs: https://hexo.io/docs/deployment.html
    deploy:
    type: git
    repo: # 此处写自己的GitHub提交地址
    branch: master
    message: '站点更新: {{ now("YYYY-MM-DD HH:mm:ss") }}'

    feed: # RSS订阅插件
    type: atom
    path: atom.xml
    limit: 0

    plugins: hexo-generate-feed

    ## 看板娘
    live2d:
    enable: true
    scriptFrom: local
    pluginRootPath: live2dw/
    pluginJsPath: lib/
    pluginModelPath: assets/
    tagMode: false
    debug: false
    model:
    use: tororo
    display:
    position: left
    width: 100
    height: 200
    mobile:
    show: false

    # 自动生成sitemap(站点地图)
    sitemap:
    path: sitemap.xml
    baidusitemap:
    path: baidusitemap.xml


  • 主题_config.yml:

    展开查看
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
    278
    279
    280
    281
    282
    283
    284
    285
    286
    287
    288
    289
    290
    291
    292
    293
    294
    295
    296
    297
    298
    299
    300
    301
    302
    303
    304
    305
    306
    307
    308
    309
    310
    311
    312
    313
    314
    315
    316
    317
    318
    319
    320
    321
    322
    323
    324
    325
    326
    327
    328
    329
    330
    331
    332
    333
    334
    335
    336
    337
    338
    339
    340
    341
    342
    343
    344
    345
    346
    347
    348
    349
    350
    351
    352
    353
    354
    355
    356
    357
    358
    359
    360
    361
    362
    363
    364
    365
    366
    367
    368
    369
    370
    371
    372
    373
    374
    375
    376
    377
    378
    379
    380
    381
    382
    383
    384
    385
    386
    387
    388
    389
    390
    391
    392
    393
    394
    395
    396
    397
    398
    399
    400
    401
    402
    403
    404
    405
    406
    407
    408
    409
    410
    411
    412
    413
    414
    415
    416
    417
    418
    419
    420
    421
    422
    423
    424
    425
    426
    427
    428
    429
    430
    431
    432
    433
    434
    435
    436
    437
    438
    439
    440
    441
    442
    443
    444
    445
    446
    447
    448
    449
    450
    451
    452
    453
    454
    455
    456
    457
    458
    459
    460
    461
    462
    463
    464
    465
    466
    467
    468
    469
    470
    471
    472
    473
    474
    475
    476
    477
    478
    479
    480
    481
    482
    483
    484
    485
    486
    487
    488
    489
    490
    491
    492
    493
    494
    495
    496
    497
    498
    499
    500
    501
    502
    503
    504
    505
    506
    507
    508
    509
    510
    511
    512
    513
    514
    515
    516
    517
    518
    519
    520
    521
    522
    523
    524
    525
    526
    527
    528
    529
    530
    531
    532
    533
    534
    535
    536
    537
    538
    539
    540
    541
    542
    543
    544
    545
    546
    547
    548
    549
    550
    551
    552
    553
    554
    555
    556
    557
    558
    559
    560
    561
    562
    563
    564
    565
    566
    567
    568
    569
    570
    571
    572
    573
    574
    575
    576
    577
    578
    579
    580
    581
    582
    583
    584
    585
    586
    587
    588
    589
    590
    591
    592
    593
    594
    595
    596
    597
    598
    599
    600
    601
    602
    603
    604
    605
    606
    607
    608
    609
    610
    611
    612
    613
    614
    615
    616
    617
    618
    619
    620
    621
    622
    623
    624
    625
    626
    627
    628
    629
    630
    631
    632
    633
    634
    635
    636
    637
    638
    639
    640
    641
    642
    643
    644
    645
    646
    647
    648
    649
    650
    651
    652
    653
    654
    655
    656
    657
    658
    659
    660
    661
    662
    663
    664
    665
    666
    667
    668
    669
    670
    671
    672
    673
    674
    675
    676
    677
    678
    679
    680
    681
    682
    683
    684
    685
    686
    687
    688
    689
    690
    691
    692
    693
    694
    695
    696
    697
    698
    699
    700
    701
    702
    703
    704
    705
    706
    707
    708
    709
    710
    711
    712
    713
    714
    715
    716
    717
    718
    719
    720
    721
    722
    723
    724
    725
    726
    727
    728
    729
    730
    731
    732
    733
    734
    735
    736
    737
    738
    739
    740
    741
    742
    743
    744
    745
    746
    747
    748
    749
    750
    751
    752
    753
    754
    755
    756
    757
    758
    759
    760
    761
    762
    763
    764
    765
    766
    767
    768
    769
    770
    771
    772
    773
    774
    775
    776
    777
    778
    779
    780
    781
    782
    783
    784
    785
    786
    787
    788
    789
    790
    791
    792
    793
    794
    795
    796
    797
    798
    799
    800
    801
    802
    803
    804
    805
    806
    807
    808
    809
    810
    811
    812
    813
    814
    815
    816
    817
    818
    819
    820
    821
    822
    823
    824
    825
    826
    827
    828
    829
    830
    831
    832
    833
    834
    835
    836
    837
    # ===============================================================
    # ========================= ATTENTION! ==========================
    # ===============================================================
    # NexT repository is moving here: https://github.com/theme-next
    # ===============================================================
    # It's rebase to v6.0.0 and future maintenance will resume there
    # ===============================================================

    # ---------------------------------------------------------------
    # Theme Core Configuration Settings
    # ---------------------------------------------------------------

    # Set to true, if you want to fully override the default configuration.
    # Useful if you don't want to inherit the theme _config.yml configurations.
    override: false

    # ---------------------------------------------------------------
    # Site Information Settings
    # ---------------------------------------------------------------

    # To get or check favicons visit: https://realfavicongenerator.net
    # Put your favicons into `hexo-site/source/` (recommend) or `hexo-site/themes/next/source/images/` directory.

    # Default NexT favicons placed in `hexo-site/themes/next/source/images/` directory.
    # And if you want to place your icons in `hexo-site/source/` root directory, you must remove `/images` prefix from pathes.

    # For example, you put your favicons into `hexo-site/source/images` directory.
    # Then need to rename & redefine they on any other names, otherwise icons from Next will rewrite your custom icons in Hexo.
    favicon:
    small: /images/favicon.ico
    medium: /images/favicon.ico
    apple_touch_icon: /images/favicon.ico
    safari_pinned_tab: /images/favicon.ico
    #android_manifest: /images/manifest.json
    #ms_browserconfig: /images/browserconfig.xml

    # Set default keywords (Use a comma to separate)
    keywords: "Hexo, NexT"

    # Set rss to false to disable feed link.
    # Leave rss as empty to use site's feed link.
    # Set rss to specific value if you have burned your feed already.
    rss: /atom.xml

    footer:
    # Specify the date when the site was setup.
    # If not defined, current year will be used.
    #since: 2015

    # Icon between year and copyright info.
    icon: heart

    # If not defined, will be used `author` from Hexo main config.
    copyright:
    # -------------------------------------------------------------
    # Hexo link (Powered by Hexo).
    powered: true

    theme:
    # Theme & scheme info link (Theme - NexT.scheme).
    enable: true
    # Version info of NexT after scheme info (vX.X.X).
    version: true
    # -------------------------------------------------------------
    # Any custom text can be defined here.
    #custom_text: Hosted by <a target="_blank" href="https://pages.github.com">GitHub Pages</a>

    # ---------------------------------------------------------------
    # SEO Settings
    # ---------------------------------------------------------------

    # Canonical, set a canonical link tag in your hexo, you could use it for your SEO of blog.
    # See: https://support.google.com/webmasters/answer/139066
    # Tips: Before you open this tag, remember set up your URL in hexo _config.yml ( ex. url: http://yourdomain.com )
    canonical: true

    # Change headers hierarchy on site-subtitle (will be main site description) and on all post/pages titles for better SEO-optimization.
    seo: false

    # If true, will add site-subtitle to index page, added in main hexo config.
    # subtitle: Subtitle
    index_with_subtitle: false


    # ---------------------------------------------------------------
    # Menu Settings
    # ---------------------------------------------------------------

    # When running the site in a subdirectory (e.g. domain.tld/blog), remove the leading slash from link value (/archives -> archives).
    # Usage: `Key: /link/ || icon`
    # Key is the name of menu item. If translate for this menu will find in languages - this translate will be loaded; if not - Key name will be used. Key is case-senstive.
    # Value before `||` delimeter is the target link.
    # Value after `||` delimeter is the name of FontAwesome icon. If icon (with or without delimeter) is not specified, question icon will be loaded.
    menu:
    home: / || home
    about: /about/ || user
    tags: /tags/ || tags
    #categories: /categories/ || th
    archives: /archives/ || archive
    #schedule: /schedule/ || calendar
    #sitemap: /sitemap.xml || sitemap
    # commonweal: /404.html || heartbeat

    # Enable/Disable menu icons.
    menu_icons:
    enable: true


    # ---------------------------------------------------------------
    # Scheme Settings
    # ---------------------------------------------------------------

    # Schemes
    #scheme: Muse
    #scheme: Mist
    #scheme: Pisces
    scheme: Gemini


    # ---------------------------------------------------------------
    # Sidebar Settings
    # ---------------------------------------------------------------

    # Social Links. # 社交链接
    # Usage: `Key: permalink || icon`
    # Key is the link label showing to end users.
    # Value before `||` delimeter is the target permalink.
    # Value after `||` delimeter is the name of FontAwesome icon. If icon (with or without delimeter) is not specified, globe icon will be loaded.
    social:
    GitHub: # 格式参考下面
    微博:
    #知乎: # 因图标无法显示暂时放弃
    #E-Mail: mailto:yourname@gmail.com || envelope
    #Google: https://plus.google.com/yourname || google
    #Twitter: https://twitter.com/yourname || twitter
    #FB Page: https://www.facebook.com/yourname || facebook
    #VK Group: https://vk.com/yourname || vk
    #StackOverflow: https://stackoverflow.com/yourname || stack-overflow
    #YouTube: https://youtube.com/yourname || youtube
    #Instagram: https://instagram.com/yourname || instagram
    #Skype: skype:yourname?call|chat || skype

    social_icons:
    enable: true
    icons_only: true
    transition: true
    # Icon Mappings
    #GitHub: github
    #微博: weibo
    #知乎: zhihu

    # Blog rolls # 友情链接
    links_icon: link
    links_title: Links
    links_layout: block
    #links_layout: inline
    #links: # 链接详情
    #Title: http://example.com/

    # Sidebar Avatar
    # in theme directory(source/images): /images/avatar.gif
    # in site directory(source/uploads): /uploads/avatar.gif
    avatar: /images/MyPortrait.JPG #头像

    # Table Of Contents in the Sidebar
    toc:
    enable: true

    # Automatically add list number to toc.
    number: true

    # If true, all words will placed on next lines if header width longer then sidebar width.
    wrap: false

    # Creative Commons 4.0 International License.
    # http://creativecommons.org/
    # Available: by | by-nc | by-nc-nd | by-nc-sa | by-nd | by-sa | zero
    #creative_commons: by-nc-sa
    #creative_commons:

    sidebar:
    # Sidebar Position, available value: left | right (only for Pisces | Gemini).
    #position: left
    position: right

    # Sidebar Display, available value (only for Muse | Mist):
    # - post expand on posts automatically. Default.
    # - always expand for all pages automatically
    # - hide expand only when click on the sidebar toggle icon.
    # - remove Totally remove sidebar including sidebar toggle.
    display: post
    #display: always
    #display: hide
    #display: remove

    # Sidebar offset from top menubar in pixels (only for Pisces | Gemini).
    offset: 12

    # Back to top in sidebar (only for Pisces | Gemini).
    b2t: false

    # Scroll percent label in b2t button.
    scrollpercent: false

    # Enable sidebar on narrow view (only for Muse | Mist).
    onmobile: false


    # ---------------------------------------------------------------
    # Post Settings
    # ---------------------------------------------------------------

    # Automatically scroll page to section which is under <!-- more --> mark.
    scroll_to_more: true

    # Automatically saving scroll position on each post/page in cookies.
    save_scroll: false

    # Automatically excerpt description in homepage as preamble text.
    excerpt_description: true

    # Automatically Excerpt. Not recommend.
    # Please use <!-- more --> in the post to control excerpt accurately.
    auto_excerpt:
    enable: false
    length: 150

    # Post meta display settings
    post_meta:
    item_text: true
    created_at: true
    updated_at: true
    categories: true

    # Post wordcount display settings # 文章字数统计
    # Dependencies: https://github.com/willin/hexo-wordcount
    post_wordcount:
    item_text: true
    wordcount: true
    min2read: true
    totalcount: true
    separated_meta: true

    # Wechat Subscriber # 关注微信公众号功能
    #wechat_subscriber:
    #enabled: true
    #qcode: /path/to/your/wechatqcode ex. /uploads/wechat-qcode.jpg
    #description: ex. subscribe to my blog by scanning my public wechat account

    # Reward # 打赏功能
    #reward_comment: Donate comment here # 打赏文字说明
    #wechatpay: /images/wechatpay.jpg # 微信收款码~~
    #alipay: /images/alipay.jpg # alipay收款码~~
    #bitcoin: /images/bitcoin.png

    # Declare license on posts
    post_copyright:
    enable: false
    license: CC BY-NC-SA 3.0
    license_url: https://creativecommons.org/licenses/by-nc-sa/3.0/


    # ---------------------------------------------------------------
    # Misc Theme Settings
    # ---------------------------------------------------------------

    # Reduce padding / margin indents on devices with narrow width.
    mobile_layout_economy: false

    # Android Chrome header panel color ($black-deep).
    android_chrome_color: "#222"

    # Custom Logo.
    # !!Only available for Default Scheme currently.
    # Options:
    # enabled: [true/false] - Replace with specific image
    # image: url-of-image - Images's url
    custom_logo:
    enabled: false
    image:

    # Code Highlight theme
    # Available value:
    # normal | night | night eighties | night blue | night bright
    # https://github.com/chriskempson/tomorrow-theme
    highlight_theme: night bright # 设置代码高亮颜色


    # ---------------------------------------------------------------
    # Font Settings
    # - Find fonts on Google Fonts (https://www.google.com/fonts)
    # - All fonts set here will have the following styles:
    # light, light italic, normal, normal italic, bold, bold italic
    # - Be aware that setting too much fonts will cause site running slowly
    # - Introduce in 5.0.1
    # ---------------------------------------------------------------
    # CAUTION! Safari Version 10.1.2 bug: https://github.com/iissnan/hexo-theme-next/issues/1844
    # To avoid space between header and sidebar in Pisces / Gemini themes recommended to use Web Safe fonts for `global` (and `logo`):
    # Arial | Tahoma | Helvetica | Times New Roman | Courier New | Verdana | Georgia | Palatino | Garamond | Comic Sans MS | Trebuchet MS
    # ---------------------------------------------------------------
    font:
    enable: false

    # Uri of fonts host. E.g. //fonts.googleapis.com (Default).
    host:

    # Font options:
    # `external: true` will load this font family from `host` above.
    # `family: Times New Roman`. Without any quotes.
    # `size: xx`. Use `px` as unit.

    # Global font settings used on <body> element.
    global:
    external: true
    family: Lato
    size:

    # Font settings for Headlines (h1, h2, h3, h4, h5, h6).
    # Fallback to `global` font settings.
    headings:
    external: true
    family:
    size:

    # Font settings for posts.
    # Fallback to `global` font settings.
    posts:
    external: true
    family:

    # Font settings for Logo.
    # Fallback to `global` font settings.
    logo:
    external: true
    family:
    size:

    # Font settings for <code> and code blocks.
    codes:
    external: true
    family:
    size:


    # ---------------------------------------------------------------
    # Third Party Services Settings
    # ---------------------------------------------------------------

    # MathJax Support
    mathjax:
    enable: false
    per_page: false
    cdn: //cdn.bootcss.com/mathjax/2.7.1/latest.js?config=TeX-AMS-MML_HTMLorMML

    # Han Support docs: https://hanzi.pro/
    han: false

    # Swiftype Search API Key
    #swiftype_key:

    # Baidu Analytics ID # 百度统计功能
    baidu_analytics: f2c0b6f0fcafbf7a9147ab3c95a28172

    # Duoshuo ShortName
    #duoshuo_shortname:

    # Disqus
    disqus:
    enable: false
    shortname:
    count: true

    # Hypercomments
    #hypercomments_id:

    # changyan
    changyan:
    enable: false
    appid:
    appkey:


    # Valine.
    # You can get your appid and appkey from https://leancloud.cn
    # more info please open https://valine.js.org
    valine:
    enable: false
    appid: # your leancloud application appid
    appkey: # your leancloud application appkey
    notify: false # mail notifier , https://github.com/xCss/Valine/wiki
    verify: false # Verification code
    placeholder: Just go go # comment box placeholder
    avatar: mm # gravatar style
    guest_info: nick,mail,link # custom comment header
    pageSize: 10 # pagination size


    # Support for youyan comments system.
    # You can get your uid from http://www.uyan.cc
    #youyan_uid: your uid

    # Support for LiveRe comments system. # 来比力评论
    # You can get your uid from https://livere.com/insight/myCode (General web site)
    livere_uid: MTAyMC8zOTA4OS8xNTYxNg

    # Gitment
    # Introduction: https://imsun.net/posts/gitment-introduction/
    # You can get your Github ID from https://api.github.com/users/<Github username>
    gitment:
    enable: false
    mint: true # RECOMMEND, A mint on Gitment, to support count, language and proxy_gateway
    count: true # Show comments count in post meta area
    lazy: false # Comments lazy loading with a button
    cleanly: false # Hide 'Powered by ...' on footer, and more
    language: # Force language, or auto switch by theme
    github_user: # MUST HAVE, Your Github ID
    github_repo: # MUST HAVE, The repo you use to store Gitment comments
    client_id: # MUST HAVE, Github client id for the Gitment
    client_secret: # EITHER this or proxy_gateway, Github access secret token for the Gitment
    proxy_gateway: # Address of api proxy, See: https://github.com/aimingoo/intersect
    redirect_protocol: # Protocol of redirect_uri with force_redirect_protocol when mint enabled

    # Baidu Share
    # Available value:
    # button | slide
    # Warning: Baidu Share does not support https.
    #baidushare:
    ## type: button

    # Share
    # This plugin is more useful in China, make sure you known how to use it.
    # And you can find the use guide at official webiste: http://www.jiathis.com/.
    # Warning: JiaThis does not support https.
    #jiathis:
    ##uid: Get this uid from http://www.jiathis.com/
    #add_this_id:

    # Share
    #duoshuo_share: true

    # NeedMoreShare2
    # This plugin is a pure javascript sharing lib which is useful in China.
    # See: https://github.com/revir/need-more-share2
    # Also see: https://github.com/DzmVasileusky/needShareButton
    # iconStyle: default | box
    # boxForm: horizontal | vertical
    # position: top / middle / bottom + Left / Center / Right
    # networks: Weibo,Wechat,Douban,QQZone,Twitter,Linkedin,Mailto,Reddit,
    # Delicious,StumbleUpon,Pinterest,Facebook,GooglePlus,Slashdot,
    # Technorati,Posterous,Tumblr,GoogleBookmarks,Newsvine,
    # Evernote,Friendfeed,Vkontakte,Odnoklassniki,Mailru
    needmoreshare2:
    enable: false
    postbottom:
    enable: false
    options:
    iconStyle: box
    boxForm: horizontal
    position: bottomCenter
    networks: Weibo,Wechat,Douban,QQZone,Twitter,Facebook
    float:
    enable: false
    options:
    iconStyle: box
    boxForm: horizontal
    position: middleRight
    networks: Weibo,Wechat,Douban,QQZone,Twitter,Facebook

    # Google Webmaster tools verification setting
    # See: https://www.google.com/webmasters/
    #google_site_verification:

    # Google Analytics
    #google_analytics:

    # Bing Webmaster tools verification setting
    # See: https://www.bing.com/webmaster/
    #bing_site_verification:

    # Yandex Webmaster tools verification setting
    # See: https://webmaster.yandex.ru/
    #yandex_site_verification:

    # CNZZ count
    #cnzz_siteid:

    # Application Insights
    # See https://azure.microsoft.com/en-us/services/application-insights/
    # application_insights:

    # Make duoshuo show UA
    # user_id must NOT be null when admin_enable is true!
    # you can visit http://dev.duoshuo.com get duoshuo user id.
    duoshuo_info:
    ua_enable: true
    admin_enable: false
    user_id: 0
    #admin_nickname: Author

    # Post widgets & FB/VK comments settings.
    # ---------------------------------------------------------------
    # Facebook SDK Support.
    # https://github.com/iissnan/hexo-theme-next/pull/410
    facebook_sdk:
    enable: false
    app_id: #<app_id>
    fb_admin: #<user_id>
    like_button: #true
    webmaster: #true

    # Facebook comments plugin
    # This plugin depends on Facebook SDK.
    # If facebook_sdk.enable is false, Facebook comments plugin is unavailable.
    facebook_comments_plugin:
    enable: false
    num_of_posts: 10 # min posts num is 1
    width: 100% # default width is 550px
    scheme: light # default scheme is light (light or dark)

    # VKontakte API Support.
    # To get your AppID visit https://vk.com/editapp?act=create
    vkontakte_api:
    enable: false
    app_id: #<app_id>
    like: true
    comments: true
    num_of_posts: 10

    # Star rating support to each article.
    # To get your ID visit https://widgetpack.com
    rating:
    enable: false
    id: #<app_id>
    color: fc6423
    # ---------------------------------------------------------------

    # Show number of visitors to each article.
    # You can visit https://leancloud.cn get AppID and AppKey.
    leancloud_visitors:
    enable: false
    app_id: #<app_id>
    app_key: #<app_key>

    # Another tool to show number of visitors to each article.
    # visit https://console.firebase.google.com/u/0/ to get apiKey and projectId
    # visit https://firebase.google.com/docs/firestore/ to get more information about firestore
    firestore:
    enable: false
    collection: articles #required, a string collection name to access firestore database
    apiKey: #required
    projectId: #required
    bluebird: false #enable this if you want to include bluebird 3.5.1(core version) Promise polyfill

    # Show PV/UV of the website/page with busuanzi.
    # Get more information on http://ibruce.info/2015/04/04/busuanzi/
    busuanzi_count: # 不算子统计,展示文章阅读量及网站浏览量
    # count values only if the other configs are false
    enable: true
    # custom uv span for the whole site
    site_uv: true
    # site_uv_header: <i class="fa fa-user"></i>
    # site_uv_footer:
    site_uv_header: <i class="fa fa-user"></i>访问用户:
    site_uv_footer:

    # custom pv span for the whole site
    site_pv: true
    # site_pv_header: <i class="fa fa-eye"></i>
    # site_pv_footer:
    site_pv_header: <i class="fa fa-eye"></i>访问量:
    site_pv_footer:

    # custom pv span for one page only
    page_pv: true
    page_pv_header: <i class="fa fa-eye"></i>
    # page_pv_footer:
    # page_pv_header: 本文总阅读量
    page_pv_footer: ℃


    # Tencent analytics ID
    # tencent_analytics:

    # Tencent MTA ID
    # tencent_mta:


    # Enable baidu push so that the blog will push the url to baidu automatically which is very helpful for SEO
    # 主动向百度推送文章
    baidu_push: true

    # Google Calendar
    # Share your recent schedule to others via calendar page
    #
    # API Documentation:
    # https://developers.google.com/google-apps/calendar/v3/reference/events/list
    calendar:
    enable: false
    calendar_id: <required>
    api_key: <required>
    orderBy: startTime
    offsetMax: 24
    offsetMin: 4
    timeZone:
    showDeleted: false
    singleEvents: true
    maxResults: 250

    # Algolia Search
    algolia_search:
    enable: false
    hits:
    per_page: 10
    labels:
    input_placeholder: Search for Posts
    hits_empty: "We didn't find any results for the search: ${query}"
    hits_stats: "${hits} results found in ${time} ms"

    # Local search
    # Dependencies: https://github.com/flashlab/hexo-generator-search
    local_search:
    enable: false
    # if auto, trigger search by changing input
    # if manual, trigger search by pressing enter key or search button
    trigger: auto
    # show top n results per article, show all results by setting to -1
    top_n_per_article: 1


    # ---------------------------------------------------------------
    # Tags Settings
    # ---------------------------------------------------------------

    # External URL with BASE64 encrypt & decrypt.
    # Usage: {% exturl text url "title" %}
    # Alias: {% extlink text url "title" %}
    exturl: false

    # Note tag (bs-callout).
    note:
    # Note tag style values:
    # - simple bs-callout old alert style. Default.
    # - modern bs-callout new (v2-v3) alert style.
    # - flat flat callout style with background, like on Mozilla or StackOverflow.
    # - disabled disable all CSS styles import of note tag.
    style: simple
    icons: false
    border_radius: 3
    # Offset lighter of background in % for modern and flat styles (modern: -12 | 12; flat: -18 | 6).
    # Offset also applied to label tag variables. This option can work with disabled note tag.
    light_bg_offset: 0

    # Label tag.
    label: true

    # Tabs tag.
    tabs:
    enable: true
    transition:
    tabs: false
    labels: true
    border_radius: 0


    #! ---------------------------------------------------------------
    #! DO NOT EDIT THE FOLLOWING SETTINGS
    #! UNLESS YOU KNOW WHAT YOU ARE DOING
    #! ---------------------------------------------------------------

    # Use velocity to animate everything.
    motion:
    enable: true
    async: false
    transition:
    # Transition variants:
    # fadeIn | fadeOut | flipXIn | flipXOut | flipYIn | flipYOut | flipBounceXIn | flipBounceXOut | flipBounceYIn | flipBounceYOut
    # swoopIn | swoopOut | whirlIn | whirlOut | shrinkIn | shrinkOut | expandIn | expandOut
    # bounceIn | bounceOut | bounceUpIn | bounceUpOut | bounceDownIn | bounceDownOut | bounceLeftIn | bounceLeftOut | bounceRightIn | bounceRightOut
    # slideUpIn | slideUpOut | slideDownIn | slideDownOut | slideLeftIn | slideLeftOut | slideRightIn | slideRightOut
    # slideUpBigIn | slideUpBigOut | slideDownBigIn | slideDownBigOut | slideLeftBigIn | slideLeftBigOut | slideRightBigIn | slideRightBigOut
    # perspectiveUpIn | perspectiveUpOut | perspectiveDownIn | perspectiveDownOut | perspectiveLeftIn | perspectiveLeftOut | perspectiveRightIn | perspectiveRightOut
    post_block: fadeIn
    post_header: slideDownIn
    post_body: slideDownIn
    coll_header: slideLeftIn
    # Only for Pisces | Gemini.
    sidebar: slideUpIn

    # Fancybox
    fancybox: true

    # Progress bar in the top during page loading. # 顶部显示加载条
    pace: true
    # Themes list:
    #pace-theme-big-counter
    #pace-theme-bounce
    #pace-theme-barber-shop
    #pace-theme-center-atom
    #pace-theme-center-circle
    #pace-theme-center-radar
    #pace-theme-center-simple
    #pace-theme-corner-indicator
    #pace-theme-fill-left
    #pace-theme-flash
    #pace-theme-loading-bar
    #pace-theme-mac-osx
    #pace-theme-minimal
    # For example
    # pace_theme: pace-theme-center-simple
    pace_theme: pace-theme-minimal

    # Canvas-nest # 背景动画效果
    canvas_nest: true

    # three_waves # 背景动画效果
    three_waves: false

    # canvas_lines # 背景动画效果
    canvas_lines: false

    # canvas_sphere # 背景动画效果
    canvas_sphere: false

    # Only fit scheme Pisces
    # Canvas-ribbon
    # size: The width of the ribbon.
    # alpha: The transparency of the ribbon.
    # zIndex: The display level of the ribbon.
    canvas_ribbon:
    enable: false
    size: 300
    alpha: 0.6
    zIndex: -1

    # Script Vendors. 设置第三方库
    # Set a CDN address for the vendor you want to customize.
    # For example
    # jquery: https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js
    # Be aware that you should use the same version as internal ones to avoid potential problems.
    # Please use the https protocol of CDN files when you enable https on your site.
    vendors:
    # Internal path prefix. Please do not edit it.
    _internal: lib

    # Internal version: 2.1.3
    jquery:

    # Internal version: 2.1.5
    # See: http://fancyapps.com/fancybox/
    fancybox:
    fancybox_css:

    # Internal version: 1.0.6
    # See: https://github.com/ftlabs/fastclick
    fastclick:

    # Internal version: 1.9.7
    # See: https://github.com/tuupola/jquery_lazyload
    lazyload:

    # Internal version: 1.2.1
    # See: http://VelocityJS.org
    velocity:

    # Internal version: 1.2.1
    # See: http://VelocityJS.org
    velocity_ui:

    # Internal version: 0.7.9
    # See: https://faisalman.github.io/ua-parser-js/
    ua_parser:

    # Internal version: 4.6.2
    # See: http://fontawesome.io/
    fontawesome:

    # Internal version: 1
    # https://www.algolia.com
    algolia_instant_js:
    algolia_instant_css:

    # Internal version: 1.0.2
    # See: https://github.com/HubSpot/pace
    # Or use direct links below:
    # pace: //cdn.bootcss.com/pace/1.0.2/pace.min.js
    # pace_css: //cdn.bootcss.com/pace/1.0.2/themes/blue/pace-theme-flash.min.css
    pace:
    pace_css:

    # Internal version: 1.0.0
    # https://github.com/hustcc/canvas-nest.js
    canvas_nest:

    # three
    three:

    # three_waves
    # https://github.com/jjandxa/three_waves
    three_waves:

    # three_waves
    # https://github.com/jjandxa/canvas_lines
    canvas_lines:

    # three_waves
    # https://github.com/jjandxa/canvas_sphere
    canvas_sphere:

    # Internal version: 1.0.0
    # https://github.com/zproo/canvas-ribbon
    canvas_ribbon:

    # Internal version: 3.3.0
    # https://github.com/ethantw/Han
    han:

    # needMoreShare2
    # https://github.com/revir/need-more-share2
    needMoreShare2:


    # Assets
    css: css
    js: js
    images: images

    # 文章末尾添加“本文结束”标记
    passage_end_tag:
    enabled: true

    # 此处设置成true之后,将themes/next/layout/_partials/head.swig
    # 下把默认的百度和 google 验证值替换为搜索引擎为你提供的完整HTML标签即可
    google_site_verification: true
    baidu_site_verification: true

    # Theme version
    version: 5.1.4


结语

第三方

  • 七牛云(免费图床,非打广告)
  • 来比力(评论系统,使用方法参照下面的链接)

参考文章

-------------End,感谢阅读!-------------

本文标题:GitHub+hexo折腾记

文章作者:加贝H

原始链接:https://jiabeih.cn/2018/08/20/github+hexo折腾记/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。