Something went wrong. Try again.
[READ-ONLY] Mirror of https://github.com/lowmess/lameass.recipes. A recipe site, but without the ads and 3,000 word essays lameass.recipes
nextjs sanity-io theme-ui typescript
Something went wrong. Try again.
1.0 kB · 45 lines
TypeScript
at develop
12345678910111213141516171819202122232425262728293031323334353637383940414243444546import smartypants from '../utils/smartypants'import mdToHTML from '../utils/markdown'import { Recipe } from '../types/api'
const formatRecipe = (recipe: Recipe): Recipe => { const equipment = recipe.equipment ? recipe.equipment.map((item) => mdToHTML(item, { inline: true })) : []
const ingredients = recipe.ingredients ? recipe.ingredients.map((ingredient) => mdToHTML(ingredient, { inline: true }) ) : []
const sections = recipe.sections ? recipe.sections.map((section) => { const steps = section.steps.map((step) => mdToHTML(step, { inline: true, allowLineBreaks: true }) )
return { ...section, title: smartypants(section.title), steps, } }) : []
const description = recipe.description ? mdToHTML(recipe.description) : null
const notes = recipe.notes ? mdToHTML(recipe.notes) : null
return { ...recipe, title: smartypants(recipe.title), description, equipment, ingredients, sections, notes, }}
export default formatRecipe