代码先锋网 代码片段及技术文章聚合

教你定制Hexo的landscape打造自己的主题

我敢肯定大家不仅想拥有自己的博客,还想有一套自己的主题。目前Hexo的主题多数都是从官方主题landscape修改而成的,然而别人能修改,你也可以修改,就算你不会编程,不会web前端,跟着我做你一样可以做出自己想要的主题样式,打造属于你自己的主题。ps:我也是一点一点摸索的,参考了很多教程。

我的博客地址http://www.codertian.com
我会把博文先发到这里,请大家多多支持。有问题大家一起讨论

创建博客

关于怎么安装Hexo和创建博客请看我博客的另一篇文章
http://www.codertian.com/2015/11/26/github-hexo-blog/

那么假设大家都已经安装好了博客,因为Hexo的默认主题就是landscape所以大家不需要更换其他主题

以下配置,请大家先hexo clean一下,再发布

landscape的配置文件

# Header
menu:
  Home: /
  Archives: /archives
rss: /atom.xml

# Content
excerpt_link: Read More
fancybox: true

# Sidebar
sidebar: right //插件可以放左边或右边
widgets:
- category
- tag
- tagcloud
- archive
- recent_posts
  • 更改左上角菜单请更改header区域,格式复制一下自己改
  • 如果想改变more分割线显示的提示,可以更改Read More
  • 删除插件可以在widgets中,关于添加一个再讲

更改banner图片

图片的位置为:landscape/source/css/images目录下面,可以替换为你自己想要的图片。
更改banner栏的大小就去landscape/source/css/_variables.styl找到下面一段修改一下

// Header
logo-size = 40px
subtitle-size = 16px
banner-height = 200px //可以更改为自己喜欢的banner高度
banner-url = "images/banner.jpg" //图片名称也可以修改

更改侧边栏连接的颜色

还是路径landscape/source/css/_variables.styl找到

// Colors
color-default = #555 
color-grey = #ec4c02
color-border = #ddd //更改边框的颜色
color-link = #0072a3 //更改连接的颜色
color-background = #eee //页面的背景颜色 
color-sidebar-text = #777 //貌似当时修改的这个吧
color-widget-background = #ddd //边栏插件的背景颜色
color-widget-border = #ccc //边栏插件的边框颜色
color-footer-background = #262a30 //页面底部的背景颜色
color-mobile-nav-background = #191919
color-twitter = #00aced
color-facebook = #3b5998
color-pinterest = #cb2027
color-google = #dd4b39

这些颜色都是CSS颜色。这时候可能有小伙伴有疑问“我怎么知道我想要的颜色是什么?”Mac上大家可以去AppStore下载sip这个是一个免费的取色软件,比Mac自带的好用的多。Windows上就有个更牛逼的软件了叫FastStone Capture,啥功能都有,大家自己去下载。

更改显示字体

还是同样一个文件,找到fonts

// Fonts
font-sans = "Helvetica Neue", Helvetica, Arial, sans-serif
font-serif = Georgia, "Times New Roman", serif
font-mono = Menlo, "Source Code Pro", Consolas, Monaco, Consolas, monospace 

更改页面布局

还是同一个文件中,找到layout,可以更改整个页面的布局,更改页面的宽度,间距等,建议大家也不要乱改,不然可能会电脑上看着还是好的,手机上看着就不行了。

// Layout
block-margin = 20px //更改模块之间的间距
article-padding = 20px
mobile-nav-width = 280px
main-column = 11 //更改文章的宽度
sidebar-column = 3

更改文章背景

找到landscape/source/css/_extend.styl

$block
  background: #fbfbfb //文章的背景颜色
  /*box-shadow: 1px 2px 3px #ddd*/
  border: 1px solid color-border //文章的边框
  border-radius: 10px //设置文章页面圆角

更改代码样式

找到landscape/source/css/_partial/highlight.styl

$code-block
  background: highlight-background
  border-radius: 5px // 更改为圆角


$line-numbers
  color: #666
  font-size: 0.85em // 更改行号大小

小代码块的更改

.article-entry
  pre, code
    font-family: font-mono
  code
    background: #e3e3e3 设置背景颜色
    color: #666
    border-radius: 3px // 圆角设置
    padding: 0.1em 0.3em // 控制大小

小代码块的颜色更改

找到landscape/source/css/_partial/article.styl文件

.article-entry
  @extend $base-style
  clearfix()
  color: color-default
  padding: 0 article-padding
  p, table
    line-height: line-height
    margin: line-height 0
  h1, h2, h3, h4, h5, h6
    font-weight: bold
  h1, h2, h3, h4, h5, h6
    line-height: line-height-title
    margin: line-height-title 0
  code
    color: color-grey //设定文章小代码块字体颜色

添加多说

首先去多说官网,注册一个账号,点击我要安装,一步一步配置自己的网站,然后找到landscape/layout/_partial/article.ejs添加下列代码

代码获取网址http://dev.duoshuo.com/threads/541d3b2b40b5abcd2e4df0e9

<% if (!index && post.comments){ %>
<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的配置文件_config.yml,注意是Hexo的
添加

duoshuo_shortname: tiantengfei

关于这个duoshuo_shortname就是你配置网站是的那个多说短域名
tiantengfei.duoshuo.com前面那个

添加百度分享

同样去百度搜索百度分享然后获取代码,在与上一步配置多说同一个文件中找到
粘贴到下面这句话下面,最好不要复制我的,大家可以自己去获取代码然后配置自己喜欢的样式

      <footer class="article-footer">
      
      <!--百度分享-->
      <div class="bdsharebuttonbox"><a href="#" class="bds_more" data-cmd="more"></a><a href="#" class="bds_qzone" data-cmd="qzone" title="分享到QQ空间"></a><a href="#" class="bds_tsina" data-cmd="tsina" title="分享到新浪微博"></a><a href="#" class="bds_tqq" data-cmd="tqq" title="分享到腾讯微博"></a><a href="#" class="bds_renren" data-cmd="renren" title="分享到人人网"></a><a href="#" class="bds_weixin" data-cmd="weixin" title="分享到微信"></a></div>
<script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"16"},"share":{},"image":{"viewList":["qzone","tsina","tqq","renren","weixin"],"viewText":"分享到:","viewSize":"16"}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];</script>
    
    </footer>

我貌似把原来的分享和标签给删除了,不然不好整样式。

添加文章目录

找到layout/_partial/article.ejs文件中添加

