hexo+github+zeabur个人博客

打印 上一主题 下一主题

主题 518|帖子 518|积分 1554


title: blog
date: 2024-08-14 11:24:35
categories:


  • Hexo
  • blog
  • 教程
tags:


  • Hexo
  • 教程
    keywords: “blog,Hexo,github”
    cover: https://s2.loli.net/2024/08/14/xCVrUGEQ1WhSpPs.png

访问个人blog查看详情 https://caokaier.zeabur.app/
可以使用hexo+github pages直接搭建,这里使用zeabur设置域名访问
安装git、node.js(这里不过多赘述)
Hexo文档以及主题 https://hexo.io/zh-cn/ 注意官方文档很久没更新了
  1. #验证Node.js、npm、git是否正常安装
  2. node -v
  3. npm -v
  4. git -v
复制代码
  1. #安装Hexo
  2. npm install -g hexo-cli   #国内安装较慢
  3. #修改为使用阿里云镜像源安装
  4. 访问  https://npmmirror.com/  复制代码 即:
  5. npm install -g cnpm --registry=https://registry.npmmirror.com   #这个过程可能相对较慢,耐心等待,安装后把npm换成cnpm使用
  6. #安装Hexo
  7. cnpm install -g hexo-cli
复制代码
  1. #初始化Hexo项目
  2. hexo init blogfile     #在选定位置执行,会生成blogfile文件项目,拉取可能失败,多执行几次即可
  3. #也可以新建好blogfile文件夹,进入后直接执行   hexo init          尝试几次发现这样拉取成功几率大
