发现问题
在我疯狂更新博客的时候意外发现一个问题,我的hexo无法生成带空格的文章标题
如:文章《npx hexo生成文章标题时无法添加空格》,我在PowerShell里执行
1 | npx hexo new post "npx hexo生成文章标题时无法添加空格" |
得到的文件却是hexo生成文章标题时无法添加空格.md
空格前面的npx就被吃了?迷惑……
官网也是这么写的啊!外国人缺了空格还能打字?
查找解决办法
网上找了一圈好像也没有我这种问题,也可能是我搜索方式不对?
后来问题定位到了npx上
当时安装hexo的时候官网告诉我有两种运行方式,我就选择了第一种,懒得配环境变量了:
现在问题就出在了npx上
阮一峰的博客中解释了npx中的-c参数,发现里面的例子和我的问题比较像,但是怎么都没改对
后来直接运行npx看到了npx的参数格式:
1 | npx |
结合博客觉得第11行:npx [options] -c '<command-string>'
才是正确的解决办法
于是又在PowerShell里尝试:
1 | npx -c 'hexo new post "npx hexo生成文章标题时无法添加空格"' #报错 |
后来发现
1 | npx -c "hexo new post \"npx hexo生成文章标题时无法添加空格\"" |
可以正确生成文件:npx-hexo生成文章标题时无法添加空格.md
但是打开之后里面的标题是:npx hexo生成文章标题时无法添加空格\
问题解决
最终经过多次尝试发现这个命令竟然可以:
1 | npx -c "hexo new post \"npx hexo生成文章标题时无法添加空格"" |
也就是标题的第一个引号加转义字符,第二个不加
问题解决
然而我更迷惑了……