Gordon  Matlala

Gordon Matlala

1666683480

Long-haul: A Minimal, Type-focused Jekyll Theme

long-haul

Long Haul is a minimal jekyll theme built with SASS / GULP / BROWSERSYNC / AUTOPREFIXER and focuses on long form blog posts. It is meant to be used as a starting point for a jekyll blog/website.

If you really enjoy Long Haul and want to give me credit somewhere on the internet send or tweet out your experience with Long Haul and tag me @brianmaierjr.

View Demo

Features

  • Minimal, Type Focused Design
  • Built with GULP + SASS + BROWSERSYNC + AUTOPREFIXER
  • SVG Social Icons
  • Responsive Nav Menu
  • XML Feed for RSS Readers
  • Contact Form via Formspree
  • 5 Post Loop with excerpt on Home Page
  • Previous / Next Post Navigation
  • Estimated Reading Time for posts
  • Stylish Drop Cap on posts
  • A Better Type Scale for all devices
  • Comments powered by Disqus
  • Dark Mode support via prefers-color-scheme

Setup

  1. Install Jekyll
  2. Fork the Long Haul repo
  3. Clone it
  4. Install Bundler
  5. Run bundle install
  6. Install gulp dependencies by running npm install
  7. Run Jekyll and watch files by running bundle exec gulp
  8. Customize and watch the magic happen!

Site Settings

The main settings can be found inside the _config.yml file:

  • title: title of your site
  • description: description of your site
  • url: your url
  • paginate: the amount of posts displayed on homepage
  • navigation: these are the links in the main site navigation
  • social diverse social media usernames (optional)
  • google_analytics Google Analytics key (optional)

Header Option

If you'd like your header to be larger then you can use the option below in you config.yml to make it take up half of the vertical space on screens 800px wide and up. Preview image below.

  • header: large

preview Long Haul

Download Details:

Author: brianmaierjr
Source Code: https://github.com/brianmaierjr/long-haul 
License: MIT license

#jekyll #css #gulp #blog 

What is GEEK

Buddha Community

Long-haul: A Minimal, Type-focused Jekyll Theme
Gordon  Matlala

Gordon Matlala

1666683480

Long-haul: A Minimal, Type-focused Jekyll Theme

long-haul

Long Haul is a minimal jekyll theme built with SASS / GULP / BROWSERSYNC / AUTOPREFIXER and focuses on long form blog posts. It is meant to be used as a starting point for a jekyll blog/website.

If you really enjoy Long Haul and want to give me credit somewhere on the internet send or tweet out your experience with Long Haul and tag me @brianmaierjr.

View Demo

Features

  • Minimal, Type Focused Design
  • Built with GULP + SASS + BROWSERSYNC + AUTOPREFIXER
  • SVG Social Icons
  • Responsive Nav Menu
  • XML Feed for RSS Readers
  • Contact Form via Formspree
  • 5 Post Loop with excerpt on Home Page
  • Previous / Next Post Navigation
  • Estimated Reading Time for posts
  • Stylish Drop Cap on posts
  • A Better Type Scale for all devices
  • Comments powered by Disqus
  • Dark Mode support via prefers-color-scheme

Setup

  1. Install Jekyll
  2. Fork the Long Haul repo
  3. Clone it
  4. Install Bundler
  5. Run bundle install
  6. Install gulp dependencies by running npm install
  7. Run Jekyll and watch files by running bundle exec gulp
  8. Customize and watch the magic happen!

Site Settings

The main settings can be found inside the _config.yml file:

  • title: title of your site
  • description: description of your site
  • url: your url
  • paginate: the amount of posts displayed on homepage
  • navigation: these are the links in the main site navigation
  • social diverse social media usernames (optional)
  • google_analytics Google Analytics key (optional)

Header Option

If you'd like your header to be larger then you can use the option below in you config.yml to make it take up half of the vertical space on screens 800px wide and up. Preview image below.

  • header: large

preview Long Haul

Download Details:

Author: brianmaierjr
Source Code: https://github.com/brianmaierjr/long-haul 
License: MIT license

#jekyll #css #gulp #blog 

Gordon  Matlala

Gordon Matlala

1665952140

Type-theme: A Free and Open-source Jekyll Theme with Responsive Design

Type Theme

A free and open-source Jekyll theme. Great for blogs and easy to customize.

Default Type Theme blog

Demo

Usage

  1. Fork and clone the Type Theme repo: git clone https://github.com/rohanchandra/type-theme
  2. Install Jekyll: gem install jekyll
  3. Install the theme's dependencies: bundle install
  4. Customize the theme (see below)
  5. Run the Jekyll server: jekyll serve

Customizing Type Theme

Open _config.yml in a text editor to change most of the blog's settings.

If a variable in this document is marked as "optional", disable the feature by removing all text from the variable. For example, to prevent the avatar from rendering in the header, the avatar line should read:

theme:
  title: Type Theme
  avatar:
  gravatar:

Notice the avatar variable is left intentionally blank.

Below is a summary of the configuration options in Type Theme.

Site configuration

The most common configurations, included here for guidance, are:

Jekyll website without a subpath (such as a GitHub Pages website for a given username):

