# Why do most (all?) themes truncate posts on the main page?

**URL:** <https://forum.ghost.org/t/why-do-most-all-themes-truncate-posts-on-the-main-page/29802>\
**Category:** Themes\
**Created:** [April 26, 2022, 10:28pm UTC](https://forum.ghost.org/t/why-do-most-all-themes-truncate-posts-on-the-main-page/29802 "2022-04-26T22:28:42Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![Matthew\_Bogart](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/matthew_bogart/32/17535_2.png) [@Matthew\_Bogart](https://forum.ghost.org/u/Matthew_Bogart)\
**Post date:** [April 26, 2022, 10:28pm UTC](https://forum.ghost.org/t/why-do-most-all-themes-truncate-posts-on-the-main-page/29802/1 "2022-04-26T22:28:42Z")

</div>

I’m using ghost to make a blog. I’ve been scouring the internet for a ghost theme that presents the entire body of each blog post in a reverse-chronological list on the front page of the site. Like blogs like [daringfireball.net](https://daringfireball.net) or [https://kottke.org](https://kottke.org).

This was the way most blogs were designed for many years, and I’m surprised that I can’t find a ghost theme _anywhere_ that does this, let alone several to choose which I like the style most. They all provide a list of posts, with a variation of a “read more” button to take you to a new page with the full post.

**Is this somehow a technical limitation of the ghost theme engine?** I’m surprised I can’t find a single one, let alone several, that I could decide which I liked best.

Do I need to hire a designer to create a theme like this, or am I missing something?

---

<div class="post-metadata">

**Author:** ![Stromfeldt](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/stromfeldt/32/13572_2.png) [@Stromfeldt](https://forum.ghost.org/u/Stromfeldt)\
**Post date:** [April 26, 2022, 11:08pm UTC](https://forum.ghost.org/t/why-do-most-all-themes-truncate-posts-on-the-main-page/29802/2 "2022-04-26T23:08:23Z")

</div>

Off the top of my head I don’t know of any themes that allow for this out of the box, so yes you’d have to have a theme customised yourself.

Here’s one example of what I presume you’re after, utilising Ghost:

> **[Coding Horror](https://blog.codinghorror.com/)**
>
> programming and human factors

---

<div class="post-metadata">

**Author:** ![vikaspotluri123](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/vikaspotluri123/32/24_2.png) [@vikaspotluri123](https://forum.ghost.org/u/vikaspotluri123)\
**Post date:** [April 26, 2022, 11:24pm UTC](https://forum.ghost.org/t/why-do-most-all-themes-truncate-posts-on-the-main-page/29802/3 "2022-04-26T23:24:24Z")

</div>

> [@Matthew\_Bogart](#):
>
> **Is this somehow a technical limitation of the ghost theme engine?** I’m surprised I can’t find a single one, let alone several, that I could decide which I liked best.

For “index” pages (pages that are a list of posts), Ghost provides the theme with both an excerpt and the full post. Most themes include the excerpt since that’s what a lot of people want - with the new “theme settings” feature, it’s possible themes might support choosing letting you choose in the future 🤔

If you’re willing to modify your theme, it’s a “relatively simple” change - you need to change `{{excerpt}}` to `{{content}}` for the templates you want to update.

Here’s where you would change it for Casper:

> <https://github.com/TryGhost/Casper/blob/f41761e0ad80c516fc5c23a7871ad9b8aafd3cff/partials/post-card.hbs>

---

<div class="post-metadata">

**Author:** ![Matthew\_Bogart](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/matthew_bogart/32/17535_2.png) [@Matthew\_Bogart](https://forum.ghost.org/u/Matthew_Bogart)\
**Post date:** [April 27, 2022, 12:12am UTC](https://forum.ghost.org/t/why-do-most-all-themes-truncate-posts-on-the-main-page/29802/4 "2022-04-27T00:12:20Z")

</div>

Yep. That’s what I was thinking. I’ve been to that site before and didn’t realize it was ghost! 🙂

---

<div class="post-metadata">

**Author:** ![Matthew\_Bogart](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/matthew_bogart/32/17535_2.png) [@Matthew\_Bogart](https://forum.ghost.org/u/Matthew_Bogart)\
**Post date:** [April 27, 2022, 12:24am UTC](https://forum.ghost.org/t/why-do-most-all-themes-truncate-posts-on-the-main-page/29802/5 "2022-04-27T00:24:35Z")

</div>

> [@vikaspotluri123](#):
>
> {{content}}

Thanks for the reply. Making this change in Casper helps me understand how I might be able to adjust other themes to do the same. Thanks!

---

<div class="post-metadata">

**Author:** ![Henry\_Junior](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/henry_junior/32/25808_2.png) [@Henry\_Junior](https://forum.ghost.org/u/Henry_Junior)\
**Post date:** [September 29, 2023, 5:41am UTC](https://forum.ghost.org/t/why-do-most-all-themes-truncate-posts-on-the-main-page/29802/6 "2023-09-29T05:41:16Z")

</div>

> [@Stromfeldt](#):
>
> Ghost

A) Speaking of truncating…while you can set the number of words to something like: excerpt words=“20” that’s often gonna end in a random part of the sentence which looks kinda janky. Are there any plans (or existing re-usable code) to have it truncate (1) always at the end of a sentence after “20” words (2) and, to optionally add a link that says “Continue reading” kind of like how it’s done on [https://om.co](https://om.co)

Or, is this something I need to custom author in JS? Seems like many folks would want the text to truncate nicely.

B) Regarding pagination…I see a lot of themes use “Load more” vs page number (like the Coding Horror example.) Is that a simple tweak? Admittedly, haven’t looked into it.

---

<div class="post-metadata">

**Author:** ![Cathy\_Sarisky](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/cathy_sarisky/32/25750_2.png) [@Cathy\_Sarisky](https://forum.ghost.org/u/Cathy_Sarisky)\
**Post date:** [September 29, 2023, 12:52pm UTC](https://forum.ghost.org/t/why-do-most-all-themes-truncate-posts-on-the-main-page/29802/7 "2023-09-29T12:52:56Z")

</div>

You can control the exact excerpt by filling it in - excerpt is an option in the right menu, right below tags.

---

<div class="post-metadata">

**Author:** ![Henry\_Junior](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/henry_junior/32/25808_2.png) [@Henry\_Junior](https://forum.ghost.org/u/Henry_Junior)\
**Post date:** [September 30, 2023, 6:25am UTC](https://forum.ghost.org/t/why-do-most-all-themes-truncate-posts-on-the-main-page/29802/8 "2023-09-30T06:25:42Z")

</div>

> [@Cathy\_Sarisky](#):
>
> excerpt

Well golly, it’s a bit of extra work but I can handle that. Thank you!

> **[Custom Excerpts](https://ghost.org/changelog/custom-excerpts/)**
>
> What's a custom excerpt? It's this! This piece of text, you're reading it right now! Click through for the full story on why these are useful 🕺🏻

---

<div class="post-metadata">

**Author:** ![Cathy\_Sarisky](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/cathy_sarisky/32/25750_2.png) [@Cathy\_Sarisky](https://forum.ghost.org/u/Cathy_Sarisky)\
**Post date:** [September 30, 2023, 10:14am UTC](https://forum.ghost.org/t/why-do-most-all-themes-truncate-posts-on-the-main-page/29802/9 "2023-09-30T10:14:15Z")

</div>

I think it’s worth it! Maybe I need a better copy editor, but I don’t always want my first sentence as my excerpt, so it’s nice to have the control.

---

<div class="post-metadata">

**Author:** ![Henry\_Junior](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/henry_junior/32/25808_2.png) [@Henry\_Junior](https://forum.ghost.org/u/Henry_Junior)\
**Post date:** [October 1, 2023, 4:13am UTC](https://forum.ghost.org/t/why-do-most-all-themes-truncate-posts-on-the-main-page/29802/10 "2023-10-01T04:13:24Z")

</div>

The 300 character limit is a little annoying…
