core-maugli 1.2.4 → 1.2.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/package.json +1 -1
  2. package/public/img/default/autor_default.webp +0 -0
  3. package/public/img/default/blog_default.webp +0 -0
  4. package/public/img/default/default.webp +0 -0
  5. package/public/img/default/product_default.webp +0 -0
  6. package/public/img/default/project_default.webp +0 -0
  7. package/public/img/default/rubric_default.webp +0 -0
  8. package/public/img/default/test.webp +0 -0
  9. package/public/img/default/test2.webp +0 -0
  10. package/scripts/test-version-update.js +54 -0
  11. package/scripts/update-components.js +94 -6
  12. package/scripts/upgrade-config.js +1 -1
  13. package/src/i18n/de.json +126 -0
  14. package/src/i18n/en.json +126 -0
  15. package/src/i18n/es.json +126 -0
  16. package/src/i18n/fr.json +126 -0
  17. package/src/i18n/index.ts +10 -0
  18. package/src/i18n/ja.json +126 -0
  19. package/src/i18n/languages.ts +23 -0
  20. package/src/i18n/pt.json +126 -0
  21. package/src/i18n/ru.json +123 -0
  22. package/src/i18n/zh.json +126 -0
  23. package/src/icons/ArrowLeft.astro +13 -0
  24. package/src/icons/ArrowRight.astro +13 -0
  25. package/src/icons/flags/brazil.svg +14 -0
  26. package/src/icons/flags/china.svg +15 -0
  27. package/src/icons/flags/france.svg +12 -0
  28. package/src/icons/flags/germany.svg +12 -0
  29. package/src/icons/flags/japan.svg +11 -0
  30. package/src/icons/flags/russia.svg +12 -0
  31. package/src/icons/flags/spain.svg +12 -0
  32. package/src/icons/flags/united arab emirates.svg +13 -0
  33. package/src/icons/flags/united states.svg +15 -0
  34. package/src/icons/socials/BlueskyIcon.astro +9 -0
  35. package/src/icons/socials/EmailIcon.astro +8 -0
  36. package/src/icons/socials/LinkedinIcon.astro +9 -0
  37. package/src/icons/socials/MastodonIcon.astro +9 -0
  38. package/src/icons/socials/MediumIcon.astro +9 -0
  39. package/src/icons/socials/RedditIcon.astro +11 -0
  40. package/src/icons/socials/TelegramIcon.astro +11 -0
  41. package/src/icons/socials/TwitterIcon.astro +9 -0
  42. package/src/layouts/BaseLayout.astro +59 -0
  43. package/src/pages/404.astro +24 -0
  44. package/src/pages/[...id].astro +50 -0
  45. package/src/pages/about.astro +0 -0
  46. package/src/pages/authors/[...page].astro +105 -0
  47. package/src/pages/authors/[id].astro +175 -0
  48. package/src/pages/blog/[...page].astro +59 -0
  49. package/src/pages/blog/[id].astro +175 -0
  50. package/src/pages/index.astro +90 -0
  51. package/src/pages/products/[...page].astro +50 -0
  52. package/src/pages/products/[id].astro +221 -0
  53. package/src/pages/projects/[...page].astro +74 -0
  54. package/src/pages/projects/[id].astro +165 -0
  55. package/src/pages/projects/tags/[id]/[...page].astro +58 -0
  56. package/src/pages/rss.xml.js +5 -0
  57. package/src/pages/tags/[id]/[...page].astro +110 -0
  58. package/src/pages/tags/index.astro +124 -0
  59. package/src/scripts/infoCardFadeIn.js +22 -0
  60. package/src/styles/global.css +273 -0
  61. package/src/utils/common-utils.ts +0 -0
  62. package/src/utils/content-loader.ts +14 -0
  63. package/src/utils/data-utils.ts +49 -0
  64. package/src/utils/featuredManager.ts +118 -0
  65. package/src/utils/posts.ts +43 -0
  66. package/src/utils/reading-time.ts +28 -0
  67. package/src/utils/remark-slugify.js +8 -0
  68. package/src/utils/rss.ts +23 -0
@@ -0,0 +1,8 @@
1
+ export default function customSlugify(text) {
2
+ return text
3
+ .toLowerCase()
4
+ .normalize('NFD').replace(/[\u0300-\u036f]/g, '')
5
+ .replace(/[^a-z0-9\u0400-\u04FF\s-]/g, ' ')
6
+ .trim()
7
+ .replace(/[\s-]+/g, '-');
8
+ }
@@ -0,0 +1,23 @@
1
+ import rss from '@astrojs/rss';
2
+ import { getFilteredCollection } from './content-loader';
3
+ import siteConfig from '../data/site-config';
4
+ import { sortItemsByDateDesc } from './data-utils';
5
+
6
+ /**
7
+ * Generate RSS feed for blog posts.
8
+ * This helper can be used in API routes or build scripts.
9
+ */
10
+ export async function generateBlogRss(context: { site: string }) {
11
+ const posts = (await getFilteredCollection('blog')).sort(sortItemsByDateDesc);
12
+ return rss({
13
+ title: siteConfig.title,
14
+ description: siteConfig.description,
15
+ site: context.site,
16
+ items: posts.map((item) => ({
17
+ title: item.data.title,
18
+ description: item.data.excerpt,
19
+ link: `/blog/${item.id}/`,
20
+ pubDate: item.data.publishDate.setUTCHours(0)
21
+ }))
22
+ });
23
+ }