shuguang's blog

环境决定基础,选择决定价值,努力决定方向。

VSCode 快速创建 Hexo 文章

  • 使用VSCode快速创建带有Front-matter格式的Markdown文档。

#VSCode 快速创建 Hexo 文章

  1. 使用 Hexo CLI

    • 在终端中运行 hexo new post <post-title> 命令来创建新文章。

  2. 使用代码片段(Snippets)

    • 设置自定义代码片段来插入文章的基本结构。

  3. 使用自定义脚本任务

    • 在 tasks.json 文件中配置一个任务,运行 Hexo 的新建文章命令。

  4. 使用插件 vscode-hexo-utils


#使用 Hexo CLI

  • 使用VSCode终端

    • 使用快捷键 Ctrl+` 打开VSCode集成终端
    • 在终端中运行 hexo new post "Title"
  • 关于集成终端显示此系统上禁止运行脚本问题

    • 通常是由于 Windows 的执行策略限制了脚本的执行

    • 解决方案:

      • 打开 PowerShell 以管理员身份运行
      • 使用Get-ExecutionPolicy命令检查当前的执行策略
      • 使用Set-ExecutionPolicy RemoteSigned命令更改策略为 RemoteSigned 或者使用Set-ExecutionPolicy Unrestricted 命令更改策略为 Unrestricted

    • 关于这三种策略:

      • Restricted
        • 是 PowerShell 的默认执行策略,该策略下 PowerShell 只能运行交互式命令,不能执行脚本文件(.ps1 文件)或配置文件
      • RemoteSigned
        • 要求所有从互联网下载的脚本必须经过签名才能执行,但本地创建的脚本可以不需要签名
      • Unrestricted
        • 不限制脚本的来源或签名,允许所有脚本(包括从互联网下载的未签名脚本)运行

#使用自定义代码片段(推荐)

  • 创建代码块

    • 打开 VSCode,进入 “文件” > “首选项” > “用户代码片段”
    • 选择 “New Global Snippets file” 或 “New Snippets file for <your_workspace>”(如果只在某个工作区有效)。

  • 添加代码片段

    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
    {
    "Hexo Post Template": {
    "prefix": "hexopost",
    "body": [
    "---",
    "title: ${1:Title}",
    "date: ${2:${CURRENT_YEAR}-${CURRENT_MONTH}-${CURRENT_DATE} ${CURRENT_HOUR}:${CURRENT_MINUTE}:${CURRENT_SECOND}}",
    "updated: ${3:{{ updated }}}",
    "categories: ${4:category1}",
    "tags: ${5:tag1}",
    "keywords: ${6:keyword1}",
    "author: ${7:shuguang2000}",
    "comments: ${8:true}",
    "---",
    "",
    "${0:- pass\n}",
    "${9:<!--more-->\n}",
    "${10:------\n}",
    "${11:### Topic Introduction\n}",
    "${12:1. One}",
    "${13: - pass}",
    "${14:<br>\n}",
    "${15:------\n}",
    "${16:#### Topic\n}",
    "${17:- pass\n}",
    "${18:------\n}",
    "${19:#### Thanks\n}",
    "${20:- pass\n}"
    ],
    "description": "Template for Hexo post"
    }
    }

  • 使用代码块

    • 使用 Ctrl+N 快捷键新建一个文件,输入我们上面定义好的代码前缀(hexopost)即可快速插入。

  • 补充(推荐)

    • 可使用自定义快捷键不用输入前缀,快速在任意文件中插入自定义代码片段(这里使用的是 Ctrl+Alt+M
      • 打开 VSCode,进入 “文件” > “首选项” > “键盘快捷方式” > “打开键盘快捷方式JSON” > keybindings.json
      • 打开keybindings.json文件(默认在C:\Users<your_username>\AppData\Roaming\Code\User下)添加下面JSON代码:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    [
    {
    "key": "ctrl+alt+m",
    "command": "editor.action.insertSnippet",
    "when": "editorTextFocus",
    "args": {
    "langId": "markdown",
    "name": "Hexo Post Template"
    }
    }
    ]

#使用自定义任务

  • 准备工作

    • 配置默认终端配置为: Git Bash

      • 在xxx.code-workspace文件中添加如下代码:

      1
      2
      3
      4
      5
      "settings": {
      "terminal.integrated.defaultProfile.linux": "bash",
      "terminal.integrated.defaultProfile.osx": "bash",
      "terminal.integrated.defaultProfile.windows": "Git Bash", // 如果你在 Windows 上使用 Git Bash
      },

    • 在<your_workspace>/.vscode下创建 tasks.json 文件, 编辑生成的 tasks.json 文件,添加一个新任务来运行 Hexo 命令:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    {
    "version": "2.0.0",
    "tasks": [
    {
    "label": "Create Hexo Post",
    "type": "shell",
    "command": "bash",
    "args": [
    "-c", //用于指定要执行的命令字符串
    "hexo new ${input:postTitle}"
    ],
    "problemMatcher": [],
    },
    ],
    "inputs": [
    {
    "id": "postTitle",
    "type": "promptString",
    "description": "Enter the title of the new post"
    }
    ]
    }


#使用插件 vscode-hexo-utils

  • 使用VSCode插件 vscode-hexo-utils

    • 安装后在插件扩展设置,设置时间格式YYYY-MM-DD HH:mm:ss

  • 侧边栏点击加号输入标题即可创建文章。


#总结

  • 使用 Hexo CLI

    • 适合简单的创建模板

  • 使用代码片段(Snippets)

    • 适合快速插入简单的模板

  • 使用自定义脚本任务

    • 适合更复杂的模板生成或批量创建

  • 使用插件 vscode-hexo-utils

    • 能集成 Hexo 特性,并使用更多的功能,比如图片上传,分类显示等。

#Thanks