💫 Awescnb, awesome cnblog 使博客园更美好。css
项目使用 webpack4 构建,能够本地调试 css 和 js, 模块化开发更高效, 同时集成大量插件(仅导入便可).html
你能够用它作如下三件事webpack
建立: 你可使用它快速建立本身的博客园皮肤,最后打包生成的 js 文件,供你本身使用.git
分享: 你可使用它快速建立一个博客园皮肤并将它贡献给项目,园友就可以切换到你的皮肤了.github
安装: 你能够安装这个项目中的皮肤在你的博客园.这不是一个简单的博客园皮肤,而是一个合集.安装以后,你能够快速切换其余皮肤.web
切换效果展现:npm
文件较大,为了节省流量,点击跳转查看.微信
1.你的博客首页 -> 管理 -> 设置babel
2.设置博客默认皮肤为 Custom模块化
3.使用 loading (不使用请忽略)
复制以下 html 粘贴到 页首 HTML.
<div id="loading"> <div class="sk-fold"> <div class="sk-fold-cube"></div> <div class="sk-fold-cube"></div> <div class="sk-fold-cube"></div> <div class="sk-fold-cube"></div> </div> </div>
复制以下 css 粘贴到 页面定制 CSS
:root{--sk-size:60px;--sk-color:#ffb3cc} #loading{position:fixed;top:0;left:0;right:0;height:100vh;display:flex;justify-content:center;align-items:center; background-color: #fff; background-image:url(https://guangzan.gitee.io/imagehost/awescnb/images/bg/cell.gif);z-index:99999} .sk-fold{width:var(--sk-size);height:var(--sk-size);position:relative;transform:rotateZ(45deg)} .sk-fold-cube{float:left;width:50%;height:50%;position:relative;transform:scale(1.1)} .sk-fold-cube:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--sk-color);animation:sk-fold 2.4s infinite linear both;transform-origin:100% 100%} .sk-fold-cube:nth-child(2){transform:scale(1.1) rotateZ(90deg)} .sk-fold-cube:nth-child(4){transform:scale(1.1) rotateZ(180deg)} .sk-fold-cube:nth-child(3){transform:scale(1.1) rotateZ(270deg)} .sk-fold-cube:nth-child(2):before{animation-delay:.3s} .sk-fold-cube:nth-child(4):before{animation-delay:.6s} .sk-fold-cube:nth-child(3):before{animation-delay:.9s} @keyframes sk-fold{ 0%,10%{transform:perspective(140px) rotateX(-180deg);opacity:0} 25%,75%{transform:perspective(140px) rotateX(0);opacity:1} 100%,90%{transform:perspective(140px) rotateY(180deg);opacity:0}}
4. 禁用默认 css 样式
5.复制以下 js 粘贴到 博客侧边栏公告 如没开通 js 权限请先开通.
<script src="https://guangzan.gitee.io/awescnb2.0/index.js"></script> <script>$.awesCnb({ // 默认使用已经集成的皮肤 reacg // 在这里写入配置 // 什么都不写表明使用默认配置 }); </script>
6.保存.
若是你想继续定制化一些功能, 点我 跳转到宝宝都能看懂的文档.
首先你须要将本项目 clone 到本地 git clone https://gitee.com/guangzan/awescnb2.0.git
.
1. 建立基本文件
例如你要建立一个名字为 demo 的博客园皮肤.
在 themes 文件夹下建立 demo 文件夹.
在 demo 文件夹中建立 index.js.
在 demo 文件夹中建立 index.css.
在 demo/index.js 中粘贴如下代码.
import './index.css' // 引入你的样式文件 import AwesCnb from '@/themes/awescnb' // 引入公共的类 class Demo extends AwesCnb { constructor() { super() super.init(this.init) } init() { // import plugins (use commonjs) // to do something } } new Demo()
2. 更新配置以启动你的皮肤
打开config / options.js
:
module.exports = { themeName: 'demo', template: 'post', }
npm start
启动的皮肤3. 构建和打包
npm start
将在本地启动你的皮肤,进行调试.npm run build
打包项目打包会在 dist 目录下生成如下 js 文件:
若是你仅本身使用你构建的皮肤, 你只须要在你的博客园中引入 demo.js 便可.
若是你但愿别人也能切换到你构建的皮肤, 欢迎贡献你构建的皮肤给这个项目.
4. 安装你建立的皮肤
安装步骤同上,你只需在安装过程当中做以下变化:
<script src="https://xxx/demo.js"></script> // 或者直接将打包好的 demo.js中代码放入标签内 <script>$.awesCnb({})</script>
项目
通用备选插件
class awescnb
reacg(示例皮肤)
gshang(示例皮肤)