Cookbook.vue 976 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. <script setup>
  2. import { computed } from 'vue'
  3. import { useData } from 'vitepress'
  4. import { data as recipes } from '../recipes.data.ts'
  5. const { lang } = useData()
  6. const filteredRecipes = computed(() => recipes.filter(recipe => recipe.lang === lang.value.split('-')[0]))
  7. </script>
  8. <template>
  9. <ul class="grid grid-cols-1 sm:grid-cols-2 gap-8 -mx-4 pt-8">
  10. <li
  11. v-for="recipe of filteredRecipes"
  12. :key="recipe.title"
  13. class="list-none important-m-0"
  14. >
  15. <a
  16. :href="recipe.url"
  17. >
  18. <img
  19. :src="recipe.thumbnail"
  20. :alt="recipe.title"
  21. class="aspect-video object-cover rounded-lg"
  22. />
  23. <h3>
  24. {{ recipe.title }}
  25. <span
  26. v-for="n in recipe.difficulty"
  27. :key="n"
  28. aria-label="chili"
  29. role="img"
  30. class="text-sm"
  31. >🌶️</span>
  32. </h3></a>
  33. <p>{{ recipe.excerpt }}</p>
  34. </li>
  35. </ul>
  36. </template>