# bubblin-jekyll The `Bubblin-Jekyll` is the Jekyll theme in use at [The Bubblin Blog](https://bubblin.io/blog/). It is a particularly useful theme for situations where you want to add a blog to your site, say on the side of your rails app (website) or over a url like this: > https://example.com/blog/ `Bubblin-Jekyll` was originally a fork off of [Minima](https://github.com/jekyll/minima)—the default gem-theme of Jekyll-but it has been rewritten completely using the [Toucaan CSS](https://github.com/marvindanig/toucaan) fundamentals for its themed layout. A tutorial on how to setup a jekyll blog using the `bubblin-jekyll` theme alongside your rails app is available [here](https://bubblin.io/blog/). [Theme preview](https://jekyll.github.io/bubblin-jekyll/) ![bubblin-jekyll theme preview](/screenshot.png) ## Installation Add this line to your Jekyll site's Gemfile: ```ruby gem "bubblin-jekyll" ``` And add this line to your Jekyll site: ```yaml theme: bubblin-jekyll search: true ``` And then execute: $ bundle ### Layouts Refers to files within the `_layouts` directory, that define the markup for your theme. - `default.html` — The base layout that lays the foundation for subsequent layouts. The derived layouts inject their contents into this file at the line that says ` {{ content }} ` and are linked to this file via [FrontMatter](https://jekyllrb.com/docs/frontmatter/) declaration `layout: default`. - `home.html` — The layout for your landing-page / home-page / index-page. - `page.html` — The layout for your documents that contain FrontMatter, but are not posts. - `post.html` — The layout for your posts. ### Includes Refers to snippets of code within the `_includes` directory that can be inserted in multiple layouts (and another include-file as well) within the same theme-gem. - `disqus_comments.html` — Code to markup disqus comment box. - `footer.html` — Defines the site's footer section. - `google-analytics.html` — Inserts Google Analytics module (active only in production environment). - `head.html` — Code-block that defines the `
` in *default* layout. - `header.html` — Defines the site's main header section. By default, pages with a defined `title` attribute will have links displayed here. - `icon-* files` — Inserts github and twitter ids with respective icons. ### Sass Refers to `.scss` files within the `_sass` directory that define the theme's styles. - `bubblin-jekyll.scss` — The core file imported by preprocessed `main.scss`, it defines the variable defaults for the theme and also further imports sass partials to supplement itself. - `bubblin-jekyll/_base.scss` — Resets and defines base styles for various HTML elements. - `bubblin-jekyll/_layout.scss` — Defines the visual style for various layouts. - `bubblin-jekyll/_syntax-highlighting.scss` — Defines the styles for syntax-highlighting. ### Assets Refers to various asset files within the `assets` directory. Contains the `main.scss` that imports sass files from within the `_sass` directory. This `main.scss` is what gets processed into the theme's main stylesheet `main.css` called by `_layouts/default.html` via `_includes/head.html`. This directory can include sub-directories to manage assets of similar type, and will be copied over as is, to the final transformed site directory. ### Plugins Bubblin-jekyll comes preinstalled with the [`jekyll-seo-tag`](https://github.com/jekyll/jekyll-seo-tag) plugin to make sure your website gets the most useful meta tags. See [usage](https://github.com/jekyll/jekyll-seo-tag#usage) to know how to set it up. ## Usage ### Customization To override the default structure and style of bubblin-jekyll, simply create the concerned directory at the root of your site, copy the file you wish to customize to that directory, and then edit the file. e.g., to override the [`_includes/head.html `](_includes/head.html) file to specify a custom style path, create an `_includes` directory, copy `_includes/head.html` from minima gem folder to `