Tuesday, March 27, 2012

Four ways to flip your blog posts

Update: Parts of this report are obsolete. Parts still work, but not with the latest blog themes from Google. It's complicated.

Online stuff changes from time to time, and for this topic a revision would be impractical.

Read more about archived posts, if you like.

One of the most-sought missing features from Blogger is the little button you click to show your posts in chronological order, oldest first.

Where Blogger fears to tread, however, clever hackers (one of them too clever by half) have rushed in with template modifications and other tricks.

As of this writing there are four different hacks to show your blog's content first to last instead of last to first, each method with its own advantages and disadvantages. Here's a quick survey.

  • The ASC solution ("ASC") is a template modification that shows reordered posts on blog pages with special web addresses ending in ASC. At the moment this is my favorite method, though it may not work for every blog.
  • There is also a 500-posts-on-a-page hack ("500") that lets you show as many as 500 reordered blog posts (but no more) on a single static page.
  • Chronoblog is the name of a sidebar gadget that puts your oldest post in a little window at the top of your blog. Navigational buttons move, post-by-post, through your entire blog from beginning to end.
  • Finally, there is an out-of-blog ("OOB") solution that works by manipulating your blog's feed using several third-party web services, then displaying the reordered result on one or more static pages. Update: This method has expired. The others still work.

I'm not including the simplest method, which is to change the post order by editing the publication dates of every post.

There is something to be said for each of these solutions, none of them perfect. Here is a quick comparison.

First, none of these solutions will run for readers who have disabled JavaScript. None replace your main blog page, which will continue to show your content in classic blogging order, most-recent first.

ASC posts on special blog pages that have "older" and "newer" links at the bottom, just like regular archive pages. Oddly, posts with the same publication date will still appear in backwards order within that day.

To implement ASC, paste a script into your blog's template. I found this pretty straightforward. However, a related hack, to get around the same-day bug, was a little trickier. Also, you must tinker with the url a bit to get the first page just right.

One other nice feature: Once you install ASC, you can use it to generate an oldest-first page by label. So, for instance, you can make a page showing only the posts from that trip to Italy, starting with the first day and ending with the last.

The author provides the script and instructions in this blog post.

500 shows your oldest-first posts on a separate static page with a limit of 500 posts. Here you do not need to crack open your template, just paste the script (provided) onto a static page.

Chronoblog takes a different approach and shows your blog posts one at a time in a little window at the top of your regular blog. You navigate from post to post within the window. It is the only one of these methods that does not even try to look like a collection of regular blog posts.

Apparently, the 500-post limit also applies to Chronoblog, though the author says there is a workaround.

Chronoblog is actually a sidebar gadget that goes in the top-of-the-blog area. Installation is a snap because the author provides an autoinstall option that adds the gadget directly to your blog.

Finally, OOB entails pasting a script into a static page or, in one variation, a sidebar gadget. Like ASC, it can also make pages by label. Detailed instruction begin here.
The other methods rely on scripts running in your blog's template, but OOB worked its magic on blog content outside of Blogger entirely. Update: Which was its Achilles heal.

I am preserving this description, but OOB stopped working when Yahoo pulled the plug on its wonderful Pipes service.

For instance, the free feed2js.org will write a custom script to show your content. No programming knowledge is required: You specify what is shown with a friendly user-preferences form.

Out-of-blog solutions have the virtue of being immune to problems related to changes in blogger's own architecture, or in browser technology. However, they are exposed to issues related to changes in the third-party blog services themselves.

One recent change, for instance, requires you to write multiple scripts to show more than 100 posts.

If you want to format OOB to look like your blog posts you must add formatting code to your template. It's not so hard to do, and instructions are provided, but it can be daunting if you are not familiar with cascading style sheets (the standard way of formatting content on web pages).

Right now the other methods work well for most blogs and in my view have the edge over OOB. However, OOB also makes a great sidebar gadget, namely a list of clickable blog titles (just the titles) in chronological order. The list revises itself as you add new posts.

