Hexo 入门指南(二) - 安装、初始化和配置

安装和初始化

linux下打开bash,win下面打开cmd,输入:

  1. $ npm install hexo -g
  2. $ hexo init blog
  3. $ cd blog
  4. $ npm install
  5. $ hexo server

访问http://localhost:4000,会看到生成好的博客。

同时,在blog文件夹中,文件如下:

  1. 2014/11/01 19:45 <DIR> .
  2. 2014/11/01 19:45 <DIR> ..
  3. 2014/11/01 11:16 68 .gitignore
  4. 2014/11/01 17:33 13,767 db.json
  5. 2014/11/01 11:16 <DIR> node_modules
  6. 2014/11/01 11:17 186 package.json
  7. 2014/11/01 11:23 <DIR> public
  8. 2014/11/01 11:16 <DIR> scaffolds
  9. 2014/11/01 17:31 <DIR> source
  10. 2014/11/01 11:16 <DIR> themes
  11. 2014/11/01 11:38 1,844 _config.yml

配置

站点的配置文件是_config.yml,如果你不小心改花了,这里提供了一份默认的:

  1. # Hexo Configuration
  2. ## Docs: http://hexo.io/docs/configuration.html
  3. ## Source: https://github.com/hexojs/hexo/
  4. # Site
  5. title: Hexo
  6. subtitle:
  7. description:
  8. author: John Doe
  9. email:
  10. language:
  11. # URL
  12. ## If your site is put in a subdirectory, set url as 'http://yoursite.com/child' and root as '/child/'
  13. url: http://yoursite.com
  14. root: /
  15. permalink: :year/:month/:day/:title/
  16. tag_dir: tags
  17. archive_dir: archives
  18. category_dir: categories
  19. code_dir: downloads/code
  20. permalink_defaults:
  21. # Directory
  22. source_dir: source
  23. public_dir: public
  24. # Writing
  25. new_post_name: :title.md # File name of new posts
  26. default_layout: post
  27. titlecase: false # Transform title into titlecase
  28. external_link: true # Open external links in new tab
  29. filename_case: 0
  30. render_drafts: false
  31. post_asset_folder: false
  32. relative_link: false
  33. highlight:
  34. enable: true
  35. line_number: true
  36. tab_replace:
  37. # Category & Tag
  38. default_category: uncategorized
  39. category_map:
  40. tag_map:
  41. # Archives
  42. ## 2: Enable pagination
  43. ## 1: Disable pagination
  44. ## 0: Fully Disable
  45. archive: 2
  46. category: 2
  47. tag: 2
  48. # Server
  49. ## Hexo uses Connect as a server
  50. ## You can customize the logger format as defined in
  51. ## http://www.senchalabs.org/connect/logger.html
  52. port: 4000
  53. server_ip: localhost
  54. logger: false
  55. logger_format: dev
  56. # Date / Time format
  57. ## Hexo uses Moment.js to parse and display date
  58. ## You can customize the date format as defined in
  59. ## http://momentjs.com/docs/#/displaying/format/
  60. date_format: MMM D YYYY
  61. time_format: H:mm:ss
  62. # Pagination
  63. ## Set per_page to 0 to disable pagination
  64. per_page: 10
  65. pagination_dir: page
  66. # Disqus
  67. disqus_shortname:
  68. # Extensions
  69. ## Plugins: https://github.com/hexojs/hexo/wiki/Plugins
  70. ## Themes: https://github.com/hexojs/hexo/wiki/Themes
  71. theme: landscape
  72. exclude_generator:
  73. # Deployment
  74. ## Docs: http://hexo.io/docs/deployment.html
  75. deploy:
  76. type:

官方的页面上也提供了每一项详细的解释。

我们需要修改的只有Site部分,以及URL部分的url。Site部分每一项依次是标题、副标题、描述、作者、邮箱和语言(天朝大陆填zh-CN)。url改成网站的网址,如果你的网站放在某个子目录下,比如http://yoursite.com/child,root改成/child。

Server部分,如果之前你的服务器没有运行起来,则可能是端口被占了。把port改成别的数字,或者强行关掉占着端口的进程。

其它设置项先不用管,将会在接下来的文章中解释。

注意

如果页面中出现中文,应以UTF-8无BOM编码格式,所以不要用win自带的记事本,而是用notepad++这种支持编码转换的编辑器。

由于google在天朝大陆被墙,进入themes\landscape\layout_partial,打开head.ejs,删掉第31行fonts.googleapis.com的链接。

下载下来jquery-2.0.3.min.js,放到themes\landscape\source\js文件夹中。之后进入themes\landscape\layout_partial,打开after-footer.ejs,将第17行的路径替换为/js/jquery-2.0.3.min.js。

至此大功告成。