# SITE CONFIGURATION
baseurl: ""
url: "https://username.github.io"

Jekyll website with subpath (like the Type Theme demo page):

# SITE CONFIGURATION
baseurl: "/sub-directory"
url: "https://username.github.io/"

Please configure this in _config.yml before using the theme.

Meta

Meta variables hold basic information about your Jekyll site which will be used throughout the site and as meta properties for search engines, browsers, and the site's RSS feed.

Change these variables in _config.yml:

VariableExampleDescriptionOptional
titleMy Jekyll BlogName of websiteYes
avatarassets/img/avatar.pngPath of avatar image, to be displayed in the theme's headerYes
gravatarf9879d71855b5ff21e4963273a886bfcMD5 hash of your email address to load your Gravatar in the theme's headerYes
descriptionMy blog postsShort description, primarily used by search enginesYes

Header and footer text

Change these variables in _config.yml:

VariableExampleDescriptionOptional
header_textWelcome to my Jekyll blogHTML (shown below the navigation) with a background colour for emphasisYes
header_text_feature_imageassets/img/sample_feature_img_3.pngBackground image for the header textYes
footer_textCopyright 2014HTML (shown at end of the site) with lighter textYes

Icons

Add your username on selected websites in the icon section of the _config.yml file to display the site's icon from Font Awesome in the header navigation. All icon variables should be your username enclosed in quotes (e.g. "username"), except for the following variables:

VariableExampleDescriptionOptional
rsstrueTakes boolean value (true/false) to show RSS feed iconYes
email_addresstype@example.comEmail addressYes
linkedinhttps://www.linkedin.com/in/FirstLastFull URL to profile on LinkedInYes
stack_exchangehttps://stackoverflow.com/users/0000/first-lastFull URL to profile on Stack ExchangeYes

Scripts

Change these variables in _config.yml:

VariableExampleDescriptionOptional
google_analyticsUA-123456-01Google Analytics tracking IDYes
disqus_shortnameshortnameDisqus shortnameYes
katextrueTakes boolean value (true/false) to conditionally load KaTeX scripts required for math typesettingYes

Scripts listed here are only loaded if you provide a value in the _config.yml file.

Localization strings

Change localization string variables in _config.yml.

English text used in the theme (such as the "continue reading" label) has been grouped so you can quickly translate the theme or change labels to suit your needs.

Colours, typography, padding

A selection of colours set in Type Theme by modifying the CSS

VariableExampleDescriptionOptional
google_fonts"Playfair+Display:400,700\PT+Sans:400,700,700italic,400italic"Google Fonts to load for use

Navigate to the _sass > base directory and open _variables.scss to change colours, typography and padding used in the theme with CSS.

Once you have loaded a Google Font in config.yml, you can integrate the fonts into your CSS by changing the font-family in _variables.scss. For example, after loading the Playfair Display and PT Sans fonts from Google:

// Typography
$font-family-main: 'PT Sans', Helvetica, Arial, sans-serif;
$font-family-headings: 'Playfair Display', Helvetica, Arial, sans-serif;

Mozilla's ColorPicker is a helpful tool to get your preferred colours in hexadecimal or RGBA form for use in _variables.scss.

Customize style when using the remote_theme

If you're using Type Theme as a remote_theme, you can override variables and styles. To do so, simply create a assets/css/main.scss file on your website with the following content:

// assets/css/main.scss
---
---

@import "type-theme";

@import "type-theme"; includes the theme styles, so you can add custom imports before and after it, depending on your needs. Best practice is to put your custom files in the _sass folder of your project. Jekyll will automatically look for them there. For example, say you wanted to override some theme variables and add some custom styles, you can create the following files:

// _sass/_variables.scss
$background-color: black;
// _sass/_custom.sass

// SASS is supported as well, just note the file extension is .sass
.feature-image header
  height: 300px

Then import them both into main.scss:

// assets/css/main.scss
---
---

@import "variables";
@import "type-theme";
@import "custom";

Posts and pages in Type Theme

Please refer to the Jekyll docs for writing posts. Non-standard features are documented below.

Math typesetting

Wrap math expressions with $$ signs in your posts and make sure you have set the katex variable in _config.yml to true for math typesetting.

For inline math typesetting, type your math expression on the same line as your content. For example:

Type math within a sentence $$2x^2 + x + c$$ to display inline

For display math typesetting, type your math expression on a new line. For example:

$$
  \bar{y} = {1 \over n} \sum_{i = 1}^{n}y_i
$$

Type Theme makes use for KaTeX for typesetting.

Feature images

Posts with geometric feature images

Add a feature image by specifying a path to an image in the front matter in the form of feature-img: "img/PATH_TO_IMAGE.png".

For example:

---
layout: post
title: Hello World
feature-img: "assets/img/sample_feature_img.png"
---

By default, the page title is displayed on top of the feature image, as well as on the browser's tab. You can change the feature image's displayed title by specifying a feature-title in the front matter:

---
layout: post
title: Short title
feature-title: A much longer title
feature-img: "assets/img/sample_feature_img.png"
---

Hiding pages from navigation

In the front matter of a page, add hide: true to prevent the page from showing up in the header's navigation bar (visitors can still visit the URL through other means).

