Code Monkey home page Code Monkey logo

jekyll-theme-prologue's Introduction

⚠️ Unmaintained ⚠️

Prologue - Jekyll Theme

Gem Version

Prologue Theme

This is Prologue, a simple, single page responsive site template from HTML5 UP, now available as a blog-aware Jekyll theme from Chris Bobbe. It features a clean, minimalistic design and a sticky sidebar with navigation-linked scrolling.

Demo: https://chrisbobbe.github.io/jekyll-theme-prologue/

Added Features

  • Blogging and multi-page features you expect from Jekyll
  • Compatible with GitHub Pages
  • Formspree.io contact form integration - just add your email to the _config.yml and it works!
  • Build your homepage with custom scrolly sections in the _sections folder
  • Set a cover photo for any section (not just the first), with alt text for screen readers and SEO
  • Add your social profiles easily in _config.yml.
  • Automatic search engine optimization (SEO) meta tags based on info you provide in _config.yml and frontmatter
  • Google Analytics built-in; just put your Tracking ID in _config.yml as google_analytics
  • Custom 404 page (called 404.html; to activate, move it to your project directory).

Installation

There are two ways to get started (choose one):

  1. Install the jekyll-theme-prologue gem. Instructions are in the Jekyll docs. After running bundle install, you can find the theme files by running open $(bundle show jekyll-theme-prologue). A sample working _config.yml file ships with the gem; if you want to activate it, move it to your project's root directory. It will do nothing until you move it there, replacing the default _config.yml file.
  2. Fork or clone the GitHub repository. If you want to use GitHub Pages, create a branch named gh-pages, and replace theme: jekyll-theme-prologue with remote_theme: chrisbobbe/jekyll-theme-prologue in the provided _config.yml (GitHub Pages now supports open-source themes on GitHub).

Next, make sure that url and base_url are set for your own website in _config.yml. For local testing, make them both blank. Add a photo avatar to your project, then set avatar: path/to/your/avatar.jpg in _config.yml; for example, avatar: assets/images/avatar.jpg (48x48 pixels works best). Poke around the sample _config.yml file to see how you can add your social profiles.

Build your homepage

  1. Your _config.yml file must include the following line or your homepage won't work: collections: [sections]. This tells Jekyll to look in the _sections folder (which you will create) for your content and render it all on one page.

  2. Create a _sections folder in your project's root directory and start adding content to your homepage. Set a cover photo in any of the sections by adding cover-photo: path/to/photo.jpg and cover-photo-alt: your alt text here to the section's frontmatter. Sample content is provided in the GitHub repository.

