Hexo 主题Light修改教程

作者: 蓝江老涌 | 来源:发表于2014-10-31 10:14 被阅读14976次

    感谢

    首先感谢zipperary的教程,我这儿把我修改了的部分发上来做一个备份用。
    官方主题下载地点

    接下来发布我部署了的两个网址:gitcafe部署点
    gitcafe我的博客,绑定域名http://snljzz.tk还是把gitcafe做为我的主站吧
    github我的博客,绑定域名http://lxy361.tkgithub有时有点不稳定
    两个地方是同步的

    添加“多说”评论与“页面导航”

    1. 多说 进行注册,我用的是我的QQ号,获取通用代码。

    2. 将通用代码粘贴到 themes\light\layout\_partial\comment.ejs 里边,
      其中var duoshuoQuery = {short_name:"szcx"}里的szcx是我的账号。

    如下:

    <% if (page.comments){ %>
    
    
    <nav id="pagination" >
        <% if (page.prev) { %>
        <a href="<%- config.root %><%- page.prev.path %>" class="alignleft prev" ><%= __('prev') %></a>
        <% } %>
        <% if (page.next) { %>
        <a href="<%- config.root %><%- page.next.path %>" class="alignright next" ><%= __('next') %></a>
        <% } %>
        <div class="clearfix"></div>
    </nav>
    
    <!-- 多说评论框 start -->
     <div class="ds-thread" data-thread-key="<%- config.root %><%- item.path%>" data-title="<%- item.title %>" data-url="<%- item.permalink %>"></div>
    <!-- 多说评论框 end -->
    <!-- 多说公共JS代码 start (一个网页只需插入一次) -->
    <script type="text/javascript">
    var duoshuoQuery = {short_name:"szcx"};
      (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 id="comment">
    </section>
    <% } %>
    

    添加小图标

    themes/light/layout/_partial/head.ejs里将<link href="<%- config.root %>favicon.png" rel="icon">
    替换为<link href="<%- config.root %>favicon.ico" rel="icon" type="image/x-ico">将favicon.ico图标文件放在source目录下。

    添加分类、标签云widget

    很简单,在themes/light/_config.yml中,添加如下:

    widgets:
    - category
    - tagcloud
    

    添加友情链接widget

    themes/light/layout/_widget中新建名为blogroll.ejs的文件,编辑内容如下:

    <div class="widget tag">
    <h3 class="title">友情链接</h3>
    <ul class="entry">
    <li><a href="http://szcx.pw/" title="蓝江老涌的博客">遂州创信</a></li>
    <li><a href="http://lxy361.tk/" title="Hexo博客">Hexo博客</a></li>
    </ul>
    </div>
    

    添加新浪微博widget(微博秀)

    1. 新浪微博开放平台设置和生成微博秀代码。我用的139邮箱注册新浪。
    2. themes/light/layout/_widget中新建名为weibo.ejs的文件,将刚才的代码直接保存到这里。
    3. themes/light/_config.yml中,添加如下:
       widgets:  #站点右边栏,暂时默认,后面介绍修改和添加
        - search
       - category
       - tagcloud  #标签云
       - intro
       - weibo    #新浪微博秀
       - blogroll    #友情链接
      

    主页文章显示摘要

    编辑md文件的时候,在要作为摘要的文字后面添加``即可。

    修改背景图片、文字颜色等

    • 找到hexo\themes\light\source\css\_base\layout.styl,在body下面增加一条background-image url('/imgs/noise.png')
    • 至于背景图片\themes\light\source\imgs\bozhu.png,用自己喜欢的即可。
    • 然后在hexo\themes\light\source\css\_base\variable.styl中修改color区块中的属性,就可以改变网站不同元素的颜色了。

    重头戏来了,我修改的themes\light\_config.yml文件

    menu: #站点右上角导航栏,暂时默认
      首页: /
      归档: /archives
      关于: /about
    
    widgets:  #站点右边栏
    - search
    - category
    - tagcloud  #标签云
    - intro
    - weibo    #新浪微博秀
    - blogroll    #友情链接
    
    excerpt_link: 阅读全文 #替换为中文
    
    plugins: 
    - hexo-generator-feed
    
    twitter: #右边栏要显示twitter展示的话,需要在此设置
      username: 
      show_replies: false
      tweet_count: 5
    
    addthis: #SNS分享,身在天朝,当然用“百度分享”,暂时默认
      enable: true
      pubid:
      facebook: true
      twitter: true
      google: true
      pinterest: true
    
    fancybox: true #图片效果,默认
    google_analytics: #要使用google_analytics进行统计的话,这里需要配置ID
    rss: /atom.xml #生成RSS,需要配置路径
    

    根目录下的_config.yml文件设置

    # Hexo Configuration
    ## Docs: http://hexo.io/docs/configuration.html
    ## Source: https://github.com/hexojs/hexo/
    
    # Site
    title: 遂州创信
    subtitle: 蓝江老涌的博客
    description: 学习总结 思考感悟 知识管理 # 网站描述
    author: 蓝江老涌
    email: szcxgg@gmail.com
    language: zh-CN
    
    # URL
    ## If your site is put in a subdirectory, set url as 'http://yoursite.com/child' and root as '/child/'
    url: http://szcx.github.io
    root: /
    permalink: :year/:month/:day/:title/
    tag_dir: tags
    archive_dir: archives
    category_dir: categories
    code_dir: downloads/code
    permalink_defaults:
    
    # Directory
    source_dir: source
    public_dir: public
    
    # Writing 文章布局、写作格式的定义,不修改
    new_post_name: :title.md # File name of new posts
    default_layout: post
    titlecase: false # Transform title into titlecase
    external_link: true # Open external links in new tab
    filename_case: 0
    render_drafts: false
    post_asset_folder: false
    relative_link: false
    highlight:
      enable: true
      line_number: true
      tab_replace:
    
    # Category & Tag
    default_category: uncategorized
    category_map:
    tag_map:
    
    # Archives
    ## 2: Enable pagination
    ## 1: Disable pagination
    ## 0: Fully Disable
    archive: 1
    category: 1
    tag: 1
    
    # Server
    ## Hexo uses Connect as a server
    ## You can customize the logger format as defined in
    ## http://www.senchalabs.org/connect/logger.html
    port: 4000
    server_ip: localhost
    logger: false
    logger_format: dev
    
    # Date / Time format
    ## Hexo uses Moment.js to parse and display date
    ## You can customize the date format as defined in
    ## http://momentjs.com/docs/#/displaying/format/
    date_format: YYYY-MM-D
    time_format: H:mm:ss
    
    # Pagination
    ## Set per_page to 0 to disable pagination
    per_page: 5 #每页5篇文章
    pagination_dir: page
    
    # Disqus #社会化评论disqus,我使用多说,在主题中配置
    disqus_shortname:
    
    # Extensions
    ## Plugins: https://github.com/hexojs/hexo/wiki/Plugins
    ## Themes: https://github.com/hexojs/hexo/wiki/Themes
    theme: light
    exclude_generator:
    
    #  Deployment 站点部署到github要配置,上一节中已经讲过
    ## Docs: http://zespia.tw/hexo/docs/deploy.html
    deploy:
      type: github
      repository: git@github.com:szcx/szcx.github.io.git
      branch: master
    

    添加RSS

    hexo提供了RSS的生成插件,需要手动安装和设置。步骤如下:

    • 安装RSS插件到本地:npm install hexo-generator-feed
    • 开启RSS功能:编辑hexo/_config.yml,添加如下代码:
      plugins:
      - hexo-generator-feed
      
    • 在站点添加链接:
      themes/light/_config.yml中,编辑 rss: /atom.xml
      themes/light/layout/_partial/header.ejs中,<ul></ul>之间,添加一样代码
      <li> <a href="/atom.xml">RSS</a> </li>

    文章中插入图片

    • 使用markdown写文章,插入图片的格式为![图片名称](链接地址),这里要说的是链接地址怎么写。对于hexo,有两种方式:
    • 使用本地路径:在hexo/source目录下新建一个img文件夹,将图片放入该文件夹下,插入图片时链接即为/img/图片名称
    • 使用七牛,有图片的链接地址。格式为![图片名称](链接地址)我用的是139邮箱注册的七牛。

    加入左上角「fork me on github」

    这里有 github 给出的教程,把代码插入到任意一个全局的模板文件中就行,比如layout.ejs的末尾。
    我的themes\light\layout\layout.ejs文件如下:

    <%
    if(page.layout !== 'false'){
    %>
    
    <%- partial('_partial/head') %>
    
    <body>
      <header id="header" class="inner"><%- partial('_partial/header') %></header>
      <div id="content" class="inner">
        <div id="main-col" class="alignleft"><div id="wrapper"><%- body %></div></div>
        <aside id="sidebar" class="alignright"><%- partial('_partial/sidebar') %></aside>
        <div class="clearfix"></div>
      </div>
      <footer id="footer" class="inner"><%- partial('_partial/footer') %></footer>
      <%- partial('_partial/after_footer') %>
    </body>
    </html>
    
    <%}else{ %>
    
    <%- page.content %>
    <%};%>
    <a href="https://github.com/szcx" target="_blank"><img style="position: absolute; top: 0; left: 0; border: 0;" src="https://s3.amazonaws.com/github/ribbons/forkme_left_white_ffffff.png" alt="Fork me on GitHub"></a>
    

    接下来发布我部署了的两个网址:
    github
    gitcafe

    相关文章

      网友评论

      • 晓马识途:挺不错的,值得学习
      • 蓝江老涌:两个现在都挂了。。域名免费的只能用来学习。。
      • 5142bfcb4251:想问一下,怎么同时部署到两个仓库上,另外一个博主好像gitcafe挂了
      • 蓝江老涌:学习了,这个真的不错.留下来备用

      本文标题:Hexo 主题Light修改教程

      本文链接:https://www.haomeiwen.com/subject/hvivtttx.html