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 ...
随机推荐
- python入门四:异常
一.异常 异常就是在触发异常条件时(解释器或程序员)而采取相应的措施 c++中异常使用try, throw, catch等关键字,而python中使用try, raise, except等 二.标准异 ...
- Android平台利用OpenCL框架实现并行开发初试
http://www.cnblogs.com/lifan3a/articles/4607659.html 在我们熟知的桌面平台,GPU得到了极为广泛的应用,小到各种电子游戏,大到高性能计算,多核心.高 ...
- Android Camera 通过V4L2与kernel driver的完整交互过程
http://blog.chinaunix.net/uid-26215986-id-3552456.html 原文地址:Android Camera 通过V4L2与kernel driver的完整交互 ...
- gradle-rn-app工程运行须知
singwhatiwanna edited this page 16 days ago · 5 revisions Pages 7 Home Demo 工程运行须知 VirtualAPK API 概 ...
- Hungry Rabbit
Problem C. Hungry Rabbit Input file: hungry.in Output file: hungry.out Time limit: 10 seconds Memory ...
- 详解Linux系统中的文件名和文件种类以及文件权限
Linux文件种类与副文件名 一直强调一个概念,那就是:任何装置在Linux底下都是文件, 不仅如此,连资料沟通的介面也有专属的文件在负责-所以,你会瞭解到,Linux的文件种类真的很多- 除了前面提 ...
- Docker入门使用
先来一波docker的指令: docker inspect 容器id 查询容器信息 docker stop 容器id 停止容器id docker rm 容器id ...
- 织梦DedeCMS实现 三级栏目_二级栏目_一级栏目_网站名称 的效果代码
1.将官方原来的排列方式反过来,找到include/typelink.class.php第164行 $this->valuePositionName = $tinfos['typename']. ...
- Navicat Premium 10/12——破解激活
Navicat Premium 12官方Windows64位百度云 链接:https://pan.baidu.com/s/1hGmDljszQsUoi194CYdfmA 密码:1xff 官方下载链接 ...
- MySql 存储过程实例 - 转载
MySql 存储过程实例 将下面的语句复制粘贴可以一次性执行完,我已经测试过,没有问题! MySql存储过程简单实例: ...