<% if (theme.excerpt_link){ %>
      <p class="article-more-link">
        <a href="<%- url_for(post.path) %>#more"><%= theme.excerpt_link %></a>
      </p>
    <% } %>
  <% } else { %>
  
    <!-- 文章目录 -->
    <% if (!index && post.toc){ %>
    <div id="toc" class="toc-article">
        <strong class="toc-title">文章目录</strong>
        <%- toc(post.content, {list_number: false}) %>
    </div>
    <% } %>

其中list_number:false表示不显示序号,如果你想要打开可以设置为true

然后添加CSS样式,在/source/css/_pratial/article.styl最下面添加

/*toc*/
.toc-article
  background #eee
  border 1px solid #bbb
  border-radius 10px
  margin auto
  padding 1.2em 1em 0 1em
  max-width 100%
.toc-title
  font-size 120%
#toc
  line-height 1em
  font-size 0.9em
  float right
  .toc
    padding 0
    margin 1em
    line-height 1.8em
    li
      list-style-type none
  .toc-child 
    margin-left 1em

给侧边栏插件添加外链

首先,在/layout/_widget/目录下新建一个文件,复制个当前目录的archive.ejs内容,我就命名为linkss.ejs

<div class="widget-wrap">
    <h3 class="widget-title"><%= __('链接') %></h3>
    <div class="widget">
      <li><a href="https://github.com/CoderTian" title="Zippera's Blog">我的github</a></li>
    </div>
  </div>

然后修改主题的_config.yml文件

# Sidebar
sidebar: right
widgets:
- category
- tag
- tagcloud
- archive
- recent_posts
- links //新添加的那个外链

更改归档显示的文章数

安装landscape可能你会发现归档页面显示的文章很少,就会又有新的一页,那么怎么更改呢?因为landscape主题是Hexo的默认主题,所以他和Hexo的配合度最高,可以看到Hexo的配置文件中

# Pagination
## Set per_page to 0 to disable pagination
per_page: 8
pagination_dir: page

这里控制了主页归档分类标签页显示的文章数,所以这个数字对所有都生效,但是Hexo提供了插件对这几个进行分别控制

设置archive页面数

$ npm install hexo-generator-archive --save

_config.yml添加如下配置

archive_generator:
  per_page: 20  //为0时表示不分页全展示
  yearly: true  //按年生成归档
  monthly: true //按月生成归档

设置tag页

npm install hexo-generator-tag --save

_config.yml添加如下配置

tag_generator:
  per_page: 10

设置category页

npm install hexo-generator-category --save
category_generator:
  per_page: 10

好了本教程也就到这里了,里面内容可能有些疏漏,因为总结太晚,时间间隔太久了。本篇文章也大量参考了网上别人的文章,做了个大总结。
希望大家能多多支持我的博文,感谢大家。

我的博客地址http://www.codertian.com

版权声明:本文为weixin_33922672原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_33922672/article/details/87738614

智能推荐

如何写一个自己的hexo主题

好长时间不写东西了,都在忙工作,去年三月份的时候我搞了一个hexo的博客,主题换过两三个吧,感觉都大部分的hexo主题都是东西比较多,有那么两三个比较简单的,但是自己并不是很喜欢,所以去年的时候就想着自己抽时间写一个自己的主题,但是当初看了几个hexo主题的源码,完全看不懂是什么,所以放弃了,今年又定了一个目标,写一个自己的hexo主题,终于终于在文章写一个自己的Hexo主题和该文中提到的作者自己...

写一个自己的Hexo主题

最开始折腾Hexo的时候感觉这东西很神奇,通过他和github搭配就能生成免费的静态博客,而且还有丰富的主题可以选择,当我刚入Hexo的时候默认主题是landscape,后来又使用过NexT,是一款很漂亮的主题,但是除此之外,还有很多好看的主题,我很好奇这些主题都是怎么写出来的,于是乎就仿照landscape主题开始研究,写自己的主题,也就是我自己的博客正在用的主题,项目地址在这里。 完成一个He...

基于Hexo搭建自己的个人博客,使用Butterfly主题

Node.Js + Git + Butterfly + Hexo 一. 安装Node.js 1. 删除旧的nodejs版本 2. 添加Node.js Yum存储库 3. 在CentOS上安装Node.js. 4. 检查Node.js和NPM版本 二. 安装Git 三. 安装Hexo博客框架 1. 安装Hexo 2. 检查安装 四. 开始使用Hexo搭建博客 访问localhost:4000就可以看...

hexo的next主题个性化教程 打造炫酷网站

看到有些next主题的网站很炫酷,那么是怎么配置的呢?接下来我会讲一讲如何实现一些炫酷的效果 主要有以下30种: 在右上角或者左上角实现fork me on github 添加RSS 添加动态背景 实现点击出现桃心效果 修改文章内链接文本样式 修改文章底部的那个带#号的标签 在每篇文章末尾统一添加“本文结束”标记 修改作者头像并旋转 博文压缩 修改``代码块自定义样式 侧边...

打造你自己的vim--如何配置vim

你是不是已经烦透了每次打开vim的时候,首先set nu把行号掉出来,然后设置缩进,设置高亮等等。有没有想过打造一下你自己的vim,让你每次打开你的vim的时候都可以是你所想的配置?其实很简单,只需要几步而已。 在讲之前首先讲一下vim配置文件的位置和基本的结果。如果你只是想简单的配置一下自己的vim,根本无需了解vim的脚本,只需按照如下操作即可,否则你要百度一下vim的脚本了。首先在你安装好v...

猜你喜欢

用owncloud打造属于你自己的云端硬盘

一.安装准备 1.准备一台已经安装了cent os7的vps,确保80端口和22端口已经打开,并且允许远程连接。 2.准备好一个自己用的顺手的ssh远程连接软件,我用的是remmina远程连接 3.OwnCloud 跨平台支持 Windows、Mac、Android、iOS、Linux 等平台,而且还提供了网页版和 WebDAV 形式访问,因此你可以在任何电脑、手机上都能轻松获取上传文件,所以毫无...

打造自己的 DockerImage

目标: 镜像要求 制作方法 镜像创建 利用 image-withyum.sh 脚本进行镜像创建 参考命令 脚本下载: 基础镜像系统修改 参考命令: 参考 DockerFile...

vant定制主题的详情

介绍 Vant 提供了一套默认主题,CSS 命名采用 BEM 的风格,方便使用者覆盖样式。如果你想完全替换主题色或者其他样式,可以按照本文档进行主题定制。 示例工程 我们提供了一个基于 Vue Cli 3 的示例工程,仓库地址为 Vant Demo,其中包含了定制主题的基本配置,可以作为参考。 样式变量 Vant 使用了 Less 对样式进行预处理,并内置了一些样式变量,通过替换样式变量即可定制你...

ASP.NET MVC - 定制属于你自己的ViewEngine

http://blog.csdn.net/jackvs/article/details/7788743 ASP.NET MVC出来这么久了,心中却又很多的疑惑:为什么所有的View都要放在Views目录下? 为什么Shared文件夹下面的页面可以被共享? 为什么Page既可以是*.cshtml,也可以是*.aspx?  其实上面的几个问题归结起来都是视图引擎的功效。 在传统的ASP.NE...

hexo的NexT主题配置

NexT主题配置 -------所写文章力求精简,旨在全面,难免遗漏,请多指点! 添加「标签」页面 新建页面 设置页面类型编辑之前心间的标签页面,内容如下: 修改菜单编辑 主题配置文件 themes/_config.yml,内容如下: 添加「分类」页面 设置步骤同 设置标签步骤 设置代码高亮主题 编辑 主题配置文件 themes/_config.yml,内容如下: 侧栏社交链接 编辑 主题配置文件...