All new sections should be added as html or Markdown documents in the _sections folder. The following section variables can be set with frontmatter:

  • title (required)
  • order (required; orders the sequence of sections on the page. Example: 1)
  • cover-photo (optional; sets a background image for the section. Example: assets/images/banner.jpg)
  • cover-photo-alt (required if using a cover photo. Describes the photo for screen readers and SEO; e.g. "Dome of Light art installation, Kaohsiung, Taiwan")
  • icon (optional; see Font Awesome for icon codes. Example: fa-github)
  • icon-style (optional; "solid" is default, "regular" for outline style icons, or "brands" for logos)
  • auto-header (optional; "use-title" is default, "none" for no header, or custom header text)
  • hide (optional; if true, the section won't appear)

Start blogging!

Jekyll has great resources to get you started writing blog posts. Check out this Jekyll Docs page first. When you've written a post or two, copy the following into a new file in your project directory called blog.html, and you'll see a link to your blog from the homepage:

---
layout: blog
title: My Blog
---

-- and that's it!

Add a page

To add a page, just make a new .html or .md file in your project directory. There's an example called reading-list provided with the GitHub repository. Add this frontmatter:

---
title: My New Page
layout: page
---

You can also set these page variables in the frontmatter, if you want:

  • subtitle
  • order (orders links in the nav menu, e.g. 1)
  • icon (optional; see Font Awesome for icon codes. Example: fa-github)
  • icon-style (optional; "solid" is default, "regular" for outline style icons, or "brands" for logos)
  • hide (optional; if true, a link won't appear in the nav menu. All this does is remove the nav link; your page will still be served to anyone who has the URL.)

This same set of frontmatter variables (including title) can also be set in index.md and blog.html. You may want to give them titles, or hide the homepage link with hide: true if the homepage is the only page.

For advanced SEO, this theme also lets you add permalink (see Jekyll Docs), robots (string, e.g. "noindex, nofollow"), and canonical (boolean; true is default) to any page or post.

Contributing

Please feel free to submit issues and feature requests!

Credits

Thanks to @andrewbanchich for his many Jekyll adaptations of HTML5 UP's elegant themes, which helped and inspired me, and of course many thanks to HTML5 UP.

Original README from HTML5 UP:

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


This is Prologue, a simple, single page responsive site template. It features a
clean, minimalistic design and a sticky sidebar with navigation-linked scrolling.

Demo content images* are courtesy of the ridiculously talented Felicia Simion. Check out
more of her amazing work over at deviantART:

http://ineedchemicalx.deviantart.com/

(* = Not included! Only meant for use with my own on-site demo, so please do NOT download
and/or use any of Felicia's work without her explicit permission!)

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

(* = Not included)

AJ
[email protected] | @ajlkn

PS: Not sure how to get that contact form working? Give formspree.io a try (it's awesome).


Credits:

	Demo Images:
		Felicia Simion (ineedchemicalx.deviantart.com)
		Unsplash (unsplash.com)

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

	Other
		jQuery (jquery.com)
		html5shiv.js (@afarkas @jdalton @jon_neal @rem)
		CSS3 Pie (css3pie.com)
		background-size polyfill (github.com/louisremi)
		Respond.js (j.mp/respondjs)
		jquery.scrolly (@ajlkn)
		jquery.scrollzer (@ajlkn)
		Skel (skel.io)

jekyll-theme-prologue's People

Contributors

chrisbobbe avatar drakmyth avatar kg6zvp avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

jekyll-theme-prologue's Issues

add profile section to a page and show in the respective nav bar

Hi,
Thanks for this awesome theme.
I'm trying to ad a gallery and I want to add to the gallery page the profile section. I think that if can do that it will appear in the respective nav bar. but i'm newbie no this collections setting.
Can you explain me how to do it.
Thanks

Scrolly error on pages with exactly one section

Happens in both Firefox and Chrome. Happens on both internal webrick and github pages, including chrisbobbe.github.io

The only user facing problem I've seen is that it breaks the nav bar unhide link when in narrow aspect mode.

TypeError: $nav_a.scrolly(...) is undefined[Learn More] main.js:51:5
<anonymous>
https://chrisbobbe.github.io/assets/js/main.js:51:5
j
jquery.js:3148:9
fireWith
jquery.js:3260:6
ready
jquery.js:3472:2
J
jquery.js:3503:2
openRemotePrompt
jar:file:///usr/lib/firefox/omni.ja!/components/nsPrompter.js:508:5
openPrompt
jar:file:///usr/lib/firefox/omni.ja!/components/nsPrompter.js:542:17
alert
jar:file:///usr/lib/firefox/omni.ja!/components/nsPrompter.js:615:9
YRa
https://calendar.google.com/calendar/_/scs/calendar-static/_/js/k=calendar.mat.en_GB.R2EMhtydmqw.O/am=ABDCUkAI/rt=j/d=0/rs=ANwU0p4NXtX1IF0nLDsR-j9Z5Aa2slwTrw/m=pjCC5c,KQU6nb,RWEy5c,sykf,NJddyf,syiu,UDuglb,syn8,SUIuyf,CbhGKd,sy5a,dSba8,sy5d,sy5e,sy5c,sy5g,sy5f,sy5h,sy5j,sy54,sy55,sy5i,sy5k,lateload:155:465
aSa
https://calendar.google.com/calendar/_/scs/calendar-static/_/js/k=calendar.mat.en_GB.R2EMhtydmqw.O/am=ABDCUkAI/rt=j/d=0/rs=ANwU0p4NXtX1IF0nLDsR-j9Z5Aa2slwTrw/m=pjCC5c,KQU6nb,RWEy5c,sykf,NJddyf,syiu,UDuglb,syn8,SUIuyf,CbhGKd,sy5a,dSba8,sy5d,sy5e,sy5c,sy5g,sy5f,sy5h,sy5j,sy54,sy55,sy5i,sy5k,lateload:154:129
$Ra
https://calendar.google.com/calendar/_/scs/calendar-static/_/js/k=calendar.mat.en_GB.R2EMhtydmqw.O/am=ABDCUkAI/rt=j/d=0/rs=ANwU0p4NXtX1IF0nLDsR-j9Z5Aa2slwTrw/m=pjCC5c,KQU6nb,RWEy5c,sykf,NJddyf,syiu,UDuglb,syn8,SUIuyf,CbhGKd,sy5a,dSba8,sy5d,sy5e,sy5c,sy5g,sy5f,sy5h,sy5j,sy54,sy55,sy5i,sy5k,lateload:156:142

Page content is extending behind nav bar

Hi, I love this theme, thank you!

But I am running into an issue where the page content is being hidden by the menu bar on the left, and the contact page is actually going over the nav menu. Not on all pages (portfolio and intro are fine) but the rest are not making room for the nav bar.

Would love to know what is causing this.

Screen Shot 2020-05-07 at 5 38 34 PM

Screen Shot 2020-05-07 at 5 38 22 PM

Absolute link paths

The generated HTML contains absolute paths, example:

<a href="http://0.0.0.0:4000/categories/" id="categories-link" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);">
    <span class="icon fa-link">Categories</span>
 </a>

and of course it doesn't work.
How to set it to generate paths relative to the website's root? I.e.

<a href="categories/" id="categories-link" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);">
    <span class="icon fa-link">Categories</span>
 </a>

Github social_icon

Hello, I noticed when I add the Github url in the _config.yml, it would not appear as one of the social icons. I ended up figuring out that it is not in the social_icons.html, which is the reason why it does not appear as an icon. Not sure if this was done on purpose or by accident. Just wanted to let you know.

Kramdown / Rouge not working for Code Syntax Highlighting

Hi Chris

Having an issue getting Rouge to work properly with your theme. I've tried a couple of things... My latest attempt below as per this GitHub issue:

markdown: kramdown
# !github-pages! mandatory › https://help.github.com/articles/using-jekyll-with-pages/#configuration-settings-you-cannot-change
# Since Jekyll 3 the default highlighter is Rouge (replaced Pygments.rb in v44)
highlighter: rouge

# More › http://kramdown.gettalong.org/quickref.html
# Options › http://kramdown.gettalong.org/options.html
kramdown:
  input: GFM
  # https://github.com/jekyll/jekyll/pull/4090
  syntax_highlighter: rouge

  # Rouge Highlighter in Kramdown › http://kramdown.gettalong.org/syntax_highlighter/rouge.html
  # span, block element options fall back to global
  syntax_highlighter_opts:
    # Rouge Options › https://github.com/jneen/rouge#full-options
    css_class: 'highlight'
    #line_numbers: true # bad idea, spans don't need linenos and would inherit this option
    span:
      line_numbers: false
    block:
      line_numbers: true
      start_line: 1

Any ideas?

Thanks so much,

Paul

license and copyright

Hey, great job on the plugin. Is there any reason why you picked the creative commons license? They explicitly state that it isn't properly adapted for software. The reason I am asking is that I want to use your theme for my personal blog, but would rather not have your name in the footer. Are you ok with having that name removed when people use your theme? Or perhaps can the link go directly to the github of this plugin? I find it awkward for my blog to link to someone else's blog

Looking for someone to maintain this theme.

Hi all,

I'm Chris, the person who translated this HTML template into a Jekyll theme. I'm sorry to say that, after two years of hoping I would find time to regularly maintain this theme, it's best for me to pass it on to someone else. I put this together when I had fewer commitments than I do now.

The work that went into this is fairly straightforward; it was just a bit more complicated than copy-pasting some HTML from HTML5 Up's Prologue theme at https://html5up.net/prologue. There's a good tutorial at https://jekyllrb.com/tutorials/convert-site-to-jekyll/, put together by @tomjoht, @pathawks, @DirtyF, @andrewbanchich, @ashmaroli, and others, that tells you how to do it (though I don't think I was aware of that guide at the time).

@andrewbanchich, in particular, has turned several of HTML5 Up's templates into Jekyll themes.

For anyone who's sincerely interested, and especially if you have previous experience making Jekyll themes, please let me know, so I can add you as an owner on RubyGems.

Thanks.

Breaks with newer versions?

I've forked the repository and attempted to update to Jekyll=4.0.0 and bundler=2.1.4.

Repo is here
Build CI here

Build job executes without error and deploys just fine, but looks as though there is quite a bit of missing data (image below). Is this expected behavior, or perhaps something that breaks as a result of the attempted update?

image

Blog classifed (new feature)

When clicking the Amazing Blog, I want the feature that the catagory shows below, but not the list of articles.

Print with only html instead of including css

Hey, really like your theme.

I forked you repo as my github pages, changed the _config.yml.

baseurl: "/prologue" # the subpath of your site, e.g. /blog
url: "" # the base hostname & protocol for your site

remote_theme: chrisbobbe/jekyll-theme-prologue
collections: [sections]

But it shows like this:

image

May I ask you how to make it works well?

A default page appears in menu

Hi,

I am started a new web site (my first) with your theme and after configuration, i have a page in left menu with default parameters . I don't understand why this item appears.
Have you an idea ?

capture d ecran 2018-02-18 a 22 50 04

thanks for this beautiful and useful theme.

Modify Nav Bar (Avatar, Style, and Color)

Hi,
I'm trying to make a personal page and frankly I know nothing about web development. Your awesome theme helped me a lot. Thanks.

min

I noticed when I minimize my window, the style of nav bar is changed. I prefer this minimized style so I wonder if I can make that style to be the main style. Also, can you tell me how to change nav bar's color scheme? For example instead of current dark scheme, I want to change it to blue. Can you tell me how to do it?

Let's say that I can make the minimized style to be the main style. Can I center the avatar and make the frame to be round not square? It would be awesome if I can make it a little bit bigger too.

I'm looking forward for your reply. Thank you.
Best Regards.

Social Settings

First of all, thanks for the theme.

The Issue:
I have set up the social links in the _config.yml as
github_url: "www.github.com/****"
But in the final output the link transformed to https://username.github.io/projectname/www.github.com/****

Note:
In _config.yml url and baseurl are set as -

baseurl: "/projectname"
url: "username.github.io"

Update:
The embedded social media url seems correct but when mouse hover or click event occurs they change to "https://username.github.io/projectname/social_media_url"
untitled

Add LaTeX functionality (New functionality)

Thanks for the awesome theme. I wanted to add some LaTeX math in my blog posts, so would like to request whether you can add the LaTeX and MathJax functionality for the math rendering on the site. Many thanks.

remote theme issues with github pages

I've spent so much time and some tears as well to make this work that I have to put it here so others can learn from it.

The readme currently is broken. If you want to use the theme as a remote theme on github pages, do the follwoing:

  • Fork the repo
  • as remote_theme put your username and the repo name, not chrisbobbe
  • Make sure not the have base_url set in your config as this will make github pages assume that your whole project is under that folder, which it isn't.

Adding a category feature

Firstly, thank you for this great theme, it is awesome and i am using it for my blog.
I would like to implement a type of category feature for the blog posts, for example creating a blog post and adding categories as "Tutorial" or "Python", and people could see all the blogs containing a certain category. Will it be possible to add that feature to this theme? I'll be willing to help in this feature, I know Python and a little bit of HTML.

Thanks!

grid gallery

Good morning,

Firstly, I want to thank you for making this theme; it's just beautiful and simple and wonderful! I've been playing around with it to try to learn something about HTML (admitted newbie), but for the life of me I cannot seem to figure out how to incorporate a grid-view image gallery. May you please shed some insight on that?

Non-uniquely named icons don't show at all

Some FA icons have a solid and regular variant (e.g. frown or clock). Is there a way to distinguish between them? A plain icon: fa-clock results in the icon not displaying at all.

The generated <span> does not contain the necessary ::before.

Cannot sort a null object error

When I ran your theme I got this error:

Liquid Exception: Liquid error (line 1): Cannot sort a null object. in /_layouts/home.html

The row is:

{%- assign _sections = site.sections | sort: 'order' -%}

I had to remove the sort method to get it runs.
Perhaps it should check if the object is null before sorting?

Sidebar hover and link doesn't work

Hello, I'm starting my first blog with this stylish theme (and Jekyll). Sorry for this noob question.

TL;DR

screenshot

The problem:

Cannot link to posts under the Amazing Blog category when I clicked the link at the sidebar. I've changed "Amazing Blog" to "Random Thoughts" and created a new post "2020-05-27-hello-world.markdown" under _posts folder.

Front Matter in 2020-05-27-hello-world.markdown

---
layout: post
title: "Hello World"
description: My first post.
date: 2020-05-27
---

Front Matter in blog.markdown

---
layout: blog
title: Random Thoughts
icon: fa-pencil-alt
order: 3
---

Thank you for letting me use this theme. Thanks in advance if anyone help me.

Add search

Could you please add blog searching to this theme?

A Question

I would like to thank developers for this wonderful theme. I have a question, apologize if this is very simple. I basically would like to show words with hyperlinks bold and blue color. How can I change the defaults for words with hyperlinks? I usually use markdown.

Thanks

Accessibility errors found in your template

The user @carlsonsantana validate your site template "https://chrisbobbe.github.io/jekyll-theme-prologue/" and found these accessibility errors:

  • Page https://chrisbobbe.github.io/jekyll-theme-prologue/:
    • Issue 7e39b0a8-fd58-4b62-88ba-650cc302d7ad:
      • Type: Error
      • Code: WCAG2AA.Principle1.Guideline1_3.1_3_1.F68
      • Message: This form field should be labelled in some way. Use the label element (either with a "for" attribute or wrapped around the form field), or "title", "aria-label" or "aria-labelledby" attributes as appropriate.
      • Selector: #contact > div > form > div > div:nth-child(3) > textarea
      • Context: <textarea name="message" placeholder="Message"></textarea>
    • Issue f97dc67c-cc6c-4dcc-84b3-c2f6feadb588:
      • Type: Error
      • Code: WCAG2AA.Principle4.Guideline4_1.4_1_2.H91.Textarea.Name
      • Message: This textarea element does not have a name available to an accessibility API. Valid names are: label element, title undefined, aria-label undefined, aria-labelledby undefined.
      • Selector: #contact > div > form > div > div:nth-child(3) > textarea
      • Context: <textarea name="message" placeholder="Message"></textarea>
    • Issue e07ebf9e-1a4c-40e6-b717-5a7bd4df8565:
      • Type: Error
      • Code: WCAG2AA.Principle1.Guideline1_3.1_3_1.F68
      • Message: This form field should be labelled in some way. Use the label element (either with a "for" attribute or wrapped around the form field), or "title", "aria-label" or "aria-labelledby" attributes as appropriate.
      • Selector: #contact > div > form > div > div:nth-child(2) > input
      • Context: <input type="text" name="email" placeholder="Email">
    • Issue e7d6b30e-6744-4a6e-9a0f-2ae37c20370b:
      • Type: Error
      • Code: WCAG2AA.Principle4.Guideline4_1.4_1_2.H91.InputText.Name
      • Message: This textinput element does not have a name available to an accessibility API. Valid names are: label element, title undefined, aria-label undefined, aria-labelledby undefined.
      • Selector: #contact > div > form > div > div:nth-child(2) > input
      • Context: <input type="text" name="email" placeholder="Email">
    • Issue c9d1239f-0818-498e-9000-12acfa1b4152:
      • Type: Error
      • Code: WCAG2AA.Principle1.Guideline1_3.1_3_1.F68
      • Message: This form field should be labelled in some way. Use the label element (either with a "for" attribute or wrapped around the form field), or "title", "aria-label" or "aria-labelledby" attributes as appropriate.
      • Selector: #contact > div > form > div > div:nth-child(1) > input
      • Context: <input type="text" name="name" placeholder="Name">
    • Issue 7b950923-2755-453c-b4e4-bb411e981c61:
      • Type: Error
      • Code: WCAG2AA.Principle4.Guideline4_1.4_1_2.H91.InputText.Name
      • Message: This textinput element does not have a name available to an accessibility API. Valid names are: label element, title undefined, aria-label undefined, aria-labelledby undefined.
      • Selector: #contact > div > form > div > div:nth-child(1) > input
      • Context: <input type="text" name="name" placeholder="Name">
    • Issue 25c73ead-bcfb-4689-927a-ecdda544f908:
      • Type: Error
      • Code: WCAG2AA.Principle1.Guideline1_1.1_1_1.H30.2
      • Message: Img element is the only content of the link, but is missing alt text. The alt text should describe the purpose of the link.
      • Selector: #about-me > div > a
      • Context: <a href="#" class="image featured"><img src="assets/images/pic08.j...</a>
    • Issue fbe3fc6c-8481-4c80-b2d9-1187597d1e87:
      • Type: Error
      • Code: WCAG2AA.Principle3.Guideline3_1.3_1_1.H57.2
      • Message: The html element should have a lang or xml:lang attribute which describes the language of the document.
      • Selector: html
      • Context: <html><head><!-- Robots --> <meta n...</html>

You can check these accessibility errors using pa11y.
You can view the full validation results in our website.

Google analytics not working

I have created and added my google analytics in the _config.yml file:

google_analytics: UA-********-*

I also have the url properly set in config. I built my site using:

JEKYLL_ENV=production bundle exec jekyll build

When I push my site on to production, google analytics registers nothing. Any ideas?

Also, as an aside, is it safe to share a google analytics code? I wasn't sure, so I put *s instead of the actual code.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.