hexo多主题切换
今天看到一个朋友在github上面的issue
大概问题就是怎么在不同的电脑上面使用
git有个这么个东西Submoudle中文叫做子模块
具体使用教程看这里Git-工具-子模块
这里只说怎么搞hexo多主题切换和换电脑啥的
开始
首先分两种情况
1. 主题的出了配置文件 或者其他文件没有DIY过,都是直接clone原来的主题作者的
2. 主题的CSS JS 文件自己改过
没有修改主题源码
如果没有修改主题源码那就按照下面的步骤来作
备份主题配置文件
文件在
themes/主题名字/_config.yml
没错就是他,如果你修改了默认的配置,就拷贝到另外的目录
删除主题文件
没啥说的 删除对应的主题文件,也可以直接删除themes文件夹
建立子模块
在主目录执行下面命令
git submodule add <主题的git地址> themes/<主题名字>
添加完之后 会在主git目录下面生成一个.gitmoudles文件
获得主题文件
执行完上面的步骤之后主题并不会自动clone到对应的目录
要clone到本地 只需要在博客的git主目录执行
git submodule update --init --recursive
这个时候主题就会直接下载到对应的文件夹
恢复
这个就简单了 刚才备份的主题配置文件覆盖回去就行了
好了这样就设置完了
命令
下次更新主题文件就直接执行
git submodule update
即可
更改过主题源代码
上面的看完再看这个,这个就更简单了
fork主题源代码
找到你喜欢的主题,点击Github的fork,然后就会在你自己的代码库出现一份主题的代码
建立本地子模块
跟上面一样的步骤建立
只不过在添加子模块的时候把命令
git submodule add <主题的git地址> themes/<主题名字>
这里的主题git地址换成你自己库的地址
git submodule add git@github.com:luodaoyi/hexo-theme-next.git themes/next
后面的设置跟前面一模一样
提交自己的主题更改
按照没有修改过主题的步骤弄完 恢复好了主题设置检查没啥问题之后
然后进入主题代码的目录
cd themes/主题名字
提交主题的更改
git add .
git commit -m "剥离主题"
git push -u origin master
然后在自己的分支上面跟随原主题作者的更新 处理合并 生成的时候直接pull到本地就行
为啥要这样做
为啥要这样做 多费劲
这样做的有点有几个
- 首先主题设置跟站点设置分离,主题本身就是模块化的为啥非要搞到一起
- 以后可以随便换主题玩更改站点配置里面的主题名字即可
- 可维护性很好
- 方便换电脑
多主题切换
按照上的做法可以设置很多套主题
一套主题对应一套主题配置 可以备份到主题文件里面
随时切换主题
切换主题的时候只需要更改站点配置里面对应的主题名字就行了
换电脑了
这个更简单 换了新电脑 配置好git环境和 Node.js 环境
这个时候只需要clone一分自己的源代码到本地
在本地执行
npm install -g hexo-cli
npm install
git submodule update --init --recursive
好了搞定了
hexo多主题切换的更多相关文章
- Android 主题切换 小结
前言 我们用手机的时候经常看到 设置里面有夜间模式和白天模式来更换APP的主题,以前以为很简单,但是实际做起来还是有各种不完美,那么我们也要去了解各种解决方案来丰富我们的知识,现在我们就来看看各种优劣 ...
- windows phone主题切换(换肤)
之前项目做了个主题切换的功能,最后客户没来得及出第二套界面给放弃了,默哀中... 为了不让它就这样流产了,就放博客共享吧. 首先说明下原理:这个切换是通过重写资源字典里指定的样式,在运行的过程中加载指 ...
- Android主题切换方案总结
所谓的主题切换,就是能够根据不同的设定,呈现不同风格的界面给用户,也就是所谓的换肤. 1.将主题包(图片与配置)存到SD卡上(可通过下载或手动放入指定目录),在代码里强制从本地文件创建图片与配置文字大 ...
- extjs folder is lost解决方法 和 FineUI主题切换时 iframe内的内容主题不变的解决方法
错误原因:extjs包和FineUI版本不一致 或者是 webconfig配置中 没有设置为任何人可访问 解放方法下载和FineUI版本相同的extjs包就ok了 解决方法:FineUI主题切换时 ...
- Hexo 官方主题 landscape-plus 优化
博主喜欢简洁大方的Hexo主题,看了不下100个主题之后,最终选择了 landscape-plus 主题(针对中国大陆地区,对Hexo官方主题landscape进行优化后的版本).更多Hexo主题资源 ...
- iOS开发之App主题切换完整解决方案(Swift版)
本篇博客就来介绍一下iOS App中主题切换的常规做法,当然本篇博客中只是提到了一种主题切换的方法,当然还有其他方法,在此就不做过多赘述了.本篇博客中所涉及的Demo完全使用Swift3.0编写完成, ...
- CI框架主题切换的功能
CI框架主题切换的功能 本人接触到这个框架不就,属于菜鸟 , 公司现在用CI框架做项目 ,老大要做一个主题切换的功能,说明功能的要求我的脑子里瞬间有几个想法. 脑子里最简单的就是设置全局变量 如 : ...
- hexo next主题为博客添加分享功能
title: hexo next主题为博客添加分享功能 date: 2018-01-06 20:20:02 tags: [hexo博客, 博客配置] categories: hexo next主题配置 ...
- Android主题切换—夜间/白天模式探究
现在市面上众多阅读类App都提供了两种主题:白天or夜间. 上述两幅图片,正是两款App的夜间模式效果,所以,依据这个功能,来看看切换主题到底是怎么实现的(当然现在github有好多PluginThe ...
随机推荐
- httpmessageconverter requestbody responsebody
@ResponseBody @RequestMapping("/testHttpMessageConverter") public String testHttpMessageCo ...
- mybatis 复习笔记01
本文内容转自传智播客笔记 1. 问题总结 1). 数据库连接,使用时就创建,不使用立即释放,对数据库进行频繁连接开启和关闭,造成数据库资源浪费,影响 数据库性能. 设想:使用数据库连接池管理数据库连 ...
- js使用经验之谈
1. js 对象,先有的起作用.CSS属性,后有的起作用. 2. 方法中使用submit提交表单,如果提交后面还有代码需要执行,不能保证顺序.例如,提交后关闭页面,很可能会在提交前关闭页面,导致提交 ...
- hadoop28---注解
spring.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="ht ...
- HDU2385Stock
/*既然前一天的可以省下来给过后一天卖,那么就倒着卖,那么最后一天的只能在最后一天卖,如果可以卖完,还有可卖的名额,那么就从 倒数第二天取,如果卖不完只能丢掉,而且必定是尽量留到价格最高的那一天卖*/ ...
- <nginx+PHP>nginx环境下配置支持php7
[root@redhat7 ~]# wget http://am1.php.net/get/php-7.1.2.tar.gz/from/this/mirror [root@redhat7 ~]# ta ...
- mysql 进阶查询(学习笔记)
学习笔记,来源:实验楼 ,链接: https://www.shiyanlou.com/courses/9 一.日期计算: 1.要想确定每个宠物有多大,可以使用函数TIMESTAMPDIFF()计算 ...
- 线程的sleep()方法和yield()方法区别
1.sleep()方法给其他线程运行机会时不考虑线程的优先级,因此会给低优先级的线程以运行的机会 2.yield()方法只会给相同优先级或更高优先级的线程以运行的机会 3.线程执行sleep()方法后 ...
- HTML中a标签的锚点
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- jsp——js事件修改属性样式的两种方法(直接赋值、修改属性)、验证表单符合某要求、阻止表单提交、告诉浏览器不要缓存
代码 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncodi ...