├── .gitignore ├── README.md ├── app.js ├── assets ├── media │ └── js │ │ └── jquery.sticky-sidebar.min.js └── styles │ ├── common │ ├── common │ │ ├── base.less │ │ └── modern-normalize.less │ ├── components │ │ ├── button.less │ │ ├── card.less │ │ └── tag.less │ └── index.less │ ├── components │ ├── about.less │ ├── archives.less │ ├── cards │ │ ├── id-card.less │ │ ├── notice-card.less │ │ └── toc-card.less │ ├── footer.less │ ├── header.less │ ├── home.less │ ├── pagination.less │ ├── post.less │ ├── tag.less │ └── tags.less │ ├── fonts │ ├── FontAwesome.otf │ ├── font-awesome.css │ ├── fontawesome-webfont.eot │ ├── fontawesome-webfont.svg │ ├── fontawesome-webfont.ttf │ ├── fontawesome-webfont.woff │ └── fontawesome-webfont.woff2 │ ├── lib │ └── github.less │ └── main.less ├── config.json ├── favicon.ico ├── gulpfile.js ├── images ├── README.md ├── archives.png ├── avatar.png ├── home.png ├── post.png └── tags.png ├── package.json ├── templates ├── archives.ejs ├── includes │ ├── cards │ │ ├── id-card.ejs │ │ ├── notice-card.ejs │ │ └── toc-card.ejs │ ├── disqus.ejs │ ├── footer.ejs │ ├── gitalk.ejs │ ├── head.ejs │ ├── header.ejs │ ├── pagination.ejs │ ├── post-list-archives.ejs │ └── post-list.ejs ├── index.ejs ├── post.ejs ├── tag.ejs └── tags.ejs └── yarn.lock /.gitignore: -------------------------------------------------------------------------------- 1 | 2 | # Created by https://www.gitignore.io/api/git,node,macos,windows,webstorm 3 | # Edit at https://www.gitignore.io/?templates=git,node,macos,windows,webstorm 4 | 5 | ### Git ### 6 | # Created by git for backups. To disable backups in Git: 7 | # $ git config --global mergetool.keepBackup false 8 | *.orig 9 | 10 | # Created by git when using merge tools for conflicts 11 | *.BACKUP.* 12 | *.BASE.* 13 | *.LOCAL.* 14 | *.REMOTE.* 15 | *_BACKUP_*.txt 16 | *_BASE_*.txt 17 | *_LOCAL_*.txt 18 | *_REMOTE_*.txt 19 | 20 | ### macOS ### 21 | # General 22 | .DS_Store 23 | .AppleDouble 24 | .LSOverride 25 | 26 | # Icon must end with two \r 27 | Icon 28 | 29 | # Thumbnails 30 | ._* 31 | 32 | # Files that might appear in the root of a volume 33 | .DocumentRevisions-V100 34 | .fseventsd 35 | .Spotlight-V100 36 | .TemporaryItems 37 | .Trashes 38 | .VolumeIcon.icns 39 | .com.apple.timemachine.donotpresent 40 | 41 | # Directories potentially created on remote AFP share 42 | .AppleDB 43 | .AppleDesktop 44 | Network Trash Folder 45 | Temporary Items 46 | .apdisk 47 | 48 | ### Node ### 49 | # Logs 50 | logs 51 | *.log 52 | npm-debug.log* 53 | yarn-debug.log* 54 | yarn-error.log* 55 | lerna-debug.log* 56 | 57 | # Diagnostic reports (https://nodejs.org/api/report.html) 58 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json 59 | 60 | # Runtime data 61 | pids 62 | *.pid 63 | *.seed 64 | *.pid.lock 65 | 66 | # Directory for instrumented libs generated by jscoverage/JSCover 67 | lib-cov 68 | 69 | # Coverage directory used by tools like istanbul 70 | coverage 71 | 72 | # nyc test coverage 73 | .nyc_output 74 | 75 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) 76 | .grunt 77 | 78 | # Bower dependency directory (https://bower.io/) 79 | bower_components 80 | 81 | # node-waf configuration 82 | .lock-wscript 83 | 84 | # Compiled binary addons (https://nodejs.org/api/addons.html) 85 | build/Release 86 | 87 | # Dependency directories 88 | node_modules/ 89 | jspm_packages/ 90 | 91 | # TypeScript v1 declaration files 92 | typings/ 93 | 94 | # Optional npm cache directory 95 | .npm 96 | 97 | # Optional eslint cache 98 | .eslintcache 99 | 100 | # Optional REPL history 101 | .node_repl_history 102 | 103 | # Output of 'npm pack' 104 | *.tgz 105 | 106 | # Yarn Integrity file 107 | .yarn-integrity 108 | 109 | # dotenv environment variables file 110 | .env 111 | .env.test 112 | 113 | # parcel-bundler cache (https://parceljs.org/) 114 | .cache 115 | 116 | # next.js build output 117 | .next 118 | 119 | # nuxt.js build output 120 | .nuxt 121 | 122 | # vuepress build output 123 | .vuepress/dist 124 | 125 | # Serverless directories 126 | .serverless/ 127 | 128 | # FuseBox cache 129 | .fusebox/ 130 | 131 | # DynamoDB Local files 132 | .dynamodb/ 133 | 134 | ### WebStorm ### 135 | # Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and WebStorm 136 | # Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 137 | 138 | # User-specific stuff 139 | .idea/**/workspace.xml 140 | .idea/**/tasks.xml 141 | .idea/**/usage.statistics.xml 142 | .idea/**/dictionaries 143 | .idea/**/shelf 144 | 145 | # Generated files 146 | .idea/**/contentModel.xml 147 | 148 | # Sensitive or high-churn files 149 | .idea/**/dataSources/ 150 | .idea/**/dataSources.ids 151 | .idea/**/dataSources.local.xml 152 | .idea/**/sqlDataSources.xml 153 | .idea/**/dynamic.xml 154 | .idea/**/uiDesigner.xml 155 | .idea/**/dbnavigator.xml 156 | 157 | # Gradle 158 | .idea/**/gradle.xml 159 | .idea/**/libraries 160 | 161 | # Gradle and Maven with auto-import 162 | # When using Gradle or Maven with auto-import, you should exclude module files, 163 | # since they will be recreated, and may cause churn. Uncomment if using 164 | # auto-import. 165 | # .idea/modules.xml 166 | # .idea/*.iml 167 | # .idea/modules 168 | 169 | # CMake 170 | cmake-build-*/ 171 | 172 | # Mongo Explorer plugin 173 | .idea/**/mongoSettings.xml 174 | 175 | # File-based project format 176 | *.iws 177 | 178 | # IntelliJ 179 | out/ 180 | 181 | # mpeltonen/sbt-idea plugin 182 | .idea_modules/ 183 | 184 | # JIRA plugin 185 | atlassian-ide-plugin.xml 186 | 187 | # Cursive Clojure plugin 188 | .idea/replstate.xml 189 | 190 | # Crashlytics plugin (for Android Studio and IntelliJ) 191 | com_crashlytics_export_strings.xml 192 | crashlytics.properties 193 | crashlytics-build.properties 194 | fabric.properties 195 | 196 | # Editor-based Rest Client 197 | .idea/httpRequests 198 | 199 | # Android studio 3.1+ serialized cache file 200 | .idea/caches/build_file_checksums.ser 201 | 202 | # JetBrains templates 203 | **___jb_tmp___ 204 | 205 | ### WebStorm Patch ### 206 | # Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721 207 | 208 | # *.iml 209 | # modules.xml 210 | # .idea/misc.xml 211 | # *.ipr 212 | 213 | # Sonarlint plugin 214 | .idea/sonarlint 215 | 216 | ### Windows ### 217 | # Windows thumbnail cache files 218 | Thumbs.db 219 | ehthumbs.db 220 | ehthumbs_vista.db 221 | 222 | # Dump file 223 | *.stackdump 224 | 225 | # Folder config file 226 | [Dd]esktop.ini 227 | 228 | # Recycle Bin used on file shares 229 | $RECYCLE.BIN/ 230 | 231 | # Windows Installer files 232 | *.cab 233 | *.msi 234 | *.msix 235 | *.msm 236 | *.msp 237 | 238 | # Windows shortcuts 239 | *.lnk 240 | 241 | # End of https://www.gitignore.io/api/git,node,macos,windows,webstorm 242 | 243 | /styles/**/* 244 | /media/**/* 245 | package-lock.json 246 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Gridea 主题 Lemon 2 | 3 | ## 主题截图 4 | 5 |
6 |

首页

7 | 8 |

内容页

9 | 10 |

标签页

11 | 12 |

归档页

