├── .idea ├── gridea-theme-subtle-galaxy.iml ├── misc.xml ├── modules.xml ├── vcs.xml └── workspace.xml ├── LICENSE ├── README.md ├── sg_01.jpg ├── sg_02.jpg ├── sg_03.jpg ├── sg_04.jpg └── subtle-galaxy ├── .idea ├── misc.xml ├── modules.xml ├── subtle-galaxy.iml └── workspace.xml ├── assets ├── media │ ├── fonts │ │ ├── icomoon.eot │ │ ├── icomoon.svg │ │ ├── icomoon.ttf │ │ └── icomoon.woff │ ├── images │ │ ├── avatar.png │ │ └── home-cover.jpg │ └── scripts │ │ └── _core │ │ ├── custom.js │ │ └── plugins.js └── styles │ ├── _blocks │ ├── archives.less │ ├── post.less │ ├── tags.less │ └── tomorrowNight.less │ ├── _core │ └── style.less │ └── main.less ├── config.json ├── style-override.js └── templates ├── _blocks ├── comment.ejs ├── footer.ejs ├── head.ejs ├── header.ejs ├── pagination.ejs └── scripts.ejs ├── archives.ejs ├── index.ejs ├── post.ejs ├── tag.ejs └── tags.ejs /.idea/gridea-theme-subtle-galaxy.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | -------------------------------------------------------------------------------- /.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.idea/workspace.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 12 | 13 | 18 | 19 | 20 | 22 | 23 | 28 | 29 | 30 | 31 | 32 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 1572330073659 60 | 73 | 74 | 75 | 76 | 78 | 79 | 88 | 90 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Mozilla Public License Version 2.0 2 | ================================== 3 | 4 | 1. Definitions 5 | -------------- 6 | 7 | 1.1. "Contributor" 8 | means each individual or legal entity that creates, contributes to 9 | the creation of, or owns Covered Software. 10 | 11 | 1.2. "Contributor Version" 12 | means the combination of the Contributions of others (if any) used 13 | by a Contributor and that particular Contributor's Contribution. 14 | 15 | 1.3. "Contribution" 16 | means Covered Software of a particular Contributor. 17 | 18 | 1.4. "Covered Software" 19 | means Source Code Form to which the initial Contributor has attached 20 | the notice in Exhibit A, the Executable Form of such Source Code 21 | Form, and Modifications of such Source Code Form, in each case 22 | including portions thereof. 23 | 24 | 1.5. "Incompatible With Secondary Licenses" 25 | means 26 | 27 | (a) that the initial Contributor has attached the notice described 28 | in Exhibit B to the Covered Software; or 29 | 30 | (b) that the Covered Software was made available under the terms of 31 | version 1.1 or earlier of the License, but not also under the 32 | terms of a Secondary License. 33 | 34 | 1.6. "Executable Form" 35 | means any form of the work other than Source Code Form. 36 | 37 | 1.7. "Larger Work" 38 | means a work that combines Covered Software with other material, in 39 | a separate file or files, that is not Covered Software. 40 | 41 | 1.8. "License" 42 | means this document. 43 | 44 | 1.9. "Licensable" 45 | means having the right to grant, to the maximum extent possible, 46 | whether at the time of the initial grant or subsequently, any and 47 | all of the rights conveyed by this License. 48 | 49 | 1.10. "Modifications" 50 | means any of the following: 51 | 52 | (a) any file in Source Code Form that results from an addition to, 53 | deletion from, or modification of the contents of Covered 54 | Software; or 55 | 56 | (b) any new file in Source Code Form that contains any Covered 57 | Software. 58 | 59 | 1.11. "Patent Claims" of a Contributor 60 | means any patent claim(s), including without limitation, method, 61 | process, and apparatus claims, in any patent Licensable by such 62 | Contributor that would be infringed, but for the grant of the 63 | License, by the making, using, selling, offering for sale, having 64 | made, import, or transfer of either its Contributions or its 65 | Contributor Version. 66 | 67 | 1.12. "Secondary License" 68 | means either the GNU General Public License, Version 2.0, the GNU 69 | Lesser General Public License, Version 2.1, the GNU Affero General 70 | Public License, Version 3.0, or any later versions of those 71 | licenses. 72 | 73 | 1.13. "Source Code Form" 74 | means the form of the work preferred for making modifications. 75 | 76 | 1.14. "You" (or "Your") 77 | means an individual or a legal entity exercising rights under this 78 | License. For legal entities, "You" includes any entity that 79 | controls, is controlled by, or is under common control with You. For 80 | purposes of this definition, "control" means (a) the power, direct 81 | or indirect, to cause the direction or management of such entity, 82 | whether by contract or otherwise, or (b) ownership of more than 83 | fifty percent (50%) of the outstanding shares or beneficial 84 | ownership of such entity. 85 | 86 | 2. License Grants and Conditions 87 | -------------------------------- 88 | 89 | 2.1. Grants 90 | 91 | Each Contributor hereby grants You a world-wide, royalty-free, 92 | non-exclusive license: 93 | 94 | (a) under intellectual property rights (other than patent or trademark) 95 | Licensable by such Contributor to use, reproduce, make available, 96 | modify, display, perform, distribute, and otherwise exploit its 97 | Contributions, either on an unmodified basis, with Modifications, or 98 | as part of a Larger Work; and 99 | 100 | (b) under Patent Claims of such Contributor to make, use, sell, offer 101 | for sale, have made, import, and otherwise transfer either its 102 | Contributions or its Contributor Version. 103 | 104 | 2.2. Effective Date 105 | 106 | The licenses granted in Section 2.1 with respect to any Contribution 107 | become effective for each Contribution on the date the Contributor first 108 | distributes such Contribution. 109 | 110 | 2.3. Limitations on Grant Scope 111 | 112 | The licenses granted in this Section 2 are the only rights granted under 113 | this License. No additional rights or licenses will be implied from the 114 | distribution or licensing of Covered Software under this License. 115 | Notwithstanding Section 2.1(b) above, no patent license is granted by a 116 | Contributor: 117 | 118 | (a) for any code that a Contributor has removed from Covered Software; 119 | or 120 | 121 | (b) for infringements caused by: (i) Your and any other third party's 122 | modifications of Covered Software, or (ii) the combination of its 123 | Contributions with other software (except as part of its Contributor 124 | Version); or 125 | 126 | (c) under Patent Claims infringed by Covered Software in the absence of 127 | its Contributions. 128 | 129 | This License does not grant any rights in the trademarks, service marks, 130 | or logos of any Contributor (except as may be necessary to comply with 131 | the notice requirements in Section 3.4). 132 | 133 | 2.4. Subsequent Licenses 134 | 135 | No Contributor makes additional grants as a result of Your choice to 136 | distribute the Covered Software under a subsequent version of this 137 | License (see Section 10.2) or under the terms of a Secondary License (if 138 | permitted under the terms of Section 3.3). 139 | 140 | 2.5. Representation 141 | 142 | Each Contributor represents that the Contributor believes its 143 | Contributions are its original creation(s) or it has sufficient rights 144 | to grant the rights to its Contributions conveyed by this License. 145 | 146 | 2.6. Fair Use 147 | 148 | This License is not intended to limit any rights You have under 149 | applicable copyright doctrines of fair use, fair dealing, or other 150 | equivalents. 151 | 152 | 2.7. Conditions 153 | 154 | Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted 155 | in Section 2.1. 156 | 157 | 3. Responsibilities 158 | ------------------- 159 | 160 | 3.1. Distribution of Source Form 161 | 162 | All distribution of Covered Software in Source Code Form, including any 163 | Modifications that You create or to which You contribute, must be under 164 | the terms of this License. You must inform recipients that the Source 165 | Code Form of the Covered Software is governed by the terms of this 166 | License, and how they can obtain a copy of this License. You may not 167 | attempt to alter or restrict the recipients' rights in the Source Code 168 | Form. 169 | 170 | 3.2. Distribution of Executable Form 171 | 172 | If You distribute Covered Software in Executable Form then: 173 | 174 | (a) such Covered Software must also be made available in Source Code 175 | Form, as described in Section 3.1, and You must inform recipients of 176 | the Executable Form how they can obtain a copy of such Source Code 177 | Form by reasonable means in a timely manner, at a charge no more 178 | than the cost of distribution to the recipient; and 179 | 180 | (b) You may distribute such Executable Form under the terms of this 181 | License, or sublicense it under different terms, provided that the 182 | license for the Executable Form does not attempt to limit or alter 183 | the recipients' rights in the Source Code Form under this License. 184 | 185 | 3.3. Distribution of a Larger Work 186 | 187 | You may create and distribute a Larger Work under terms of Your choice, 188 | provided that You also comply with the requirements of this License for 189 | the Covered Software. If the Larger Work is a combination of Covered 190 | Software with a work governed by one or more Secondary Licenses, and the 191 | Covered Software is not Incompatible With Secondary Licenses, this 192 | License permits You to additionally distribute such Covered Software 193 | under the terms of such Secondary License(s), so that the recipient of 194 | the Larger Work may, at their option, further distribute the Covered 195 | Software under the terms of either this License or such Secondary 196 | License(s). 197 | 198 | 3.4. Notices 199 | 200 | You may not remove or alter the substance of any license notices 201 | (including copyright notices, patent notices, disclaimers of warranty, 202 | or limitations of liability) contained within the Source Code Form of 203 | the Covered Software, except that You may alter any license notices to 204 | the extent required to remedy known factual inaccuracies. 205 | 206 | 3.5. Application of Additional Terms 207 | 208 | You may choose to offer, and to charge a fee for, warranty, support, 209 | indemnity or liability obligations to one or more recipients of Covered 210 | Software. However, You may do so only on Your own behalf, and not on 211 | behalf of any Contributor. You must make it absolutely clear that any 212 | such warranty, support, indemnity, or liability obligation is offered by 213 | You alone, and You hereby agree to indemnify every Contributor for any 214 | liability incurred by such Contributor as a result of warranty, support, 215 | indemnity or liability terms You offer. You may include additional 216 | disclaimers of warranty and limitations of liability specific to any 217 | jurisdiction. 218 | 219 | 4. Inability to Comply Due to Statute or Regulation 220 | --------------------------------------------------- 221 | 222 | If it is impossible for You to comply with any of the terms of this 223 | License with respect to some or all of the Covered Software due to 224 | statute, judicial order, or regulation then You must: (a) comply with 225 | the terms of this License to the maximum extent possible; and (b) 226 | describe the limitations and the code they affect. Such description must 227 | be placed in a text file included with all distributions of the Covered 228 | Software under this License. Except to the extent prohibited by statute 229 | or regulation, such description must be sufficiently detailed for a 230 | recipient of ordinary skill to be able to understand it. 231 | 232 | 5. Termination 233 | -------------- 234 | 235 | 5.1. The rights granted under this License will terminate automatically 236 | if You fail to comply with any of its terms. However, if You become 237 | compliant, then the rights granted under this License from a particular 238 | Contributor are reinstated (a) provisionally, unless and until such 239 | Contributor explicitly and finally terminates Your grants, and (b) on an 240 | ongoing basis, if such Contributor fails to notify You of the 241 | non-compliance by some reasonable means prior to 60 days after You have 242 | come back into compliance. Moreover, Your grants from a particular 243 | Contributor are reinstated on an ongoing basis if such Contributor 244 | notifies You of the non-compliance by some reasonable means, this is the 245 | first time You have received notice of non-compliance with this License 246 | from such Contributor, and You become compliant prior to 30 days after 247 | Your receipt of the notice. 248 | 249 | 5.2. If You initiate litigation against any entity by asserting a patent 250 | infringement claim (excluding declaratory judgment actions, 251 | counter-claims, and cross-claims) alleging that a Contributor Version 252 | directly or indirectly infringes any patent, then the rights granted to 253 | You by any and all Contributors for the Covered Software under Section 254 | 2.1 of this License shall terminate. 255 | 256 | 5.3. In the event of termination under Sections 5.1 or 5.2 above, all 257 | end user license agreements (excluding distributors and resellers) which 258 | have been validly granted by You or Your distributors under this License 259 | prior to termination shall survive termination. 260 | 261 | ************************************************************************ 262 | * * 263 | * 6. Disclaimer of Warranty * 264 | * ------------------------- * 265 | * * 266 | * Covered Software is provided under this License on an "as is" * 267 | * basis, without warranty of any kind, either expressed, implied, or * 268 | * statutory, including, without limitation, warranties that the * 269 | * Covered Software is free of defects, merchantable, fit for a * 270 | * particular purpose or non-infringing. The entire risk as to the * 271 | * quality and performance of the Covered Software is with You. * 272 | * Should any Covered Software prove defective in any respect, You * 273 | * (not any Contributor) assume the cost of any necessary servicing, * 274 | * repair, or correction. This disclaimer of warranty constitutes an * 275 | * essential part of this License. No use of any Covered Software is * 276 | * authorized under this License except under this disclaimer. * 277 | * * 278 | ************************************************************************ 279 | 280 | ************************************************************************ 281 | * * 282 | * 7. Limitation of Liability * 283 | * -------------------------- * 284 | * * 285 | * Under no circumstances and under no legal theory, whether tort * 286 | * (including negligence), contract, or otherwise, shall any * 287 | * Contributor, or anyone who distributes Covered Software as * 288 | * permitted above, be liable to You for any direct, indirect, * 289 | * special, incidental, or consequential damages of any character * 290 | * including, without limitation, damages for lost profits, loss of * 291 | * goodwill, work stoppage, computer failure or malfunction, or any * 292 | * and all other commercial damages or losses, even if such party * 293 | * shall have been informed of the possibility of such damages. This * 294 | * limitation of liability shall not apply to liability for death or * 295 | * personal injury resulting from such party's negligence to the * 296 | * extent applicable law prohibits such limitation. Some * 297 | * jurisdictions do not allow the exclusion or limitation of * 298 | * incidental or consequential damages, so this exclusion and * 299 | * limitation may not apply to You. * 300 | * * 301 | ************************************************************************ 302 | 303 | 8. Litigation 304 | ------------- 305 | 306 | Any litigation relating to this License may be brought only in the 307 | courts of a jurisdiction where the defendant maintains its principal 308 | place of business and such litigation shall be governed by laws of that 309 | jurisdiction, without reference to its conflict-of-law provisions. 310 | Nothing in this Section shall prevent a party's ability to bring 311 | cross-claims or counter-claims. 312 | 313 | 9. Miscellaneous 314 | ---------------- 315 | 316 | This License represents the complete agreement concerning the subject 317 | matter hereof. If any provision of this License is held to be 318 | unenforceable, such provision shall be reformed only to the extent 319 | necessary to make it enforceable. Any law or regulation which provides 320 | that the language of a contract shall be construed against the drafter 321 | shall not be used to construe this License against a Contributor. 322 | 323 | 10. Versions of the License 324 | --------------------------- 325 | 326 | 10.1. New Versions 327 | 328 | Mozilla Foundation is the license steward. Except as provided in Section 329 | 10.3, no one other than the license steward has the right to modify or 330 | publish new versions of this License. Each version will be given a 331 | distinguishing version number. 332 | 333 | 10.2. Effect of New Versions 334 | 335 | You may distribute the Covered Software under the terms of the version 336 | of the License under which You originally received the Covered Software, 337 | or under the terms of any subsequent version published by the license 338 | steward. 339 | 340 | 10.3. Modified Versions 341 | 342 | If you create software not governed by this License, and you want to 343 | create a new license for such software, you may create and use a 344 | modified version of this License if you rename the license and remove 345 | any references to the name of the license steward (except to note that 346 | such modified license differs from this License). 347 | 348 | 10.4. Distributing Source Code Form that is Incompatible With Secondary 349 | Licenses 350 | 351 | If You choose to distribute Source Code Form that is Incompatible With 352 | Secondary Licenses under the terms of this version of the License, the 353 | notice described in Exhibit B of this License must be attached. 354 | 355 | Exhibit A - Source Code Form License Notice 356 | ------------------------------------------- 357 | 358 | This Source Code Form is subject to the terms of the Mozilla Public 359 | License, v. 2.0. If a copy of the MPL was not distributed with this 360 | file, You can obtain one at http://mozilla.org/MPL/2.0/. 361 | 362 | If it is not possible or desirable to put the notice in a particular 363 | file, then You may include the notice in a location (such as a LICENSE 364 | file in a relevant directory) where a recipient would be likely to look 365 | for such a notice. 366 | 367 | You may add additional accurate notices of copyright ownership. 368 | 369 | Exhibit B - "Incompatible With Secondary Licenses" Notice 370 | --------------------------------------------------------- 371 | 372 | This Source Code Form is "Incompatible With Secondary Licenses", as 373 | defined by the Mozilla Public License, v. 2.0. 374 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Gridea Theme 「 Subtle Galaxy 」 2 | 3 | > 基于静态博客生成器[Gridea](https://gridea.dev/)的简洁现代风博客网站主题「 Subtle Galaxy 」。原设计自Ghost Subtle主题,在此基础上增加了标签页和归档页,优化文章显示以及响应式。 4 | > 欢迎使用本人另外自制的一个主题 [Space](https://github.com/GalaxySuze/gridea-theme-space) 5 | 6 | ### 安装方法 7 | - 克隆项目到本地 8 | - 复制「 subtle-galaxy 」目录到「 Gridea 」主题文件中 9 | - 重启「 Gridea 」客户端 10 | - 在主题中选择「 Subtle Galaxy 」主题,点击保存 11 | - 预览查看效果 12 | 13 | ### 待更新项 14 | - 友链页面 15 | - 相册页面 16 | - 支持评论 17 | - 图片懒加载 18 | - 优化文章页面 19 | 20 | ### 示例截图 21 | 22 | ![subtle-galaxy-1.jpg](https://github.com/GalaxySuze/gridea-theme-subtle-galaxy/raw/master/sg_01.jpg) 23 | 24 | ![subtle-galaxy-3.jpg](https://github.com/GalaxySuze/gridea-theme-subtle-galaxy/raw/master/sg_02.jpg) 25 | 26 | ![subtle-galaxy-4.jpg](https://github.com/GalaxySuze/gridea-theme-subtle-galaxy/raw/master/sg_03.jpg) 27 | 28 | ![subtle-galaxy-2.jpg](https://github.com/GalaxySuze/gridea-theme-subtle-galaxy/raw/master/sg_04.jpg) 29 | -------------------------------------------------------------------------------- /sg_01.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GalaxySuze/gridea-theme-subtle-galaxy/568c80cd73481001ce29cad4a73b64db0f768172/sg_01.jpg -------------------------------------------------------------------------------- /sg_02.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GalaxySuze/gridea-theme-subtle-galaxy/568c80cd73481001ce29cad4a73b64db0f768172/sg_02.jpg -------------------------------------------------------------------------------- /sg_03.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GalaxySuze/gridea-theme-subtle-galaxy/568c80cd73481001ce29cad4a73b64db0f768172/sg_03.jpg -------------------------------------------------------------------------------- /sg_04.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GalaxySuze/gridea-theme-subtle-galaxy/568c80cd73481001ce29cad4a73b64db0f768172/sg_04.jpg -------------------------------------------------------------------------------- /subtle-galaxy/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | -------------------------------------------------------------------------------- /subtle-galaxy/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /subtle-galaxy/.idea/subtle-galaxy.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /subtle-galaxy/.idea/workspace.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 1573454364441 37 | 42 | 43 | 44 | 45 | 47 | -------------------------------------------------------------------------------- /subtle-galaxy/assets/media/fonts/icomoon.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GalaxySuze/gridea-theme-subtle-galaxy/568c80cd73481001ce29cad4a73b64db0f768172/subtle-galaxy/assets/media/fonts/icomoon.eot -------------------------------------------------------------------------------- /subtle-galaxy/assets/media/fonts/icomoon.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GalaxySuze/gridea-theme-subtle-galaxy/568c80cd73481001ce29cad4a73b64db0f768172/subtle-galaxy/assets/media/fonts/icomoon.ttf -------------------------------------------------------------------------------- /subtle-galaxy/assets/media/fonts/icomoon.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GalaxySuze/gridea-theme-subtle-galaxy/568c80cd73481001ce29cad4a73b64db0f768172/subtle-galaxy/assets/media/fonts/icomoon.woff -------------------------------------------------------------------------------- /subtle-galaxy/assets/media/images/avatar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GalaxySuze/gridea-theme-subtle-galaxy/568c80cd73481001ce29cad4a73b64db0f768172/subtle-galaxy/assets/media/images/avatar.png -------------------------------------------------------------------------------- /subtle-galaxy/assets/media/images/home-cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GalaxySuze/gridea-theme-subtle-galaxy/568c80cd73481001ce29cad4a73b64db0f768172/subtle-galaxy/assets/media/images/home-cover.jpg -------------------------------------------------------------------------------- /subtle-galaxy/assets/media/scripts/_core/custom.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Main JS file for Subtle behaviours 3 | */ 4 | 5 | // Responsive video embeds 6 | let videoEmbeds = [ 7 | 'iframe[src*="youtube.com"]', 8 | 'iframe[src*="vimeo.com"]' 9 | ]; 10 | reframe(videoEmbeds.join(',')); 11 | 12 | // Smooth scroll to anchors 13 | var scroll = new SmoothScroll('[data-scroll]', { 14 | speed: 300, 15 | updateURL: false 16 | }); 17 | 18 | // Gallery adjustments 19 | var images = document.querySelectorAll('.kg-gallery-image img'); 20 | images.forEach(function (image) { 21 | var container = image.closest('.kg-gallery-image'); 22 | var width = image.attributes.width.value; 23 | var height = image.attributes.height.value; 24 | var ratio = width / height; 25 | container.style.flex = ratio + ' 1 0%'; 26 | }); 27 | 28 | if (images.length) { 29 | window.addEventListener("load", function() { 30 | Lightense('.kg-gallery-image img', { 31 | background: 'rgba(255,255,255,.9)', 32 | }); 33 | }, false); 34 | } 35 | 36 | // Sidebar toggle 37 | let sidebarToggle = document.querySelectorAll('.sidebar-toggle'); 38 | if (sidebarToggle) { 39 | for (let i = 0; i < sidebarToggle.length; i++) { 40 | sidebarToggle[i].addEventListener('click', function (e) { 41 | document.body.classList.toggle('sidebar-opened'); 42 | e.preventDefault(); 43 | }); 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /subtle-galaxy/assets/media/scripts/_core/plugins.js: -------------------------------------------------------------------------------- 1 | /* 2 | reframe.js - Reframe.js: responsive iframes for embedded content 3 | @version v2.2.5 4 | @link https://github.com/dollarshaveclub/reframe.js#readme 5 | @author Jeff Wainwright (http://jeffry.in) 6 | @license MIT 7 | */ 8 | !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.reframe=t()}(this,function(){"use strict";function e(e,t){var i="string"==typeof e?document.querySelectorAll(e):e,n=t||"js-reframe";"length"in i||(i=[i]);for(var o=0;o-1||r.style.width.indexOf("%")>-1)){var a=(d||r.offsetHeight)/(f||r.offsetWidth)*100,s=document.createElement("div");s.className=n;var l=s.style;l.position="relative",l.width="100%",l.paddingTop=a+"%";var p=r.style;p.position="absolute",p.width="100%",p.height="100%",p.left="0",p.top="0",r.parentNode.insertBefore(s,r),r.parentNode.removeChild(r),s.appendChild(r)}}}}return e}); 9 | 10 | /*! smooth-scroll v16.1.0 | (c) 2019 Chris Ferdinandi | MIT License | http://github.com/cferdinandi/smooth-scroll */ 11 | window.Element&&!Element.prototype.closest&&(Element.prototype.closest=function(e){var t,n=(this.document||this.ownerDocument).querySelectorAll(e),o=this;do{for(t=n.length;0<=--t&&n.item(t)!==o;);}while(t<0&&(o=o.parentElement));return o}),(function(){if("function"==typeof window.CustomEvent)return;function e(e,t){t=t||{bubbles:!1,cancelable:!1,detail:void 0};var n=document.createEvent("CustomEvent");return n.initCustomEvent(e,t.bubbles,t.cancelable,t.detail),n}e.prototype=window.Event.prototype,window.CustomEvent=e})(),(function(){for(var r=0,e=["ms","moz","webkit","o"],t=0;to.durationMax?o.durationMax:o.durationMin&&a=v)return M.cancelScroll(!0),o=t,a=u,0===(n=i)&&document.body.focus(),a||(n.focus(),document.activeElement!==n&&(n.setAttribute("tabindex","-1"),n.focus(),n.style.outline="none"),q.scrollTo(0,o)),H("scrollStop",s,i,c),!(C=m=null)},b=function(e){var t,n,o;m||(m=e),w+=e-m,d=l+y*(n=r=1<(r=0===S?0:w/S)?1:r,"easeInQuad"===(t=s).easing&&(o=n*n),"easeOutQuad"===t.easing&&(o=n*(2-n)),"easeInOutQuad"===t.easing&&(o=n<.5?2*n*n:(4-2*n)*n-1),"easeInCubic"===t.easing&&(o=n*n*n),"easeOutCubic"===t.easing&&(o=--n*n*n+1),"easeInOutCubic"===t.easing&&(o=n<.5?4*n*n*n:(n-1)*(2*n-2)*(2*n-2)+1),"easeInQuart"===t.easing&&(o=n*n*n*n),"easeOutQuart"===t.easing&&(o=1- --n*n*n*n),"easeInOutQuart"===t.easing&&(o=n<.5?8*n*n*n*n:1-8*--n*n*n*n),"easeInQuint"===t.easing&&(o=n*n*n*n*n),"easeOutQuint"===t.easing&&(o=1+--n*n*n*n*n),"easeInOutQuint"===t.easing&&(o=n<.5?16*n*n*n*n*n:1+16*--n*n*n*n*n),t.customEasing&&(o=t.customEasing(n)),o||n),q.scrollTo(0,Math.floor(d)),E(d,g)||(C=q.requestAnimationFrame(b),m=e)};0===q.pageYOffset&&q.scrollTo(0,0),f=i,h=s,u||history.pushState&&h.updateURL&&history.pushState({smoothScroll:JSON.stringify(h),anchor:f.id},document.title,f===document.documentElement?"#top":"#"+f.id),"matchMedia"in q&&q.matchMedia("(prefers-reduced-motion)").matches?q.scrollTo(0,Math.floor(g)):(H("scrollStart",s,i,c),M.cancelScroll(!0),q.requestAnimationFrame(b))}};var t=function(e){if(!e.defaultPrevented&&!(0!==e.button||e.metaKey||e.ctrlKey||e.shiftKey)&&"closest"in e.target&&(a=e.target.closest(o))&&"a"===a.tagName.toLowerCase()&&!e.target.closest(A.ignore)&&a.hostname===q.location.hostname&&a.pathname===q.location.pathname&&/#/.test(a.href)){var t,n=r(a.hash);if("#"===n){if(!A.topOnEmptyHash)return;t=document.documentElement}else t=document.querySelector(n);(t=t||"#top"!==n?t:document.documentElement)&&(e.preventDefault(),(function(e){if(history.replaceState&&e.updateURL&&!history.state){var t=q.location.hash;t=t||"",history.replaceState({smoothScroll:JSON.stringify(e),anchor:t||q.pageYOffset},document.title,t||q.location.href)}})(A),M.animateScroll(t,a))}},n=function(e){if(null!==history.state&&history.state.smoothScroll&&history.state.smoothScroll===JSON.stringify(A)){var t=history.state.anchor;"string"==typeof t&&t&&!(t=document.querySelector(r(history.state.anchor)))||M.animateScroll(t,null,{updateURL:!1})}};M.destroy=function(){A&&(document.removeEventListener("click",t,!1),q.removeEventListener("popstate",n,!1),M.cancelScroll(),C=O=a=A=null)};return (function(){if(!("querySelector"in document&&"addEventListener"in q&&"requestAnimationFrame"in q&&"closest"in q.Element.prototype))throw"Smooth Scroll: This browser does not support the required JavaScript methods and browser APIs.";M.destroy(),A=F(I,e||{}),O=A.header?document.querySelector(A.header):null,document.addEventListener("click",t,!1),A.updateURL&&A.popstate&&q.addEventListener("popstate",n,!1)})(),M}})); 12 | 13 | 14 | /*! lightense-images v1.0.9 | © Tunghsiao Liu | MIT */ 15 | !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.Lightense=t():e.Lightense=t()}(window,function(){return function(n){var r={};function i(e){if(r[e])return r[e].exports;var t=r[e]={i:e,l:!1,exports:{}};return n[e].call(t.exports,t,t.exports,i),t.l=!0,t.exports}return i.m=n,i.c=r,i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(t,e){if(1&e&&(t=i(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var r in t)i.d(n,r,function(e){return t[e]}.bind(null,r));return n},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="",i(i.s=0)}([function(e,t){function u(t){for(var e=1;e>16&255,n>>8&255,255&n].join(", ")+", 1)"):/(rgb\((?:\d{1,3}[,)] ?){3}(?:\d?\.\d+\))?)/.test(t)?t.replace(")",", 1)"):/(rgba\((?:\d{1,3}[,)] ?){3}(?:\d?\.\d+\))?)/.test(t)?t:k.background,i=/([\d.]+)\)$/g,o=i.exec(r)[1];return r.replace(i,.7*o+")")}function c(e,t){var n=v.head||v.getElementsByTagName("head")[0];v.getElementById(e)&&v.getElementById(e).remove();var r=v.createElement("style");r.id=e,r.styleSheet?r.styleSheet.cssText=t:r.appendChild(v.createTextNode(t)),n.appendChild(r)}function s(){o("beforeHide"),y.removeEventListener("keyup",d,!1),y.removeEventListener("scroll",l,!1),x.container.removeEventListener("click",s,!1),x.target.classList.remove("lightense-open"),x.wrap.style.transform="",x.target.style.transform="",x.target.classList.add("lightense-transitioning"),x.container.style.opacity="",setTimeout(function(){o("afterHide"),x.container.style.visibility="",x.container.style.backgroundColor="",x.wrap.parentNode.replaceChild(x.target,x.wrap),x.target.classList.remove("lightense-transitioning")},x.time)}function l(){Math.abs(x.scrollY-y.scrollY)>=x.offset&&s()}function d(e){e.preventDefault(),27===e.keyCode&&s()}return function(e){var t=1 blockquote { 2 | // margin: 20px 0; 3 | // padding: 1.5rem; 4 | // border-left: 6px solid #ee6e73; 5 | // color: #6b778d; 6 | // word-break: break-all; 7 | // position: relative; 8 | // background: #f5f8fa; 9 | // background: linear-gradient(-150deg, transparent 1.5em, #ffffff 0); 10 | //} 11 | -------------------------------------------------------------------------------- /subtle-galaxy/assets/styles/_blocks/tags.less: -------------------------------------------------------------------------------- 1 | .tag-page { 2 | text-align: center; 3 | } 4 | 5 | .tag-page a { 6 | font-size: 16px; 7 | } 8 | -------------------------------------------------------------------------------- /subtle-galaxy/assets/styles/_blocks/tomorrowNight.less: -------------------------------------------------------------------------------- 1 | /* Tomorrow Night Theme */ 2 | /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ 3 | /* Original theme - https://github.com/chriskempson/tomorrow-theme */ 4 | /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ 5 | 6 | /* Tomorrow Comment */ 7 | .hljs-comment, 8 | .hljs-quote { 9 | color: #969896; 10 | } 11 | 12 | /* Tomorrow Red */ 13 | .hljs-variable, 14 | .hljs-template-variable, 15 | .hljs-tag, 16 | .hljs-name, 17 | .hljs-selector-id, 18 | .hljs-selector-class, 19 | .hljs-regexp, 20 | .hljs-deletion { 21 | color: #cc6666; 22 | } 23 | 24 | /* Tomorrow Orange */ 25 | .hljs-number, 26 | .hljs-built_in, 27 | .hljs-builtin-name, 28 | .hljs-literal, 29 | .hljs-type, 30 | .hljs-params, 31 | .hljs-meta, 32 | .hljs-link { 33 | color: #de935f; 34 | } 35 | 36 | /* Tomorrow Yellow */ 37 | .hljs-attribute { 38 | color: #f0c674; 39 | } 40 | 41 | /* Tomorrow Green */ 42 | .hljs-string, 43 | .hljs-symbol, 44 | .hljs-bullet, 45 | .hljs-addition { 46 | color: #b5bd68; 47 | } 48 | 49 | /* Tomorrow Blue */ 50 | .hljs-title, 51 | .hljs-section { 52 | color: #81a2be; 53 | } 54 | 55 | /* Tomorrow Purple */ 56 | .hljs-keyword, 57 | .hljs-selector-tag { 58 | color: #b294bb; 59 | } 60 | 61 | .hljs { 62 | display: block; 63 | overflow-x: auto; 64 | background: #1d1f21; 65 | color: #c5c8c6; 66 | padding: 0.5em; 67 | } 68 | 69 | .hljs-emphasis { 70 | font-style: italic; 71 | } 72 | 73 | .hljs-strong { 74 | font-weight: bold; 75 | } 76 | -------------------------------------------------------------------------------- /subtle-galaxy/assets/styles/_core/style.less: -------------------------------------------------------------------------------- 1 | /** 2 | * Table of Contents 3 | * ---------------------------------------------------------------------------- 4 | * 1. Reset 5 | * 2. General 6 | * 3. Structure 7 | * 4. Site Header 8 | * 5. Menu and Sidebar 9 | * 6. Content 10 | * 6.1 Posts and Pages 11 | * 6.2 Comments 12 | * 6.3 Paging Navigation 13 | * 6.4 Post Navigation 14 | * 7. Site Footer 15 | */ 16 | 17 | /** 18 | * 1. Reset 19 | * normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css 20 | * ---------------------------------------------------------------------------- 21 | */ 22 | 23 | html { 24 | -ms-text-size-adjust: 100%; 25 | -webkit-text-size-adjust: 100%; 26 | } 27 | 28 | body { 29 | font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; 30 | margin: 0; 31 | } 32 | 33 | article, 34 | aside, 35 | details, 36 | figcaption, 37 | figure, 38 | footer, 39 | header, 40 | main, 41 | nav, 42 | section { 43 | display: block; 44 | } 45 | 46 | summary { 47 | display: list-item; 48 | } 49 | 50 | figure { 51 | margin: 0; 52 | } 53 | 54 | pre, 55 | code, 56 | kbd, 57 | samp { 58 | font-family: monospace, monospace; 59 | font-size: 1em; 60 | } 61 | 62 | audio, 63 | canvas, 64 | video { 65 | display: inline-block; 66 | } 67 | 68 | audio:not([controls]) { 69 | display: none; 70 | height: 0; 71 | } 72 | 73 | [hidden], 74 | template { 75 | display: none; 76 | } 77 | 78 | a { 79 | background-color: transparent; 80 | -webkit-text-decoration-skip: objects; 81 | } 82 | 83 | a:focus { 84 | outline: thin dotted; 85 | } 86 | 87 | a:active, 88 | a:hover { 89 | outline: 0; 90 | } 91 | 92 | abbr[title] { 93 | border-bottom: none; 94 | text-decoration: underline; 95 | text-decoration: underline dotted; 96 | } 97 | 98 | b, 99 | strong { 100 | font-weight: bold; 101 | } 102 | 103 | dfn { 104 | font-style: italic; 105 | } 106 | 107 | small { 108 | font-size: 80%; 109 | } 110 | 111 | sub, 112 | sup { 113 | font-size: 75%; 114 | line-height: 0; 115 | position: relative; 116 | vertical-align: baseline; 117 | } 118 | 119 | sub { 120 | bottom: -0.25em; 121 | } 122 | 123 | sup { 124 | top: -0.5em; 125 | } 126 | 127 | img { 128 | border: 0; 129 | vertical-align: middle; 130 | } 131 | 132 | svg:not(:root) { 133 | overflow: hidden; 134 | } 135 | 136 | button, 137 | input, 138 | optgroup, 139 | select, 140 | textarea { 141 | font: inherit; 142 | margin: 0; 143 | } 144 | 145 | button, 146 | input { 147 | overflow: visible; 148 | } 149 | 150 | button, 151 | select { 152 | text-transform: none; 153 | } 154 | 155 | button, 156 | html [type="button"], 157 | [type="reset"], 158 | [type="submit"] { 159 | -webkit-appearance: button; 160 | cursor: pointer; 161 | } 162 | 163 | button[disabled], 164 | html input[disabled] { 165 | cursor: default; 166 | } 167 | 168 | button::-moz-focus-inner, 169 | input::-moz-focus-inner { 170 | border: 0; 171 | padding: 0; 172 | } 173 | 174 | [type="checkbox"], 175 | [type="radio"] { 176 | box-sizing: border-box; 177 | padding: 0; 178 | } 179 | 180 | [type="number"]::-webkit-inner-spin-button, 181 | [type="number"]::-webkit-outer-spin-button { 182 | height: auto; 183 | } 184 | 185 | [type="search"] { 186 | -webkit-appearance: textfield; 187 | outline-offset: -2px; 188 | } 189 | 190 | [type="search"]::-webkit-search-cancel-button, 191 | [type="search"]::-webkit-search-decoration { 192 | -webkit-appearance: none; 193 | } 194 | 195 | ::-webkit-file-upload-button { 196 | -webkit-appearance: button; 197 | font: inherit; 198 | } 199 | 200 | textarea { 201 | overflow: auto; 202 | } 203 | 204 | optgroup { 205 | font-weight: bold; 206 | } 207 | 208 | progress { 209 | display: inline-block; 210 | vertical-align: baseline; 211 | } 212 | 213 | table { 214 | border-collapse: collapse; 215 | border-spacing: 0; 216 | } 217 | 218 | /** 219 | * 2. General 220 | * ---------------------------------------------------------------------------- 221 | */ 222 | 223 | html { 224 | font-size: 112.5%; 225 | font-family: 'Lato', sans-serif; 226 | } 227 | 228 | body { 229 | background-color: #fff; 230 | color: #5a5a5a; 231 | line-height: 1.66667; 232 | } 233 | 234 | a { 235 | color: #cd9023; 236 | text-decoration: none; 237 | -webkit-transition: .3s; 238 | transition: .3s; 239 | } 240 | 241 | a:hover { 242 | color: #101012; 243 | } 244 | 245 | h1, 246 | h2, 247 | h3, 248 | h4, 249 | h5, 250 | h6 { 251 | color: #101012; 252 | font-family: 'Playfair Display', serif; 253 | font-weight: normal; 254 | line-height: 1.33333; 255 | margin: 45px 0 30px; 256 | text-rendering: optimizeLegibility; 257 | } 258 | 259 | h1 { 260 | font-size: 36px; 261 | } 262 | 263 | h2 { 264 | font-size: 30px; 265 | } 266 | 267 | h3 { 268 | font-size: 24px; 269 | } 270 | 271 | h4 { 272 | font-size: 20px; 273 | } 274 | 275 | h5, 276 | h6 { 277 | font-size: 18px; 278 | } 279 | 280 | h1:first-child, 281 | h2:first-child, 282 | h3:first-child, 283 | h4:first-child, 284 | h5:first-child, 285 | h6:first-child { 286 | margin-top: 0; 287 | } 288 | 289 | p { 290 | margin: 0 0 30px; 291 | } 292 | 293 | address { 294 | font-style: italic; 295 | margin: 0 0 30px; 296 | } 297 | 298 | mark, 299 | ins { 300 | background-color: #f4e1c0; 301 | color: #5a5a5a; 302 | padding: 0 3px; 303 | text-decoration: none; 304 | } 305 | 306 | code, 307 | pre { 308 | font-family: Consolas, "Andale Mono", "Courier New", Courier, monospace; 309 | font-size: 16px; 310 | } 311 | 312 | :not(pre) > code { 313 | padding: 1px 3px; 314 | white-space: normal; 315 | } 316 | 317 | pre { 318 | background-color: #1d1f21; 319 | color: #d4d3d3; 320 | font-size: 16px; 321 | margin: 0 0 30px; 322 | overflow: auto; 323 | padding: 15px; 324 | text-align: left; 325 | white-space: pre; 326 | word-spacing: normal; 327 | word-break: normal; 328 | word-wrap: normal; 329 | } 330 | 331 | blockquote { 332 | margin: 20px 0; 333 | padding: 1.5rem; 334 | border-left: 6px solid #98A9F9; 335 | color: #6b778d; 336 | word-break: break-all; 337 | background: #f5f8fa; 338 | border-radius: 2px; 339 | box-shadow: -2px 2px 0px rgba(0, 0, 0, 0.2); 340 | cursor: pointer; 341 | transition: all 0.5s; 342 | } 343 | 344 | blockquote ul { 345 | padding-left: 30px; 346 | margin: 0; 347 | } 348 | 349 | blockquote p { 350 | padding: 0; 351 | margin: 0; 352 | } 353 | 354 | blockquote:hover { 355 | box-shadow: -10px 10px 0 rgba(0, 0, 0, 0.2); 356 | } 357 | 358 | dl { 359 | margin: 0; 360 | } 361 | 362 | dt { 363 | font-weight: bold; 364 | } 365 | 366 | dd { 367 | margin: 0 0 30px; 368 | } 369 | 370 | ul, 371 | ol { 372 | margin: 0 0 30px; 373 | padding: 0 0 0 30px; 374 | } 375 | 376 | li > ul, 377 | li > ol { 378 | margin-bottom: 0; 379 | } 380 | 381 | hr { 382 | background-color: #d4d3d3; 383 | border: 0; 384 | height: 1px; 385 | margin: 45px 0; 386 | } 387 | 388 | table { 389 | font-size: 16px; 390 | line-height: 1.5; 391 | margin: 0 0 30px; 392 | text-align: left; 393 | width: 100%; 394 | } 395 | 396 | caption { 397 | color: #adabac; 398 | font-style: italic; 399 | margin-bottom: 15px; 400 | padding-left: 10px; 401 | text-align: left; 402 | } 403 | 404 | th, 405 | td { 406 | border-bottom: 1px solid #d4d3d3; 407 | padding: 10px; 408 | } 409 | 410 | th { 411 | color: #101012; 412 | font-weight: bold; 413 | } 414 | 415 | @media only screen and (max-width: 640px) { 416 | html { 417 | font-size: 100%; 418 | } 419 | 420 | h1 { 421 | font-size: 30px; 422 | } 423 | 424 | h2, 425 | blockquote { 426 | font-size: 24px; 427 | } 428 | 429 | h3 { 430 | font-size: 20px; 431 | } 432 | 433 | h4, 434 | blockquote small, 435 | blockquote cite { 436 | font-size: 18px; 437 | } 438 | 439 | h5, 440 | h6 { 441 | font-size: 16px; 442 | } 443 | 444 | code, 445 | pre { 446 | font-size: 14px; 447 | } 448 | } 449 | 450 | /* Form fields */ 451 | button, 452 | input, 453 | select, 454 | textarea { 455 | background-color: #fff; 456 | box-sizing: border-box; 457 | border: 1px solid #d4d3d3; 458 | border-radius: 0; 459 | color: #5a5a5a; 460 | font-family: 'Lato', sans-serif; 461 | font-size: 16px; 462 | max-width: 100%; 463 | padding: 8px 10px; 464 | -webkit-transition: .3s; 465 | transition: .3s; 466 | vertical-align: baseline; 467 | } 468 | 469 | input[type="text"]:focus, 470 | input[type="email"]:focus, 471 | input[type="url"]:focus, 472 | input[type="password"]:focus, 473 | input[type="search"]:focus, 474 | textarea:focus { 475 | border-color: #5a5a5a; 476 | outline: 0; 477 | } 478 | 479 | button, 480 | input[type="submit"], 481 | input[type="button"], 482 | input[type="reset"] { 483 | background-color: transparent; 484 | border-color: #d4d3d3; 485 | color: #cd9023; 486 | font-size: 12px; 487 | letter-spacing: 2px; 488 | padding: 10px 20px; 489 | text-transform: uppercase; 490 | } 491 | 492 | button:hover, 493 | button:focus, 494 | button:active, 495 | input[type="submit"]:hover, 496 | input[type="submit"]:focus, 497 | input[type="submit"]:active, 498 | input[type="button"]:hover, 499 | input[type="button"]:focus, 500 | input[type="button"]:active, 501 | input[type="reset"]:hover, 502 | input[type="reset"]:focus, 503 | input[type="reset"]:active { 504 | color: #5a5a5a; 505 | outline: 0; 506 | } 507 | 508 | .gh-subscribe-form .subscribe-email { 509 | border: 0; 510 | height: 40px; 511 | width: 100%; 512 | } 513 | 514 | .gh-subscribe-form .button { 515 | border: 0; 516 | height: 40px; 517 | margin: 15px 0 0; 518 | position: relative; 519 | } 520 | 521 | .gh-subscribe-form .button:hover, 522 | .gh-subscribe-form .button:focus, 523 | .gh-subscribe-form .button:active { 524 | color: #d4d3d3; 525 | } 526 | 527 | @media only screen and (min-width: 481px) { 528 | .gh-subscribe-form { 529 | -ms-flex-align: center; 530 | align-items: center; 531 | display: -ms-flexbox; 532 | display: -webkit-flex; 533 | display: flex; 534 | } 535 | 536 | .gh-subscribe-form .form-group { 537 | -webkit-flex: 1 1 auto; 538 | -ms-flex: 1 1 auto; 539 | flex: 1 1 auto; 540 | } 541 | 542 | .gh-subscribe-form .button { 543 | margin: 0 0 0 10px; 544 | } 545 | } 546 | 547 | /* Cards */ 548 | .kg-card { 549 | margin: 0 0 30px; 550 | } 551 | 552 | /* Captions */ 553 | .kg-card figcaption { 554 | color: #adabac; 555 | font-size: 16px; 556 | font-style: italic; 557 | line-height: 1.5; 558 | margin-left: auto; 559 | margin-right: auto; 560 | max-width: 720px; 561 | padding-top: 8px; 562 | text-align: left; 563 | } 564 | 565 | /* Videos, audios and embeds */ 566 | embed, 567 | iframe, 568 | object, 569 | video { 570 | max-width: 100%; 571 | } 572 | 573 | .js-reframe { 574 | margin: 0 0 30px; 575 | } 576 | 577 | .kg-embed-card > .js-reframe { 578 | margin: 0; 579 | } 580 | 581 | /* Images */ 582 | img { 583 | height: auto; 584 | max-width: 100%; 585 | } 586 | 587 | /* Galleries */ 588 | .kg-gallery-container { 589 | display: -ms-flexbox; 590 | display: flex; 591 | -ms-flex-direction: column; 592 | flex-direction: column; 593 | max-width: 960px; 594 | } 595 | 596 | .kg-gallery-row { 597 | display: -ms-flexbox; 598 | display: flex; 599 | -ms-flex-direction: row; 600 | flex-direction: row; 601 | -ms-flex-pack: center; 602 | justify-content: center; 603 | } 604 | 605 | .kg-gallery-row:not(:first-of-type) { 606 | margin: 3px 0 0; 607 | } 608 | 609 | .kg-gallery-image:not(:first-of-type) { 610 | margin: 0 0 0 3px; 611 | } 612 | 613 | .kg-gallery-image img { 614 | display: block; 615 | height: 100%; 616 | margin: 0; 617 | width: 100%; 618 | } 619 | 620 | /* Bookmarks */ 621 | .kg-bookmark-card { 622 | background: #fff; 623 | margin: 0 0 30px; 624 | width: 100%; 625 | } 626 | 627 | .kg-bookmark-container { 628 | border: 1px solid #d4d3d3; 629 | display: flex; 630 | color: #5a5a5a; 631 | min-height: 140px; 632 | } 633 | 634 | .kg-bookmark-container:hover { 635 | border-color: #cd9023; 636 | } 637 | 638 | .kg-bookmark-content { 639 | align-items: flex-start; 640 | display: flex; 641 | flex-direction: column; 642 | flex-grow: 1; 643 | justify-content: start; 644 | padding: 20px; 645 | } 646 | 647 | .kg-bookmark-title { 648 | color: #101012; 649 | font-size: 18px; 650 | font-weight: bold; 651 | line-height: 1.2; 652 | } 653 | 654 | .kg-bookmark-description { 655 | color: #5a5a5a; 656 | display: -webkit-box; 657 | font-size: 16px; 658 | font-weight: normal; 659 | line-height: 1.5; 660 | margin-top: 15px; 661 | max-height: 48px; 662 | overflow-y: hidden; 663 | -webkit-line-clamp: 2; 664 | -webkit-box-orient: vertical; 665 | } 666 | 667 | .kg-bookmark-thumbnail { 668 | position: relative; 669 | min-width: 33%; 670 | max-height: 100%; 671 | } 672 | 673 | .kg-bookmark-thumbnail img { 674 | height: 100%; 675 | left: 0; 676 | object-fit: cover; 677 | position: absolute; 678 | top: 0; 679 | width: 100%; 680 | } 681 | 682 | .kg-bookmark-metadata { 683 | align-items: center; 684 | color: #101012; 685 | display: flex; 686 | font-size: 14px; 687 | font-weight: normal; 688 | margin-top: 15px; 689 | flex-wrap: wrap; 690 | } 691 | 692 | .kg-bookmark-icon { 693 | height: 24px; 694 | margin-right: 5px; 695 | width: 24px; 696 | } 697 | 698 | .kg-bookmark-author { 699 | line-height: 1.5; 700 | } 701 | 702 | .kg-bookmark-author:after { 703 | content: "\00b7"; 704 | margin: 0 5px; 705 | } 706 | 707 | .kg-bookmark-publisher { 708 | overflow: hidden; 709 | line-height: 1.5; 710 | text-overflow: ellipsis; 711 | white-space: nowrap; 712 | max-width: 240px; 713 | } 714 | 715 | @media only screen and (max-width: 480px) { 716 | .kg-bookmark-container { 717 | flex-direction: column; 718 | } 719 | 720 | .kg-bookmark-thumbnail { 721 | order: 1; 722 | width: 100%; 723 | min-height: 160px; 724 | } 725 | 726 | .kg-bookmark-content { 727 | order: 2 728 | } 729 | } 730 | 731 | /* Alignments */ 732 | .kg-width-full .kg-image { 733 | border-radius: 0; 734 | clear: both; 735 | display: block; 736 | margin-left: 50%; 737 | max-width: none; 738 | -webkit-transform: translateX(-50%); 739 | transform: translateX(-50%); 740 | width: 100vw; 741 | } 742 | 743 | .alignleft, 744 | .alignright { 745 | margin: 5px 0 30px; 746 | } 747 | 748 | .full-width { 749 | clear: both; 750 | margin: 5px 0 30px; 751 | } 752 | 753 | @media only screen and (min-width: 481px) { 754 | .alignleft { 755 | float: left; 756 | margin: 5px 30px 15px 0; 757 | max-width: 50%; 758 | } 759 | 760 | .alignright { 761 | float: right; 762 | margin: 5px 0 15px 30px; 763 | max-width: 50%; 764 | } 765 | } 766 | 767 | @media only screen and (min-width: 781px) { 768 | .full-width, 769 | .kg-gallery-card, 770 | .kg-width-wide .kg-image { 771 | margin-left: calc(390px - 50vw); 772 | margin-right: calc(390px - 50vw); 773 | } 774 | 775 | .kg-width-wide .kg-image { 776 | max-width: none; 777 | width: calc(100vw - 60px); 778 | } 779 | 780 | .alignleft { 781 | margin-left: calc(390px - 50vw); 782 | } 783 | 784 | .alignright { 785 | margin-right: calc(390px - 50vw); 786 | } 787 | } 788 | 789 | @media only screen and (min-width: 1021px) { 790 | .full-width, 791 | .kg-gallery-card, 792 | .kg-width-wide .kg-image { 793 | margin-left: -120px; 794 | margin-right: -120px; 795 | } 796 | 797 | .kg-width-wide .kg-image { 798 | max-width: none; 799 | width: 960px; 800 | } 801 | 802 | .alignleft { 803 | margin-left: -120px; 804 | } 805 | 806 | .alignright { 807 | margin-right: -120px; 808 | } 809 | } 810 | 811 | /* Clearing floats */ 812 | .clear:after, 813 | .post-meta:after, 814 | .post-content:after, 815 | .post-navigation:after { 816 | clear: both; 817 | } 818 | 819 | .clear:before, 820 | .clear:after, 821 | .post-meta:before, 822 | .post-meta:after, 823 | .post-content:before, 824 | .post-content:after, 825 | .post-navigation:before, 826 | .post-navigation:after { 827 | content: ""; 828 | display: table; 829 | } 830 | 831 | /* Text meant only for screen readers */ 832 | .screen-reader-text { 833 | border: 0 none; 834 | clip: rect(1px, 1px, 1px, 1px); 835 | height: 1px; 836 | overflow: hidden; 837 | padding: 0; 838 | position: absolute !important; 839 | width: 1px; 840 | } 841 | 842 | /* Text selection */ 843 | ::-moz-selection { 844 | background: #f4e1c0; 845 | color: #101012; 846 | text-shadow: none; 847 | } 848 | 849 | ::selection { 850 | background: #f4e1c0; 851 | color: #101012; 852 | text-shadow: none; 853 | } 854 | 855 | /* Syntax Highlighter */ 856 | pre .comment { 857 | color: #5a5a5a; 858 | } 859 | 860 | pre .constant, 861 | pre .entity, 862 | pre .entity.class, 863 | pre .support { 864 | color: #cd9023; 865 | } 866 | 867 | pre .variable.global, 868 | pre .variable.class, 869 | pre .variable.instance { 870 | color: #cc6666; 871 | } 872 | 873 | pre .constant.numeric, 874 | pre .constant.language, 875 | pre .constant.hex-color, 876 | pre .keyword.unit { 877 | color: #de935f; 878 | } 879 | 880 | pre .constant.symbol, 881 | pre .string { 882 | color: #b5bd68; 883 | } 884 | 885 | pre .entity.function, 886 | pre .support.css-property, 887 | pre .selector { 888 | color: #81a2be; 889 | } 890 | 891 | pre .keyword, 892 | pre .storage { 893 | color: #b294bb; 894 | } 895 | 896 | /* Arrows */ 897 | .arrow-down, 898 | .arrow-up, 899 | .arrow-left, 900 | .arrow-right { 901 | display: inline-block; 902 | height: 30px; 903 | position: relative; 904 | width: 30px; 905 | } 906 | 907 | .arrow-down:before, 908 | .arrow-down:after, 909 | .arrow-up:before, 910 | .arrow-up:after, 911 | .arrow-left:before, 912 | .arrow-left:after, 913 | .arrow-right:before, 914 | .arrow-right:after { 915 | background-color: #adabac; 916 | content: ""; 917 | height: 2px; 918 | left: 50%; 919 | margin-left: -11px; 920 | margin-top: -1px; 921 | position: absolute; 922 | top: 50%; 923 | width: 22px; 924 | } 925 | 926 | .arrow-down:before { 927 | -webkit-transform: translateX(-7px) rotate(45deg); 928 | transform: translateX(-7px) rotate(45deg); 929 | } 930 | 931 | .arrow-down:after { 932 | -webkit-transform: translateX(7px) rotate(-45deg); 933 | transform: translateX(7px) rotate(-45deg); 934 | } 935 | 936 | .arrow-up:before { 937 | -webkit-transform: translateX(-7px) rotate(-45deg); 938 | transform: translateX(-7px) rotate(-45deg); 939 | } 940 | 941 | .arrow-up:after { 942 | -webkit-transform: translateX(7px) rotate(45deg); 943 | transform: translateX(7px) rotate(45deg); 944 | } 945 | 946 | .arrow-left:before { 947 | -webkit-transform: translateY(-7px) rotate(-45deg); 948 | transform: translateY(-7px) rotate(-45deg); 949 | } 950 | 951 | .arrow-left:after { 952 | -webkit-transform: translateY(7px) rotate(45deg); 953 | transform: translateY(7px) rotate(45deg); 954 | } 955 | 956 | .arrow-right:before { 957 | -webkit-transform: translateY(-7px) rotate(45deg); 958 | transform: translateY(-7px) rotate(45deg); 959 | } 960 | 961 | .arrow-right:after { 962 | -webkit-transform: translateY(7px) rotate(-45deg); 963 | transform: translateY(7px) rotate(-45deg); 964 | } 965 | 966 | /* Buttons */ 967 | .button { 968 | color: #cd9023; 969 | display: inline-block; 970 | font-size: 12px; 971 | letter-spacing: 2px; 972 | line-height: 1.5; 973 | padding: 10px 20px; 974 | position: relative; 975 | text-transform: uppercase; 976 | } 977 | 978 | .button:hover { 979 | color: #5a5a5a; 980 | } 981 | 982 | .button .line { 983 | background-color: #d4d3d3; 984 | position: absolute; 985 | } 986 | 987 | .button .left, 988 | .button .right { 989 | height: 100%; 990 | width: 1px; 991 | } 992 | 993 | .button .top, 994 | .button .bottom { 995 | height: 1px; 996 | width: 100%; 997 | } 998 | 999 | .button .left, 1000 | .button .top { 1001 | left: 0; 1002 | top: 0; 1003 | } 1004 | 1005 | .button .right { 1006 | right: 0; 1007 | top: 0; 1008 | } 1009 | 1010 | .button .bottom { 1011 | left: 0; 1012 | bottom: 0; 1013 | } 1014 | 1015 | .button .line:before { 1016 | background-color: #98A9F9; 1017 | content: ""; 1018 | position: absolute; 1019 | -webkit-transition: .4s; 1020 | transition: .4s; 1021 | } 1022 | 1023 | .button .left:before, 1024 | .button .right:before { 1025 | height: 0; 1026 | left: 0; 1027 | width: 1px; 1028 | } 1029 | 1030 | .button .top:before, 1031 | .button .bottom:before { 1032 | height: 1px; 1033 | top: 0; 1034 | width: 0; 1035 | } 1036 | 1037 | .button .top:before { 1038 | left: 0; 1039 | } 1040 | 1041 | .button .right:before { 1042 | top: 0; 1043 | } 1044 | 1045 | .button .bottom:before { 1046 | right: 0; 1047 | } 1048 | 1049 | .button .left:before { 1050 | bottom: 0; 1051 | } 1052 | 1053 | .button:hover .left:before, 1054 | .button:hover .right:before { 1055 | height: 100%; 1056 | } 1057 | 1058 | .button:hover .top:before, 1059 | .button:hover .bottom:before { 1060 | width: 100%; 1061 | } 1062 | 1063 | .subscribe .line, 1064 | .tagcloud .line { 1065 | background-color: #adabac; 1066 | } 1067 | 1068 | .hero .subscribe:hover, 1069 | .tagcloud .button:hover { 1070 | color: #d4d3d3; 1071 | } 1072 | 1073 | /* Footnotes */ 1074 | .footnotes-list { 1075 | font: normal 12px/1.5 'Lato', sans-serif; 1076 | letter-spacing: 1px; 1077 | text-transform: uppercase; 1078 | } 1079 | 1080 | .footnote-item p { 1081 | margin-bottom: 5px; 1082 | } 1083 | 1084 | /* Circle Icons */ 1085 | .circle { 1086 | background-color: transparent; 1087 | border: 1px solid #5a5a5a; 1088 | border-radius: 50%; 1089 | color: #d4d3d3; 1090 | display: inline-block; 1091 | font-size: 16px; 1092 | height: 40px; 1093 | line-height: 1; 1094 | position: relative; 1095 | text-align: center; 1096 | width: 40px; 1097 | } 1098 | 1099 | .circle:after { 1100 | border-radius: 50%; 1101 | box-shadow: 0 0 0 1px rgba(90, 90, 90, 0.3); 1102 | box-sizing: content-box; 1103 | content: ""; 1104 | height: 100%; 1105 | left: 0; 1106 | opacity: 1; 1107 | padding: 0; 1108 | position: absolute; 1109 | top: 0; 1110 | -webkit-transform: scale(1); 1111 | transform: scale(1); 1112 | -webkit-transition: -webkit-transform .2s, opacity .4s; 1113 | -webkit-transition: transform .2s, opacity .4s; 1114 | transition: transform .2s, opacity .4s; 1115 | width: 100%; 1116 | } 1117 | 1118 | .circle:hover { 1119 | color: #cd9023; 1120 | } 1121 | 1122 | .circle:hover:after { 1123 | left: -7px; 1124 | opacity: 0; 1125 | padding: 7px; 1126 | top: -7px; 1127 | -webkit-transform: scale(1.1); 1128 | transform: scale(1.1); 1129 | } 1130 | 1131 | .circle svg { 1132 | fill: currentColor; 1133 | height: 16px; 1134 | position: relative; 1135 | top: 12px; 1136 | } 1137 | 1138 | /* Animations */ 1139 | @-webkit-keyframes fadein { 1140 | 0% { 1141 | opacity: 0; 1142 | } 1143 | 100% { 1144 | opacity: 0.3; 1145 | } 1146 | } 1147 | 1148 | @keyframes fadein { 1149 | 0% { 1150 | opacity: 0; 1151 | } 1152 | 100% { 1153 | opacity: 0.3; 1154 | } 1155 | } 1156 | 1157 | @-webkit-keyframes blink { 1158 | 0% { 1159 | opacity: 1; 1160 | -webkit-transform: translateY(-10px); 1161 | transform: translateY(-10px) 1162 | } 1163 | 25% { 1164 | opacity: 1; 1165 | } 1166 | 75% { 1167 | opacity: 0; 1168 | -webkit-transform: translateY(0); 1169 | transform: translateY(0) 1170 | } 1171 | 100% { 1172 | opacity: 0; 1173 | } 1174 | } 1175 | 1176 | @keyframes blink { 1177 | 0% { 1178 | opacity: 1; 1179 | -webkit-transform: translateY(-10px); 1180 | transform: translateY(-10px) 1181 | } 1182 | 25% { 1183 | opacity: 1; 1184 | } 1185 | 75% { 1186 | opacity: 0; 1187 | -webkit-transform: translateY(0); 1188 | transform: translateY(0) 1189 | } 1190 | 100% { 1191 | opacity: 0; 1192 | } 1193 | } 1194 | 1195 | /** 1196 | * 3. Structure 1197 | * ---------------------------------------------------------------------------- 1198 | */ 1199 | 1200 | .inner { 1201 | margin: 0 auto; 1202 | max-width: 720px; 1203 | padding: 0 30px; 1204 | } 1205 | 1206 | .site { 1207 | display: -webkit-box; 1208 | display: -ms-flexbox; 1209 | display: flex; 1210 | -webkit-flex-direction: column; 1211 | -ms-flex-direction: column; 1212 | flex-direction: column; 1213 | min-height: 100vh; 1214 | overflow: hidden; 1215 | position: relative; 1216 | } 1217 | 1218 | .site-main { 1219 | display: -webkit-box; 1220 | display: -ms-flexbox; 1221 | display: flex; 1222 | -webkit-flex-direction: column; 1223 | -ms-flex-direction: column; 1224 | flex-direction: column; 1225 | -webkit-box-flex: 1; 1226 | -ms-flex-positive: 1; 1227 | flex-grow: 1; 1228 | } 1229 | 1230 | /** 1231 | * 4. Site Header 1232 | * ---------------------------------------------------------------------------- 1233 | */ 1234 | 1235 | .site-header { 1236 | padding: 30px 0; 1237 | position: absolute; 1238 | width: 100%; 1239 | z-index: 997; 1240 | } 1241 | 1242 | .site-title { 1243 | font-size: 30px; 1244 | font-family: 'Playfair Display', serif; 1245 | font-weight: normal; 1246 | line-height: 1.33333; 1247 | margin: 0 90px 0 30px; 1248 | text-rendering: optimizeLegibility; 1249 | } 1250 | 1251 | .site-title a { 1252 | border-bottom: 2px solid #cd9023; 1253 | color: #fff; 1254 | } 1255 | 1256 | .site-title a:hover { 1257 | border-color: transparent; 1258 | } 1259 | 1260 | .site-logo { 1261 | margin: 0 90px 0 30px; 1262 | } 1263 | 1264 | .site-logo img { 1265 | max-height: 60px; 1266 | } 1267 | 1268 | @media only screen and (max-width: 640px) { 1269 | .site-title { 1270 | font-size: 24px; 1271 | } 1272 | } 1273 | 1274 | /** 1275 | * 5. Sidebar 1276 | * ---------------------------------------------------------------------------- 1277 | */ 1278 | 1279 | .sidebar { 1280 | background-color: #101012; 1281 | bottom: 0; 1282 | color: #d4d3d3; 1283 | -webkit-overflow-scrolling: touch; 1284 | position: absolute; 1285 | right: -100%; 1286 | text-align: center; 1287 | top: 0; 1288 | -webkit-transition: right .3s; 1289 | transition: right .3s; 1290 | width: 100%; 1291 | z-index: 999; 1292 | } 1293 | 1294 | .sidebar-scrollable { 1295 | height: 100%; 1296 | overflow: auto; 1297 | -webkit-overflow-scrolling: touch; 1298 | position: relative; 1299 | } 1300 | 1301 | .sidebar .inner { 1302 | padding-bottom: 60px; 1303 | padding-top: 80px; 1304 | } 1305 | 1306 | .sidebar .widget-area { 1307 | border-bottom: 1px solid #5a5a5a; 1308 | border-top: 1px solid #5a5a5a; 1309 | padding-top: 45px; 1310 | } 1311 | 1312 | .sidebar a { 1313 | color: #cd9023; 1314 | } 1315 | 1316 | .sidebar a:hover { 1317 | color: #5a5a5a; 1318 | } 1319 | 1320 | .site-navigation, 1321 | .widget { 1322 | margin-bottom: 45px; 1323 | } 1324 | 1325 | .site-navigation h2, 1326 | .widget-title { 1327 | color: #adabac; 1328 | font-size: 20px; 1329 | margin-bottom: 30px; 1330 | position: relative; 1331 | } 1332 | 1333 | .site-navigation h2:before, 1334 | .widget-title:before, 1335 | .subscribe-box-title:before, 1336 | .site-navigation h2:after, 1337 | .widget-title:after, 1338 | .subscribe-box-title:after { 1339 | content: "\00a0\2013\00a0"; 1340 | } 1341 | 1342 | .site-navigation .menu { 1343 | list-style: none; 1344 | padding-left: 0; 1345 | } 1346 | 1347 | .site-navigation .menu-item { 1348 | font-size: 18px; 1349 | letter-spacing: 2px; 1350 | line-height: 1.5; 1351 | margin-bottom: 15px; 1352 | text-transform: uppercase; 1353 | } 1354 | 1355 | .site-navigation .menu-item a { 1356 | color: #cd9023; 1357 | padding: 0 5px; 1358 | position: relative; 1359 | } 1360 | 1361 | .site-navigation .menu-item a:before { 1362 | background-color: rgba(205, 144, 35, 0.7); 1363 | content: ""; 1364 | height: 1px; 1365 | left: 0; 1366 | position: absolute; 1367 | top: 50%; 1368 | -webkit-transition: .3s; 1369 | transition: .3s; 1370 | width: 0; 1371 | } 1372 | 1373 | .site-navigation .menu-item a:hover { 1374 | color: #cd9023; 1375 | } 1376 | 1377 | .site-navigation .menu-item a:hover:before { 1378 | width: 100%; 1379 | } 1380 | 1381 | .tagcloud a { 1382 | font-size: 10px; 1383 | margin: 0 7px 10px; 1384 | } 1385 | 1386 | .widget-about .about-photo { 1387 | border-radius: 50%; 1388 | height: 135px; 1389 | width: 135px; 1390 | } 1391 | 1392 | .sidebar-opened .site { 1393 | height: 100%; 1394 | overflow: hidden; 1395 | position: fixed; 1396 | width: 100%; 1397 | } 1398 | 1399 | .sidebar-opened .sidebar { 1400 | right: 0; 1401 | } 1402 | 1403 | .sidebar-toggle { 1404 | cursor: pointer; 1405 | height: 30px; 1406 | position: absolute; 1407 | width: 30px; 1408 | } 1409 | 1410 | .site-header .sidebar-toggle { 1411 | right: 30px; 1412 | top: 30px; 1413 | } 1414 | 1415 | .sidebar .sidebar-toggle { 1416 | left: 50%; 1417 | margin-left: -15px; 1418 | top: 25px; 1419 | } 1420 | 1421 | .sidebar-toggle .icon { 1422 | background-color: #adabac; 1423 | height: 2px; 1424 | left: 0; 1425 | margin-top: -1px; 1426 | position: absolute; 1427 | top: 50%; 1428 | width: 30px; 1429 | } 1430 | 1431 | .sidebar .sidebar-toggle .icon { 1432 | background-color: transparent; 1433 | } 1434 | 1435 | .sidebar-toggle .icon:before, 1436 | .sidebar-toggle .icon:after { 1437 | background-color: #adabac; 1438 | content: ""; 1439 | height: 100%; 1440 | left: 0; 1441 | position: absolute; 1442 | -webkit-transition: -webkit-transform .2s; 1443 | -webkit-transition: transform .2s; 1444 | transition: transform .2s; 1445 | width: 100%; 1446 | } 1447 | 1448 | .sidebar .sidebar-toggle .icon:before, 1449 | .sidebar .sidebar-toggle .icon:after { 1450 | background-color: #cd9023; 1451 | } 1452 | 1453 | .sidebar-toggle .icon:before { 1454 | -webkit-transform: translateY(-10px); 1455 | transform: translateY(-10px); 1456 | } 1457 | 1458 | .sidebar-toggle .icon:after { 1459 | -webkit-transform: translateY(10px); 1460 | transform: translateY(10px); 1461 | } 1462 | 1463 | .sidebar .sidebar-toggle .icon:before { 1464 | -webkit-transform: rotate(45deg); 1465 | transform: rotate(45deg); 1466 | } 1467 | 1468 | .sidebar .sidebar-toggle .icon:after { 1469 | -webkit-transform: rotate(-45deg); 1470 | transform: rotate(-45deg); 1471 | } 1472 | 1473 | @media only screen and (min-width: 1281px) { 1474 | .sidebar-toggle:hover .icon:before { 1475 | -webkit-transform: rotate(90deg); 1476 | transform: rotate(90deg); 1477 | } 1478 | 1479 | .sidebar-toggle:hover .icon:after { 1480 | -webkit-transform: rotate(-90deg); 1481 | transform: rotate(-90deg); 1482 | } 1483 | 1484 | .sidebar .sidebar-toggle:hover .icon:before, 1485 | .sidebar .sidebar-toggle:hover .icon:after { 1486 | -webkit-transform: rotate(180deg); 1487 | transform: rotate(180deg); 1488 | } 1489 | } 1490 | 1491 | /** 1492 | * 6. Content 1493 | * 6.1 Posts and Pages 1494 | * ---------------------------------------------------------------------------- 1495 | */ 1496 | 1497 | .cover { 1498 | background-color: #101012; 1499 | display: table; 1500 | height: 480px; 1501 | position: relative; 1502 | width: 100%; 1503 | } 1504 | 1505 | .cover-bg { 1506 | -webkit-animation: fadein 1s ease-in-out; 1507 | animation: fadein 1s ease-in-out; 1508 | bottom: 0; 1509 | left: 0; 1510 | opacity: 0.3; 1511 | position: absolute; 1512 | right: 0; 1513 | top: 0; 1514 | } 1515 | 1516 | .cover-bg img { 1517 | height: 100%; 1518 | left: 0; 1519 | object-fit: cover; 1520 | position: absolute; 1521 | top: 0; 1522 | width: 100%; 1523 | } 1524 | 1525 | .cover-content { 1526 | display: table-cell; 1527 | position: relative; 1528 | vertical-align: middle; 1529 | width: 100%; 1530 | } 1531 | 1532 | .cover-content .inner { 1533 | padding-bottom: 120px; 1534 | padding-top: 135px; 1535 | } 1536 | 1537 | .cover .arrow-down { 1538 | -webkit-animation-duration: 2s; 1539 | animation-duration: 2s; 1540 | -webkit-animation-name: blink; 1541 | animation-name: blink; 1542 | -webkit-animation-iteration-count: infinite; 1543 | animation-iteration-count: infinite; 1544 | bottom: 30px; 1545 | left: 50%; 1546 | margin-left: -15px; 1547 | position: absolute; 1548 | } 1549 | 1550 | .cover .arrow-down:before, 1551 | .cover .arrow-down:after { 1552 | background-color: #ffffff; 1553 | } 1554 | 1555 | .hero-title { 1556 | color: #fff; 1557 | font-size: 48px; 1558 | padding-bottom: 30px; 1559 | position: relative; 1560 | } 1561 | 1562 | .hero-title:after { 1563 | background-color: #cd9023; 1564 | bottom: 0; 1565 | content: ""; 1566 | height: 2px; 1567 | left: 0; 1568 | position: absolute; 1569 | width: 80px; 1570 | } 1571 | 1572 | .hero-text { 1573 | color: #d4d3d3; 1574 | font-size: 14px; 1575 | letter-spacing: 2px; 1576 | margin-bottom: 45px; 1577 | text-transform: uppercase; 1578 | } 1579 | 1580 | .post { 1581 | margin-bottom: 90px; 1582 | position: relative; 1583 | } 1584 | 1585 | .post-tags { 1586 | color: #5a5a5a; 1587 | font-family: 'Playfair Display', serif; 1588 | font-size: 14px; 1589 | } 1590 | 1591 | .post-tags a { 1592 | color: #cd9023; 1593 | } 1594 | 1595 | .post-tags a:before { 1596 | content: "\0023"; 1597 | } 1598 | 1599 | .post-tags a:hover { 1600 | color: #5a5a5a; 1601 | } 1602 | 1603 | .post-header-wrap { 1604 | position: relative; 1605 | padding-top: 10px; 1606 | } 1607 | 1608 | .post-header-wrap .published { 1609 | border-left: 1px solid #d4d3d3; 1610 | display: inline-block; 1611 | margin-left: 5px; 1612 | padding-left: 7px; 1613 | background-image: linear-gradient(to right, #B993D6 0%, #8CA6DB 51%, #B993D6 100%); 1614 | -webkit-background-clip: text; 1615 | -webkit-text-fill-color: transparent; 1616 | } 1617 | 1618 | .post-title { 1619 | font-size: 36px; 1620 | margin-bottom: 15px; 1621 | margin-top: 0; 1622 | } 1623 | 1624 | .post-title a { 1625 | color: #101012; 1626 | } 1627 | 1628 | .post-title a:hover { 1629 | color: #98A9F9; 1630 | } 1631 | 1632 | .featured .post-title a:after { 1633 | content: "\00a0\002a"; 1634 | } 1635 | 1636 | .post-meta { 1637 | color: #adabac; 1638 | font: italic 16px/1.5 'Playfair Display', serif; 1639 | } 1640 | 1641 | .post-meta a { 1642 | color: #5a5a5a; 1643 | } 1644 | 1645 | .post-meta a:hover { 1646 | color: #cd9023; 1647 | } 1648 | 1649 | .post-meta .author-avatar { 1650 | border-radius: 50%; 1651 | float: left; 1652 | height: 30px; 1653 | margin-right: 10px; 1654 | margin-top: -3px; 1655 | width: 30px; 1656 | } 1657 | 1658 | .post-meta .published, 1659 | .post-meta .reading-time { 1660 | font: normal 16px/1.5 'Lato', sans-serif; 1661 | letter-spacing: 2px; 1662 | text-transform: uppercase; 1663 | } 1664 | 1665 | .post-list { 1666 | padding-top: 90px; 1667 | } 1668 | 1669 | .post-list .post-header { 1670 | margin-bottom: 30px; 1671 | } 1672 | 1673 | .post-template .post, 1674 | .page-template .post { 1675 | margin-bottom: 60px; 1676 | } 1677 | 1678 | .post-template .post-content, 1679 | .page-template .post-content { 1680 | padding-top: 60px; 1681 | } 1682 | 1683 | .post-template .post-tags, 1684 | .page-template .post-tags { 1685 | color: #d4d3d3; 1686 | font-size: 20px; 1687 | margin-bottom: 20px; 1688 | } 1689 | 1690 | .post-template .post-tags a:hover, 1691 | .page-template .post-tags a:hover { 1692 | color: #d4d3d3; 1693 | } 1694 | 1695 | .post-template .post-title, 1696 | .page-template .post-title { 1697 | color: #fff; 1698 | font-size: 48px; 1699 | margin-bottom: 30px; 1700 | padding-bottom: 30px; 1701 | position: relative; 1702 | } 1703 | 1704 | .post-template .post-title:after, 1705 | .page-template .post-title:after { 1706 | background-color: #cd9023; 1707 | bottom: 0; 1708 | content: ""; 1709 | height: 2px; 1710 | left: 0; 1711 | position: absolute; 1712 | width: 80px; 1713 | } 1714 | 1715 | .post-template .post-meta, 1716 | .page-template .post-meta { 1717 | color: #d4d3d3; 1718 | } 1719 | 1720 | .post-template .post-meta a, 1721 | .page-template .post-meta a { 1722 | border-color: #cd9023; 1723 | color: #cd9023; 1724 | } 1725 | 1726 | .post-template .post-meta a:hover, 1727 | .page-template .post-meta a:hover { 1728 | border-color: transparent; 1729 | color: #d4d3d3; 1730 | } 1731 | 1732 | .post-meta-wrap .published, 1733 | .reading-time { 1734 | border-left: 1px solid #adabac; 1735 | margin-left: 4px; 1736 | padding-left: 8px; 1737 | } 1738 | 1739 | /* Sharing buttons */ 1740 | .share-post { 1741 | -ms-flex-align: center; 1742 | -webkit-align-items: center; 1743 | align-items: center; 1744 | color: #adabac; 1745 | display: -ms-flexbox; 1746 | display: -webkit-flex; 1747 | display: flex; 1748 | margin-top: 30px; 1749 | } 1750 | 1751 | .share-post span { 1752 | font-size: 12px; 1753 | letter-spacing: 2px; 1754 | margin: 0 15px 15px 0; 1755 | text-transform: uppercase; 1756 | } 1757 | 1758 | .share-post .circle { 1759 | border-color: #d4d3d3; 1760 | color: #adabac; 1761 | -webkit-flex: 0 0 auto; 1762 | -ms-flex: 0 0 auto; 1763 | flex: 0 0 auto; 1764 | margin: 0 15px 15px 0; 1765 | } 1766 | 1767 | .share-post .circle:hover { 1768 | color: #5a5a5a; 1769 | } 1770 | 1771 | .share-post .circle:after { 1772 | box-shadow: 0 0 0 1px rgba(173, 171, 172, 0.45); 1773 | } 1774 | 1775 | /* Subscribe box */ 1776 | .subscribe-box { 1777 | background-color: #101012; 1778 | padding: 35px 0 60px; 1779 | text-align: center; 1780 | } 1781 | 1782 | .subscribe-box + .post-navigation { 1783 | border-top: 1px solid rgba(90, 90, 90, 0.3); 1784 | } 1785 | 1786 | .subscribe-box-title { 1787 | color: #adabac; 1788 | font-size: 24px; 1789 | margin-bottom: 12px; 1790 | text-align: center; 1791 | } 1792 | 1793 | .subscribe-box p { 1794 | font-style: italic; 1795 | } 1796 | 1797 | /* Tag, author archives */ 1798 | .page-header { 1799 | color: #d4d3d3; 1800 | } 1801 | 1802 | .post-count { 1803 | font-family: 'Playfair Display', serif; 1804 | font-size: 16px; 1805 | margin-bottom: 15px; 1806 | } 1807 | 1808 | .page-title { 1809 | color: #fff; 1810 | font-size: 36px; 1811 | margin: 0; 1812 | padding-bottom: 30px; 1813 | position: relative; 1814 | } 1815 | 1816 | .page-title:after { 1817 | background-color: #cd9023; 1818 | bottom: 0; 1819 | content: ""; 1820 | height: 2px; 1821 | left: 0; 1822 | position: absolute; 1823 | width: 80px; 1824 | } 1825 | 1826 | .page-description { 1827 | font-size: 16px; 1828 | margin-bottom: 0; 1829 | margin-top: 30px; 1830 | } 1831 | 1832 | .page-header .author-info { 1833 | position: relative; 1834 | } 1835 | 1836 | .page-header .author-avatar { 1837 | border: 2px solid #adabac; 1838 | border-radius: 50%; 1839 | height: 76px; 1840 | left: -110px; 1841 | position: absolute; 1842 | top: 25px; 1843 | width: 76px; 1844 | } 1845 | 1846 | .author-links { 1847 | font-size: 12px; 1848 | letter-spacing: 2px; 1849 | margin-top: 30px; 1850 | text-transform: uppercase; 1851 | } 1852 | 1853 | .author-links { 1854 | font-size: 12px; 1855 | letter-spacing: 2px; 1856 | margin-top: 30px; 1857 | text-transform: uppercase; 1858 | } 1859 | 1860 | .author-links a:hover { 1861 | color: #d4d3d3; 1862 | } 1863 | 1864 | .author-links span { 1865 | margin-right: 15px; 1866 | white-space: nowrap; 1867 | } 1868 | 1869 | .author-links svg { 1870 | fill: currentColor; 1871 | height: 12px; 1872 | margin-right: 3px; 1873 | } 1874 | 1875 | /* Error, subscribe pages */ 1876 | .error-template, 1877 | .subscribe-template { 1878 | background-color: #101012; 1879 | color: #d4d3d3; 1880 | } 1881 | 1882 | .error-template-bg, 1883 | .subscribe-template-bg { 1884 | -webkit-animation: fadein 1s ease-in-out; 1885 | animation: fadein 1s ease-in-out; 1886 | bottom: 0; 1887 | left: 0; 1888 | opacity: 0.3; 1889 | position: absolute; 1890 | right: 0; 1891 | top: 0; 1892 | } 1893 | 1894 | .error-template-bg img, 1895 | .subscribe-template-bg img { 1896 | height: 100%; 1897 | left: 0; 1898 | object-fit: cover; 1899 | position: absolute; 1900 | top: 0; 1901 | width: 100%; 1902 | } 1903 | 1904 | .error-template .site-main, 1905 | .subscribe-template .site-main { 1906 | -webkit-justify-content: center; 1907 | -ms-flex-pack: center; 1908 | justify-content: center; 1909 | text-align: center; 1910 | } 1911 | 1912 | .error-template .site-content, 1913 | .subscribe-template .site-content { 1914 | padding-bottom: 60px; 1915 | padding-top: 60px; 1916 | } 1917 | 1918 | .error-code, 1919 | .subscribe-title { 1920 | color: #fff; 1921 | font-size: 48px; 1922 | margin-top: 0; 1923 | padding-bottom: 30px; 1924 | position: relative; 1925 | } 1926 | 1927 | .error-code:after, 1928 | .subscribe-title:after { 1929 | background-color: #cd9023; 1930 | bottom: 0; 1931 | content: ""; 1932 | height: 2px; 1933 | left: 50%; 1934 | margin-left: -40px; 1935 | position: absolute; 1936 | width: 80px; 1937 | } 1938 | 1939 | .error-description, 1940 | .subscribe-note { 1941 | font-size: 16px; 1942 | margin-bottom: 0; 1943 | margin-top: 30px; 1944 | } 1945 | 1946 | .error-link, 1947 | .subscribe-go-back { 1948 | font-size: 12px; 1949 | letter-spacing: 2px; 1950 | text-transform: uppercase; 1951 | } 1952 | 1953 | .subscribe-go-back { 1954 | left: 30px; 1955 | position: absolute; 1956 | top: 30px; 1957 | } 1958 | 1959 | .error-link:hover, 1960 | .subscribe-go-back:hover { 1961 | color: #d4d3d3; 1962 | } 1963 | 1964 | .subscribe-template .gh-subscribe-form { 1965 | margin-top: 30px; 1966 | } 1967 | 1968 | .subscribe-template .main-error { 1969 | font-size: 16px; 1970 | margin-bottom: 0; 1971 | margin-top: 15px; 1972 | } 1973 | 1974 | @media only screen and (min-width: 861px) { 1975 | .home-template .cover, 1976 | .post-template .cover { 1977 | height: 100vh; 1978 | } 1979 | 1980 | .hero .cover-content, 1981 | .post-header .cover-content { 1982 | text-align: center; 1983 | } 1984 | 1985 | .post-template .post-title:after, 1986 | .page-template .post-title:after, 1987 | .hero-title:after { 1988 | left: 50%; 1989 | margin-left: -40px; 1990 | } 1991 | 1992 | .post-list .post:before { 1993 | background-color: #75878A; 1994 | content: ""; 1995 | height: 100%; 1996 | left: -30px; 1997 | position: absolute; 1998 | top: 0; 1999 | width: 1px; 2000 | } 2001 | 2002 | .post-header-wrap:before { 2003 | background-color: #fff; 2004 | border: 1px solid #adabac; 2005 | border-radius: 50%; 2006 | content: ""; 2007 | height: 11px; 2008 | left: -36px; 2009 | position: absolute; 2010 | top: 30px; 2011 | width: 11px; 2012 | } 2013 | 2014 | .post-meta-wrap { 2015 | bottom: 30px; 2016 | position: absolute; 2017 | right: 30px; 2018 | text-align: right; 2019 | width: 100%; 2020 | } 2021 | 2022 | .post-meta-wrap .author-avatar { 2023 | border: 2px solid #adabac; 2024 | float: right; 2025 | height: 76px; 2026 | margin: 0 0 0 30px; 2027 | width: 76px; 2028 | } 2029 | 2030 | .post-meta-wrap .post-author { 2031 | display: block; 2032 | margin-bottom: 10px; 2033 | margin-top: 15px; 2034 | } 2035 | 2036 | .post-meta-wrap .published { 2037 | display: block; 2038 | font-size: 10px; 2039 | } 2040 | 2041 | .post-meta-wrap .published, 2042 | .reading-time { 2043 | border: 0; 2044 | margin-left: 0; 2045 | padding-left: 0; 2046 | } 2047 | } 2048 | 2049 | @media only screen and (min-width: 1161px) { 2050 | .post-header-wrap .published { 2051 | border: 0; 2052 | left: -220px; 2053 | position: absolute; 2054 | text-align: right; 2055 | top: 25px; 2056 | width: 160px; 2057 | } 2058 | } 2059 | 2060 | @media only screen and (max-width: 1000px) { 2061 | .page-header .author-avatar { 2062 | display: none; 2063 | } 2064 | } 2065 | 2066 | @media only screen and (max-width: 860px) { 2067 | .cover .arrow-down { 2068 | display: none; 2069 | } 2070 | 2071 | .cover-content .inner { 2072 | padding-bottom: 75px; 2073 | } 2074 | 2075 | .post-template .post-content, 2076 | .page-template .post-content { 2077 | padding-top: 45px; 2078 | } 2079 | 2080 | .post-template .post-title, 2081 | .page-template .post-title, 2082 | .hero-title, 2083 | .error-code, 2084 | .subscribe-title { 2085 | font-size: 42px; 2086 | } 2087 | 2088 | .hero-text { 2089 | font-size: 12px; 2090 | } 2091 | 2092 | .post-template .post-tags, 2093 | .page-template .post-tags { 2094 | font-size: 16px; 2095 | margin-bottom: 10px; 2096 | } 2097 | } 2098 | 2099 | @media only screen and (max-width: 640px) { 2100 | .post { 2101 | margin-bottom: 60px; 2102 | } 2103 | 2104 | .post-template .post-title:after, 2105 | .page-template .post-title:after, 2106 | .hero-title:after, 2107 | .page-title:after, 2108 | .error-code:after, 2109 | .subscribe-title:after { 2110 | width: 60px; 2111 | } 2112 | 2113 | .error-code:after, 2114 | .subscribe-title:after { 2115 | margin-left: -30px; 2116 | } 2117 | 2118 | .post-list { 2119 | padding-top: 60px; 2120 | } 2121 | 2122 | .post-template .post-content, 2123 | .page-template .post-content { 2124 | padding-top: 30px; 2125 | } 2126 | 2127 | .post-title, 2128 | .post-template .post-title, 2129 | .page-template .post-title, 2130 | .hero-title, 2131 | .error-code, 2132 | .subscribe-title { 2133 | font-size: 30px; 2134 | } 2135 | 2136 | .page-header .page-title { 2137 | font-size: 24px; 2138 | } 2139 | } 2140 | 2141 | /** 2142 | * 6.2 Comments 2143 | * ---------------------------------------------------------------------------- 2144 | */ 2145 | 2146 | .comments-area { 2147 | border-top: 1px solid #d4d3d3; 2148 | padding-bottom: 45px; 2149 | padding-top: 45px; 2150 | } 2151 | 2152 | #comments-show { 2153 | background: 0; 2154 | border: 0; 2155 | color: #101012; 2156 | display: block; 2157 | font-family: 'Playfair Display', serif; 2158 | font-size: 24px; 2159 | font-weight: normal; 2160 | letter-spacing: normal; 2161 | margin: 0 auto; 2162 | padding: 0; 2163 | text-transform: none; 2164 | } 2165 | 2166 | #comments-show:disabled + #disqus_thread { 2167 | padding-bottom: 45px; 2168 | padding-top: 45px; 2169 | } 2170 | 2171 | /** 2172 | * 6.3 Paging Navigation 2173 | * ---------------------------------------------------------------------------- 2174 | */ 2175 | 2176 | .pagination { 2177 | border-top: 1px solid #d4d3d3; 2178 | color: #adabac; 2179 | font-size: 12px; 2180 | line-height: 1.5; 2181 | letter-spacing: 2px; 2182 | padding: 60px 0; 2183 | text-align: center; 2184 | text-transform: uppercase; 2185 | } 2186 | 2187 | .pagination .inner { 2188 | position: relative; 2189 | } 2190 | 2191 | .page-number { 2192 | display: inline-block; 2193 | padding: 6px 30px; 2194 | } 2195 | 2196 | .newer-posts, 2197 | .older-posts { 2198 | height: 30px; 2199 | margin-top: -15px; 2200 | position: absolute; 2201 | top: 50%; 2202 | width: 30px; 2203 | } 2204 | 2205 | .newer-posts { 2206 | left: 30px; 2207 | } 2208 | 2209 | .older-posts { 2210 | right: 30px; 2211 | } 2212 | 2213 | .pagination a:before, 2214 | .pagination a:after { 2215 | -webkit-transition: .3s; 2216 | transition: .3s; 2217 | } 2218 | 2219 | .pagination a:hover:before, 2220 | .pagination a:hover:after { 2221 | background-color: #5a5a5a; 2222 | } 2223 | 2224 | @media only screen and (max-width: 400px) { 2225 | .pagination { 2226 | padding-bottom: 45px; 2227 | padding-top: 45px; 2228 | } 2229 | } 2230 | 2231 | /** 2232 | * 6.4 Post Navigation 2233 | * ---------------------------------------------------------------------------- 2234 | */ 2235 | 2236 | .post-navigation { 2237 | background-color: #101012; 2238 | border-bottom: 1px solid rgba(90, 90, 90, 0.3); 2239 | overflow: hidden; 2240 | } 2241 | 2242 | .nav-previous, 2243 | .nav-next { 2244 | box-sizing: border-box; 2245 | color: #fff; 2246 | display: block; 2247 | overflow: hidden; 2248 | padding-bottom: 345px; 2249 | position: relative; 2250 | width: 50%; 2251 | } 2252 | 2253 | .nav-previous { 2254 | float: right; 2255 | text-align: right; 2256 | } 2257 | 2258 | .nav-next { 2259 | float: left; 2260 | text-align: left; 2261 | } 2262 | 2263 | .nav-previous:only-child, 2264 | .nav-next:only-child { 2265 | width: 100%; 2266 | } 2267 | 2268 | .nav-next + .nav-previous { 2269 | border-left: 1px solid rgba(90, 90, 90, 0.3); 2270 | } 2271 | 2272 | .nav-bg { 2273 | bottom: 0; 2274 | left: 0; 2275 | opacity: 0.3; 2276 | position: absolute; 2277 | right: 0; 2278 | top: 0; 2279 | -webkit-transform: scale(1, 1); 2280 | transform: scale(1, 1); 2281 | -webkit-transition: -webkit-transform 1s; 2282 | -webkit-transition: transform 1s; 2283 | transition: transform 1s; 2284 | } 2285 | 2286 | .nav-bg img { 2287 | height: 100%; 2288 | left: 0; 2289 | object-fit: cover; 2290 | position: absolute; 2291 | top: 0; 2292 | width: 100%; 2293 | } 2294 | 2295 | .post-navigation a:hover { 2296 | color: #fff; 2297 | } 2298 | 2299 | .post-navigation a:hover .nav-bg { 2300 | -webkit-transform: scale(1.05, 1.05); 2301 | transform: scale(1.05, 1.05); 2302 | } 2303 | 2304 | .nav-inside { 2305 | bottom: 30px; 2306 | left: 30px; 2307 | overflow: hidden; 2308 | position: absolute; 2309 | right: 30px; 2310 | top: 90px; 2311 | } 2312 | 2313 | .nav-before { 2314 | color: #cd9023; 2315 | display: block; 2316 | font-family: 'Playfair Display', serif; 2317 | font-size: 14px; 2318 | margin-bottom: 20px; 2319 | padding-bottom: 5px; 2320 | position: relative; 2321 | } 2322 | 2323 | .nav-before:after { 2324 | background-color: #cd9023; 2325 | bottom: 0; 2326 | content: ""; 2327 | height: 1px; 2328 | position: absolute; 2329 | width: 80px; 2330 | } 2331 | 2332 | .nav-previous .nav-before:after { 2333 | right: 0; 2334 | } 2335 | 2336 | .nav-next .nav-before:after { 2337 | left: 0; 2338 | } 2339 | 2340 | .nav-title { 2341 | color: #fff; 2342 | display: block; 2343 | font-family: 'Playfair Display', serif; 2344 | font-size: 24px; 2345 | line-height: 1.33333; 2346 | margin-bottom: 5px; 2347 | } 2348 | 2349 | .nav-date { 2350 | color: #adabac; 2351 | font-size: 12px; 2352 | letter-spacing: 2px; 2353 | text-transform: uppercase; 2354 | } 2355 | 2356 | @media only screen and (max-width: 800px) { 2357 | .nav-previous, 2358 | .nav-next { 2359 | border-left: 0; 2360 | border-right: 0; 2361 | float: none; 2362 | text-align: left; 2363 | width: 100%; 2364 | } 2365 | 2366 | .nav-previous .nav-before:after { 2367 | left: 0; 2368 | right: auto; 2369 | } 2370 | 2371 | .nav-next + .nav-previous { 2372 | border-top: 1px solid rgba(90, 90, 90, 0.3); 2373 | } 2374 | } 2375 | 2376 | @media only screen and (max-width: 400px) { 2377 | .nav-previous, 2378 | .nav-next { 2379 | padding-bottom: 300px; 2380 | } 2381 | 2382 | .nav-inside { 2383 | top: 75px; 2384 | } 2385 | 2386 | .nav-title { 2387 | font-size: 20px; 2388 | } 2389 | } 2390 | 2391 | /** 2392 | * 7. Site Footer 2393 | * ---------------------------------------------------------------------------- 2394 | */ 2395 | 2396 | .site-footer { 2397 | background-color: #101012; 2398 | padding-bottom: 60px; 2399 | padding-top: 90px; 2400 | text-align: center; 2401 | } 2402 | 2403 | .offsite-links { 2404 | margin-bottom: 45px; 2405 | } 2406 | 2407 | .offsite-links a { 2408 | margin: 0 7px 15px; 2409 | } 2410 | 2411 | .site-info { 2412 | color: #5a5a5a; 2413 | font-size: 10px; 2414 | letter-spacing: 2px; 2415 | margin-bottom: 45px; 2416 | text-transform: uppercase; 2417 | } 2418 | 2419 | .site-info a:hover { 2420 | color: #adabac; 2421 | } 2422 | 2423 | .site-footer .arrow-up:before, 2424 | .site-footer .arrow-up:after { 2425 | background-color: #5a5a5a; 2426 | -webkit-transition: .3s; 2427 | transition: .3s; 2428 | } 2429 | 2430 | .site-footer .arrow-up:hover:before, 2431 | .site-footer .arrow-up:hover:after { 2432 | background-color: #cd9023; 2433 | } 2434 | -------------------------------------------------------------------------------- /subtle-galaxy/assets/styles/main.less: -------------------------------------------------------------------------------- 1 | @import "_core/style"; 2 | 3 | @import "_blocks/post"; 4 | @import "_blocks/archives"; 5 | @import "_blocks/tags"; 6 | @import "_blocks/tomorrowNight"; 7 | -------------------------------------------------------------------------------- /subtle-galaxy/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Subtle Galaxy", 3 | "version": "1.0.0", 4 | "author": "Vick Zhang", 5 | "customConfig": [ 6 | { 7 | "name": "bgColor", 8 | "label": "网页背景色", 9 | "group": "布局", 10 | "value": "#ffffff", 11 | "type": "input", 12 | "card": "color", 13 | "note": "颜色字符串:(如:#EEEEEE、rgba(255, 255, 255, 0.9))" 14 | }, 15 | { 16 | "name": "homeTitle", 17 | "label": "首页标题", 18 | "group": "布局", 19 | "value": "Hello World", 20 | "type": "input", 21 | "note": "首页大标题" 22 | }, 23 | { 24 | "name": "homeDes", 25 | "label": "首页介绍", 26 | "group": "布局", 27 | "value": "Kill Time, Or Kiss Time", 28 | "type": "input", 29 | "note": "首页大标题下面的介绍文字" 30 | }, 31 | { 32 | "name": "homeCover", 33 | "label": "首页封面", 34 | "group": "布局", 35 | "value": "home-cover.jpg", 36 | "type": "input", 37 | "note": "首页背景封面图片,请将图片放入主题subtle/assets/media/images/目录下,填入文件名称(包括后缀)即可" 38 | }, 39 | { 40 | "name": "github", 41 | "label": "Github", 42 | "group": "社交", 43 | "value": "", 44 | "type": "input", 45 | "note": "链接地址" 46 | }, 47 | { 48 | "name": "twitter", 49 | "label": "Twitter", 50 | "group": "社交", 51 | "value": "", 52 | "type": "input", 53 | "note": "链接地址" 54 | }, 55 | { 56 | "name": "weibo", 57 | "label": "微博", 58 | "group": "社交", 59 | "value": "", 60 | "type": "input", 61 | "note": "链接地址" 62 | }, 63 | { 64 | "name": "zhihu", 65 | "label": "知乎", 66 | "group": "社交", 67 | "value": "", 68 | "type": "input", 69 | "note": "链接地址" 70 | }, 71 | { 72 | "name": "customCss", 73 | "label": "自定义CSS", 74 | "group": "自定义样式", 75 | "value": "", 76 | "type": "textarea", 77 | "note": "" 78 | }, 79 | { 80 | "name": "baiduStats", 81 | "label": "百度统计代码", 82 | "group": "网站统计", 83 | "value": "", 84 | "type": "textarea", 85 | "note": "" 86 | } 87 | ] 88 | } 89 | -------------------------------------------------------------------------------- /subtle-galaxy/style-override.js: -------------------------------------------------------------------------------- 1 | const generateOverride = (params = {}) => { 2 | let result = ''; 3 | 4 | // 内容区背景色 - contentBgColor 5 | if (params.bgColor && params.bgColor !== '#ffffff') { 6 | result += ` 7 | body { 8 | background: ${params.bgColor}; 9 | } 10 | ` 11 | } 12 | 13 | // 自定义CSS 14 | if (params.customCss) { 15 | result += ` 16 | ${params.customCss} 17 | ` 18 | } 19 | 20 | return result 21 | }; 22 | 23 | module.exports = generateOverride; 24 | -------------------------------------------------------------------------------- /subtle-galaxy/templates/_blocks/comment.ejs: -------------------------------------------------------------------------------- 1 |
2 |
3 |

评论

4 | <% if (typeof commentSetting !== 'undefined' && commentSetting.showComment) { %> 5 | <% if (commentSetting.commentPlatform === 'gitalk') { %> 6 |
7 | <% } %> 8 | 9 | <% if (commentSetting.commentPlatform === 'disqus') { %> 10 |
11 | <% } %> 12 | <% } %> 13 |
14 |
15 | -------------------------------------------------------------------------------- /subtle-galaxy/templates/_blocks/footer.ejs: -------------------------------------------------------------------------------- 1 |
2 |
3 | 4 | 13 | 14 |
15 | THEME BY Subtle Galaxy, REFERENCE FROM Subtle
16 | <%- themeConfig.footerInfo %> 17 |
18 | Back to the top 19 |
20 |
21 | -------------------------------------------------------------------------------- /subtle-galaxy/templates/_blocks/head.ejs: -------------------------------------------------------------------------------- 1 | 2 | 3 | <%= themeConfig.siteName %> 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | <% if (typeof commentSetting !== 'undefined' && commentSetting.showComment) { %> 13 | <% if (commentSetting.commentPlatform === 'gitalk') { %> 14 | 15 | <% } %> 16 | 17 | <% if (commentSetting.commentPlatform === 'disqus') { %> 18 | 19 | <% } %> 20 | <% } %> 21 | 22 | 23 | 24 | <% if (site.customConfig.baiduStats) { %> 25 | 26 | <%- site.customConfig.baiduStats %> 27 | <% } %> 28 | -------------------------------------------------------------------------------- /subtle-galaxy/templates/_blocks/header.ejs: -------------------------------------------------------------------------------- 1 | 5 | 6 | 48 | -------------------------------------------------------------------------------- /subtle-galaxy/templates/_blocks/pagination.ejs: -------------------------------------------------------------------------------- 1 | 13 | -------------------------------------------------------------------------------- /subtle-galaxy/templates/_blocks/scripts.ejs: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 14 | 15 | <% if (typeof commentSetting !== 'undefined' && commentSetting.showComment) { %> 16 | 17 | <% if (commentSetting.commentPlatform === 'gitalk') { %> 18 | 19 | 34 | <% } %> 35 | 36 | <% if (commentSetting.commentPlatform === 'disqus') { %> 37 | 38 | 50 | <% } %> 51 | 52 | <% } %> 53 | 54 | -------------------------------------------------------------------------------- /subtle-galaxy/templates/archives.ejs: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | <%- include('./_blocks/head', { siteTitle: `文章归档 | ${themeConfig.siteName}` }) %> 5 | 6 | 7 |
8 | 9 | <%- include('./_blocks/header') %> 10 | 11 |
12 |
13 | 14 | 23 | 24 | <% let years = []; posts.forEach((item) => { 25 | const year = item.date.substring(0, 4); 26 | if (!years.includes(year)) { 27 | years.push(year); 28 | } 29 | }); %> 30 |
31 | <% years.forEach(function(year) { %> 32 | 33 |
34 | 35 |
36 |
37 | 42 |
43 | <% posts.forEach(function(post) { %> 44 | 45 | <% if (post.date.indexOf(year) !== -1) { %> 46 | 56 | <% } %> 57 | 58 | <% }); %> 59 |
60 |
61 |
62 |
63 | 64 | <% }); %> 65 | 66 |
67 |
68 |
69 | 70 | <%- include('./_blocks/footer') %> 71 | 72 |
73 | 74 | <%- include('./_blocks/scripts') %> 75 | 76 | 77 | 78 | -------------------------------------------------------------------------------- /subtle-galaxy/templates/index.ejs: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | <%- include('./_blocks/head') %> 5 | 6 | 7 |
8 | 9 | <%- include('./_blocks/header') %> 10 | 11 |
12 |
13 | 14 |
15 |
16 | <% if (site.customConfig.homeCover) { %> 17 | cover 18 | <% } %> 19 |
20 |
21 | 22 |
23 |

