文档章节

如何发布hexo到免费空间码云Pages,以及配置多说和友情链接

oldbiwang
 oldbiwang
发布于 2017/02/11 22:59
字数 1098
阅读 288
收藏 2

上次我们介绍了如何在本地搭建hexo, 但博客如果只能在本地观看,那就非常不方便自己或他人访 问,下面就介绍如何把本地的hexo发布到码云pages免费空间,还有关于hexo默认主题landscape 的修改以及多说评论的添加。

首先得有个码云的账号,没有请自行注册...码云,不是马云,马云的人生是注册不了的,哈哈。然后你在码云上面新建一个项目,尽量造一个与博客相关的名字。

注册

创建完之后,项目地址选择HTTPS,将项目的Https地址复制下来,接下来要用,位置如下图所示:

 输入图片说明

因为接下来要部署hexo到码云,所以要先安装一个插件hexo-deployer-git:
$ npm install hexo-deployer-git --save

#####部署需要修改hexo根目录的_config.yml里面的deploy配置: 输入图片说明

-->这个地址就是你上面创建项目的Https地址,没配置之前是空的,需要配置type为git,repo为上面地址,branch为master分支,注意:属性和值要有一个空格隔开,这是hexo配置文件的要求。配置完之后,就在命令行敲下:
$ cd folder    #项目的目录
$ hexo deploy  #部署
=_=这时会出现一个对话框,你要输入你码云的账号和密码,然后才能把之前hexo g命令产生的public文件夹上传到码云,其实在hexo d之前应该敲下hexo g命令。然后怎么检验是成功的呢?登陆码云,查看你创建的项目,和本地public文件夹对比,此时应该有和本地public文件夹相同的内容文件。
^-^接下来就要启动码云的pages,点击启动服务功能

输入图片说明 #####!!!你会看到这时生成了一个网站地址: 输入图片说明 #####虽然你和我的会不一样,不过部署到码云的工作就完成了,打开浏览器,输入你的网址,就会出现,哈哈,当然这是我的地址: 输入图片说明

好了,下面说说主题的基本修改,以及如何添加多说评论和RSS支持。主题基本配置:

输入图片说明

接下来是多说和RSS支持,RSS支持需要添加一个插件,生成atom.xml文件,配置如下图:

输入图片说明

特别注意:多说的支持是在根目录的_config.yml配置,而不能去landscape主题的_config.yml配置,多说配置的值是你站点的short_name,我的是oldbiwang。这个short_name怎么来的呢?看下图:

输入图片说明

还有一个需要配置的地方,修改themes\landscape\layout_partial\article.ejs模板,把
<% if (!index && post.comments && config.disqus_shortname){ %>
  <section id="comments">
    <div id="disqus_thread">
	  <noscript>Please enable JavaScript to view the <a  href="//disqus.com/?ref_noscript">comments powered by Disqus.</a>     </noscript>
    </div>
  </section>
 <% } %>

改为

  <% if (!index && post.comments && config.duoshuo_shortname){ %>
  <section id="comments">
    <!-- 多说评论框 start -->
    <div class="ds-thread" data-thread-key="<%= post.layout %>-<%= post.slug %>" data-title="<%= post.title %>" data-url="<%= page.permalink %>"></div>
    <!-- 多说评论框 end -->
    <!-- 多说公共JS代码 start (一个网页只需插入一次) -->
    <script type="text/javascript">
    var duoshuoQuery = {short_name:'<%= config.duoshuo_shortname %>'};
      (function() {
        var ds = document.createElement('script');
        ds.type = 'text/javascript';ds.async = true;
        ds.src = (document.location.protocol == 'https:' ? 'https:' : 'http:') + '//static.duoshuo.com/embed.js';
        ds.charset = 'UTF-8';
        (document.getElementsByTagName('head')[0] 
         || document.getElementsByTagName('body')[0]).appendChild(ds);
      })();
      </script>
    <!-- 多说公共JS代码 end -->
  </section>
  <% } %>
然后重新hexo clean让改动生效,如果有时没看到效果,你可以先clean一下,再hexo g,最后看看效果,否则有时以为修改没生效。每篇文章默认是启用评论的,你应该可以看到效果,否则再看看哪里配置出了错。
最后,再说说landscape的主题_config.yml配置文件:

输入图片说明 #####说说友情链接,在source目录下创建_data目录,在_data中创建一个links.yml数据文件,内容如下:

