Articles of hexo

未find本地hexo

我尝试按照说明在我的服务器上安装Hexo: [root@VM_150_20_centos ~]# yum install -y nodejs [root@VM_150_20_centos ~]# npm install -g hexo-cli [root@VM_150_20_centos ~]# hexo init blog [root@VM_150_20_centos ~]# cd blog [root@VM_150_20_centos blog]# npm install [root@VM_150_20_centos blog]# hexo generate 当我尝试生成时,有一个错误: [root@VM_150_20_centos blog]# hexo generate /root/blog/node_modules/hexo/lib/extend/tag.js:184 body((err, result) => { ^ ERROR Local hexo not found in ~/blog ERROR Try running: 'npm install hexo –save' […]

基于用户select的环境的select性ejs模板

我正在ejs中build立一个hexo博客主题,这将风格我的技术文档项目。 我想让用户select一种语言(JavaScript或TypeScript)。 然后我想input代码片段,如: {% js %} “`JavaScript var geolocation = require("nativescript-geolocation"); “` {% endjs %} {% ts %} “`TypeScript import geolocation = require("nativescript-geolocation"); “` {% endts %} 然后两个button/一个滑块,以便用户可以select打字稿或JavaScript(这将默认为js)。 我很熟悉UI的实现,但不知道如何设置一个属性来确定上面哪个片段被使用? 并根据用户select的语言,显示正确的片段。 我怎么能实现这个?

你如何覆盖生成的元标记?

我想覆盖我的Hexo博客的meta标签: <meta property="og:type" content="website"> <meta property="og:title" content="Borgez"> <meta property="og:url" content="http://feliborgez.github.io/blog/index.html"> <meta property="og:site_name" content="Borgez"> <meta property="og:description" content="The personal blog of Felipe Borgez"> <meta name="twitter:card" content="summary"> <meta name="twitter:title" content="Borgez"> <meta name="twitter:description" content="The personal blog of Felipe Borgez"> 但是,它们似乎并不是由主题产生的(或者我可以轻易改变它们)。 他们在哪里产生?

如何在Hexo源文件中使用助手?

我有一个关于页面source/about/index.ejs 。 在这个页面中,我想使用ejs标签中的image_tag()辅助函数和其他辅助函数。 但是,如果我这样做,我得到的错误image_tag is not defined ,和任何其他帮助函数相同。 我认为这意味着助手不会在source文件中渲染文件,只能在主题目录中。 也似乎我不能把这种types的页面放在他们的目录中,并使用模板进行渲染。 有没有一种方法可以在渲染源文件中使用助手? 如果没有,为什么我不能,或者为什么这是一个坏主意?

Node.js错误错误:找不到模块'bluebird'