复制代码
  1. #我这里出现了一下错误,没有错误的可以忽略直接 hexo g   并启动服务 hexo s  这里 hexo init 时下载依赖失败    手动下载
  2. #一下是全部过程,耐心查看
  3. beast@gentle-beast MINGW64 /d
  4. $ hexo init blogfile
  5. INFO  Cloning hexo-starter https://github.com/hexojs/hexo-starter.git
  6. INFO  Install dependencies
  7. warning hexo > warehouse > cuid@2.1.8: Cuid and other k-sortable and non-cryptog
  8. raphic ids (Ulid, ObjectId, KSUID, all UUIDs) are all insecure. Use @paralleldri
  9. ve/cuid2 instead.
  10. warning hexo-renderer-marked > jsdom > abab@2.0.6: Use your platform's native at
  11. ob() and btoa() methods instead
  12. warning hexo-renderer-marked > jsdom > data-urls > abab@2.0.6: Use your platform
  13. 's native atob() and btoa() methods instead
  14. warning hexo-renderer-marked > jsdom > domexception@4.0.0: Use your platform's n
  15. ative DOMException instead
  16. warning hexo-renderer-stylus > stylus > glob@7.2.3: Glob versions prior to v9 ar
  17. e no longer supported
  18. warning hexo-renderer-stylus > stylus > glob > inflight@1.0.6: This module is no
  19. t supported, and leaks memory. Do not use it. Check out lru-cache if you want a
  20. good and tested way to coalesce async requests by a key value, which is much mor
  21. e comprehensive and powerful.
  22. WARN  Failed to install dependencies. Please run 'npm install' in "D:\blogfile"
  23. folder.
  24. #这里报错依赖
  25. beast@gentle-beast MINGW64 /d
  26. $ cd blogfile/
  27. beast@gentle-beast MINGW64 /d/blogfile
  28. $ ls
  29. _config.landscape.yml  node_modules/  scaffolds/  themes/
  30. _config.yml            package.json   source/
  31. #使用cnpm手动安装
  32. beast@gentle-beast MINGW64 /d/blogfile
  33. $ cnpm install
  34. √ Installed 10 packages on D:\blogfile
  35. √ All packages installed (used 36ms(network 27ms), speed 0B/s, json 0(0B), tarba
  36. ll 0B, manifests cache hit 0, etag hit 0 / miss 0)
  37. #生成静态文件又报错,报错显示highlight.js 模块可能中出现了语法错误
  38. beast@gentle-beast MINGW64 /d/blogfile
  39. $ hexo g
  40. INFO  Validating config
  41. INFO  Start processing
  42. FATAL Something's wrong. Maybe you can find the solution here: https://hexo.io/d
  43. ocs/troubleshooting.html
  44. D:\blogfile\node_modules\highlight.js\lib\languages\isbl.js:1806
  45.   // enum TE
  46. SyntaxError: Unexpected end of input
  47.     at wrapSafe (node:internal/modules/cjs/loader:1281:20)
  48.     at Module._compile (node:internal/modules/cjs/loader:1321:27)
  49.     at Module._extensions..js (node:internal/modules/cjs/loader:1416:10)
  50.     at Module.load (node:internal/modules/cjs/loader:1208:32)
  51.     at Module._load (node:internal/modules/cjs/loader:1024:12)
  52.     at Module.require (node:internal/modules/cjs/loader:1233:19)
  53.     at require (node:internal/modules/helpers:179:18)
  54.     at Object.<anonymous> (D:\blogfile\node_modules\highlight.js\lib\index.js:88
  55. :31)
  56.     at Module._compile (node:internal/modules/cjs/loader:1358:14)
  57.     at Module._extensions..js (node:internal/modules/cjs/loader:1416:10)
  58.     at Module.load (node:internal/modules/cjs/loader:1208:32)
  59.     at Module._load (node:internal/modules/cjs/loader:1024:12)
  60.     at Module.require (node:internal/modules/cjs/loader:1233:19)
  61.     at require (node:internal/modules/helpers:179:18)
  62.     at highlightUtil (D:\blogfile\node_modules\hexo-util\dist\highlight.js:19:16
  63. )
  64.     at Hexo.highlightFilter (D:\blogfile\node_modules\hexo\dist\plugins\highligh
  65. t\highlight.js:41:12)
  66.     at SyntaxHighlight.exec (D:\blogfile\node_modules\hexo\dist\extend\syntax_hi
  67. ghlight.js:21:24)
  68.     at D:\blogfile\node_modules\hexo\dist\plugins\filter\before_post_render\back
  69. tick_code_block.js:49:44
  70.     at String.replace (<anonymous>)
  71.     at Hexo.backtickCodeBlock (D:\blogfile\node_modules\hexo\dist\plugins\filter
  72. \before_post_render\backtick_code_block.js:11:36)
  73.     at Hexo.tryCatcher (D:\blogfile\node_modules\bluebird\js\release\util.js:16:
  74. 23)
  75.     at Hexo.<anonymous> (D:\blogfile\node_modules\bluebird\js\release\method.js:
  76. 15:34)
  77. #更新 Hexo 和相关依赖,重新安装highlight.js
  78. beast@gentle-beast MINGW64 /d/blogfile
  79. $ npm update
  80. npm warn deprecated inflight@1.0.6: This module is not supported, and leaks memo
  81. ry. Do not use it. Check out lru-cache if you want a good and tested way to coal
  82. esce async requests by a key value, which is much more comprehensive and powerfu
  83. l.
  84. npm warn deprecated glob@7.2.3: Glob versions prior to v9 are no longer supporte
  85. d
  86. npm warn deprecated abab@2.0.6: Use your platform's native atob() and btoa() met
  87. hods instead
  88. npm warn deprecated domexception@4.0.0: Use your platform's native DOMException
  89. instead
  90. npm warn deprecated cuid@2.1.8: Cuid and other k-sortable and non-cryptographic
  91. ids (Ulid, ObjectId, KSUID, all UUIDs) are all insecure. Use @paralleldrive/cuid
  92. 2 instead.
  93. added 3 packages, removed 1 package, and changed 224 packages in 3m
  94. 23 packages are looking for funding
  95.   run `npm fund` for details
  96. beast@gentle-beast MINGW64 /d/blogfile
  97. $ npm uninstall highlight.js
  98. up to date in 1s
  99. 23 packages are looking for funding
  100.   run `npm fund` for details
  101. #使用cnpm重新安装highlight.js
  102. beast@gentle-beast MINGW64 /d/blogfile
  103. $ cnpm install highlight.js
  104. √ Linked 1 latest versions fallback to D:\blogfile\node_modules\.store\node_modu
  105. les
  106. √ Installed 1 packages on D:\blogfile
  107. √ All packages installed (1 packages installed from npm registry, used 7s(networ
  108. k 7s), speed 0B/s, json 0(0B), tarball 0B, manifests cache hit 1, etag hit 1 / m
  109. iss 0)
  110. dependencies:
  111. + highlight.js ^11.10.0
  112. #清理缓存并使用cnpm重新安装依赖
  113. beast@gentle-beast MINGW64 /d/blogfile
  114. $ cnpm cache clean --force
  115. npm WARN using --force Recommended protections disabled.
  116. beast@gentle-beast MINGW64 /d/blogfile
  117. $ rm -rf node_modules
  118. beast@gentle-beast MINGW64 /d/blogfile
  119. $ cnpm install
  120. √ Linked 208 latest versions fallback to D:\blogfile\node_modules\.store\node_mo
  121. dules
  122. deprecate hexo-renderer-stylus@3.0.1 › stylus@0.62.0 › glob@^7.1.6 Glob versions
  123. prior to v9 are no longer supported
  124. deprecate hexo-renderer-stylus@3.0.1 › stylus@0.62.0 › glob@7.2.3 › inflight@^1.
  125. 0.4 This module is not supported, and leaks memory. Do not use it. Check out lru
  126. -cache if you want a good and tested way to coalesce async requests by a key val
  127. ue, which is much more comprehensive and powerful.
  128. deprecate hexo-renderer-marked@6.3.0 › jsdom@20.0.3 › domexception@^4.0.0 Use yo
  129. ur platform's native DOMException instead
  130. deprecate hexo-renderer-marked@6.3.0 › jsdom@20.0.3 › abab@^2.0.6 Use your platf
  131. orm's native atob() and btoa() methods instead
  132. deprecate hexo@7.3.0 › warehouse@5.0.1 › cuid@^2.1.8 Cuid and other k-sortable a
  133. nd non-cryptographic ids (Ulid, ObjectId, KSUID, all UUIDs) are all insecure. Us
  134. e @paralleldrive/cuid2 instead.
  135. √ Run 1 script(s) in 835ms.
  136. √ Installed 11 packages on D:\blogfile
  137. √ All packages installed (220 packages installed from npm registry, used 10s(net
  138. work 10s), speed 553.16KB/s, json 155(1.17MB), tarball 4.36MB, manifests cache h
  139. it 54, etag hit 53 / miss 89)
  140. #cnpm install 命令成功地安装了依赖包,但有一些关于依赖包的警告和弃用提示,不必理会
  141. #成功,莫名其妙ps:有大佬来解释一下吗
  142. beast@gentle-beast MINGW64 /d/blogfile
  143. $ hexo g
  144. INFO  Validating config
  145. INFO  Start processing
  146. INFO  Files loaded in 236 ms
  147. INFO  Generated: archives/2024/index.html
  148. INFO  Generated: archives/2024/08/index.html
  149. INFO  Generated: archives/index.html
  150. INFO  Generated: index.html
  151. INFO  Generated: fancybox/jquery.fancybox.min.css
  152. INFO  Generated: css/style.css
  153. INFO  Generated: js/jquery-3.6.4.min.js
  154. INFO  Generated: fancybox/jquery.fancybox.min.js
  155. INFO  Generated: js/script.js
  156. INFO  Generated: css/images/banner.jpg
  157. INFO  Generated: 2024/08/13/hello-world/index.html
  158. INFO  11 files generated in 238 ms
  159. #成功启动服务
  160. beast@gentle-beast MINGW64 /d/blogfile
  161. $ hexo s
  162. INFO  Validating config
  163. INFO  Start processing
  164. INFO  Hexo is running at http://localhost:4000/ . Press Ctrl+C to stop.
  165. #此时访问http://localhost:4000/,已经成功了
