feat: Cache preview text in database
Calculation of the preview text is slow because of parsing HTML. Therefore the result should be cached in the database.
A migration is added to calculate all previews on first startup and write the result to database. The next startup will be faster.