when will the appropiate hook be to be able to parse the recipe and arrange and pretty it to show it to the users?

The hook you want is probably plugins.fireHook('filter:post.save', postData, next);. This is called right before the post is saved into the database.

How are posts saved? in raw text? is the text parsed with Marked when each post loads?

Yes the raw text is saved into the database and parsed on the way out.

The easiest way for this to work would be to listen to that hook and find the file links in the postData.content they will be in the form [link text](link url). You can grab link url, make sure it exists and read it and then append it to the postData.content in your plugin.