<%= site.customConfig.homeTitle %>

24 |

<%= site.customConfig.homeDes %>

25 | Scroll Down 26 |
27 |
28 |
29 | 30 | 31 |
32 | <% posts.forEach(function(post) { %> 33 | 69 | <% }); %> 70 |
71 | 72 | <%- include('./_blocks/pagination') %> 73 | 74 |
75 |
76 | 77 | <%- include('./_blocks/footer') %> 78 | 79 |
80 | 81 | <%- include('./_blocks/scripts') %> 82 | 83 | 84 | 85 | -------------------------------------------------------------------------------- /subtle-galaxy/templates/post.ejs: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | <%- include('./_blocks/head', { siteTitle: `${post.title} | ${themeConfig.siteName}` }) %> 5 | 6 | 7 |
8 | 9 | <%- include('./_blocks/header') %> 10 | 11 |
12 |
13 |
14 |
15 |
style="background-image: linear-gradient( 135deg, #43CBFF 10%, #9708CC 100%);" <% } %>> 16 | 17 | <% if (post.feature) { %> 18 | <%= post.title %> 20 | <% } %> 21 | 22 |
23 |
24 |
25 | 32 |

<%= post.title %>

33 | 43 | Scroll Down 44 |
45 |
46 |
47 |
48 | 49 |
50 | <%- post.content %> 51 |
52 | 53 |
54 |
55 | 56 | <%- include('./_blocks/comment') %> 57 | 58 | <% if (post.nextPost && !post.hideInList) { %> 59 | 76 | <% } %> 77 | 78 |
79 |
80 | 81 | <%- include('./_blocks/footer') %> 82 | 83 |
84 | 85 | <%- include('./_blocks/scripts') %> 86 | 87 | 88 | 89 | -------------------------------------------------------------------------------- /subtle-galaxy/templates/tag.ejs: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | <%- include('./_blocks/head', { siteTitle: `${tag.name} | ${themeConfig.siteName}` }) %> 5 | 6 | 7 |
8 | 9 | <%- include('./_blocks/header') %> 10 | 11 |
12 |
13 | 14 | 24 | 25 |
26 | <% posts.forEach(function(post) { %> 27 | 63 | <% }); %> 64 |
65 | 66 | <%- include('./_blocks/pagination') %> 67 | 68 | 69 |
70 |
71 | 72 | <%- include('./_blocks/footer') %> 73 | 74 |
75 | 76 | <%- include('./_blocks/scripts') %> 77 | 78 | 79 | 80 | -------------------------------------------------------------------------------- /subtle-galaxy/templates/tags.ejs: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | <%- include('./_blocks/head', { siteTitle: `标签页 | ${themeConfig.siteName}` }) %> 5 | 6 | 7 |
8 | 9 | <%- include('./_blocks/header') %> 10 | 11 |
12 |
13 | 22 | 23 |
24 |
25 | <% site.tags.forEach(function(tag) { %> 26 | 27 | <%= tag.name %> 28 | 29 | 30 | <% }); %> 31 |
32 |
33 | 34 |
35 |
36 | 37 | <%- include('./_blocks/footer') %> 38 | 39 |
40 | 41 | <%- include('./_blocks/scripts') %> 42 | 43 | 44 | 45 | --------------------------------------------------------------------------------