复制代码
  1. #安装切换主题,我这里选了Butterfly,一直喜欢这个风格,访问github,可能需要科学上网,不能科学上网的使用steam++加速github,直接复制下面代码也行
复制代码
  1. git clone -b master https://github.com/jerryc127/hexo-theme-butterfly.git themes/butterfly
  2. #这里证书加速有问题的话是因为开了网络加速
  3. #关闭证书验证
  4. git config --global http.sslVerify false
  5. #安装 pug & stylus renderer
  6. npm install hexo-renderer-pug hexo-renderer-stylus
复制代码
  1. #修改项目根目录配置文件_config.yml,别找成主题的_config.yml
  2. #修改主题为
  3. theme: butterfly    #这里使用什么主题就写什么
复制代码
  1. #清理缓存,重新生成静态文件并运行
  2. hexo clean
  3. # 或hexo c 或hexo cl
  4. #这里有报错看下面,少一个组件,官方文档的事
  5. $ hexo cl
  6. INFO  Validating config
  7. ERROR Script load failed: themes\butterfly\scripts\filters\post_lazyload.js
  8. Error: Cannot find module 'hexo-util'
  9. beast@gentle-beast MINGW64 /d/blogfile
  10. $ cnpm install hexo-util --save
  11. √ Linked 1 latest versions fallback to D:\blogfile\node_modules\.store\node_modules
  12. √ Installed 1 packages on D:\blogfile
  13. √ All packages installed (used 92ms(network 90ms), speed 0B/s, json 0(0B), tarball 0B, manifests cache hit 1, etag hit 1 / miss
  14. 0)
  15. dependencies:
  16. + hexo-util ^3.3.0
  17. $ hexo cl
  18. INFO  Validating config
  19. INFO
  20.   ===================================================================
  21.       #####  #    # ##### ##### ###### #####  ###### #      #   #
  22.       #    # #    #   #     #   #      #    # #      #       # #
  23.       #####  #    #   #     #   #####  #    # #####  #        #
  24.       #    # #    #   #     #   #      #####  #      #        #
  25.       #    # #    #   #     #   #      #   #  #      #        #
  26.       #####   ####    #     #   ###### #    # #      ######   #
  27.                             4.13.0
  28.   ===================================================================
  29. #然后生成静态文件
  30. hexo generate
  31. # 或hexo g
  32. hexo server
  33. # 或hexo s  访问http://localhost:4000/
