├── .gitignore ├── src ├── font │ ├── icon.eot │ ├── icon.ttf │ ├── icon.woff │ ├── icon.woff2 │ └── icon.svg ├── screenshot-desktop.jpg ├── screenshot-mobile.jpg ├── sass │ ├── _fonts.scss │ ├── _icons.scss │ └── style.scss └── js │ └── script.js ├── assets ├── font │ ├── icon.eot │ ├── icon.ttf │ ├── icon.woff │ ├── icon.woff2 │ └── icon.svg ├── js │ └── script.js └── css │ ├── dependencies.css │ └── style.css ├── .github └── FUNDING.yml ├── bower.json ├── page.hbs ├── partials ├── pagination.hbs ├── loop.hbs └── navigation.hbs ├── index.hbs ├── tag.hbs ├── locales ├── en.json └── de.json ├── LICENSE.txt ├── package.json ├── author.hbs ├── default.hbs ├── README.md ├── post.hbs └── Gruntfile.js /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_store 2 | node_modules 3 | bower_components 4 | -------------------------------------------------------------------------------- /src/font/icon.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zutrinken/kava/HEAD/src/font/icon.eot -------------------------------------------------------------------------------- /src/font/icon.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zutrinken/kava/HEAD/src/font/icon.ttf -------------------------------------------------------------------------------- /src/font/icon.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zutrinken/kava/HEAD/src/font/icon.woff -------------------------------------------------------------------------------- /src/font/icon.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zutrinken/kava/HEAD/src/font/icon.woff2 -------------------------------------------------------------------------------- /assets/font/icon.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zutrinken/kava/HEAD/assets/font/icon.eot -------------------------------------------------------------------------------- /assets/font/icon.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zutrinken/kava/HEAD/assets/font/icon.ttf -------------------------------------------------------------------------------- /assets/font/icon.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zutrinken/kava/HEAD/assets/font/icon.woff -------------------------------------------------------------------------------- /assets/font/icon.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zutrinken/kava/HEAD/assets/font/icon.woff2 -------------------------------------------------------------------------------- /src/screenshot-desktop.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zutrinken/kava/HEAD/src/screenshot-desktop.jpg -------------------------------------------------------------------------------- /src/screenshot-mobile.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zutrinken/kava/HEAD/src/screenshot-mobile.jpg -------------------------------------------------------------------------------- /src/sass/_fonts.scss: -------------------------------------------------------------------------------- 1 | @import url('https://fonts.googleapis.com/css?family=Montserrat:400,400i,700,700i,800'); 2 | -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | open_collective: zutrinken 4 | custom: ['https://www.paypal.me/zutrinken'] 5 | -------------------------------------------------------------------------------- /bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "zero", 3 | "devDependencies": { 4 | "fitvids": "^1.2.0", 5 | "highlightjs": "^9.12.0", 6 | "jquery": "^3.3.1", 7 | "normalize-css": "normalize.css#^7.0.0" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /page.hbs: -------------------------------------------------------------------------------- 1 | {{!< default}} 2 | 3 | {{#post}} 4 | 5 | 15 | 16 |
17 |
18 |
19 | {{content}} 20 |
21 |
22 |
23 | {{/post}} 24 | -------------------------------------------------------------------------------- /partials/pagination.hbs: -------------------------------------------------------------------------------- 1 | 14 | -------------------------------------------------------------------------------- /index.hbs: -------------------------------------------------------------------------------- 1 | {{!< default}} 2 | 3 | 21 |
22 |
23 | {{> "loop"}} 24 |
25 |
26 | -------------------------------------------------------------------------------- /partials/loop.hbs: -------------------------------------------------------------------------------- 1 |
2 | {{#foreach posts}} 3 |
4 | {{#if feature_image}} 5 | 6 |
7 |
8 | {{/if}} 9 |

{{{title}}}

10 | 13 |

{{excerpt words="25"}} … {{t "Read more"}}

14 |
15 | {{/foreach}} 16 |
17 | {{pagination}} 18 | -------------------------------------------------------------------------------- /tag.hbs: -------------------------------------------------------------------------------- 1 | {{!< default}} 2 | 3 | 20 |
21 |
22 | {{> "loop"}} 23 |
24 |
25 | -------------------------------------------------------------------------------- /locales/en.json: -------------------------------------------------------------------------------- 1 | { 2 | "No posts" : "No posts", 3 | "1 post" : "1 post", 4 | "% posts" : "% posts", 5 | "Newer posts" : "Newer posts", 6 | "Older posts" : "Older posts", 7 | "Page {page} of {pages}" : "Page {page} of {pages}", 8 | "On" : "On", 9 | "by" : "by", 10 | "under 1 min read" : "under 1 min read", 11 | "1 min read" : "1 min read", 12 | "% min read" : "% min read", 13 | "Searchresults" : "Searchresults", 14 | "posts found" : "posts found", 15 | "Theme {themelink} by {creatorlink}" : "Theme {themelink} by {creatorlink}", 16 | "Published with {ghostlink}" : "Published with {ghostlink}", 17 | "Subscribe" : "Subscribe", 18 | "Get the latest posts delivered right to your inbox" : "Get the latest posts delivered right to your inbox", 19 | "Your email address" : "Your email address", 20 | "youremail@example.com": "youremail@example.com", 21 | "Share" : "Share", 22 | "Author" : "Author", 23 | "Read more" : "Read more", 24 | "Comments" : "Comments", 25 | "Next" : "Next", 26 | "Previous" : "Previous", 27 | "Search" : "Search" 28 | } 29 | -------------------------------------------------------------------------------- /locales/de.json: -------------------------------------------------------------------------------- 1 | { 2 | "No posts" : "Keine Artikel", 3 | "1 post" : "Ein Artikel", 4 | "% posts" : "% Artikel", 5 | "Newer posts" : "Neuere Artikel", 6 | "Older posts" : "Ältere Artikel", 7 | "Page {page} of {pages}" : "Seite {page} von {pages}", 8 | "On" : "Am", 9 | "by" : "von", 10 | "under 1 min read" : "Lesezeit < 1 Minute", 11 | "1 min read" : "Lesezeit: ~1 Minute", 12 | "% min read" : "Lesezeit: ~% Minute", 13 | "Searchresults" : "Suchergebnisse", 14 | "posts found" : "Gefundene Artikel", 15 | "Theme {themelink} by {creatorlink}" : "Theme {themelink} von {creatorlink}", 16 | "Published with {ghostlink}" : "Veröffentlicht mit {ghostlink}", 17 | "Subscribe" : "Abonnieren", 18 | "Get the latest posts delivered right to your inbox": "Empfange die neuesten Posts direkt in deinem Posteingang", 19 | "Your email address" : "Deine Email-Addresse", 20 | "youremail@example.com": "deine@emailadresse.de", 21 | "Share" : "Teilen", 22 | "Author" : "Autor", 23 | "Read more" : "Weiterlesen", 24 | "Comments" : "Kommentare", 25 | "Next" : "Nächster", 26 | "Previous" : "Vorheriger", 27 | "Search" : "Suche" 28 | } 29 | -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2017-2019 Peter Amende - Released under The MIT License. 2 | 3 | Permission is hereby granted, free of charge, to any person 4 | obtaining a copy of this software and associated documentation 5 | files (the "Software"), to deal in the Software without 6 | restriction, including without limitation the rights to use, 7 | copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | copies of the Software, and to permit persons to whom the 9 | Software is furnished to do so, subject to the following 10 | conditions: 11 | 12 | The above copyright notice and this permission notice shall be 13 | included in all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 16 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 17 | OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 18 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 19 | HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 20 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 21 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 22 | OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /partials/navigation.hbs: -------------------------------------------------------------------------------- 1 | 36 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "kava", 3 | "description": "Ghost Theme", 4 | "demo": "https://kava.peteramende.de", 5 | "version": "1.4.0", 6 | "engines": { 7 | "ghost": ">=3.0.0", 8 | "ghost-api": "v3" 9 | }, 10 | "license": "MIT", 11 | "screenshots": { 12 | "desktop": "src/screenshot-desktop.jpg", 13 | "mobile": "src/screenshot-mobile.jpg" 14 | }, 15 | "author": { 16 | "name": "Peter Amende", 17 | "email": "xoxo@peteramende.de", 18 | "url": "https://peteramende.de" 19 | }, 20 | "gpm": { 21 | "type": "theme", 22 | "categories": [ 23 | "Basic" 24 | ] 25 | }, 26 | "keywords": [ 27 | "ghost-theme", 28 | "ghost", 29 | "theme" 30 | ], 31 | "repository": { 32 | "type": "git", 33 | "url": "git://github.com/zutrinken/kava.git" 34 | }, 35 | "dependencies": { 36 | "ghosthunter": "github:jamalneufeld/ghostHunter" 37 | }, 38 | "devDependencies": { 39 | "autoprefixer": "^9.1.5", 40 | "grunt": "^1.0.4", 41 | "grunt-contrib-clean": "^1.1.0", 42 | "grunt-contrib-copy": "^1.0.0", 43 | "grunt-contrib-cssmin": "^2.2.1", 44 | "grunt-contrib-uglify": "^3.3.0", 45 | "grunt-contrib-watch": "^1.0.0", 46 | "grunt-postcss": "^0.9.0", 47 | "grunt-sass": "^2.1.0", 48 | "load-grunt-tasks": "^3.5.2" 49 | }, 50 | "config": { 51 | "posts_per_page": 6 52 | }, 53 | "browserslist": [ 54 | "defaults" 55 | ] 56 | } 57 | -------------------------------------------------------------------------------- /author.hbs: -------------------------------------------------------------------------------- 1 | {{!< default}} 2 | 3 | {{#author}} 4 | 35 | {{/author}} 36 |
37 |
38 | {{> "loop"}} 39 |
40 |
41 | -------------------------------------------------------------------------------- /default.hbs: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | {{meta_title}} 7 | 8 | 9 | 10 | 11 | {{ghost_head}} 12 | 13 | 14 |
15 | 20 | 25 |
26 | {{{body}}} 27 |
28 | 36 |
37 | {{ghost_foot}} 38 | 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Kava 2 | 3 | BRVTAL GHOST THEME 4 | 5 | Demo: [kava.zutrinken.com](https://kava.zutrinken.com/) 6 | 7 | ## Screenshots 8 | 9 | 10 | 11 | 14 | 17 | 18 |
12 | 13 | 15 | 16 |
19 | 20 | ## Setup [Disqus](https://disqus.com/) 21 | 22 | 1. Go to __Code injection__. 23 | 2. Add this to __Blog Header__: 24 | ```` 25 | 26 | ```` 27 | 28 | ## Setup search 29 | 30 | The search function is build with [ghostHunter](https://github.com/jamalneufeld/ghostHunter): 31 | 32 | 1. Go to __Integrations__. 33 | 2. Choose __Add custom integration__, name it `ghostHunter` and choose __Create__. Copy the generated Content API Key. 34 | 3. Go to __Code injection__. 35 | 4. Add this to __Blog Header__: 36 | ```` 37 | 42 | ```` 43 | 44 | ## Development 45 | 46 | Install [Grunt](http://gruntjs.com/getting-started/): 47 | 48 | npm install -g grunt-cli 49 | 50 | Install Grunt modules: 51 | 52 | npm install 53 | 54 | Install [Bower](http://bower.io): 55 | 56 | npm install -g bower 57 | 58 | Install Bower components: 59 | 60 | bower install 61 | 62 | Build Grunt project: 63 | 64 | grunt 65 | 66 | Distribute Grunt project: 67 | 68 | grunt build 69 | 70 | ## Copyright & License 71 | 72 | Copyright (C) 2015-2019 Peter Amende - Released under the [MIT License](https://github.com/zutrinken/bleak/blob/master/LICENSE). 73 | -------------------------------------------------------------------------------- /assets/js/script.js: -------------------------------------------------------------------------------- 1 | jQuery(function(n){"undefined"!=typeof ghosthunter_key&&(n("#gh").css({display:"block"}),n("#search-field").ghostHunter({results:"#results",result_template:'

{{title}}

On
',info_template:'

Searchresults

{{amount}} posts found
',displaySearchInfo:!0,onComplete:function(e){n("#search-field").prop("value")?(n("#searchresults").show(),n("#main").hide()):(n("#searchresults").hide(),n("#main").show())}}));var t=n(".post"),a=n(window);function e(){if(1<=t.length){var e=t.offset().top+t.height(),s=100-(e-(a.scrollTop()+a.height()))/(e-a.height())*100;100