13 | 14 |
15 | 16 | ## 安装 17 | 18 | 推荐使用 `git clone` 的方式下载到 Gridea 客户端的 theme 目录。方便后期更新升级。 19 | 20 | - 打开 theme 目录:`~/Documents/gridea/themes` 21 | - 在当前目录执行 `https://github.com/Mrcxt/gridea-theme-lemon.git` 22 | - 重启 Gridea 客户端查看效果 -------------------------------------------------------------------------------- /app.js: -------------------------------------------------------------------------------- 1 | const express = require('express') 2 | const ejs = require('ejs') 3 | const path = require('path') 4 | const axios = require('axios') 5 | 6 | const app = express() 7 | 8 | app.use(express.static(__dirname)) 9 | 10 | app.set('views', path.join(__dirname, '/templates')); 11 | app.set('view engine', 'ejs'); 12 | 13 | /** 14 | * Home Page & Post List Page 15 | */ 16 | app.get('/', async(req, res) => { 17 | const response = await axios.get('https://raw.githubusercontent.com/getgridea/mock-json/master/list.json') 18 | console.log({ 19 | ...response.data 20 | }); 21 | res.render('index', { 22 | ...response.data 23 | }) 24 | }) 25 | 26 | /** 27 | * Post Page 28 | */ 29 | app.get('/post/:postName', async(req, res) => { 30 | const response = await axios.get('https://raw.githubusercontent.com/getgridea/mock-json/master/post.json') 31 | res.render('post', { 32 | ...response.data 33 | }) 34 | }) 35 | 36 | /** 37 | * Archives Page 38 | */ 39 | app.get('/archives', async(req, res) => { 40 | const response = await axios.get('https://raw.githubusercontent.com/getgridea/mock-json/master/archives.json') 41 | res.render('archives', { 42 | ...response.data 43 | }) 44 | }) 45 | 46 | /** 47 | * tags Page 48 | */ 49 | app.get('/tags', async(req, res) => { 50 | const response = await axios.get('https://raw.githubusercontent.com/getgridea/mock-json/master/tags.json') 51 | res.render('tags', { 52 | ...response.data 53 | }) 54 | }) 55 | 56 | /** 57 | * tag Page 58 | */ 59 | app.get('/tag/:tagName', async(req, res) => { 60 | const response = await axios.get('https://raw.githubusercontent.com/getgridea/mock-json/master/tag.json') 61 | res.render('tag', { 62 | ...response.data 63 | }) 64 | }) 65 | 66 | //使用8080端口 67 | app.listen(3001) 68 | console.log("The server is running on 3001") -------------------------------------------------------------------------------- /assets/media/js/jquery.sticky-sidebar.min.js: -------------------------------------------------------------------------------- 1 | /** 2 | * sticky-sidebar - A JavaScript plugin for making smart and high performance. 3 | * @version v3.3.1 4 | * @link https://github.com/abouolia/sticky-sidebar 5 | * @author Ahmed Bouhuolia 6 | * @license The MIT License (MIT) 7 | **/ 8 | !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):t.StickySidebar=e()}(this,function(){"use strict";function t(t){return t&&t.__esModule?t.default:t}function e(t,e){return e={exports:{}},t(e,e.exports),e.exports}"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self&&self;var i=e(function(t,e){!function(t,i){i(e)}(0,function(t){function e(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function t(t,e){for(var i=0;i1&&void 0!==arguments[1]?arguments[1]:{};if(e(this,o),this.options=o.extend(n,s),this.sidebar="string"==typeof t?document.querySelector(t):t,void 0===this.sidebar)throw new Error("There is no specific sidebar element.");this.sidebarInner=!1,this.container=this.sidebar.parentElement,this.affixedType="STATIC",this.direction="down",this.support={transform:!1,transform3d:!1},this._initialized=!1,this._reStyle=!1,this._breakpoint=!1,this.dimensions={translateY:0,maxTranslateY:0,topSpacing:0,lastTopSpacing:0,bottomSpacing:0,lastBottomSpacing:0,sidebarHeight:0,sidebarWidth:0,containerTop:0,containerHeight:0,viewportHeight:0,viewportTop:0,lastViewportTop:0},["handleEvent"].forEach(function(t){i[t]=i[t].bind(i)}),this.initialize()}return i(o,[{key:"initialize",value:function(){var t=this;if(this._setSupportFeatures(),this.options.innerWrapperSelector&&(this.sidebarInner=this.sidebar.querySelector(this.options.innerWrapperSelector),null===this.sidebarInner&&(this.sidebarInner=!1)),!this.sidebarInner){var e=document.createElement("div");for(e.setAttribute("class","inner-wrapper-sticky"),this.sidebar.appendChild(e);this.sidebar.firstChild!=e;)e.appendChild(this.sidebar.firstChild);this.sidebarInner=this.sidebar.querySelector(".inner-wrapper-sticky")}if(this.options.containerSelector){var i=document.querySelectorAll(this.options.containerSelector);if((i=Array.prototype.slice.call(i)).forEach(function(e,i){e.contains(t.sidebar)&&(t.container=e)}),!i.length)throw new Error("The container does not contains on the sidebar.")}"function"!=typeof this.options.topSpacing&&(this.options.topSpacing=parseInt(this.options.topSpacing)||0),"function"!=typeof this.options.bottomSpacing&&(this.options.bottomSpacing=parseInt(this.options.bottomSpacing)||0),this._widthBreakpoint(),this.calcDimensions(),this.stickyPosition(),this.bindEvents(),this._initialized=!0}},{key:"bindEvents",value:function(){window.addEventListener("resize",this,{passive:!0,capture:!1}),window.addEventListener("scroll",this,{passive:!0,capture:!1}),this.sidebar.addEventListener("update"+t,this),this.options.resizeSensor&&"undefined"!=typeof ResizeSensor&&(new ResizeSensor(this.sidebarInner,this.handleEvent),new ResizeSensor(this.container,this.handleEvent))}},{key:"handleEvent",value:function(t){this.updateSticky(t)}},{key:"calcDimensions",value:function(){if(!this._breakpoint){var t=this.dimensions;t.containerTop=o.offsetRelative(this.container).top,t.containerHeight=this.container.clientHeight,t.containerBottom=t.containerTop+t.containerHeight,t.sidebarHeight=this.sidebarInner.offsetHeight,t.sidebarWidth=this.sidebarInner.offsetWidth,t.viewportHeight=window.innerHeight,t.maxTranslateY=t.containerHeight-t.sidebarHeight,this._calcDimensionsWithScroll()}}},{key:"_calcDimensionsWithScroll",value:function(){var t=this.dimensions;t.sidebarLeft=o.offsetRelative(this.sidebar).left,t.viewportTop=document.documentElement.scrollTop||document.body.scrollTop,t.viewportBottom=t.viewportTop+t.viewportHeight,t.viewportLeft=document.documentElement.scrollLeft||document.body.scrollLeft,t.topSpacing=this.options.topSpacing,t.bottomSpacing=this.options.bottomSpacing,"function"==typeof t.topSpacing&&(t.topSpacing=parseInt(t.topSpacing(this.sidebar))||0),"function"==typeof t.bottomSpacing&&(t.bottomSpacing=parseInt(t.bottomSpacing(this.sidebar))||0),"VIEWPORT-TOP"===this.affixedType?t.topSpacing=t.containerBottom?(t.translateY=t.containerBottom-e,o="CONTAINER-BOTTOM"):i>=t.containerTop&&(t.translateY=i-t.containerTop,o="VIEWPORT-TOP"):t.containerBottom<=n?(t.translateY=t.containerBottom-e,o="CONTAINER-BOTTOM"):e+t.translateY<=n?(t.translateY=n-e,o="VIEWPORT-BOTTOM"):t.containerTop+t.translateY<=i&&0!==t.translateY&&t.maxTranslateY!==t.translateY&&(o="VIEWPORT-UNBOTTOM"),o}},{key:"_getAffixTypeScrollingUp",value:function(){var t=this.dimensions,e=t.sidebarHeight+t.containerTop,i=t.viewportTop+t.topSpacing,n=t.viewportBottom-t.bottomSpacing,o=this.affixedType;return i<=t.translateY+t.containerTop?(t.translateY=i-t.containerTop,o="VIEWPORT-TOP"):t.containerBottom<=n?(t.translateY=t.containerBottom-e,o="CONTAINER-BOTTOM"):this.isSidebarFitsViewport()||t.containerTop<=i&&0!==t.translateY&&t.maxTranslateY!==t.translateY&&(o="VIEWPORT-UNBOTTOM"),o}},{key:"_getStyle",value:function(t){if(void 0!==t){var e={inner:{},outer:{}},i=this.dimensions;switch(t){case"VIEWPORT-TOP":e.inner={position:"fixed",top:i.topSpacing,left:i.sidebarLeft-i.viewportLeft,width:i.sidebarWidth};break;case"VIEWPORT-BOTTOM":e.inner={position:"fixed",top:"auto",left:i.sidebarLeft,bottom:i.bottomSpacing,width:i.sidebarWidth};break;case"CONTAINER-BOTTOM":case"VIEWPORT-UNBOTTOM":var n=this._getTranslate(0,i.translateY+"px");e.inner=n?{transform:n}:{position:"absolute",top:i.translateY,width:i.sidebarWidth}}switch(t){case"VIEWPORT-TOP":case"VIEWPORT-BOTTOM":case"VIEWPORT-UNBOTTOM":case"CONTAINER-BOTTOM":e.outer={height:i.sidebarHeight,position:"relative"}}return e.outer=o.extend({height:"",position:""},e.outer),e.inner=o.extend({position:"relative",top:"",left:"",bottom:"",width:"",transform:""},e.inner),e}}},{key:"stickyPosition",value:function(e){if(!this._breakpoint){e=this._reStyle||e||!1;var i=this.getAffixType(),n=this._getStyle(i);if((this.affixedType!=i||e)&&i){var s="affix."+i.toLowerCase().replace("viewport-","")+t;o.eventTrigger(this.sidebar,s),"STATIC"===i?o.removeClass(this.sidebar,this.options.stickyClass):o.addClass(this.sidebar,this.options.stickyClass);for(var r in n.outer){var a="number"==typeof n.outer[r]?"px":"";this.sidebar.style[r]=n.outer[r]+a}for(var p in n.inner){var c="number"==typeof n.inner[p]?"px":"";this.sidebarInner.style[p]=n.inner[p]+c}var l="affixed."+i.toLowerCase().replace("viewport-","")+t;o.eventTrigger(this.sidebar,l)}else this._initialized&&(this.sidebarInner.style.left=n.inner.left);this.affixedType=i}}},{key:"_widthBreakpoint",value:function(){window.innerWidth<=this.options.minWidth?(this._breakpoint=!0,this.affixedType="STATIC",this.sidebar.removeAttribute("style"),o.removeClass(this.sidebar,this.options.stickyClass),this.sidebarInner.removeAttribute("style")):this._breakpoint=!1}},{key:"updateSticky",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this._running||(this._running=!0,function(e){requestAnimationFrame(function(){switch(e){case"scroll":t._calcDimensionsWithScroll(),t.observeScrollDir(),t.stickyPosition();break;case"resize":default:t._widthBreakpoint(),t.calcDimensions(),t.stickyPosition(!0)}t._running=!1})}(e.type))}},{key:"_setSupportFeatures",value:function(){var t=this.support;t.transform=o.supportTransform(),t.transform3d=o.supportTransform(!0)}},{key:"_getTranslate",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return this.support.transform3d?"translate3d("+t+", "+e+", "+i+")":!!this.support.translate&&"translate("+t+", "+e+")"}},{key:"destroy",value:function(){window.removeEventListener("resize",this,{capture:!1}),window.removeEventListener("scroll",this,{capture:!1}),this.sidebar.classList.remove(this.options.stickyClass),this.sidebar.style.minHeight="",this.sidebar.removeEventListener("update"+t,this);var e={inner:{},outer:{}};e.inner={position:"",top:"",left:"",bottom:"",width:"",transform:""},e.outer={height:"",position:""};for(var i in e.outer)this.sidebar.style[i]=e.outer[i];for(var n in e.inner)this.sidebarInner.style[n]=e.inner[n];this.options.resizeSensor&&"undefined"!=typeof ResizeSensor&&(ResizeSensor.detach(this.sidebarInner,this.handleEvent),ResizeSensor.detach(this.container,this.handleEvent))}}],[{key:"supportTransform",value:function(t){var e=!1,i=t?"perspective":"transform",n=i.charAt(0).toUpperCase()+i.slice(1),o=["Webkit","Moz","O","ms"],s=document.createElement("support").style;return(i+" "+o.join(n+" ")+n).split(" ").forEach(function(t,i){if(void 0!==s[t])return e=t,!1}),e}},{key:"eventTrigger",value:function(t,e,i){try{var n=new CustomEvent(e,{detail:i})}catch(t){(n=document.createEvent("CustomEvent")).initCustomEvent(e,!0,!0,i)}t.dispatchEvent(n)}},{key:"extend",value:function(t,e){var i={};for(var n in t)void 0!==e[n]?i[n]=e[n]:i[n]=t[n];return i}},{key:"offsetRelative",value:function(t){var e={left:0,top:0};do{var i=t.offsetTop,n=t.offsetLeft;isNaN(i)||(e.top+=i),isNaN(n)||(e.left+=n),t="BODY"===t.tagName?t.parentElement:t.offsetParent}while(t);return e}},{key:"addClass",value:function(t,e){o.hasClass(t,e)||(t.classList?t.classList.add(e):t.className+=" "+e)}},{key:"removeClass",value:function(t,e){o.hasClass(t,e)&&(t.classList?t.classList.remove(e):t.className=t.className.replace(new RegExp("(^|\\b)"+e.split(" ").join("|")+"(\\b|$)","gi")," "))}},{key:"hasClass",value:function(t,e){return t.classList?t.classList.contains(e):new RegExp("(^| )"+e+"( |$)","gi").test(t.className)}},{key:"defaults",get:function(){return n}}]),o}()}();t.default=n,window.StickySidebar=n})});return t(i),t(e(function(t,e){!function(t,e){e(i)}(0,function(t){var e=function(t){return t&&t.__esModule?t:{default:t}}(t);!function(){if("undefined"!=typeof window){var t=window.$||window.jQuery||window.Zepto;if(t){t.fn.stickySidebar=function(i){return this.each(function(){var n=t(this),o=t(this).data("stickySidebar");if(o||(o=new e.default(this,"object"==typeof i&&i),n.data("stickySidebar",o)),"string"==typeof i){if(void 0===o[i]&&-1===["destroy","updateSticky"].indexOf(i))throw new Error('No method named "'+i+'"');o[i]()}})},t.fn.stickySidebar.Constructor=e.default;var i=t.fn.stickySidebar;t.fn.stickySidebar.noConflict=function(){return t.fn.stickySidebar=i,this}}}}()})}))}); -------------------------------------------------------------------------------- /assets/styles/common/common/base.less: -------------------------------------------------------------------------------- 1 | // @import "./color/colors"; 2 | 3 | // Prefix 4 | @css-prefix : i-; 5 | @css-prefix-iconfont : i-icon; 6 | 7 | // Color 8 | @primary-color : #2e9fff; 9 | @info-color : #2db7f5; 10 | @success-color : #19be6b; 11 | @warning-color : #ff9900; 12 | @error-color : #ed4014; 13 | @banana-color: #f9d654; 14 | @normal-color : #e6ebf1; 15 | @link-color : @primary-color; 16 | @link-hover-color : tint(@link-color, 20%); 17 | @link-active-color : shade(@link-color, 5%); 18 | @selected-color : fade(@primary-color, 90%); 19 | @tooltip-color : #fff; 20 | @subsidiary-color : #808695; 21 | @rate-star-color : #f5a623; 22 | // other color 23 | @other_1-color: #7189bf; 24 | @other_2-color: #df7599; 25 | @other_3-color: #ffc785; 26 | @other_4-color: #72d6c9; 27 | 28 | // Base 29 | @body-background : #fcfcfc; 30 | @component-background : #fff; 31 | @font-family : "Myriad Pro", 32 | "PingFang SC", 33 | "Helvetica Neue", 34 | Helvetica, 35 | Arial, 36 | sans-serif; 37 | @code-family : Consolas, 38 | Menlo, 39 | Courier, 40 | monospace; 41 | @title-color : #17233d; 42 | @text-color : #515a6e; 43 | @font-size-base : 14px; 44 | @font-size-small : 12px; 45 | @font-size-large : 16px; 46 | @line-height-base : 1.5; 47 | @line-height-computed : floor((@font-size-base * @line-height-base)); 48 | @border-radius-base : 6px; 49 | @border-radius-small : 4px; 50 | @cursor-disabled : not-allowed; 51 | 52 | // Border color 53 | @border-color-base : #dcdee2; // outside 54 | @border-color-split : #e8eaec; // inside 55 | @border-width-base : 1px; // width of the border for a component 56 | @border-style-base : solid; // style of a components border 57 | 58 | // Background color 59 | @background-color-base : #f7f7f7; // base 60 | @background-color-select-hover: @input-disabled-bg; 61 | @tooltip-bg : rgba(70, 76, 91, .9); 62 | @head-bg : #f9fafc; 63 | @table-thead-bg : #f8f8f9; 64 | @table-td-stripe-bg : #f8f8f9; 65 | @table-td-hover-bg : #ebf7ff; 66 | @table-td-highlight-bg : #ebf7ff; 67 | @menu-dark-title : #515a6e; 68 | @menu-dark-active-bg : #363e4f; 69 | @menu-dark-subsidiary-color : rgba(255, 255, 255, .7); 70 | @menu-dark-group-title-color : rgba(255, 255, 255, .36); 71 | @date-picker-cell-hover-bg : #e1f0fe; 72 | 73 | // Shadow 74 | @shadow-color : rgba(200, 200, 200, 0.25); 75 | @shadow-base : @shadow-down; 76 | @shadow-card : 0 1px 1px 0 rgba(0, 0, 0, .1); 77 | @shadow-up : 0 -1px 6px @shadow-color; 78 | @shadow-down : 0 1px 6px @shadow-color; 79 | @shadow-left : -1px 0 6px @shadow-color; 80 | @shadow-right : 1px 0 6px @shadow-color; 81 | @box-shadow: 0 0 30px @shadow-color; 82 | 83 | // Button 84 | @btn-font-weight : normal; 85 | @btn-padding-base : 5px 15px 6px; 86 | @btn-padding-large : 6px 15px 6px 15px; 87 | @btn-padding-small : 1px 7px 2px; 88 | @btn-padding-base-icon : 5px 15px 6px; 89 | @btn-padding-large-icon : 6px 15px 6px 15px; 90 | @btn-padding-small-icon : 1px 7px 2px; 91 | @btn-font-size : 12px; 92 | @btn-font-size-large : 14px; 93 | @btn-border-radius : 4px; 94 | @btn-border-radius-small: 3px; 95 | @btn-group-border : shade(@primary-color, 5%); 96 | 97 | @btn-disable-color : #c5c8ce; 98 | @btn-disable-bg : @background-color-base; 99 | @btn-disable-border : @border-color-base; 100 | 101 | @btn-default-color : @text-color; 102 | @btn-default-bg : #fff; 103 | @btn-default-border : @border-color-base; 104 | 105 | @btn-primary-color : #fff; 106 | @btn-primary-bg : @primary-color; 107 | 108 | @btn-ghost-color : @text-color; 109 | @btn-ghost-bg : #fff; 110 | @btn-ghost-border : @border-color-base; 111 | 112 | @btn-circle-size : 32px; 113 | @btn-circle-size-large : 36px; 114 | @btn-circle-size-small : 24px; 115 | 116 | // Layout and Grid 117 | @grid-columns : 24; 118 | @grid-gutter-width : 0; 119 | @layout-body-background : #f5f7f9; 120 | @layout-header-background : #515a6e; 121 | @layout-header-height : 64px; 122 | @layout-header-padding : 0 50px; 123 | @layout-footer-padding : 24px 50px; 124 | @layout-footer-background : @layout-body-background; 125 | @layout-sider-background : @layout-header-background; 126 | @layout-trigger-height : 48px; 127 | @layout-trigger-color : #fff; 128 | @layout-zero-trigger-width : 36px; 129 | @layout-zero-trigger-height : 42px; 130 | 131 | // Legend 132 | @legend-color : #999; 133 | 134 | // Input 135 | @input-height-base : 32px; 136 | @input-height-large : 36px; 137 | @input-height-small : 24px; 138 | 139 | @input-padding-horizontal : 7px; 140 | @input-padding-vertical-base : 4px; 141 | @input-padding-vertical-small: 1px; 142 | @input-padding-vertical-large: 6px; 143 | 144 | @input-placeholder-color : @btn-disable-color; 145 | @input-color : @text-color; 146 | @input-border-color : @border-color-base; 147 | @input-bg : #fff; 148 | @input-group-bg : #f8f8f9; 149 | 150 | @input-hover-border-color : @primary-color; 151 | @input-focus-border-color : @primary-color; 152 | @input-disabled-bg : #f3f3f3; 153 | 154 | // Tag 155 | @tag-font-size : 12px; 156 | 157 | // Media queries breakpoints 158 | // Extra small screen / phone 159 | @screen-xs : 480px; 160 | @screen-xs-min : @screen-xs; 161 | @screen-xs-max : (@screen-xs-min - 1); 162 | 163 | // Small screen / tablet 164 | @screen-sm : 576px; 165 | @screen-sm-min : @screen-sm; 166 | @screen-sm-max : (@screen-sm-min - 1); 167 | 168 | // Medium screen / desktop 169 | @screen-md : 768px; 170 | @screen-md-min : @screen-md; 171 | @screen-md-max : (@screen-md-min - 1); 172 | 173 | // Large screen / wide desktop 174 | @screen-lg : 992px; 175 | @screen-lg-min : @screen-lg; 176 | @screen-lg-max : (@screen-lg-min - 1); 177 | 178 | // Extra large screen / full hd 179 | @screen-xl : 1200px; 180 | @screen-xl-min : @screen-xl; 181 | @screen-xl-max : (@screen-xl-min - 1); 182 | 183 | // Extra extra large screen / large descktop 184 | @screen-xxl : 1600px; 185 | @screen-xxl-min : @screen-xxl; 186 | @screen-xxl-max : (@screen-xxl-min - 1); 187 | 188 | // Z-index 189 | @zindex-spin : 8; 190 | @zindex-affix : 10; 191 | @zindex-back-top : 10; 192 | @zindex-select : 900; 193 | @zindex-modal : 1000; 194 | @zindex-drawer : 1000; 195 | @zindex-message : 1010; 196 | @zindex-notification : 1010; 197 | @zindex-tooltip : 1060; 198 | @zindex-transfer : 1060; 199 | @zindex-loading-bar : 2000; 200 | @zindex-spin-fullscreen : 2010; 201 | 202 | // Animation 203 | @animation-time : .3s; 204 | @transition-time : .2s; 205 | @ease-in-out : ease-in-out; 206 | 207 | // Slider 208 | @slider-color : tint(@primary-color, 20%); 209 | @slider-height : 4px; 210 | @slider-margin : 16px 0; 211 | @slider-button-wrap-size : 18px; 212 | @slider-button-wrap-offset : -4px; 213 | @slider-disabled-color : #ccc; 214 | 215 | // Avatar 216 | @avatar-size-base: 32px; 217 | @avatar-size-lg: 40px; 218 | @avatar-size-sm: 24px; 219 | @avatar-font-size-base: 18px; 220 | @avatar-font-size-lg: 24px; 221 | @avatar-font-size-sm: 14px; 222 | @avatar-bg: #ccc; 223 | @avatar-color: #fff; 224 | @avatar-border-radius: @border-radius-small; 225 | 226 | // Anchor 227 | @anchor-border-width: 2px; -------------------------------------------------------------------------------- /assets/styles/common/common/modern-normalize.less: -------------------------------------------------------------------------------- 1 | /*! modern-normalize | MIT License | https://github.com/sindresorhus/modern-normalize */ 2 | 3 | /* Document 4 | ========================================================================== */ 5 | 6 | /** 7 | * Use a better box model (opinionated). 8 | */ 9 | 10 | html { 11 | box-sizing: border-box; 12 | } 13 | 14 | *, 15 | *::before, 16 | *::after { 17 | box-sizing: inherit; 18 | } 19 | 20 | /** 21 | * Use a more readable tab size (opinionated). 22 | */ 23 | 24 | :root { 25 | -moz-tab-size: 4; 26 | tab-size: 4; 27 | } 28 | 29 | /** 30 | * 1. Correct the line height in all browsers. 31 | * 2. Prevent adjustments of font size after orientation changes in iOS. 32 | */ 33 | 34 | html { 35 | line-height: 1.15; /* 1 */ 36 | -webkit-text-size-adjust: 100%; /* 2 */ 37 | } 38 | 39 | /* Sections 40 | ========================================================================== */ 41 | 42 | /** 43 | * Remove the margin in all browsers. 44 | */ 45 | 46 | body { 47 | margin: 0; 48 | } 49 | 50 | /** 51 | * Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3) 52 | */ 53 | 54 | body { 55 | font-family: 56 | -apple-system, 57 | BlinkMacSystemFont, 58 | 'Segoe UI', 59 | Roboto, 60 | Helvetica, 61 | Arial, 62 | sans-serif, 63 | 'Apple Color Emoji', 64 | 'Segoe UI Emoji', 65 | 'Segoe UI Symbol'; 66 | } 67 | 68 | /* Grouping content 69 | ========================================================================== */ 70 | 71 | /** 72 | * Add the correct height in Firefox. 73 | */ 74 | 75 | hr { 76 | height: 0; 77 | } 78 | 79 | /* Text-level semantics 80 | ========================================================================== */ 81 | 82 | /** 83 | * Add the correct text decoration in Chrome, Edge, and Safari. 84 | */ 85 | 86 | abbr[title] { 87 | text-decoration: underline dotted; 88 | } 89 | 90 | /** 91 | * Add the correct font weight in Chrome, Edge, and Safari. 92 | */ 93 | 94 | b, 95 | strong { 96 | font-weight: bolder; 97 | } 98 | 99 | /** 100 | * 1. Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3) 101 | * 2. Correct the odd `em` font sizing in all browsers. 102 | */ 103 | 104 | code, 105 | kbd, 106 | samp, 107 | pre { 108 | font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; /* 1 */ 109 | font-size: 1em; /* 2 */ 110 | } 111 | 112 | /** 113 | * Add the correct font size in all browsers. 114 | */ 115 | 116 | small { 117 | font-size: 80%; 118 | } 119 | 120 | /** 121 | * Prevent `sub` and `sup` elements from affecting the line height in all browsers. 122 | */ 123 | 124 | sub, 125 | sup { 126 | font-size: 75%; 127 | line-height: 0; 128 | position: relative; 129 | vertical-align: baseline; 130 | } 131 | 132 | sub { 133 | bottom: -0.25em; 134 | } 135 | 136 | sup { 137 | top: -0.5em; 138 | } 139 | 140 | /* Forms 141 | ========================================================================== */ 142 | 143 | /** 144 | * 1. Change the font styles in all browsers. 145 | * 2. Remove the margin in Firefox and Safari. 146 | */ 147 | 148 | button, 149 | input, 150 | optgroup, 151 | select, 152 | textarea { 153 | font-family: inherit; /* 1 */ 154 | font-size: 100%; /* 1 */ 155 | line-height: 1.15; /* 1 */ 156 | margin: 0; /* 2 */ 157 | } 158 | 159 | /** 160 | * Remove the inheritance of text transform in Edge and Firefox. 161 | * 1. Remove the inheritance of text transform in Firefox. 162 | */ 163 | 164 | button, 165 | select { /* 1 */ 166 | text-transform: none; 167 | } 168 | 169 | /** 170 | * Correct the inability to style clickable types in iOS and Safari. 171 | */ 172 | 173 | button, 174 | [type='button'], 175 | [type='reset'], 176 | [type='submit'] { 177 | -webkit-appearance: button; 178 | } 179 | 180 | /** 181 | * Remove the inner border and padding in Firefox. 182 | */ 183 | 184 | button::-moz-focus-inner, 185 | [type='button']::-moz-focus-inner, 186 | [type='reset']::-moz-focus-inner, 187 | [type='submit']::-moz-focus-inner { 188 | border-style: none; 189 | padding: 0; 190 | } 191 | 192 | /** 193 | * Restore the focus styles unset by the previous rule. 194 | */ 195 | 196 | button:-moz-focusring, 197 | [type='button']:-moz-focusring, 198 | [type='reset']:-moz-focusring, 199 | [type='submit']:-moz-focusring { 200 | outline: 1px dotted ButtonText; 201 | } 202 | 203 | /** 204 | * Correct the padding in Firefox. 205 | */ 206 | 207 | fieldset { 208 | padding: 0.35em 0.75em 0.625em; 209 | } 210 | 211 | /** 212 | * Remove the padding so developers are not caught out when they zero out `fieldset` elements in all browsers. 213 | */ 214 | 215 | legend { 216 | padding: 0; 217 | } 218 | 219 | /** 220 | * Add the correct vertical alignment in Chrome and Firefox. 221 | */ 222 | 223 | progress { 224 | vertical-align: baseline; 225 | } 226 | 227 | /** 228 | * Correct the cursor style of increment and decrement buttons in Safari. 229 | */ 230 | 231 | [type='number']::-webkit-inner-spin-button, 232 | [type='number']::-webkit-outer-spin-button { 233 | height: auto; 234 | } 235 | 236 | /** 237 | * 1. Correct the odd appearance in Chrome and Safari. 238 | * 2. Correct the outline style in Safari. 239 | */ 240 | 241 | [type='search'] { 242 | -webkit-appearance: textfield; /* 1 */ 243 | outline-offset: -2px; /* 2 */ 244 | } 245 | 246 | /** 247 | * Remove the inner padding in Chrome and Safari on macOS. 248 | */ 249 | 250 | [type='search']::-webkit-search-decoration { 251 | -webkit-appearance: none; 252 | } 253 | 254 | /** 255 | * 1. Correct the inability to style clickable types in iOS and Safari. 256 | * 2. Change font properties to `inherit` in Safari. 257 | */ 258 | 259 | ::-webkit-file-upload-button { 260 | -webkit-appearance: button; /* 1 */ 261 | font: inherit; /* 2 */ 262 | } 263 | 264 | /* Interactive 265 | ========================================================================== */ 266 | 267 | /* 268 | * Add the correct display in Chrome and Safari. 269 | */ 270 | 271 | summary { 272 | display: list-item; 273 | } 274 | -------------------------------------------------------------------------------- /assets/styles/common/components/button.less: -------------------------------------------------------------------------------- 1 | @import '../common/base.less'; 2 | 3 | .btn { 4 | display: inline-block; 5 | padding: 5px 30px; 6 | border: 1px solid fade(@primary-color, 40%); 7 | border-radius: 100px; 8 | color: @primary-color; 9 | text-align: center; 10 | font-weight: 400; 11 | font-size: 12px; 12 | cursor: pointer; 13 | transition: all 200ms ease-in-out; 14 | 15 | &:hover { 16 | border: 1px solid @primary-color; 17 | background-color: fade(@primary-color, 5%); 18 | color: lighten(@primary-color, 5%); 19 | } 20 | 21 | // display 22 | &.btn-block { 23 | display: block; 24 | } 25 | 26 | // color 27 | 28 | &.btn-primary { 29 | border: 1px solid fade(@primary-color, 40%); 30 | color: @primary-color; 31 | 32 | &:hover { 33 | border: 1px solid @primary-color; 34 | background-color: fade(@primary-color, 5%); 35 | } 36 | } 37 | 38 | &.btn-success { 39 | border: 1px solid fade(@success-color, 40%); 40 | color: @success-color; 41 | 42 | &:hover { 43 | border: 1px solid @success-color; 44 | background-color: fade(@success-color, 5%); 45 | } 46 | } 47 | 48 | &.btn-warning { 49 | border: 1px solid fade(@warning-color, 40%); 50 | color: @warning-color; 51 | 52 | &:hover { 53 | border: 1px solid @warning-color; 54 | background-color: fade(@warning-color, 5%); 55 | } 56 | } 57 | 58 | &.btn-error { 59 | border: 1px solid fade(@error-color, 40%); 60 | color: @error-color; 61 | 62 | &:hover { 63 | border: 1px solid @error-color; 64 | background-color: fade(@error-color, 5%); 65 | } 66 | } 67 | 68 | // text 69 | &.btn-text { 70 | padding-right: 0; 71 | padding-left: 0; 72 | border: none; 73 | font-size: 14px; 74 | 75 | &:hover { 76 | border: none; 77 | background-color: #fff; 78 | } 79 | } 80 | } -------------------------------------------------------------------------------- /assets/styles/common/components/card.less: -------------------------------------------------------------------------------- 1 | @import '../common/base.less'; 2 | 3 | .i-card { 4 | position: relative; 5 | padding: 20px 20px 20px; 6 | border-radius: 10px; 7 | background-color: #fff; 8 | box-shadow: @box-shadow; 9 | 10 | &+.i-card { 11 | margin-top: 30px; 12 | } 13 | 14 | .i-card-title { 15 | margin-bottom: 10px; 16 | font-weight: 400; 17 | } 18 | } -------------------------------------------------------------------------------- /assets/styles/common/components/tag.less: -------------------------------------------------------------------------------- 1 | @import '../common/base.less'; 2 | 3 | .i-tag { 4 | display: inline-block; 5 | margin-bottom: 5px; 6 | padding: 3px 10px; 7 | border-radius: 4px; 8 | background-color: fade(@primary-color, 10%); 9 | color: @primary-color; 10 | white-space: nowrap; 11 | font-size: 12px; 12 | 13 | // 14 | &+& { 15 | margin-left: 5px; 16 | } 17 | 18 | // 19 | &.lg { 20 | padding: 5px 15px; 21 | } 22 | 23 | // 24 | .base_tag_theme(@color) { 25 | background-color: fade(@color, 10%); 26 | color: shade(@color, 10%); 27 | 28 | &:hover { 29 | background-color: fade(@color, 20%); 30 | } 31 | } 32 | 33 | &.i-tag-primary { 34 | .base_tag_theme(@primary-color) 35 | } 36 | 37 | &.i-tag-success { 38 | 39 | .base_tag_theme(@success-color) 40 | } 41 | 42 | &.i-tag-info { 43 | .base_tag_theme(@info-color) 44 | } 45 | 46 | &.i-tag-warning { 47 | .base_tag_theme(@warning-color) 48 | } 49 | 50 | &.i-tag-error { 51 | .base_tag_theme(@error-color) 52 | } 53 | 54 | &.i-tag-banana { 55 | .base_tag_theme(@banana-color) 56 | } 57 | 58 | &.i-tag-other_1 { 59 | .base_tag_theme(@other_1-color) 60 | } 61 | 62 | &.i-tag-other_2 { 63 | .base_tag_theme(@other_2-color) 64 | } 65 | 66 | &.i-tag-other_3 { 67 | .base_tag_theme(@other_3-color) 68 | } 69 | 70 | &.i-tag-other_4 { 71 | .base_tag_theme(@other_4-color) 72 | } 73 | } -------------------------------------------------------------------------------- /assets/styles/common/index.less: -------------------------------------------------------------------------------- 1 | @import './common/base.less'; 2 | @import './common/modern-normalize'; 3 | 4 | * { 5 | -webkit-tap-highlight-color: transparent; 6 | } 7 | 8 | body { 9 | box-sizing: border-box; 10 | font-weight: 300; 11 | font-size: 14px; 12 | font-family: @font-family; 13 | } 14 | 15 | a { 16 | color: @text-color ; 17 | text-decoration: none; 18 | -webkit-transition: all .3s ease; 19 | -moz-transition: all .3s ease; 20 | -ms-transition: all .3s ease; 21 | -o-transition: all .3s ease; 22 | transition: all .3s ease; 23 | } 24 | 25 | a:hover { 26 | color: @primary-color; 27 | } 28 | 29 | a:focus { 30 | outline: 0 31 | } 32 | 33 | b { 34 | font-weight: normal 35 | } 36 | 37 | i { 38 | font-style: normal 39 | } 40 | 41 | p { 42 | margin: 0 43 | } 44 | 45 | h1, 46 | h2, 47 | h4 { 48 | margin: 0; 49 | font-weight: normal 50 | } 51 | 52 | h3 { 53 | font-weight: 400; 54 | font-size: 17px; 55 | } 56 | 57 | h4 { 58 | font-size: 15px; 59 | } 60 | 61 | ul { 62 | margin: 0; 63 | padding: 0; 64 | list-style: none 65 | } 66 | 67 | img { 68 | border: 0 69 | } 70 | 71 | code { 72 | font-size: 90%; 73 | font-family: Menlo, monospace; 74 | } 75 | 76 | p>code { 77 | padding: 0.2em 0.4em; 78 | background: #e1e9ed; 79 | } 80 | 81 | pre { 82 | overflow-x: scroll; 83 | padding: 10pt 15pt; 84 | border: 1px solid rgba(0, 0, 0, 0.15); 85 | border-radius: 4px; 86 | background-color: #f5f5f5; 87 | color: #333; 88 | text-align: left; 89 | font-size: 13px; 90 | } 91 | 92 | @import './components/card.less'; 93 | @import './components/button.less'; 94 | @import './components/tag.less'; -------------------------------------------------------------------------------- /assets/styles/components/about.less: -------------------------------------------------------------------------------- 1 | .about-page { 2 | padding: 24px 32px; 3 | } 4 | -------------------------------------------------------------------------------- /assets/styles/components/archives.less: -------------------------------------------------------------------------------- 1 | @import '../common/common/base.less'; 2 | 3 | @left: 20px; 4 | @top: 10px; 5 | 6 | .archives-container { 7 | .timeline { 8 | position: relative; 9 | margin: 0 auto; 10 | padding-left: 20px; 11 | max-width: 740px; 12 | width: 100%; 13 | 14 | &::after { 15 | position: absolute; 16 | top: 0; 17 | left: 0; 18 | width: 4px; 19 | height: 100%; 20 | background: #f5f5f5; 21 | content: " "; 22 | } 23 | 24 | li { 25 | .year { 26 | position: relative; 27 | margin: 80px 0 0; 28 | color: #555; 29 | font-weight: 700; 30 | font-size: 26px; 31 | 32 | &::before { 33 | position: absolute; 34 | top: 50%; 35 | left: -23px; 36 | z-index: 2; 37 | margin-top: -5px; 38 | width: 10px; 39 | height: 10px; 40 | border-radius: 50%; 41 | background: #ddd; 42 | content: " "; 43 | } 44 | } 45 | 46 | ul.year-wrapper { 47 | li { 48 | position: relative; 49 | display: flex; 50 | padding: 30px 0 10px; 51 | border-bottom: 1px dashed #ccc; 52 | list-style: none; 53 | 54 | .date { 55 | position: relative; 56 | flex-shrink: 0; 57 | // width: 40px; 58 | margin-right: 20px; 59 | color: fade(@title-color, 70%); 60 | font-size: 12px; 61 | line-height: 30px; 62 | 63 | &::before { 64 | position: absolute; 65 | top: 50%; 66 | left: -22px; 67 | z-index: 2; 68 | margin-top: -4px; 69 | width: 8px; 70 | height: 8px; 71 | border: 1px solid #fff; 72 | border-radius: 50%; 73 | background: #ddd; 74 | content: " "; 75 | } 76 | } 77 | 78 | .title { 79 | // color: #555; 80 | font-size: 16px; 81 | line-height: 30px; 82 | } 83 | } 84 | } 85 | } 86 | } 87 | } -------------------------------------------------------------------------------- /assets/styles/components/cards/id-card.less: -------------------------------------------------------------------------------- 1 | .id_card { 2 | display: flex; 3 | align-items: center; 4 | flex-direction: column; 5 | 6 | .id_card-avatar { 7 | display: block; 8 | padding: 15px; 9 | width: 100px; 10 | height: 100px; 11 | border: 1px solid #ddd; 12 | border-radius: 50%; 13 | background-position: center center; 14 | background-origin: content-box; 15 | background-size: cover; 16 | background-repeat: no-repeat; 17 | box-shadow: @box-shadow; 18 | } 19 | 20 | .id_card-title { 21 | margin-top: 10px; 22 | font-weight: 100; 23 | font-size: 24px; 24 | } 25 | 26 | .id_card-description { 27 | margin-top: 10px; 28 | // overflow: hidden; 29 | width: 100%; 30 | color: #979797; 31 | text-align: center; 32 | // text-overflow: ellipsis; 33 | // white-space: nowrap; 34 | font-size: 12px; 35 | line-height: 1.5em; 36 | } 37 | 38 | .id_card-sns { 39 | text-align: center; 40 | 41 | .fa { 42 | margin: 20px 10px 0; 43 | font-size: 18px; 44 | 45 | } 46 | } 47 | } -------------------------------------------------------------------------------- /assets/styles/components/cards/notice-card.less: -------------------------------------------------------------------------------- 1 | .notice { 2 | .notice-title {} 3 | 4 | .notice-content {} 5 | } -------------------------------------------------------------------------------- /assets/styles/components/cards/toc-card.less: -------------------------------------------------------------------------------- 1 | .toc-card { 2 | .toc-title {} 3 | 4 | .toc-content { 5 | .markdownIt-TOC { 6 | margin-left: 0; 7 | list-style: none; 8 | } 9 | 10 | a.on { 11 | color: #2e9fff; 12 | } 13 | 14 | ul, 15 | ol { 16 | margin: initial; 17 | margin-top: 0; 18 | margin-right: 0; 19 | margin-bottom: 10px; 20 | margin-left: 25px; 21 | padding: initial; 22 | padding: 0; 23 | list-style: disc; 24 | 25 | li { 26 | margin: 5px 0; 27 | } 28 | 29 | ul, 30 | ol { 31 | list-style: circle; 32 | 33 | ul, 34 | ol { 35 | list-style: disc; 36 | 37 | ul, 38 | ol { 39 | list-style: circle; 40 | 41 | ul, 42 | ol { 43 | list-style: disc; 44 | 45 | ul, 46 | ol { 47 | list-style: circle; 48 | } 49 | } 50 | } 51 | } 52 | } 53 | } 54 | 55 | li>ol, 56 | li>ul { 57 | margin-left: 18px; 58 | } 59 | 60 | ul ul, 61 | ol ul, 62 | ul ol, 63 | ol ol { 64 | margin-bottom: 0; 65 | } 66 | } 67 | } -------------------------------------------------------------------------------- /assets/styles/components/footer.less: -------------------------------------------------------------------------------- 1 | .site-footer { 2 | padding: 30px 0; 3 | color: #bbb; 4 | text-align: center; 5 | font-size: 12px; 6 | } -------------------------------------------------------------------------------- /assets/styles/components/header.less: -------------------------------------------------------------------------------- 1 | @import '../common/common/base'; 2 | 3 | .header { 4 | position: fixed; 5 | top: 0; 6 | z-index: 9999; 7 | display: flex; 8 | width: 100%; 9 | height: 50px; 10 | background-color: #fff; 11 | box-shadow: @box-shadow; 12 | 13 | .nav { 14 | display: flex; 15 | align-items: center; 16 | justify-content: space-between; 17 | margin: 0 auto; 18 | width: 960px; 19 | 20 | .logo { 21 | display: flex; 22 | align-items: center; 23 | 24 | .avatar { 25 | display: block; 26 | padding: 5px; 27 | height: 50px; 28 | } 29 | 30 | .site-title { 31 | h1 { 32 | margin-right: 25px; 33 | color: @title-color; 34 | font-weight: 100; 35 | font-size: 24px; 36 | } 37 | } 38 | } 39 | 40 | .menu-btn { 41 | display: none; 42 | } 43 | 44 | .menu-container { 45 | display: block; 46 | 47 | ul { 48 | display: flex; 49 | 50 | li { 51 | &+li { 52 | margin-left: 50px; 53 | } 54 | 55 | a { 56 | color: @title-color; 57 | font-weight: 400; 58 | 59 | &:hover { 60 | color: fade(@title-color, 70%); 61 | } 62 | } 63 | } 64 | } 65 | } 66 | } 67 | } 68 | 69 | @media (max-width:960px) { 70 | .header { 71 | .nav { 72 | position: relative; 73 | padding: 0 20px; 74 | width: 100%; 75 | 76 | .logo { 77 | display: none; 78 | } 79 | 80 | .menu-btn { 81 | display: block; 82 | cursor: pointer; 83 | } 84 | 85 | .menu-container { 86 | position: absolute; 87 | top: 50px; 88 | left: 0; 89 | display: none; 90 | width: 100%; 91 | border-top: 1px solid #aaa; 92 | 93 | ul { 94 | flex-direction: column; 95 | 96 | li { 97 | border-bottom: 1px solid #ddd; 98 | background-color: #fff; 99 | text-align: center; 100 | 101 | &+li { 102 | margin-left: 0; 103 | } 104 | 105 | a { 106 | display: block; 107 | padding: 10px 0; 108 | 109 | } 110 | } 111 | } 112 | } 113 | } 114 | } 115 | } -------------------------------------------------------------------------------- /assets/styles/components/home.less: -------------------------------------------------------------------------------- 1 | .post-container { 2 | display: flex; 3 | 4 | .post { 5 | // margin-bottom: 30px; 6 | display: flex; 7 | align-items: flex-start; 8 | flex-direction: column; 9 | 10 | .post-title { 11 | margin-bottom: 10px; 12 | border-bottom: 1px solid @primary-color; 13 | 14 | a { 15 | &:hover { 16 | color: @primary-color; 17 | } 18 | } 19 | } 20 | 21 | .post-info { 22 | display: flex; 23 | align-items: center; 24 | flex-wrap: wrap; 25 | 26 | 27 | .post-time { 28 | color: fade(@text-color, 90%); 29 | } 30 | 31 | .post-tag { 32 | margin: 5px; 33 | } 34 | } 35 | 36 | .post-article { 37 | display: flex; 38 | flex-direction: row-reverse; 39 | width: 100%; 40 | 41 | .post-feature-image { 42 | display: block; 43 | margin-left: 20px; 44 | width: 250px; 45 | height: 150px; 46 | border-radius: 10px; 47 | background-position: center center; 48 | background-size: cover; 49 | 50 | &:hover {} 51 | 52 | img {} 53 | } 54 | 55 | .post-content { 56 | display: flex; 57 | align-items: flex-start; 58 | flex: 1; 59 | flex-direction: column; 60 | justify-content: space-between; 61 | padding: 10px 0; 62 | 63 | .post-content-abstract { 64 | // margin-bottom: 20px; 65 | } 66 | 67 | .post-content-content { 68 | display: -webkit-box; 69 | overflow: hidden; 70 | -webkit-box-orient: vertical; 71 | 72 | -webkit-line-clamp: 6; 73 | } 74 | 75 | a.btn { 76 | margin-top: 20px; 77 | padding: 0; 78 | } 79 | } 80 | 81 | } 82 | } 83 | } 84 | 85 | @media (max-width:960px) { 86 | .post-container { 87 | .post { 88 | .post-article { 89 | .post-feature-image { 90 | display: none; 91 | } 92 | } 93 | } 94 | } 95 | } -------------------------------------------------------------------------------- /assets/styles/components/pagination.less: -------------------------------------------------------------------------------- 1 | .pagination-container { 2 | display: flex; 3 | align-items: center; 4 | justify-content: center; 5 | width: 100%; 6 | height: 100px; 7 | 8 | .page-btn { 9 | margin: 0 10px; 10 | } 11 | } -------------------------------------------------------------------------------- /assets/styles/components/post.less: -------------------------------------------------------------------------------- 1 | .post-detail { 2 | flex: 1; 3 | 4 | .post { 5 | display: flex; 6 | flex-direction: column; 7 | 8 | .post-title { 9 | padding: 24px; 10 | text-align: center; 11 | font-weight: 600; 12 | font-size: 32px; 13 | } 14 | 15 | .post-info { 16 | padding-bottom: 24px; 17 | text-align: center; 18 | font-size: 12px; 19 | 20 | .post-time { 21 | // color: @dark-gray; 22 | } 23 | 24 | .post-tag { 25 | margin: 5px; 26 | } 27 | } 28 | 29 | .post-feature-image { 30 | margin-bottom: 24px; 31 | padding-top: 56.25%; 32 | border-radius: 2px; 33 | background-position: center; 34 | background-size: cover; 35 | } 36 | 37 | 38 | .post-content { 39 | overflow: hidden; 40 | 41 | a { 42 | // color: @main-color; 43 | transition: all 0.3s; 44 | 45 | &:hover { 46 | // color: @dark-main-color; 47 | // border-bottom: 1px dotted @dark-main-color; 48 | } 49 | } 50 | 51 | img { 52 | display: block; 53 | margin: 24px auto; 54 | max-width: 100%; 55 | border-radius: 2px; 56 | box-shadow: 0 0 30px #eee; 57 | } 58 | 59 | p { 60 | margin-bottom: 24px; 61 | letter-spacing: .05em; 62 | font-size: 16px; 63 | line-height: 1.725; 64 | } 65 | 66 | p, 67 | li { 68 | code { 69 | padding: 0 2px; 70 | border: 1px solid rgba(0, 0, 0, .08); 71 | border-radius: 2px 2px; 72 | background-color: rgba(0, 0, 0, .06); 73 | text-indent: 0; 74 | word-wrap: break-word; 75 | font-size: inherit; 76 | font-family: monospace; 77 | line-height: initial; 78 | } 79 | } 80 | 81 | pre { 82 | margin-bottom: 24px; 83 | 84 | code { 85 | padding: 1em; 86 | border-radius: 5px; 87 | font-size: 16px; 88 | font-family: 'Source Code Pro', Consolas, Menlo, Monaco, 'Courier New', monospace; 89 | line-height: 1.375; 90 | } 91 | } 92 | 93 | blockquote { 94 | margin-bottom: 16px; 95 | padding: 16px; 96 | border-left: 2px solid #006cff; 97 | background: #f3f5f7; 98 | 99 | p { 100 | margin-bottom: 0; 101 | } 102 | } 103 | 104 | table { 105 | display: block; 106 | overflow-x: auto; 107 | margin: 1rem 0; 108 | border-collapse: collapse; 109 | } 110 | 111 | tr { 112 | border-top: 1px solid #dfe2e5; 113 | } 114 | 115 | td, 116 | th { 117 | padding: .6em 1em; 118 | border: 1px solid #dfe2e5; 119 | } 120 | 121 | ul, 122 | ol { 123 | margin-bottom: 16px; 124 | padding-left: 24px; 125 | line-height: 1.725; 126 | } 127 | 128 | h1, 129 | h2, 130 | h3, 131 | h4, 132 | h5, 133 | h6 { 134 | margin: 16px 0; 135 | font-weight: bold; 136 | } 137 | 138 | h1 { 139 | font-size: 28px; 140 | } 141 | 142 | h2 { 143 | font-size: 24px; 144 | } 145 | 146 | h3 { 147 | font-size: 20px; 148 | } 149 | 150 | h4 { 151 | font-size: 18px; 152 | } 153 | 154 | h5 { 155 | font-size: 16px; 156 | } 157 | 158 | h6 { 159 | font-size: 14px; 160 | } 161 | } 162 | } 163 | } 164 | 165 | 166 | .next-post { 167 | padding: 24px 32px; 168 | text-align: center; 169 | 170 | .next { 171 | margin-bottom: 24px; 172 | // color: @oc-gray-8; 173 | } 174 | 175 | .post-title { 176 | font-weight: bold; 177 | font-size: 20px; 178 | } 179 | } 180 | 181 | #gitalk-container, 182 | #disqus_thread { 183 | padding: 0 30px; 184 | } -------------------------------------------------------------------------------- /assets/styles/components/tag.less: -------------------------------------------------------------------------------- 1 | .current-tag-container { 2 | .title { 3 | text-align: center; 4 | font-size: 18px; 5 | margin-bottom: 24px; 6 | } 7 | } 8 | 9 | -------------------------------------------------------------------------------- /assets/styles/components/tags.less: -------------------------------------------------------------------------------- 1 | .tags-container { 2 | display: flex; 3 | justify-content: center; 4 | 5 | .tags-group { 6 | display: flex; 7 | align-items: flex-start; 8 | flex-wrap: wrap; 9 | padding: 30px; 10 | max-width: 600px; 11 | 12 | .tags-tag { 13 | margin: 20px; 14 | padding: 5px 15px; 15 | font-size: 14px; 16 | 17 | &.sm { 18 | transform: scale(1.3); 19 | } 20 | 21 | &.lg { 22 | transform: scale(1.6); 23 | } 24 | 25 | &.xl { 26 | transform: scale(1.9); 27 | } 28 | } 29 | } 30 | } -------------------------------------------------------------------------------- /assets/styles/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Mrcxt/gridea-theme-lemon/5762194af89a611454b186af6f37538efa79501e/assets/styles/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /assets/styles/fonts/font-awesome.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome 3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) 4 | */ 5 | /* FONT PATH 6 | * -------------------------- */ 7 | @font-face { 8 | font-weight: normal; 9 | font-style: normal; 10 | font-family: 'FontAwesome'; 11 | src: url('./fontawesome-webfont.eot?v=4.7.0'); 12 | src: url('./fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'), url('./fontawesome-webfont.woff2?v=4.7.0') format('woff2'), url('./fontawesome-webfont.woff?v=4.7.0') format('woff'), url('./fontawesome-webfont.ttf?v=4.7.0') format('truetype'), url('./fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg'); 13 | } 14 | 15 | .fa { 16 | display: inline-block; 17 | font: normal normal normal 14px/1 FontAwesome; 18 | font-size: inherit; 19 | 20 | text-rendering: auto; 21 | -webkit-font-smoothing: antialiased; 22 | -moz-osx-font-smoothing: grayscale; 23 | } 24 | 25 | /* makes the font 33% larger relative to the icon container */ 26 | .fa-lg { 27 | vertical-align: -15%; 28 | font-size: 1.33333333em; 29 | line-height: 0.75em; 30 | } 31 | 32 | .fa-2x { 33 | font-size: 2em; 34 | } 35 | 36 | .fa-3x { 37 | font-size: 3em; 38 | } 39 | 40 | .fa-4x { 41 | font-size: 4em; 42 | } 43 | 44 | .fa-5x { 45 | font-size: 5em; 46 | } 47 | 48 | .fa-fw { 49 | width: 1.28571429em; 50 | text-align: center; 51 | } 52 | 53 | .fa-ul { 54 | margin-left: 2.14285714em; 55 | padding-left: 0; 56 | list-style-type: none; 57 | } 58 | 59 | .fa-ul>li { 60 | position: relative; 61 | } 62 | 63 | .fa-li { 64 | position: absolute; 65 | top: 0.14285714em; 66 | left: -2.14285714em; 67 | width: 2.14285714em; 68 | text-align: center; 69 | } 70 | 71 | .fa-li.fa-lg { 72 | left: -1.85714286em; 73 | } 74 | 75 | .fa-border { 76 | padding: .2em .25em .15em; 77 | border: solid 0.08em #eeeeee; 78 | border-radius: .1em; 79 | } 80 | 81 | .fa-pull-left { 82 | float: left; 83 | } 84 | 85 | .fa-pull-right { 86 | float: right; 87 | } 88 | 89 | .fa.fa-pull-left { 90 | margin-right: .3em; 91 | } 92 | 93 | .fa.fa-pull-right { 94 | margin-left: .3em; 95 | } 96 | 97 | /* Deprecated as of 4.4.0 */ 98 | .pull-right { 99 | float: right; 100 | } 101 | 102 | .pull-left { 103 | float: left; 104 | } 105 | 106 | .fa.pull-left { 107 | margin-right: .3em; 108 | } 109 | 110 | .fa.pull-right { 111 | margin-left: .3em; 112 | } 113 | 114 | .fa-spin { 115 | -webkit-animation: fa-spin 2s infinite linear; 116 | animation: fa-spin 2s infinite linear; 117 | } 118 | 119 | .fa-pulse { 120 | -webkit-animation: fa-spin 1s infinite steps(8); 121 | animation: fa-spin 1s infinite steps(8); 122 | } 123 | 124 | @-webkit-keyframes fa-spin { 125 | 0% { 126 | -webkit-transform: rotate(0deg); 127 | transform: rotate(0deg); 128 | } 129 | 130 | 100% { 131 | -webkit-transform: rotate(359deg); 132 | transform: rotate(359deg); 133 | } 134 | } 135 | 136 | @keyframes fa-spin { 137 | 0% { 138 | -webkit-transform: rotate(0deg); 139 | transform: rotate(0deg); 140 | } 141 | 142 | 100% { 143 | -webkit-transform: rotate(359deg); 144 | transform: rotate(359deg); 145 | } 146 | } 147 | 148 | .fa-rotate-90 { 149 | -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)"; 150 | -webkit-transform: rotate(90deg); 151 | -ms-transform: rotate(90deg); 152 | transform: rotate(90deg); 153 | } 154 | 155 | .fa-rotate-180 { 156 | -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)"; 157 | -webkit-transform: rotate(180deg); 158 | -ms-transform: rotate(180deg); 159 | transform: rotate(180deg); 160 | } 161 | 162 | .fa-rotate-270 { 163 | -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)"; 164 | -webkit-transform: rotate(270deg); 165 | -ms-transform: rotate(270deg); 166 | transform: rotate(270deg); 167 | } 168 | 169 | .fa-flip-horizontal { 170 | -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)"; 171 | -webkit-transform: scale(-1, 1); 172 | -ms-transform: scale(-1, 1); 173 | transform: scale(-1, 1); 174 | } 175 | 176 | .fa-flip-vertical { 177 | -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"; 178 | -webkit-transform: scale(1, -1); 179 | -ms-transform: scale(1, -1); 180 | transform: scale(1, -1); 181 | } 182 | 183 | :root .fa-rotate-90, 184 | :root .fa-rotate-180, 185 | :root .fa-rotate-270, 186 | :root .fa-flip-horizontal, 187 | :root .fa-flip-vertical { 188 | filter: none; 189 | } 190 | 191 | .fa-stack { 192 | position: relative; 193 | display: inline-block; 194 | width: 2em; 195 | height: 2em; 196 | vertical-align: middle; 197 | line-height: 2em; 198 | } 199 | 200 | .fa-stack-1x, 201 | .fa-stack-2x { 202 | position: absolute; 203 | left: 0; 204 | width: 100%; 205 | text-align: center; 206 | } 207 | 208 | .fa-stack-1x { 209 | line-height: inherit; 210 | } 211 | 212 | .fa-stack-2x { 213 | font-size: 2em; 214 | } 215 | 216 | .fa-inverse { 217 | color: #ffffff; 218 | } 219 | 220 | /* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen 221 | readers do not read off random characters that represent icons */ 222 | .fa-glass:before { 223 | content: "\f000"; 224 | } 225 | 226 | .fa-music:before { 227 | content: "\f001"; 228 | } 229 | 230 | .fa-search:before { 231 | content: "\f002"; 232 | } 233 | 234 | .fa-envelope-o:before { 235 | content: "\f003"; 236 | } 237 | 238 | .fa-heart:before { 239 | content: "\f004"; 240 | } 241 | 242 | .fa-star:before { 243 | content: "\f005"; 244 | } 245 | 246 | .fa-star-o:before { 247 | content: "\f006"; 248 | } 249 | 250 | .fa-user:before { 251 | content: "\f007"; 252 | } 253 | 254 | .fa-film:before { 255 | content: "\f008"; 256 | } 257 | 258 | .fa-th-large:before { 259 | content: "\f009"; 260 | } 261 | 262 | .fa-th:before { 263 | content: "\f00a"; 264 | } 265 | 266 | .fa-th-list:before { 267 | content: "\f00b"; 268 | } 269 | 270 | .fa-check:before { 271 | content: "\f00c"; 272 | } 273 | 274 | .fa-remove:before, 275 | .fa-close:before, 276 | .fa-times:before { 277 | content: "\f00d"; 278 | } 279 | 280 | .fa-search-plus:before { 281 | content: "\f00e"; 282 | } 283 | 284 | .fa-search-minus:before { 285 | content: "\f010"; 286 | } 287 | 288 | .fa-power-off:before { 289 | content: "\f011"; 290 | } 291 | 292 | .fa-signal:before { 293 | content: "\f012"; 294 | } 295 | 296 | .fa-gear:before, 297 | .fa-cog:before { 298 | content: "\f013"; 299 | } 300 | 301 | .fa-trash-o:before { 302 | content: "\f014"; 303 | } 304 | 305 | .fa-home:before { 306 | content: "\f015"; 307 | } 308 | 309 | .fa-file-o:before { 310 | content: "\f016"; 311 | } 312 | 313 | .fa-clock-o:before { 314 | content: "\f017"; 315 | } 316 | 317 | .fa-road:before { 318 | content: "\f018"; 319 | } 320 | 321 | .fa-download:before { 322 | content: "\f019"; 323 | } 324 | 325 | .fa-arrow-circle-o-down:before { 326 | content: "\f01a"; 327 | } 328 | 329 | .fa-arrow-circle-o-up:before { 330 | content: "\f01b"; 331 | } 332 | 333 | .fa-inbox:before { 334 | content: "\f01c"; 335 | } 336 | 337 | .fa-play-circle-o:before { 338 | content: "\f01d"; 339 | } 340 | 341 | .fa-rotate-right:before, 342 | .fa-repeat:before { 343 | content: "\f01e"; 344 | } 345 | 346 | .fa-refresh:before { 347 | content: "\f021"; 348 | } 349 | 350 | .fa-list-alt:before { 351 | content: "\f022"; 352 | } 353 | 354 | .fa-lock:before { 355 | content: "\f023"; 356 | } 357 | 358 | .fa-flag:before { 359 | content: "\f024"; 360 | } 361 | 362 | .fa-headphones:before { 363 | content: "\f025"; 364 | } 365 | 366 | .fa-volume-off:before { 367 | content: "\f026"; 368 | } 369 | 370 | .fa-volume-down:before { 371 | content: "\f027"; 372 | } 373 | 374 | .fa-volume-up:before { 375 | content: "\f028"; 376 | } 377 | 378 | .fa-qrcode:before { 379 | content: "\f029"; 380 | } 381 | 382 | .fa-barcode:before { 383 | content: "\f02a"; 384 | } 385 | 386 | .fa-tag:before { 387 | content: "\f02b"; 388 | } 389 | 390 | .fa-tags:before { 391 | content: "\f02c"; 392 | } 393 | 394 | .fa-book:before { 395 | content: "\f02d"; 396 | } 397 | 398 | .fa-bookmark:before { 399 | content: "\f02e"; 400 | } 401 | 402 | .fa-print:before { 403 | content: "\f02f"; 404 | } 405 | 406 | .fa-camera:before { 407 | content: "\f030"; 408 | } 409 | 410 | .fa-font:before { 411 | content: "\f031"; 412 | } 413 | 414 | .fa-bold:before { 415 | content: "\f032"; 416 | } 417 | 418 | .fa-italic:before { 419 | content: "\f033"; 420 | } 421 | 422 | .fa-text-height:before { 423 | content: "\f034"; 424 | } 425 | 426 | .fa-text-width:before { 427 | content: "\f035"; 428 | } 429 | 430 | .fa-align-left:before { 431 | content: "\f036"; 432 | } 433 | 434 | .fa-align-center:before { 435 | content: "\f037"; 436 | } 437 | 438 | .fa-align-right:before { 439 | content: "\f038"; 440 | } 441 | 442 | .fa-align-justify:before { 443 | content: "\f039"; 444 | } 445 | 446 | .fa-list:before { 447 | content: "\f03a"; 448 | } 449 | 450 | .fa-dedent:before, 451 | .fa-outdent:before { 452 | content: "\f03b"; 453 | } 454 | 455 | .fa-indent:before { 456 | content: "\f03c"; 457 | } 458 | 459 | .fa-video-camera:before { 460 | content: "\f03d"; 461 | } 462 | 463 | .fa-photo:before, 464 | .fa-image:before, 465 | .fa-picture-o:before { 466 | content: "\f03e"; 467 | } 468 | 469 | .fa-pencil:before { 470 | content: "\f040"; 471 | } 472 | 473 | .fa-map-marker:before { 474 | content: "\f041"; 475 | } 476 | 477 | .fa-adjust:before { 478 | content: "\f042"; 479 | } 480 | 481 | .fa-tint:before { 482 | content: "\f043"; 483 | } 484 | 485 | .fa-edit:before, 486 | .fa-pencil-square-o:before { 487 | content: "\f044"; 488 | } 489 | 490 | .fa-share-square-o:before { 491 | content: "\f045"; 492 | } 493 | 494 | .fa-check-square-o:before { 495 | content: "\f046"; 496 | } 497 | 498 | .fa-arrows:before { 499 | content: "\f047"; 500 | } 501 | 502 | .fa-step-backward:before { 503 | content: "\f048"; 504 | } 505 | 506 | .fa-fast-backward:before { 507 | content: "\f049"; 508 | } 509 | 510 | .fa-backward:before { 511 | content: "\f04a"; 512 | } 513 | 514 | .fa-play:before { 515 | content: "\f04b"; 516 | } 517 | 518 | .fa-pause:before { 519 | content: "\f04c"; 520 | } 521 | 522 | .fa-stop:before { 523 | content: "\f04d"; 524 | } 525 | 526 | .fa-forward:before { 527 | content: "\f04e"; 528 | } 529 | 530 | .fa-fast-forward:before { 531 | content: "\f050"; 532 | } 533 | 534 | .fa-step-forward:before { 535 | content: "\f051"; 536 | } 537 | 538 | .fa-eject:before { 539 | content: "\f052"; 540 | } 541 | 542 | .fa-chevron-left:before { 543 | content: "\f053"; 544 | } 545 | 546 | .fa-chevron-right:before { 547 | content: "\f054"; 548 | } 549 | 550 | .fa-plus-circle:before { 551 | content: "\f055"; 552 | } 553 | 554 | .fa-minus-circle:before { 555 | content: "\f056"; 556 | } 557 | 558 | .fa-times-circle:before { 559 | content: "\f057"; 560 | } 561 | 562 | .fa-check-circle:before { 563 | content: "\f058"; 564 | } 565 | 566 | .fa-question-circle:before { 567 | content: "\f059"; 568 | } 569 | 570 | .fa-info-circle:before { 571 | content: "\f05a"; 572 | } 573 | 574 | .fa-crosshairs:before { 575 | content: "\f05b"; 576 | } 577 | 578 | .fa-times-circle-o:before { 579 | content: "\f05c"; 580 | } 581 | 582 | .fa-check-circle-o:before { 583 | content: "\f05d"; 584 | } 585 | 586 | .fa-ban:before { 587 | content: "\f05e"; 588 | } 589 | 590 | .fa-arrow-left:before { 591 | content: "\f060"; 592 | } 593 | 594 | .fa-arrow-right:before { 595 | content: "\f061"; 596 | } 597 | 598 | .fa-arrow-up:before { 599 | content: "\f062"; 600 | } 601 | 602 | .fa-arrow-down:before { 603 | content: "\f063"; 604 | } 605 | 606 | .fa-mail-forward:before, 607 | .fa-share:before { 608 | content: "\f064"; 609 | } 610 | 611 | .fa-expand:before { 612 | content: "\f065"; 613 | } 614 | 615 | .fa-compress:before { 616 | content: "\f066"; 617 | } 618 | 619 | .fa-plus:before { 620 | content: "\f067"; 621 | } 622 | 623 | .fa-minus:before { 624 | content: "\f068"; 625 | } 626 | 627 | .fa-asterisk:before { 628 | content: "\f069"; 629 | } 630 | 631 | .fa-exclamation-circle:before { 632 | content: "\f06a"; 633 | } 634 | 635 | .fa-gift:before { 636 | content: "\f06b"; 637 | } 638 | 639 | .fa-leaf:before { 640 | content: "\f06c"; 641 | } 642 | 643 | .fa-fire:before { 644 | content: "\f06d"; 645 | } 646 | 647 | .fa-eye:before { 648 | content: "\f06e"; 649 | } 650 | 651 | .fa-eye-slash:before { 652 | content: "\f070"; 653 | } 654 | 655 | .fa-warning:before, 656 | .fa-exclamation-triangle:before { 657 | content: "\f071"; 658 | } 659 | 660 | .fa-plane:before { 661 | content: "\f072"; 662 | } 663 | 664 | .fa-calendar:before { 665 | content: "\f073"; 666 | } 667 | 668 | .fa-random:before { 669 | content: "\f074"; 670 | } 671 | 672 | .fa-comment:before { 673 | content: "\f075"; 674 | } 675 | 676 | .fa-magnet:before { 677 | content: "\f076"; 678 | } 679 | 680 | .fa-chevron-up:before { 681 | content: "\f077"; 682 | } 683 | 684 | .fa-chevron-down:before { 685 | content: "\f078"; 686 | } 687 | 688 | .fa-retweet:before { 689 | content: "\f079"; 690 | } 691 | 692 | .fa-shopping-cart:before { 693 | content: "\f07a"; 694 | } 695 | 696 | .fa-folder:before { 697 | content: "\f07b"; 698 | } 699 | 700 | .fa-folder-open:before { 701 | content: "\f07c"; 702 | } 703 | 704 | .fa-arrows-v:before { 705 | content: "\f07d"; 706 | } 707 | 708 | .fa-arrows-h:before { 709 | content: "\f07e"; 710 | } 711 | 712 | .fa-bar-chart-o:before, 713 | .fa-bar-chart:before { 714 | content: "\f080"; 715 | } 716 | 717 | .fa-twitter-square:before { 718 | content: "\f081"; 719 | } 720 | 721 | .fa-facebook-square:before { 722 | content: "\f082"; 723 | } 724 | 725 | .fa-camera-retro:before { 726 | content: "\f083"; 727 | } 728 | 729 | .fa-key:before { 730 | content: "\f084"; 731 | } 732 | 733 | .fa-gears:before, 734 | .fa-cogs:before { 735 | content: "\f085"; 736 | } 737 | 738 | .fa-comments:before { 739 | content: "\f086"; 740 | } 741 | 742 | .fa-thumbs-o-up:before { 743 | content: "\f087"; 744 | } 745 | 746 | .fa-thumbs-o-down:before { 747 | content: "\f088"; 748 | } 749 | 750 | .fa-star-half:before { 751 | content: "\f089"; 752 | } 753 | 754 | .fa-heart-o:before { 755 | content: "\f08a"; 756 | } 757 | 758 | .fa-sign-out:before { 759 | content: "\f08b"; 760 | } 761 | 762 | .fa-linkedin-square:before { 763 | content: "\f08c"; 764 | } 765 | 766 | .fa-thumb-tack:before { 767 | content: "\f08d"; 768 | } 769 | 770 | .fa-external-link:before { 771 | content: "\f08e"; 772 | } 773 | 774 | .fa-sign-in:before { 775 | content: "\f090"; 776 | } 777 | 778 | .fa-trophy:before { 779 | content: "\f091"; 780 | } 781 | 782 | .fa-github-square:before { 783 | content: "\f092"; 784 | } 785 | 786 | .fa-upload:before { 787 | content: "\f093"; 788 | } 789 | 790 | .fa-lemon-o:before { 791 | content: "\f094"; 792 | } 793 | 794 | .fa-phone:before { 795 | content: "\f095"; 796 | } 797 | 798 | .fa-square-o:before { 799 | content: "\f096"; 800 | } 801 | 802 | .fa-bookmark-o:before { 803 | content: "\f097"; 804 | } 805 | 806 | .fa-phone-square:before { 807 | content: "\f098"; 808 | } 809 | 810 | .fa-twitter:before { 811 | content: "\f099"; 812 | } 813 | 814 | .fa-facebook-f:before, 815 | .fa-facebook:before { 816 | content: "\f09a"; 817 | } 818 | 819 | .fa-github:before { 820 | content: "\f09b"; 821 | } 822 | 823 | .fa-unlock:before { 824 | content: "\f09c"; 825 | } 826 | 827 | .fa-credit-card:before { 828 | content: "\f09d"; 829 | } 830 | 831 | .fa-feed:before, 832 | .fa-rss:before { 833 | content: "\f09e"; 834 | } 835 | 836 | .fa-hdd-o:before { 837 | content: "\f0a0"; 838 | } 839 | 840 | .fa-bullhorn:before { 841 | content: "\f0a1"; 842 | } 843 | 844 | .fa-bell:before { 845 | content: "\f0f3"; 846 | } 847 | 848 | .fa-certificate:before { 849 | content: "\f0a3"; 850 | } 851 | 852 | .fa-hand-o-right:before { 853 | content: "\f0a4"; 854 | } 855 | 856 | .fa-hand-o-left:before { 857 | content: "\f0a5"; 858 | } 859 | 860 | .fa-hand-o-up:before { 861 | content: "\f0a6"; 862 | } 863 | 864 | .fa-hand-o-down:before { 865 | content: "\f0a7"; 866 | } 867 | 868 | .fa-arrow-circle-left:before { 869 | content: "\f0a8"; 870 | } 871 | 872 | .fa-arrow-circle-right:before { 873 | content: "\f0a9"; 874 | } 875 | 876 | .fa-arrow-circle-up:before { 877 | content: "\f0aa"; 878 | } 879 | 880 | .fa-arrow-circle-down:before { 881 | content: "\f0ab"; 882 | } 883 | 884 | .fa-globe:before { 885 | content: "\f0ac"; 886 | } 887 | 888 | .fa-wrench:before { 889 | content: "\f0ad"; 890 | } 891 | 892 | .fa-tasks:before { 893 | content: "\f0ae"; 894 | } 895 | 896 | .fa-filter:before { 897 | content: "\f0b0"; 898 | } 899 | 900 | .fa-briefcase:before { 901 | content: "\f0b1"; 902 | } 903 | 904 | .fa-arrows-alt:before { 905 | content: "\f0b2"; 906 | } 907 | 908 | .fa-group:before, 909 | .fa-users:before { 910 | content: "\f0c0"; 911 | } 912 | 913 | .fa-chain:before, 914 | .fa-link:before { 915 | content: "\f0c1"; 916 | } 917 | 918 | .fa-cloud:before { 919 | content: "\f0c2"; 920 | } 921 | 922 | .fa-flask:before { 923 | content: "\f0c3"; 924 | } 925 | 926 | .fa-cut:before, 927 | .fa-scissors:before { 928 | content: "\f0c4"; 929 | } 930 | 931 | .fa-copy:before, 932 | .fa-files-o:before { 933 | content: "\f0c5"; 934 | } 935 | 936 | .fa-paperclip:before { 937 | content: "\f0c6"; 938 | } 939 | 940 | .fa-save:before, 941 | .fa-floppy-o:before { 942 | content: "\f0c7"; 943 | } 944 | 945 | .fa-square:before { 946 | content: "\f0c8"; 947 | } 948 | 949 | .fa-navicon:before, 950 | .fa-reorder:before, 951 | .fa-bars:before { 952 | content: "\f0c9"; 953 | } 954 | 955 | .fa-list-ul:before { 956 | content: "\f0ca"; 957 | } 958 | 959 | .fa-list-ol:before { 960 | content: "\f0cb"; 961 | } 962 | 963 | .fa-strikethrough:before { 964 | content: "\f0cc"; 965 | } 966 | 967 | .fa-underline:before { 968 | content: "\f0cd"; 969 | } 970 | 971 | .fa-table:before { 972 | content: "\f0ce"; 973 | } 974 | 975 | .fa-magic:before { 976 | content: "\f0d0"; 977 | } 978 | 979 | .fa-truck:before { 980 | content: "\f0d1"; 981 | } 982 | 983 | .fa-pinterest:before { 984 | content: "\f0d2"; 985 | } 986 | 987 | .fa-pinterest-square:before { 988 | content: "\f0d3"; 989 | } 990 | 991 | .fa-google-plus-square:before { 992 | content: "\f0d4"; 993 | } 994 | 995 | .fa-google-plus:before { 996 | content: "\f0d5"; 997 | } 998 | 999 | .fa-money:before { 1000 | content: "\f0d6"; 1001 | } 1002 | 1003 | .fa-caret-down:before { 1004 | content: "\f0d7"; 1005 | } 1006 | 1007 | .fa-caret-up:before { 1008 | content: "\f0d8"; 1009 | } 1010 | 1011 | .fa-caret-left:before { 1012 | content: "\f0d9"; 1013 | } 1014 | 1015 | .fa-caret-right:before { 1016 | content: "\f0da"; 1017 | } 1018 | 1019 | .fa-columns:before { 1020 | content: "\f0db"; 1021 | } 1022 | 1023 | .fa-unsorted:before, 1024 | .fa-sort:before { 1025 | content: "\f0dc"; 1026 | } 1027 | 1028 | .fa-sort-down:before, 1029 | .fa-sort-desc:before { 1030 | content: "\f0dd"; 1031 | } 1032 | 1033 | .fa-sort-up:before, 1034 | .fa-sort-asc:before { 1035 | content: "\f0de"; 1036 | } 1037 | 1038 | .fa-envelope:before { 1039 | content: "\f0e0"; 1040 | } 1041 | 1042 | .fa-linkedin:before { 1043 | content: "\f0e1"; 1044 | } 1045 | 1046 | .fa-rotate-left:before, 1047 | .fa-undo:before { 1048 | content: "\f0e2"; 1049 | } 1050 | 1051 | .fa-legal:before, 1052 | .fa-gavel:before { 1053 | content: "\f0e3"; 1054 | } 1055 | 1056 | .fa-dashboard:before, 1057 | .fa-tachometer:before { 1058 | content: "\f0e4"; 1059 | } 1060 | 1061 | .fa-comment-o:before { 1062 | content: "\f0e5"; 1063 | } 1064 | 1065 | .fa-comments-o:before { 1066 | content: "\f0e6"; 1067 | } 1068 | 1069 | .fa-flash:before, 1070 | .fa-bolt:before { 1071 | content: "\f0e7"; 1072 | } 1073 | 1074 | .fa-sitemap:before { 1075 | content: "\f0e8"; 1076 | } 1077 | 1078 | .fa-umbrella:before { 1079 | content: "\f0e9"; 1080 | } 1081 | 1082 | .fa-paste:before, 1083 | .fa-clipboard:before { 1084 | content: "\f0ea"; 1085 | } 1086 | 1087 | .fa-lightbulb-o:before { 1088 | content: "\f0eb"; 1089 | } 1090 | 1091 | .fa-exchange:before { 1092 | content: "\f0ec"; 1093 | } 1094 | 1095 | .fa-cloud-download:before { 1096 | content: "\f0ed"; 1097 | } 1098 | 1099 | .fa-cloud-upload:before { 1100 | content: "\f0ee"; 1101 | } 1102 | 1103 | .fa-user-md:before { 1104 | content: "\f0f0"; 1105 | } 1106 | 1107 | .fa-stethoscope:before { 1108 | content: "\f0f1"; 1109 | } 1110 | 1111 | .fa-suitcase:before { 1112 | content: "\f0f2"; 1113 | } 1114 | 1115 | .fa-bell-o:before { 1116 | content: "\f0a2"; 1117 | } 1118 | 1119 | .fa-coffee:before { 1120 | content: "\f0f4"; 1121 | } 1122 | 1123 | .fa-cutlery:before { 1124 | content: "\f0f5"; 1125 | } 1126 | 1127 | .fa-file-text-o:before { 1128 | content: "\f0f6"; 1129 | } 1130 | 1131 | .fa-building-o:before { 1132 | content: "\f0f7"; 1133 | } 1134 | 1135 | .fa-hospital-o:before { 1136 | content: "\f0f8"; 1137 | } 1138 | 1139 | .fa-ambulance:before { 1140 | content: "\f0f9"; 1141 | } 1142 | 1143 | .fa-medkit:before { 1144 | content: "\f0fa"; 1145 | } 1146 | 1147 | .fa-fighter-jet:before { 1148 | content: "\f0fb"; 1149 | } 1150 | 1151 | .fa-beer:before { 1152 | content: "\f0fc"; 1153 | } 1154 | 1155 | .fa-h-square:before { 1156 | content: "\f0fd"; 1157 | } 1158 | 1159 | .fa-plus-square:before { 1160 | content: "\f0fe"; 1161 | } 1162 | 1163 | .fa-angle-double-left:before { 1164 | content: "\f100"; 1165 | } 1166 | 1167 | .fa-angle-double-right:before { 1168 | content: "\f101"; 1169 | } 1170 | 1171 | .fa-angle-double-up:before { 1172 | content: "\f102"; 1173 | } 1174 | 1175 | .fa-angle-double-down:before { 1176 | content: "\f103"; 1177 | } 1178 | 1179 | .fa-angle-left:before { 1180 | content: "\f104"; 1181 | } 1182 | 1183 | .fa-angle-right:before { 1184 | content: "\f105"; 1185 | } 1186 | 1187 | .fa-angle-up:before { 1188 | content: "\f106"; 1189 | } 1190 | 1191 | .fa-angle-down:before { 1192 | content: "\f107"; 1193 | } 1194 | 1195 | .fa-desktop:before { 1196 | content: "\f108"; 1197 | } 1198 | 1199 | .fa-laptop:before { 1200 | content: "\f109"; 1201 | } 1202 | 1203 | .fa-tablet:before { 1204 | content: "\f10a"; 1205 | } 1206 | 1207 | .fa-mobile-phone:before, 1208 | .fa-mobile:before { 1209 | content: "\f10b"; 1210 | } 1211 | 1212 | .fa-circle-o:before { 1213 | content: "\f10c"; 1214 | } 1215 | 1216 | .fa-quote-left:before { 1217 | content: "\f10d"; 1218 | } 1219 | 1220 | .fa-quote-right:before { 1221 | content: "\f10e"; 1222 | } 1223 | 1224 | .fa-spinner:before { 1225 | content: "\f110"; 1226 | } 1227 | 1228 | .fa-circle:before { 1229 | content: "\f111"; 1230 | } 1231 | 1232 | .fa-mail-reply:before, 1233 | .fa-reply:before { 1234 | content: "\f112"; 1235 | } 1236 | 1237 | .fa-github-alt:before { 1238 | content: "\f113"; 1239 | } 1240 | 1241 | .fa-folder-o:before { 1242 | content: "\f114"; 1243 | } 1244 | 1245 | .fa-folder-open-o:before { 1246 | content: "\f115"; 1247 | } 1248 | 1249 | .fa-smile-o:before { 1250 | content: "\f118"; 1251 | } 1252 | 1253 | .fa-frown-o:before { 1254 | content: "\f119"; 1255 | } 1256 | 1257 | .fa-meh-o:before { 1258 | content: "\f11a"; 1259 | } 1260 | 1261 | .fa-gamepad:before { 1262 | content: "\f11b"; 1263 | } 1264 | 1265 | .fa-keyboard-o:before { 1266 | content: "\f11c"; 1267 | } 1268 | 1269 | .fa-flag-o:before { 1270 | content: "\f11d"; 1271 | } 1272 | 1273 | .fa-flag-checkered:before { 1274 | content: "\f11e"; 1275 | } 1276 | 1277 | .fa-terminal:before { 1278 | content: "\f120"; 1279 | } 1280 | 1281 | .fa-code:before { 1282 | content: "\f121"; 1283 | } 1284 | 1285 | .fa-mail-reply-all:before, 1286 | .fa-reply-all:before { 1287 | content: "\f122"; 1288 | } 1289 | 1290 | .fa-star-half-empty:before, 1291 | .fa-star-half-full:before, 1292 | .fa-star-half-o:before { 1293 | content: "\f123"; 1294 | } 1295 | 1296 | .fa-location-arrow:before { 1297 | content: "\f124"; 1298 | } 1299 | 1300 | .fa-crop:before { 1301 | content: "\f125"; 1302 | } 1303 | 1304 | .fa-code-fork:before { 1305 | content: "\f126"; 1306 | } 1307 | 1308 | .fa-unlink:before, 1309 | .fa-chain-broken:before { 1310 | content: "\f127"; 1311 | } 1312 | 1313 | .fa-question:before { 1314 | content: "\f128"; 1315 | } 1316 | 1317 | .fa-info:before { 1318 | content: "\f129"; 1319 | } 1320 | 1321 | .fa-exclamation:before { 1322 | content: "\f12a"; 1323 | } 1324 | 1325 | .fa-superscript:before { 1326 | content: "\f12b"; 1327 | } 1328 | 1329 | .fa-subscript:before { 1330 | content: "\f12c"; 1331 | } 1332 | 1333 | .fa-eraser:before { 1334 | content: "\f12d"; 1335 | } 1336 | 1337 | .fa-puzzle-piece:before { 1338 | content: "\f12e"; 1339 | } 1340 | 1341 | .fa-microphone:before { 1342 | content: "\f130"; 1343 | } 1344 | 1345 | .fa-microphone-slash:before { 1346 | content: "\f131"; 1347 | } 1348 | 1349 | .fa-shield:before { 1350 | content: "\f132"; 1351 | } 1352 | 1353 | .fa-calendar-o:before { 1354 | content: "\f133"; 1355 | } 1356 | 1357 | .fa-fire-extinguisher:before { 1358 | content: "\f134"; 1359 | } 1360 | 1361 | .fa-rocket:before { 1362 | content: "\f135"; 1363 | } 1364 | 1365 | .fa-maxcdn:before { 1366 | content: "\f136"; 1367 | } 1368 | 1369 | .fa-chevron-circle-left:before { 1370 | content: "\f137"; 1371 | } 1372 | 1373 | .fa-chevron-circle-right:before { 1374 | content: "\f138"; 1375 | } 1376 | 1377 | .fa-chevron-circle-up:before { 1378 | content: "\f139"; 1379 | } 1380 | 1381 | .fa-chevron-circle-down:before { 1382 | content: "\f13a"; 1383 | } 1384 | 1385 | .fa-html5:before { 1386 | content: "\f13b"; 1387 | } 1388 | 1389 | .fa-css3:before { 1390 | content: "\f13c"; 1391 | } 1392 | 1393 | .fa-anchor:before { 1394 | content: "\f13d"; 1395 | } 1396 | 1397 | .fa-unlock-alt:before { 1398 | content: "\f13e"; 1399 | } 1400 | 1401 | .fa-bullseye:before { 1402 | content: "\f140"; 1403 | } 1404 | 1405 | .fa-ellipsis-h:before { 1406 | content: "\f141"; 1407 | } 1408 | 1409 | .fa-ellipsis-v:before { 1410 | content: "\f142"; 1411 | } 1412 | 1413 | .fa-rss-square:before { 1414 | content: "\f143"; 1415 | } 1416 | 1417 | .fa-play-circle:before { 1418 | content: "\f144"; 1419 | } 1420 | 1421 | .fa-ticket:before { 1422 | content: "\f145"; 1423 | } 1424 | 1425 | .fa-minus-square:before { 1426 | content: "\f146"; 1427 | } 1428 | 1429 | .fa-minus-square-o:before { 1430 | content: "\f147"; 1431 | } 1432 | 1433 | .fa-level-up:before { 1434 | content: "\f148"; 1435 | } 1436 | 1437 | .fa-level-down:before { 1438 | content: "\f149"; 1439 | } 1440 | 1441 | .fa-check-square:before { 1442 | content: "\f14a"; 1443 | } 1444 | 1445 | .fa-pencil-square:before { 1446 | content: "\f14b"; 1447 | } 1448 | 1449 | .fa-external-link-square:before { 1450 | content: "\f14c"; 1451 | } 1452 | 1453 | .fa-share-square:before { 1454 | content: "\f14d"; 1455 | } 1456 | 1457 | .fa-compass:before { 1458 | content: "\f14e"; 1459 | } 1460 | 1461 | .fa-toggle-down:before, 1462 | .fa-caret-square-o-down:before { 1463 | content: "\f150"; 1464 | } 1465 | 1466 | .fa-toggle-up:before, 1467 | .fa-caret-square-o-up:before { 1468 | content: "\f151"; 1469 | } 1470 | 1471 | .fa-toggle-right:before, 1472 | .fa-caret-square-o-right:before { 1473 | content: "\f152"; 1474 | } 1475 | 1476 | .fa-euro:before, 1477 | .fa-eur:before { 1478 | content: "\f153"; 1479 | } 1480 | 1481 | .fa-gbp:before { 1482 | content: "\f154"; 1483 | } 1484 | 1485 | .fa-dollar:before, 1486 | .fa-usd:before { 1487 | content: "\f155"; 1488 | } 1489 | 1490 | .fa-rupee:before, 1491 | .fa-inr:before { 1492 | content: "\f156"; 1493 | } 1494 | 1495 | .fa-cny:before, 1496 | .fa-rmb:before, 1497 | .fa-yen:before, 1498 | .fa-jpy:before { 1499 | content: "\f157"; 1500 | } 1501 | 1502 | .fa-ruble:before, 1503 | .fa-rouble:before, 1504 | .fa-rub:before { 1505 | content: "\f158"; 1506 | } 1507 | 1508 | .fa-won:before, 1509 | .fa-krw:before { 1510 | content: "\f159"; 1511 | } 1512 | 1513 | .fa-bitcoin:before, 1514 | .fa-btc:before { 1515 | content: "\f15a"; 1516 | } 1517 | 1518 | .fa-file:before { 1519 | content: "\f15b"; 1520 | } 1521 | 1522 | .fa-file-text:before { 1523 | content: "\f15c"; 1524 | } 1525 | 1526 | .fa-sort-alpha-asc:before { 1527 | content: "\f15d"; 1528 | } 1529 | 1530 | .fa-sort-alpha-desc:before { 1531 | content: "\f15e"; 1532 | } 1533 | 1534 | .fa-sort-amount-asc:before { 1535 | content: "\f160"; 1536 | } 1537 | 1538 | .fa-sort-amount-desc:before { 1539 | content: "\f161"; 1540 | } 1541 | 1542 | .fa-sort-numeric-asc:before { 1543 | content: "\f162"; 1544 | } 1545 | 1546 | .fa-sort-numeric-desc:before { 1547 | content: "\f163"; 1548 | } 1549 | 1550 | .fa-thumbs-up:before { 1551 | content: "\f164"; 1552 | } 1553 | 1554 | .fa-thumbs-down:before { 1555 | content: "\f165"; 1556 | } 1557 | 1558 | .fa-youtube-square:before { 1559 | content: "\f166"; 1560 | } 1561 | 1562 | .fa-youtube:before { 1563 | content: "\f167"; 1564 | } 1565 | 1566 | .fa-xing:before { 1567 | content: "\f168"; 1568 | } 1569 | 1570 | .fa-xing-square:before { 1571 | content: "\f169"; 1572 | } 1573 | 1574 | .fa-youtube-play:before { 1575 | content: "\f16a"; 1576 | } 1577 | 1578 | .fa-dropbox:before { 1579 | content: "\f16b"; 1580 | } 1581 | 1582 | .fa-stack-overflow:before { 1583 | content: "\f16c"; 1584 | } 1585 | 1586 | .fa-instagram:before { 1587 | content: "\f16d"; 1588 | } 1589 | 1590 | .fa-flickr:before { 1591 | content: "\f16e"; 1592 | } 1593 | 1594 | .fa-adn:before { 1595 | content: "\f170"; 1596 | } 1597 | 1598 | .fa-bitbucket:before { 1599 | content: "\f171"; 1600 | } 1601 | 1602 | .fa-bitbucket-square:before { 1603 | content: "\f172"; 1604 | } 1605 | 1606 | .fa-tumblr:before { 1607 | content: "\f173"; 1608 | } 1609 | 1610 | .fa-tumblr-square:before { 1611 | content: "\f174"; 1612 | } 1613 | 1614 | .fa-long-arrow-down:before { 1615 | content: "\f175"; 1616 | } 1617 | 1618 | .fa-long-arrow-up:before { 1619 | content: "\f176"; 1620 | } 1621 | 1622 | .fa-long-arrow-left:before { 1623 | content: "\f177"; 1624 | } 1625 | 1626 | .fa-long-arrow-right:before { 1627 | content: "\f178"; 1628 | } 1629 | 1630 | .fa-apple:before { 1631 | content: "\f179"; 1632 | } 1633 | 1634 | .fa-windows:before { 1635 | content: "\f17a"; 1636 | } 1637 | 1638 | .fa-android:before { 1639 | content: "\f17b"; 1640 | } 1641 | 1642 | .fa-linux:before { 1643 | content: "\f17c"; 1644 | } 1645 | 1646 | .fa-dribbble:before { 1647 | content: "\f17d"; 1648 | } 1649 | 1650 | .fa-skype:before { 1651 | content: "\f17e"; 1652 | } 1653 | 1654 | .fa-foursquare:before { 1655 | content: "\f180"; 1656 | } 1657 | 1658 | .fa-trello:before { 1659 | content: "\f181"; 1660 | } 1661 | 1662 | .fa-female:before { 1663 | content: "\f182"; 1664 | } 1665 | 1666 | .fa-male:before { 1667 | content: "\f183"; 1668 | } 1669 | 1670 | .fa-gittip:before, 1671 | .fa-gratipay:before { 1672 | content: "\f184"; 1673 | } 1674 | 1675 | .fa-sun-o:before { 1676 | content: "\f185"; 1677 | } 1678 | 1679 | .fa-moon-o:before { 1680 | content: "\f186"; 1681 | } 1682 | 1683 | .fa-archive:before { 1684 | content: "\f187"; 1685 | } 1686 | 1687 | .fa-bug:before { 1688 | content: "\f188"; 1689 | } 1690 | 1691 | .fa-vk:before { 1692 | content: "\f189"; 1693 | } 1694 | 1695 | .fa-weibo:before { 1696 | content: "\f18a"; 1697 | } 1698 | 1699 | .fa-renren:before { 1700 | content: "\f18b"; 1701 | } 1702 | 1703 | .fa-pagelines:before { 1704 | content: "\f18c"; 1705 | } 1706 | 1707 | .fa-stack-exchange:before { 1708 | content: "\f18d"; 1709 | } 1710 | 1711 | .fa-arrow-circle-o-right:before { 1712 | content: "\f18e"; 1713 | } 1714 | 1715 | .fa-arrow-circle-o-left:before { 1716 | content: "\f190"; 1717 | } 1718 | 1719 | .fa-toggle-left:before, 1720 | .fa-caret-square-o-left:before { 1721 | content: "\f191"; 1722 | } 1723 | 1724 | .fa-dot-circle-o:before { 1725 | content: "\f192"; 1726 | } 1727 | 1728 | .fa-wheelchair:before { 1729 | content: "\f193"; 1730 | } 1731 | 1732 | .fa-vimeo-square:before { 1733 | content: "\f194"; 1734 | } 1735 | 1736 | .fa-turkish-lira:before, 1737 | .fa-try:before { 1738 | content: "\f195"; 1739 | } 1740 | 1741 | .fa-plus-square-o:before { 1742 | content: "\f196"; 1743 | } 1744 | 1745 | .fa-space-shuttle:before { 1746 | content: "\f197"; 1747 | } 1748 | 1749 | .fa-slack:before { 1750 | content: "\f198"; 1751 | } 1752 | 1753 | .fa-envelope-square:before { 1754 | content: "\f199"; 1755 | } 1756 | 1757 | .fa-wordpress:before { 1758 | content: "\f19a"; 1759 | } 1760 | 1761 | .fa-openid:before { 1762 | content: "\f19b"; 1763 | } 1764 | 1765 | .fa-institution:before, 1766 | .fa-bank:before, 1767 | .fa-university:before { 1768 | content: "\f19c"; 1769 | } 1770 | 1771 | .fa-mortar-board:before, 1772 | .fa-graduation-cap:before { 1773 | content: "\f19d"; 1774 | } 1775 | 1776 | .fa-yahoo:before { 1777 | content: "\f19e"; 1778 | } 1779 | 1780 | .fa-google:before { 1781 | content: "\f1a0"; 1782 | } 1783 | 1784 | .fa-reddit:before { 1785 | content: "\f1a1"; 1786 | } 1787 | 1788 | .fa-reddit-square:before { 1789 | content: "\f1a2"; 1790 | } 1791 | 1792 | .fa-stumbleupon-circle:before { 1793 | content: "\f1a3"; 1794 | } 1795 | 1796 | .fa-stumbleupon:before { 1797 | content: "\f1a4"; 1798 | } 1799 | 1800 | .fa-delicious:before { 1801 | content: "\f1a5"; 1802 | } 1803 | 1804 | .fa-digg:before { 1805 | content: "\f1a6"; 1806 | } 1807 | 1808 | .fa-pied-piper-pp:before { 1809 | content: "\f1a7"; 1810 | } 1811 | 1812 | .fa-pied-piper-alt:before { 1813 | content: "\f1a8"; 1814 | } 1815 | 1816 | .fa-drupal:before { 1817 | content: "\f1a9"; 1818 | } 1819 | 1820 | .fa-joomla:before { 1821 | content: "\f1aa"; 1822 | } 1823 | 1824 | .fa-language:before { 1825 | content: "\f1ab"; 1826 | } 1827 | 1828 | .fa-fax:before { 1829 | content: "\f1ac"; 1830 | } 1831 | 1832 | .fa-building:before { 1833 | content: "\f1ad"; 1834 | } 1835 | 1836 | .fa-child:before { 1837 | content: "\f1ae"; 1838 | } 1839 | 1840 | .fa-paw:before { 1841 | content: "\f1b0"; 1842 | } 1843 | 1844 | .fa-spoon:before { 1845 | content: "\f1b1"; 1846 | } 1847 | 1848 | .fa-cube:before { 1849 | content: "\f1b2"; 1850 | } 1851 | 1852 | .fa-cubes:before { 1853 | content: "\f1b3"; 1854 | } 1855 | 1856 | .fa-behance:before { 1857 | content: "\f1b4"; 1858 | } 1859 | 1860 | .fa-behance-square:before { 1861 | content: "\f1b5"; 1862 | } 1863 | 1864 | .fa-steam:before { 1865 | content: "\f1b6"; 1866 | } 1867 | 1868 | .fa-steam-square:before { 1869 | content: "\f1b7"; 1870 | } 1871 | 1872 | .fa-recycle:before { 1873 | content: "\f1b8"; 1874 | } 1875 | 1876 | .fa-automobile:before, 1877 | .fa-car:before { 1878 | content: "\f1b9"; 1879 | } 1880 | 1881 | .fa-cab:before, 1882 | .fa-taxi:before { 1883 | content: "\f1ba"; 1884 | } 1885 | 1886 | .fa-tree:before { 1887 | content: "\f1bb"; 1888 | } 1889 | 1890 | .fa-spotify:before { 1891 | content: "\f1bc"; 1892 | } 1893 | 1894 | .fa-deviantart:before { 1895 | content: "\f1bd"; 1896 | } 1897 | 1898 | .fa-soundcloud:before { 1899 | content: "\f1be"; 1900 | } 1901 | 1902 | .fa-database:before { 1903 | content: "\f1c0"; 1904 | } 1905 | 1906 | .fa-file-pdf-o:before { 1907 | content: "\f1c1"; 1908 | } 1909 | 1910 | .fa-file-word-o:before { 1911 | content: "\f1c2"; 1912 | } 1913 | 1914 | .fa-file-excel-o:before { 1915 | content: "\f1c3"; 1916 | } 1917 | 1918 | .fa-file-powerpoint-o:before { 1919 | content: "\f1c4"; 1920 | } 1921 | 1922 | .fa-file-photo-o:before, 1923 | .fa-file-picture-o:before, 1924 | .fa-file-image-o:before { 1925 | content: "\f1c5"; 1926 | } 1927 | 1928 | .fa-file-zip-o:before, 1929 | .fa-file-archive-o:before { 1930 | content: "\f1c6"; 1931 | } 1932 | 1933 | .fa-file-sound-o:before, 1934 | .fa-file-audio-o:before { 1935 | content: "\f1c7"; 1936 | } 1937 | 1938 | .fa-file-movie-o:before, 1939 | .fa-file-video-o:before { 1940 | content: "\f1c8"; 1941 | } 1942 | 1943 | .fa-file-code-o:before { 1944 | content: "\f1c9"; 1945 | } 1946 | 1947 | .fa-vine:before { 1948 | content: "\f1ca"; 1949 | } 1950 | 1951 | .fa-codepen:before { 1952 | content: "\f1cb"; 1953 | } 1954 | 1955 | .fa-jsfiddle:before { 1956 | content: "\f1cc"; 1957 | } 1958 | 1959 | .fa-life-bouy:before, 1960 | .fa-life-buoy:before, 1961 | .fa-life-saver:before, 1962 | .fa-support:before, 1963 | .fa-life-ring:before { 1964 | content: "\f1cd"; 1965 | } 1966 | 1967 | .fa-circle-o-notch:before { 1968 | content: "\f1ce"; 1969 | } 1970 | 1971 | .fa-ra:before, 1972 | .fa-resistance:before, 1973 | .fa-rebel:before { 1974 | content: "\f1d0"; 1975 | } 1976 | 1977 | .fa-ge:before, 1978 | .fa-empire:before { 1979 | content: "\f1d1"; 1980 | } 1981 | 1982 | .fa-git-square:before { 1983 | content: "\f1d2"; 1984 | } 1985 | 1986 | .fa-git:before { 1987 | content: "\f1d3"; 1988 | } 1989 | 1990 | .fa-y-combinator-square:before, 1991 | .fa-yc-square:before, 1992 | .fa-hacker-news:before { 1993 | content: "\f1d4"; 1994 | } 1995 | 1996 | .fa-tencent-weibo:before { 1997 | content: "\f1d5"; 1998 | } 1999 | 2000 | .fa-qq:before { 2001 | content: "\f1d6"; 2002 | } 2003 | 2004 | .fa-wechat:before, 2005 | .fa-weixin:before { 2006 | content: "\f1d7"; 2007 | } 2008 | 2009 | .fa-send:before, 2010 | .fa-paper-plane:before { 2011 | content: "\f1d8"; 2012 | } 2013 | 2014 | .fa-send-o:before, 2015 | .fa-paper-plane-o:before { 2016 | content: "\f1d9"; 2017 | } 2018 | 2019 | .fa-history:before { 2020 | content: "\f1da"; 2021 | } 2022 | 2023 | .fa-circle-thin:before { 2024 | content: "\f1db"; 2025 | } 2026 | 2027 | .fa-header:before { 2028 | content: "\f1dc"; 2029 | } 2030 | 2031 | .fa-paragraph:before { 2032 | content: "\f1dd"; 2033 | } 2034 | 2035 | .fa-sliders:before { 2036 | content: "\f1de"; 2037 | } 2038 | 2039 | .fa-share-alt:before { 2040 | content: "\f1e0"; 2041 | } 2042 | 2043 | .fa-share-alt-square:before { 2044 | content: "\f1e1"; 2045 | } 2046 | 2047 | .fa-bomb:before { 2048 | content: "\f1e2"; 2049 | } 2050 | 2051 | .fa-soccer-ball-o:before, 2052 | .fa-futbol-o:before { 2053 | content: "\f1e3"; 2054 | } 2055 | 2056 | .fa-tty:before { 2057 | content: "\f1e4"; 2058 | } 2059 | 2060 | .fa-binoculars:before { 2061 | content: "\f1e5"; 2062 | } 2063 | 2064 | .fa-plug:before { 2065 | content: "\f1e6"; 2066 | } 2067 | 2068 | .fa-slideshare:before { 2069 | content: "\f1e7"; 2070 | } 2071 | 2072 | .fa-twitch:before { 2073 | content: "\f1e8"; 2074 | } 2075 | 2076 | .fa-yelp:before { 2077 | content: "\f1e9"; 2078 | } 2079 | 2080 | .fa-newspaper-o:before { 2081 | content: "\f1ea"; 2082 | } 2083 | 2084 | .fa-wifi:before { 2085 | content: "\f1eb"; 2086 | } 2087 | 2088 | .fa-calculator:before { 2089 | content: "\f1ec"; 2090 | } 2091 | 2092 | .fa-paypal:before { 2093 | content: "\f1ed"; 2094 | } 2095 | 2096 | .fa-google-wallet:before { 2097 | content: "\f1ee"; 2098 | } 2099 | 2100 | .fa-cc-visa:before { 2101 | content: "\f1f0"; 2102 | } 2103 | 2104 | .fa-cc-mastercard:before { 2105 | content: "\f1f1"; 2106 | } 2107 | 2108 | .fa-cc-discover:before { 2109 | content: "\f1f2"; 2110 | } 2111 | 2112 | .fa-cc-amex:before { 2113 | content: "\f1f3"; 2114 | } 2115 | 2116 | .fa-cc-paypal:before { 2117 | content: "\f1f4"; 2118 | } 2119 | 2120 | .fa-cc-stripe:before { 2121 | content: "\f1f5"; 2122 | } 2123 | 2124 | .fa-bell-slash:before { 2125 | content: "\f1f6"; 2126 | } 2127 | 2128 | .fa-bell-slash-o:before { 2129 | content: "\f1f7"; 2130 | } 2131 | 2132 | .fa-trash:before { 2133 | content: "\f1f8"; 2134 | } 2135 | 2136 | .fa-copyright:before { 2137 | content: "\f1f9"; 2138 | } 2139 | 2140 | .fa-at:before { 2141 | content: "\f1fa"; 2142 | } 2143 | 2144 | .fa-eyedropper:before { 2145 | content: "\f1fb"; 2146 | } 2147 | 2148 | .fa-paint-brush:before { 2149 | content: "\f1fc"; 2150 | } 2151 | 2152 | .fa-birthday-cake:before { 2153 | content: "\f1fd"; 2154 | } 2155 | 2156 | .fa-area-chart:before { 2157 | content: "\f1fe"; 2158 | } 2159 | 2160 | .fa-pie-chart:before { 2161 | content: "\f200"; 2162 | } 2163 | 2164 | .fa-line-chart:before { 2165 | content: "\f201"; 2166 | } 2167 | 2168 | .fa-lastfm:before { 2169 | content: "\f202"; 2170 | } 2171 | 2172 | .fa-lastfm-square:before { 2173 | content: "\f203"; 2174 | } 2175 | 2176 | .fa-toggle-off:before { 2177 | content: "\f204"; 2178 | } 2179 | 2180 | .fa-toggle-on:before { 2181 | content: "\f205"; 2182 | } 2183 | 2184 | .fa-bicycle:before { 2185 | content: "\f206"; 2186 | } 2187 | 2188 | .fa-bus:before { 2189 | content: "\f207"; 2190 | } 2191 | 2192 | .fa-ioxhost:before { 2193 | content: "\f208"; 2194 | } 2195 | 2196 | .fa-angellist:before { 2197 | content: "\f209"; 2198 | } 2199 | 2200 | .fa-cc:before { 2201 | content: "\f20a"; 2202 | } 2203 | 2204 | .fa-shekel:before, 2205 | .fa-sheqel:before, 2206 | .fa-ils:before { 2207 | content: "\f20b"; 2208 | } 2209 | 2210 | .fa-meanpath:before { 2211 | content: "\f20c"; 2212 | } 2213 | 2214 | .fa-buysellads:before { 2215 | content: "\f20d"; 2216 | } 2217 | 2218 | .fa-connectdevelop:before { 2219 | content: "\f20e"; 2220 | } 2221 | 2222 | .fa-dashcube:before { 2223 | content: "\f210"; 2224 | } 2225 | 2226 | .fa-forumbee:before { 2227 | content: "\f211"; 2228 | } 2229 | 2230 | .fa-leanpub:before { 2231 | content: "\f212"; 2232 | } 2233 | 2234 | .fa-sellsy:before { 2235 | content: "\f213"; 2236 | } 2237 | 2238 | .fa-shirtsinbulk:before { 2239 | content: "\f214"; 2240 | } 2241 | 2242 | .fa-simplybuilt:before { 2243 | content: "\f215"; 2244 | } 2245 | 2246 | .fa-skyatlas:before { 2247 | content: "\f216"; 2248 | } 2249 | 2250 | .fa-cart-plus:before { 2251 | content: "\f217"; 2252 | } 2253 | 2254 | .fa-cart-arrow-down:before { 2255 | content: "\f218"; 2256 | } 2257 | 2258 | .fa-diamond:before { 2259 | content: "\f219"; 2260 | } 2261 | 2262 | .fa-ship:before { 2263 | content: "\f21a"; 2264 | } 2265 | 2266 | .fa-user-secret:before { 2267 | content: "\f21b"; 2268 | } 2269 | 2270 | .fa-motorcycle:before { 2271 | content: "\f21c"; 2272 | } 2273 | 2274 | .fa-street-view:before { 2275 | content: "\f21d"; 2276 | } 2277 | 2278 | .fa-heartbeat:before { 2279 | content: "\f21e"; 2280 | } 2281 | 2282 | .fa-venus:before { 2283 | content: "\f221"; 2284 | } 2285 | 2286 | .fa-mars:before { 2287 | content: "\f222"; 2288 | } 2289 | 2290 | .fa-mercury:before { 2291 | content: "\f223"; 2292 | } 2293 | 2294 | .fa-intersex:before, 2295 | .fa-transgender:before { 2296 | content: "\f224"; 2297 | } 2298 | 2299 | .fa-transgender-alt:before { 2300 | content: "\f225"; 2301 | } 2302 | 2303 | .fa-venus-double:before { 2304 | content: "\f226"; 2305 | } 2306 | 2307 | .fa-mars-double:before { 2308 | content: "\f227"; 2309 | } 2310 | 2311 | .fa-venus-mars:before { 2312 | content: "\f228"; 2313 | } 2314 | 2315 | .fa-mars-stroke:before { 2316 | content: "\f229"; 2317 | } 2318 | 2319 | .fa-mars-stroke-v:before { 2320 | content: "\f22a"; 2321 | } 2322 | 2323 | .fa-mars-stroke-h:before { 2324 | content: "\f22b"; 2325 | } 2326 | 2327 | .fa-neuter:before { 2328 | content: "\f22c"; 2329 | } 2330 | 2331 | .fa-genderless:before { 2332 | content: "\f22d"; 2333 | } 2334 | 2335 | .fa-facebook-official:before { 2336 | content: "\f230"; 2337 | } 2338 | 2339 | .fa-pinterest-p:before { 2340 | content: "\f231"; 2341 | } 2342 | 2343 | .fa-whatsapp:before { 2344 | content: "\f232"; 2345 | } 2346 | 2347 | .fa-server:before { 2348 | content: "\f233"; 2349 | } 2350 | 2351 | .fa-user-plus:before { 2352 | content: "\f234"; 2353 | } 2354 | 2355 | .fa-user-times:before { 2356 | content: "\f235"; 2357 | } 2358 | 2359 | .fa-hotel:before, 2360 | .fa-bed:before { 2361 | content: "\f236"; 2362 | } 2363 | 2364 | .fa-viacoin:before { 2365 | content: "\f237"; 2366 | } 2367 | 2368 | .fa-train:before { 2369 | content: "\f238"; 2370 | } 2371 | 2372 | .fa-subway:before { 2373 | content: "\f239"; 2374 | } 2375 | 2376 | .fa-medium:before { 2377 | content: "\f23a"; 2378 | } 2379 | 2380 | .fa-yc:before, 2381 | .fa-y-combinator:before { 2382 | content: "\f23b"; 2383 | } 2384 | 2385 | .fa-optin-monster:before { 2386 | content: "\f23c"; 2387 | } 2388 | 2389 | .fa-opencart:before { 2390 | content: "\f23d"; 2391 | } 2392 | 2393 | .fa-expeditedssl:before { 2394 | content: "\f23e"; 2395 | } 2396 | 2397 | .fa-battery-4:before, 2398 | .fa-battery:before, 2399 | .fa-battery-full:before { 2400 | content: "\f240"; 2401 | } 2402 | 2403 | .fa-battery-3:before, 2404 | .fa-battery-three-quarters:before { 2405 | content: "\f241"; 2406 | } 2407 | 2408 | .fa-battery-2:before, 2409 | .fa-battery-half:before { 2410 | content: "\f242"; 2411 | } 2412 | 2413 | .fa-battery-1:before, 2414 | .fa-battery-quarter:before { 2415 | content: "\f243"; 2416 | } 2417 | 2418 | .fa-battery-0:before, 2419 | .fa-battery-empty:before { 2420 | content: "\f244"; 2421 | } 2422 | 2423 | .fa-mouse-pointer:before { 2424 | content: "\f245"; 2425 | } 2426 | 2427 | .fa-i-cursor:before { 2428 | content: "\f246"; 2429 | } 2430 | 2431 | .fa-object-group:before { 2432 | content: "\f247"; 2433 | } 2434 | 2435 | .fa-object-ungroup:before { 2436 | content: "\f248"; 2437 | } 2438 | 2439 | .fa-sticky-note:before { 2440 | content: "\f249"; 2441 | } 2442 | 2443 | .fa-sticky-note-o:before { 2444 | content: "\f24a"; 2445 | } 2446 | 2447 | .fa-cc-jcb:before { 2448 | content: "\f24b"; 2449 | } 2450 | 2451 | .fa-cc-diners-club:before { 2452 | content: "\f24c"; 2453 | } 2454 | 2455 | .fa-clone:before { 2456 | content: "\f24d"; 2457 | } 2458 | 2459 | .fa-balance-scale:before { 2460 | content: "\f24e"; 2461 | } 2462 | 2463 | .fa-hourglass-o:before { 2464 | content: "\f250"; 2465 | } 2466 | 2467 | .fa-hourglass-1:before, 2468 | .fa-hourglass-start:before { 2469 | content: "\f251"; 2470 | } 2471 | 2472 | .fa-hourglass-2:before, 2473 | .fa-hourglass-half:before { 2474 | content: "\f252"; 2475 | } 2476 | 2477 | .fa-hourglass-3:before, 2478 | .fa-hourglass-end:before { 2479 | content: "\f253"; 2480 | } 2481 | 2482 | .fa-hourglass:before { 2483 | content: "\f254"; 2484 | } 2485 | 2486 | .fa-hand-grab-o:before, 2487 | .fa-hand-rock-o:before { 2488 | content: "\f255"; 2489 | } 2490 | 2491 | .fa-hand-stop-o:before, 2492 | .fa-hand-paper-o:before { 2493 | content: "\f256"; 2494 | } 2495 | 2496 | .fa-hand-scissors-o:before { 2497 | content: "\f257"; 2498 | } 2499 | 2500 | .fa-hand-lizard-o:before { 2501 | content: "\f258"; 2502 | } 2503 | 2504 | .fa-hand-spock-o:before { 2505 | content: "\f259"; 2506 | } 2507 | 2508 | .fa-hand-pointer-o:before { 2509 | content: "\f25a"; 2510 | } 2511 | 2512 | .fa-hand-peace-o:before { 2513 | content: "\f25b"; 2514 | } 2515 | 2516 | .fa-trademark:before { 2517 | content: "\f25c"; 2518 | } 2519 | 2520 | .fa-registered:before { 2521 | content: "\f25d"; 2522 | } 2523 | 2524 | .fa-creative-commons:before { 2525 | content: "\f25e"; 2526 | } 2527 | 2528 | .fa-gg:before { 2529 | content: "\f260"; 2530 | } 2531 | 2532 | .fa-gg-circle:before { 2533 | content: "\f261"; 2534 | } 2535 | 2536 | .fa-tripadvisor:before { 2537 | content: "\f262"; 2538 | } 2539 | 2540 | .fa-odnoklassniki:before { 2541 | content: "\f263"; 2542 | } 2543 | 2544 | .fa-odnoklassniki-square:before { 2545 | content: "\f264"; 2546 | } 2547 | 2548 | .fa-get-pocket:before { 2549 | content: "\f265"; 2550 | } 2551 | 2552 | .fa-wikipedia-w:before { 2553 | content: "\f266"; 2554 | } 2555 | 2556 | .fa-safari:before { 2557 | content: "\f267"; 2558 | } 2559 | 2560 | .fa-chrome:before { 2561 | content: "\f268"; 2562 | } 2563 | 2564 | .fa-firefox:before { 2565 | content: "\f269"; 2566 | } 2567 | 2568 | .fa-opera:before { 2569 | content: "\f26a"; 2570 | } 2571 | 2572 | .fa-internet-explorer:before { 2573 | content: "\f26b"; 2574 | } 2575 | 2576 | .fa-tv:before, 2577 | .fa-television:before { 2578 | content: "\f26c"; 2579 | } 2580 | 2581 | .fa-contao:before { 2582 | content: "\f26d"; 2583 | } 2584 | 2585 | .fa-500px:before { 2586 | content: "\f26e"; 2587 | } 2588 | 2589 | .fa-amazon:before { 2590 | content: "\f270"; 2591 | } 2592 | 2593 | .fa-calendar-plus-o:before { 2594 | content: "\f271"; 2595 | } 2596 | 2597 | .fa-calendar-minus-o:before { 2598 | content: "\f272"; 2599 | } 2600 | 2601 | .fa-calendar-times-o:before { 2602 | content: "\f273"; 2603 | } 2604 | 2605 | .fa-calendar-check-o:before { 2606 | content: "\f274"; 2607 | } 2608 | 2609 | .fa-industry:before { 2610 | content: "\f275"; 2611 | } 2612 | 2613 | .fa-map-pin:before { 2614 | content: "\f276"; 2615 | } 2616 | 2617 | .fa-map-signs:before { 2618 | content: "\f277"; 2619 | } 2620 | 2621 | .fa-map-o:before { 2622 | content: "\f278"; 2623 | } 2624 | 2625 | .fa-map:before { 2626 | content: "\f279"; 2627 | } 2628 | 2629 | .fa-commenting:before { 2630 | content: "\f27a"; 2631 | } 2632 | 2633 | .fa-commenting-o:before { 2634 | content: "\f27b"; 2635 | } 2636 | 2637 | .fa-houzz:before { 2638 | content: "\f27c"; 2639 | } 2640 | 2641 | .fa-vimeo:before { 2642 | content: "\f27d"; 2643 | } 2644 | 2645 | .fa-black-tie:before { 2646 | content: "\f27e"; 2647 | } 2648 | 2649 | .fa-fonticons:before { 2650 | content: "\f280"; 2651 | } 2652 | 2653 | .fa-reddit-alien:before { 2654 | content: "\f281"; 2655 | } 2656 | 2657 | .fa-edge:before { 2658 | content: "\f282"; 2659 | } 2660 | 2661 | .fa-credit-card-alt:before { 2662 | content: "\f283"; 2663 | } 2664 | 2665 | .fa-codiepie:before { 2666 | content: "\f284"; 2667 | } 2668 | 2669 | .fa-modx:before { 2670 | content: "\f285"; 2671 | } 2672 | 2673 | .fa-fort-awesome:before { 2674 | content: "\f286"; 2675 | } 2676 | 2677 | .fa-usb:before { 2678 | content: "\f287"; 2679 | } 2680 | 2681 | .fa-product-hunt:before { 2682 | content: "\f288"; 2683 | } 2684 | 2685 | .fa-mixcloud:before { 2686 | content: "\f289"; 2687 | } 2688 | 2689 | .fa-scribd:before { 2690 | content: "\f28a"; 2691 | } 2692 | 2693 | .fa-pause-circle:before { 2694 | content: "\f28b"; 2695 | } 2696 | 2697 | .fa-pause-circle-o:before { 2698 | content: "\f28c"; 2699 | } 2700 | 2701 | .fa-stop-circle:before { 2702 | content: "\f28d"; 2703 | } 2704 | 2705 | .fa-stop-circle-o:before { 2706 | content: "\f28e"; 2707 | } 2708 | 2709 | .fa-shopping-bag:before { 2710 | content: "\f290"; 2711 | } 2712 | 2713 | .fa-shopping-basket:before { 2714 | content: "\f291"; 2715 | } 2716 | 2717 | .fa-hashtag:before { 2718 | content: "\f292"; 2719 | } 2720 | 2721 | .fa-bluetooth:before { 2722 | content: "\f293"; 2723 | } 2724 | 2725 | .fa-bluetooth-b:before { 2726 | content: "\f294"; 2727 | } 2728 | 2729 | .fa-percent:before { 2730 | content: "\f295"; 2731 | } 2732 | 2733 | .fa-gitlab:before { 2734 | content: "\f296"; 2735 | } 2736 | 2737 | .fa-wpbeginner:before { 2738 | content: "\f297"; 2739 | } 2740 | 2741 | .fa-wpforms:before { 2742 | content: "\f298"; 2743 | } 2744 | 2745 | .fa-envira:before { 2746 | content: "\f299"; 2747 | } 2748 | 2749 | .fa-universal-access:before { 2750 | content: "\f29a"; 2751 | } 2752 | 2753 | .fa-wheelchair-alt:before { 2754 | content: "\f29b"; 2755 | } 2756 | 2757 | .fa-question-circle-o:before { 2758 | content: "\f29c"; 2759 | } 2760 | 2761 | .fa-blind:before { 2762 | content: "\f29d"; 2763 | } 2764 | 2765 | .fa-audio-description:before { 2766 | content: "\f29e"; 2767 | } 2768 | 2769 | .fa-volume-control-phone:before { 2770 | content: "\f2a0"; 2771 | } 2772 | 2773 | .fa-braille:before { 2774 | content: "\f2a1"; 2775 | } 2776 | 2777 | .fa-assistive-listening-systems:before { 2778 | content: "\f2a2"; 2779 | } 2780 | 2781 | .fa-asl-interpreting:before, 2782 | .fa-american-sign-language-interpreting:before { 2783 | content: "\f2a3"; 2784 | } 2785 | 2786 | .fa-deafness:before, 2787 | .fa-hard-of-hearing:before, 2788 | .fa-deaf:before { 2789 | content: "\f2a4"; 2790 | } 2791 | 2792 | .fa-glide:before { 2793 | content: "\f2a5"; 2794 | } 2795 | 2796 | .fa-glide-g:before { 2797 | content: "\f2a6"; 2798 | } 2799 | 2800 | .fa-signing:before, 2801 | .fa-sign-language:before { 2802 | content: "\f2a7"; 2803 | } 2804 | 2805 | .fa-low-vision:before { 2806 | content: "\f2a8"; 2807 | } 2808 | 2809 | .fa-viadeo:before { 2810 | content: "\f2a9"; 2811 | } 2812 | 2813 | .fa-viadeo-square:before { 2814 | content: "\f2aa"; 2815 | } 2816 | 2817 | .fa-snapchat:before { 2818 | content: "\f2ab"; 2819 | } 2820 | 2821 | .fa-snapchat-ghost:before { 2822 | content: "\f2ac"; 2823 | } 2824 | 2825 | .fa-snapchat-square:before { 2826 | content: "\f2ad"; 2827 | } 2828 | 2829 | .fa-pied-piper:before { 2830 | content: "\f2ae"; 2831 | } 2832 | 2833 | .fa-first-order:before { 2834 | content: "\f2b0"; 2835 | } 2836 | 2837 | .fa-yoast:before { 2838 | content: "\f2b1"; 2839 | } 2840 | 2841 | .fa-themeisle:before { 2842 | content: "\f2b2"; 2843 | } 2844 | 2845 | .fa-google-plus-circle:before, 2846 | .fa-google-plus-official:before { 2847 | content: "\f2b3"; 2848 | } 2849 | 2850 | .fa-fa:before, 2851 | .fa-font-awesome:before { 2852 | content: "\f2b4"; 2853 | } 2854 | 2855 | .fa-handshake-o:before { 2856 | content: "\f2b5"; 2857 | } 2858 | 2859 | .fa-envelope-open:before { 2860 | content: "\f2b6"; 2861 | } 2862 | 2863 | .fa-envelope-open-o:before { 2864 | content: "\f2b7"; 2865 | } 2866 | 2867 | .fa-linode:before { 2868 | content: "\f2b8"; 2869 | } 2870 | 2871 | .fa-address-book:before { 2872 | content: "\f2b9"; 2873 | } 2874 | 2875 | .fa-address-book-o:before { 2876 | content: "\f2ba"; 2877 | } 2878 | 2879 | .fa-vcard:before, 2880 | .fa-address-card:before { 2881 | content: "\f2bb"; 2882 | } 2883 | 2884 | .fa-vcard-o:before, 2885 | .fa-address-card-o:before { 2886 | content: "\f2bc"; 2887 | } 2888 | 2889 | .fa-user-circle:before { 2890 | content: "\f2bd"; 2891 | } 2892 | 2893 | .fa-user-circle-o:before { 2894 | content: "\f2be"; 2895 | } 2896 | 2897 | .fa-user-o:before { 2898 | content: "\f2c0"; 2899 | } 2900 | 2901 | .fa-id-badge:before { 2902 | content: "\f2c1"; 2903 | } 2904 | 2905 | .fa-drivers-license:before, 2906 | .fa-id-card:before { 2907 | content: "\f2c2"; 2908 | } 2909 | 2910 | .fa-drivers-license-o:before, 2911 | .fa-id-card-o:before { 2912 | content: "\f2c3"; 2913 | } 2914 | 2915 | .fa-quora:before { 2916 | content: "\f2c4"; 2917 | } 2918 | 2919 | .fa-free-code-camp:before { 2920 | content: "\f2c5"; 2921 | } 2922 | 2923 | .fa-telegram:before { 2924 | content: "\f2c6"; 2925 | } 2926 | 2927 | .fa-thermometer-4:before, 2928 | .fa-thermometer:before, 2929 | .fa-thermometer-full:before { 2930 | content: "\f2c7"; 2931 | } 2932 | 2933 | .fa-thermometer-3:before, 2934 | .fa-thermometer-three-quarters:before { 2935 | content: "\f2c8"; 2936 | } 2937 | 2938 | .fa-thermometer-2:before, 2939 | .fa-thermometer-half:before { 2940 | content: "\f2c9"; 2941 | } 2942 | 2943 | .fa-thermometer-1:before, 2944 | .fa-thermometer-quarter:before { 2945 | content: "\f2ca"; 2946 | } 2947 | 2948 | .fa-thermometer-0:before, 2949 | .fa-thermometer-empty:before { 2950 | content: "\f2cb"; 2951 | } 2952 | 2953 | .fa-shower:before { 2954 | content: "\f2cc"; 2955 | } 2956 | 2957 | .fa-bathtub:before, 2958 | .fa-s15:before, 2959 | .fa-bath:before { 2960 | content: "\f2cd"; 2961 | } 2962 | 2963 | .fa-podcast:before { 2964 | content: "\f2ce"; 2965 | } 2966 | 2967 | .fa-window-maximize:before { 2968 | content: "\f2d0"; 2969 | } 2970 | 2971 | .fa-window-minimize:before { 2972 | content: "\f2d1"; 2973 | } 2974 | 2975 | .fa-window-restore:before { 2976 | content: "\f2d2"; 2977 | } 2978 | 2979 | .fa-times-rectangle:before, 2980 | .fa-window-close:before { 2981 | content: "\f2d3"; 2982 | } 2983 | 2984 | .fa-times-rectangle-o:before, 2985 | .fa-window-close-o:before { 2986 | content: "\f2d4"; 2987 | } 2988 | 2989 | .fa-bandcamp:before { 2990 | content: "\f2d5"; 2991 | } 2992 | 2993 | .fa-grav:before { 2994 | content: "\f2d6"; 2995 | } 2996 | 2997 | .fa-etsy:before { 2998 | content: "\f2d7"; 2999 | } 3000 | 3001 | .fa-imdb:before { 3002 | content: "\f2d8"; 3003 | } 3004 | 3005 | .fa-ravelry:before { 3006 | content: "\f2d9"; 3007 | } 3008 | 3009 | .fa-eercast:before { 3010 | content: "\f2da"; 3011 | } 3012 | 3013 | .fa-microchip:before { 3014 | content: "\f2db"; 3015 | } 3016 | 3017 | .fa-snowflake-o:before { 3018 | content: "\f2dc"; 3019 | } 3020 | 3021 | .fa-superpowers:before { 3022 | content: "\f2dd"; 3023 | } 3024 | 3025 | .fa-wpexplorer:before { 3026 | content: "\f2de"; 3027 | } 3028 | 3029 | .fa-meetup:before { 3030 | content: "\f2e0"; 3031 | } 3032 | 3033 | .sr-only { 3034 | position: absolute; 3035 | overflow: hidden; 3036 | clip: rect(0, 0, 0, 0); 3037 | margin: -1px; 3038 | padding: 0; 3039 | width: 1px; 3040 | height: 1px; 3041 | border: 0; 3042 | } 3043 | 3044 | .sr-only-focusable:active, 3045 | .sr-only-focusable:focus { 3046 | position: static; 3047 | overflow: visible; 3048 | clip: auto; 3049 | margin: 0; 3050 | width: auto; 3051 | height: auto; 3052 | } -------------------------------------------------------------------------------- /assets/styles/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Mrcxt/gridea-theme-lemon/5762194af89a611454b186af6f37538efa79501e/assets/styles/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /assets/styles/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Mrcxt/gridea-theme-lemon/5762194af89a611454b186af6f37538efa79501e/assets/styles/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /assets/styles/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Mrcxt/gridea-theme-lemon/5762194af89a611454b186af6f37538efa79501e/assets/styles/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /assets/styles/fonts/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Mrcxt/gridea-theme-lemon/5762194af89a611454b186af6f37538efa79501e/assets/styles/fonts/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /assets/styles/lib/github.less: -------------------------------------------------------------------------------- 1 | .hljs { 2 | display: block; 3 | overflow-x: auto; 4 | padding: 0.5em; 5 | color: #333; 6 | background: #f8f8f8; 7 | } 8 | 9 | .hljs-comment, 10 | .hljs-quote { 11 | color: #998; 12 | font-style: italic; 13 | } 14 | 15 | .hljs-keyword, 16 | .hljs-selector-tag, 17 | .hljs-subst { 18 | color: #333; 19 | font-weight: bold; 20 | } 21 | 22 | .hljs-number, 23 | .hljs-literal, 24 | .hljs-variable, 25 | .hljs-template-variable, 26 | .hljs-tag .hljs-attr { 27 | color: #008080; 28 | } 29 | 30 | .hljs-string, 31 | .hljs-doctag { 32 | color: #d14; 33 | } 34 | 35 | .hljs-title, 36 | .hljs-section, 37 | .hljs-selector-id { 38 | color: #900; 39 | font-weight: bold; 40 | } 41 | 42 | .hljs-subst { 43 | font-weight: normal; 44 | } 45 | 46 | .hljs-type, 47 | .hljs-class .hljs-title { 48 | color: #458; 49 | font-weight: bold; 50 | } 51 | 52 | .hljs-tag, 53 | .hljs-name, 54 | .hljs-attribute { 55 | color: #000080; 56 | font-weight: normal; 57 | } 58 | 59 | .hljs-regexp, 60 | .hljs-link { 61 | color: #009926; 62 | } 63 | 64 | .hljs-symbol, 65 | .hljs-bullet { 66 | color: #990073; 67 | } 68 | 69 | .hljs-built_in, 70 | .hljs-builtin-name { 71 | color: #0086b3; 72 | } 73 | 74 | .hljs-meta { 75 | color: #999; 76 | font-weight: bold; 77 | } 78 | 79 | .hljs-deletion { 80 | background: #fdd; 81 | } 82 | 83 | .hljs-addition { 84 | background: #dfd; 85 | } 86 | 87 | .hljs-emphasis { 88 | font-style: italic; 89 | } 90 | 91 | .hljs-strong { 92 | font-weight: bold; 93 | } 94 | -------------------------------------------------------------------------------- /assets/styles/main.less: -------------------------------------------------------------------------------- 1 | @import './common/index.less'; 2 | 3 | body { 4 | display: flex; 5 | background-color: @body-background; 6 | } 7 | 8 | .main { 9 | display: flex; 10 | flex: 1; 11 | flex-direction: column; 12 | padding-top: 80px; 13 | width: 100%; 14 | 15 | .main-container { 16 | display: flex; 17 | flex: 1; 18 | margin: 0 auto; 19 | width: 960px; 20 | 21 | .main-container-left { 22 | flex: 1; 23 | max-width: 660px; 24 | 25 | } 26 | 27 | .main-container-middle { 28 | flex-shrink: 0; 29 | width: 20px; 30 | 31 | } 32 | 33 | .main-container-right { 34 | flex-shrink: 0; 35 | width: 280px; 36 | 37 | } 38 | } 39 | } 40 | 41 | @media (max-width:960px) { 42 | .main { 43 | .main-container { 44 | flex-direction: column; 45 | justify-content: flex-start; 46 | padding: 0 20px; 47 | width: 100%; 48 | 49 | .main-container-left { 50 | max-width: 100%; 51 | } 52 | 53 | .main-container-middle { 54 | display: none; 55 | 56 | } 57 | 58 | .main-container-right { 59 | display: none 60 | } 61 | } 62 | } 63 | 64 | } 65 | 66 | 67 | @import './components/header.less'; 68 | @import './components/home.less'; 69 | @import './components/footer.less'; 70 | @import './components/pagination.less'; 71 | 72 | @import './components/archives.less'; 73 | @import './components/tags.less'; 74 | @import './components/post.less'; 75 | 76 | 77 | // cards 78 | @import './components/cards/id-card.less'; 79 | @import './components/cards/notice-card.less'; 80 | @import './components/cards/toc-card.less'; -------------------------------------------------------------------------------- /config.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Lemon", 3 | "version": "1.0.0", 4 | "author": "虾哔哔", 5 | "repository": "https://github.com/Mrcxt/gridea-theme-lemon", 6 | "customConfig": [{ 7 | "name": "github", 8 | "label": "Github", 9 | "group": "社交", 10 | "value": "", 11 | "type": "input", 12 | "note": "链接地址" 13 | }, 14 | { 15 | "name": "twitter", 16 | "label": "Twitter", 17 | "group": "社交", 18 | "value": "", 19 | "type": "input", 20 | "note": "链接地址" 21 | }, 22 | { 23 | "name": "weibo", 24 | "label": "微博", 25 | "group": "社交", 26 | "value": "", 27 | "type": "input", 28 | "note": "链接地址" 29 | }, 30 | { 31 | "name": "facebook", 32 | "label": "Facebook", 33 | "group": "社交", 34 | "value": "", 35 | "type": "input", 36 | "note": "链接地址" 37 | }, 38 | { 39 | "name": "ga", 40 | "label": "跟踪 ID", 41 | "group": "谷歌统计", 42 | "value": "", 43 | "type": "input", 44 | "note": "UA-xxxxxxxxx-x" 45 | }, { 46 | "name": "notice", 47 | "label": "公告栏", 48 | "group": "侧边栏", 49 | "value": "", 50 | "type": "textarea", 51 | "note": "不填写则不显示" 52 | } 53 | ] 54 | } -------------------------------------------------------------------------------- /favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Mrcxt/gridea-theme-lemon/5762194af89a611454b186af6f37538efa79501e/favicon.ico -------------------------------------------------------------------------------- /gulpfile.js: -------------------------------------------------------------------------------- 1 | const gulp = require('gulp') 2 | const nodemon = require('gulp-nodemon') 3 | const browserSync = require('browser-sync').create() 4 | const less = require('gulp-less') 5 | 6 | gulp.task('less', () => { 7 | return gulp.src('./assets/styles/main.less') 8 | .pipe(less()) 9 | .pipe(gulp.dest('./styles')) 10 | }) 11 | 12 | gulp.task('copy_media', () => { 13 | return gulp.src('./assets/media/**/*') 14 | .pipe(gulp.dest('./media')) 15 | }) 16 | 17 | gulp.task('gulp_nodemon', () => { 18 | nodemon({ 19 | script: 'app.js' // this is where my express server is 20 | , ext: 'js html css ejs less' // nodemon watches *.js, *.html, *.css, *.ejs, *.less files 21 | , env: { 'NODE_ENV': 'development' } 22 | }) 23 | }) 24 | 25 | gulp.task('sync', () => { 26 | browserSync.init({ 27 | port: 3002, // this can be any port, it will show our app 28 | proxy: 'http://localhost:3001/', // this is the port where express server works 29 | ui: { port: 3003 }, // UI, can be any port 30 | reloadDelay: 1000 // Important, otherwise syncing will not work 31 | }) 32 | 33 | gulp.watch([ 34 | './assets/media/**/*' 35 | ]).on('change', () => { 36 | return gulp.src('./assets/media/**/*') 37 | .pipe(gulp.dest('./media')) 38 | }) 39 | 40 | gulp.watch([ 41 | './**/*.less', 42 | ]).on('change', () => { 43 | return gulp.src('./assets/styles/main.less') 44 | .pipe(less()) 45 | .pipe(gulp.dest('./styles')) 46 | }) 47 | 48 | gulp.watch([ 49 | './**/*.js', 50 | './**/*.html', 51 | './**/*.css', 52 | './**/*.ejs' 53 | ]).on("change", browserSync.reload) 54 | }); 55 | 56 | // gulp.task('default', ['gulp_nodemon', 'sync']) 57 | gulp.task('default', gulp.parallel('gulp_nodemon', 'copy_media', 'less', 'sync')) 58 | -------------------------------------------------------------------------------- /images/README.md: -------------------------------------------------------------------------------- 1 | images: 仅为开发主题时预览 avatar 所用 2 | -------------------------------------------------------------------------------- /images/archives.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Mrcxt/gridea-theme-lemon/5762194af89a611454b186af6f37538efa79501e/images/archives.png -------------------------------------------------------------------------------- /images/avatar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Mrcxt/gridea-theme-lemon/5762194af89a611454b186af6f37538efa79501e/images/avatar.png -------------------------------------------------------------------------------- /images/home.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Mrcxt/gridea-theme-lemon/5762194af89a611454b186af6f37538efa79501e/images/home.png -------------------------------------------------------------------------------- /images/post.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Mrcxt/gridea-theme-lemon/5762194af89a611454b186af6f37538efa79501e/images/post.png -------------------------------------------------------------------------------- /images/tags.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Mrcxt/gridea-theme-lemon/5762194af89a611454b186af6f37538efa79501e/images/tags.png -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "gridea-theme-notes", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "index.js", 6 | "scripts": { 7 | "dev": "./node_modules/.bin/gulp", 8 | "serve": "nodemon --watch templates --watch assets -e js,ejs,less,css app.js", 9 | "test": "echo \"Error: no test specified\" && exit 1" 10 | }, 11 | "author": "", 12 | "license": "ISC", 13 | "dependencies": { 14 | "ejs": "^2.6.1", 15 | "express": "^4.16.4" 16 | }, 17 | "devDependencies": { 18 | "axios": "^0.18.0", 19 | "browser-sync": "^2.26.3", 20 | "gulp": "^4.0.0", 21 | "gulp-less": "^4.0.1", 22 | "gulp-nodemon": "^2.4.2", 23 | "nodemon": "^1.18.11" 24 | }, 25 | "nodemonConfig": { 26 | "ignore": [ 27 | "test/*", 28 | "docs/*" 29 | ], 30 | "delay": "2500" 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /templates/archives.ejs: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | <%- include('./includes/head', { siteTitle: themeConfig.siteName }) %> 5 | 6 | 7 | 8 |
9 | <%- include('./includes/header') %> 10 | 11 | <%- include('./includes/post-list-archives') %> 12 | 13 | <%- include('./includes/pagination') %> 14 | 15 | <%- include('./includes/footer') %> 16 |
17 | 18 | 19 | -------------------------------------------------------------------------------- /templates/includes/cards/id-card.ejs: -------------------------------------------------------------------------------- 1 | <%# if(typeof site.customConfig.id_card === 'undefined'&& site.customConfig.id_card){ %> 2 |
3 |
4 |
5 |

6 | <%= themeConfig.siteName %> 7 |

8 |

9 | <%= themeConfig.siteDescription %> 10 |

11 | 12 |
13 | 14 | <% if(site.customConfig.github){ %> 15 | 17 | <%}%> 18 | 19 | <% if(site.customConfig.twitter){ %> 20 | 22 | <%}%> 23 | 24 | <% if(site.customConfig.weibo){ %> 25 | 27 | <%}%> 28 | 29 | <% if(site.customConfig.facebook){ %> 30 | 32 | <%}%> 33 | 34 |
35 |
36 | <%# } %> -------------------------------------------------------------------------------- /templates/includes/cards/notice-card.ejs: -------------------------------------------------------------------------------- 1 | <% if(typeof site.customConfig.notice !== 'undefined'&&site.customConfig.notice){ %> 2 |
3 |
公告
4 |
5 | <%- site.customConfig.notice %> 6 |
7 |
8 | <% } %> -------------------------------------------------------------------------------- /templates/includes/cards/toc-card.ejs: -------------------------------------------------------------------------------- 1 | <%# if(typeof site.customConfig.toc !== 'undefined'&&site.customConfig.toc){ %> 2 |
3 |
目录
4 |
5 | <%- post.toc %> 6 |
7 | 30 |
31 | <%# } %> -------------------------------------------------------------------------------- /templates/includes/disqus.ejs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /templates/includes/footer.ejs: -------------------------------------------------------------------------------- 1 | 5 | 6 | 9 | -------------------------------------------------------------------------------- /templates/includes/gitalk.ejs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /templates/includes/head.ejs: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | <%= siteTitle %> 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | <% if (site.customConfig.ga) { %> 19 | 20 | 30 | <% } %> -------------------------------------------------------------------------------- /templates/includes/header.ejs: -------------------------------------------------------------------------------- 1 |
2 | 34 |
35 | 36 | -------------------------------------------------------------------------------- /templates/includes/pagination.ejs: -------------------------------------------------------------------------------- 1 | <% if (pagination.prev ||pagination.next) { %> 2 |
3 | <% if (pagination.prev) { %> 4 | 上一页 5 | <% } %> 6 | <% if (pagination.next) { %> 7 | 下一页 8 | <% } %> 9 |
10 | <% } %> -------------------------------------------------------------------------------- /templates/includes/post-list-archives.ejs: -------------------------------------------------------------------------------- 1 | <% let years = []; posts.forEach((item) => { const year = item.date.substring(0, 4); if (!years.includes(year)) { years.push(year); } }); %> 2 | 3 |
4 |
    5 | <% years.forEach(function(year) { %> 6 |
  • 7 |

    8 | <%- year %> 9 |

    10 |
      11 | <% posts.forEach(function(post) { %> 12 | <%if (post.date.indexOf(year) !== -1) { %> 13 |
    • 14 | <%= post.dateFormat %> 15 | 16 | <%= post.title %> 17 | 18 |
    • 19 | <% } %> 20 | <% }); %> 21 |
    22 | 23 |
  • 24 | <% }); %> 25 |