You can limit this to all the titles under a particular label, such as for your trip to Italy. It's a nice little table of contents, and no formatting is required. I currently have some examples running in the sidebar of this blog.

Also OOB, being out-of-blog, works on any web page. It's not just for Blogger pages.


In short (with links),
  • ASC puts reordered blog posts on special ASC pages.
  • 500 puts up to 500 posts on a single page.
  • Chronoblog puts your whole blog in a gadget, one post at a time.
  • OOB, at the moment, requires the most work to get right, though it does allow for a few variations the others do not.

29 comments:

  1. Nice summary, Adam. I'll definitely be linking to it.

    ReplyDelete
    Replies
    1. Thanks you, Mary!

      I really felt the need to write something comprehensive, more or less, about this. It's closure for me, and I hope useful for others.

      Delete
  2. thanks adam
    perhaps i'm not so perverse after all
    greatly appreciate the response to my reverse blogging query
    kindest regards

    ReplyDelete
  3. Thank you so much for this. Is it possible to apply the 500 to a specific page of labeled posts only?

    http://frenchcloud.blogspot.com/search/label/story%20of%20us

    ReplyDelete
    Replies
    1. @Shari, I should think you could do this for a set of labeled posts.

      However, 500 is not my solution, and you should ask the author.

      I've found him to be very responsive to questions left in comments.

      Sounds like it would be the perfect solution for you. I hope you can get it to work.

      Delete
  4. I have few enough posts so far that I wouldn't mind just editing the publication dates of every post. But can't figure out how... is this maybe a feature that's no longer available?

    ReplyDelete
    Replies
    1. Yeah, things have changed all right. But you can still do this.

      When you open the post for editing, this option is in the right-hand sidebar ("Published on").

      Delete
  5. There's another way, not sure if it will work over a period of time, I am going to try it ... simply never finish your first post, and implant the date after a space, and another space after the date, then a new title. But all in the one post.
    ????
    I am trying it here - http://notquitenomadz.blogspot.com

    ReplyDelete
    Replies
    1. @BJ: You can, with a little work, format one really big post to look like a series of posts. (You could do this on a static page too.)

      But then you lose the benefits of a blog.

      You can't apply labels to these "postlets," or link to them easily, or use the jump break to organize things for your readers. Your newest content goes last, where readers will not see it.

      Certainly, you should do what works for you, but I wonder why you don't just have a plain vanilla web page for this.

      Delete
  6. Quel methode serait meilleur, pour un ancien blog avec aprox. 15000 entrées ? J'avais publiée mes journaux intimes, de 2005 jusque fini de publier, un par jour. C'était bien alors, mais maintenant, très dure les lire. J'ai essayée améliorer, trop tard, ajoutant labels, liens vers début des journaux, etc. Java ou HTML n'importe lequel ?

    Deuxième question : mon blog "il y a de la vie après 70 ans" avec 4000+ posts depuis 9 ans, trop gros: est-ce possible de reverser, année par année ? Ou en faire des blogs qu'on peut ensuite traiter, relire facilement? Julie70.blogspot

    ReplyDelete
    Replies
    1. @Julie, bienvenue! Ici on parle Français—péniblement.

      So I hope you will not mind if I stick to (American) English!

      You will have to see for yourself which method work best for your blogs.

      The ASC method (above), for instance, might not work for older blogs if they have not been updated to newer Blogger templates.

      As I say above, OOB has been restricted in a way that makes it time consuming to set up for long blogs. It might be feasible for your photo blog, where I think you would have to set up perhaps 15 scripts using the method described. Your other blog might require something like 40 or 50 such operations.

      Congratulations on such a distinguished blogging career. As you know doubt know, once you have created a body of work, there is a real challenge to manage it and make it accessible to readers.

      Bonne chance!

      Delete
  7. Can I use this for someone else's blog? I'd like to print my brother's blog, made by his friend, in chronological order. But I want to do it myself, without bugging the friend to do it for me.
    ?

    ReplyDelete
    Replies
    1. Diane, that's a question I hadn't considered before. Depending on what "this" means (there are 4 different solutions outlined above), I think you probably could, if you got the author's permission of course.

      ASC and 500 would require modifications to the code provided by the author of those solutions. Chronoblog is probably out. OOB would work as long as the feed of the blog is public.

      There are also services that will print bound versions of blogs, based on the blog feed. I do not have any personal experience with these.

      Delete
  8. where is the 'post order = oldest to new' option?
    I saw it once but seems like it disappeared.
    please help

    ReplyDelete
    Replies
    1. Amina, Blogger has no such option built in.

      That is why people have gone to such trouble to find work-arounds like those above.

      Two years later this is still a good summary of the state of the art. "ASC" is working well for me.

      Delete
    2. Adam,

      Amina's correct. Originally Blogger 'did' have this functionality.

      There were a handful of bloggers I networked with that used this format, and remained on Blogger due to not having resources or felt comfortable administrating self hosted.

      Due to going self hosted later in 2004, I posted very sparsely on Blogger using desktop applications and never had a need to get in to the settings to see when this change ever occurred.

      Delete
    3. Thank you, John! Thar was before my time.

      Is Amina another blogger from the mid oughts? In any case, it hasn't been available for quite a while, thus these hacks.

      Delete
  9. How did you add the bar that says:

    blog about journey etc....

    ReplyDelete
  10. When you scroll down, how did you get your back ground to stay still?

    ReplyDelete
    Replies
    1. George, that behavior is built in to some of Blogger's designer templates.

      Here's a method to 'fix' the background for templates that don't do it by default, from the Blogger help forum.

      Please post general questions to the Blogger help forum.

      Delete
  11. Thanks for your help.
    And it still seems to me rather incredible that there is not a "built in" way to do this in Blogger.

    ReplyDelete
    Replies
    1. Well to be fair there is a good argument for reverse order most of the time. But ultimately it should be up to us, no?

      Delete
  12. I thought I was once able to just rearrange my posts in whatever order I wanted ..... but cannot figure out how I did it before. I just use my blog for my poetry and publish dates are not important. Right now is the birthday of my recently deceased granddaughter and so I would like to have the two poems I wrote for her to be the first ones showing. Which one of the fixes that you discuss would be best for me. Sure would appreciate any help. Thanks. Jane

    ReplyDelete
    Replies
    1. Jane, I don't think any of these are right for you, because all you want to do is to promote two poems to the top of your blog.

      I recommend changing the publication date of the posts to today (rom the edit window for the post) and clicking Update. The posts will repaginate accordingly.

      Delete
  13. Adam, just wanted to say how useful it was to learn from your advice written here about "fixing the publication date". I had been troubled by posts being re-ordered if I went back to make an editorial change to an older post. No longer ! Thank you.

    ReplyDelete
    Replies
    1. Bill, you are very welcome. However, you should not have to reset the date every time (unless you want to change the date). The date should not change from that of original publication unless you change it yourself.

      There are 2 exceptions to this that I know of. First, if you revert the post to draft and then republish it with your changes, it’s a new post and gets a new date.

      This is usually not a good practice, because the new post also has a new web address and any links to the original post will be broken. Better to simply revise the post and republish via “update."

      The date also changes if you originally published the post as a scheduled post—as a post to be published at a set time in what was then the future. I have no idea why that should be.

      Delete
  14. Hi Adam

    Wonderful Post

    when I checked your blog main page I discovered that each post is kept orderly and short as though inside a box. I love that.

    And that's exactly the problem I'm having with my own blog. The entire post has to finish, no matter how long and immediately the next post follows.

    How do I make my home page segmented per post?
    I hope you understand my point.

    My blog is www.critiscope.blogspot.com

    ReplyDelete
    Replies
    1. Okoli, you are very kind, considering how out of date this post is.

      For your question, I am not sure, but I think you just need to learn about the jump break.

      Delete