For example:

---
layout: page
title: "Error 404: Page not found"
permalink: /404.html
hide: true
---

Sorting pages in navigation

You can configure this theme to sort your pages in the header's navigation bar.

  • Set site_navigation_sort in theme settings to a property name e.g. 'order'
  • In the front matter of a non-hidden page, add order: n

For example:

---
layout: page
title: Team
permalink: /team/
order: 4
---

Tags

Post tags should be placed between [] in your post metadata. Separate each tag with a comma.

For example:

---
layout: post
title: Markdown and HTML
tags: [sample, markdown, html]
---

A tags listing will be automatically generated using the tags.html file provided in Type Theme. If you're not using the tags feature it is safe to delete tags.html.

Search

The search feature can be activated in the _config.yml file by changing its value from false to true.

  #Scripts
  search: true

Once activated, the search bar will appear in the header. This feature uses Lunr and searches through the title, tags and content of your posts.

Subtitles

A subtitle can be displayed below your title on permalink post pages.

To enable this feature, add subtitle to your post metadata.

For example:

---
layout: post
title: "This is a title"
subtitle: "This is a subtitle"
---

Download Details:

Author: Rohanchandra
Source Code: https://github.com/rohanchandra/type-theme 
License: MIT license

#jekyll #theme #opensource 

Gordon  Matlala

Gordon Matlala

1666711620

Jekyll-theme-yat: Jekyll Theme for Elegant Writers

JEKYLL YAT THEME

Jekyll theme for elegant writers.

Built with ❀︎ by jeffreytse and contributors 

Hey, nice to meet you, you found this Jekyll theme. Here the YAT (Yet Another Theme) is a modern responsive theme. It's quite clear, clean and neat for writers and posts. If you are an elegant writer and focus on content, don't miss it.

Features

  • Support beautiful Night Mode.
  • Modern responsive web design.
  • Full layouts home, post, tags, archive and about.
  • Uses font awesome 5 for icons.
  • Beautiful page banner with image and video.
  • Beautiful Syntax Highlight using highlight.js.
  • RSS support using Jekyll Feed gem.
  • Optimized for search engines using Jekyll Seo Tag gem.
  • Sitemap support using Jekyll Sitemap gem.
  • Complex and flexible table support using Jekyll Spaceship gem.
  • MathJAX and LaTeX optional support using Jekyll Spaceship gem.
  • Media (Youtube, Spotify, etc.) support using Jekyll Spaceship gem.
  • Diagram (PlantUML, Mermaid) support using Jekyll Spaceship gem.
  • Google Translation support.
  • New post tag support.

Also, visit the Live Demo site for the theme.

Installation

There are three ways to install:

Gem-based Theme Method

Add this line to your Jekyll site's Gemfile:

gem "jekyll-theme-yat"

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

theme: jekyll-theme-yat

And then execute:

$ bundle

Or install it yourself as:

$ gem install jekyll-theme-yat

Remote Theme Method with GitHub Pages

Remote themes are similar to Gem-based themes, but do not require Gemfile changes or whitelisting making them ideal for sites hosted with GitHub Pages.

To install:

Add this line to your Jekyll site's Gemfile:

gem "github-pages", group: :jekyll_plugins

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

# theme: owner/name --> Don't forget to remove/comment the gem-based theme option
remote_theme: "jeffreytse/jekyll-theme-yat"

And then execute:

$ bundle

GitHub Pages without limitation

GitHub Pages runs in safe mode and only allows a set of whitelisted plugins/themes. In other words, the third-party gems will not work normally.

To use the third-party gem in GitHub Pages without limitation:

Here is a GitHub Action named jekyll-deploy-action for Jekyll site deployment conveniently. πŸ‘

Usage

Add or update your available layouts, includes, sass and/or assets.

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 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 _data, _layouts, _includes, _sass and assets tracked with Git will be bundled. To add a custom directory to your theme-gem, please edit the regexp in jekyll-theme-yat.gemspec accordingly.

Contributing

Issues and Pull Requests are greatly appreciated. If you've never contributed to an open source project before I'm more than happy to walk you through how to create a pull request.

You can start by opening an issue describing the problem that you're looking to resolve and we'll go from there.

Screenshots

demo-screenshot

BANNER

demo-screenshot

Download Details:

Author: jeffreytse
Source Code: https://github.com/jeffreytse/jekyll-theme-yat 
License: MIT license

#jekyll #theme #blog #website 

Gordon  Matlala

Gordon Matlala

1665940380

Jekyll-theme-basically-basic: Your New Jekyll Default Theme

Basically Basic Jekyll Theme

Basically Basic is a Jekyll theme meant as a substitute for the default Minima, with a few enhancements thrown in for good measure:

Basically Basic live preview

Installation

If you're running Jekyll v3.5+ and self-hosting you can quickly install the theme as a Ruby gem. If you're hosting with GitHub Pages you can install as a remote theme or directly copy all of the theme files (see structure below) into your project.

Ruby Gem Method

Add this line to your Jekyll site's Gemfile:

Add this line to your Jekyll site's _config.yml file:

Then run Bundler to install the theme gem and dependencies:

GitHub Pages Method

GitHub Pages has added full support for any GitHub-hosted theme.