26 |
-------------------------------------------------------------------------------- /templates/includes/post-list.ejs: -------------------------------------------------------------------------------- 1 | <% if(typeof currentTag !== 'undefined') {%> 2 |
3 | 标签:# 4 | <%= currentTag %> 5 |
6 | <%}%> 7 | <% posts.map(function(post) { %> 8 |
9 |

10 | 11 | <%= post.title %> 12 | 13 |

14 | 23 |
24 | <% if (themeConfig.showFeatureImage && post.feature) { %> 25 | 26 | 27 | <% } %> 28 |
29 | <% if (post.abstract) {%> 30 |
31 | <%- post.abstract %> 32 |
33 | <%}else{ %> 34 |
35 | <%= post.content.replace(/<[^>]+>/g,"") %> 36 |
37 | <%} %> 38 | Read More ~ 39 |
40 |
41 |
42 | <% }); %> 43 | 44 | <%- include('./pagination') %> -------------------------------------------------------------------------------- /templates/index.ejs: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | <%- include('./includes/head', { siteTitle: themeConfig.siteName }) %> 5 | 6 | 7 | 8 |
9 | <%- include('./includes/header') %> 10 | 11 |
12 |
13 | <%- include('./includes/post-list') %> 14 |
15 | 16 |
17 | 18 | 27 |
28 | 29 | 30 | 31 | <%- include('./includes/footer') %> 32 |
33 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /templates/post.ejs: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | <%- include('./includes/head', { siteTitle: `${post.title} | ${themeConfig.siteName}` }) %> 5 | <% if (typeof commentSetting !== 'undefined' && commentSetting.showComment) { %> 6 | <% if (commentSetting.commentPlatform === 'gitalk') { %> 7 | 8 | 9 | <% } %> 10 | 11 | <% if (commentSetting.commentPlatform === 'disqus') { %> 12 | 13 | 14 | <% } %> 15 | <% } %> 16 | 17 | 18 | 19 |
20 | <%- include('./includes/header') %> 21 | 22 |
23 | 24 |
25 |
26 |

