💫 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(示例皮膚)