What Jekyll does with a Markdown file, and where an image fits
Jekyll takes Markdown through a file in the posts directory whose name carries the publication date, and that is the door this page is about. The question worth asking is what an image looks like by the time it arrives, because Jekyll never sees the image itself. It sees whatever the conversion handed over, and nothing else.
Jekyll requires the front matter fence even when it is empty, and skips any file that lacks it. What comes out of an image here is the text of the image as Markdown, with a table rebuilt when the image held one, so the structure Jekyll is looking for is actually present instead of merely implied. That is the entire trick, and there is nothing clever underneath it.
What survives from an image into Jekyll
The conversion drops the background, the stamps, the shadows and the skew of the scan before Jekyll ever sees them, because none of it carries meaning into Jekyll and all of it costs something. What it keeps is the part you would otherwise have retyped by hand.
- The text comes out in reading order rather than in scan order, and Jekyll receives it as structure rather than as something to infer.
- A visible table is rebuilt as a Markdown table instead of collapsing into a line of words, which is the part Jekyll would otherwise have to reconstruct on its own.
- References and figures are read character by character, which is the part people retype by hand, so nothing downstream of Jekyll has to guess at it.
What Jekyll never gets back from an image
Every conversion costs something, and a page listing only the gains is a sales page. Here is what an image gives up on the way to Jekyll, stated plainly enough that you can decide against it.
- Layout and colour are gone, and a colour that meant something meant it only to a human, and Jekyll will not get it back from anywhere.
- Anything too small or too blurred to read is not returned, and not flagged either, so nothing you build in Jekyll should depend on it.
- Certainty is gone: a model is reading, and a model can be wrong while sounding sure, which is a real cost inside Jekyll and not a rounding error.
The Image to Markdown step behind this Jekyll page was measured
Gemini 2.5 Flash Lite does the conversion, and it was proven end to end on 30 August 2026: a purchase order image built for the occasion, carrying a unique reference, came back with the reference, the quantity and the unit price all read correctly. That is one run on one day and not an average, which is exactly why the date travels with the claim instead of being left out of it. The same output is what Jekyll would have received.
This capability returned nothing at all until 30 August 2026, and two probes failed that same day before the quota was restored. Jekyll has no way of telling you any of that from the inside, so it gets said here instead, on the page that sent you there.
Once the image is Markdown, what to do inside Jekyll
With the Markdown in hand, name the file by date and slug, then run the build once locally before pushing anything. That is a Jekyll habit rather than a conversion setting, and it is where most of the value of converting an image in the first place actually lands.
The constraint worth knowing before you start: a file whose name does not match the expected date pattern is simply not published. It bites the same way whether the Markdown came out of an image or out of something else entirely, but it bites hardest on long documents, which is what an image usually is.
What we will not pretend about Image in Jekyll
- Jekyll will not tell you why a post failed to appear, and converting an image first does not change that in the slightest.
- curly braces in the body are read as template syntax and stop the build, which is a Jekyll behaviour rather than anything the image conversion did.
- The conversion costs half a credit and the price is shown before the image is sent, whether the Markdown ends up in Jekyll or nowhere at all.