27 | <%= post.title %> 28 |

29 | 38 | <% if (themeConfig.showFeatureImage && post.feature) { %> 39 |
40 | <% } %> 41 |
42 | <%- post.content %> 43 |
44 |
45 | 46 | <% if (post.nextPost && !post.hideInList) { %> 47 | 55 | <% } %> 56 |
57 |
58 |
59 | 60 |
61 | 62 | 72 | 73 | 74 | 75 | 76 |
77 | 78 | 79 | <%- include('./includes/footer') %> 80 | 81 |
82 | 88 | <% if (typeof commentSetting !== 'undefined' && commentSetting.showComment) { %> 89 | <% if (commentSetting.commentPlatform === 'gitalk') { %> 90 | <%- include('./includes/gitalk') %> 91 | <% } %> 92 | 93 | <% if (commentSetting.commentPlatform === 'disqus') { %> 94 | <%- include('./includes/disqus') %> 95 | <% } %> 96 | <% } %> 97 | 98 | 99 | -------------------------------------------------------------------------------- /templates/tag.ejs: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | <%- include('./includes/head', { siteTitle: `${tag.name} | ${themeConfig.siteName}` }) %> 5 | 6 | 7 | 8 |
9 | <%- include('./includes/header') %> 10 | 11 |
12 |
13 | <%- include('./includes/post-list',{currentTag:`${tag.name}`}) %> 14 |
15 | 16 |
17 | 18 | 27 |
28 | 29 | 30 | 31 | <%- include('./includes/footer') %> 32 |
33 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /templates/tags.ejs: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | <%- include('./includes/head', { siteTitle: themeConfig.siteName }) %> 5 | 6 | 7 | 8 |
9 | <%- include('./includes/header') %> 10 | 11 |
12 |
13 | <% tags.forEach((tag) => { %> 14 | 16 | <%= tag.name %> 17 | 18 | <% }); %> 19 |
20 |
21 | 22 | <%- include('./includes/footer') %> 23 |
24 | 25 | 26 | --------------------------------------------------------------------------------