Project

geekyll

0.0
Repository is archived
No commit activity in last 3 years
No release in over 3 years
Geekyll strong feature is a dynamic front-page system. Featuring: Bootstrap 4, jQuery, Fontawesome.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
 Dependencies

Development

~> 1.12
~> 3.2
~> 12.3.3
 Project Readme

geekyll Gem Version

geekyll sample implemetation

This theme has been created with one thing in mind: Displaying a summary of all site content in the landing page. Have you ever seen those landing pages (WordPress, usually) where "all" page layouts are displayed in the home page and accessible via scrolling? That's the idea.

What's included

  • Google fonts.
  • Font awesome. Bootstrap no longer support icons.
  • Bootstrap 4 alpha4. And since the whole folder of bootstrap4 is included, you can even have access to bootstrap variables and mixins!
  • jQuery 3.0.0.

Before you go

Installation

Add this line to your Jekyll site's Gemfile:

gem "geekyll"

Plus, add this another one to your _config.yml or to the :jekyll_plugins variable within your Gemfile. It is for processing Liquid tags manually.

gem "liquefy", "~> 0.1.2"

And add this line to your Jekyll site:

theme: geekyll

And then execute:

$ bundle

Or install it yourself as:

$ gem install geekyll

Usage

Front-page system

There are only two steps to follow in order to set up the front-page system:

  • Make your default/landing page extend the index layout, like:
---
layout: index
---
<!-- No content needed here -->
  • Make your pages have the following attributes:
    • indexable: Boolean. set it to "true".
    • priority: Integer. The higher its value, the higher the position of the page in both the body and navigation bar.
    • class: String. HTML class attribute for customizing the page style via CSS.
    • icon:: String. Fontawesome class for setting the icon for the navigation display, e.g : fa-rocket.

Other layouts:

  • root: Sets the base structure for every sub-layout.
  • index: The one you have to extend to use the front-page system.
  • post: Uncomplete. This theme is not intended to cohabitate with blogs (yet)
  • page: This layout should be extended for single pages. If they take part in the front-page system, will be included in the landing page. Take in account that pages are still accessible via URI, e.g example.org/portfolio. This is useful for let search engines know that your site is still divided into sections (by feed.xml)

Includes

  • analytics: code required for tracking user activit through GA.
  • navigation: will automatically search your pages for them to be listed.
  • image: images can sometimes be large pieces of code. Include it every time you need to embeed images by passing the following params:
    • //TODO: Add params
  • javascripts: Contains js files to be included at the bottom of the document.
  • social: Creates a list of social links in base to a map passed as an argument, .e.g:
twitter: johndoe
email: johndoe@foobar.com
  • opengrpah: Meta tags for good-looking media sharing.
  • footer: Three colums footer for copyright announcement,social links and featuring technologies.

_config.yml

This theme can be customized through:

  • google_analytics: UA-XXXXX-X
  • social_links: A list containing the available social platforms. E.g:
social_links:
  - platform: twitter
    url: //twitter.com/
    icon: fa fa-twitter
    title: Check my Twitter profile
  - platform: github
    url: //github.com/
    icon: fa fa-github
    title: Check my Github repos
  - platform: gitlab
    url: //gitlab.com/
    icon: fa fa-gitlab
    title: Check my gitlab repos
  • footer: Footer data can be set like:
footer:
  copyright: Copyright &copy; 2014-2016 ...
  featuring: Site made with A. Hosting by B.
  socials:
    github: katodia
    twitter: katodians
    email: info@katodia.com
    googleplus: +Katodia-Desarrollo-Aplicaciones
  • extra_js: If you need to add more js or other misc files, do it like so:
 extra_js:
  - assets/js/contact-form.js
  - assets/js/anchor-animation.js 
  • meta: In case you need to specify more standard meta tags:
meta: 
  keywords: web, development, game, design
  foo: bar

Output:

<meta name"keywords" content="web, development, game, design" />
<meta name"foo" content="bar" />

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/sonirico/geekyll/issues. 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.

You theme is setup just like a normal Jelyll site! To test your theme, run bundle exec jekyll serve 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.