w3schools: http://www.w3school.com.cn

#####友情链接是放到右侧的 sidebar 中,于是需要在主题目录下的 layout/_widget 中添加文件 links.ejs ,内容如下:

<% if (site.data.links){ %>
  <div class="widget tag">
    <h3 class="title">友情链接</h3>
      <ul class="entry">
        <% for (var i in site.data.links){ %>
          <li class='link'><a href='<%- site.data.links[i] %>'><%= i %></a></li>
        <% } %>
      </ul>
  </div>
<% } %>
其实的 site.data.links 就是上面创建的 links.yml 数据文件所对应的对象。

总结:在学习了有关hexo的配置博文之后,就想记录一下,自己在配置过程中遇到的一些主要问题。

本地搭建可以参考这一篇

© 著作权归作者所有

oldbiwang
粉丝 0
博文 14
码字总数 23751
作品 0
广州
程序员
私信 提问
免费个人博客搭建教程(详细-图文)--Hexo+OSChina

本人作为一个屌丝程序员,年少无为,卖马为生,买不起服务器,买不起域名,但是又想拥有属于自己的博客网站,那就只有通过技术来实现这一切了。先上成果:点击,现在我把我自己搭建博客的过程...

z77z
2017/01/14
9.5K
145
Hexo+coding搭建博客

业界早有大佬说过,写博客大抵会经过三个阶段: 第一阶段,刚接触Blog,觉得很新鲜,试着选择一个免费空间来写。 第二阶段,发现免费空间限制太多,就自己购买域名和空间,搭建独立博客。 第...

两毛五哥哥
2017/11/14
0
0
码云正式支持 Pages 功能

Pages 功能一直以来呼声都非常之高,现在终于不负各位 OSCers 众望,码云 Pages 功能闪亮登场! 码云 Pages 是一个免费的静态网页托管服务,您可以使用码云 Pages 托管博客、项目官网等静态网...

Zoker
2016/06/03
29K
122
【switch大奖】码云最佳实践征文大赛开始啦!分享你的码云最佳实践,惊喜好礼等你来拿~

活动介绍 在我们使用码云进行开发的过程中,经常会get到一些最佳的解决方法,这种方式通常比其他解决方式都更有效,如今越来越多的企业和开发者选择码云,为了更好地展示这些优秀企业和个人开...

小鱼丁
05/26
583
4
Jekyll + Github = 简单搭建一个个人博客

在我成功试水,搭建了自己的个人博客后,我体会到了 Jekyll 制作网站的轻便性。而 GitHub Pages 对 Jekyll 的支持,又省去了建站时服务器和域名的搭建过程。在查阅网上的资料时,大牛们都是先...

cometeme
2018/08/20
1K
2

没有更多内容

加载失败,请刷新页面

加载更多

Mybatis Plus性能分析

一、配置 /** * 性能分析 * @return */@Bean@Profile({"dev","test"})public PerformanceInterceptor performanceInterceptor (){ PerformanceInterceptor performanceInterceptor......

一个yuanbeth
4分钟前
1
0
一次写shell脚本的经历记录——特殊字符惹的祸

本文首发于微信公众号“我的小碗汤”,扫码文末二维码即可关注,欢迎一起交流! redis在容器化的过程中,涉及到纵向扩pod实例cpu、内存以及redis实例的maxmemory值,statefulset管理的pod需要...

码农实战
7分钟前
0
0
为什么阿里巴巴Java开发手册中不建议在循环体中使用+进行字符串拼接?

之前在阅读《阿里巴巴Java开发手册》时,发现有一条是关于循环体中字符串拼接的建议,具体内容如下: 那么我们首先来用例子来看看在循环体中用 + 或者用 StringBuilder 进行字符串拼接的效率...

武培轩
19分钟前
3
0
队列-链式(c/c++实现)

队列是在线性表功能稍作修改形成的,在生活中排队是不能插队的吧,先排队先得到对待,慢来得排在最后面,这样来就形成了”先进先出“的队列。作用就是通过伟大的程序员来实现算法解决现实生活...

白客C
28分钟前
21
0
聊聊nacos的notifyConfigInfo

序 本文主要研究一下nacos的notifyConfigInfo CommunicationController nacos-1.1.3/config/src/main/java/com/alibaba/nacos/config/server/controller/CommunicationController.java @Cont......

go4it
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部