Replace gem "jekyll" with:

Run bundle update and verify that all gems install properly.

Add remote_theme: "mmistakes/jekyll-theme-basically-basic@1.4.5" to your _config.yml file. Remove any other theme: or remote_theme: entries.


Note: Your Jekyll site should be viewable immediately at http://USERNAME.github.io. If it's not, you can force a rebuild by Customizing Your Site (see below for more details).

If you're hosting several Jekyll based sites under the same GitHub username you will have to use Project Pages instead of User Pages. Essentially you rename the repo to something other than USERNAME.github.io and create a gh-pages branch off of master. For more details on how to set things up check GitHub's documentation.

Remove the Unnecessary

If you forked or downloaded the jekyll-theme-basically-basic repo you can safely remove the following files and folders:

  • .editorconfig
  • .gitattributes
  • .github
  • .scss-lint.yml
  • CHANGELOG.md
  • jekyll-theme-basically-basic.gemspec
  • LICENSE
  • Rakefile
  • README.md
  • screenshot.png
  • /docs
  • /example

Upgrading

If you're using the Ruby Gem or remote theme versions of Basically Basic, upgrading is fairly painless.

To check which version you are currently using, view the source of your built site and you should something similar to:

<!--
    Basically Basic Jekyll Theme 1.4.5
    Copyright 2017-2018 Michael Rose - mademistakes.com | @mmistakes
    Free for personal and commercial use under the MIT license
    https://github.com/mmistakes/jekyll-basically-theme/blob/master/LICENSE
-->

At the top of every .html file, /assets/css/main.css, and /assets/js/main.js.

Ruby Gem

Simply run bundle update if you're using Bundler (have a Gemfile) or gem update jekyll-theme-basically-basic if you're not.

Remote Theme

Verify you have the latest version assigned in _config.yml

remote_theme: "mmistakes/jekyll-theme-basically-basic@1.4.5"

Note: If @x.x.x is omitted the theme's current master branch will be used. It is advised to "lock" remote_theme at a specific version to avoid introducing breaking changes to your site.

The next step requires rebuilding your GitHub Pages site so it can pull down the latest theme updates. This can be achieved by pushing up a commit to your GitHub repo.

An empty commit will get the job done too if you don't have anything to push at the moment:

git commit --allow-empty -m "Force rebuild of site"

Use Git

If you want to get the most out of the Jekyll + GitHub Pages workflow, then you'll need to utilize Git. To pull down theme updates you must first ensure there's an upstream remote. If you forked the theme's repo then you're likely good to go.

To double check, run git remote -v and verify that you can fetch from origin https://github.com/mmistakes/jekyll-theme-basically-basic.git.

To add it you can do the following:

git remote add upstream https://github.com/mmistakes/jekyll-theme-basically-basic.git

Pull Down Updates

Now you can pull any commits made to theme's master branch with:

git pull upstream master

Depending on the amount of customizations you've made after forking, there's likely to be merge conflicts. Work through any conflicting files Git flags, staging the changes you wish to keep, and then commit them.

Update Files Manually

Another way of dealing with updates is downloading the theme --- replacing your layouts, includes, and assets with the newer ones manually. To be sure that you don't miss any changes it's probably a good idea to review the theme's commit history to see what's changed since.

Here's a quick checklist of the important folders/files you'll want to be mindful of:

Name 
_layoutsReplace all. Apply edits if you customized any layouts.
_includesReplace all. Apply edits if you customized any includes.
assetsReplace all. Apply edits if you customized stylesheets or scripts.
_sassReplace all. Apply edits if you customized Sass partials.
_data/theme.ymlSafe to keep. Verify that there were no major structural changes or additions.
_config.ymlSafe to keep. Verify that there were no major structural changes or additions.

Note: If you're not seeing the latest version, be sure to flush browser and CDN caches. Depending on your hosting environment older versions of /assets/css/main.css, /assets/js/main.js, or *.html may be cached.

Structure

Layouts, includes, Sass partials, and data files are all placed in their default locations. Stylesheets and scripts in assets, and a few development related files in the project's root directory.

Please note: If you installed Basically Basic via the Ruby Gem method, theme files found in /_layouts, /_includes, /_sass, and /assets will be missing. This is normal as they are bundled with the jekyll-theme-basically-basic gem.

jekyll-theme-basically-basic
β”œβ”€β”€ _data                      # data files
|  └── theme.yml               # theme settings and custom text
β”œβ”€β”€ _includes                  # theme includes and SVG icons
β”œβ”€β”€ _layouts                   # theme layouts (see below for details)
β”œβ”€β”€ _sass                      # Sass partials
β”œβ”€β”€ assets
|  β”œβ”€β”€ javascripts
|  |  └── main.js
|  └── stylesheets
|     └── main.scss
β”œβ”€β”€ _config.yml                # sample configuration
└── index.md                   # sample home page (all posts/not paginated)

Starting Fresh

After creating a Gemfile and installing the theme you'll need to add and edit the following files:

Note: Consult the pagination documentation below for instructions on how to enable it for the home page.

Starting from jekyll new

Using the jekyll new command will get you up and running the quickest.

Edit _config.yml and create _data/theme.yml as instructed above and you're good to go.

Configuration

Configuration of site-wide elements (lang, title, description, logo, author, etc.) happens in your project's _config.yml. See the example configuration in this repo for additional reference.

 Description
langUsed to indicate the language of text (e.g., en-US, en-GB, fr)
titleYour site's title (e.g., Dungan's Awesome Site)
descriptionShort site description (e.g., A blog about grasshopper mash)
urlThe full URL to your site (e.g., https://groverloaf.org)
authorGlobal author information (see below)
logoPath to a site-wide logo ~100x100px (e.g., /assets/your-company-logo.png)
twitter_usernameSite-wide Twitter username, used as a link in sidebar
github_usernameSite-wide GitHub username, used as a link in sidebar

For more configuration options be sure to consult the documentation for: jekyll-seo-tag, jekyll-feed, jekyll-paginate, and jekyll-sitemap.

Skin

This theme comes in six different skins (color variations). To change skins add one of the following to your /_data/theme.yml file:

skin: defaultskin: nightskin: plum
default-skinnight-skinplum-skin
skin: seaskin: softskin: steel
sea-skinsoft-skinsteel-skin

Google Fonts

This theme allows you to easily use Google Fonts throughout the theme. Simply add the following to your /_data/theme.yml, replacing the font name and weights accordingly.

google_fonts:
  - name: "Fira Sans"
    weights: "400,400i,600,600i"
  - name: "Fira Sans Condensed"

Text

To change text found throughout the theme add the following to your /_data/theme.yml file and customize as necessary.

t:
  skip_links: "Skip links"
  skip_primary_nav: "Skip to primary navigation"
  skip_content: "Skip to content"
  skip_footer: "Skip to footer"
  menu: "Menu"
  search: "Search"
  site_search: "Site Search"
  results_found: "Result(s) found"
  search_placeholder_text: "Enter your search term..."
  home: "Home"
  newer: "Newer"
  older: "Older"
  email: "Email"
  subscribe: "Subscribe"
  read_more: "Read More"
  posts: "Posts"
  page: "Page"
  of: "of"
  min_read: "min read"
  present: "Present"
  cv_awards: "Awards"
  cv_summary_contact: "Contact"
  cv_summary_contact_email: "Email"
  cv_summary_contact_phone: "Phone"
  cv_summary_contact_website: "Website"
  cv_location: "Location"
  cv_education: "Education"
  cv_education_courses: "Courses"
  cv_interests: "Interests"
  cv_languages: "Languages"
  cv_publications: "Publications"
  cv_references: "References"
  cv_skills: "Skills"
  cv_volunteer: "Volunteer"
  cv_work: "Work"

Navigation

By default all internal pages with a title will be added to the "off-canvas" menu. For more granular control and sorting of these menu links:

Create a custom list to override the default setting by adding a navigation_pages array to your /_data/theme.yml file.

Add raw page paths in the order you'd like:

navigation_pages:
  - about.md
  - cv.md

Each menu link's title and URL will be populated based on their title and permalink respectively.

Pagination

Break up the main listing of posts into smaller lists and display them over multiple pages by enabling pagination.

Include the jekyll-paginate plugin in your Gemfile.

group :jekyll_plugins do
  gem "jekyll-paginate"
end

Add jekyll-paginate to gems array in your _config.yml file and the following pagination settings:

paginate: 5  # amount of posts to show per page
paginate_path: /page:num/

Create index.html (or rename index.md) in the root of your project and add the following front matter:

layout: home
paginate: true

Search

To enable site-wide search add search: true to your _config.yml.

Lunr (default)

The default search uses Lunr to build a search index of all your documents. This method is 100% compatible with sites hosted on GitHub Pages.

Note: Only the first 50 words of a post or page's body content is added to the Lunr search index. Setting search_full_content to true in your _config.yml will override this and could impact page load performance.

Algolia

For faster and more relevant search (see demo):

Add the jekyll-algolia gem to your Gemfile, in the :jekyll_plugins section.

group :jekyll_plugins do
  gem "jekyll-feed"
  gem "jekyll-seo-tag"
  gem "jekyll-sitemap"
  gem "jekyll-paginate"
  gem "jekyll-algolia"
end

Once this is done, download all dependencies by running bundle install.

Switch search providers from lunr to algolia in your _config.yml file:

search_provider: algolia

Add the following Algolia credentials to your _config.yml file. If you don't have an Algolia account, you can open a free Community plan. Once signed in, you can grab your credentials from your dashboard.

algolia:
  application_id: # YOUR_APPLICATION_ID
  index_name: # YOUR_INDEX_NAME
  search_only_api_key: # YOUR_SEARCH_ONLY_API_KEY
  powered_by: # true (default), false

Once your credentials are setup, you can run the indexing with the following command:

ALGOLIA_API_KEY=your_admin_api_key bundle exec jekyll algolia

For Windows users you will have to use set to assigned the ALGOLIA_API_KEY environment variable.

set ALGOLIA_API_KEY=your_admin_api_key
bundle exec jekyll algolia

Note that ALGOLIA_API_KEY should be set to your admin API key.

To use the Algolia search with GitHub Pages hosted sites follow this deployment guide. Or this guide for deploying on Netlify.

Note: The Jekyll Algolia plugin can be configured in several ways. Be sure to check out their full documentation on how to exclude files and other valuable settings.

Author

Author information is used as meta data for post "by lines" and propagates the creator field of Twitter summary cards with the following front matter in _config.yml:

author:
  name: John Doe
  twitter: johndoetwitter
  picture: /assets/images/johndoe.png

Site-wide author information can be overridden in a document's front matter in the same way:

author:
  name: Jane Doe
  twitter: janedoetwitter
  picture: /assets/images/janedoe.png

Or by specifying a corresponding key in the document's front matter, that exists in site.data.authors. E.g., you have the following in the document's front matter:

author: megaman

And you have the following in _data/authors.yml:

megaman:
  name: Mega Man
  twitter: megamantwitter
  picture: /assets/images/megaman.png

drlight:
  name: Dr. Light
  twitter: drlighttwitter
  picture: /assets/images/drlight.png

Currently author.picture is only used in layout: about. Recommended size is 300 x 300 pixels.

Reading Time

To enable reading time counts add read_time: true to a post or page's YAML Front Matter.

Comments (via Disqus)

Optionally, if you have a Disqus account, you can show a comments section below each post.

To enable Disqus comments, add your Disqus shortname to your project's _config.yml file:

  disqus:
    shortname: my_disqus_shortname

Comments are enabled by default and will only appear in production when built with the following environment value: JEKYLL_ENV=production

If you don't want to display comments for a particular post you can disable them by adding comments: false to that post's front matter.

Google Analytics

To enable Google Analytics, add your tracking ID to _config.yml like so:

  google_analytics: UA-NNNNNNNN-N

Similar to comments, the Google Analytics tracking script will only appear in production when using the following environment value: JEKYLL_ENV=production.

Copyright

By default the copyright line in the footer displays the current year (at build time) followed by your site's title. e.g. Β© 2018 Basically Basic.

If you would like to change this add copyright to your _config.yml file with appropriate text:

copyright: "My custom copyright."

Layouts

This theme provides the following layouts, which you can use by setting the layout Front Matter on each page, like so:

---
layout: name
---

layout: default

This layout handles all of the basic page scaffolding placing the page content between the masthead and footer elements. All other layouts inherit this one and provide additional styling and features inside of the {{ content }} block.

layout: post

This layout accommodates the following front matter:

# optional alternate title to replace page.title at the top of the page
alt_title: "Basically Basic"

# optional sub-title below the page title
sub_title: "The name says it all"

# optional intro text below titles, Markdown allowed
introduction: |
    Basically Basic is a Jekyll theme meant to be a substitute for the default --- [Minima](https://github.com/jekyll/minima). Conventions and features found in Minima are fully supported by **Basically Basic**.

# optional call to action links
actions:
  - label: "Learn More"
    icon: github  # references name of svg icon, see full list below
    url: "http://url-goes-here.com"
  - label: "Download"
    icon: download  # references name of svg icon, see full list below
    url: "http://url-goes-here.com"

image:  # URL to a hero image associated with the post (e.g., /assets/page-pic.jpg)

# post specific author data if different from what is set in _config.yml 
author:
  name: John Doe
  twitter: johndoetwitter

comments: false  # disable comments on this post

Note: Hero images can be overlaid with a transparent "accent" color to unify them with the theme's palette. To enable, customize the CSS with the following Sass variable override:

$intro-image-color-overlay: true;

layout: page

Visually this layout looks and acts the same as layout: post, with two minor differences.

  • Author "by line" and publish date are omitted.
  • Disqus comments are omitted.

layout: home

This layout accommodates the same front matter as layout: page, with the addition of the following:

paginate: true  # enables pagination loop, see section above for additional setup
entries_layout: # list (default), grid

By default, posts are shown in a list view. To change to a grid view add entries_layout: grid to the page's front matter.

layout: posts

This layout displays all posts grouped by the year they were published. It accommodates the same front matter as layout: page.

By default, posts are shown in a list view. To change to a grid view add entries_layout: grid to the page's front matter.

layout: categories

This layout displays all posts grouped category. It accommodates the same front matter as layout: page.

By default, posts are shown in a list view. To change to a grid view add entries_layout: grid to the page's front matter.

layout: tags

This layout displays all posts grouped by tag. It accommodates the same front matter as layout: page.

By default, posts are shown in a list view. To change to a grid view add entries_layout: grid to the page's front matter.

layout: collection

This layout displays all documents grouped by a specific collection. It accommodates the same front matter as layout: page with the addition of the following:

collection: # collection name
entries_layout: # list (default), grid
show_excerpts: # true (default), false
sort_by: # date (default) title
sort_order: # forward (default), reverse

To create a page showing all documents in the recipes collection you'd create recipes.md in the root of your project and add this front matter:

title: Recipes
layout: collection
permalink: /recipes/
collection: recipes

By default, documents are shown in a list view. To change to a grid view add entries_layout: grid to the page's front matter. If you want to sort the collection by title add sort_by: title. If you want reverse sorting, add sort_order: reverse.

layout: category

This layout displays all posts grouped by a specific category. It accommodates the same front matter as layout: page with the addition of the following:

taxonomy: # category name
entries_layout: # list (default), grid

By default, posts are shown in a list view. To change to a grid view add entries_layout: grid to the page's front matter.

To create a page showing all posts assigned to the category foo you'd create foo.md in the root of your project and add this front matter:

title: Foo
layout: category
permalink: /categories/foo/
taxonomy: foo

layout: tag

This layout displays all posts grouped by a specific tag. It accommodates the same front matter as layout: page with the addition of the following:

taxonomy: # tag name
entries_layout: # list (default), grid

By default, posts are shown in a list view. To change to a grid view add entries_layout: grid to the page's front matter.

To create a page showing all posts assigned to the tag foo bar you'd create foo-bar.md in the root of your project and add this front matter:

title: Foo Bar
layout: tag
permalink: /tags/foo-bar/
taxonomy: foo bar

layout: about

This layout accommodates the same front matter as layout: page, with the addition of the following to display an author picture:

author:
  name: John Doe
  picture: /assets/images/johndoe.png

Recommended picture size is approximately 300 x 300 pixels. If author object is not explicitly set in the about page's front matter the theme will default to the value set in _config.yml.

If blank there no image will appear.

layout: cv

This layout accommodates the same front matter as layout: page. It leverages a JSON-based file standard for resume data to conveniently render a curriculum vitæ or resume painlessly.

Simply use JSON Resume's in-browser resume builder to export a JSON file and save to your project as _data/cv.json.

Images

Suggested image sizes in pixels are as follows:

ImageDescriptionSize
page.image.pathLarge full-width document image.Tall images will push content down the page. 1600 x 600 is a good middle-ground size to aim for.
page.imageShort-hand for page.image.path when used alone (without thumbnail, caption, or other variables).Same as page.image.path
page.image.thumbnailSmall document image used in grid view.400 x 200
author.pictureAuthor page image.300 x 300

Customization

The default structure, style, and scripts of this theme can be overridden and customized in the following two ways.

Overriding Includes and Layouts

Theme defaults can be overridden by placing a file with the same name into your project's _includes or _layouts directory. For instance:

  • To specify a custom style path or meta data to the _includes/head.html file, create an _includes directory in your project, copy _includes/head.html from Basically Basic's gem folder to <your_project>/_includes and start editing that file.

ProTip: to locate the theme's files on your computer run bundle info jekyll-theme-basically-basic. This returns the location of the gem-based theme files.

Customizing Sass (SCSS)

To override the default Sass (located in theme's _sass directory), do one of the following:

Copy directly from the Basically Basic gem

  • Go to your local Basically Basic gem installation directory (run bundle info jekyll-theme-basically-basic to get the path to it).
  • Copy the contents of /assets/stylesheets/main.scss from there to <your_project>.
  • Customize what you want inside <your_project>/assets/stylesheets/main.scss.

Copy from this repo.

  • Copy the contents of assets/stylesheets/main.scss to <your_project>.
  • Customize what you want inside <your_project/assets/stylesheets/main.scss.

Note: To make more extensive changes and customize the Sass partials bundled in the gem. You will need to copy the complete contents of the _sass directory to <your_project> due to the way Jekyll currently reads those files.

To make basic tweaks to theme's style Sass variables can be overridden by adding to <your_project>/assets/stylesheets/main.scss. For instance, to change the accent color used throughout the theme add the following:

$accent-color: red;

Customizing JavaScript

To override the default JavaScript bundled in the theme, do one of the following:

Copy directly from the Basically Basic gem

  • Go to your local Basically Basic gem installation directory (run bundle info jekyll-theme-basically-basic to get the path to it).
  • Copy the contents of /assets/javascripts/main.js from there to <your_project>.
  • Customize what you want inside <your_project>/assets/javascripts/main.js.

Copy from this repo.

  • Copy the contents of assets/javascripts/main.js to <your_project>.
  • Customize what you want inside <your_project>/assets/javascripts/main.js.

SVG Icons

The theme uses social network logos and other iconography saved as SVGs for performance and flexibility. Said SVGs are located in the _includes directory and prefixed with icon-. Each icon has been sized and designed to fit a 16 x 16 viewbox and optimized with SVGO.

IconFilename
icon-arrow-left.svg
icon-arrow-right.svg
icon-bitbucket.svg
icon-calendar.svg
icon-codepen.svg
icon-download.svg
icon-dribbble.svg
icon-email.svg
icon-facebook.svg
icon-flickr.svg
icon-github.svg
icon-gitlab.svg
icon-googleplus.svg
icon-instagram.svg
icon-lastfm.svg
icon-linkedin.svg
icon-pdf.svg
icon-pinterest.svg
icon-rss.svg
icon-soundcloud.svg
icon-stackoverflow.svg
icon-stopwatch.svg
icon-tumblr.svg
icon-twitter.svg
icon-xing.svg
icon-youtube.svg

Fill colors are defined in the _sass/basically-basic/_icons.scss partial and set with .icon-name where class name matches the corresponding icon.

For example the Twitter icon is given a fill color of #1da1f2 like so:

<span class="icon icon--twitter">{% include icon-twitter.svg %}</span>

Alongside the SVG assets, there are icon helper includes to aid in generating social network links.

Include ParameterDescriptionRequired
usernameUsername on given social networkRequired
labelText used for hyperlinkOptional, defaults to username

For example, the following icon-github.html include:

{% include icon-github.html username=jekyll label='GitHub' %}

Will output the following HTML:

<a href="https://github.com/jekyll">
  <span class="icon icon--github"><svg viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414"><path d="M8 0C3.58 0 0 3.582 0 8c0 3.535 2.292 6.533 5.47 7.59.4.075.547-.172.547-.385 0-.19-.007-.693-.01-1.36-2.226.483-2.695-1.073-2.695-1.073-.364-.924-.89-1.17-.89-1.17-.725-.496.056-.486.056-.486.803.056 1.225.824 1.225.824.714 1.223 1.873.87 2.33.665.072-.517.278-.87.507-1.07-1.777-.2-3.644-.888-3.644-3.953 0-.873.31-1.587.823-2.147-.09-.202-.36-1.015.07-2.117 0 0 .67-.215 2.2.82.64-.178 1.32-.266 2-.27.68.004 1.36.092 2 .27 1.52-1.035 2.19-.82 2.19-.82.43 1.102.16 1.915.08 2.117.51.56.82 1.274.82 2.147 0 3.073-1.87 3.75-3.65 3.947.28.24.54.73.54 1.48 0 1.07-.01 1.93-.01 2.19 0 .21.14.46.55.38C13.71 14.53 16 11.53 16 8c0-4.418-3.582-8-8-8"></path></svg></span>
  <span class="label">GitHub</span>
</a>

Customizing Sidebar Content


Development

To set up your environment to develop this theme:

  1. Clone this repo
  2. cd into /example and run bundle install.

To test the theme the locally as you make changes to it:

  1. cd into the root folder of the repo (e.g. jekyll-theme-basically-basic).
  2. Run bundle exec rake preview and open your browser to http://localhost:4000/example/.

This starts a Jekyll server using the theme's files and contents of the example/ directory. As modifications are made, refresh your browser to see any changes.

Contributing

Found a typo in the documentation? Interested in adding a feature or fixing a bug? Then by all means submit an issue or take a stab at submitting a pull request. If this is your first pull request, it may be helpful to read up on the GitHub Flow.

Pull Requests

When submitting a pull request:

  1. Clone the repo.
  2. Create a branch off of master and give it a meaningful name (e.g. my-awesome-new-feature) and describe the feature or fix.
  3. Open a pull request on GitHub.

Sample pages can be found in the /docs and /example folders if you'd like to tackle any "low-hanging fruit" like fixing typos, bad grammar, etc.


Credits

Creator

Michael Rose

Icons + Demo Images:

Other:


Download Details:

Author: mmistakes
Source Code: https://github.com/mmistakes/jekyll-theme-basically-basic 
License: MIT license

#jekyll #theme #basic #ruby 

Gordon  Matlala

Gordon Matlala

1665923880

Forty-jekyll-theme: A Jekyll Version Of The "Forty" Theme By HTML5 UP

Forty - Jekyll Theme

A Jekyll version of the "Forty" theme by HTML5 UP.

How to Use

For those unfamiliar with how Jekyll works, check out jekyllrb.com for all the details, or read up on just the basics of front matter, writing posts, and creating pages.

Simply fork this repository and start editing the _config.yml file!

NOTE: GitHub Actions is required to deploy to GitHub Pages because GitHub refuses to update their version of Jekyll.

Added Features

  • Formspree.io contact form integration - just add your email to the _config.yml and it works!
  • Use _config.yml to set whether the homepage tiles should pull pages or posts, as well as how many to display.
  • Add your social profiles easily in _config.yml. Only social profiles buttons you enter in config.yml show up on the site footer!
  • Set featured images in front matter.

Credits

Original README from HTML5 UP:

Forty by HTML5 UP
html5up.net | @ajlkn
Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)


This is Forty, my latest and greatest addition to HTML5 UP and, per its incredibly
creative name, my 40th (woohoo)! It's built around a grid of "image tiles" that are
set up to smoothly transition to secondary landing pages (for which a separate page
template is provided), and includes a number of neat effects (check out the menu!),
extra features, and all the usual stuff you'd expect. Hope you dig it!

Demo images* courtesy of Unsplash, a radtastic collection of CC0 (public domain) images
you can use for pretty much whatever.

(* = not included)

AJ
aj@lkn.io | @ajlkn


Credits:

    Demo Images:
        Unsplash (unsplash.com)

    Icons:
        Font Awesome (fortawesome.github.com/Font-Awesome)

    Other:
        jQuery (jquery.com)
        html5shiv.js (@afarkas @jdalton @jon_neal @rem)
        background-size polyfill (github.com/louisremi)
        Misc. Sass functions (@HugoGiraudel)
        Respond.js (j.mp/respondjs)
        Skel (skel.io)

Repository Jekyll logo icon licensed under a Creative Commons Attribution 4.0 International License.

Download Details:

Author: Andrewbanchich
Source Code: https://github.com/andrewbanchich/forty-jekyll-theme 
License: View license

#jekyll #theme #html #ruby