Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Showing latest post on home page with Jekyll
---
layout: default
---
<div class="blog-index">
{% assign post = site.posts.first %}
{% assign content = post.content %}
{% include post_detail.html %}
</div>
<h1 class="entry-title">
{% if page.title %}
<a href="{{ root_url }}{{ page.url }}">{{ page.title }}</a>
{% endif %}
{% if post.title %}
<a href="{{ root_url }}{{ post.url }}">{{ post.title }}</a>
{% endif %}
</h1>
<div class="entry-content">{{ content }}</div>
@nimbupani

This comment has been minimized.

Copy link
Owner Author

@nimbupani nimbupani commented Dec 2, 2011

This was the easiest hack I could get away with while sharing the included snippet with individual post page as well. I am sure this is quite the incorrect way to go about it.

@xonecas

This comment has been minimized.

Copy link

@xonecas xonecas commented Feb 28, 2013

It might be a hack, but now it's not only you using it. :-) Thank you

@nathanlong

This comment has been minimized.

Copy link

@nathanlong nathanlong commented Apr 4, 2013

👍

@girvo

This comment has been minimized.

Copy link

@girvo girvo commented Apr 28, 2013

For some reason it doesn't work in displaying the title when the post is accessed directly on my setup :( I'll see if I can work out why

@flxw

This comment has been minimized.

Copy link

@flxw flxw commented Jul 19, 2013

Nice! Saved me some tryouts!

@mattr-

This comment has been minimized.

Copy link

@mattr- mattr- commented Aug 29, 2013

Nice! Mind if I use this in a blog post series I intend to start on Jekyll tips and tricks? Credit will be given.

@escotilha

This comment has been minimized.

Copy link

@escotilha escotilha commented Aug 29, 2013

Thanks! Helped me a lot!

@zypeh

This comment has been minimized.

Copy link

@zypeh zypeh commented Oct 10, 2013

Awesome! I am gonna use this in my site. Thanks :-)

@olegafx

This comment has been minimized.

Copy link

@olegafx olegafx commented Feb 11, 2014

Awesome, thank you!

@MindGeek

This comment has been minimized.

Copy link

@MindGeek MindGeek commented Apr 1, 2014

Awesome!

@Tug

This comment has been minimized.

Copy link

@Tug Tug commented Apr 21, 2014

Add {% assign page = post %} if the title does not show up.

@chrisanthropic

This comment has been minimized.

Copy link

@chrisanthropic chrisanthropic commented May 24, 2014

Anyone still using this know if it's possible to add pagination to it that points to prev post and not '/blog/page/2' ?

@wilsonusman

This comment has been minimized.

Copy link

@wilsonusman wilsonusman commented Sep 14, 2014

Do you know why am I showing more than the first post?

@coderdiaz

This comment has been minimized.

Copy link

@coderdiaz coderdiaz commented Feb 1, 2015

Working good! 😄

@kencrocken

This comment has been minimized.

Copy link

@kencrocken kencrocken commented Apr 9, 2015

🍻

@lacostenycoder

This comment has been minimized.

Copy link

@lacostenycoder lacostenycoder commented Apr 22, 2015

🍻 what he said ^^

@eenblam

This comment has been minimized.

Copy link

@eenblam eenblam commented Jun 20, 2015

Since this is still a topic of interest several years later, it's probably worth mentioning the Jekyll Bootstrap docs.

@cherrot

This comment has been minimized.

Copy link

@cherrot cherrot commented Jul 11, 2015

Awesome hack!

@onewithnow

This comment has been minimized.

Copy link

@onewithnow onewithnow commented Aug 10, 2015

Works! Thank you so much.

@TangChr

This comment has been minimized.

Copy link

@TangChr TangChr commented Oct 12, 2015

Works like a charm. Thanks!

@mhlibchuk

This comment has been minimized.

Copy link

@mhlibchuk mhlibchuk commented Nov 29, 2015

Hi there, I know I'm a bit late, but thanks! Just what I was looking for.

@terrencebrown

This comment has been minimized.

Copy link

@terrencebrown terrencebrown commented Jan 21, 2016

many thanks buddy!

@pabloselin

This comment has been minimized.

Copy link

@pabloselin pabloselin commented Apr 14, 2016

Thanks! this helped me understand Jekyll and get started with some templating...

@michelinux

This comment has been minimized.

Copy link

@michelinux michelinux commented Sep 9, 2017

Thank you. Just what I was looking for. Even after so many years.

@BradCoffield

This comment has been minimized.

Copy link

@BradCoffield BradCoffield commented Nov 15, 2017

Thanks a lot. I just needed a simple link to the latest post and reading your stuff helped me.

Just FYI for others: <a href="{{site.posts.first.url}}">{{site.posts.first.title}}</a>

@bildungsroman

This comment has been minimized.

Copy link

@bildungsroman bildungsroman commented Jul 10, 2018

I know this is a bit late, but now how do you show the rest of your posts if you're using pagination? I know an easy way would be to do offset:1, but with pagination this offsets the first post on each page, which is not what I want. Is there a way to use assign, i.e. {% assign remainingposts = site.posts offset:1 %} or something like that?

@crnkofe

This comment has been minimized.

Copy link

@crnkofe crnkofe commented Dec 2, 2020

I just added this into _layouts/home.html . Works like a charm.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment