Issue with relative links in :dirty format
Closed this issue · 2 comments
Apologies in advance if this isn't the right forum for this question, but I'm having some trouble understanding how the linking should work. I'm using cryogen for an AWS S3 static site. If I have a post on the front page, an <img src="img/...png">
link will work, as will a link to a previous post (posts-output/xxxx.html). However, if I click on the same post in the sidebar (under archives) neither link works.
I noticed this because I have a post in that position now, but I'm going to fix them with full (not relative links), but I want to understand whether relative links work. I'm not sure how they could ever actually work at both the index level and in the archives. Am I missing something? Is this a bug in the way index.html
and posts-output/xxxx.html
are generated?
Following the tips in this issue I've configured :clean-urls
to :dirty
and :blog-prefix
to /
.
I'm not clear on what the problem is. Relative links will not always work; that is to be expected. If your current URL is posts-output/xxxx.html
and you click on a link to posts-output/xxxx.html
then your resulting location would be posts-output/posts-output/xxxx.html
. However, Cryogen does not produce relative links.
However, if I click on the same post in the sidebar (under archives) neither link works.
Are you using your own custom theme? None of the provided ones have post links under an "archives" heading in the sidebar -- just the blue
theme has (generated) links under a "Recent Posts" heading and those are absolute.
Sorry for the confusion. I'm just using blue
and the heading is indeed "Recent Posts".
Cryogen does not generate any relative links. I understand that. What tripped me up is that I used relative links in my post, which worked fine running locally (lein ring server
) and appeared to be fine when deployed. But it is broken when you view the same article generated for use under "Recent Posts". This is the same article, that the generator code output in two different places. I'm wondering (I'll try to do this) whether the code could be smarter and realise that the (currently active, most recent post) will be in two places in the filesystem and might need to treat any relative links differently.
As mentioned, I solved this by just using a full url in both places, but this wouldn't have worked locally (because I haven't uploaded the files yet), so can be awkward to test before publishing. For example, resizing the image.
I'm probably not making sense. I'll close this and try to submit a patch at some point.