I don’t know if this is the expected behavior, but every time I import old posts to my blog, they end up with no comment box. I have tried two importing methods.
Markdown zip file using the date: and title: frontmatter.
Pasting the MD text in the compose window (web) and changing the creation date to when the post was originally created.
In both cases, the post ends up with no comment box, as can be seen in the three examples below:
This is not obvious, but conversation.js and the comment box is for timeline conversations. So, if the post is not on your Micro.blog timeline, there won’t be anything to comment on.
So, what you are saying is that imported posts will never be fully integrated into the Micro.blog system. Is that correct? I always thought they would be added to the timeline at the correct point. Is there a way to force them to be added? Or is there a way to make the comment box work? I have so many posts to import. But not having a comment box is a bit disappointing.
Yes, that’s correct. @manton can jump in here if I’m wrong, but I don’t think there’s a way to force old posts to appear on the timeline. And since the comment box is for items on the timeline, there’s no way to make it work either.
That’s right, but I wouldn’t say it will never work. We could change it so that Micro.blog automatically creates the reference in the timeline when someone tries to add a comment on an older post. I think it hasn’t been much of an issue because commenting on very old posts is kind of rare.
I’ll give this some more thought. I’d like it to work consistently, and right now the behavior is pretty confusing if you’ve run into this limitation.
I see. My argument regarding “commenting on very old posts is kind of rare” is that it depends. I tend to link to other posts a lot because they tell part of the story. In fact, the linking back is part of my “importing older posts” strategy. If I don’t have an old post online when I’m writing a new related one, I’ll first import the old one, which many times ends up being a few posts. Only then will I publish the new post with the links to those old articles.
I have to do it like this because my backups are a bit messy, and every so often I only find the post I’m looking for in the Internet Archive.
I’ve been thinking about this more and reviewing how the code actually works. I’m going to change it so that when the comment box loads, if the post was not in the Micro.blog timeline yet, it automatically creates it so the conversation thread is tied together correctly for new comments. This looks more straightforward than I had originally thought, with minimal impact since it will only happen when someone visits an old post.
Because this will happen from the Conversation.js include, blogs that for whatever reason don’t want to connect with the Micro.blog timeline won’t be affected.
Good point, yes. I’ll lock it down so that it only enables this new behavior if the blog has a matching feed in Sources, since we use that as intent to add posts to the timeline.
But that feed could be for a single category, that’s how I’ve set it up for my timeline. And there really isn’t a way for Micro.blog to reliably tell whether a post actually “belongs” to the feed set up in Sources, right?
That’s true. I still think it’s worth doing even if it’s not compatible with category feed sources. There is some code in Micro.blog already that can notice setups like yours and skip whatever logic doesn’t make sense.
This change is live now. As discussed, it’s limited to blogs that are including all their posts in the timeline — e.g. /feed.json on the Sources page. It shouldn’t have any affect on new posts, just older posts that were imported before wiring things up to Micro.blog.