复制代码
  1. #修改主题内容,不修改的话图片很简约
  2. #访问github上butterfly主题的Docs中文版,看到升级建议
复制代码
  1. 為了減少升級主題後帶來的不便,請使用以下方法(建議,可以不做)。
  2. 在 hexo 的根目錄創建一個文件 _config.butterfly.yml,並把主題目錄的 _config.yml 內容複製到 _config.butterfly.yml 去。( 注意: 複製的是主題的 _config.yml ,而不是 hexo 的 _config.yml)
  3. 作者: Jerry
  4. 連結: https://butterfly.js.org/posts/21cfbf15/
  5. 來源: Butterfly
  6. 著作權歸作者所有。商業轉載請聯繫作者獲得授權,非商業轉載請註明出處。
复制代码
  1. 注意: 不要把主題目錄的 _config.yml 刪掉
  2. 注意: 以後只需要在 _config.butterfly.yml 進行配置就行。
  3. 如果使用了 _config.butterfly.yml, 配置主題的 _config.yml 將不會有效果。
  4. Hexo會自動合併主題中的 _config.yml 和 _config.butterfly.yml 裏的配置,如果存在同名配置,會使用 _config.butterfly.yml 的配置,其優先度較高。
复制代码
  1. #创建完成后,这里使用了https://sm.ms/,一个免费的在线图床服务
  2. #上传自己的图片,并生成链接,放入_config.butterfly.yml,这里只做演示,修改以下内容
复制代码
  1. #完成后重新清理缓存,生成静态文件并运行
  2. hexo cl
  3. hexo g
  4. hexo s
  5. #访问http://localhost:4000/查看
复制代码
  1. #推送或部署到GitHub,首先安装部署插件
  2. cnpm install hexo-deployer-git --save
  3. #配置Hexo部署信息,在根目录下的_config.yml,注意缩进,yaml文件对缩进有要求
  4. deploy:
  5.   type: 'git'
  6.   repository: https://github.com/manong/blogfile.git    #这里复制自己在github上创建的仓库连接,创建仓库就不过多赘述了
  7.   branch: main
复制代码
  1. #推送,首次弹出对话框登录github
  2. hexo deploy
  3. # 或hexo d
复制代码
  1. #最后一步设置公网访问域名,这里使用https://dash.zeabur.com/
  2. #选择后面不带标签的,免费,然后选择github
  3. #第一次使用会配置github,授权后可以看到自己的仓库
复制代码
  1. #选择创建的仓库,部署,下面就成功了
复制代码
  1. #生成免费域名
复制代码
  1. #成功访问,之后可以在本地修改配置文件,逐步精美,然后上传到github,github仓库与zeabur关联会自动更新,非常方便
  2. Demo: https://caokaier.zeabur.app/
  3. #补充,以下可以忽略
  4. hexo new [post]: 创建一个新的文章。
  5. hexo g 或 hexo generate: 生成静态文件。
  6. hexo s 或 hexo server: 启动本地服务器,预览网站。
  7. hexo d 或 hexo deploy: 部署网站到远程服务器。
  8. #如果你想要一个更友好的图形界面,可以考虑使用社区开发的插件,比如 hexo-admin。这个插件提供了一个简单的后台管理界面,你可以通过浏览器访问并管理 Hexo 站点的内容。
  9. #安装 Hexo Admin:
  10. #在 Hexo 项目的根目录下安装 hexo-admin:
  11. cnpm install --save hexo-admin
  12. #启动 Hexo 本地服务器:
  13. hexo server
  14. #访问 http://localhost:4000/admin/,你将看到一个简易的后台管理界面。
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

天津储鑫盛钢材现货供应商

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表