当我尝试这个,它会抛出一个错误,我该如何解决呢? $ hexo generate ERROR Error: Cannot find module 'bluebird' at Function.Module._resolveFilename (module.js:338:15) at Function.Module._load (module.js:280:25) at Module.require (module.js:364:17) at require (module.js:380:17) at Object.<anonymous> (/Users/lihz/blog/node_modules/hexo/lib/hexo/index.js:3:15) at Module._compile (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Module.require (module.js:364:17) at require (module.js:380:17) at /usr/local/lib/node_modules/hexo-cli/lib/index.js:73:18 at tryCatcher (/usr/local/lib/node_modules/hexo-cli/node_modules/bluebird/js/main/util.js:26:23) at Promise._settlePromiseFromHandler (/usr/local/lib/node_modules/hexo-cli/node_modules/bluebird/js/main/promise.js:489:31) at Promise._settlePromiseAt (/usr/local/lib/node_modules/hexo-cli/node_modules/bluebird/js/main/promise.js:565:18) at […]

在Azure上部署Hexo ..不知道我错过了什么

我最近决定开始在Azure上个人使用(现在)的小博客。 我开始深入研究博客框架Hexo。 现在我在本地启动了一个Hexo博客,掌握了(第一个)基础知识,但是我想把它推到Azure。 我使用GIT连接configuration了一个基本的Web应用程序,用于连续部署( https://github.com/lmeijdam/demo-repo )。 我尝试了一个教程 server.js文件 的package.json 的.gitignore 以上将导致工作响应,并安装node_modules …但从那里我真的失去了我的下一步… 我知道你可以创build一个package.json文件,并查看我的ftp客户端,package.json在那里以及安装了正确模块的node_modules文件夹。 我的package.json; {“name”:“hexo-site”,“version”:“0.0.0”,“private”:true,“hexo”:{“version”:“3.1.1”},“dependencies”:{“express “:”*“,”hexo“:”^ 3.1.0“,”hexo-deployer-git“:”0.0.4“,”hexo-generator-archive“:”^ 0.1.2“,”hexo-generator -category“:”^ 0.1.2“,”hexo-generator-index“:”^ 0.1.2“,”hexo-generator-tag“:”^ 0.1.1“,”hexo-renderer-ejs“ ^ 0.1.0“,”hexo-renderer-marked“:”^ 0.2.4“,”hexo-renderer-stylus“:”^ 0.3.0“,”hexo-server“:”^ 0.1.2“}} 而且我还发现如果你没有默认的文件server.js( https://github.com/yavorg/azure-node-starter/blob/master/) ,你可以将一个Procfile部署到Azure使用的GIT仓库Procfile ) 后来一位朋友带着小费编辑proc文件写下类似的东西; web:/ node_modules / hexo / bin / hexo服务器,而不仅仅是web:node server.js 不幸的是,这只是导致默认的blanco网页… http://lmnodetest1.azurewebsites.net/ 我在这里做错了什么,或者我在开始时忘记了什么?

如何从节点以hexo来保存数据页面的数组

我试图从一个对象数组而不是一个文件夹的页面列表Hexobuild立一个网站。 我想使用hexo只是因为我不想重新发明轮子,因为它似乎很less,但我没有得到如何传递一个JSON对象,并保存在一个site文件夹。 var data = { title: 'Buttons', name: 'block-name', category: 'Category name / Sub category', description: 'This is the description of the element\n and you can write text just like this.', otherProperty: 'Hello' }; hexo = new Hexo(process.cwd(), { debug: true, config: '_config.yml' }); hexo.init().then(function(){ hexo.post.create(data, false); }); api hexo.post.create创build源文件,而不是最终的html文件,我不确定这是否可能,以及如何告诉Hexo如何做到这一点。 基本上,我会将data传递给我用来创build页面的模板,这可能吗?

console.log和util.inspect不能正确打印对象

在只有一个特定的对象中,当我使用console.log或者打印util.inspect的结果时,我得到的结果只是数字1或2 。 现在我怎么打印的对象不只是数字1或2 ? 我使用debugging器检查器来查看属性和函数,也可以运行一些代码来检查Node.js console.log(object)中所描述的对象的所有成员。 注:我试图克隆/复制对象,我得到相同的行为,这个对象有什么问题? 我正在使用这个库: https : //hexo.io/ 当我尝试使用此function时: https : //hexo.io/api/renderer.html 代码示例: hexo.extend.renderer.register('some', 'html', function (data, options, callback) { console.log("Data"); console.log(data); // It works (object is printed sucessfully) console.log("Options"); console.log(options); // I got "2" printed. // something unrelated code to use the callback }, false); 就像我说的那样,对象options有几个不同的成员,并且与util.inspect是相同/相似的行为,即使我指定了深度和/或其他参数。 我的目的是find为什么会发生,以及如何解决它? 编辑: 另外,如果我尝试将这个对象序列化成JSON,使用JSON.stringify ,那将是我会得到的exception: Unhandled […]

如何使用自定义插件在hexo中禁用某些文件的后处理器?

我正在使用hexo,我想要一些文件只能由我的自定义处理器进行处理。 虽然我已经注册了我的自定义处理器,并且处理某些文件(如A.md),但是默认的后处理器仍然处理并呈现A.md。 如何禁用已由另一个处理器处理的文件的默认处理器?

Hexo(以及其他静态站点生成器)前端依赖性pipe理工作stream程

是否有推荐的工作stream程来pipe理前端依赖项? 我一直在阅读很多文章,推荐离开Bower,然后到像Webpack这样的npm-only解决scheme,但是webpack是一个全新的范例(通过一个js文件加载js,scss,字体等),默认情况下,要求js在浏览器中运行,以便加载css。 我想要一个静态网站的部分原因是,对于最终用户,js不是强制性的。 然而,我真的厌倦了bower-installing的东西,然后不得不托pipe一切在bower_components中,针对特定的文件名(js,css,img)包含在输出中,或者将他们的css / img依赖关系转移到我自己的repo中。 更不用说,依靠两个登记处是不太理想的。 Hexo是否有推荐的方法,或者有没有人有如何做到这一点的意见? 在webpack-dev-server的独立terminal中运行一个Hexo服务器似乎很痛苦和尴尬,并且可能会造成一些混淆,因为哪个库应该处理哪些文件。 其他工具更适合静态站点生成器的开发/构build过程中的依赖关系pipe理吗?