• Stars
    star
    150
  • Rank 245,969 (Top 5 %)
  • Language SCSS
  • License
    MIT License
  • Created over 7 years ago
  • Updated over 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Simple and clean Jekyll theme compatible with GitHub Pages.

Kagami

Build Status Gem Version

Simple and clean theme for Jekyll and GitHub Pages.

Screenshot

Installation

Add this line to your Jekyll site's Gemfile:

gem "jekyll-theme-kagami"

And add this line to your Jekyll site's _config.yml:

theme: jekyll-theme-kagami

And then execute:

$ bundle

Or install it yourself as:

$ gem install jekyll-theme-kagami

GitHub Pages

Jekyll build is integrated with GitHub Pages with limited function. This section is intended for those who want to use the theme with GitHub Pages hosted sites.

  1. Download latest gem file from https://rubygems.org/gems/jekyll-theme-kagami
  2. Run gem unpack [path-to-downloaded-gem-file] --target=. on jekyll site project folder
  3. Delete the line theme: ... in _config.yml

Zip archive downloaded from release page may not work because GitHub does not pack necessary files from submodules.

Instruction 1 and 2 can also work when you decide to upgrade your installation.

Usage

Social account links

You can customize social account links by adding following lines to _config.yml

github_username: my_github_username
twitter_username: my_twitter_username
instagram_username: my_instagram_username

You can customize footer by overriding _includes/footer.html.

Syntax highlighting

Kagami support color schemes from jekyll-pygments-themes.

Add the following lines to choose a color scheme:

color_scheme: github

Comment service (Disqus or Gitalk)

Add the following lines to your Jekyll site to enable Disqus comment service:

disqus_shortname: my_disqus_shortname

You can find out more about Disqus' shortnames here.

For Gitalk:

gitalk:
  id: <clientID>
  secret: <clientSecret>
  repo: <repo>
  owner: <owner> # (optional) if not set, value of `github_username` will be used
  admin: <admin> # (optional) if not set, value of `github_username` will be used
  proxy: ...     # (optional)

By default, comment service will only be enabled in production mode, set an environment JEKYLL_ENV=production for local test.

If you don't want to comments for particular posts you can disable that by adding comments: false to the post's YAML Front Matter.

Google Analytics

To enable Google Anaytics, add the following lines to your Jekyll site:

google_analytics: UA-NNNNNNNN-N

Google Analytics will only appear in production, i.e., JEKYLL_ENV=production

Navigation Bar

Pages and posts can be registered as navigation item with following frontmatter:

navbar_title: Awesome Title # specifies the text to display as navigation item

Navigation items are ordered in alphabetical order by default in Jekyll. Adjust the order manually with a position value:

position: 999

Tags and category

Layout file post-list supports filtering by tag or category. Create pages with following frontmatter will generate a filtered post list.

title: Title of Tag Page
layout: post-list
filter:
  - by_tag: tagname

To filter by both category and tags:

filter:
  - by_tag: tagname
    by_category: category

Results from multiple filters are combined (logical 'or') into the result.

A more flexible filter strategy is supported by supplying liquid expression to by_expression parameter in which post object can be referenced by the name post.

MathJax

You can use MathJax with Kramdown's built-in support.

To enable MathJax, add following lines to your site or post's front matter stuff:

mathjax: true

Mermaid

To enable mermaid, add following line to the site configuration or post's front matter stuff:

mermaid: true

Code blocks with mermaid language tag should be transformed into diagrams.

Use .side-note and .retina2x

Taking advantages of Block/span IAL, Kagami supports extra elements in writing.

Add {:.side-note} notation after a paragraph (in a new line just after paragraph WITHOUT extra line breaks) will style the paragraph as a sidenote. Sidenote will be pull to the left of the page and only be visible in desktop mode.

Kagami is also optimized for high-res image display:

![image@2x]([email protected]){:.retina2x}

And the retina image will be scaled to half of it's original size in pixels.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/kamikat/jekyll-theme-kagami. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.

Development

To set up your environment to develop this theme, run bundle install.

Your theme is setup just like a normal Jekyll site! To test your theme, run bundle exec jekyll serve -s example and open your browser at http://localhost:4000. This starts a Jekyll server using your theme. Add pages, documents, data, etc. like normal to test your theme's contents. As you make modifications to your theme and to your content, your site will regenerate and you should see the changes in the browser after a refresh, just like normal.

When your theme is released, only the files in _layouts, _includes, and _sass tracked with Git will be released.

License

The theme is available as open source under the terms of the MIT License.

More Repositories

1

tttfi

Middleware for IFTTT.
JavaScript
348
star
2

bilibili-get

Bilibili video downloader.
JavaScript
185
star
3

moshi-jsonapi

JSON API v1.0 Specification in Moshi.
Java
156
star
4

toast-compat

Toast notification polyfill.
Java
56
star
5

52g

Index leaked password data with bloom filter.
C++
50
star
6

cpktools

cpk file tools and text extraction tools for translation works on ε‚γ‚γŒγ‚Šγƒγƒͺケーン
Python
49
star
7

onscripter

Mirror of onscripter by ogapee
C++
32
star
8

feedo

RSS reader for automation.
Python
18
star
9

flvcopycat

Joining flv files with same options (normally splitted by video sites) together losslessly
Python
18
star
10

bilibili-playurl

Get playurl from cid.
JavaScript
16
star
11

co-router

Benefit from generator on express router.
JavaScript
11
star
12

o3o_bot

Kaomoji on Telegram Bot API
Go
11
star
13

ping-chart

Ping statistics in ASCII chart.
Shell
10
star
14

openwrt-dirtydns

Simple DNS forwarder for OpenWRT.
Shell
8
star
15

ONScripter-SAO

Android Based UI Product take SAO(Animation) as prototype
C
6
star
16

XGIMI-Z6-Polar-Toybox

Customize XGIMI Z6 Polar (synsepalum_R) device.
Shell
5
star
17

abt

BitTorrent workflow with aria2.
Python
5
star
18

fontconfig

fontconfig configuration
5
star
19

vimrc

My $HOME/.vim with Git & Pathogen
Vim Script
5
star
20

mm.io

Simple demonstration of MVP with Dagger2/Android Data Binding Library and RxJava
Java
4
star
21

OreoTintRemover

Remove annoying color tint from lock-screen and notification background.
Java
4
star
22

DidiTech2016

Solution to DidiTech2016 problem using Random Forest.
Python
4
star
23

Courier-Typewritter-Fonts

Monospace font based on Courier 10 Pitch by thynson
4
star
24

dagger2-android-example

IoC on Android done right with Dagger2.
Java
4
star
25

squel-sugar

Several syntactic sugar extension to https://hiddentao.github.io/squel/ API
JavaScript
3
star
26

kisstudou

Project to download and auto convert web video from tudou,youku,bilibili
Python
3
star
27

onscripter-cn

onscripter for android forked from natdon-san
C
2
star
28

docker-wine-py

Python 2.7 for Windows in Docker.
1
star
29

iona

Lightweight library for creating interactive docs.
JavaScript
1
star
30

haskell-trains

Solutions to Haskell problems on Codewars.
Haskell
1
star
31

grunt-boilerplate

Boilerplate for grunt based frontend(f2e) workflow
JavaScript
1
star
32

onscripter_android

C
1
star
33

octrello

Integrate Trello with GitHub.
JavaScript
1
star
34

mxnet-onbuild

Automated MXNet build.
Shell
1
star