diff --git a/README.md b/README.md new file mode 100644 index 0000000..382d0ef --- /dev/null +++ b/README.md @@ -0,0 +1,18 @@ +# Project guide + +## System requirement + +**Hugo version**: hugo v0.145.0-666444f0a52132f9fec9f71cf25b441cc6a4f355+extended + +### Build commnands + +- Build your site or compile the code with latest i18n changes or content changes +`hugo build --cleanDestinationDir` + +- Run your site after compilation, this will display all the published content (i.e., draft:false) +`hugo server` + +- Run your site after compilation, this will display all content irrespective of publish status (i.e., draft:false/true) +`hugo server -D` + +**Note:** if you can't see any changes in the browser regarding i18n or content then, use `hugo serve --noHTTPCache --ignoreCache --disableFastRender` and then press ctrl + shift + r on windows or cmd + shift + r on mac to clear browser cache diff --git a/archetypes/default.md b/archetypes/default.md index 0d5eebd..4f719dd 100644 --- a/archetypes/default.md +++ b/archetypes/default.md @@ -1,5 +1,5 @@ --- date: '{{ .Date }}' -draft: true +draft: false title: '{{ replace .File.ContentBaseName "-" " " | title }}' --- diff --git a/content/de/_index.md b/content/de/_index.md new file mode 100644 index 0000000..13a8a1f --- /dev/null +++ b/content/de/_index.md @@ -0,0 +1,5 @@ +--- +date: '2025-06-15T22:21:39+05:30' +draft: false +title: '' +--- diff --git a/content/de/stories/_index.md b/content/de/stories/_index.md new file mode 100644 index 0000000..8ebb6ce --- /dev/null +++ b/content/de/stories/_index.md @@ -0,0 +1,5 @@ +--- +date: '2025-06-15T22:50:48+05:30' +draft: false +title: 'Stories' +--- diff --git a/content/de/stories/agape.md b/content/de/stories/agape.md index 8dcb88d..71bea7b 100644 --- a/content/de/stories/agape.md +++ b/content/de/stories/agape.md @@ -1,62 +1,58 @@ --- -title: "Umgestaltung unserer Rinderfarm mit Odoo Community" +title: "Transforming Our Cattle Farm with Odoo Community" date: 2025-06-10T12:00:00 -company: "Estancia Agape" -company_link: "https://estancia-agape.com" -consultant: "Oliver Arnold" -consultant_link: "https://ODOO4projects.com" -description: "Wie Odoo Community geholfen hat, die Abläufe in drei Farmstandorten in Paraguay zu optimieren" -tags: ["Odoo", "ERP", "Rinderfarm", "Paraguay"] +author: "Estancia Agape" +description: "How Odoo Community helped streamline operations across three farm locations in Paraguay" +tags: ["Odoo", "ERP", "Cattle Farm", "Paraguay", "Digital Transformation"] categories: ["Farm", "0-5"] -image: "https://estancia-agape.com/web/image/1078-81bed64d/agapei-1.svg" -type: original +image: "/images/blog-thumbnail.png" --- ![Estancia Agapé](https://estancia-agape.com/web/image/1078-81bed64d/agapei-1.svg) -Eine Rinderfarm in Paraguay zu betreiben, stellt uns vor einzigartige Herausforderungen - besonders wenn man Abläufe in **dreien unterschiedlichen Standorten** verwaltet. Bei [Estancia Agapé](https://estancia-agape.com) war unser Ziel immer, in der Tradition verwurzelt zu bleiben und gleichzeitig Innovationen zu nutzen, um nachhaltig und effizient zu wachsen. Deshalb haben wir uns für **Odoo Community** entschieden, und die Ergebnisse haben unsere Erwartungen übertroffen. +Running a cattle farm in Paraguay presents unique challenges — especially when managing operations across **three distinct locations**. At [Estancia Agapé](https://estancia-agape.com), our goal has always been to stay grounded in tradition while embracing innovation to grow sustainably and efficiently. This is why we turned to **Odoo Community**, and the results have exceeded our expectations. -## Warum Odoo? +## Why Odoo? -Wir haben verschiedene Systeme geprüft, bevor wir uns für Odoo Community entschieden haben. Die Gründe waren klar: +We evaluated various systems before choosing Odoo Community. The reasons were clear: -- Open-Source und anpassbar -- Robustes Set von Funktionen für Inventur, Buchhaltung und Logistik -- Große und aktive globale Gemeinschaft -- Keine Lizenzgebühren +- Open-source and customizable +- Robust set of features for inventory, accounting, and logistics +- Large and active global community +- No licensing fees -Aber was wirklich den Unterschied ausmachte, war die Möglichkeit, den **Dienst online zu hosten**. +But what truly made the difference was the ability to **host the service online**. -## Online Hosting: Der Spielwechsler +## Online Hosting: The Game-Changer -Mit drei abgelegenen Farmstandorten brauchten wir ein zentralisiertes System, das von unseren Teams von überall aus zugänglich ist. Das Online-Hosting von Odoo gab uns: +With three remote farm locations, we needed a centralized system that could be accessed by our teams from anywhere. Hosting Odoo online gave us: -- **Echtzeitsynchronisation** zwischen den Standorten -- **Vereinfachte Workflows** für Mitarbeiter auf dem Feld und im Büro -- **Fernüberwachung** von Lagerbeständen, Verkäufen und Ausgaben -- **Reduzierter IT-Aufwand** dank externer Hostingpartner +- **Real-time synchronization** between sites +- **Simplified workflows** for staff in the field and in the office +- **Remote oversight** of stock, sales, and expenses +- **Reduced IT burden** thanks to external hosting partners -Wir verwalten nun unser Viehbestandsinventar, Weideflächennutzung, Tierarzttermine und Finanzaufzeichnungen in einem einzigen System, sicher von jedem Gerät aus zugänglich. +We now manage cattle inventory, pasture usage, vet schedules, and financial records in a single system, accessible securely from any device. -## Die Ergebnisse +## The Results -Seit der Implementierung von Odoo Community: +Since implementing Odoo Community: -- Hat sich der manuelle Papierkram um über 80% reduziert -- Stehen tägliche Betriebsberichte sofort der Geschäftsleitung zur Verfügung -- Hat sich die Zusammenarbeit der Mitarbeiter an allen Standorten verbessert -- Sind Entscheidungen schneller und datengesteuert +- Manual paperwork has dropped by over 80% +- Daily operational reports are instantly available to management +- Staff collaboration has improved across all sites +- Decision-making is faster and data-driven -Was früher Tage dauerte, dauert jetzt Minuten. +What used to take days now takes minutes. -## Blick nach vorn +## Looking Ahead -Wir erweitern unseren Einsatz von Odoo Community weiter, indem wir zusätzliche Module integrieren und mobile App-Funktionen für den Feldeinsatz erforschen. +We are continuing to expand our use of Odoo Community by integrating additional modules and exploring mobile app features for field use. -Für andere landwirtschaftliche Betriebe in Paraguay oder Lateinamerika empfehlen wir dringend, Open-Source-ERP-Systeme wie Odoo in Betracht zu ziehen. Mit der richtigen Einrichtung und einem Cloud-basierten Ansatz können selbst die traditionellsten Branchen von modernen Tools profitieren. +For other agricultural businesses in Paraguay or Latin America, we highly recommend considering open-source ERP systems like Odoo. With the right setup and a cloud-based approach, even the most traditional industries can benefit from modern tools. -**Besuchen Sie uns unter [estancia-agape.com](https://estancia-agape.com), um mehr über unseren Weg zu erfahren.** +**Visit us at [estancia-agape.com](https://estancia-agape.com) to learn more about our journey.** --- -*Interessiert, wie Odoo für Ihren landwirtschaftlichen Betrieb oder Agrargeschäft arbeiten kann? Kontaktieren Sie uns - wir freuen uns, unsere Erkenntnisse zu teilen.* \ No newline at end of file +*Interested in how Odoo can work for your farm or agribusiness? Contact us — we’re happy to share insights.* diff --git a/content/en/_index.md b/content/en/_index.md new file mode 100644 index 0000000..30f2d4c --- /dev/null +++ b/content/en/_index.md @@ -0,0 +1,5 @@ +--- +date: '2025-06-15T22:21:19+05:30' +draft: false +title: '' +--- diff --git a/content/en/stories/_index.md b/content/en/stories/_index.md new file mode 100644 index 0000000..4d669f9 --- /dev/null +++ b/content/en/stories/_index.md @@ -0,0 +1,5 @@ +--- +date: '2025-06-15T22:51:05+05:30' +draft: false +title: 'Stories' +--- diff --git a/content/en/stories/agape.md b/content/en/stories/agape.md index 072ce59..71bea7b 100644 --- a/content/en/stories/agape.md +++ b/content/en/stories/agape.md @@ -1,15 +1,11 @@ --- title: "Transforming Our Cattle Farm with Odoo Community" date: 2025-06-10T12:00:00 -company: "Estancia Agape" -company_link: "https://estancia-agape.com" -consultant: "Oliver Arnold" -consultant_link: "https://ODOO4projects.com" +author: "Estancia Agape" description: "How Odoo Community helped streamline operations across three farm locations in Paraguay" -tags: ["Odoo", "ERP", "Cattle Farm", "Paraguay"] +tags: ["Odoo", "ERP", "Cattle Farm", "Paraguay", "Digital Transformation"] categories: ["Farm", "0-5"] -image: "https://estancia-agape.com/web/image/1078-81bed64d/agapei-1.svg" -type: original +image: "/images/blog-thumbnail.png" --- ![Estancia Agapé](https://estancia-agape.com/web/image/1078-81bed64d/agapei-1.svg) @@ -59,4 +55,4 @@ For other agricultural businesses in Paraguay or Latin America, we highly recomm --- -*Interested in how Odoo can work for your farm or agribusiness? Contact us — we’re happy to share insights.* \ No newline at end of file +*Interested in how Odoo can work for your farm or agribusiness? Contact us — we’re happy to share insights.* diff --git a/content/es/_index.md b/content/es/_index.md new file mode 100644 index 0000000..d4b5faf --- /dev/null +++ b/content/es/_index.md @@ -0,0 +1,5 @@ +--- +date: '2025-06-15T22:21:30+05:30' +draft: false +title: '' +--- diff --git a/content/es/stories/_index.md b/content/es/stories/_index.md new file mode 100644 index 0000000..e86a985 --- /dev/null +++ b/content/es/stories/_index.md @@ -0,0 +1,5 @@ +--- +date: '2025-06-15T22:50:57+05:30' +draft: false +title: 'Stories' +--- diff --git a/content/es/stories/agape.md b/content/es/stories/agape.md index 4400a36..71bea7b 100644 --- a/content/es/stories/agape.md +++ b/content/es/stories/agape.md @@ -1,62 +1,58 @@ --- -title: "Transformando Nuestra Granja de Ganado con Odoo Community" +title: "Transforming Our Cattle Farm with Odoo Community" date: 2025-06-10T12:00:00 -company: "Estancia Agape" -company_link: "https://estancia-agape.com" -consultant: "Oliver Arnold" -consultant_link: "https://ODOO4projects.com" -description: "Cómo Odoo Community ayudó a optimizar las operaciones en tres ubicaciones de granjas en Paraguay" -tags: ["Odoo", "ERP", "Granja de Ganado", "Paraguay"] -categories: ["Granja", "0-5"] -image: "https://estancia-agape.com/web/image/1078-81bed64d/agapei-1.svg" -type: original +author: "Estancia Agape" +description: "How Odoo Community helped streamline operations across three farm locations in Paraguay" +tags: ["Odoo", "ERP", "Cattle Farm", "Paraguay", "Digital Transformation"] +categories: ["Farm", "0-5"] +image: "/images/blog-thumbnail.png" --- ![Estancia Agapé](https://estancia-agape.com/web/image/1078-81bed64d/agapei-1.svg) -Operar una granja de ganado en Paraguay presenta desafíos únicos, especialmente cuando se manejan operaciones en **tres ubicaciones distintas**. En [Estancia Agapé](https://estancia-agape.com), nuestro objetivo siempre ha sido mantenernos arraigados en la tradición mientras abrazamos la innovación para crecer de manera sostenible y eficiente. Por esto recurrimos a **Odoo Community**, y los resultados han superado nuestras expectativas. +Running a cattle farm in Paraguay presents unique challenges — especially when managing operations across **three distinct locations**. At [Estancia Agapé](https://estancia-agape.com), our goal has always been to stay grounded in tradition while embracing innovation to grow sustainably and efficiently. This is why we turned to **Odoo Community**, and the results have exceeded our expectations. -## ¿Por qué Odoo? +## Why Odoo? -Evaluamos varios sistemas antes de elegir Odoo Community. Las razones fueron claras: +We evaluated various systems before choosing Odoo Community. The reasons were clear: -- De código abierto y personalizable -- Robustez de funciones para inventario, contabilidad y logística -- Gran comunidad global activa -- Sin tarifas de licencia +- Open-source and customizable +- Robust set of features for inventory, accounting, and logistics +- Large and active global community +- No licensing fees -Pero lo que realmente hizo la diferencia fue la capacidad de **alojar el servicio en línea**. +But what truly made the difference was the ability to **host the service online**. -## Alojamiento en línea: El Cambio de Juego +## Online Hosting: The Game-Changer -Con tres ubicaciones de granjas remotas, necesitábamos un sistema centralizado que pudiera ser accesible para nuestros equipos desde cualquier lugar. Alojar Odoo en línea nos proporcionó: +With three remote farm locations, we needed a centralized system that could be accessed by our teams from anywhere. Hosting Odoo online gave us: -- **Sincronización en tiempo real** entre los sitios -- **Flujos de trabajo simplificados** para el personal en el campo y en la oficina -- **Supervisión remota** de stock, ventas y gastos -- **Reducción del peso de TI** gracias a partners de alojamiento externo +- **Real-time synchronization** between sites +- **Simplified workflows** for staff in the field and in the office +- **Remote oversight** of stock, sales, and expenses +- **Reduced IT burden** thanks to external hosting partners -Ahora gestionamos el inventario de ganado, el uso de pasturas, los horarios de los veterinarios y los registros financieros en un único sistema, accesible de manera segura desde cualquier dispositivo. +We now manage cattle inventory, pasture usage, vet schedules, and financial records in a single system, accessible securely from any device. -## Los Resultados +## The Results -Desde la implementación de Odoo Community: +Since implementing Odoo Community: -- La documentación manual se ha reducido en más del 80% -- Los informes operativos diarios están inmediatamente disponibles para la gerencia -- La colaboración del personal ha mejorado en todos los sitios -- La toma de decisiones es más rápida y basada en datos +- Manual paperwork has dropped by over 80% +- Daily operational reports are instantly available to management +- Staff collaboration has improved across all sites +- Decision-making is faster and data-driven -Lo que solía tardar días ahora se hace en minutos. +What used to take days now takes minutes. -## Mirando al Futuro +## Looking Ahead -Continuamos expandiendo nuestro uso de Odoo Community integrando módulos adicionales y explorando características de la aplicación móvil para el uso en el campo. +We are continuing to expand our use of Odoo Community by integrating additional modules and exploring mobile app features for field use. -Para otros negocios agrícolas en Paraguay o América Latina, recomendamos altamente considerar sistemas ERP de código abierto como Odoo. Con la configuración adecuada y un enfoque basado en la nube, incluso las industrias más tradicionales pueden beneficiarse de las herramientas modernas. +For other agricultural businesses in Paraguay or Latin America, we highly recommend considering open-source ERP systems like Odoo. With the right setup and a cloud-based approach, even the most traditional industries can benefit from modern tools. -**Visítanos en [estancia-agape.com](https://estancia-agape.com) para saber más sobre nuestro viaje.** +**Visit us at [estancia-agape.com](https://estancia-agape.com) to learn more about our journey.** --- -*¿Interesado en cómo Odoo puede trabajar para tu granja o agroempresa? Contáctanos, estamos felices de compartir nuestras perspectivas.* \ No newline at end of file +*Interested in how Odoo can work for your farm or agribusiness? Contact us — we’re happy to share insights.* diff --git a/hugo.yaml b/hugo.yaml index 0ecc42a..ef352e1 100644 --- a/hugo.yaml +++ b/hugo.yaml @@ -1,20 +1,43 @@ -baseURL: "https://success.odoo4projects.com/" +baseURL: "https://example.org/" languageCode: "en-us" +taxonomies: + tag: tags + category: categories + author: authors + # multillingual configs defaultContentLanguage: en defaultContentLanguageInSubdir: true languages: en: + title: this story site languageName: English - weight: 1 contentDir: content/en/ + menuFile: en.toml + params: + reading_speed: 228 + description: description in English + weight: 1 + rss: true de: - languageName: German - weight: 2 + title: diese Story-Site + languageName: Deutsch contentDir: content/de/ + menuFile: de.toml + weight: 2 + params: + reading_speed: 179 + description: description in German + rss: true es: + title: este sitio de historias languageName: Spanish - weight: 3 contentDir: content/es/ + menuFile: es.toml + weight: 3 + params: + reading_speed: 179 + description: description in Spanish + rss: true diff --git a/i18n/de.yaml b/i18n/de.yaml index 1d4fdda..d007461 100644 --- a/i18n/de.yaml +++ b/i18n/de.yaml @@ -1,17 +1,17 @@ -- id: hero.heading - translation: 🚀 Echte Odoo-Erfolgsgeschichten – Sehen Sie, wo Odoo glänzt - -- id: hero.description - translation: Entdecken Sie, wie Unternehmen branchenübergreifend mit Odoo ihre Transformation vorantreiben – von der Bestandsoptimierung über die Vertriebsautomatisierung bis hin zur Skalierung von Abläufen. Dies sind Beispiele aus der Praxis, die zeigen, wie Odoo überzeugt. 💡 Nutzen Sie Odoo? Teilen Sie Ihre Erfolgsgeschichte und werden Sie vorgestellt – mit einem Dofollow-Backlink zu Ihrer Website als Dankeschön. Das bedeutet kostenlose Präsenz und hervorragende SEO. - -- id: tags - translation: Schlagworte - -- id: categories - translation: Kategorien - -- id: submitButtonLabelText - translation: Senden Sie hier Ihre Erfolgsgeschichte - -- id: minutesToRead - translation: Minuten zum Lesen +- id: hero.heading + translation: 🚀 Echte Odoo-Erfolgsgeschichten – Sehen Sie, wo Odoo glänzt + +- id: hero.description + translation: Entdecken Sie, wie Unternehmen branchenübergreifend mit Odoo ihre Transformation vorantreiben – von der Bestandsoptimierung über die Vertriebsautomatisierung bis hin zur Skalierung von Abläufen. Dies sind Beispiele aus der Praxis, die zeigen, wie Odoo überzeugt. 💡 Nutzen Sie Odoo? Teilen Sie Ihre Erfolgsgeschichte und werden Sie vorgestellt – mit einem Dofollow-Backlink zu Ihrer Website als Dankeschön. Das bedeutet kostenlose Präsenz und hervorragende SEO. + +- id: tags + translation: Schlagworte + +- id: categories + translation: Kategorien + +- id: submitButtonLabelText + translation: Senden Sie hier Ihre Erfolgsgeschichte + +- id: minutesToRead + translation: Minuten zum Lesen diff --git a/i18n/en.yaml b/i18n/en.yaml index a56c4d5..3f01c1a 100644 --- a/i18n/en.yaml +++ b/i18n/en.yaml @@ -1,16 +1,16 @@ -- id: hero.heading - translation: 🚀 Real Odoo Success Stories — See Where Odoo Shines - -- id: hero.description - translation: Discover how companies across industries are transforming with Odoo — from streamlining inventory to automating sales and scaling operations. These are real-world examples of where Odoo kicks ass. 💡 Using Odoo? Share your success story and get featured — with a dofollow backlink to your website as a thank-you. It’s free exposure and great SEO. - -- id: tags - translation: tags - -- id: categories - translation: categories - -- id: submitButtonLabelText - translation: Submit your success story here -- id: minutesToRead +- id: hero.heading + translation: 🚀 Real Odoo Success Stories — See Where Odoo Shines + +- id: hero.description + translation: Discover how companies across industries are transforming with Odoo — from streamlining inventory to automating sales and scaling operations. These are real-world examples of where Odoo kicks ass. 💡 Using Odoo? Share your success story and get featured — with a dofollow backlink to your website as a thank-you. It’s free exposure and great SEO. + +- id: tags + translation: tags + +- id: categories + translation: categories + +- id: submitButtonLabelText + translation: Submit your success story here +- id: minutesToRead translation: minutes to read \ No newline at end of file diff --git a/i18n/es.yaml b/i18n/es.yaml index 8b1f742..d01e92c 100644 --- a/i18n/es.yaml +++ b/i18n/es.yaml @@ -1,17 +1,17 @@ -- id: hero.heading - translation: "🚀 Historias de éxito reales de Odoo: descubre dónde destaca Odoo" - -- id: hero.description - translation: Descubre cómo empresas de todos los sectores se están transformando con Odoo, desde la optimización del inventario hasta la automatización de las ventas y la ampliación de las operaciones. Estos son ejemplos reales de cómo Odoo es un éxito rotundo. 💡 ¿Usas Odoo? Comparte tu historia de éxito y consigue visibilidad destacada con un backlink dofollow a tu sitio web como agradecimiento. Es visibilidad gratuita y un excelente SEO. - -- id: tags - translation: etiquetas - -- id: categories - translation: categorías - -- id: submitButtonLabelText - translation: Envíe su historia de éxito aquí - -- id: minutesToRead - translation: minutos para leer +- id: hero.heading + translation: "🚀 Historias de éxito reales de Odoo: descubre dónde destaca Odoo" + +- id: hero.description + translation: Descubre cómo empresas de todos los sectores se están transformando con Odoo, desde la optimización del inventario hasta la automatización de las ventas y la ampliación de las operaciones. Estos son ejemplos reales de cómo Odoo es un éxito rotundo. 💡 ¿Usas Odoo? Comparte tu historia de éxito y consigue visibilidad destacada con un backlink dofollow a tu sitio web como agradecimiento. Es visibilidad gratuita y un excelente SEO. + +- id: tags + translation: etiquetas + +- id: categories + translation: categorías + +- id: submitButtonLabelText + translation: Envíe su historia de éxito aquí + +- id: minutesToRead + translation: minutos para leer diff --git a/layouts/_default/baseof.html b/layouts/_default/baseof.html index 7a88f04..506d745 100644 --- a/layouts/_default/baseof.html +++ b/layouts/_default/baseof.html @@ -1,10 +1,9 @@ - - - {{ partial "common/head.html" . }} - - {{ partial "UI/navbar.html" . }} -
{{ block "main" . }} {{ end }}
- - {{ partial "common/scripts.html" . }} - - + + + {{ partial "common/head.html" . }} + + {{ partial "UI/navbar.html" . }} +
{{ block "main" . }} {{ end }}
+ {{ partial "UI/modal.html" . }} {{ partial "common/scripts.html" . }} + + diff --git a/layouts/_default/home.html b/layouts/_default/home.html new file mode 100644 index 0000000..ae5099a --- /dev/null +++ b/layouts/_default/home.html @@ -0,0 +1,51 @@ +{{ define "main" }} +
+
+

{{T "hero.heading"}}

+

{{T "hero.description"}}

+
+
+
+ +

+ + {{T "categories"}} +

+
    + {{ range $name, $taxonomy := .Site.Taxonomies.categories }} +
  • + {{ $name }} +
  • + {{ end }} +
+
+ +
+ +

+ + {{T "tags"}} +

+
    + {{ range $name, $taxonomy := .Site.Taxonomies.tags }} +
  • + {{ $name }} +
  • + {{ end }} +
+
+
+
+ + + + + + + + +
+ {{ range site.RegularPages }} +{{ partial "UI/article-card.html" . }} {{end}} +
+{{ end }} \ No newline at end of file diff --git a/layouts/_default/list.html b/layouts/_default/list.html index f5d712c..4183910 100644 --- a/layouts/_default/list.html +++ b/layouts/_default/list.html @@ -1,97 +1,6 @@ -{{ define "main" }} -
-
-

{{T "hero.heading"}}

-

{{T "hero.description"}}

-
-
-
- -

- - {{T "categories"}} -

-
    - {{ range $name, $taxonomy := .Site.Taxonomies.categories }} -
  • - {{ $name }} -
  • - {{ end }} -
-
- -
- -

- - {{T "tags"}} -

-
    - {{ range $name, $taxonomy := .Site.Taxonomies.tags }} -
  • - {{ $name }} -
  • - {{ end }} -
-
-
-
- - - - - - - - -
- {{ $posts := where .Site.RegularPages "Section" "stories" }} {{ range - (sort $posts "Date" "desc") }} -
- - {{ .Title }} -
- -

{{ .Title }}

-
-

- {{.Params.description}} -

- -
- {{ range .Params.categories }} - - {{.}} - - {{ end }} - {{ range .Params.tags }} - - #{{.}} - - {{ end }} - -
-
- -
- - -
- - -
- - -
-
- - -
- - -
-
-
- {{end}} -
-{{ end }} \ No newline at end of file +{{ define "main" }} + +
+ {{ range .Pages }} {{ partial "UI/article-card.html" . }} {{end}} +
+{{ end }} diff --git a/layouts/_default/single.html b/layouts/_default/single.html index c8610a2..2918c44 100644 --- a/layouts/_default/single.html +++ b/layouts/_default/single.html @@ -1 +1,3 @@ -{{ define "main" }} single page {{ end }} +{{ define "main" }} +
{{.Content}}
+{{ end }} diff --git a/layouts/_default/term.html b/layouts/_default/term.html new file mode 100644 index 0000000..4183910 --- /dev/null +++ b/layouts/_default/term.html @@ -0,0 +1,6 @@ +{{ define "main" }} + +
+ {{ range .Pages }} {{ partial "UI/article-card.html" . }} {{end}} +
+{{ end }} diff --git a/layouts/partials/UI/article-card.html b/layouts/partials/UI/article-card.html new file mode 100644 index 0000000..5c3d5c2 --- /dev/null +++ b/layouts/partials/UI/article-card.html @@ -0,0 +1,48 @@ +
+ {{ .Title }} +
+ +

{{ .Title }}

+
+

{{.Params.description}}

+ +
+ {{ range .Params.categories }} + + {{.}} + + {{ end }} {{ range .Params.tags }} + + #{{.}} + + {{ end }} +
+ +
+ +
+ + +
+ + +
+ + +
+
+ +
+ + +
+
+
\ No newline at end of file diff --git a/layouts/partials/UI/modal.html b/layouts/partials/UI/modal.html new file mode 100644 index 0000000..05f74fd --- /dev/null +++ b/layouts/partials/UI/modal.html @@ -0,0 +1,4 @@ +
+ + +
diff --git a/layouts/partials/UI/navbar.html b/layouts/partials/UI/navbar.html index 24954bb..6cf4edf 100644 --- a/layouts/partials/UI/navbar.html +++ b/layouts/partials/UI/navbar.html @@ -1,45 +1,45 @@ - + diff --git a/layouts/partials/common/head.html b/layouts/partials/common/head.html index 5ea8294..9c74a33 100644 --- a/layouts/partials/common/head.html +++ b/layouts/partials/common/head.html @@ -1,11 +1,16 @@ - - - - - {{- if .IsHome -}} ODOO Community Success Stories | {{ .Title }} {{- else if .Page.Title -}} {{ - .Page.Title }} | {{ .Site.Title }} {{- else -}} {{ .Site.Title }} {{- end - -}} - - - {{ partial "common/links.html" . }} - + + + + + {{- if .IsHome -}} Home | {{ .Title }} {{- else if .Page.Title -}} {{ + .Page.Title }} | {{ .Site.Title }} {{- else -}} {{ .Site.Title }} {{- end + -}} + + + + {{- if .IsHome -}} + + {{- else -}} + + {{- end }} {{ partial "common/links.html" . }} + diff --git a/layouts/partials/common/links.html b/layouts/partials/common/links.html index 9dc5233..6b80279 100644 --- a/layouts/partials/common/links.html +++ b/layouts/partials/common/links.html @@ -1,9 +1,9 @@ - - - + + + diff --git a/layouts/partials/common/scripts.html b/layouts/partials/common/scripts.html index 316dcd5..3c612e4 100644 --- a/layouts/partials/common/scripts.html +++ b/layouts/partials/common/scripts.html @@ -1,22 +1,23 @@ - - - - + + + + + diff --git a/pagefind b/pagefind new file mode 100755 index 0000000..174fa44 --- /dev/null +++ b/pagefind @@ -0,0 +1,3 @@ +#!/bin/bash + +npx -y pagefind --site public --serve diff --git a/public/css/main.css b/public/css/main.css index ee28675..143b737 100644 --- a/public/css/main.css +++ b/public/css/main.css @@ -1,353 +1,406 @@ -* { - margin: 0; - padding: 0; - box-sizing: border-box; -} - -:root { - --dark-black-1: hsl(215.56deg 31.03% 17.06%); - --dark-black-2: hsl(215.38deg 28.47% 26.86%); - --gray: hsl(217.24deg 21.17% 26.86%); - --gray-text: hsl(213.6deg 15.53% 68.43%); - --bg-color: hsl(0, 40%, 5%); - --text-color: hsl(0, 40%, 90%); - --story-submit-btn-bg-color: hsl(180, 30%, 50%); -} - -html { - font-size: 62.5%; -} - -body { - background-color: var(--text-color); - min-height: 100vh; - width: 100%; - display: flex; - flex-direction: column; - align-items: center; -} - -nav { - width: 100%; - padding: 2rem 4%; - display: flex; - align-items: center; - justify-content: space-between; - background-color: var(--story-submit-btn-bg-color); -} - -/* .pagefind-ui__form { - padding: 0.5rem 0.8rem; - background-color: var(--dark-black-1); - flex: 1; - border: none; - outline: none; - font-size: 1.4rem; - - &::before { - content: "\f002"; - color: var(--gray-text); - position: absolute; - left: 0; - top: 0; - background-color: var(--dark-black-2); - } -} - -.pagefind-ui__search-input { - background-color: var(--dark-black-2); - border: none; - outline: none; - font-size: 1.4rem; - padding: 1rem; - width: 100%; - - &::placeholder { - color: var(--gray-text); - } -} - -.pagefind-ui__search-clear { - display: none; -} */ - -/* dropdown */ -.dropbtn { - background-color: var(--dark-black-2); - color: var(--text-color); - padding: 16px; - text-transform: uppercase; - font-size: 16px; - font-weight: 700; - border: none; - cursor: pointer; -} - -/* The container
- needed to position the dropdown content */ -.dropdown { - position: relative; - display: inline-block; -} - -/* Dropdown Content (Hidden by Default) */ -.dropdown-content { - display: none; - position: absolute; - background-color: var(--dark-black-2); - min-width: 160px; - box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2); - z-index: 1; - right: 0; -} - -/* Links inside the dropdown */ -.dropdown-content a { - color: var(--text-color); - padding: 12px 16px; - font-size: 1.6rem; - text-decoration: none; - display: block; -} - -/* Change color of dropdown links on hover */ -.dropdown-content a:hover { - background-color: hsl(from var(--dark-black-2) h s 30%); -} - -/* Show the dropdown menu on hover */ -.dropdown:hover .dropdown-content { - display: block; -} - -/* Change the background color of the dropdown button when the dropdown content is shown */ -.dropdown:hover .dropbtn { - background-color: var(--dark-black-1); -} -main { - width: 100%; -} - -.hero { - width: 100%; - min-height: 40rem; - display: grid; - gap: 2rem; - padding: 2rem 4%; - grid-template-columns: repeat(4, 1fr); -} - -h1 { - font-size: 4rem; - color: var(--bg-color); -} - -p { - font-size: 2.5rem; - font-weight: 200; - color: var(--bg-color); -} - -.hero > div:first-child { - grid-column: 1/3; - height: 100%; - display: flex; - gap: 2rem; - justify-content: center; - flex-direction: column; -} - -.tags_categories { - grid-column: 3/5; - width: 100%; - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; - gap: 2rem; -} - -.tags_list, -.category_list { - width: 100%; - padding: 2rem 4rem; - background-color: var(--dark-black-1); - - h3 { - font-size: 2.5rem; - text-transform: uppercase; - margin-bottom: 1.5rem; - color: var(--gray-text); - } - - ul { - list-style: none; - display: flex; - align-items: center; - row-gap: 2.5rem; - column-gap: 1rem; - flex-wrap: wrap; - } -} - -.chip a { - font-size: 1.8rem; - color: var(--text-color); - text-decoration: none; - text-transform: capitalize; - background-color: var(--gray); - padding: 0.8rem; - border-radius: 0.4rem; - - &:hover { - background-color: hsl(from var(--gray) h s 40%); - } -} - -.story-btn { - width: 100%; - padding: 2rem; - font-size: 3.5rem; - cursor: pointer; - border: none; - outline: none; - background-color: var(--story-submit-btn-bg-color); - - &:hover { - background-color: hsl(from var(--story-submit-btn-bg-color) h s 55%); - } -} -dialog { - margin: auto; - width: 100%; - - #closeStoryModal { - padding: 0.5rem 2rem; - font-size: 1.5rem; - cursor: pointer; - color: var(--text-color); - border: none; - outline: none; - background-color: red; - } -} -iframe { - height: 90vh; - width: 100%; -} -.story__grid { - padding: 5rem 2rem; - display: grid; - gap: 3rem 4rem; - grid-template-columns: repeat(auto-fill, minmax(30rem, 1fr)); -} - -.story__card { - --border-radius: 0.8rem; - display: flex; - flex-direction: column; - justify-content: start; - border-radius: var(--border-radius); - background-color: var(--gray); - - .story__coverImg { - width: 100%; - object-fit: cover; - border-top-left-radius: var(--border-radius); - border-top-right-radius: var(--border-radius); - } -} - -.story__card__details { - width: 100%; - display: flex; - flex-direction: column; - justify-content: center; - gap: 1.2rem; - padding: 1.5rem 1.4rem; -} -.card__title { - color: var(--text-color); - font-size: 2.2rem; -} - -.card__description { - color: var(--gray-text); - font-size: 1.2rem; -} -.story__card__icon { - height: 1.5rem; - width: auto; -} -.card__tags_categories { - display: flex; - gap: 0.6rem 1rem; - align-items: center; - flex-wrap: wrap; - a { - font-size: 1rem; - text-decoration: none; - } -} - -.category__chip { - background-color: hsl(120, 100%, 30%); - padding: 0.2rem 0.6rem; - color: var(--text-color); - word-break: keep-all; -} -.tag__chip { - color: var(--gray-text); - word-break: keep-all; -} -.hastag { - font-size: 1.8rem; - margin-right: 0.2rem; -} -.publish__date__timeToRead { - display: flex; - align-items: center; - gap: 2rem; -} -.publish__date { - display: flex; - align-items: center; - gap: 0.5rem; - - time { - color: var(--gray-text); - font-size: 1.2rem; - } -} -@media (width<=768px) { - .dropbtn { - font-size: 1.4rem; - padding: 1rem; - margin-left: 0.5rem; - } - .hero { - grid-template-columns: 1fr; - - h1 { - font-size: 3.5rem; - } - - p { - font-size: 1.8rem; - } - } - - .hero > div:first-child { - grid-column: 1; - } - - .hero > .tags_categories { - grid-column: 1; - } - .tags_list, - .category_list { - padding: 3rem 2rem; - } - .story__grid { - grid-template-columns: repeat(auto-fill, minmax(25rem, 1fr)); - } -} +* { + margin: 0; + padding: 0; + box-sizing: border-box; +} + +:root { + --dark-black-1: hsl(215.56deg 31.03% 17.06%); + --dark-black-2: hsl(215.38deg 28.47% 26.86%); + --gray: hsl(217.24deg 21.17% 26.86%); + --gray-text: hsl(213.6deg 15.53% 68.43%); + --bg-color: hsl(0, 40%, 5%); + --text-color: hsl(0, 40%, 90%); + --story-submit-btn-bg-color: hsl(180, 30%, 50%); +} + +html { + font-size: 62.5%; +} + +a { + text-decoration: none; + cursor: pointer; +} + +.single-page { + padding: 4% 9%; + line-height: 1.8; + font-size: 1.6rem; + img, + video, + svg, + picture { + max-width: 90%; + margin: 2rem auto; + display: block; + border-radius: 1rem; + } + + h1 { + font-size: 3rem; + } + ul, + ol { + padding-block: 2rem; + } + li { + font-size: 1.8rem; + list-style-position: inside; + } + + p { + font-size: 1.8rem; + } +} +body { + background-color: var(--text-color); + min-height: 100vh; + width: 100%; + display: flex; + flex-direction: column; + align-items: center; +} + +nav { + width: 100%; + padding: 2rem 4%; + display: flex; + align-items: center; + justify-content: space-between; + background-color: var(--story-submit-btn-bg-color); +} + +/* dropdown */ +.dropbtn { + background-color: var(--dark-black-2); + color: var(--text-color); + padding: 16px; + text-transform: uppercase; + font-size: 16px; + font-weight: 700; + border: none; + cursor: pointer; +} + +/* The container
- needed to position the dropdown content */ +.dropdown { + position: relative; + display: inline-block; +} + +/* Dropdown Content (Hidden by Default) */ +.dropdown-content { + display: none; + position: absolute; + background-color: var(--dark-black-2); + min-width: 160px; + box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2); + z-index: 1; + right: 0; +} + +/* Links inside the dropdown */ +.dropdown-content a { + color: var(--text-color); + padding: 12px 16px; + font-size: 1.6rem; + text-decoration: none; + display: block; +} + +/* Change color of dropdown links on hover */ +.dropdown-content a:hover { + background-color: hsl(from var(--dark-black-2) h s 30%); +} + +/* Show the dropdown menu on hover */ +.dropdown:hover .dropdown-content { + display: block; +} + +/* Change the background color of the dropdown button when the dropdown content is shown */ +.dropdown:hover .dropbtn { + background-color: var(--dark-black-1); +} + +/* pagefind */ +.pagefind-ui__result-link, +.pagefind-ui__result-excerpt, +.pagefind-ui__message { + color: var(--text-color) !important; +} + +/* story modal */ +#story-modal { + position: fixed; + top: 50%; + transform: translateY(-50%); + z-index: 50; + max-height: 90vh; + height: 100%; + width: 90%; + display: none; + overflow-y: auto; + background-color: var(--text-color); +} + +#story-modal.show-story-modal { + display: block; +} + +#close-modal { + position: absolute; + top: 2%; + right: 2%; + z-index: 100; + border: none; + background-color: red; + color: var(--text-color); + cursor: pointer; + padding: 1rem; +} + +main { + width: 100%; +} + +.hero { + width: 100%; + min-height: 40rem; + display: grid; + gap: 2rem; + padding: 2rem 4%; + grid-template-columns: repeat(4, 1fr); +} + +h1 { + font-size: 4rem; + color: var(--bg-color); +} + +p { + font-size: 2.5rem; + font-weight: 200; + color: var(--bg-color); +} + +.hero > div:first-child { + grid-column: 1/3; + height: 100%; + display: flex; + gap: 2rem; + justify-content: center; + flex-direction: column; +} + +.tags_categories { + grid-column: 3/5; + width: 100%; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + gap: 2rem; +} + +.tags_list, +.category_list { + width: 100%; + padding: 2rem 4rem; + background-color: var(--dark-black-1); + + h3 { + font-size: 2.5rem; + text-transform: uppercase; + margin-bottom: 1.5rem; + color: var(--gray-text); + } + + ul { + list-style: none; + display: flex; + align-items: center; + row-gap: 2.5rem; + column-gap: 1rem; + flex-wrap: wrap; + } +} + +.chip a { + font-size: 1.8rem; + color: var(--text-color); + text-decoration: none; + text-transform: capitalize; + background-color: var(--gray); + padding: 0.8rem; + border-radius: 0.4rem; + + &:hover { + background-color: hsl(from var(--gray) h s 40%); + } +} + +.story-btn { + width: 100%; + padding: 2rem; + font-size: 3.5rem; + cursor: pointer; + border: none; + outline: none; + background-color: var(--story-submit-btn-bg-color); + + &:hover { + background-color: hsl(from var(--story-submit-btn-bg-color) h s 55%); + } +} + +dialog { + margin: auto; + width: 100%; + + #closeStoryModal { + padding: 0.5rem 2rem; + font-size: 1.5rem; + cursor: pointer; + color: var(--text-color); + border: none; + outline: none; + background-color: red; + } +} + +iframe { + height: 90vh; + width: 100%; +} + +.story__grid { + padding: 5rem 2rem; + display: grid; + gap: 3rem 4rem; + grid-template-columns: repeat(auto-fill, minmax(30rem, 1fr)); +} + +.story__card { + --border-radius: 0.8rem; + display: flex; + flex-direction: column; + justify-content: start; + border-radius: var(--border-radius); + background-color: var(--gray); + + .story__coverImg { + width: 100%; + object-fit: cover; + border-top-left-radius: var(--border-radius); + border-top-right-radius: var(--border-radius); + } +} + +.story__card__details { + width: 100%; + display: flex; + flex-direction: column; + justify-content: center; + gap: 1.2rem; + padding: 1.5rem 1.4rem; +} + +.card__title { + color: var(--text-color); + font-size: 2.2rem; +} + +.card__description { + color: var(--gray-text); + font-size: 1.2rem; +} + +.story__card__icon { + height: 1.5rem; + width: auto; +} + +.card__tags_categories { + display: flex; + gap: 0.6rem 1rem; + align-items: center; + flex-wrap: wrap; + + a { + font-size: 1rem; + text-decoration: none; + } +} + +.category__chip { + background-color: hsl(120, 100%, 30%); + padding: 0.2rem 0.6rem; + color: var(--text-color); + word-break: keep-all; +} + +.tag__chip { + color: var(--gray-text); + word-break: keep-all; +} + +.hastag { + font-size: 1.8rem; + margin-right: 0.2rem; +} + +.publish__date__timeToRead { + display: flex; + align-items: center; + gap: 2rem; +} + +.publish__date { + display: flex; + align-items: center; + gap: 0.5rem; + + time { + color: var(--gray-text); + font-size: 1.2rem; + } +} + +@media (width<=768px) { + .dropbtn { + font-size: 1.4rem; + padding: 1rem; + margin-left: 0.5rem; + } + + .hero { + grid-template-columns: 1fr; + + h1 { + font-size: 3.5rem; + } + + p { + font-size: 1.8rem; + } + } + + .hero > div:first-child { + grid-column: 1; + } + + .hero > .tags_categories { + grid-column: 1; + } + + .tags_list, + .category_list { + padding: 3rem 2rem; + } + + .story__grid { + grid-template-columns: repeat(auto-fill, minmax(25rem, 1fr)); + } +} diff --git a/public/de/authors/index.html b/public/de/authors/index.html new file mode 100644 index 0000000..dc62e73 --- /dev/null +++ b/public/de/authors/index.html @@ -0,0 +1,104 @@ + + + + + + Authors | diese Story-Site + + + + + + + + + + +
+ +
+ +
+
+
+ + +
+ + + + + + + + diff --git a/public/de/authors/index.xml b/public/de/authors/index.xml new file mode 100644 index 0000000..ab25226 --- /dev/null +++ b/public/de/authors/index.xml @@ -0,0 +1,11 @@ + + + + Authors on diese Story-Site + http://localhost:1313/de/authors/ + Recent content in Authors on diese Story-Site + Hugo + de + + + diff --git a/public/de/authors/wanderlust-willow/index.html b/public/de/authors/wanderlust-willow/index.html new file mode 100644 index 0000000..1a3c801 --- /dev/null +++ b/public/de/authors/wanderlust-willow/index.html @@ -0,0 +1,142 @@ + + + + + + Wanderlust Willow | diese Story-Site + + + + + + + + + + +
+ +
+ +
+
+
+ + +
+ + + + + + + + diff --git a/public/de/authors/wanderlust-willow/index.xml b/public/de/authors/wanderlust-willow/index.xml new file mode 100644 index 0000000..7f6ccb1 --- /dev/null +++ b/public/de/authors/wanderlust-willow/index.xml @@ -0,0 +1,19 @@ + + + + Wanderlust Willow on diese Story-Site + http://localhost:1313/de/authors/wanderlust-willow/ + Recent content in Wanderlust Willow on diese Story-Site + Hugo + de + Tue, 15 Apr 2025 00:00:00 +0000 + + + Southeast Asia on a Shoestring: A 3-Week Backpacking Itinerary + http://localhost:1313/de/stories/post1/ + Tue, 15 Apr 2025 00:00:00 +0000 + http://localhost:1313/de/stories/post1/ + <h2 id="southeast-asia-on-a-shoestring-your-epic-3-week-backpacking-adventure">Southeast Asia on a Shoestring: Your Epic 3-Week Backpacking Adventure</h2> <p>Hey fellow wanderers! If you&rsquo;re dreaming of exotic temples, bustling markets, and breathtaking beaches without emptying your savings account, then Southeast Asia is calling your name. Trust me, this corner of the world is a backpacker&rsquo;s paradise, offering incredible experiences at prices that will make your wallet sing.</p> <p>After countless hostel stays, delicious street food meals, and unforgettable adventures, I&rsquo;ve crafted the perfect 3-week itinerary to give you a taste of the magic in Thailand, Vietnam, and Cambodia. Buckle up, because this is going to be an epic ride!</p> + + + diff --git a/public/de/categories/0-5/index.html b/public/de/categories/0-5/index.html index 6c1daac..fd2f2a9 100644 --- a/public/de/categories/0-5/index.html +++ b/public/de/categories/0-5/index.html @@ -1,300 +1,171 @@ - - - - - - 0-5 | - - - - - - - - - - -
-
-
-

🚀 Echte Odoo-Erfolgsgeschichten – Sehen Sie, wo Odoo glänzt

-

Entdecken Sie, wie Unternehmen branchenübergreifend mit Odoo ihre Transformation vorantreiben – von der Bestandsoptimierung über die Vertriebsautomatisierung bis hin zur Skalierung von Abläufen. Dies sind Beispiele aus der Praxis, die zeigen, wie Odoo überzeugt. 💡 Nutzen Sie Odoo? Teilen Sie Ihre Erfolgsgeschichte und werden Sie vorgestellt – mit einem Dofollow-Backlink zu Ihrer Website als Dankeschön. Das bedeutet kostenlose Präsenz und hervorragende SEO.

-
-
-
- -

- - Kategorien -

- -
- -
- -

- - Schlagworte -

- -
-
-
- - - - - - - - -
- - - - - -
-
- - - - - - - - + + + + + + 0-5 | diese Story-Site + + + + + + + + + + +
+ +
+ +
+
+
+ + +
+ + + + + + + + diff --git a/public/de/categories/0-5/index.xml b/public/de/categories/0-5/index.xml index 070a6c9..32809c3 100644 --- a/public/de/categories/0-5/index.xml +++ b/public/de/categories/0-5/index.xml @@ -1,19 +1,19 @@ - 0-5 on - https://success.odoo4projects.com/de/categories/0-5/ - Recent content in 0-5 on + 0-5 on diese Story-Site + http://localhost:1313/de/categories/0-5/ + Recent content in 0-5 on diese Story-Site Hugo de Tue, 10 Jun 2025 12:00:00 +0000 - + - Umgestaltung unserer Rinderfarm mit Odoo Community - https://success.odoo4projects.com/de/stories/agape/ + Transforming Our Cattle Farm with Odoo Community + http://localhost:1313/de/stories/agape/ Tue, 10 Jun 2025 12:00:00 +0000 - https://success.odoo4projects.com/de/stories/agape/ - <p><img src="https://estancia-agape.com/web/image/1078-81bed64d/agapei-1.svg" alt="Estancia Agapé"></p> <p>Eine Rinderfarm in Paraguay zu betreiben, stellt uns vor einzigartige Herausforderungen - besonders wenn man Abläufe in <strong>dreien unterschiedlichen Standorten</strong> verwaltet. Bei <a href="https://estancia-agape.com">Estancia Agapé</a> war unser Ziel immer, in der Tradition verwurzelt zu bleiben und gleichzeitig Innovationen zu nutzen, um nachhaltig und effizient zu wachsen. Deshalb haben wir uns für <strong>Odoo Community</strong> entschieden, und die Ergebnisse haben unsere Erwartungen übertroffen.</p> <h2 id="warum-odoo">Warum Odoo?</h2> <p>Wir haben verschiedene Systeme geprüft, bevor wir uns für Odoo Community entschieden haben. Die Gründe waren klar:</p> + http://localhost:1313/de/stories/agape/ + <p><img src="https://estancia-agape.com/web/image/1078-81bed64d/agapei-1.svg" alt="Estancia Agapé"></p> <p>Running a cattle farm in Paraguay presents unique challenges — especially when managing operations across <strong>three distinct locations</strong>. At <a href="https://estancia-agape.com">Estancia Agapé</a>, our goal has always been to stay grounded in tradition while embracing innovation to grow sustainably and efficiently. This is why we turned to <strong>Odoo Community</strong>, and the results have exceeded our expectations.</p> <h2 id="why-odoo">Why Odoo?</h2> <p>We evaluated various systems before choosing Odoo Community. The reasons were clear:</p> <ul> <li>Open-source and customizable</li> <li>Robust set of features for inventory, accounting, and logistics</li> <li>Large and active global community</li> <li>No licensing fees</li> </ul> <p>But what truly made the difference was the ability to <strong>host the service online</strong>.</p> diff --git a/public/de/categories/5-10/index.html b/public/de/categories/5-10/index.html index 7208b9e..0561ee6 100644 --- a/public/de/categories/5-10/index.html +++ b/public/de/categories/5-10/index.html @@ -1,300 +1,167 @@ - - - - - - 5-10 | - - - - - - - - - - -
-
-
-

🚀 Echte Odoo-Erfolgsgeschichten – Sehen Sie, wo Odoo glänzt

-

Entdecken Sie, wie Unternehmen branchenübergreifend mit Odoo ihre Transformation vorantreiben – von der Bestandsoptimierung über die Vertriebsautomatisierung bis hin zur Skalierung von Abläufen. Dies sind Beispiele aus der Praxis, die zeigen, wie Odoo überzeugt. 💡 Nutzen Sie Odoo? Teilen Sie Ihre Erfolgsgeschichte und werden Sie vorgestellt – mit einem Dofollow-Backlink zu Ihrer Website als Dankeschön. Das bedeutet kostenlose Präsenz und hervorragende SEO.

-
-
-
- -

- - Kategorien -

- -
- -
- -

- - Schlagworte -

- -
-
-
- - - - - - - - -
- - - - - -
-
- - - - - - - - + + + + + + 5-10 | diese Story-Site + + + + + + + + + + +
+ +
+ +
+
+
+ + +
+ + + + + + + + diff --git a/public/de/categories/5-10/index.xml b/public/de/categories/5-10/index.xml index 2b5b1fd..8ac6991 100644 --- a/public/de/categories/5-10/index.xml +++ b/public/de/categories/5-10/index.xml @@ -1,18 +1,18 @@ - 5-10 on - https://success.odoo4projects.com/de/categories/5-10/ - Recent content in 5-10 on + 5-10 on diese Story-Site + http://localhost:1313/de/categories/5-10/ + Recent content in 5-10 on diese Story-Site Hugo de Tue, 10 Jun 2025 12:00:00 +0000 - + Aufbau eines Cloud-ERP-Dienstes mit Odoo Community - https://success.odoo4projects.com/de/stories/odoo4projects/ + http://localhost:1313/de/stories/odoo4projects/ Tue, 10 Jun 2025 12:00:00 +0000 - https://success.odoo4projects.com/de/stories/odoo4projects/ + http://localhost:1313/de/stories/odoo4projects/ <p><img src="https://odoo4projects.com/web/image/2890-1713a804/Header_low.png" alt="ODOO4projects"></p> <p>Bei <a href="https://ODOO4projects.com">ODOO4projects</a> sind wir darauf spezialisiert, Unternehmen beim Erfolg mit Open-Source-ERP zu unterstützen. Aber wir betreiben auch unsere eigenen Dienste auf derselben Plattform - und deshalb haben wir uns dafür entschieden, unsere <strong>gesamte Cloud-ERP-Hosting-Infrastruktur mit Odoo Community V17</strong> zu bauen.</p> <h2 id="warum-odoo-community">Warum Odoo Community?</h2> <p>Wir wollten testen, wie weit Odoo Community gehen kann - und es hat uns nicht enttäuscht.</p> <ul> <li>100% Open-Source, keine Lizenzgebühren</li> <li>Hochgradig an spezifische Einsatzfälle anpassbar</li> <li>Starkes internationales Community-Support</li> <li>Klarer Upgrade-Pfad und modulares Design</li> </ul> <p>Unser Ziel war nicht nur, Odoo zu nutzen, sondern <strong>die Grenzen dessen zu erweitern, was mit der Community Edition möglich ist</strong>.</p> diff --git a/public/de/categories/farm/index.html b/public/de/categories/farm/index.html index 67e9ff1..b4bbd2c 100644 --- a/public/de/categories/farm/index.html +++ b/public/de/categories/farm/index.html @@ -1,300 +1,171 @@ - - - - - - Farm | - - - - - - - - - - -
-
-
-

🚀 Echte Odoo-Erfolgsgeschichten – Sehen Sie, wo Odoo glänzt

-

Entdecken Sie, wie Unternehmen branchenübergreifend mit Odoo ihre Transformation vorantreiben – von der Bestandsoptimierung über die Vertriebsautomatisierung bis hin zur Skalierung von Abläufen. Dies sind Beispiele aus der Praxis, die zeigen, wie Odoo überzeugt. 💡 Nutzen Sie Odoo? Teilen Sie Ihre Erfolgsgeschichte und werden Sie vorgestellt – mit einem Dofollow-Backlink zu Ihrer Website als Dankeschön. Das bedeutet kostenlose Präsenz und hervorragende SEO.

-
-
-
- -

- - Kategorien -

- -
- -
- -

- - Schlagworte -

- -
-
-
- - - - - - - - -
- - - - - -
-
- - - - - - - - + + + + + + Farm | diese Story-Site + + + + + + + + + + +
+ +
+ +
+
+
+ + +
+ + + + + + + + diff --git a/public/de/categories/farm/index.xml b/public/de/categories/farm/index.xml index 9f7c90f..6b4e5f5 100644 --- a/public/de/categories/farm/index.xml +++ b/public/de/categories/farm/index.xml @@ -1,19 +1,19 @@ - Farm on - https://success.odoo4projects.com/de/categories/farm/ - Recent content in Farm on + Farm on diese Story-Site + http://localhost:1313/de/categories/farm/ + Recent content in Farm on diese Story-Site Hugo de Tue, 10 Jun 2025 12:00:00 +0000 - + - Umgestaltung unserer Rinderfarm mit Odoo Community - https://success.odoo4projects.com/de/stories/agape/ + Transforming Our Cattle Farm with Odoo Community + http://localhost:1313/de/stories/agape/ Tue, 10 Jun 2025 12:00:00 +0000 - https://success.odoo4projects.com/de/stories/agape/ - <p><img src="https://estancia-agape.com/web/image/1078-81bed64d/agapei-1.svg" alt="Estancia Agapé"></p> <p>Eine Rinderfarm in Paraguay zu betreiben, stellt uns vor einzigartige Herausforderungen - besonders wenn man Abläufe in <strong>dreien unterschiedlichen Standorten</strong> verwaltet. Bei <a href="https://estancia-agape.com">Estancia Agapé</a> war unser Ziel immer, in der Tradition verwurzelt zu bleiben und gleichzeitig Innovationen zu nutzen, um nachhaltig und effizient zu wachsen. Deshalb haben wir uns für <strong>Odoo Community</strong> entschieden, und die Ergebnisse haben unsere Erwartungen übertroffen.</p> <h2 id="warum-odoo">Warum Odoo?</h2> <p>Wir haben verschiedene Systeme geprüft, bevor wir uns für Odoo Community entschieden haben. Die Gründe waren klar:</p> + http://localhost:1313/de/stories/agape/ + <p><img src="https://estancia-agape.com/web/image/1078-81bed64d/agapei-1.svg" alt="Estancia Agapé"></p> <p>Running a cattle farm in Paraguay presents unique challenges — especially when managing operations across <strong>three distinct locations</strong>. At <a href="https://estancia-agape.com">Estancia Agapé</a>, our goal has always been to stay grounded in tradition while embracing innovation to grow sustainably and efficiently. This is why we turned to <strong>Odoo Community</strong>, and the results have exceeded our expectations.</p> <h2 id="why-odoo">Why Odoo?</h2> <p>We evaluated various systems before choosing Odoo Community. The reasons were clear:</p> <ul> <li>Open-source and customizable</li> <li>Robust set of features for inventory, accounting, and logistics</li> <li>Large and active global community</li> <li>No licensing fees</li> </ul> <p>But what truly made the difference was the ability to <strong>host the service online</strong>.</p> diff --git a/public/de/categories/index.html b/public/de/categories/index.html index c061602..1cc2dfd 100644 --- a/public/de/categories/index.html +++ b/public/de/categories/index.html @@ -1,300 +1,260 @@ - - - - - - Categories | - - - - - - - - - - -
-
-
-

🚀 Echte Odoo-Erfolgsgeschichten – Sehen Sie, wo Odoo glänzt

-

Entdecken Sie, wie Unternehmen branchenübergreifend mit Odoo ihre Transformation vorantreiben – von der Bestandsoptimierung über die Vertriebsautomatisierung bis hin zur Skalierung von Abläufen. Dies sind Beispiele aus der Praxis, die zeigen, wie Odoo überzeugt. 💡 Nutzen Sie Odoo? Teilen Sie Ihre Erfolgsgeschichte und werden Sie vorgestellt – mit einem Dofollow-Backlink zu Ihrer Website als Dankeschön. Das bedeutet kostenlose Präsenz und hervorragende SEO.

-
-
-
- -

- - Kategorien -

- -
- -
- -

- - Schlagworte -

- -
-
-
- - - - - - - - -
- - - - - -
-
- - - - - - - - + + + + + + Categories | diese Story-Site + + + + + + + + + + +
+ +
+
+ 0-5 +
+ +

0-5

+
+

+ +
+ +
+ +
+ +
+ + +
+ + +
+ + +
+
+ +
+ + +
+
+
+ 5-10 +
+ +

5-10

+
+

+ +
+ +
+ +
+ +
+ + +
+ + +
+ + +
+
+ +
+ + +
+
+
+ Farm +
+ +

Farm

+
+

+ +
+ +
+ +
+ +
+ + +
+ + +
+ + +
+
+ +
+ + +
+
+
+ IT +
+ +

IT

+
+

+ +
+ +
+ +
+ +
+ + +
+ + +
+ + +
+
+ +
+ + +
+
+
+
+
+
+ + +
+ + + + + + + + diff --git a/public/de/categories/index.xml b/public/de/categories/index.xml index cc6a72b..436135f 100644 --- a/public/de/categories/index.xml +++ b/public/de/categories/index.xml @@ -1,39 +1,39 @@ - Categories on - https://success.odoo4projects.com/de/categories/ - Recent content in Categories on + Categories on diese Story-Site + http://localhost:1313/de/categories/ + Recent content in Categories on diese Story-Site Hugo de Tue, 10 Jun 2025 12:00:00 +0000 - + 0-5 - https://success.odoo4projects.com/de/categories/0-5/ + http://localhost:1313/de/categories/0-5/ Tue, 10 Jun 2025 12:00:00 +0000 - https://success.odoo4projects.com/de/categories/0-5/ + http://localhost:1313/de/categories/0-5/ 5-10 - https://success.odoo4projects.com/de/categories/5-10/ + http://localhost:1313/de/categories/5-10/ Tue, 10 Jun 2025 12:00:00 +0000 - https://success.odoo4projects.com/de/categories/5-10/ + http://localhost:1313/de/categories/5-10/ Farm - https://success.odoo4projects.com/de/categories/farm/ + http://localhost:1313/de/categories/farm/ Tue, 10 Jun 2025 12:00:00 +0000 - https://success.odoo4projects.com/de/categories/farm/ + http://localhost:1313/de/categories/farm/ IT - https://success.odoo4projects.com/de/categories/it/ + http://localhost:1313/de/categories/it/ Tue, 10 Jun 2025 12:00:00 +0000 - https://success.odoo4projects.com/de/categories/it/ + http://localhost:1313/de/categories/it/ diff --git a/public/de/categories/it/index.html b/public/de/categories/it/index.html index 0368902..84d9820 100644 --- a/public/de/categories/it/index.html +++ b/public/de/categories/it/index.html @@ -1,300 +1,167 @@ - - - - - - IT | - - - - - - - - - - -
-
-
-

🚀 Echte Odoo-Erfolgsgeschichten – Sehen Sie, wo Odoo glänzt

-

Entdecken Sie, wie Unternehmen branchenübergreifend mit Odoo ihre Transformation vorantreiben – von der Bestandsoptimierung über die Vertriebsautomatisierung bis hin zur Skalierung von Abläufen. Dies sind Beispiele aus der Praxis, die zeigen, wie Odoo überzeugt. 💡 Nutzen Sie Odoo? Teilen Sie Ihre Erfolgsgeschichte und werden Sie vorgestellt – mit einem Dofollow-Backlink zu Ihrer Website als Dankeschön. Das bedeutet kostenlose Präsenz und hervorragende SEO.

-
-
-
- -

- - Kategorien -

- -
- -
- -

- - Schlagworte -

- -
-
-
- - - - - - - - -
- - - - - -
-
- - - - - - - - + + + + + + IT | diese Story-Site + + + + + + + + + + +
+ +
+ +
+
+
+ + +
+ + + + + + + + diff --git a/public/de/categories/it/index.xml b/public/de/categories/it/index.xml index ee4e309..80a321b 100644 --- a/public/de/categories/it/index.xml +++ b/public/de/categories/it/index.xml @@ -1,18 +1,18 @@ - IT on - https://success.odoo4projects.com/de/categories/it/ - Recent content in IT on + IT on diese Story-Site + http://localhost:1313/de/categories/it/ + Recent content in IT on diese Story-Site Hugo de Tue, 10 Jun 2025 12:00:00 +0000 - + Aufbau eines Cloud-ERP-Dienstes mit Odoo Community - https://success.odoo4projects.com/de/stories/odoo4projects/ + http://localhost:1313/de/stories/odoo4projects/ Tue, 10 Jun 2025 12:00:00 +0000 - https://success.odoo4projects.com/de/stories/odoo4projects/ + http://localhost:1313/de/stories/odoo4projects/ <p><img src="https://odoo4projects.com/web/image/2890-1713a804/Header_low.png" alt="ODOO4projects"></p> <p>Bei <a href="https://ODOO4projects.com">ODOO4projects</a> sind wir darauf spezialisiert, Unternehmen beim Erfolg mit Open-Source-ERP zu unterstützen. Aber wir betreiben auch unsere eigenen Dienste auf derselben Plattform - und deshalb haben wir uns dafür entschieden, unsere <strong>gesamte Cloud-ERP-Hosting-Infrastruktur mit Odoo Community V17</strong> zu bauen.</p> <h2 id="warum-odoo-community">Warum Odoo Community?</h2> <p>Wir wollten testen, wie weit Odoo Community gehen kann - und es hat uns nicht enttäuscht.</p> <ul> <li>100% Open-Source, keine Lizenzgebühren</li> <li>Hochgradig an spezifische Einsatzfälle anpassbar</li> <li>Starkes internationales Community-Support</li> <li>Klarer Upgrade-Pfad und modulares Design</li> </ul> <p>Unser Ziel war nicht nur, Odoo zu nutzen, sondern <strong>die Grenzen dessen zu erweitern, was mit der Community Edition möglich ist</strong>.</p> diff --git a/public/de/categories/travel/index.html b/public/de/categories/travel/index.html new file mode 100644 index 0000000..8df9aa7 --- /dev/null +++ b/public/de/categories/travel/index.html @@ -0,0 +1,142 @@ + + + + + + Travel | diese Story-Site + + + + + + + + + + +
+ +
+ +
+
+
+ + +
+ + + + + + + + diff --git a/public/de/categories/travel/index.xml b/public/de/categories/travel/index.xml new file mode 100644 index 0000000..8f825bc --- /dev/null +++ b/public/de/categories/travel/index.xml @@ -0,0 +1,19 @@ + + + + Travel on diese Story-Site + http://localhost:1313/de/categories/travel/ + Recent content in Travel on diese Story-Site + Hugo + de + Tue, 15 Apr 2025 00:00:00 +0000 + + + Southeast Asia on a Shoestring: A 3-Week Backpacking Itinerary + http://localhost:1313/de/stories/post1/ + Tue, 15 Apr 2025 00:00:00 +0000 + http://localhost:1313/de/stories/post1/ + <h2 id="southeast-asia-on-a-shoestring-your-epic-3-week-backpacking-adventure">Southeast Asia on a Shoestring: Your Epic 3-Week Backpacking Adventure</h2> <p>Hey fellow wanderers! If you&rsquo;re dreaming of exotic temples, bustling markets, and breathtaking beaches without emptying your savings account, then Southeast Asia is calling your name. Trust me, this corner of the world is a backpacker&rsquo;s paradise, offering incredible experiences at prices that will make your wallet sing.</p> <p>After countless hostel stays, delicious street food meals, and unforgettable adventures, I&rsquo;ve crafted the perfect 3-week itinerary to give you a taste of the magic in Thailand, Vietnam, and Cambodia. Buckle up, because this is going to be an epic ride!</p> + + + diff --git a/public/de/index.html b/public/de/index.html index bb1d437..80a9b7c 100644 --- a/public/de/index.html +++ b/public/de/index.html @@ -1,301 +1,317 @@ - - + + - - - - ODOO Community Success Stories | - - - - - - - - - - -
-
-
-

🚀 Echte Odoo-Erfolgsgeschichten – Sehen Sie, wo Odoo glänzt

-

Entdecken Sie, wie Unternehmen branchenübergreifend mit Odoo ihre Transformation vorantreiben – von der Bestandsoptimierung über die Vertriebsautomatisierung bis hin zur Skalierung von Abläufen. Dies sind Beispiele aus der Praxis, die zeigen, wie Odoo überzeugt. 💡 Nutzen Sie Odoo? Teilen Sie Ihre Erfolgsgeschichte und werden Sie vorgestellt – mit einem Dofollow-Backlink zu Ihrer Website als Dankeschön. Das bedeutet kostenlose Präsenz und hervorragende SEO.

-
-
-
- -

- - Kategorien -

- -
- -
- -

- - Schlagworte -

- -
-
-
- - - - - - - - -
- - - - - -
-
- - - - - - - - + + + + Home | + + + + + + + + + + +
+
+
+

🚀 Echte Odoo-Erfolgsgeschichten – Sehen Sie, wo Odoo glänzt

+

Entdecken Sie, wie Unternehmen branchenübergreifend mit Odoo ihre Transformation vorantreiben – von der Bestandsoptimierung über die Vertriebsautomatisierung bis hin zur Skalierung von Abläufen. Dies sind Beispiele aus der Praxis, die zeigen, wie Odoo überzeugt. 💡 Nutzen Sie Odoo? Teilen Sie Ihre Erfolgsgeschichte und werden Sie vorgestellt – mit einem Dofollow-Backlink zu Ihrer Website als Dankeschön. Das bedeutet kostenlose Präsenz und hervorragende SEO.

+
+
+
+ +

+ + Kategorien +

+ +
+ +
+ +

+ + Schlagworte +

+ +
+
+
+ + + + + + + + +
+ + + +
+
+
+ + +
+ + + + + + + + diff --git a/public/de/index.xml b/public/de/index.xml index df2c5d0..461e68d 100644 --- a/public/de/index.xml +++ b/public/de/index.xml @@ -1,26 +1,26 @@ - - https://success.odoo4projects.com/de/ - Recent content on + diese Story-Site + http://localhost:1313/de/ + Recent content on diese Story-Site Hugo de Tue, 10 Jun 2025 12:00:00 +0000 - + Aufbau eines Cloud-ERP-Dienstes mit Odoo Community - https://success.odoo4projects.com/de/stories/odoo4projects/ + http://localhost:1313/de/stories/odoo4projects/ Tue, 10 Jun 2025 12:00:00 +0000 - https://success.odoo4projects.com/de/stories/odoo4projects/ + http://localhost:1313/de/stories/odoo4projects/ <p><img src="https://odoo4projects.com/web/image/2890-1713a804/Header_low.png" alt="ODOO4projects"></p> <p>Bei <a href="https://ODOO4projects.com">ODOO4projects</a> sind wir darauf spezialisiert, Unternehmen beim Erfolg mit Open-Source-ERP zu unterstützen. Aber wir betreiben auch unsere eigenen Dienste auf derselben Plattform - und deshalb haben wir uns dafür entschieden, unsere <strong>gesamte Cloud-ERP-Hosting-Infrastruktur mit Odoo Community V17</strong> zu bauen.</p> <h2 id="warum-odoo-community">Warum Odoo Community?</h2> <p>Wir wollten testen, wie weit Odoo Community gehen kann - und es hat uns nicht enttäuscht.</p> <ul> <li>100% Open-Source, keine Lizenzgebühren</li> <li>Hochgradig an spezifische Einsatzfälle anpassbar</li> <li>Starkes internationales Community-Support</li> <li>Klarer Upgrade-Pfad und modulares Design</li> </ul> <p>Unser Ziel war nicht nur, Odoo zu nutzen, sondern <strong>die Grenzen dessen zu erweitern, was mit der Community Edition möglich ist</strong>.</p> - Umgestaltung unserer Rinderfarm mit Odoo Community - https://success.odoo4projects.com/de/stories/agape/ + Transforming Our Cattle Farm with Odoo Community + http://localhost:1313/de/stories/agape/ Tue, 10 Jun 2025 12:00:00 +0000 - https://success.odoo4projects.com/de/stories/agape/ - <p><img src="https://estancia-agape.com/web/image/1078-81bed64d/agapei-1.svg" alt="Estancia Agapé"></p> <p>Eine Rinderfarm in Paraguay zu betreiben, stellt uns vor einzigartige Herausforderungen - besonders wenn man Abläufe in <strong>dreien unterschiedlichen Standorten</strong> verwaltet. Bei <a href="https://estancia-agape.com">Estancia Agapé</a> war unser Ziel immer, in der Tradition verwurzelt zu bleiben und gleichzeitig Innovationen zu nutzen, um nachhaltig und effizient zu wachsen. Deshalb haben wir uns für <strong>Odoo Community</strong> entschieden, und die Ergebnisse haben unsere Erwartungen übertroffen.</p> <h2 id="warum-odoo">Warum Odoo?</h2> <p>Wir haben verschiedene Systeme geprüft, bevor wir uns für Odoo Community entschieden haben. Die Gründe waren klar:</p> + http://localhost:1313/de/stories/agape/ + <p><img src="https://estancia-agape.com/web/image/1078-81bed64d/agapei-1.svg" alt="Estancia Agapé"></p> <p>Running a cattle farm in Paraguay presents unique challenges — especially when managing operations across <strong>three distinct locations</strong>. At <a href="https://estancia-agape.com">Estancia Agapé</a>, our goal has always been to stay grounded in tradition while embracing innovation to grow sustainably and efficiently. This is why we turned to <strong>Odoo Community</strong>, and the results have exceeded our expectations.</p> <h2 id="why-odoo">Why Odoo?</h2> <p>We evaluated various systems before choosing Odoo Community. The reasons were clear:</p> <ul> <li>Open-source and customizable</li> <li>Robust set of features for inventory, accounting, and logistics</li> <li>Large and active global community</li> <li>No licensing fees</li> </ul> <p>But what truly made the difference was the ability to <strong>host the service online</strong>.</p> diff --git a/public/de/sitemap.xml b/public/de/sitemap.xml index 9e1eda5..77b8a7e 100644 --- a/public/de/sitemap.xml +++ b/public/de/sitemap.xml @@ -2,272 +2,327 @@ - https://success.odoo4projects.com/de/ - 2025-06-10T12:00:00+00:00 + http://localhost:1313/de/stories/ + 2025-06-15T22:50:48+05:30 - https://success.odoo4projects.com/de/categories/0-5/ - 2025-06-10T12:00:00+00:00 + http://localhost:1313/de/ + 2025-06-15T22:21:39+05:30 - https://success.odoo4projects.com/de/categories/5-10/ + http://localhost:1313/de/categories/0-5/ 2025-06-10T12:00:00+00:00 - https://success.odoo4projects.com/de/stories/odoo4projects/ + http://localhost:1313/de/categories/5-10/ 2025-06-10T12:00:00+00:00 - https://success.odoo4projects.com/de/categories/ + http://localhost:1313/de/stories/odoo4projects/ 2025-06-10T12:00:00+00:00 - https://success.odoo4projects.com/de/tags/community/ + http://localhost:1313/de/categories/ 2025-06-10T12:00:00+00:00 - https://success.odoo4projects.com/de/tags/erp/ + http://localhost:1313/de/tags/cattle-farm/ 2025-06-10T12:00:00+00:00 - https://success.odoo4projects.com/de/categories/farm/ + http://localhost:1313/de/tags/community/ 2025-06-10T12:00:00+00:00 - - - https://success.odoo4projects.com/de/categories/it/ - 2025-06-10T12:00:00+00:00 - - https://success.odoo4projects.com/de/tags/it/ + http://localhost:1313/de/tags/digital-transformation/ 2025-06-10T12:00:00+00:00 - https://success.odoo4projects.com/de/tags/odoo/ + http://localhost:1313/de/tags/erp/ 2025-06-10T12:00:00+00:00 - https://success.odoo4projects.com/de/tags/paraguay/ + http://localhost:1313/de/categories/farm/ 2025-06-10T12:00:00+00:00 - https://success.odoo4projects.com/de/tags/rinderfarm/ - 2025-06-10T12:00:00+00:00 - - https://success.odoo4projects.com/de/stories/ + http://localhost:1313/de/categories/it/ 2025-06-10T12:00:00+00:00 - https://success.odoo4projects.com/de/tags/ + http://localhost:1313/de/tags/it/ 2025-06-10T12:00:00+00:00 - https://success.odoo4projects.com/de/stories/agape/ + http://localhost:1313/de/tags/odoo/ 2025-06-10T12:00:00+00:00 + + http://localhost:1313/de/tags/paraguay/ + 2025-06-10T12:00:00+00:00 + + + + + http://localhost:1313/de/tags/ + 2025-06-10T12:00:00+00:00 + + + + + http://localhost:1313/de/stories/agape/ + 2025-06-10T12:00:00+00:00 + + + + + http://localhost:1313/de/authors/ + + + diff --git a/public/de/stories/agape/index.html b/public/de/stories/agape/index.html index a7d3436..5e30edd 100644 --- a/public/de/stories/agape/index.html +++ b/public/de/stories/agape/index.html @@ -1,95 +1,136 @@ - - - - - - Umgestaltung unserer Rinderfarm mit Odoo Community | - - - - - - - - - - -
single page
- - - - - - - - + + + + + + Transforming Our Cattle Farm with Odoo Community | diese Story-Site + + + + + + + + + + +
+

Estancia Agapé

+

Running a cattle farm in Paraguay presents unique challenges — especially when managing operations across three distinct locations. At Estancia Agapé, our goal has always been to stay grounded in tradition while embracing innovation to grow sustainably and efficiently. This is why we turned to Odoo Community, and the results have exceeded our expectations.

+

Why Odoo?

+

We evaluated various systems before choosing Odoo Community. The reasons were clear:

+
    +
  • Open-source and customizable
  • +
  • Robust set of features for inventory, accounting, and logistics
  • +
  • Large and active global community
  • +
  • No licensing fees
  • +
+

But what truly made the difference was the ability to host the service online.

+

Online Hosting: The Game-Changer

+

With three remote farm locations, we needed a centralized system that could be accessed by our teams from anywhere. Hosting Odoo online gave us:

+
    +
  • Real-time synchronization between sites
  • +
  • Simplified workflows for staff in the field and in the office
  • +
  • Remote oversight of stock, sales, and expenses
  • +
  • Reduced IT burden thanks to external hosting partners
  • +
+

We now manage cattle inventory, pasture usage, vet schedules, and financial records in a single system, accessible securely from any device.

+

The Results

+

Since implementing Odoo Community:

+
    +
  • Manual paperwork has dropped by over 80%
  • +
  • Daily operational reports are instantly available to management
  • +
  • Staff collaboration has improved across all sites
  • +
  • Decision-making is faster and data-driven
  • +
+

What used to take days now takes minutes.

+

Looking Ahead

+

We are continuing to expand our use of Odoo Community by integrating additional modules and exploring mobile app features for field use.

+

For other agricultural businesses in Paraguay or Latin America, we highly recommend considering open-source ERP systems like Odoo. With the right setup and a cloud-based approach, even the most traditional industries can benefit from modern tools.

+

Visit us at estancia-agape.com to learn more about our journey.

+
+

Interested in how Odoo can work for your farm or agribusiness? Contact us — we’re happy to share insights.

+
+
+
+ + +
+ + + + + + + + diff --git a/public/de/stories/index.html b/public/de/stories/index.html index feec9ba..f1dab1f 100644 --- a/public/de/stories/index.html +++ b/public/de/stories/index.html @@ -1,300 +1,234 @@ - - - - - - Stories | - - - - - - - - - - -
-
-
-

🚀 Echte Odoo-Erfolgsgeschichten – Sehen Sie, wo Odoo glänzt

-

Entdecken Sie, wie Unternehmen branchenübergreifend mit Odoo ihre Transformation vorantreiben – von der Bestandsoptimierung über die Vertriebsautomatisierung bis hin zur Skalierung von Abläufen. Dies sind Beispiele aus der Praxis, die zeigen, wie Odoo überzeugt. 💡 Nutzen Sie Odoo? Teilen Sie Ihre Erfolgsgeschichte und werden Sie vorgestellt – mit einem Dofollow-Backlink zu Ihrer Website als Dankeschön. Das bedeutet kostenlose Präsenz und hervorragende SEO.

-
-
-
- -

- - Kategorien -

- -
- -
- -

- - Schlagworte -

- -
-
-
- - - - - - - - -
- - - - - -
-
- - - - - - - - + + + + + + Stories | diese Story-Site + + + + + + + + + + +
+ +
+ +
+
+
+ + +
+ + + + + + + + diff --git a/public/de/stories/index.xml b/public/de/stories/index.xml index c7f6f0c..0f6403c 100644 --- a/public/de/stories/index.xml +++ b/public/de/stories/index.xml @@ -1,26 +1,26 @@ - Stories on - https://success.odoo4projects.com/de/stories/ - Recent content in Stories on + Stories on diese Story-Site + http://localhost:1313/de/stories/ + Recent content in Stories on diese Story-Site Hugo de Tue, 10 Jun 2025 12:00:00 +0000 - + Aufbau eines Cloud-ERP-Dienstes mit Odoo Community - https://success.odoo4projects.com/de/stories/odoo4projects/ + http://localhost:1313/de/stories/odoo4projects/ Tue, 10 Jun 2025 12:00:00 +0000 - https://success.odoo4projects.com/de/stories/odoo4projects/ + http://localhost:1313/de/stories/odoo4projects/ <p><img src="https://odoo4projects.com/web/image/2890-1713a804/Header_low.png" alt="ODOO4projects"></p> <p>Bei <a href="https://ODOO4projects.com">ODOO4projects</a> sind wir darauf spezialisiert, Unternehmen beim Erfolg mit Open-Source-ERP zu unterstützen. Aber wir betreiben auch unsere eigenen Dienste auf derselben Plattform - und deshalb haben wir uns dafür entschieden, unsere <strong>gesamte Cloud-ERP-Hosting-Infrastruktur mit Odoo Community V17</strong> zu bauen.</p> <h2 id="warum-odoo-community">Warum Odoo Community?</h2> <p>Wir wollten testen, wie weit Odoo Community gehen kann - und es hat uns nicht enttäuscht.</p> <ul> <li>100% Open-Source, keine Lizenzgebühren</li> <li>Hochgradig an spezifische Einsatzfälle anpassbar</li> <li>Starkes internationales Community-Support</li> <li>Klarer Upgrade-Pfad und modulares Design</li> </ul> <p>Unser Ziel war nicht nur, Odoo zu nutzen, sondern <strong>die Grenzen dessen zu erweitern, was mit der Community Edition möglich ist</strong>.</p> - Umgestaltung unserer Rinderfarm mit Odoo Community - https://success.odoo4projects.com/de/stories/agape/ + Transforming Our Cattle Farm with Odoo Community + http://localhost:1313/de/stories/agape/ Tue, 10 Jun 2025 12:00:00 +0000 - https://success.odoo4projects.com/de/stories/agape/ - <p><img src="https://estancia-agape.com/web/image/1078-81bed64d/agapei-1.svg" alt="Estancia Agapé"></p> <p>Eine Rinderfarm in Paraguay zu betreiben, stellt uns vor einzigartige Herausforderungen - besonders wenn man Abläufe in <strong>dreien unterschiedlichen Standorten</strong> verwaltet. Bei <a href="https://estancia-agape.com">Estancia Agapé</a> war unser Ziel immer, in der Tradition verwurzelt zu bleiben und gleichzeitig Innovationen zu nutzen, um nachhaltig und effizient zu wachsen. Deshalb haben wir uns für <strong>Odoo Community</strong> entschieden, und die Ergebnisse haben unsere Erwartungen übertroffen.</p> <h2 id="warum-odoo">Warum Odoo?</h2> <p>Wir haben verschiedene Systeme geprüft, bevor wir uns für Odoo Community entschieden haben. Die Gründe waren klar:</p> + http://localhost:1313/de/stories/agape/ + <p><img src="https://estancia-agape.com/web/image/1078-81bed64d/agapei-1.svg" alt="Estancia Agapé"></p> <p>Running a cattle farm in Paraguay presents unique challenges — especially when managing operations across <strong>three distinct locations</strong>. At <a href="https://estancia-agape.com">Estancia Agapé</a>, our goal has always been to stay grounded in tradition while embracing innovation to grow sustainably and efficiently. This is why we turned to <strong>Odoo Community</strong>, and the results have exceeded our expectations.</p> <h2 id="why-odoo">Why Odoo?</h2> <p>We evaluated various systems before choosing Odoo Community. The reasons were clear:</p> <ul> <li>Open-source and customizable</li> <li>Robust set of features for inventory, accounting, and logistics</li> <li>Large and active global community</li> <li>No licensing fees</li> </ul> <p>But what truly made the difference was the ability to <strong>host the service online</strong>.</p> diff --git a/public/de/stories/odoo4projects/index.html b/public/de/stories/odoo4projects/index.html index c905136..e418e8b 100644 --- a/public/de/stories/odoo4projects/index.html +++ b/public/de/stories/odoo4projects/index.html @@ -1,95 +1,130 @@ - - - - - - Aufbau eines Cloud-ERP-Dienstes mit Odoo Community | - - - - - - - - - - -
single page
- - - - - - - - + + + + + + Aufbau eines Cloud-ERP-Dienstes mit Odoo Community | diese Story-Site + + + + + + + + + + +
+

ODOO4projects

+

Bei ODOO4projects sind wir darauf spezialisiert, Unternehmen beim Erfolg mit Open-Source-ERP zu unterstützen. Aber wir betreiben auch unsere eigenen Dienste auf derselben Plattform - und deshalb haben wir uns dafür entschieden, unsere gesamte Cloud-ERP-Hosting-Infrastruktur mit Odoo Community V17 zu bauen.

+

Warum Odoo Community?

+

Wir wollten testen, wie weit Odoo Community gehen kann - und es hat uns nicht enttäuscht.

+
    +
  • 100% Open-Source, keine Lizenzgebühren
  • +
  • Hochgradig an spezifische Einsatzfälle anpassbar
  • +
  • Starkes internationales Community-Support
  • +
  • Klarer Upgrade-Pfad und modulares Design
  • +
+

Unser Ziel war nicht nur, Odoo zu nutzen, sondern die Grenzen dessen zu erweitern, was mit der Community Edition möglich ist.

+

Benutzerdefinierte Module: Unser Schlüssel zum Erfolg

+

Der Wendepunkt auf unserer Reise war die Entwicklung eines benutzerdefinierten Moduls, das speziell für unseren Hosting-Service zugeschnitten ist. Von unserem eigenen Team entwickelt, übernimmt dieses Modul nun:

+
    +
  • Kundenonboarding und Abonnementverfolgung
  • +
  • Hosting-Verwaltung über mehrere Instanzen
  • +
  • Automatisierte Bereitstellung und Überwachung
  • +
+

Durch den Besitz dieser Kernfunktionalität gewannen wir die volle Kontrolle über unsere Infrastruktur - und reduzierten die Abhängigkeit von externen Tools.

+

Was hat nicht funktioniert?

+

Nicht jedes Experiment war erfolgreich. Wir haben ein Drittanbieter-Modul für Affiliate-Management und Buchhaltung erworben - und es war eine komplette Zeit- und Geldverschwendung. Mangelhafte Dokumentation, begrenzter Support und Kompatibilitätsprobleme machten es unbenutzbar.

+

Diese Erfahrung lehrte uns den Wert des internen Entwickelns oder gründlichen Prüfens, bevor wir Drittanbieter-Lösungen integrieren.

+

Ausblick: Odoo 19 und darüber hinaus

+

Bei der Planung unseres Upgrades auf Odoo 19 gehen wir mit einer “nuke and pave” Strategie vor - wir räumen veraltete Module aus, die ihren Zweck nicht mehr erfüllen. Dieser Ansatz von Null an wird es uns ermöglichen, die Leistung zu optimieren und den Support zu vereinfachen.

+

Trotz der Stolpersteine auf dem Weg erfüllt Odoo Community weiterhin all unsere Geschäftsanforderungen, von CRM und Vertrieb bis hin zu Hosting und internen Arbeitsabläufen.

+

Unsere Nachricht an andere

+

Wenn Sie in der IT oder im SaaS-Bereich tätig sind und nach einer flexiblen, leistungsstarken ERP-Plattform suchen - unterschätzen Sie Odoo Community nicht. Mit dem richtigen Team und der richtigen Vision können Sie unternehmensweite Dienste ohne die Overheadkosten von Unternehmenslizenzen aufbauen.

+

Besuchen Sie uns auf ODOO4projects.com, um mehr über unsere Plattform und Lösungen zu erfahren.

+
+
+
+
+ + +
+ + + + + + + + diff --git a/public/de/stories/post1/index.html b/public/de/stories/post1/index.html new file mode 100644 index 0000000..e08ef40 --- /dev/null +++ b/public/de/stories/post1/index.html @@ -0,0 +1,102 @@ + + + + + + Southeast Asia on a Shoestring: A 3-Week Backpacking Itinerary | diese Story-Site + + + + + + + + + + +
+

Southeast Asia on a Shoestring: Your Epic 3-Week Backpacking Adventure

+

Hey fellow wanderers! If you’re dreaming of exotic temples, bustling markets, and breathtaking beaches without emptying your savings account, then Southeast Asia is calling your name. Trust me, this corner of the world is a backpacker’s paradise, offering incredible experiences at prices that will make your wallet sing.

+

After countless hostel stays, delicious street food meals, and unforgettable adventures, I’ve crafted the perfect 3-week itinerary to give you a taste of the magic in Thailand, Vietnam, and Cambodia. Buckle up, because this is going to be an epic ride!

+

Week 1: Thailand - The Land of Smiles (and Amazing Food!)

+
    +
  • Days 1-3: Bangkok: Dive headfirst into the chaotic beauty of Bangkok. Explore magnificent temples like Wat Arun and Wat Pho (home to the reclining Buddha), get lost in the vibrant Chatuchak Weekend Market (if your trip aligns!), and take a longtail boat ride along the Chao Phraya River. Don’t forget to indulge in some mouthwatering street food – Pad Thai is a must!
  • +
  • Days 4-6: Chiang Mai: Escape the city buzz and head north to Chiang Mai. Immerse yourself in the serene atmosphere of ancient temples, take a Thai cooking class (you won’t regret it!), and consider an ethical elephant sanctuary visit. The night markets here are fantastic for souvenirs.
  • +
  • Day 7: Travel Day: Fly or take an overnight train south towards Vietnam. This will be your biggest travel day, so pack some snacks and get ready for the next adventure!
  • +
+

Week 2: Vietnam - A Feast for the Senses

+
    +
  • Days 8-10: Hanoi: Welcome to the charming chaos of Hanoi! Explore the Old Quarter, wander around Hoan Kiem Lake, and catch a traditional water puppet show. Don’t miss trying the local specialty, Pho.
  • +
  • Days 11-13: Ha Long Bay: Prepare to be amazed by the stunning limestone karsts of Ha Long Bay. Take a boat tour (opt for a budget-friendly option!) and kayak through the emerald waters. Spending a night on a boat under the stars is an unforgettable experience.
  • +
  • Day 14: Travel Day: Fly or take a bus to Siem Reap, Cambodia. Get ready for ancient wonders!
  • +
+

Week 3: Cambodia - Ancient History and Heartwarming Culture

+
    +
  • Days 15-18: Siem Reap & Angkor Wat: This is what many people come to Southeast Asia for! Explore the magnificent Angkor Wat temple complex, including Angkor Thom, Bayon, and Ta Prohm (the “Tomb Raider” temple). Consider hiring a tuk-tuk driver for a day to explore the various temples. Wake up early for sunrise over Angkor Wat – it’s truly magical.
  • +
  • Days 19-20: Phnom Penh: Take a sobering but important trip to Phnom Penh to learn about Cambodia’s history at the Killing Fields and Tuol Sleng Genocide Museum. Balance this with a visit to the Royal Palace and Silver Pagoda.
  • +
  • Days 21: Departure: Head to the airport, filled with incredible memories and a newfound love for Southeast Asia.
  • +
+

Budget Tips for Southeast Asia:

+
    +
  • Stay in Hostels: They’re cheap, social, and a great way to meet other travelers.
  • +
  • Eat Street Food: It’s delicious and incredibly affordable.
  • +
  • Use Local Transportation: Buses and trains are your friends. Avoid taxis where possible.
  • +
  • Haggle at Markets: It’s part of the fun!
  • +
  • Book in Advance (Sometimes): Especially for popular routes or accommodations during peak season.
  • +
+

Southeast Asia is an incredible destination for budget travelers. With a little planning and an adventurous spirit, you can have an unforgettable experience without breaking the bank. So, what are you waiting for? Start planning your own Southeast Asian adventure!

+
+
+
+ + +
+ + + + + + + + diff --git a/public/de/tags/backpacking/index.html b/public/de/tags/backpacking/index.html new file mode 100644 index 0000000..dee0440 --- /dev/null +++ b/public/de/tags/backpacking/index.html @@ -0,0 +1,142 @@ + + + + + + Backpacking | diese Story-Site + + + + + + + + + + +
+ +
+ +
+
+
+ + +
+ + + + + + + + diff --git a/public/de/tags/backpacking/index.xml b/public/de/tags/backpacking/index.xml new file mode 100644 index 0000000..e920567 --- /dev/null +++ b/public/de/tags/backpacking/index.xml @@ -0,0 +1,19 @@ + + + + Backpacking on diese Story-Site + http://localhost:1313/de/tags/backpacking/ + Recent content in Backpacking on diese Story-Site + Hugo + de + Tue, 15 Apr 2025 00:00:00 +0000 + + + Southeast Asia on a Shoestring: A 3-Week Backpacking Itinerary + http://localhost:1313/de/stories/post1/ + Tue, 15 Apr 2025 00:00:00 +0000 + http://localhost:1313/de/stories/post1/ + <h2 id="southeast-asia-on-a-shoestring-your-epic-3-week-backpacking-adventure">Southeast Asia on a Shoestring: Your Epic 3-Week Backpacking Adventure</h2> <p>Hey fellow wanderers! If you&rsquo;re dreaming of exotic temples, bustling markets, and breathtaking beaches without emptying your savings account, then Southeast Asia is calling your name. Trust me, this corner of the world is a backpacker&rsquo;s paradise, offering incredible experiences at prices that will make your wallet sing.</p> <p>After countless hostel stays, delicious street food meals, and unforgettable adventures, I&rsquo;ve crafted the perfect 3-week itinerary to give you a taste of the magic in Thailand, Vietnam, and Cambodia. Buckle up, because this is going to be an epic ride!</p> + + + diff --git a/public/de/tags/budget-travel/index.html b/public/de/tags/budget-travel/index.html new file mode 100644 index 0000000..7fe21db --- /dev/null +++ b/public/de/tags/budget-travel/index.html @@ -0,0 +1,142 @@ + + + + + + Budget Travel | diese Story-Site + + + + + + + + + + +
+ +
+ +
+
+
+ + +
+ + + + + + + + diff --git a/public/de/tags/budget-travel/index.xml b/public/de/tags/budget-travel/index.xml new file mode 100644 index 0000000..356633c --- /dev/null +++ b/public/de/tags/budget-travel/index.xml @@ -0,0 +1,19 @@ + + + + Budget Travel on diese Story-Site + http://localhost:1313/de/tags/budget-travel/ + Recent content in Budget Travel on diese Story-Site + Hugo + de + Tue, 15 Apr 2025 00:00:00 +0000 + + + Southeast Asia on a Shoestring: A 3-Week Backpacking Itinerary + http://localhost:1313/de/stories/post1/ + Tue, 15 Apr 2025 00:00:00 +0000 + http://localhost:1313/de/stories/post1/ + <h2 id="southeast-asia-on-a-shoestring-your-epic-3-week-backpacking-adventure">Southeast Asia on a Shoestring: Your Epic 3-Week Backpacking Adventure</h2> <p>Hey fellow wanderers! If you&rsquo;re dreaming of exotic temples, bustling markets, and breathtaking beaches without emptying your savings account, then Southeast Asia is calling your name. Trust me, this corner of the world is a backpacker&rsquo;s paradise, offering incredible experiences at prices that will make your wallet sing.</p> <p>After countless hostel stays, delicious street food meals, and unforgettable adventures, I&rsquo;ve crafted the perfect 3-week itinerary to give you a taste of the magic in Thailand, Vietnam, and Cambodia. Buckle up, because this is going to be an epic ride!</p> + + + diff --git a/public/de/tags/cambodia/index.html b/public/de/tags/cambodia/index.html new file mode 100644 index 0000000..92c90ff --- /dev/null +++ b/public/de/tags/cambodia/index.html @@ -0,0 +1,142 @@ + + + + + + Cambodia | diese Story-Site + + + + + + + + + + +
+ +
+ +
+
+
+ + +
+ + + + + + + + diff --git a/public/de/tags/cambodia/index.xml b/public/de/tags/cambodia/index.xml new file mode 100644 index 0000000..ce4fdae --- /dev/null +++ b/public/de/tags/cambodia/index.xml @@ -0,0 +1,19 @@ + + + + Cambodia on diese Story-Site + http://localhost:1313/de/tags/cambodia/ + Recent content in Cambodia on diese Story-Site + Hugo + de + Tue, 15 Apr 2025 00:00:00 +0000 + + + Southeast Asia on a Shoestring: A 3-Week Backpacking Itinerary + http://localhost:1313/de/stories/post1/ + Tue, 15 Apr 2025 00:00:00 +0000 + http://localhost:1313/de/stories/post1/ + <h2 id="southeast-asia-on-a-shoestring-your-epic-3-week-backpacking-adventure">Southeast Asia on a Shoestring: Your Epic 3-Week Backpacking Adventure</h2> <p>Hey fellow wanderers! If you&rsquo;re dreaming of exotic temples, bustling markets, and breathtaking beaches without emptying your savings account, then Southeast Asia is calling your name. Trust me, this corner of the world is a backpacker&rsquo;s paradise, offering incredible experiences at prices that will make your wallet sing.</p> <p>After countless hostel stays, delicious street food meals, and unforgettable adventures, I&rsquo;ve crafted the perfect 3-week itinerary to give you a taste of the magic in Thailand, Vietnam, and Cambodia. Buckle up, because this is going to be an epic ride!</p> + + + diff --git a/public/de/tags/cattle-farm/index.html b/public/de/tags/cattle-farm/index.html new file mode 100644 index 0000000..8253485 --- /dev/null +++ b/public/de/tags/cattle-farm/index.html @@ -0,0 +1,171 @@ + + + + + + Cattle Farm | diese Story-Site + + + + + + + + + + +
+ +
+ +
+
+
+ + +
+ + + + + + + + diff --git a/public/de/tags/cattle-farm/index.xml b/public/de/tags/cattle-farm/index.xml new file mode 100644 index 0000000..3fbfa91 --- /dev/null +++ b/public/de/tags/cattle-farm/index.xml @@ -0,0 +1,19 @@ + + + + Cattle Farm on diese Story-Site + http://localhost:1313/de/tags/cattle-farm/ + Recent content in Cattle Farm on diese Story-Site + Hugo + de + Tue, 10 Jun 2025 12:00:00 +0000 + + + Transforming Our Cattle Farm with Odoo Community + http://localhost:1313/de/stories/agape/ + Tue, 10 Jun 2025 12:00:00 +0000 + http://localhost:1313/de/stories/agape/ + <p><img src="https://estancia-agape.com/web/image/1078-81bed64d/agapei-1.svg" alt="Estancia Agapé"></p> <p>Running a cattle farm in Paraguay presents unique challenges — especially when managing operations across <strong>three distinct locations</strong>. At <a href="https://estancia-agape.com">Estancia Agapé</a>, our goal has always been to stay grounded in tradition while embracing innovation to grow sustainably and efficiently. This is why we turned to <strong>Odoo Community</strong>, and the results have exceeded our expectations.</p> <h2 id="why-odoo">Why Odoo?</h2> <p>We evaluated various systems before choosing Odoo Community. The reasons were clear:</p> <ul> <li>Open-source and customizable</li> <li>Robust set of features for inventory, accounting, and logistics</li> <li>Large and active global community</li> <li>No licensing fees</li> </ul> <p>But what truly made the difference was the ability to <strong>host the service online</strong>.</p> + + + diff --git a/public/de/tags/community/index.html b/public/de/tags/community/index.html index 2e3296e..bb329be 100644 --- a/public/de/tags/community/index.html +++ b/public/de/tags/community/index.html @@ -1,300 +1,167 @@ - - - - - - Community | - - - - - - - - - - -
-
-
-

🚀 Echte Odoo-Erfolgsgeschichten – Sehen Sie, wo Odoo glänzt

-

Entdecken Sie, wie Unternehmen branchenübergreifend mit Odoo ihre Transformation vorantreiben – von der Bestandsoptimierung über die Vertriebsautomatisierung bis hin zur Skalierung von Abläufen. Dies sind Beispiele aus der Praxis, die zeigen, wie Odoo überzeugt. 💡 Nutzen Sie Odoo? Teilen Sie Ihre Erfolgsgeschichte und werden Sie vorgestellt – mit einem Dofollow-Backlink zu Ihrer Website als Dankeschön. Das bedeutet kostenlose Präsenz und hervorragende SEO.

-
-
-
- -

- - Kategorien -

- -
- -
- -

- - Schlagworte -

- -
-
-
- - - - - - - - -
- - - - - -
-
- - - - - - - - + + + + + + Community | diese Story-Site + + + + + + + + + + +
+ +
+ +
+
+
+ + +
+ + + + + + + + diff --git a/public/de/tags/community/index.xml b/public/de/tags/community/index.xml index a1d574d..af59409 100644 --- a/public/de/tags/community/index.xml +++ b/public/de/tags/community/index.xml @@ -1,18 +1,18 @@ - Community on - https://success.odoo4projects.com/de/tags/community/ - Recent content in Community on + Community on diese Story-Site + http://localhost:1313/de/tags/community/ + Recent content in Community on diese Story-Site Hugo de Tue, 10 Jun 2025 12:00:00 +0000 - + Aufbau eines Cloud-ERP-Dienstes mit Odoo Community - https://success.odoo4projects.com/de/stories/odoo4projects/ + http://localhost:1313/de/stories/odoo4projects/ Tue, 10 Jun 2025 12:00:00 +0000 - https://success.odoo4projects.com/de/stories/odoo4projects/ + http://localhost:1313/de/stories/odoo4projects/ <p><img src="https://odoo4projects.com/web/image/2890-1713a804/Header_low.png" alt="ODOO4projects"></p> <p>Bei <a href="https://ODOO4projects.com">ODOO4projects</a> sind wir darauf spezialisiert, Unternehmen beim Erfolg mit Open-Source-ERP zu unterstützen. Aber wir betreiben auch unsere eigenen Dienste auf derselben Plattform - und deshalb haben wir uns dafür entschieden, unsere <strong>gesamte Cloud-ERP-Hosting-Infrastruktur mit Odoo Community V17</strong> zu bauen.</p> <h2 id="warum-odoo-community">Warum Odoo Community?</h2> <p>Wir wollten testen, wie weit Odoo Community gehen kann - und es hat uns nicht enttäuscht.</p> <ul> <li>100% Open-Source, keine Lizenzgebühren</li> <li>Hochgradig an spezifische Einsatzfälle anpassbar</li> <li>Starkes internationales Community-Support</li> <li>Klarer Upgrade-Pfad und modulares Design</li> </ul> <p>Unser Ziel war nicht nur, Odoo zu nutzen, sondern <strong>die Grenzen dessen zu erweitern, was mit der Community Edition möglich ist</strong>.</p> diff --git a/public/de/tags/digital-transformation/index.html b/public/de/tags/digital-transformation/index.html new file mode 100644 index 0000000..bb6fd87 --- /dev/null +++ b/public/de/tags/digital-transformation/index.html @@ -0,0 +1,171 @@ + + + + + + Digital Transformation | diese Story-Site + + + + + + + + + + +
+ +
+ +
+
+
+ + +
+ + + + + + + + diff --git a/public/de/tags/digital-transformation/index.xml b/public/de/tags/digital-transformation/index.xml new file mode 100644 index 0000000..d3787e6 --- /dev/null +++ b/public/de/tags/digital-transformation/index.xml @@ -0,0 +1,19 @@ + + + + Digital Transformation on diese Story-Site + http://localhost:1313/de/tags/digital-transformation/ + Recent content in Digital Transformation on diese Story-Site + Hugo + de + Tue, 10 Jun 2025 12:00:00 +0000 + + + Transforming Our Cattle Farm with Odoo Community + http://localhost:1313/de/stories/agape/ + Tue, 10 Jun 2025 12:00:00 +0000 + http://localhost:1313/de/stories/agape/ + <p><img src="https://estancia-agape.com/web/image/1078-81bed64d/agapei-1.svg" alt="Estancia Agapé"></p> <p>Running a cattle farm in Paraguay presents unique challenges — especially when managing operations across <strong>three distinct locations</strong>. At <a href="https://estancia-agape.com">Estancia Agapé</a>, our goal has always been to stay grounded in tradition while embracing innovation to grow sustainably and efficiently. This is why we turned to <strong>Odoo Community</strong>, and the results have exceeded our expectations.</p> <h2 id="why-odoo">Why Odoo?</h2> <p>We evaluated various systems before choosing Odoo Community. The reasons were clear:</p> <ul> <li>Open-source and customizable</li> <li>Robust set of features for inventory, accounting, and logistics</li> <li>Large and active global community</li> <li>No licensing fees</li> </ul> <p>But what truly made the difference was the ability to <strong>host the service online</strong>.</p> + + + diff --git a/public/de/tags/erp/index.html b/public/de/tags/erp/index.html index 1f07f43..a2612a5 100644 --- a/public/de/tags/erp/index.html +++ b/public/de/tags/erp/index.html @@ -1,300 +1,234 @@ - - - - - - ERP | - - - - - - - - - - -
-
-
-

🚀 Echte Odoo-Erfolgsgeschichten – Sehen Sie, wo Odoo glänzt

-

Entdecken Sie, wie Unternehmen branchenübergreifend mit Odoo ihre Transformation vorantreiben – von der Bestandsoptimierung über die Vertriebsautomatisierung bis hin zur Skalierung von Abläufen. Dies sind Beispiele aus der Praxis, die zeigen, wie Odoo überzeugt. 💡 Nutzen Sie Odoo? Teilen Sie Ihre Erfolgsgeschichte und werden Sie vorgestellt – mit einem Dofollow-Backlink zu Ihrer Website als Dankeschön. Das bedeutet kostenlose Präsenz und hervorragende SEO.

-
-
-
- -

- - Kategorien -

- -
- -
- -

- - Schlagworte -

- -
-
-
- - - - - - - - -
- - - - - -
-
- - - - - - - - + + + + + + ERP | diese Story-Site + + + + + + + + + + +
+ +
+ +
+
+
+ + +
+ + + + + + + + diff --git a/public/de/tags/erp/index.xml b/public/de/tags/erp/index.xml index 20bbe8e..801921a 100644 --- a/public/de/tags/erp/index.xml +++ b/public/de/tags/erp/index.xml @@ -1,26 +1,26 @@ - ERP on - https://success.odoo4projects.com/de/tags/erp/ - Recent content in ERP on + ERP on diese Story-Site + http://localhost:1313/de/tags/erp/ + Recent content in ERP on diese Story-Site Hugo de Tue, 10 Jun 2025 12:00:00 +0000 - + Aufbau eines Cloud-ERP-Dienstes mit Odoo Community - https://success.odoo4projects.com/de/stories/odoo4projects/ + http://localhost:1313/de/stories/odoo4projects/ Tue, 10 Jun 2025 12:00:00 +0000 - https://success.odoo4projects.com/de/stories/odoo4projects/ + http://localhost:1313/de/stories/odoo4projects/ <p><img src="https://odoo4projects.com/web/image/2890-1713a804/Header_low.png" alt="ODOO4projects"></p> <p>Bei <a href="https://ODOO4projects.com">ODOO4projects</a> sind wir darauf spezialisiert, Unternehmen beim Erfolg mit Open-Source-ERP zu unterstützen. Aber wir betreiben auch unsere eigenen Dienste auf derselben Plattform - und deshalb haben wir uns dafür entschieden, unsere <strong>gesamte Cloud-ERP-Hosting-Infrastruktur mit Odoo Community V17</strong> zu bauen.</p> <h2 id="warum-odoo-community">Warum Odoo Community?</h2> <p>Wir wollten testen, wie weit Odoo Community gehen kann - und es hat uns nicht enttäuscht.</p> <ul> <li>100% Open-Source, keine Lizenzgebühren</li> <li>Hochgradig an spezifische Einsatzfälle anpassbar</li> <li>Starkes internationales Community-Support</li> <li>Klarer Upgrade-Pfad und modulares Design</li> </ul> <p>Unser Ziel war nicht nur, Odoo zu nutzen, sondern <strong>die Grenzen dessen zu erweitern, was mit der Community Edition möglich ist</strong>.</p> - Umgestaltung unserer Rinderfarm mit Odoo Community - https://success.odoo4projects.com/de/stories/agape/ + Transforming Our Cattle Farm with Odoo Community + http://localhost:1313/de/stories/agape/ Tue, 10 Jun 2025 12:00:00 +0000 - https://success.odoo4projects.com/de/stories/agape/ - <p><img src="https://estancia-agape.com/web/image/1078-81bed64d/agapei-1.svg" alt="Estancia Agapé"></p> <p>Eine Rinderfarm in Paraguay zu betreiben, stellt uns vor einzigartige Herausforderungen - besonders wenn man Abläufe in <strong>dreien unterschiedlichen Standorten</strong> verwaltet. Bei <a href="https://estancia-agape.com">Estancia Agapé</a> war unser Ziel immer, in der Tradition verwurzelt zu bleiben und gleichzeitig Innovationen zu nutzen, um nachhaltig und effizient zu wachsen. Deshalb haben wir uns für <strong>Odoo Community</strong> entschieden, und die Ergebnisse haben unsere Erwartungen übertroffen.</p> <h2 id="warum-odoo">Warum Odoo?</h2> <p>Wir haben verschiedene Systeme geprüft, bevor wir uns für Odoo Community entschieden haben. Die Gründe waren klar:</p> + http://localhost:1313/de/stories/agape/ + <p><img src="https://estancia-agape.com/web/image/1078-81bed64d/agapei-1.svg" alt="Estancia Agapé"></p> <p>Running a cattle farm in Paraguay presents unique challenges — especially when managing operations across <strong>three distinct locations</strong>. At <a href="https://estancia-agape.com">Estancia Agapé</a>, our goal has always been to stay grounded in tradition while embracing innovation to grow sustainably and efficiently. This is why we turned to <strong>Odoo Community</strong>, and the results have exceeded our expectations.</p> <h2 id="why-odoo">Why Odoo?</h2> <p>We evaluated various systems before choosing Odoo Community. The reasons were clear:</p> <ul> <li>Open-source and customizable</li> <li>Robust set of features for inventory, accounting, and logistics</li> <li>Large and active global community</li> <li>No licensing fees</li> </ul> <p>But what truly made the difference was the ability to <strong>host the service online</strong>.</p> diff --git a/public/de/tags/index.html b/public/de/tags/index.html index 64e503d..ad3f432 100644 --- a/public/de/tags/index.html +++ b/public/de/tags/index.html @@ -1,300 +1,377 @@ - - - - - - Tags | - - - - - - - - - - -
-
-
-

🚀 Echte Odoo-Erfolgsgeschichten – Sehen Sie, wo Odoo glänzt

-

Entdecken Sie, wie Unternehmen branchenübergreifend mit Odoo ihre Transformation vorantreiben – von der Bestandsoptimierung über die Vertriebsautomatisierung bis hin zur Skalierung von Abläufen. Dies sind Beispiele aus der Praxis, die zeigen, wie Odoo überzeugt. 💡 Nutzen Sie Odoo? Teilen Sie Ihre Erfolgsgeschichte und werden Sie vorgestellt – mit einem Dofollow-Backlink zu Ihrer Website als Dankeschön. Das bedeutet kostenlose Präsenz und hervorragende SEO.

-
-
-
- -

- - Kategorien -

- -
- -
- -

- - Schlagworte -

- -
-
-
- - - - - - - - -
- - - - - -
-
- - - - - - - - + + + + + + Tags | diese Story-Site + + + + + + + + + + +
+ +
+
+ Cattle Farm +
+ +

Cattle Farm

+
+

+ +
+ +
+ +
+ +
+ + +
+ + +
+ + +
+
+ +
+ + +
+
+
+ Community +
+ +

Community

+
+

+ +
+ +
+ +
+ +
+ + +
+ + +
+ + +
+
+ +
+ + +
+
+
+ ERP +
+ +

ERP

+
+

+ +
+ +
+ +
+ +
+ + +
+ + +
+ + +
+
+ +
+ + +
+
+
+ IT +
+ +

IT

+
+

+ +
+ +
+ +
+ +
+ + +
+ + +
+ + +
+
+ +
+ + +
+
+
+ Odoo +
+ +

Odoo

+
+

+ +
+ +
+ +
+ +
+ + +
+ + +
+ + +
+
+ +
+ + +
+
+
+ Paraguay +
+ +

Paraguay

+
+

+ +
+ +
+ +
+ +
+ + +
+ + +
+ + +
+
+ +
+ + +
+
+
+
+
+
+ + +
+ + + + + + + + diff --git a/public/de/tags/index.xml b/public/de/tags/index.xml index 6b4c1e1..007e0b9 100644 --- a/public/de/tags/index.xml +++ b/public/de/tags/index.xml @@ -1,53 +1,60 @@ - Tags on - https://success.odoo4projects.com/de/tags/ - Recent content in Tags on + Tags on diese Story-Site + http://localhost:1313/de/tags/ + Recent content in Tags on diese Story-Site Hugo de Tue, 10 Jun 2025 12:00:00 +0000 - + + + Cattle Farm + http://localhost:1313/de/tags/cattle-farm/ + Tue, 10 Jun 2025 12:00:00 +0000 + http://localhost:1313/de/tags/cattle-farm/ + + Community - https://success.odoo4projects.com/de/tags/community/ + http://localhost:1313/de/tags/community/ Tue, 10 Jun 2025 12:00:00 +0000 - https://success.odoo4projects.com/de/tags/community/ + http://localhost:1313/de/tags/community/ + + + + Digital Transformation + http://localhost:1313/de/tags/digital-transformation/ + Tue, 10 Jun 2025 12:00:00 +0000 + http://localhost:1313/de/tags/digital-transformation/ ERP - https://success.odoo4projects.com/de/tags/erp/ + http://localhost:1313/de/tags/erp/ Tue, 10 Jun 2025 12:00:00 +0000 - https://success.odoo4projects.com/de/tags/erp/ + http://localhost:1313/de/tags/erp/ IT - https://success.odoo4projects.com/de/tags/it/ + http://localhost:1313/de/tags/it/ Tue, 10 Jun 2025 12:00:00 +0000 - https://success.odoo4projects.com/de/tags/it/ + http://localhost:1313/de/tags/it/ Odoo - https://success.odoo4projects.com/de/tags/odoo/ + http://localhost:1313/de/tags/odoo/ Tue, 10 Jun 2025 12:00:00 +0000 - https://success.odoo4projects.com/de/tags/odoo/ + http://localhost:1313/de/tags/odoo/ Paraguay - https://success.odoo4projects.com/de/tags/paraguay/ + http://localhost:1313/de/tags/paraguay/ Tue, 10 Jun 2025 12:00:00 +0000 - https://success.odoo4projects.com/de/tags/paraguay/ - - - - Rinderfarm - https://success.odoo4projects.com/de/tags/rinderfarm/ - Tue, 10 Jun 2025 12:00:00 +0000 - https://success.odoo4projects.com/de/tags/rinderfarm/ + http://localhost:1313/de/tags/paraguay/ diff --git a/public/de/tags/it/index.html b/public/de/tags/it/index.html index 0368902..84d9820 100644 --- a/public/de/tags/it/index.html +++ b/public/de/tags/it/index.html @@ -1,300 +1,167 @@ - - - - - - IT | - - - - - - - - - - -
-
-
-

🚀 Echte Odoo-Erfolgsgeschichten – Sehen Sie, wo Odoo glänzt

-

Entdecken Sie, wie Unternehmen branchenübergreifend mit Odoo ihre Transformation vorantreiben – von der Bestandsoptimierung über die Vertriebsautomatisierung bis hin zur Skalierung von Abläufen. Dies sind Beispiele aus der Praxis, die zeigen, wie Odoo überzeugt. 💡 Nutzen Sie Odoo? Teilen Sie Ihre Erfolgsgeschichte und werden Sie vorgestellt – mit einem Dofollow-Backlink zu Ihrer Website als Dankeschön. Das bedeutet kostenlose Präsenz und hervorragende SEO.

-
-
-
- -

- - Kategorien -

- -
- -
- -

- - Schlagworte -

- -
-
-
- - - - - - - - -
- - - - - -
-
- - - - - - - - + + + + + + IT | diese Story-Site + + + + + + + + + + +
+ +
+ +
+
+
+ + +
+ + + + + + + + diff --git a/public/de/tags/it/index.xml b/public/de/tags/it/index.xml index ae622d6..4d4150d 100644 --- a/public/de/tags/it/index.xml +++ b/public/de/tags/it/index.xml @@ -1,18 +1,18 @@ - IT on - https://success.odoo4projects.com/de/tags/it/ - Recent content in IT on + IT on diese Story-Site + http://localhost:1313/de/tags/it/ + Recent content in IT on diese Story-Site Hugo de Tue, 10 Jun 2025 12:00:00 +0000 - + Aufbau eines Cloud-ERP-Dienstes mit Odoo Community - https://success.odoo4projects.com/de/stories/odoo4projects/ + http://localhost:1313/de/stories/odoo4projects/ Tue, 10 Jun 2025 12:00:00 +0000 - https://success.odoo4projects.com/de/stories/odoo4projects/ + http://localhost:1313/de/stories/odoo4projects/ <p><img src="https://odoo4projects.com/web/image/2890-1713a804/Header_low.png" alt="ODOO4projects"></p> <p>Bei <a href="https://ODOO4projects.com">ODOO4projects</a> sind wir darauf spezialisiert, Unternehmen beim Erfolg mit Open-Source-ERP zu unterstützen. Aber wir betreiben auch unsere eigenen Dienste auf derselben Plattform - und deshalb haben wir uns dafür entschieden, unsere <strong>gesamte Cloud-ERP-Hosting-Infrastruktur mit Odoo Community V17</strong> zu bauen.</p> <h2 id="warum-odoo-community">Warum Odoo Community?</h2> <p>Wir wollten testen, wie weit Odoo Community gehen kann - und es hat uns nicht enttäuscht.</p> <ul> <li>100% Open-Source, keine Lizenzgebühren</li> <li>Hochgradig an spezifische Einsatzfälle anpassbar</li> <li>Starkes internationales Community-Support</li> <li>Klarer Upgrade-Pfad und modulares Design</li> </ul> <p>Unser Ziel war nicht nur, Odoo zu nutzen, sondern <strong>die Grenzen dessen zu erweitern, was mit der Community Edition möglich ist</strong>.</p> diff --git a/public/de/tags/odoo/index.html b/public/de/tags/odoo/index.html index 7f45623..7e9381b 100644 --- a/public/de/tags/odoo/index.html +++ b/public/de/tags/odoo/index.html @@ -1,300 +1,234 @@ - - - - - - Odoo | - - - - - - - - - - -
-
-
-

🚀 Echte Odoo-Erfolgsgeschichten – Sehen Sie, wo Odoo glänzt

-

Entdecken Sie, wie Unternehmen branchenübergreifend mit Odoo ihre Transformation vorantreiben – von der Bestandsoptimierung über die Vertriebsautomatisierung bis hin zur Skalierung von Abläufen. Dies sind Beispiele aus der Praxis, die zeigen, wie Odoo überzeugt. 💡 Nutzen Sie Odoo? Teilen Sie Ihre Erfolgsgeschichte und werden Sie vorgestellt – mit einem Dofollow-Backlink zu Ihrer Website als Dankeschön. Das bedeutet kostenlose Präsenz und hervorragende SEO.

-
-
-
- -

- - Kategorien -

- -
- -
- -

- - Schlagworte -

- -
-
-
- - - - - - - - -
- - - - - -
-
- - - - - - - - + + + + + + Odoo | diese Story-Site + + + + + + + + + + +
+ +
+ +
+
+
+ + +
+ + + + + + + + diff --git a/public/de/tags/odoo/index.xml b/public/de/tags/odoo/index.xml index 9c9be76..202db88 100644 --- a/public/de/tags/odoo/index.xml +++ b/public/de/tags/odoo/index.xml @@ -1,26 +1,26 @@ - Odoo on - https://success.odoo4projects.com/de/tags/odoo/ - Recent content in Odoo on + Odoo on diese Story-Site + http://localhost:1313/de/tags/odoo/ + Recent content in Odoo on diese Story-Site Hugo de Tue, 10 Jun 2025 12:00:00 +0000 - + Aufbau eines Cloud-ERP-Dienstes mit Odoo Community - https://success.odoo4projects.com/de/stories/odoo4projects/ + http://localhost:1313/de/stories/odoo4projects/ Tue, 10 Jun 2025 12:00:00 +0000 - https://success.odoo4projects.com/de/stories/odoo4projects/ + http://localhost:1313/de/stories/odoo4projects/ <p><img src="https://odoo4projects.com/web/image/2890-1713a804/Header_low.png" alt="ODOO4projects"></p> <p>Bei <a href="https://ODOO4projects.com">ODOO4projects</a> sind wir darauf spezialisiert, Unternehmen beim Erfolg mit Open-Source-ERP zu unterstützen. Aber wir betreiben auch unsere eigenen Dienste auf derselben Plattform - und deshalb haben wir uns dafür entschieden, unsere <strong>gesamte Cloud-ERP-Hosting-Infrastruktur mit Odoo Community V17</strong> zu bauen.</p> <h2 id="warum-odoo-community">Warum Odoo Community?</h2> <p>Wir wollten testen, wie weit Odoo Community gehen kann - und es hat uns nicht enttäuscht.</p> <ul> <li>100% Open-Source, keine Lizenzgebühren</li> <li>Hochgradig an spezifische Einsatzfälle anpassbar</li> <li>Starkes internationales Community-Support</li> <li>Klarer Upgrade-Pfad und modulares Design</li> </ul> <p>Unser Ziel war nicht nur, Odoo zu nutzen, sondern <strong>die Grenzen dessen zu erweitern, was mit der Community Edition möglich ist</strong>.</p> - Umgestaltung unserer Rinderfarm mit Odoo Community - https://success.odoo4projects.com/de/stories/agape/ + Transforming Our Cattle Farm with Odoo Community + http://localhost:1313/de/stories/agape/ Tue, 10 Jun 2025 12:00:00 +0000 - https://success.odoo4projects.com/de/stories/agape/ - <p><img src="https://estancia-agape.com/web/image/1078-81bed64d/agapei-1.svg" alt="Estancia Agapé"></p> <p>Eine Rinderfarm in Paraguay zu betreiben, stellt uns vor einzigartige Herausforderungen - besonders wenn man Abläufe in <strong>dreien unterschiedlichen Standorten</strong> verwaltet. Bei <a href="https://estancia-agape.com">Estancia Agapé</a> war unser Ziel immer, in der Tradition verwurzelt zu bleiben und gleichzeitig Innovationen zu nutzen, um nachhaltig und effizient zu wachsen. Deshalb haben wir uns für <strong>Odoo Community</strong> entschieden, und die Ergebnisse haben unsere Erwartungen übertroffen.</p> <h2 id="warum-odoo">Warum Odoo?</h2> <p>Wir haben verschiedene Systeme geprüft, bevor wir uns für Odoo Community entschieden haben. Die Gründe waren klar:</p> + http://localhost:1313/de/stories/agape/ + <p><img src="https://estancia-agape.com/web/image/1078-81bed64d/agapei-1.svg" alt="Estancia Agapé"></p> <p>Running a cattle farm in Paraguay presents unique challenges — especially when managing operations across <strong>three distinct locations</strong>. At <a href="https://estancia-agape.com">Estancia Agapé</a>, our goal has always been to stay grounded in tradition while embracing innovation to grow sustainably and efficiently. This is why we turned to <strong>Odoo Community</strong>, and the results have exceeded our expectations.</p> <h2 id="why-odoo">Why Odoo?</h2> <p>We evaluated various systems before choosing Odoo Community. The reasons were clear:</p> <ul> <li>Open-source and customizable</li> <li>Robust set of features for inventory, accounting, and logistics</li> <li>Large and active global community</li> <li>No licensing fees</li> </ul> <p>But what truly made the difference was the ability to <strong>host the service online</strong>.</p> diff --git a/public/de/tags/paraguay/index.html b/public/de/tags/paraguay/index.html index ec09871..a82574d 100644 --- a/public/de/tags/paraguay/index.html +++ b/public/de/tags/paraguay/index.html @@ -1,300 +1,171 @@ - - - - - - Paraguay | - - - - - - - - - - -
-
-
-

🚀 Echte Odoo-Erfolgsgeschichten – Sehen Sie, wo Odoo glänzt

-

Entdecken Sie, wie Unternehmen branchenübergreifend mit Odoo ihre Transformation vorantreiben – von der Bestandsoptimierung über die Vertriebsautomatisierung bis hin zur Skalierung von Abläufen. Dies sind Beispiele aus der Praxis, die zeigen, wie Odoo überzeugt. 💡 Nutzen Sie Odoo? Teilen Sie Ihre Erfolgsgeschichte und werden Sie vorgestellt – mit einem Dofollow-Backlink zu Ihrer Website als Dankeschön. Das bedeutet kostenlose Präsenz und hervorragende SEO.

-
-
-
- -

- - Kategorien -

- -
- -
- -

- - Schlagworte -

- -
-
-
- - - - - - - - -
- - - - - -
-
- - - - - - - - + + + + + + Paraguay | diese Story-Site + + + + + + + + + + +
+ +
+ +
+
+
+ + +
+ + + + + + + + diff --git a/public/de/tags/paraguay/index.xml b/public/de/tags/paraguay/index.xml index 77964af..97994b4 100644 --- a/public/de/tags/paraguay/index.xml +++ b/public/de/tags/paraguay/index.xml @@ -1,19 +1,19 @@ - Paraguay on - https://success.odoo4projects.com/de/tags/paraguay/ - Recent content in Paraguay on + Paraguay on diese Story-Site + http://localhost:1313/de/tags/paraguay/ + Recent content in Paraguay on diese Story-Site Hugo de Tue, 10 Jun 2025 12:00:00 +0000 - + - Umgestaltung unserer Rinderfarm mit Odoo Community - https://success.odoo4projects.com/de/stories/agape/ + Transforming Our Cattle Farm with Odoo Community + http://localhost:1313/de/stories/agape/ Tue, 10 Jun 2025 12:00:00 +0000 - https://success.odoo4projects.com/de/stories/agape/ - <p><img src="https://estancia-agape.com/web/image/1078-81bed64d/agapei-1.svg" alt="Estancia Agapé"></p> <p>Eine Rinderfarm in Paraguay zu betreiben, stellt uns vor einzigartige Herausforderungen - besonders wenn man Abläufe in <strong>dreien unterschiedlichen Standorten</strong> verwaltet. Bei <a href="https://estancia-agape.com">Estancia Agapé</a> war unser Ziel immer, in der Tradition verwurzelt zu bleiben und gleichzeitig Innovationen zu nutzen, um nachhaltig und effizient zu wachsen. Deshalb haben wir uns für <strong>Odoo Community</strong> entschieden, und die Ergebnisse haben unsere Erwartungen übertroffen.</p> <h2 id="warum-odoo">Warum Odoo?</h2> <p>Wir haben verschiedene Systeme geprüft, bevor wir uns für Odoo Community entschieden haben. Die Gründe waren klar:</p> + http://localhost:1313/de/stories/agape/ + <p><img src="https://estancia-agape.com/web/image/1078-81bed64d/agapei-1.svg" alt="Estancia Agapé"></p> <p>Running a cattle farm in Paraguay presents unique challenges — especially when managing operations across <strong>three distinct locations</strong>. At <a href="https://estancia-agape.com">Estancia Agapé</a>, our goal has always been to stay grounded in tradition while embracing innovation to grow sustainably and efficiently. This is why we turned to <strong>Odoo Community</strong>, and the results have exceeded our expectations.</p> <h2 id="why-odoo">Why Odoo?</h2> <p>We evaluated various systems before choosing Odoo Community. The reasons were clear:</p> <ul> <li>Open-source and customizable</li> <li>Robust set of features for inventory, accounting, and logistics</li> <li>Large and active global community</li> <li>No licensing fees</li> </ul> <p>But what truly made the difference was the ability to <strong>host the service online</strong>.</p> diff --git a/public/de/tags/rinderfarm/index.html b/public/de/tags/rinderfarm/index.html index 558a7e3..fded2d0 100644 --- a/public/de/tags/rinderfarm/index.html +++ b/public/de/tags/rinderfarm/index.html @@ -1,6 +1,6 @@ - + Rinderfarm | @@ -150,7 +150,7 @@ Aufbau eines Cloud-ERP-Dienstes mit Odoo Community
- +

Aufbau eines Cloud-ERP-Dienstes mit Odoo Community

@@ -212,7 +212,7 @@ Umgestaltung unserer Rinderfarm mit Odoo Community

- +

Umgestaltung unserer Rinderfarm mit Odoo Community

diff --git a/public/de/tags/rinderfarm/index.xml b/public/de/tags/rinderfarm/index.xml index d3f83b0..21a2331 100644 --- a/public/de/tags/rinderfarm/index.xml +++ b/public/de/tags/rinderfarm/index.xml @@ -2,17 +2,17 @@ Rinderfarm on - https://success.odoo4projects.com/de/tags/rinderfarm/ + http://localhost:1313/de/tags/rinderfarm/ Recent content in Rinderfarm on Hugo de Tue, 10 Jun 2025 12:00:00 +0000 - + Umgestaltung unserer Rinderfarm mit Odoo Community - https://success.odoo4projects.com/de/stories/agape/ + http://localhost:1313/de/stories/agape/ Tue, 10 Jun 2025 12:00:00 +0000 - https://success.odoo4projects.com/de/stories/agape/ + http://localhost:1313/de/stories/agape/ <p><img src="https://estancia-agape.com/web/image/1078-81bed64d/agapei-1.svg" alt="Estancia Agapé"></p> <p>Eine Rinderfarm in Paraguay zu betreiben, stellt uns vor einzigartige Herausforderungen - besonders wenn man Abläufe in <strong>dreien unterschiedlichen Standorten</strong> verwaltet. Bei <a href="https://estancia-agape.com">Estancia Agapé</a> war unser Ziel immer, in der Tradition verwurzelt zu bleiben und gleichzeitig Innovationen zu nutzen, um nachhaltig und effizient zu wachsen. Deshalb haben wir uns für <strong>Odoo Community</strong> entschieden, und die Ergebnisse haben unsere Erwartungen übertroffen.</p> <h2 id="warum-odoo">Warum Odoo?</h2> <p>Wir haben verschiedene Systeme geprüft, bevor wir uns für Odoo Community entschieden haben. Die Gründe waren klar:</p> diff --git a/public/de/tags/southeast-asia/index.html b/public/de/tags/southeast-asia/index.html new file mode 100644 index 0000000..8935d40 --- /dev/null +++ b/public/de/tags/southeast-asia/index.html @@ -0,0 +1,142 @@ + + + + + + Southeast Asia | diese Story-Site + + + + + + + + +

+ +
+ +
+ +
+
+
+ + +
+ + + + + + + + diff --git a/public/de/tags/southeast-asia/index.xml b/public/de/tags/southeast-asia/index.xml new file mode 100644 index 0000000..81735e4 --- /dev/null +++ b/public/de/tags/southeast-asia/index.xml @@ -0,0 +1,19 @@ + + + + Southeast Asia on diese Story-Site + http://localhost:1313/de/tags/southeast-asia/ + Recent content in Southeast Asia on diese Story-Site + Hugo + de + Tue, 15 Apr 2025 00:00:00 +0000 + + + Southeast Asia on a Shoestring: A 3-Week Backpacking Itinerary + http://localhost:1313/de/stories/post1/ + Tue, 15 Apr 2025 00:00:00 +0000 + http://localhost:1313/de/stories/post1/ + <h2 id="southeast-asia-on-a-shoestring-your-epic-3-week-backpacking-adventure">Southeast Asia on a Shoestring: Your Epic 3-Week Backpacking Adventure</h2> <p>Hey fellow wanderers! If you&rsquo;re dreaming of exotic temples, bustling markets, and breathtaking beaches without emptying your savings account, then Southeast Asia is calling your name. Trust me, this corner of the world is a backpacker&rsquo;s paradise, offering incredible experiences at prices that will make your wallet sing.</p> <p>After countless hostel stays, delicious street food meals, and unforgettable adventures, I&rsquo;ve crafted the perfect 3-week itinerary to give you a taste of the magic in Thailand, Vietnam, and Cambodia. Buckle up, because this is going to be an epic ride!</p> + + + diff --git a/public/de/tags/thailand/index.html b/public/de/tags/thailand/index.html new file mode 100644 index 0000000..a3ef5c5 --- /dev/null +++ b/public/de/tags/thailand/index.html @@ -0,0 +1,142 @@ + + + + + + Thailand | diese Story-Site + + + + + + + + + + +
+ +
+ +
+
+
+ + +
+ + + + + + + + diff --git a/public/de/tags/thailand/index.xml b/public/de/tags/thailand/index.xml new file mode 100644 index 0000000..4e31617 --- /dev/null +++ b/public/de/tags/thailand/index.xml @@ -0,0 +1,19 @@ + + + + Thailand on diese Story-Site + http://localhost:1313/de/tags/thailand/ + Recent content in Thailand on diese Story-Site + Hugo + de + Tue, 15 Apr 2025 00:00:00 +0000 + + + Southeast Asia on a Shoestring: A 3-Week Backpacking Itinerary + http://localhost:1313/de/stories/post1/ + Tue, 15 Apr 2025 00:00:00 +0000 + http://localhost:1313/de/stories/post1/ + <h2 id="southeast-asia-on-a-shoestring-your-epic-3-week-backpacking-adventure">Southeast Asia on a Shoestring: Your Epic 3-Week Backpacking Adventure</h2> <p>Hey fellow wanderers! If you&rsquo;re dreaming of exotic temples, bustling markets, and breathtaking beaches without emptying your savings account, then Southeast Asia is calling your name. Trust me, this corner of the world is a backpacker&rsquo;s paradise, offering incredible experiences at prices that will make your wallet sing.</p> <p>After countless hostel stays, delicious street food meals, and unforgettable adventures, I&rsquo;ve crafted the perfect 3-week itinerary to give you a taste of the magic in Thailand, Vietnam, and Cambodia. Buckle up, because this is going to be an epic ride!</p> + + + diff --git a/public/de/tags/vietnam/index.html b/public/de/tags/vietnam/index.html new file mode 100644 index 0000000..b720ae6 --- /dev/null +++ b/public/de/tags/vietnam/index.html @@ -0,0 +1,142 @@ + + + + + + Vietnam | diese Story-Site + + + + + + + + + + +
+ +
+ +
+
+
+ + +
+ + + + + + + + diff --git a/public/de/tags/vietnam/index.xml b/public/de/tags/vietnam/index.xml new file mode 100644 index 0000000..8b73e58 --- /dev/null +++ b/public/de/tags/vietnam/index.xml @@ -0,0 +1,19 @@ + + + + Vietnam on diese Story-Site + http://localhost:1313/de/tags/vietnam/ + Recent content in Vietnam on diese Story-Site + Hugo + de + Tue, 15 Apr 2025 00:00:00 +0000 + + + Southeast Asia on a Shoestring: A 3-Week Backpacking Itinerary + http://localhost:1313/de/stories/post1/ + Tue, 15 Apr 2025 00:00:00 +0000 + http://localhost:1313/de/stories/post1/ + <h2 id="southeast-asia-on-a-shoestring-your-epic-3-week-backpacking-adventure">Southeast Asia on a Shoestring: Your Epic 3-Week Backpacking Adventure</h2> <p>Hey fellow wanderers! If you&rsquo;re dreaming of exotic temples, bustling markets, and breathtaking beaches without emptying your savings account, then Southeast Asia is calling your name. Trust me, this corner of the world is a backpacker&rsquo;s paradise, offering incredible experiences at prices that will make your wallet sing.</p> <p>After countless hostel stays, delicious street food meals, and unforgettable adventures, I&rsquo;ve crafted the perfect 3-week itinerary to give you a taste of the magic in Thailand, Vietnam, and Cambodia. Buckle up, because this is going to be an epic ride!</p> + + + diff --git a/public/en/authors/index.html b/public/en/authors/index.html new file mode 100644 index 0000000..2b143e8 --- /dev/null +++ b/public/en/authors/index.html @@ -0,0 +1,104 @@ + + + + + + Authors | this story site + + + + + + + + + + +
+ +
+ +
+
+
+ + +
+ + + + + + + + diff --git a/public/en/authors/index.xml b/public/en/authors/index.xml new file mode 100644 index 0000000..32afe0e --- /dev/null +++ b/public/en/authors/index.xml @@ -0,0 +1,11 @@ + + + + Authors on this story site + http://localhost:1313/en/authors/ + Recent content in Authors on this story site + Hugo + en + + + diff --git a/public/en/categories/0-5/index.html b/public/en/categories/0-5/index.html index f6917b9..14042ea 100644 --- a/public/en/categories/0-5/index.html +++ b/public/en/categories/0-5/index.html @@ -1,300 +1,171 @@ - - - - - - 0-5 | - - - - - - - - - - -
-
-
-

🚀 Real Odoo Success Stories — See Where Odoo Shines

-

Discover how companies across industries are transforming with Odoo — from streamlining inventory to automating sales and scaling operations. These are real-world examples of where Odoo kicks ass. 💡 Using Odoo? Share your success story and get featured — with a dofollow backlink to your website as a thank-you. It’s free exposure and great SEO.

-
-
-
- -

- - categories -

- -
- -
- -

- - tags -

- -
-
-
- - - - - - - - -
- - - - - -
-
- - - - - - - - + + + + + + 0-5 | this story site + + + + + + + + + + +
+ +
+ +
+
+
+ + +
+ + + + + + + + diff --git a/public/en/categories/0-5/index.xml b/public/en/categories/0-5/index.xml index c23e70a..3ae7112 100644 --- a/public/en/categories/0-5/index.xml +++ b/public/en/categories/0-5/index.xml @@ -1,18 +1,18 @@ - 0-5 on - https://success.odoo4projects.com/en/categories/0-5/ - Recent content in 0-5 on + 0-5 on this story site + http://localhost:1313/en/categories/0-5/ + Recent content in 0-5 on this story site Hugo en Tue, 10 Jun 2025 12:00:00 +0000 - + Transforming Our Cattle Farm with Odoo Community - https://success.odoo4projects.com/en/stories/agape/ + http://localhost:1313/en/stories/agape/ Tue, 10 Jun 2025 12:00:00 +0000 - https://success.odoo4projects.com/en/stories/agape/ + http://localhost:1313/en/stories/agape/ <p><img src="https://estancia-agape.com/web/image/1078-81bed64d/agapei-1.svg" alt="Estancia Agapé"></p> <p>Running a cattle farm in Paraguay presents unique challenges — especially when managing operations across <strong>three distinct locations</strong>. At <a href="https://estancia-agape.com">Estancia Agapé</a>, our goal has always been to stay grounded in tradition while embracing innovation to grow sustainably and efficiently. This is why we turned to <strong>Odoo Community</strong>, and the results have exceeded our expectations.</p> <h2 id="why-odoo">Why Odoo?</h2> <p>We evaluated various systems before choosing Odoo Community. The reasons were clear:</p> <ul> <li>Open-source and customizable</li> <li>Robust set of features for inventory, accounting, and logistics</li> <li>Large and active global community</li> <li>No licensing fees</li> </ul> <p>But what truly made the difference was the ability to <strong>host the service online</strong>.</p> diff --git a/public/en/categories/5-10/index.html b/public/en/categories/5-10/index.html index b2f296b..dfec578 100644 --- a/public/en/categories/5-10/index.html +++ b/public/en/categories/5-10/index.html @@ -1,300 +1,167 @@ - - - - - - 5-10 | - - - - - - - - - - -
-
-
-

🚀 Real Odoo Success Stories — See Where Odoo Shines

-

Discover how companies across industries are transforming with Odoo — from streamlining inventory to automating sales and scaling operations. These are real-world examples of where Odoo kicks ass. 💡 Using Odoo? Share your success story and get featured — with a dofollow backlink to your website as a thank-you. It’s free exposure and great SEO.

-
-
-
- -

- - categories -

- -
- -
- -

- - tags -

- -
-
-
- - - - - - - - -
- - - - - -
-
- - - - - - - - + + + + + + 5-10 | this story site + + + + + + + + + + +
+ +
+ +
+
+
+ + +
+ + + + + + + + diff --git a/public/en/categories/5-10/index.xml b/public/en/categories/5-10/index.xml index e09698f..684b86a 100644 --- a/public/en/categories/5-10/index.xml +++ b/public/en/categories/5-10/index.xml @@ -1,18 +1,18 @@ - 5-10 on - https://success.odoo4projects.com/en/categories/5-10/ - Recent content in 5-10 on + 5-10 on this story site + http://localhost:1313/en/categories/5-10/ + Recent content in 5-10 on this story site Hugo en Tue, 10 Jun 2025 12:00:00 +0000 - + Building a Cloud ERP Service with Odoo Community - https://success.odoo4projects.com/en/stories/odoo4projects/ + http://localhost:1313/en/stories/odoo4projects/ Tue, 10 Jun 2025 12:00:00 +0000 - https://success.odoo4projects.com/en/stories/odoo4projects/ + http://localhost:1313/en/stories/odoo4projects/ <p><img src="https://odoo4projects.com/web/image/2890-1713a804/Header_low.png" alt="ODOO4projects"></p> <p>At <a href="https://ODOO4projects.com">ODOO4projects</a>, we specialize in helping businesses succeed with open-source ERP. But we also run our own services on the very same platform — and that’s why we chose to build our <strong>entire cloud ERP hosting infrastructure using Odoo Community V17</strong>.</p> <h2 id="why-odoo-community">Why Odoo Community?</h2> <p>We wanted to test how far Odoo Community could go — and it hasn’t let us down.</p> <ul> <li>100% open-source, no license fees</li> <li>Highly customizable for specific use cases</li> <li>Strong international community support</li> <li>Clear upgrade path and modular design</li> </ul> <p>Our objective was not just to use Odoo, but to <strong>push the limits of what’s possible with Community Edition</strong>.</p> diff --git a/public/en/categories/farm/index.html b/public/en/categories/farm/index.html index 56b6794..c664f0e 100644 --- a/public/en/categories/farm/index.html +++ b/public/en/categories/farm/index.html @@ -1,300 +1,171 @@ - - - - - - Farm | - - - - - - - - - - -
-
-
-

🚀 Real Odoo Success Stories — See Where Odoo Shines

-

Discover how companies across industries are transforming with Odoo — from streamlining inventory to automating sales and scaling operations. These are real-world examples of where Odoo kicks ass. 💡 Using Odoo? Share your success story and get featured — with a dofollow backlink to your website as a thank-you. It’s free exposure and great SEO.

-
-
-
- -

- - categories -

- -
- -
- -

- - tags -

- -
-
-
- - - - - - - - -
- - - - - -
-
- - - - - - - - + + + + + + Farm | this story site + + + + + + + + + + +
+ +
+ +
+
+
+ + +
+ + + + + + + + diff --git a/public/en/categories/farm/index.xml b/public/en/categories/farm/index.xml index 38e3517..a891b01 100644 --- a/public/en/categories/farm/index.xml +++ b/public/en/categories/farm/index.xml @@ -1,18 +1,18 @@ - Farm on - https://success.odoo4projects.com/en/categories/farm/ - Recent content in Farm on + Farm on this story site + http://localhost:1313/en/categories/farm/ + Recent content in Farm on this story site Hugo en Tue, 10 Jun 2025 12:00:00 +0000 - + Transforming Our Cattle Farm with Odoo Community - https://success.odoo4projects.com/en/stories/agape/ + http://localhost:1313/en/stories/agape/ Tue, 10 Jun 2025 12:00:00 +0000 - https://success.odoo4projects.com/en/stories/agape/ + http://localhost:1313/en/stories/agape/ <p><img src="https://estancia-agape.com/web/image/1078-81bed64d/agapei-1.svg" alt="Estancia Agapé"></p> <p>Running a cattle farm in Paraguay presents unique challenges — especially when managing operations across <strong>three distinct locations</strong>. At <a href="https://estancia-agape.com">Estancia Agapé</a>, our goal has always been to stay grounded in tradition while embracing innovation to grow sustainably and efficiently. This is why we turned to <strong>Odoo Community</strong>, and the results have exceeded our expectations.</p> <h2 id="why-odoo">Why Odoo?</h2> <p>We evaluated various systems before choosing Odoo Community. The reasons were clear:</p> <ul> <li>Open-source and customizable</li> <li>Robust set of features for inventory, accounting, and logistics</li> <li>Large and active global community</li> <li>No licensing fees</li> </ul> <p>But what truly made the difference was the ability to <strong>host the service online</strong>.</p> diff --git a/public/en/categories/index.html b/public/en/categories/index.html index 2aa098d..45b792c 100644 --- a/public/en/categories/index.html +++ b/public/en/categories/index.html @@ -1,300 +1,260 @@ - - - - - - Categories | - - - - - - - - - - -
-
-
-

🚀 Real Odoo Success Stories — See Where Odoo Shines

-

Discover how companies across industries are transforming with Odoo — from streamlining inventory to automating sales and scaling operations. These are real-world examples of where Odoo kicks ass. 💡 Using Odoo? Share your success story and get featured — with a dofollow backlink to your website as a thank-you. It’s free exposure and great SEO.

-
-
-
- -

- - categories -

- -
- -
- -

- - tags -

- -
-
-
- - - - - - - - -
- - - - - -
-
- - - - - - - - + + + + + + Categories | this story site + + + + + + + + + + +
+ +
+
+ 0-5 +
+ +

0-5

+
+

+ +
+ +
+ +
+ +
+ + +
+ + +
+ + +
+
+ +
+ + +
+
+
+ 5-10 +
+ +

5-10

+
+

+ +
+ +
+ +
+ +
+ + +
+ + +
+ + +
+
+ +
+ + +
+
+
+ Farm +
+ +

Farm

+
+

+ +
+ +
+ +
+ +
+ + +
+ + +
+ + +
+
+ +
+ + +
+
+
+ IT +
+ +

IT

+
+

+ +
+ +
+ +
+ +
+ + +
+ + +
+ + +
+
+ +
+ + +
+
+
+
+
+
+ + +
+ + + + + + + + diff --git a/public/en/categories/index.xml b/public/en/categories/index.xml index 8a61376..0b2cf38 100644 --- a/public/en/categories/index.xml +++ b/public/en/categories/index.xml @@ -1,39 +1,39 @@ - Categories on - https://success.odoo4projects.com/en/categories/ - Recent content in Categories on + Categories on this story site + http://localhost:1313/en/categories/ + Recent content in Categories on this story site Hugo en Tue, 10 Jun 2025 12:00:00 +0000 - + 0-5 - https://success.odoo4projects.com/en/categories/0-5/ + http://localhost:1313/en/categories/0-5/ Tue, 10 Jun 2025 12:00:00 +0000 - https://success.odoo4projects.com/en/categories/0-5/ + http://localhost:1313/en/categories/0-5/ 5-10 - https://success.odoo4projects.com/en/categories/5-10/ + http://localhost:1313/en/categories/5-10/ Tue, 10 Jun 2025 12:00:00 +0000 - https://success.odoo4projects.com/en/categories/5-10/ + http://localhost:1313/en/categories/5-10/ Farm - https://success.odoo4projects.com/en/categories/farm/ + http://localhost:1313/en/categories/farm/ Tue, 10 Jun 2025 12:00:00 +0000 - https://success.odoo4projects.com/en/categories/farm/ + http://localhost:1313/en/categories/farm/ IT - https://success.odoo4projects.com/en/categories/it/ + http://localhost:1313/en/categories/it/ Tue, 10 Jun 2025 12:00:00 +0000 - https://success.odoo4projects.com/en/categories/it/ + http://localhost:1313/en/categories/it/ diff --git a/public/en/categories/it/index.html b/public/en/categories/it/index.html index ada0a86..0bd5d00 100644 --- a/public/en/categories/it/index.html +++ b/public/en/categories/it/index.html @@ -1,300 +1,167 @@ - - - - - - IT | - - - - - - - - - - -
-
-
-

🚀 Real Odoo Success Stories — See Where Odoo Shines

-

Discover how companies across industries are transforming with Odoo — from streamlining inventory to automating sales and scaling operations. These are real-world examples of where Odoo kicks ass. 💡 Using Odoo? Share your success story and get featured — with a dofollow backlink to your website as a thank-you. It’s free exposure and great SEO.

-
-
-
- -

- - categories -

- -
- -
- -

- - tags -

- -
-
-
- - - - - - - - -
- - - - - -
-
- - - - - - - - + + + + + + IT | this story site + + + + + + + + + + +
+ +
+ +
+
+
+ + +
+ + + + + + + + diff --git a/public/en/categories/it/index.xml b/public/en/categories/it/index.xml index e7a0d38..3aebea2 100644 --- a/public/en/categories/it/index.xml +++ b/public/en/categories/it/index.xml @@ -1,18 +1,18 @@ - IT on - https://success.odoo4projects.com/en/categories/it/ - Recent content in IT on + IT on this story site + http://localhost:1313/en/categories/it/ + Recent content in IT on this story site Hugo en Tue, 10 Jun 2025 12:00:00 +0000 - + Building a Cloud ERP Service with Odoo Community - https://success.odoo4projects.com/en/stories/odoo4projects/ + http://localhost:1313/en/stories/odoo4projects/ Tue, 10 Jun 2025 12:00:00 +0000 - https://success.odoo4projects.com/en/stories/odoo4projects/ + http://localhost:1313/en/stories/odoo4projects/ <p><img src="https://odoo4projects.com/web/image/2890-1713a804/Header_low.png" alt="ODOO4projects"></p> <p>At <a href="https://ODOO4projects.com">ODOO4projects</a>, we specialize in helping businesses succeed with open-source ERP. But we also run our own services on the very same platform — and that’s why we chose to build our <strong>entire cloud ERP hosting infrastructure using Odoo Community V17</strong>.</p> <h2 id="why-odoo-community">Why Odoo Community?</h2> <p>We wanted to test how far Odoo Community could go — and it hasn’t let us down.</p> <ul> <li>100% open-source, no license fees</li> <li>Highly customizable for specific use cases</li> <li>Strong international community support</li> <li>Clear upgrade path and modular design</li> </ul> <p>Our objective was not just to use Odoo, but to <strong>push the limits of what’s possible with Community Edition</strong>.</p> diff --git a/public/en/categories/travel/index.html b/public/en/categories/travel/index.html new file mode 100644 index 0000000..fd662fb --- /dev/null +++ b/public/en/categories/travel/index.html @@ -0,0 +1,343 @@ + + + + + + Travel | this story site + + + + + + + + + + +
+ +
+ +
+
+
+ + +
+ + + + + + + + diff --git a/public/en/categories/travel/index.xml b/public/en/categories/travel/index.xml new file mode 100644 index 0000000..8ffc7a1 --- /dev/null +++ b/public/en/categories/travel/index.xml @@ -0,0 +1,40 @@ + + + + Travel on this story site + http://localhost:1313/en/categories/travel/ + Recent content in Travel on this story site + Hugo + en + Tue, 06 May 2025 00:00:00 +0000 + + + Road Trippin' with the Tribe: An Epic Family Adventure Across the USA + http://localhost:1313/en/stories/post4/ + Tue, 06 May 2025 00:00:00 +0000 + http://localhost:1313/en/stories/post4/ + <h2 id="road-trippin-with-the-tribe-conquering-the-usa-with-my-family">Road Trippin&rsquo; with the Tribe: Conquering the USA with My Family</h2> <p>&ldquo;Are we there yet?&rdquo; Ah, the classic soundtrack of a family road trip. While the journey might have its moments, there&rsquo;s nothing quite like hitting the open road with your loved ones and discovering the diverse landscapes and quirky charm of the USA.</p> <p>This past summer, we packed up the minivan (yes, the minivan!) and embarked on an epic cross-country adventure, from the bustling cities of the East Coast to the majestic national parks of the West. It was a whirlwind of memories, laughter (and a few meltdowns, let&rsquo;s be honest), and experiences that we&rsquo;ll cherish forever.</p> + + + Empowering Journeys: My Solo Female Travel Adventures in Europe + http://localhost:1313/en/stories/post3/ + Tue, 29 Apr 2025 00:00:00 +0000 + http://localhost:1313/en/stories/post3/ + <h2 id="empowering-journeys-why-solo-female-travel-in-europe-changed-my-life">Empowering Journeys: Why Solo Female Travel in Europe Changed My Life</h2> <p>There&rsquo;s something incredibly liberating about traveling the world on your own terms. As a woman, the idea of solo travel can sometimes feel daunting, filled with questions and maybe even a little fear. But let me tell you, stepping outside your comfort zone and exploring Europe solo was one of the most empowering experiences of my life.</p> <p>I&rsquo;ve wandered through the romantic streets of Paris, explored the ancient ruins of Rome, and marveled at the stunning architecture of Barcelona – all on my own. And while there were definitely moments of navigating unfamiliar situations, the overwhelming feeling was one of freedom, growth, and self-discovery.</p> + + + Indulge in Paradise: A Luxurious Escape to the Maldives + http://localhost:1313/en/stories/post2/ + Tue, 22 Apr 2025 00:00:00 +0000 + http://localhost:1313/en/stories/post2/ + <h2 id="indulge-in-paradise-my-unforgettable-luxurious-escape-to-the-maldives">Indulge in Paradise: My Unforgettable Luxurious Escape to the Maldives</h2> <p>The word &ldquo;paradise&rdquo; gets thrown around a lot, but trust me, until you&rsquo;ve set foot on the powdery white sands of the Maldives, you haven&rsquo;t truly experienced it. For years, the images of overwater bungalows perched above impossibly turquoise waters have danced in my head, and finally, I had the chance to live that dream.</p> <p>This wasn&rsquo;t just a vacation; it was an immersion in pure luxury, a symphony of breathtaking scenery, impeccable service, and moments of utter tranquility. Let me take you on a journey through my unforgettable escape to this island nation.</p> + + + Southeast Asia on a Shoestring: A 3-Week Backpacking Itinerary + http://localhost:1313/en/stories/post1/ + Tue, 15 Apr 2025 00:00:00 +0000 + http://localhost:1313/en/stories/post1/ + <h2 id="southeast-asia-on-a-shoestring-your-epic-3-week-backpacking-adventure">Southeast Asia on a Shoestring: Your Epic 3-Week Backpacking Adventure</h2> <p>Hey fellow wanderers! If you&rsquo;re dreaming of exotic temples, bustling markets, and breathtaking beaches without emptying your savings account, then Southeast Asia is calling your name. Trust me, this corner of the world is a backpacker&rsquo;s paradise, offering incredible experiences at prices that will make your wallet sing.</p> <p>After countless hostel stays, delicious street food meals, and unforgettable adventures, I&rsquo;ve crafted the perfect 3-week itinerary to give you a taste of the magic in Thailand, Vietnam, and Cambodia. Buckle up, because this is going to be an epic ride!</p> + + + diff --git a/public/en/index.html b/public/en/index.html index bbb7406..3b9521c 100644 --- a/public/en/index.html +++ b/public/en/index.html @@ -1,301 +1,317 @@ - - + + - - - - ODOO Community Success Stories | - - - - - - - - - - -
-
-
-

🚀 Real Odoo Success Stories — See Where Odoo Shines

-

Discover how companies across industries are transforming with Odoo — from streamlining inventory to automating sales and scaling operations. These are real-world examples of where Odoo kicks ass. 💡 Using Odoo? Share your success story and get featured — with a dofollow backlink to your website as a thank-you. It’s free exposure and great SEO.

-
-
-
- -

- - categories -

- -
- -
- -

- - tags -

- -
-
-
- - - - - - - - -
- - - - - -
-
- - - - - - - - + + + + Home | + + + + + + + + + + +
+
+
+

🚀 Real Odoo Success Stories — See Where Odoo Shines

+

Discover how companies across industries are transforming with Odoo — from streamlining inventory to automating sales and scaling operations. These are real-world examples of where Odoo kicks ass. 💡 Using Odoo? Share your success story and get featured — with a dofollow backlink to your website as a thank-you. It’s free exposure and great SEO.

+
+
+
+ +

+ + categories +

+ +
+ +
+ +

+ + tags +

+ +
+
+
+ + + + + + + + +
+ + + +
+
+
+ + +
+ + + + + + + + diff --git a/public/en/index.xml b/public/en/index.xml index c441dfe..fd59856 100644 --- a/public/en/index.xml +++ b/public/en/index.xml @@ -1,25 +1,25 @@ - - https://success.odoo4projects.com/en/ - Recent content on + this story site + http://localhost:1313/en/ + Recent content on this story site Hugo en Tue, 10 Jun 2025 12:00:00 +0000 - + Building a Cloud ERP Service with Odoo Community - https://success.odoo4projects.com/en/stories/odoo4projects/ + http://localhost:1313/en/stories/odoo4projects/ Tue, 10 Jun 2025 12:00:00 +0000 - https://success.odoo4projects.com/en/stories/odoo4projects/ + http://localhost:1313/en/stories/odoo4projects/ <p><img src="https://odoo4projects.com/web/image/2890-1713a804/Header_low.png" alt="ODOO4projects"></p> <p>At <a href="https://ODOO4projects.com">ODOO4projects</a>, we specialize in helping businesses succeed with open-source ERP. But we also run our own services on the very same platform — and that’s why we chose to build our <strong>entire cloud ERP hosting infrastructure using Odoo Community V17</strong>.</p> <h2 id="why-odoo-community">Why Odoo Community?</h2> <p>We wanted to test how far Odoo Community could go — and it hasn’t let us down.</p> <ul> <li>100% open-source, no license fees</li> <li>Highly customizable for specific use cases</li> <li>Strong international community support</li> <li>Clear upgrade path and modular design</li> </ul> <p>Our objective was not just to use Odoo, but to <strong>push the limits of what’s possible with Community Edition</strong>.</p> Transforming Our Cattle Farm with Odoo Community - https://success.odoo4projects.com/en/stories/agape/ + http://localhost:1313/en/stories/agape/ Tue, 10 Jun 2025 12:00:00 +0000 - https://success.odoo4projects.com/en/stories/agape/ + http://localhost:1313/en/stories/agape/ <p><img src="https://estancia-agape.com/web/image/1078-81bed64d/agapei-1.svg" alt="Estancia Agapé"></p> <p>Running a cattle farm in Paraguay presents unique challenges — especially when managing operations across <strong>three distinct locations</strong>. At <a href="https://estancia-agape.com">Estancia Agapé</a>, our goal has always been to stay grounded in tradition while embracing innovation to grow sustainably and efficiently. This is why we turned to <strong>Odoo Community</strong>, and the results have exceeded our expectations.</p> <h2 id="why-odoo">Why Odoo?</h2> <p>We evaluated various systems before choosing Odoo Community. The reasons were clear:</p> <ul> <li>Open-source and customizable</li> <li>Robust set of features for inventory, accounting, and logistics</li> <li>Large and active global community</li> <li>No licensing fees</li> </ul> <p>But what truly made the difference was the ability to <strong>host the service online</strong>.</p> diff --git a/public/en/sitemap.xml b/public/en/sitemap.xml index fa50215..1e3a2cb 100644 --- a/public/en/sitemap.xml +++ b/public/en/sitemap.xml @@ -2,272 +2,327 @@ - https://success.odoo4projects.com/en/ - 2025-06-10T12:00:00+00:00 + http://localhost:1313/en/stories/ + 2025-06-15T22:51:05+05:30 - https://success.odoo4projects.com/en/categories/0-5/ - 2025-06-10T12:00:00+00:00 + http://localhost:1313/en/ + 2025-06-15T22:21:19+05:30 - https://success.odoo4projects.com/en/categories/5-10/ + http://localhost:1313/en/categories/0-5/ 2025-06-10T12:00:00+00:00 - https://success.odoo4projects.com/en/stories/odoo4projects/ + http://localhost:1313/en/categories/5-10/ 2025-06-10T12:00:00+00:00 - https://success.odoo4projects.com/en/categories/ + http://localhost:1313/en/stories/odoo4projects/ 2025-06-10T12:00:00+00:00 - https://success.odoo4projects.com/en/tags/cattle-farm/ - 2025-06-10T12:00:00+00:00 - - https://success.odoo4projects.com/en/tags/community/ + http://localhost:1313/en/categories/ 2025-06-10T12:00:00+00:00 - https://success.odoo4projects.com/en/tags/erp/ + http://localhost:1313/en/tags/cattle-farm/ 2025-06-10T12:00:00+00:00 - https://success.odoo4projects.com/en/categories/farm/ + http://localhost:1313/en/tags/community/ 2025-06-10T12:00:00+00:00 - - - https://success.odoo4projects.com/en/categories/it/ - 2025-06-10T12:00:00+00:00 - - https://success.odoo4projects.com/en/tags/it/ + http://localhost:1313/en/tags/digital-transformation/ 2025-06-10T12:00:00+00:00 - https://success.odoo4projects.com/en/tags/odoo/ + http://localhost:1313/en/tags/erp/ 2025-06-10T12:00:00+00:00 - https://success.odoo4projects.com/en/tags/paraguay/ + http://localhost:1313/en/categories/farm/ 2025-06-10T12:00:00+00:00 - https://success.odoo4projects.com/en/stories/ + http://localhost:1313/en/categories/it/ 2025-06-10T12:00:00+00:00 - https://success.odoo4projects.com/en/tags/ + http://localhost:1313/en/tags/it/ 2025-06-10T12:00:00+00:00 - https://success.odoo4projects.com/en/stories/agape/ + http://localhost:1313/en/tags/odoo/ 2025-06-10T12:00:00+00:00 + + http://localhost:1313/en/tags/paraguay/ + 2025-06-10T12:00:00+00:00 + + + + + http://localhost:1313/en/tags/ + 2025-06-10T12:00:00+00:00 + + + + + http://localhost:1313/en/stories/agape/ + 2025-06-10T12:00:00+00:00 + + + + + http://localhost:1313/en/authors/ + + + diff --git a/public/en/stories/agape/index.html b/public/en/stories/agape/index.html index 7dc3625..6c5b804 100644 --- a/public/en/stories/agape/index.html +++ b/public/en/stories/agape/index.html @@ -1,95 +1,136 @@ - - - - - - Transforming Our Cattle Farm with Odoo Community | - - - - - - - - - - -
single page
- - - - - - - - + + + + + + Transforming Our Cattle Farm with Odoo Community | this story site + + + + + + + + + + +
+

Estancia Agapé

+

Running a cattle farm in Paraguay presents unique challenges — especially when managing operations across three distinct locations. At Estancia Agapé, our goal has always been to stay grounded in tradition while embracing innovation to grow sustainably and efficiently. This is why we turned to Odoo Community, and the results have exceeded our expectations.

+

Why Odoo?

+

We evaluated various systems before choosing Odoo Community. The reasons were clear:

+
    +
  • Open-source and customizable
  • +
  • Robust set of features for inventory, accounting, and logistics
  • +
  • Large and active global community
  • +
  • No licensing fees
  • +
+

But what truly made the difference was the ability to host the service online.

+

Online Hosting: The Game-Changer

+

With three remote farm locations, we needed a centralized system that could be accessed by our teams from anywhere. Hosting Odoo online gave us:

+
    +
  • Real-time synchronization between sites
  • +
  • Simplified workflows for staff in the field and in the office
  • +
  • Remote oversight of stock, sales, and expenses
  • +
  • Reduced IT burden thanks to external hosting partners
  • +
+

We now manage cattle inventory, pasture usage, vet schedules, and financial records in a single system, accessible securely from any device.

+

The Results

+

Since implementing Odoo Community:

+
    +
  • Manual paperwork has dropped by over 80%
  • +
  • Daily operational reports are instantly available to management
  • +
  • Staff collaboration has improved across all sites
  • +
  • Decision-making is faster and data-driven
  • +
+

What used to take days now takes minutes.

+

Looking Ahead

+

We are continuing to expand our use of Odoo Community by integrating additional modules and exploring mobile app features for field use.

+

For other agricultural businesses in Paraguay or Latin America, we highly recommend considering open-source ERP systems like Odoo. With the right setup and a cloud-based approach, even the most traditional industries can benefit from modern tools.

+

Visit us at estancia-agape.com to learn more about our journey.

+
+

Interested in how Odoo can work for your farm or agribusiness? Contact us — we’re happy to share insights.

+
+
+
+ + +
+ + + + + + + + diff --git a/public/en/stories/index.html b/public/en/stories/index.html index 654688e..a331198 100644 --- a/public/en/stories/index.html +++ b/public/en/stories/index.html @@ -1,300 +1,234 @@ - - - - - - Stories | - - - - - - - - - - -
-
-
-

🚀 Real Odoo Success Stories — See Where Odoo Shines

-

Discover how companies across industries are transforming with Odoo — from streamlining inventory to automating sales and scaling operations. These are real-world examples of where Odoo kicks ass. 💡 Using Odoo? Share your success story and get featured — with a dofollow backlink to your website as a thank-you. It’s free exposure and great SEO.

-
-
-
- -

- - categories -

- -
- -
- -

- - tags -

- -
-
-
- - - - - - - - -
- - - - - -
-
- - - - - - - - + + + + + + Stories | this story site + + + + + + + + + + +
+ +
+ +
+
+
+ + +
+ + + + + + + + diff --git a/public/en/stories/index.xml b/public/en/stories/index.xml index b297d31..458e7ac 100644 --- a/public/en/stories/index.xml +++ b/public/en/stories/index.xml @@ -1,25 +1,25 @@ - Stories on - https://success.odoo4projects.com/en/stories/ - Recent content in Stories on + Stories on this story site + http://localhost:1313/en/stories/ + Recent content in Stories on this story site Hugo en Tue, 10 Jun 2025 12:00:00 +0000 - + Building a Cloud ERP Service with Odoo Community - https://success.odoo4projects.com/en/stories/odoo4projects/ + http://localhost:1313/en/stories/odoo4projects/ Tue, 10 Jun 2025 12:00:00 +0000 - https://success.odoo4projects.com/en/stories/odoo4projects/ + http://localhost:1313/en/stories/odoo4projects/ <p><img src="https://odoo4projects.com/web/image/2890-1713a804/Header_low.png" alt="ODOO4projects"></p> <p>At <a href="https://ODOO4projects.com">ODOO4projects</a>, we specialize in helping businesses succeed with open-source ERP. But we also run our own services on the very same platform — and that’s why we chose to build our <strong>entire cloud ERP hosting infrastructure using Odoo Community V17</strong>.</p> <h2 id="why-odoo-community">Why Odoo Community?</h2> <p>We wanted to test how far Odoo Community could go — and it hasn’t let us down.</p> <ul> <li>100% open-source, no license fees</li> <li>Highly customizable for specific use cases</li> <li>Strong international community support</li> <li>Clear upgrade path and modular design</li> </ul> <p>Our objective was not just to use Odoo, but to <strong>push the limits of what’s possible with Community Edition</strong>.</p> Transforming Our Cattle Farm with Odoo Community - https://success.odoo4projects.com/en/stories/agape/ + http://localhost:1313/en/stories/agape/ Tue, 10 Jun 2025 12:00:00 +0000 - https://success.odoo4projects.com/en/stories/agape/ + http://localhost:1313/en/stories/agape/ <p><img src="https://estancia-agape.com/web/image/1078-81bed64d/agapei-1.svg" alt="Estancia Agapé"></p> <p>Running a cattle farm in Paraguay presents unique challenges — especially when managing operations across <strong>three distinct locations</strong>. At <a href="https://estancia-agape.com">Estancia Agapé</a>, our goal has always been to stay grounded in tradition while embracing innovation to grow sustainably and efficiently. This is why we turned to <strong>Odoo Community</strong>, and the results have exceeded our expectations.</p> <h2 id="why-odoo">Why Odoo?</h2> <p>We evaluated various systems before choosing Odoo Community. The reasons were clear:</p> <ul> <li>Open-source and customizable</li> <li>Robust set of features for inventory, accounting, and logistics</li> <li>Large and active global community</li> <li>No licensing fees</li> </ul> <p>But what truly made the difference was the ability to <strong>host the service online</strong>.</p> diff --git a/public/en/stories/odoo4projects/index.html b/public/en/stories/odoo4projects/index.html index 8d75161..e9faf3e 100644 --- a/public/en/stories/odoo4projects/index.html +++ b/public/en/stories/odoo4projects/index.html @@ -1,95 +1,130 @@ - - - - - - Building a Cloud ERP Service with Odoo Community | - - - - - - - - - - -
single page
- - - - - - - - + + + + + + Building a Cloud ERP Service with Odoo Community | this story site + + + + + + + + + + +
+

ODOO4projects

+

At ODOO4projects, we specialize in helping businesses succeed with open-source ERP. But we also run our own services on the very same platform — and that’s why we chose to build our entire cloud ERP hosting infrastructure using Odoo Community V17.

+

Why Odoo Community?

+

We wanted to test how far Odoo Community could go — and it hasn’t let us down.

+
    +
  • 100% open-source, no license fees
  • +
  • Highly customizable for specific use cases
  • +
  • Strong international community support
  • +
  • Clear upgrade path and modular design
  • +
+

Our objective was not just to use Odoo, but to push the limits of what’s possible with Community Edition.

+

Custom Modules: Our Key to Success

+

The turning point in our journey was developing a custom module tailored specifically for our hosting service. Built by our own team, this module now handles:

+
    +
  • Client onboarding and subscription tracking
  • +
  • Hosting management across multiple instances
  • +
  • Automated provisioning and monitoring
  • +
+

By owning this core functionality, we gained full control over our infrastructure — and reduced dependency on external tools.

+

What Didn’t Work?

+

Not every experiment succeeded. We purchased a third-party module for affiliate management and accounting — and it was a complete waste of time and money. Poor documentation, limited support, and compatibility issues made it unusable.

+

That experience taught us the value of developing in-house or vetting thoroughly before integrating third-party solutions.

+

Looking Ahead: Odoo 19 and Beyond

+

As we plan our upgrade to Odoo 19, we’re going with a “nuke and pave” strategy — clearing out legacy modules that no longer serve their purpose. This clean-slate approach will allow us to optimize performance and simplify support.

+

Despite the bumps along the road, Odoo Community continues to meet all of our business needs, from CRM and sales to hosting and internal workflows.

+

Our Message to Others

+

If you’re in IT or SaaS and looking for a flexible, powerful ERP platform — don’t underestimate Odoo Community. With the right team and vision, you can build enterprise-grade services without the overhead of enterprise licenses.

+

Visit us at ODOO4projects.com to learn more about our platform and solutions.

+
+
+
+
+ + +
+ + + + + + + + diff --git a/public/en/stories/post1/index.html b/public/en/stories/post1/index.html new file mode 100644 index 0000000..f71d9e9 --- /dev/null +++ b/public/en/stories/post1/index.html @@ -0,0 +1,102 @@ + + + + + + Southeast Asia on a Shoestring: A 3-Week Backpacking Itinerary | this story site + + + + + + + + + + +
+

Southeast Asia on a Shoestring: Your Epic 3-Week Backpacking Adventure

+

Hey fellow wanderers! If you’re dreaming of exotic temples, bustling markets, and breathtaking beaches without emptying your savings account, then Southeast Asia is calling your name. Trust me, this corner of the world is a backpacker’s paradise, offering incredible experiences at prices that will make your wallet sing.

+

After countless hostel stays, delicious street food meals, and unforgettable adventures, I’ve crafted the perfect 3-week itinerary to give you a taste of the magic in Thailand, Vietnam, and Cambodia. Buckle up, because this is going to be an epic ride!

+

Week 1: Thailand - The Land of Smiles (and Amazing Food!)

+
    +
  • Days 1-3: Bangkok: Dive headfirst into the chaotic beauty of Bangkok. Explore magnificent temples like Wat Arun and Wat Pho (home to the reclining Buddha), get lost in the vibrant Chatuchak Weekend Market (if your trip aligns!), and take a longtail boat ride along the Chao Phraya River. Don’t forget to indulge in some mouthwatering street food – Pad Thai is a must!
  • +
  • Days 4-6: Chiang Mai: Escape the city buzz and head north to Chiang Mai. Immerse yourself in the serene atmosphere of ancient temples, take a Thai cooking class (you won’t regret it!), and consider an ethical elephant sanctuary visit. The night markets here are fantastic for souvenirs.
  • +
  • Day 7: Travel Day: Fly or take an overnight train south towards Vietnam. This will be your biggest travel day, so pack some snacks and get ready for the next adventure!
  • +
+

Week 2: Vietnam - A Feast for the Senses

+
    +
  • Days 8-10: Hanoi: Welcome to the charming chaos of Hanoi! Explore the Old Quarter, wander around Hoan Kiem Lake, and catch a traditional water puppet show. Don’t miss trying the local specialty, Pho.
  • +
  • Days 11-13: Ha Long Bay: Prepare to be amazed by the stunning limestone karsts of Ha Long Bay. Take a boat tour (opt for a budget-friendly option!) and kayak through the emerald waters. Spending a night on a boat under the stars is an unforgettable experience.
  • +
  • Day 14: Travel Day: Fly or take a bus to Siem Reap, Cambodia. Get ready for ancient wonders!
  • +
+

Week 3: Cambodia - Ancient History and Heartwarming Culture

+
    +
  • Days 15-18: Siem Reap & Angkor Wat: This is what many people come to Southeast Asia for! Explore the magnificent Angkor Wat temple complex, including Angkor Thom, Bayon, and Ta Prohm (the “Tomb Raider” temple). Consider hiring a tuk-tuk driver for a day to explore the various temples. Wake up early for sunrise over Angkor Wat – it’s truly magical.
  • +
  • Days 19-20: Phnom Penh: Take a sobering but important trip to Phnom Penh to learn about Cambodia’s history at the Killing Fields and Tuol Sleng Genocide Museum. Balance this with a visit to the Royal Palace and Silver Pagoda.
  • +
  • Days 21: Departure: Head to the airport, filled with incredible memories and a newfound love for Southeast Asia.
  • +
+

Budget Tips for Southeast Asia:

+
    +
  • Stay in Hostels: They’re cheap, social, and a great way to meet other travelers.
  • +
  • Eat Street Food: It’s delicious and incredibly affordable.
  • +
  • Use Local Transportation: Buses and trains are your friends. Avoid taxis where possible.
  • +
  • Haggle at Markets: It’s part of the fun!
  • +
  • Book in Advance (Sometimes): Especially for popular routes or accommodations during peak season.
  • +
+

Southeast Asia is an incredible destination for budget travelers. With a little planning and an adventurous spirit, you can have an unforgettable experience without breaking the bank. So, what are you waiting for? Start planning your own Southeast Asian adventure!

+
+
+
+ + +
+ + + + + + + + diff --git a/public/en/stories/post2/index.html b/public/en/stories/post2/index.html new file mode 100644 index 0000000..82be2d1 --- /dev/null +++ b/public/en/stories/post2/index.html @@ -0,0 +1,93 @@ + + + + + + Indulge in Paradise: A Luxurious Escape to the Maldives | this story site + + + + + + + + + + +
+

Indulge in Paradise: My Unforgettable Luxurious Escape to the Maldives

+

The word “paradise” gets thrown around a lot, but trust me, until you’ve set foot on the powdery white sands of the Maldives, you haven’t truly experienced it. For years, the images of overwater bungalows perched above impossibly turquoise waters have danced in my head, and finally, I had the chance to live that dream.

+

This wasn’t just a vacation; it was an immersion in pure luxury, a symphony of breathtaking scenery, impeccable service, and moments of utter tranquility. Let me take you on a journey through my unforgettable escape to this island nation.

+

Arriving in Paradise:

+

Even the arrival was an experience. After landing in Malé, a seaplane whisked us away, offering stunning aerial views of the atolls scattered like jewels across the Indian Ocean. The anticipation built with every passing minute, and as we approached our resort, nestled on its own private island, I knew I was in for something special.

+

The Overwater Bungalow Dream:

+

Our overwater bungalow was nothing short of spectacular. Imagine waking up to the gentle lapping of waves beneath you, stepping onto your private deck for a morning swim in crystal-clear waters, and watching the sunset paint the sky in fiery hues from your own infinity pool. It was the epitome of indulgence and privacy.

+

Days of Blissful Relaxation:

+

Days in the Maldives melted away in a haze of pure relaxation. We spent our mornings snorkeling and diving in the vibrant coral reefs, teeming with colorful fish and even a few graceful manta rays. The afternoons were dedicated to lounging on the pristine beaches, sipping cocktails, and soaking up the sun.

+

Culinary Delights:

+

The dining experience in the Maldives is an adventure in itself. From fresh seafood caught that day to international gourmet cuisine, every meal was a delight. We enjoyed romantic dinners under the stars, with the sound of the ocean as our soundtrack.

+

Beyond Relaxation: Experiences to Remember:

+

While relaxation was key, we also indulged in some unforgettable experiences:

+
    +
  • Sunset Cruise: Sailing across the calm waters as the sun dipped below the horizon, painting the sky in breathtaking colors.
  • +
  • Spa Treatments: Pampering ourselves with traditional Maldivian massages in a serene overwater spa.
  • +
  • Stargazing: With minimal light pollution, the Maldivian night sky is an absolute spectacle, bursting with stars.
  • +
+

Is the Maldives Worth the Splurge?

+

Without a doubt. The Maldives is an investment in pure bliss, a chance to escape the everyday and immerse yourself in unparalleled beauty and luxury. It’s perfect for honeymooners, couples seeking a romantic getaway, or anyone who simply needs to disconnect and recharge in paradise.

+

If you’ve ever dreamt of experiencing the Maldives, I’m here to tell you that the reality is even more magical than the pictures. Start saving, because this is one trip you won’t regret.

+
+
+
+ + +
+ + + + + + + + diff --git a/public/en/stories/post3/index.html b/public/en/stories/post3/index.html new file mode 100644 index 0000000..53f1a6c --- /dev/null +++ b/public/en/stories/post3/index.html @@ -0,0 +1,99 @@ + + + + + + Empowering Journeys: My Solo Female Travel Adventures in Europe | this story site + + + + + + + + + + +
+

Empowering Journeys: Why Solo Female Travel in Europe Changed My Life

+

There’s something incredibly liberating about traveling the world on your own terms. As a woman, the idea of solo travel can sometimes feel daunting, filled with questions and maybe even a little fear. But let me tell you, stepping outside your comfort zone and exploring Europe solo was one of the most empowering experiences of my life.

+

I’ve wandered through the romantic streets of Paris, explored the ancient ruins of Rome, and marveled at the stunning architecture of Barcelona – all on my own. And while there were definitely moments of navigating unfamiliar situations, the overwhelming feeling was one of freedom, growth, and self-discovery.

+

Why Europe is a Great Place to Start for Solo Female Travelers:

+
    +
  • Safety: While no destination is completely risk-free, many European countries have low crime rates and are generally considered safe for solo female travelers.
  • +
  • Excellent Infrastructure: Getting around Europe is relatively easy with well-developed public transportation systems, making it convenient to hop between cities and countries.
  • +
  • Culture of Independence: Solo travel is common in Europe, so you’ll find plenty of resources and support for independent travelers.
  • +
  • Variety of Experiences: From bustling cities to charming countryside towns, Europe offers a diverse range of experiences to suit every interest.
  • +
+

My Personal Highlights and Lessons Learned:

+
    +
  • Finding My Confidence in Paris: Navigating the metro, ordering food in French (badly!), and simply wandering the streets of Paris on my own terms gave me an incredible sense of accomplishment. I realized I was capable of more than I thought.
  • +
  • Connecting with Locals in Rome: Striking up conversations with locals in cafes and markets opened my eyes to the warmth and hospitality of the Italian people. It reminded me that connection is possible even when you’re alone.
  • +
  • Embracing Solitude in Barcelona: Spending afternoons reading in parks and enjoying tapas alone taught me the beauty of my own company. It was a chance for introspection and self-reflection.
  • +
+

Tips for Solo Female Travel in Europe:

+
    +
  • Do Your Research: Familiarize yourself with the local culture, customs, and any potential safety concerns.
  • +
  • Book Accommodations in Safe Areas: Choose well-reviewed hostels or hotels in central and well-lit neighborhoods.
  • +
  • Stay Connected: Keep friends and family updated on your whereabouts and share your itinerary.
  • +
  • Trust Your Gut: If a situation feels uncomfortable, remove yourself from it.
  • +
  • Embrace the Unexpected: Some of the best moments happen when you veer off the planned path.
  • +
  • Join Group Tours or Activities: This is a great way to meet other travelers and experience things with a group.
  • +
  • Learn Basic Phrases: Knowing a few basic phrases in the local language can go a long way.
  • +
+

Solo female travel in Europe isn’t just about seeing beautiful places; it’s about discovering your own strength, resilience, and independence. It’s about proving to yourself that you can navigate the world on your own terms and create unforgettable memories. If you’re considering it, I say go for it! You might just surprise yourself.

+
+
+
+ + +
+ + + + + + + + diff --git a/public/en/stories/post4/index.html b/public/en/stories/post4/index.html new file mode 100644 index 0000000..36e9b5e --- /dev/null +++ b/public/en/stories/post4/index.html @@ -0,0 +1,95 @@ + + + + + + Road Trippin' with the Tribe: An Epic Family Adventure Across the USA | this story site + + + + + + + + + + +
+

Road Trippin’ with the Tribe: Conquering the USA with My Family

+

“Are we there yet?” Ah, the classic soundtrack of a family road trip. While the journey might have its moments, there’s nothing quite like hitting the open road with your loved ones and discovering the diverse landscapes and quirky charm of the USA.

+

This past summer, we packed up the minivan (yes, the minivan!) and embarked on an epic cross-country adventure, from the bustling cities of the East Coast to the majestic national parks of the West. It was a whirlwind of memories, laughter (and a few meltdowns, let’s be honest), and experiences that we’ll cherish forever.

+

Our Route: East Coast to West Coast (and Back!)

+
    +
  • Week 1: East Coast Charm: We started in Washington D.C., exploring historical monuments and museums. Then, we headed north to New York City for Broadway shows and iconic landmarks. A stop in Boston for some clam chowder was a must!
  • +
  • Week 2: Midwest Adventures: We drove through Pennsylvania, Ohio, and Indiana, making pit stops at quirky roadside attractions like the world’s largest ball of twine (yes, it exists!). Chicago was a highlight with its deep-dish pizza and stunning architecture.
  • +
  • Week 3: National Park Wonders: The landscape started to change dramatically as we headed west. We were awestruck by the Badlands in South Dakota, the towering peaks of the Rocky Mountains in Colorado, and the otherworldly landscapes of Arches and Canyonlands National Parks in Utah.
  • +
  • Week 4: California Dreaming: We finally reached the West Coast, spending time exploring the vibrant city of San Francisco, driving down the scenic Pacific Coast Highway, and ending our journey in sunny Los Angeles.
  • +
  • Week 5: The Return Journey (Slightly Faster!): We took a more direct route back, making stops in Las Vegas (for a taste of the glitz) and the Grand Canyon (another must-see).
  • +
+

Tips for Surviving (and Enjoying!) a Family Road Trip:

+
    +
  • Plan, But Be Flexible: Have a general itinerary, but be prepared to deviate based on the kids’ energy levels and unexpected discoveries.
  • +
  • Pack Smart: Think layers, comfortable shoes, snacks (lots of snacks!), entertainment for the car, and a first-aid kit.
  • +
  • Embrace the Detours: Some of the best memories are made at the unplanned stops along the way.
  • +
  • Rotate Drivers: If possible, share the driving responsibilities to avoid burnout.
  • +
  • Schedule Regular Breaks: Stretch your legs, grab some food, and let the kids burn off some energy.
  • +
  • Involve the Kids in Planning: Let them choose a few attractions or activities to keep them engaged.
  • +
  • Document the Journey: Take photos and videos to capture the memories.
  • +
  • Lower Your Expectations: Things won’t always go according to plan, and that’s okay. Embrace the chaos!
  • +
+

A family road trip across the USA is an adventure that will create lasting memories for everyone. It’s a chance to bond, explore, and discover the incredible diversity of this country together. So, pack up the car, crank up the tunes, and get ready for an unforgettable ride!

+
+
+
+ + +
+ + + + + + + + diff --git a/public/en/tags/backpacking/index.html b/public/en/tags/backpacking/index.html new file mode 100644 index 0000000..c458d00 --- /dev/null +++ b/public/en/tags/backpacking/index.html @@ -0,0 +1,142 @@ + + + + + + Backpacking | this story site + + + + + + + + + + +
+ +
+ +
+
+
+ + +
+ + + + + + + + diff --git a/public/en/tags/backpacking/index.xml b/public/en/tags/backpacking/index.xml new file mode 100644 index 0000000..d0a523d --- /dev/null +++ b/public/en/tags/backpacking/index.xml @@ -0,0 +1,19 @@ + + + + Backpacking on this story site + http://localhost:1313/en/tags/backpacking/ + Recent content in Backpacking on this story site + Hugo + en + Tue, 15 Apr 2025 00:00:00 +0000 + + + Southeast Asia on a Shoestring: A 3-Week Backpacking Itinerary + http://localhost:1313/en/stories/post1/ + Tue, 15 Apr 2025 00:00:00 +0000 + http://localhost:1313/en/stories/post1/ + <h2 id="southeast-asia-on-a-shoestring-your-epic-3-week-backpacking-adventure">Southeast Asia on a Shoestring: Your Epic 3-Week Backpacking Adventure</h2> <p>Hey fellow wanderers! If you&rsquo;re dreaming of exotic temples, bustling markets, and breathtaking beaches without emptying your savings account, then Southeast Asia is calling your name. Trust me, this corner of the world is a backpacker&rsquo;s paradise, offering incredible experiences at prices that will make your wallet sing.</p> <p>After countless hostel stays, delicious street food meals, and unforgettable adventures, I&rsquo;ve crafted the perfect 3-week itinerary to give you a taste of the magic in Thailand, Vietnam, and Cambodia. Buckle up, because this is going to be an epic ride!</p> + + + diff --git a/public/en/tags/budget-travel/index.html b/public/en/tags/budget-travel/index.html new file mode 100644 index 0000000..e730ae2 --- /dev/null +++ b/public/en/tags/budget-travel/index.html @@ -0,0 +1,142 @@ + + + + + + Budget Travel | this story site + + + + + + + + + + +
+ +
+ +
+
+
+ + +
+ + + + + + + + diff --git a/public/en/tags/budget-travel/index.xml b/public/en/tags/budget-travel/index.xml new file mode 100644 index 0000000..9939bb8 --- /dev/null +++ b/public/en/tags/budget-travel/index.xml @@ -0,0 +1,19 @@ + + + + Budget Travel on this story site + http://localhost:1313/en/tags/budget-travel/ + Recent content in Budget Travel on this story site + Hugo + en + Tue, 15 Apr 2025 00:00:00 +0000 + + + Southeast Asia on a Shoestring: A 3-Week Backpacking Itinerary + http://localhost:1313/en/stories/post1/ + Tue, 15 Apr 2025 00:00:00 +0000 + http://localhost:1313/en/stories/post1/ + <h2 id="southeast-asia-on-a-shoestring-your-epic-3-week-backpacking-adventure">Southeast Asia on a Shoestring: Your Epic 3-Week Backpacking Adventure</h2> <p>Hey fellow wanderers! If you&rsquo;re dreaming of exotic temples, bustling markets, and breathtaking beaches without emptying your savings account, then Southeast Asia is calling your name. Trust me, this corner of the world is a backpacker&rsquo;s paradise, offering incredible experiences at prices that will make your wallet sing.</p> <p>After countless hostel stays, delicious street food meals, and unforgettable adventures, I&rsquo;ve crafted the perfect 3-week itinerary to give you a taste of the magic in Thailand, Vietnam, and Cambodia. Buckle up, because this is going to be an epic ride!</p> + + + diff --git a/public/en/tags/cambodia/index.html b/public/en/tags/cambodia/index.html new file mode 100644 index 0000000..d32f326 --- /dev/null +++ b/public/en/tags/cambodia/index.html @@ -0,0 +1,142 @@ + + + + + + Cambodia | this story site + + + + + + + + + + +
+ +
+ +
+
+
+ + +
+ + + + + + + + diff --git a/public/en/tags/cambodia/index.xml b/public/en/tags/cambodia/index.xml new file mode 100644 index 0000000..e8666f7 --- /dev/null +++ b/public/en/tags/cambodia/index.xml @@ -0,0 +1,19 @@ + + + + Cambodia on this story site + http://localhost:1313/en/tags/cambodia/ + Recent content in Cambodia on this story site + Hugo + en + Tue, 15 Apr 2025 00:00:00 +0000 + + + Southeast Asia on a Shoestring: A 3-Week Backpacking Itinerary + http://localhost:1313/en/stories/post1/ + Tue, 15 Apr 2025 00:00:00 +0000 + http://localhost:1313/en/stories/post1/ + <h2 id="southeast-asia-on-a-shoestring-your-epic-3-week-backpacking-adventure">Southeast Asia on a Shoestring: Your Epic 3-Week Backpacking Adventure</h2> <p>Hey fellow wanderers! If you&rsquo;re dreaming of exotic temples, bustling markets, and breathtaking beaches without emptying your savings account, then Southeast Asia is calling your name. Trust me, this corner of the world is a backpacker&rsquo;s paradise, offering incredible experiences at prices that will make your wallet sing.</p> <p>After countless hostel stays, delicious street food meals, and unforgettable adventures, I&rsquo;ve crafted the perfect 3-week itinerary to give you a taste of the magic in Thailand, Vietnam, and Cambodia. Buckle up, because this is going to be an epic ride!</p> + + + diff --git a/public/en/tags/cattle-farm/index.html b/public/en/tags/cattle-farm/index.html index 104cfe5..dc87166 100644 --- a/public/en/tags/cattle-farm/index.html +++ b/public/en/tags/cattle-farm/index.html @@ -1,300 +1,171 @@ - - - - - - Cattle Farm | - - - - - - - - - - -
-
-
-

🚀 Real Odoo Success Stories — See Where Odoo Shines

-

Discover how companies across industries are transforming with Odoo — from streamlining inventory to automating sales and scaling operations. These are real-world examples of where Odoo kicks ass. 💡 Using Odoo? Share your success story and get featured — with a dofollow backlink to your website as a thank-you. It’s free exposure and great SEO.

-
-
-
- -

- - categories -

- -
- -
- -

- - tags -

- -
-
-
- - - - - - - - -
- - - - - -
-
- - - - - - - - + + + + + + Cattle Farm | this story site + + + + + + + + + + +
+ +
+ +
+
+
+ + +
+ + + + + + + + diff --git a/public/en/tags/cattle-farm/index.xml b/public/en/tags/cattle-farm/index.xml index c28bb3d..5cd9c32 100644 --- a/public/en/tags/cattle-farm/index.xml +++ b/public/en/tags/cattle-farm/index.xml @@ -1,18 +1,18 @@ - Cattle Farm on - https://success.odoo4projects.com/en/tags/cattle-farm/ - Recent content in Cattle Farm on + Cattle Farm on this story site + http://localhost:1313/en/tags/cattle-farm/ + Recent content in Cattle Farm on this story site Hugo en Tue, 10 Jun 2025 12:00:00 +0000 - + Transforming Our Cattle Farm with Odoo Community - https://success.odoo4projects.com/en/stories/agape/ + http://localhost:1313/en/stories/agape/ Tue, 10 Jun 2025 12:00:00 +0000 - https://success.odoo4projects.com/en/stories/agape/ + http://localhost:1313/en/stories/agape/ <p><img src="https://estancia-agape.com/web/image/1078-81bed64d/agapei-1.svg" alt="Estancia Agapé"></p> <p>Running a cattle farm in Paraguay presents unique challenges — especially when managing operations across <strong>three distinct locations</strong>. At <a href="https://estancia-agape.com">Estancia Agapé</a>, our goal has always been to stay grounded in tradition while embracing innovation to grow sustainably and efficiently. This is why we turned to <strong>Odoo Community</strong>, and the results have exceeded our expectations.</p> <h2 id="why-odoo">Why Odoo?</h2> <p>We evaluated various systems before choosing Odoo Community. The reasons were clear:</p> <ul> <li>Open-source and customizable</li> <li>Robust set of features for inventory, accounting, and logistics</li> <li>Large and active global community</li> <li>No licensing fees</li> </ul> <p>But what truly made the difference was the ability to <strong>host the service online</strong>.</p> diff --git a/public/en/tags/community/index.html b/public/en/tags/community/index.html index 78e0b8f..2fe74ef 100644 --- a/public/en/tags/community/index.html +++ b/public/en/tags/community/index.html @@ -1,300 +1,167 @@ - - - - - - Community | - - - - - - - - - - -
-
-
-

🚀 Real Odoo Success Stories — See Where Odoo Shines

-

Discover how companies across industries are transforming with Odoo — from streamlining inventory to automating sales and scaling operations. These are real-world examples of where Odoo kicks ass. 💡 Using Odoo? Share your success story and get featured — with a dofollow backlink to your website as a thank-you. It’s free exposure and great SEO.

-
-
-
- -

- - categories -

- -
- -
- -

- - tags -

- -
-
-
- - - - - - - - -
- - - - - -
-
- - - - - - - - + + + + + + Community | this story site + + + + + + + + + + +
+ +
+ +
+
+
+ + +
+ + + + + + + + diff --git a/public/en/tags/community/index.xml b/public/en/tags/community/index.xml index 02b5ecb..9cbb5b1 100644 --- a/public/en/tags/community/index.xml +++ b/public/en/tags/community/index.xml @@ -1,18 +1,18 @@ - Community on - https://success.odoo4projects.com/en/tags/community/ - Recent content in Community on + Community on this story site + http://localhost:1313/en/tags/community/ + Recent content in Community on this story site Hugo en Tue, 10 Jun 2025 12:00:00 +0000 - + Building a Cloud ERP Service with Odoo Community - https://success.odoo4projects.com/en/stories/odoo4projects/ + http://localhost:1313/en/stories/odoo4projects/ Tue, 10 Jun 2025 12:00:00 +0000 - https://success.odoo4projects.com/en/stories/odoo4projects/ + http://localhost:1313/en/stories/odoo4projects/ <p><img src="https://odoo4projects.com/web/image/2890-1713a804/Header_low.png" alt="ODOO4projects"></p> <p>At <a href="https://ODOO4projects.com">ODOO4projects</a>, we specialize in helping businesses succeed with open-source ERP. But we also run our own services on the very same platform — and that’s why we chose to build our <strong>entire cloud ERP hosting infrastructure using Odoo Community V17</strong>.</p> <h2 id="why-odoo-community">Why Odoo Community?</h2> <p>We wanted to test how far Odoo Community could go — and it hasn’t let us down.</p> <ul> <li>100% open-source, no license fees</li> <li>Highly customizable for specific use cases</li> <li>Strong international community support</li> <li>Clear upgrade path and modular design</li> </ul> <p>Our objective was not just to use Odoo, but to <strong>push the limits of what’s possible with Community Edition</strong>.</p> diff --git a/public/en/tags/cultural-immersion/index.html b/public/en/tags/cultural-immersion/index.html new file mode 100644 index 0000000..55b689e --- /dev/null +++ b/public/en/tags/cultural-immersion/index.html @@ -0,0 +1,142 @@ + + + + + + Cultural Immersion | this story site + + + + + + + + + + +
+ +
+ +
+
+
+ + +
+ + + + + + + + diff --git a/public/en/tags/cultural-immersion/index.xml b/public/en/tags/cultural-immersion/index.xml new file mode 100644 index 0000000..b7a61ed --- /dev/null +++ b/public/en/tags/cultural-immersion/index.xml @@ -0,0 +1,19 @@ + + + + Cultural Immersion on this story site + http://localhost:1313/en/tags/cultural-immersion/ + Recent content in Cultural Immersion on this story site + Hugo + en + Tue, 29 Apr 2025 00:00:00 +0000 + + + Empowering Journeys: My Solo Female Travel Adventures in Europe + http://localhost:1313/en/stories/post3/ + Tue, 29 Apr 2025 00:00:00 +0000 + http://localhost:1313/en/stories/post3/ + <h2 id="empowering-journeys-why-solo-female-travel-in-europe-changed-my-life">Empowering Journeys: Why Solo Female Travel in Europe Changed My Life</h2> <p>There&rsquo;s something incredibly liberating about traveling the world on your own terms. As a woman, the idea of solo travel can sometimes feel daunting, filled with questions and maybe even a little fear. But let me tell you, stepping outside your comfort zone and exploring Europe solo was one of the most empowering experiences of my life.</p> <p>I&rsquo;ve wandered through the romantic streets of Paris, explored the ancient ruins of Rome, and marveled at the stunning architecture of Barcelona – all on my own. And while there were definitely moments of navigating unfamiliar situations, the overwhelming feeling was one of freedom, growth, and self-discovery.</p> + + + diff --git a/public/en/tags/digital-transformation/index.html b/public/en/tags/digital-transformation/index.html new file mode 100644 index 0000000..afa0dff --- /dev/null +++ b/public/en/tags/digital-transformation/index.html @@ -0,0 +1,171 @@ + + + + + + Digital Transformation | this story site + + + + + + + + + + +
+ +
+ +
+
+
+ + +
+ + + + + + + + diff --git a/public/en/tags/digital-transformation/index.xml b/public/en/tags/digital-transformation/index.xml new file mode 100644 index 0000000..8e7f55d --- /dev/null +++ b/public/en/tags/digital-transformation/index.xml @@ -0,0 +1,19 @@ + + + + Digital Transformation on this story site + http://localhost:1313/en/tags/digital-transformation/ + Recent content in Digital Transformation on this story site + Hugo + en + Tue, 10 Jun 2025 12:00:00 +0000 + + + Transforming Our Cattle Farm with Odoo Community + http://localhost:1313/en/stories/agape/ + Tue, 10 Jun 2025 12:00:00 +0000 + http://localhost:1313/en/stories/agape/ + <p><img src="https://estancia-agape.com/web/image/1078-81bed64d/agapei-1.svg" alt="Estancia Agapé"></p> <p>Running a cattle farm in Paraguay presents unique challenges — especially when managing operations across <strong>three distinct locations</strong>. At <a href="https://estancia-agape.com">Estancia Agapé</a>, our goal has always been to stay grounded in tradition while embracing innovation to grow sustainably and efficiently. This is why we turned to <strong>Odoo Community</strong>, and the results have exceeded our expectations.</p> <h2 id="why-odoo">Why Odoo?</h2> <p>We evaluated various systems before choosing Odoo Community. The reasons were clear:</p> <ul> <li>Open-source and customizable</li> <li>Robust set of features for inventory, accounting, and logistics</li> <li>Large and active global community</li> <li>No licensing fees</li> </ul> <p>But what truly made the difference was the ability to <strong>host the service online</strong>.</p> + + + diff --git a/public/en/tags/erp/index.html b/public/en/tags/erp/index.html index b0afcec..dac83c2 100644 --- a/public/en/tags/erp/index.html +++ b/public/en/tags/erp/index.html @@ -1,300 +1,234 @@ - - - - - - ERP | - - - - - - - - - - -
-
-
-

🚀 Real Odoo Success Stories — See Where Odoo Shines

-

Discover how companies across industries are transforming with Odoo — from streamlining inventory to automating sales and scaling operations. These are real-world examples of where Odoo kicks ass. 💡 Using Odoo? Share your success story and get featured — with a dofollow backlink to your website as a thank-you. It’s free exposure and great SEO.

-
-
-
- -

- - categories -

- -
- -
- -

- - tags -

- -
-
-
- - - - - - - - -
- - - - - -
-
- - - - - - - - + + + + + + ERP | this story site + + + + + + + + + + +
+ +
+ +
+
+
+ + +
+ + + + + + + + diff --git a/public/en/tags/erp/index.xml b/public/en/tags/erp/index.xml index 5cdaf70..bbc01e4 100644 --- a/public/en/tags/erp/index.xml +++ b/public/en/tags/erp/index.xml @@ -1,25 +1,25 @@ - ERP on - https://success.odoo4projects.com/en/tags/erp/ - Recent content in ERP on + ERP on this story site + http://localhost:1313/en/tags/erp/ + Recent content in ERP on this story site Hugo en Tue, 10 Jun 2025 12:00:00 +0000 - + Building a Cloud ERP Service with Odoo Community - https://success.odoo4projects.com/en/stories/odoo4projects/ + http://localhost:1313/en/stories/odoo4projects/ Tue, 10 Jun 2025 12:00:00 +0000 - https://success.odoo4projects.com/en/stories/odoo4projects/ + http://localhost:1313/en/stories/odoo4projects/ <p><img src="https://odoo4projects.com/web/image/2890-1713a804/Header_low.png" alt="ODOO4projects"></p> <p>At <a href="https://ODOO4projects.com">ODOO4projects</a>, we specialize in helping businesses succeed with open-source ERP. But we also run our own services on the very same platform — and that’s why we chose to build our <strong>entire cloud ERP hosting infrastructure using Odoo Community V17</strong>.</p> <h2 id="why-odoo-community">Why Odoo Community?</h2> <p>We wanted to test how far Odoo Community could go — and it hasn’t let us down.</p> <ul> <li>100% open-source, no license fees</li> <li>Highly customizable for specific use cases</li> <li>Strong international community support</li> <li>Clear upgrade path and modular design</li> </ul> <p>Our objective was not just to use Odoo, but to <strong>push the limits of what’s possible with Community Edition</strong>.</p> Transforming Our Cattle Farm with Odoo Community - https://success.odoo4projects.com/en/stories/agape/ + http://localhost:1313/en/stories/agape/ Tue, 10 Jun 2025 12:00:00 +0000 - https://success.odoo4projects.com/en/stories/agape/ + http://localhost:1313/en/stories/agape/ <p><img src="https://estancia-agape.com/web/image/1078-81bed64d/agapei-1.svg" alt="Estancia Agapé"></p> <p>Running a cattle farm in Paraguay presents unique challenges — especially when managing operations across <strong>three distinct locations</strong>. At <a href="https://estancia-agape.com">Estancia Agapé</a>, our goal has always been to stay grounded in tradition while embracing innovation to grow sustainably and efficiently. This is why we turned to <strong>Odoo Community</strong>, and the results have exceeded our expectations.</p> <h2 id="why-odoo">Why Odoo?</h2> <p>We evaluated various systems before choosing Odoo Community. The reasons were clear:</p> <ul> <li>Open-source and customizable</li> <li>Robust set of features for inventory, accounting, and logistics</li> <li>Large and active global community</li> <li>No licensing fees</li> </ul> <p>But what truly made the difference was the ability to <strong>host the service online</strong>.</p> diff --git a/public/en/tags/europe/index.html b/public/en/tags/europe/index.html new file mode 100644 index 0000000..d0d3acd --- /dev/null +++ b/public/en/tags/europe/index.html @@ -0,0 +1,142 @@ + + + + + + Europe | this story site + + + + + + + + + + +
+ +
+ +
+
+
+ + +
+ + + + + + + + diff --git a/public/en/tags/europe/index.xml b/public/en/tags/europe/index.xml new file mode 100644 index 0000000..5d02b35 --- /dev/null +++ b/public/en/tags/europe/index.xml @@ -0,0 +1,19 @@ + + + + Europe on this story site + http://localhost:1313/en/tags/europe/ + Recent content in Europe on this story site + Hugo + en + Tue, 29 Apr 2025 00:00:00 +0000 + + + Empowering Journeys: My Solo Female Travel Adventures in Europe + http://localhost:1313/en/stories/post3/ + Tue, 29 Apr 2025 00:00:00 +0000 + http://localhost:1313/en/stories/post3/ + <h2 id="empowering-journeys-why-solo-female-travel-in-europe-changed-my-life">Empowering Journeys: Why Solo Female Travel in Europe Changed My Life</h2> <p>There&rsquo;s something incredibly liberating about traveling the world on your own terms. As a woman, the idea of solo travel can sometimes feel daunting, filled with questions and maybe even a little fear. But let me tell you, stepping outside your comfort zone and exploring Europe solo was one of the most empowering experiences of my life.</p> <p>I&rsquo;ve wandered through the romantic streets of Paris, explored the ancient ruins of Rome, and marveled at the stunning architecture of Barcelona – all on my own. And while there were definitely moments of navigating unfamiliar situations, the overwhelming feeling was one of freedom, growth, and self-discovery.</p> + + + diff --git a/public/en/tags/family-travel/index.html b/public/en/tags/family-travel/index.html new file mode 100644 index 0000000..c88e4fb --- /dev/null +++ b/public/en/tags/family-travel/index.html @@ -0,0 +1,205 @@ + + + + + + Family Travel | this story site + + + + + + + + + + +
+ +
+ +
+
+
+ + +
+ + + + + + + + diff --git a/public/en/tags/family-travel/index.xml b/public/en/tags/family-travel/index.xml new file mode 100644 index 0000000..05f3ab7 --- /dev/null +++ b/public/en/tags/family-travel/index.xml @@ -0,0 +1,26 @@ + + + + Family Travel on this story site + http://localhost:1313/en/tags/family-travel/ + Recent content in Family Travel on this story site + Hugo + en + Tue, 06 May 2025 00:00:00 +0000 + + + Road Trippin' with the Tribe: An Epic Family Adventure Across the USA + http://localhost:1313/en/stories/post4/ + Tue, 06 May 2025 00:00:00 +0000 + http://localhost:1313/en/stories/post4/ + <h2 id="road-trippin-with-the-tribe-conquering-the-usa-with-my-family">Road Trippin&rsquo; with the Tribe: Conquering the USA with My Family</h2> <p>&ldquo;Are we there yet?&rdquo; Ah, the classic soundtrack of a family road trip. While the journey might have its moments, there&rsquo;s nothing quite like hitting the open road with your loved ones and discovering the diverse landscapes and quirky charm of the USA.</p> <p>This past summer, we packed up the minivan (yes, the minivan!) and embarked on an epic cross-country adventure, from the bustling cities of the East Coast to the majestic national parks of the West. It was a whirlwind of memories, laughter (and a few meltdowns, let&rsquo;s be honest), and experiences that we&rsquo;ll cherish forever.</p> + + + Empowering Journeys: My Solo Female Travel Adventures in Europe + http://localhost:1313/en/stories/post3/ + Tue, 29 Apr 2025 00:00:00 +0000 + http://localhost:1313/en/stories/post3/ + <h2 id="empowering-journeys-why-solo-female-travel-in-europe-changed-my-life">Empowering Journeys: Why Solo Female Travel in Europe Changed My Life</h2> <p>There&rsquo;s something incredibly liberating about traveling the world on your own terms. As a woman, the idea of solo travel can sometimes feel daunting, filled with questions and maybe even a little fear. But let me tell you, stepping outside your comfort zone and exploring Europe solo was one of the most empowering experiences of my life.</p> <p>I&rsquo;ve wandered through the romantic streets of Paris, explored the ancient ruins of Rome, and marveled at the stunning architecture of Barcelona – all on my own. And while there were definitely moments of navigating unfamiliar situations, the overwhelming feeling was one of freedom, growth, and self-discovery.</p> + + + diff --git a/public/en/tags/female-travel/index.html b/public/en/tags/female-travel/index.html new file mode 100644 index 0000000..63f0a53 --- /dev/null +++ b/public/en/tags/female-travel/index.html @@ -0,0 +1,142 @@ + + + + + + Female Travel | this story site + + + + + + + + + + +
+ +
+ +
+
+
+ + +
+ + + + + + + + diff --git a/public/en/tags/female-travel/index.xml b/public/en/tags/female-travel/index.xml new file mode 100644 index 0000000..d75094d --- /dev/null +++ b/public/en/tags/female-travel/index.xml @@ -0,0 +1,19 @@ + + + + Female Travel on this story site + http://localhost:1313/en/tags/female-travel/ + Recent content in Female Travel on this story site + Hugo + en + Tue, 29 Apr 2025 00:00:00 +0000 + + + Empowering Journeys: My Solo Female Travel Adventures in Europe + http://localhost:1313/en/stories/post3/ + Tue, 29 Apr 2025 00:00:00 +0000 + http://localhost:1313/en/stories/post3/ + <h2 id="empowering-journeys-why-solo-female-travel-in-europe-changed-my-life">Empowering Journeys: Why Solo Female Travel in Europe Changed My Life</h2> <p>There&rsquo;s something incredibly liberating about traveling the world on your own terms. As a woman, the idea of solo travel can sometimes feel daunting, filled with questions and maybe even a little fear. But let me tell you, stepping outside your comfort zone and exploring Europe solo was one of the most empowering experiences of my life.</p> <p>I&rsquo;ve wandered through the romantic streets of Paris, explored the ancient ruins of Rome, and marveled at the stunning architecture of Barcelona – all on my own. And while there were definitely moments of navigating unfamiliar situations, the overwhelming feeling was one of freedom, growth, and self-discovery.</p> + + + diff --git a/public/en/tags/honeymoon/index.html b/public/en/tags/honeymoon/index.html new file mode 100644 index 0000000..78751ad --- /dev/null +++ b/public/en/tags/honeymoon/index.html @@ -0,0 +1,146 @@ + + + + + + Honeymoon | this story site + + + + + + + + + + +
+ +
+ +
+
+
+ + +
+ + + + + + + + diff --git a/public/en/tags/honeymoon/index.xml b/public/en/tags/honeymoon/index.xml new file mode 100644 index 0000000..a632adc --- /dev/null +++ b/public/en/tags/honeymoon/index.xml @@ -0,0 +1,19 @@ + + + + Honeymoon on this story site + http://localhost:1313/en/tags/honeymoon/ + Recent content in Honeymoon on this story site + Hugo + en + Tue, 22 Apr 2025 00:00:00 +0000 + + + Indulge in Paradise: A Luxurious Escape to the Maldives + http://localhost:1313/en/stories/post2/ + Tue, 22 Apr 2025 00:00:00 +0000 + http://localhost:1313/en/stories/post2/ + <h2 id="indulge-in-paradise-my-unforgettable-luxurious-escape-to-the-maldives">Indulge in Paradise: My Unforgettable Luxurious Escape to the Maldives</h2> <p>The word &ldquo;paradise&rdquo; gets thrown around a lot, but trust me, until you&rsquo;ve set foot on the powdery white sands of the Maldives, you haven&rsquo;t truly experienced it. For years, the images of overwater bungalows perched above impossibly turquoise waters have danced in my head, and finally, I had the chance to live that dream.</p> <p>This wasn&rsquo;t just a vacation; it was an immersion in pure luxury, a symphony of breathtaking scenery, impeccable service, and moments of utter tranquility. Let me take you on a journey through my unforgettable escape to this island nation.</p> + + + diff --git a/public/en/tags/index.html b/public/en/tags/index.html index 35ddddf..bd01ce7 100644 --- a/public/en/tags/index.html +++ b/public/en/tags/index.html @@ -1,300 +1,377 @@ - - - - - - Tags | - - - - - - - - - - -
-
-
-

🚀 Real Odoo Success Stories — See Where Odoo Shines

-

Discover how companies across industries are transforming with Odoo — from streamlining inventory to automating sales and scaling operations. These are real-world examples of where Odoo kicks ass. 💡 Using Odoo? Share your success story and get featured — with a dofollow backlink to your website as a thank-you. It’s free exposure and great SEO.

-
-
-
- -

- - categories -

- -
- -
- -

- - tags -

- -
-
-
- - - - - - - - -
- - - - - -
-
- - - - - - - - + + + + + + Tags | this story site + + + + + + + + + + +
+ +
+
+ Cattle Farm +
+ +

Cattle Farm

+
+

+ +
+ +
+ +
+ +
+ + +
+ + +
+ + +
+
+ +
+ + +
+
+
+ Community +
+ +

Community

+
+

+ +
+ +
+ +
+ +
+ + +
+ + +
+ + +
+
+ +
+ + +
+
+
+ ERP +
+ +

ERP

+
+

+ +
+ +
+ +
+ +
+ + +
+ + +
+ + +
+
+ +
+ + +
+
+
+ IT +
+ +

IT

+
+

+ +
+ +
+ +
+ +
+ + +
+ + +
+ + +
+
+ +
+ + +
+
+
+ Odoo +
+ +

Odoo

+
+

+ +
+ +
+ +
+ +
+ + +
+ + +
+ + +
+
+ +
+ + +
+
+
+ Paraguay +
+ +

Paraguay

+
+

+ +
+ +
+ +
+ +
+ + +
+ + +
+ + +
+
+ +
+ + +
+
+
+
+
+
+ + +
+ + + + + + + + diff --git a/public/en/tags/index.xml b/public/en/tags/index.xml index c9565e3..c93f074 100644 --- a/public/en/tags/index.xml +++ b/public/en/tags/index.xml @@ -1,53 +1,60 @@ - Tags on - https://success.odoo4projects.com/en/tags/ - Recent content in Tags on + Tags on this story site + http://localhost:1313/en/tags/ + Recent content in Tags on this story site Hugo en Tue, 10 Jun 2025 12:00:00 +0000 - + Cattle Farm - https://success.odoo4projects.com/en/tags/cattle-farm/ + http://localhost:1313/en/tags/cattle-farm/ Tue, 10 Jun 2025 12:00:00 +0000 - https://success.odoo4projects.com/en/tags/cattle-farm/ + http://localhost:1313/en/tags/cattle-farm/ Community - https://success.odoo4projects.com/en/tags/community/ + http://localhost:1313/en/tags/community/ Tue, 10 Jun 2025 12:00:00 +0000 - https://success.odoo4projects.com/en/tags/community/ + http://localhost:1313/en/tags/community/ + + + + Digital Transformation + http://localhost:1313/en/tags/digital-transformation/ + Tue, 10 Jun 2025 12:00:00 +0000 + http://localhost:1313/en/tags/digital-transformation/ ERP - https://success.odoo4projects.com/en/tags/erp/ + http://localhost:1313/en/tags/erp/ Tue, 10 Jun 2025 12:00:00 +0000 - https://success.odoo4projects.com/en/tags/erp/ + http://localhost:1313/en/tags/erp/ IT - https://success.odoo4projects.com/en/tags/it/ + http://localhost:1313/en/tags/it/ Tue, 10 Jun 2025 12:00:00 +0000 - https://success.odoo4projects.com/en/tags/it/ + http://localhost:1313/en/tags/it/ Odoo - https://success.odoo4projects.com/en/tags/odoo/ + http://localhost:1313/en/tags/odoo/ Tue, 10 Jun 2025 12:00:00 +0000 - https://success.odoo4projects.com/en/tags/odoo/ + http://localhost:1313/en/tags/odoo/ Paraguay - https://success.odoo4projects.com/en/tags/paraguay/ + http://localhost:1313/en/tags/paraguay/ Tue, 10 Jun 2025 12:00:00 +0000 - https://success.odoo4projects.com/en/tags/paraguay/ + http://localhost:1313/en/tags/paraguay/ diff --git a/public/en/tags/island-getaway/index.html b/public/en/tags/island-getaway/index.html new file mode 100644 index 0000000..a6a0732 --- /dev/null +++ b/public/en/tags/island-getaway/index.html @@ -0,0 +1,146 @@ + + + + + + Island Getaway | this story site + + + + + + + + + + +
+ +
+ +
+
+
+ + +
+ + + + + + + + diff --git a/public/en/tags/island-getaway/index.xml b/public/en/tags/island-getaway/index.xml new file mode 100644 index 0000000..d70982b --- /dev/null +++ b/public/en/tags/island-getaway/index.xml @@ -0,0 +1,19 @@ + + + + Island Getaway on this story site + http://localhost:1313/en/tags/island-getaway/ + Recent content in Island Getaway on this story site + Hugo + en + Tue, 22 Apr 2025 00:00:00 +0000 + + + Indulge in Paradise: A Luxurious Escape to the Maldives + http://localhost:1313/en/stories/post2/ + Tue, 22 Apr 2025 00:00:00 +0000 + http://localhost:1313/en/stories/post2/ + <h2 id="indulge-in-paradise-my-unforgettable-luxurious-escape-to-the-maldives">Indulge in Paradise: My Unforgettable Luxurious Escape to the Maldives</h2> <p>The word &ldquo;paradise&rdquo; gets thrown around a lot, but trust me, until you&rsquo;ve set foot on the powdery white sands of the Maldives, you haven&rsquo;t truly experienced it. For years, the images of overwater bungalows perched above impossibly turquoise waters have danced in my head, and finally, I had the chance to live that dream.</p> <p>This wasn&rsquo;t just a vacation; it was an immersion in pure luxury, a symphony of breathtaking scenery, impeccable service, and moments of utter tranquility. Let me take you on a journey through my unforgettable escape to this island nation.</p> + + + diff --git a/public/en/tags/it/index.html b/public/en/tags/it/index.html index ada0a86..0bd5d00 100644 --- a/public/en/tags/it/index.html +++ b/public/en/tags/it/index.html @@ -1,300 +1,167 @@ - - - - - - IT | - - - - - - - - - - -
-
-
-

🚀 Real Odoo Success Stories — See Where Odoo Shines

-

Discover how companies across industries are transforming with Odoo — from streamlining inventory to automating sales and scaling operations. These are real-world examples of where Odoo kicks ass. 💡 Using Odoo? Share your success story and get featured — with a dofollow backlink to your website as a thank-you. It’s free exposure and great SEO.

-
-
-
- -

- - categories -

- -
- -
- -

- - tags -

- -
-
-
- - - - - - - - -
- - - - - -
-
- - - - - - - - + + + + + + IT | this story site + + + + + + + + + + +
+ +
+ +
+
+
+ + +
+ + + + + + + + diff --git a/public/en/tags/it/index.xml b/public/en/tags/it/index.xml index 9db9964..f6d88d2 100644 --- a/public/en/tags/it/index.xml +++ b/public/en/tags/it/index.xml @@ -1,18 +1,18 @@ - IT on - https://success.odoo4projects.com/en/tags/it/ - Recent content in IT on + IT on this story site + http://localhost:1313/en/tags/it/ + Recent content in IT on this story site Hugo en Tue, 10 Jun 2025 12:00:00 +0000 - + Building a Cloud ERP Service with Odoo Community - https://success.odoo4projects.com/en/stories/odoo4projects/ + http://localhost:1313/en/stories/odoo4projects/ Tue, 10 Jun 2025 12:00:00 +0000 - https://success.odoo4projects.com/en/stories/odoo4projects/ + http://localhost:1313/en/stories/odoo4projects/ <p><img src="https://odoo4projects.com/web/image/2890-1713a804/Header_low.png" alt="ODOO4projects"></p> <p>At <a href="https://ODOO4projects.com">ODOO4projects</a>, we specialize in helping businesses succeed with open-source ERP. But we also run our own services on the very same platform — and that’s why we chose to build our <strong>entire cloud ERP hosting infrastructure using Odoo Community V17</strong>.</p> <h2 id="why-odoo-community">Why Odoo Community?</h2> <p>We wanted to test how far Odoo Community could go — and it hasn’t let us down.</p> <ul> <li>100% open-source, no license fees</li> <li>Highly customizable for specific use cases</li> <li>Strong international community support</li> <li>Clear upgrade path and modular design</li> </ul> <p>Our objective was not just to use Odoo, but to <strong>push the limits of what’s possible with Community Edition</strong>.</p> diff --git a/public/en/tags/luxury-travel/index.html b/public/en/tags/luxury-travel/index.html new file mode 100644 index 0000000..7a36830 --- /dev/null +++ b/public/en/tags/luxury-travel/index.html @@ -0,0 +1,146 @@ + + + + + + Luxury Travel | this story site + + + + + + + + + + +
+ +
+ +
+
+
+ + +
+ + + + + + + + diff --git a/public/en/tags/luxury-travel/index.xml b/public/en/tags/luxury-travel/index.xml new file mode 100644 index 0000000..b41055c --- /dev/null +++ b/public/en/tags/luxury-travel/index.xml @@ -0,0 +1,19 @@ + + + + Luxury Travel on this story site + http://localhost:1313/en/tags/luxury-travel/ + Recent content in Luxury Travel on this story site + Hugo + en + Tue, 22 Apr 2025 00:00:00 +0000 + + + Indulge in Paradise: A Luxurious Escape to the Maldives + http://localhost:1313/en/stories/post2/ + Tue, 22 Apr 2025 00:00:00 +0000 + http://localhost:1313/en/stories/post2/ + <h2 id="indulge-in-paradise-my-unforgettable-luxurious-escape-to-the-maldives">Indulge in Paradise: My Unforgettable Luxurious Escape to the Maldives</h2> <p>The word &ldquo;paradise&rdquo; gets thrown around a lot, but trust me, until you&rsquo;ve set foot on the powdery white sands of the Maldives, you haven&rsquo;t truly experienced it. For years, the images of overwater bungalows perched above impossibly turquoise waters have danced in my head, and finally, I had the chance to live that dream.</p> <p>This wasn&rsquo;t just a vacation; it was an immersion in pure luxury, a symphony of breathtaking scenery, impeccable service, and moments of utter tranquility. Let me take you on a journey through my unforgettable escape to this island nation.</p> + + + diff --git a/public/en/tags/maldives/index.html b/public/en/tags/maldives/index.html new file mode 100644 index 0000000..8a18ad4 --- /dev/null +++ b/public/en/tags/maldives/index.html @@ -0,0 +1,146 @@ + + + + + + Maldives | this story site + + + + + + + + + + +
+ +
+ +
+
+
+ + +
+ + + + + + + + diff --git a/public/en/tags/maldives/index.xml b/public/en/tags/maldives/index.xml new file mode 100644 index 0000000..24d5a92 --- /dev/null +++ b/public/en/tags/maldives/index.xml @@ -0,0 +1,19 @@ + + + + Maldives on this story site + http://localhost:1313/en/tags/maldives/ + Recent content in Maldives on this story site + Hugo + en + Tue, 22 Apr 2025 00:00:00 +0000 + + + Indulge in Paradise: A Luxurious Escape to the Maldives + http://localhost:1313/en/stories/post2/ + Tue, 22 Apr 2025 00:00:00 +0000 + http://localhost:1313/en/stories/post2/ + <h2 id="indulge-in-paradise-my-unforgettable-luxurious-escape-to-the-maldives">Indulge in Paradise: My Unforgettable Luxurious Escape to the Maldives</h2> <p>The word &ldquo;paradise&rdquo; gets thrown around a lot, but trust me, until you&rsquo;ve set foot on the powdery white sands of the Maldives, you haven&rsquo;t truly experienced it. For years, the images of overwater bungalows perched above impossibly turquoise waters have danced in my head, and finally, I had the chance to live that dream.</p> <p>This wasn&rsquo;t just a vacation; it was an immersion in pure luxury, a symphony of breathtaking scenery, impeccable service, and moments of utter tranquility. Let me take you on a journey through my unforgettable escape to this island nation.</p> + + + diff --git a/public/en/tags/national-parks/index.html b/public/en/tags/national-parks/index.html new file mode 100644 index 0000000..fe43ecd --- /dev/null +++ b/public/en/tags/national-parks/index.html @@ -0,0 +1,138 @@ + + + + + + National Parks | this story site + + + + + + + + + + +
+ +
+ +
+
+
+ + +
+ + + + + + + + diff --git a/public/en/tags/national-parks/index.xml b/public/en/tags/national-parks/index.xml new file mode 100644 index 0000000..69eaab4 --- /dev/null +++ b/public/en/tags/national-parks/index.xml @@ -0,0 +1,19 @@ + + + + National Parks on this story site + http://localhost:1313/en/tags/national-parks/ + Recent content in National Parks on this story site + Hugo + en + Tue, 06 May 2025 00:00:00 +0000 + + + Road Trippin' with the Tribe: An Epic Family Adventure Across the USA + http://localhost:1313/en/stories/post4/ + Tue, 06 May 2025 00:00:00 +0000 + http://localhost:1313/en/stories/post4/ + <h2 id="road-trippin-with-the-tribe-conquering-the-usa-with-my-family">Road Trippin&rsquo; with the Tribe: Conquering the USA with My Family</h2> <p>&ldquo;Are we there yet?&rdquo; Ah, the classic soundtrack of a family road trip. While the journey might have its moments, there&rsquo;s nothing quite like hitting the open road with your loved ones and discovering the diverse landscapes and quirky charm of the USA.</p> <p>This past summer, we packed up the minivan (yes, the minivan!) and embarked on an epic cross-country adventure, from the bustling cities of the East Coast to the majestic national parks of the West. It was a whirlwind of memories, laughter (and a few meltdowns, let&rsquo;s be honest), and experiences that we&rsquo;ll cherish forever.</p> + + + diff --git a/public/en/tags/odoo/index.html b/public/en/tags/odoo/index.html index 0e2b689..51e2678 100644 --- a/public/en/tags/odoo/index.html +++ b/public/en/tags/odoo/index.html @@ -1,300 +1,234 @@ - - - - - - Odoo | - - - - - - - - - - -
-
-
-

🚀 Real Odoo Success Stories — See Where Odoo Shines

-

Discover how companies across industries are transforming with Odoo — from streamlining inventory to automating sales and scaling operations. These are real-world examples of where Odoo kicks ass. 💡 Using Odoo? Share your success story and get featured — with a dofollow backlink to your website as a thank-you. It’s free exposure and great SEO.

-
-
-
- -

- - categories -

- -
- -
- -

- - tags -

- -
-
-
- - - - - - - - -
- - - - - -
-
- - - - - - - - + + + + + + Odoo | this story site + + + + + + + + + + +
+ +
+ +
+
+
+ + +
+ + + + + + + + diff --git a/public/en/tags/odoo/index.xml b/public/en/tags/odoo/index.xml index feffa31..dba91f3 100644 --- a/public/en/tags/odoo/index.xml +++ b/public/en/tags/odoo/index.xml @@ -1,25 +1,25 @@ - Odoo on - https://success.odoo4projects.com/en/tags/odoo/ - Recent content in Odoo on + Odoo on this story site + http://localhost:1313/en/tags/odoo/ + Recent content in Odoo on this story site Hugo en Tue, 10 Jun 2025 12:00:00 +0000 - + Building a Cloud ERP Service with Odoo Community - https://success.odoo4projects.com/en/stories/odoo4projects/ + http://localhost:1313/en/stories/odoo4projects/ Tue, 10 Jun 2025 12:00:00 +0000 - https://success.odoo4projects.com/en/stories/odoo4projects/ + http://localhost:1313/en/stories/odoo4projects/ <p><img src="https://odoo4projects.com/web/image/2890-1713a804/Header_low.png" alt="ODOO4projects"></p> <p>At <a href="https://ODOO4projects.com">ODOO4projects</a>, we specialize in helping businesses succeed with open-source ERP. But we also run our own services on the very same platform — and that’s why we chose to build our <strong>entire cloud ERP hosting infrastructure using Odoo Community V17</strong>.</p> <h2 id="why-odoo-community">Why Odoo Community?</h2> <p>We wanted to test how far Odoo Community could go — and it hasn’t let us down.</p> <ul> <li>100% open-source, no license fees</li> <li>Highly customizable for specific use cases</li> <li>Strong international community support</li> <li>Clear upgrade path and modular design</li> </ul> <p>Our objective was not just to use Odoo, but to <strong>push the limits of what’s possible with Community Edition</strong>.</p> Transforming Our Cattle Farm with Odoo Community - https://success.odoo4projects.com/en/stories/agape/ + http://localhost:1313/en/stories/agape/ Tue, 10 Jun 2025 12:00:00 +0000 - https://success.odoo4projects.com/en/stories/agape/ + http://localhost:1313/en/stories/agape/ <p><img src="https://estancia-agape.com/web/image/1078-81bed64d/agapei-1.svg" alt="Estancia Agapé"></p> <p>Running a cattle farm in Paraguay presents unique challenges — especially when managing operations across <strong>three distinct locations</strong>. At <a href="https://estancia-agape.com">Estancia Agapé</a>, our goal has always been to stay grounded in tradition while embracing innovation to grow sustainably and efficiently. This is why we turned to <strong>Odoo Community</strong>, and the results have exceeded our expectations.</p> <h2 id="why-odoo">Why Odoo?</h2> <p>We evaluated various systems before choosing Odoo Community. The reasons were clear:</p> <ul> <li>Open-source and customizable</li> <li>Robust set of features for inventory, accounting, and logistics</li> <li>Large and active global community</li> <li>No licensing fees</li> </ul> <p>But what truly made the difference was the ability to <strong>host the service online</strong>.</p> diff --git a/public/en/tags/paraguay/index.html b/public/en/tags/paraguay/index.html index 04eb41e..78f648e 100644 --- a/public/en/tags/paraguay/index.html +++ b/public/en/tags/paraguay/index.html @@ -1,300 +1,171 @@ - - - - - - Paraguay | - - - - - - - - - - -
-
-
-

🚀 Real Odoo Success Stories — See Where Odoo Shines

-

Discover how companies across industries are transforming with Odoo — from streamlining inventory to automating sales and scaling operations. These are real-world examples of where Odoo kicks ass. 💡 Using Odoo? Share your success story and get featured — with a dofollow backlink to your website as a thank-you. It’s free exposure and great SEO.

-
-
-
- -

- - categories -

- -
- -
- -

- - tags -

- -
-
-
- - - - - - - - -
- - - - - -
-
- - - - - - - - + + + + + + Paraguay | this story site + + + + + + + + + + +
+ +
+ +
+
+
+ + +
+ + + + + + + + diff --git a/public/en/tags/paraguay/index.xml b/public/en/tags/paraguay/index.xml index 91e70a8..a72fe2a 100644 --- a/public/en/tags/paraguay/index.xml +++ b/public/en/tags/paraguay/index.xml @@ -1,18 +1,18 @@ - Paraguay on - https://success.odoo4projects.com/en/tags/paraguay/ - Recent content in Paraguay on + Paraguay on this story site + http://localhost:1313/en/tags/paraguay/ + Recent content in Paraguay on this story site Hugo en Tue, 10 Jun 2025 12:00:00 +0000 - + Transforming Our Cattle Farm with Odoo Community - https://success.odoo4projects.com/en/stories/agape/ + http://localhost:1313/en/stories/agape/ Tue, 10 Jun 2025 12:00:00 +0000 - https://success.odoo4projects.com/en/stories/agape/ + http://localhost:1313/en/stories/agape/ <p><img src="https://estancia-agape.com/web/image/1078-81bed64d/agapei-1.svg" alt="Estancia Agapé"></p> <p>Running a cattle farm in Paraguay presents unique challenges — especially when managing operations across <strong>three distinct locations</strong>. At <a href="https://estancia-agape.com">Estancia Agapé</a>, our goal has always been to stay grounded in tradition while embracing innovation to grow sustainably and efficiently. This is why we turned to <strong>Odoo Community</strong>, and the results have exceeded our expectations.</p> <h2 id="why-odoo">Why Odoo?</h2> <p>We evaluated various systems before choosing Odoo Community. The reasons were clear:</p> <ul> <li>Open-source and customizable</li> <li>Robust set of features for inventory, accounting, and logistics</li> <li>Large and active global community</li> <li>No licensing fees</li> </ul> <p>But what truly made the difference was the ability to <strong>host the service online</strong>.</p> diff --git a/public/en/tags/relaxation/index.html b/public/en/tags/relaxation/index.html new file mode 100644 index 0000000..f69d5fa --- /dev/null +++ b/public/en/tags/relaxation/index.html @@ -0,0 +1,209 @@ + + + + + + Relaxation | this story site + + + + + + + + + + +
+ +
+ +
+
+
+ + +
+ + + + + + + + diff --git a/public/en/tags/relaxation/index.xml b/public/en/tags/relaxation/index.xml new file mode 100644 index 0000000..009922f --- /dev/null +++ b/public/en/tags/relaxation/index.xml @@ -0,0 +1,26 @@ + + + + Relaxation on this story site + http://localhost:1313/en/tags/relaxation/ + Recent content in Relaxation on this story site + Hugo + en + Tue, 06 May 2025 00:00:00 +0000 + + + Road Trippin' with the Tribe: An Epic Family Adventure Across the USA + http://localhost:1313/en/stories/post4/ + Tue, 06 May 2025 00:00:00 +0000 + http://localhost:1313/en/stories/post4/ + <h2 id="road-trippin-with-the-tribe-conquering-the-usa-with-my-family">Road Trippin&rsquo; with the Tribe: Conquering the USA with My Family</h2> <p>&ldquo;Are we there yet?&rdquo; Ah, the classic soundtrack of a family road trip. While the journey might have its moments, there&rsquo;s nothing quite like hitting the open road with your loved ones and discovering the diverse landscapes and quirky charm of the USA.</p> <p>This past summer, we packed up the minivan (yes, the minivan!) and embarked on an epic cross-country adventure, from the bustling cities of the East Coast to the majestic national parks of the West. It was a whirlwind of memories, laughter (and a few meltdowns, let&rsquo;s be honest), and experiences that we&rsquo;ll cherish forever.</p> + + + Indulge in Paradise: A Luxurious Escape to the Maldives + http://localhost:1313/en/stories/post2/ + Tue, 22 Apr 2025 00:00:00 +0000 + http://localhost:1313/en/stories/post2/ + <h2 id="indulge-in-paradise-my-unforgettable-luxurious-escape-to-the-maldives">Indulge in Paradise: My Unforgettable Luxurious Escape to the Maldives</h2> <p>The word &ldquo;paradise&rdquo; gets thrown around a lot, but trust me, until you&rsquo;ve set foot on the powdery white sands of the Maldives, you haven&rsquo;t truly experienced it. For years, the images of overwater bungalows perched above impossibly turquoise waters have danced in my head, and finally, I had the chance to live that dream.</p> <p>This wasn&rsquo;t just a vacation; it was an immersion in pure luxury, a symphony of breathtaking scenery, impeccable service, and moments of utter tranquility. Let me take you on a journey through my unforgettable escape to this island nation.</p> + + + diff --git a/public/en/tags/road-trip/index.html b/public/en/tags/road-trip/index.html new file mode 100644 index 0000000..1da80e0 --- /dev/null +++ b/public/en/tags/road-trip/index.html @@ -0,0 +1,138 @@ + + + + + + Road Trip | this story site + + + + + + + + + + +
+ +
+ +
+
+
+ + +
+ + + + + + + + diff --git a/public/en/tags/road-trip/index.xml b/public/en/tags/road-trip/index.xml new file mode 100644 index 0000000..16fb659 --- /dev/null +++ b/public/en/tags/road-trip/index.xml @@ -0,0 +1,19 @@ + + + + Road Trip on this story site + http://localhost:1313/en/tags/road-trip/ + Recent content in Road Trip on this story site + Hugo + en + Tue, 06 May 2025 00:00:00 +0000 + + + Road Trippin' with the Tribe: An Epic Family Adventure Across the USA + http://localhost:1313/en/stories/post4/ + Tue, 06 May 2025 00:00:00 +0000 + http://localhost:1313/en/stories/post4/ + <h2 id="road-trippin-with-the-tribe-conquering-the-usa-with-my-family">Road Trippin&rsquo; with the Tribe: Conquering the USA with My Family</h2> <p>&ldquo;Are we there yet?&rdquo; Ah, the classic soundtrack of a family road trip. While the journey might have its moments, there&rsquo;s nothing quite like hitting the open road with your loved ones and discovering the diverse landscapes and quirky charm of the USA.</p> <p>This past summer, we packed up the minivan (yes, the minivan!) and embarked on an epic cross-country adventure, from the bustling cities of the East Coast to the majestic national parks of the West. It was a whirlwind of memories, laughter (and a few meltdowns, let&rsquo;s be honest), and experiences that we&rsquo;ll cherish forever.</p> + + + diff --git a/public/en/tags/solo-travel/index.html b/public/en/tags/solo-travel/index.html new file mode 100644 index 0000000..03e97eb --- /dev/null +++ b/public/en/tags/solo-travel/index.html @@ -0,0 +1,142 @@ + + + + + + Solo Travel | this story site + + + + + + + + + + +
+ +
+ +
+
+
+ + +
+ + + + + + + + diff --git a/public/en/tags/solo-travel/index.xml b/public/en/tags/solo-travel/index.xml new file mode 100644 index 0000000..7f1e9be --- /dev/null +++ b/public/en/tags/solo-travel/index.xml @@ -0,0 +1,19 @@ + + + + Solo Travel on this story site + http://localhost:1313/en/tags/solo-travel/ + Recent content in Solo Travel on this story site + Hugo + en + Tue, 29 Apr 2025 00:00:00 +0000 + + + Empowering Journeys: My Solo Female Travel Adventures in Europe + http://localhost:1313/en/stories/post3/ + Tue, 29 Apr 2025 00:00:00 +0000 + http://localhost:1313/en/stories/post3/ + <h2 id="empowering-journeys-why-solo-female-travel-in-europe-changed-my-life">Empowering Journeys: Why Solo Female Travel in Europe Changed My Life</h2> <p>There&rsquo;s something incredibly liberating about traveling the world on your own terms. As a woman, the idea of solo travel can sometimes feel daunting, filled with questions and maybe even a little fear. But let me tell you, stepping outside your comfort zone and exploring Europe solo was one of the most empowering experiences of my life.</p> <p>I&rsquo;ve wandered through the romantic streets of Paris, explored the ancient ruins of Rome, and marveled at the stunning architecture of Barcelona – all on my own. And while there were definitely moments of navigating unfamiliar situations, the overwhelming feeling was one of freedom, growth, and self-discovery.</p> + + + diff --git a/public/en/tags/southeast-asia/index.html b/public/en/tags/southeast-asia/index.html new file mode 100644 index 0000000..e69a8d0 --- /dev/null +++ b/public/en/tags/southeast-asia/index.html @@ -0,0 +1,142 @@ + + + + + + Southeast Asia | this story site + + + + + + + + + + +
+ +
+ +
+
+
+ + +
+ + + + + + + + diff --git a/public/en/tags/southeast-asia/index.xml b/public/en/tags/southeast-asia/index.xml new file mode 100644 index 0000000..e7395a4 --- /dev/null +++ b/public/en/tags/southeast-asia/index.xml @@ -0,0 +1,19 @@ + + + + Southeast Asia on this story site + http://localhost:1313/en/tags/southeast-asia/ + Recent content in Southeast Asia on this story site + Hugo + en + Tue, 15 Apr 2025 00:00:00 +0000 + + + Southeast Asia on a Shoestring: A 3-Week Backpacking Itinerary + http://localhost:1313/en/stories/post1/ + Tue, 15 Apr 2025 00:00:00 +0000 + http://localhost:1313/en/stories/post1/ + <h2 id="southeast-asia-on-a-shoestring-your-epic-3-week-backpacking-adventure">Southeast Asia on a Shoestring: Your Epic 3-Week Backpacking Adventure</h2> <p>Hey fellow wanderers! If you&rsquo;re dreaming of exotic temples, bustling markets, and breathtaking beaches without emptying your savings account, then Southeast Asia is calling your name. Trust me, this corner of the world is a backpacker&rsquo;s paradise, offering incredible experiences at prices that will make your wallet sing.</p> <p>After countless hostel stays, delicious street food meals, and unforgettable adventures, I&rsquo;ve crafted the perfect 3-week itinerary to give you a taste of the magic in Thailand, Vietnam, and Cambodia. Buckle up, because this is going to be an epic ride!</p> + + + diff --git a/public/en/tags/thailand/index.html b/public/en/tags/thailand/index.html new file mode 100644 index 0000000..3c046aa --- /dev/null +++ b/public/en/tags/thailand/index.html @@ -0,0 +1,142 @@ + + + + + + Thailand | this story site + + + + + + + + + + +
+ +
+ +
+
+
+ + +
+ + + + + + + + diff --git a/public/en/tags/thailand/index.xml b/public/en/tags/thailand/index.xml new file mode 100644 index 0000000..d475537 --- /dev/null +++ b/public/en/tags/thailand/index.xml @@ -0,0 +1,19 @@ + + + + Thailand on this story site + http://localhost:1313/en/tags/thailand/ + Recent content in Thailand on this story site + Hugo + en + Tue, 15 Apr 2025 00:00:00 +0000 + + + Southeast Asia on a Shoestring: A 3-Week Backpacking Itinerary + http://localhost:1313/en/stories/post1/ + Tue, 15 Apr 2025 00:00:00 +0000 + http://localhost:1313/en/stories/post1/ + <h2 id="southeast-asia-on-a-shoestring-your-epic-3-week-backpacking-adventure">Southeast Asia on a Shoestring: Your Epic 3-Week Backpacking Adventure</h2> <p>Hey fellow wanderers! If you&rsquo;re dreaming of exotic temples, bustling markets, and breathtaking beaches without emptying your savings account, then Southeast Asia is calling your name. Trust me, this corner of the world is a backpacker&rsquo;s paradise, offering incredible experiences at prices that will make your wallet sing.</p> <p>After countless hostel stays, delicious street food meals, and unforgettable adventures, I&rsquo;ve crafted the perfect 3-week itinerary to give you a taste of the magic in Thailand, Vietnam, and Cambodia. Buckle up, because this is going to be an epic ride!</p> + + + diff --git a/public/en/tags/travel-tips/index.html b/public/en/tags/travel-tips/index.html new file mode 100644 index 0000000..7e9e112 --- /dev/null +++ b/public/en/tags/travel-tips/index.html @@ -0,0 +1,142 @@ + + + + + + Travel Tips | this story site + + + + + + + + + + +
+ +
+ +
+
+
+ + +
+ + + + + + + + diff --git a/public/en/tags/travel-tips/index.xml b/public/en/tags/travel-tips/index.xml new file mode 100644 index 0000000..23f9e61 --- /dev/null +++ b/public/en/tags/travel-tips/index.xml @@ -0,0 +1,19 @@ + + + + Travel Tips on this story site + http://localhost:1313/en/tags/travel-tips/ + Recent content in Travel Tips on this story site + Hugo + en + Tue, 29 Apr 2025 00:00:00 +0000 + + + Empowering Journeys: My Solo Female Travel Adventures in Europe + http://localhost:1313/en/stories/post3/ + Tue, 29 Apr 2025 00:00:00 +0000 + http://localhost:1313/en/stories/post3/ + <h2 id="empowering-journeys-why-solo-female-travel-in-europe-changed-my-life">Empowering Journeys: Why Solo Female Travel in Europe Changed My Life</h2> <p>There&rsquo;s something incredibly liberating about traveling the world on your own terms. As a woman, the idea of solo travel can sometimes feel daunting, filled with questions and maybe even a little fear. But let me tell you, stepping outside your comfort zone and exploring Europe solo was one of the most empowering experiences of my life.</p> <p>I&rsquo;ve wandered through the romantic streets of Paris, explored the ancient ruins of Rome, and marveled at the stunning architecture of Barcelona – all on my own. And while there were definitely moments of navigating unfamiliar situations, the overwhelming feeling was one of freedom, growth, and self-discovery.</p> + + + diff --git a/public/en/tags/travel-with-kids/index.html b/public/en/tags/travel-with-kids/index.html new file mode 100644 index 0000000..54447da --- /dev/null +++ b/public/en/tags/travel-with-kids/index.html @@ -0,0 +1,138 @@ + + + + + + Travel With Kids | this story site + + + + + + + + + + +
+ +
+ +
+
+
+ + +
+ + + + + + + + diff --git a/public/en/tags/travel-with-kids/index.xml b/public/en/tags/travel-with-kids/index.xml new file mode 100644 index 0000000..a4ef307 --- /dev/null +++ b/public/en/tags/travel-with-kids/index.xml @@ -0,0 +1,19 @@ + + + + Travel With Kids on this story site + http://localhost:1313/en/tags/travel-with-kids/ + Recent content in Travel With Kids on this story site + Hugo + en + Tue, 06 May 2025 00:00:00 +0000 + + + Road Trippin' with the Tribe: An Epic Family Adventure Across the USA + http://localhost:1313/en/stories/post4/ + Tue, 06 May 2025 00:00:00 +0000 + http://localhost:1313/en/stories/post4/ + <h2 id="road-trippin-with-the-tribe-conquering-the-usa-with-my-family">Road Trippin&rsquo; with the Tribe: Conquering the USA with My Family</h2> <p>&ldquo;Are we there yet?&rdquo; Ah, the classic soundtrack of a family road trip. While the journey might have its moments, there&rsquo;s nothing quite like hitting the open road with your loved ones and discovering the diverse landscapes and quirky charm of the USA.</p> <p>This past summer, we packed up the minivan (yes, the minivan!) and embarked on an epic cross-country adventure, from the bustling cities of the East Coast to the majestic national parks of the West. It was a whirlwind of memories, laughter (and a few meltdowns, let&rsquo;s be honest), and experiences that we&rsquo;ll cherish forever.</p> + + + diff --git a/public/en/tags/vietnam/index.html b/public/en/tags/vietnam/index.html new file mode 100644 index 0000000..da4d6d0 --- /dev/null +++ b/public/en/tags/vietnam/index.html @@ -0,0 +1,142 @@ + + + + + + Vietnam | this story site + + + + + + + + + + +
+ +
+ +
+
+
+ + +
+ + + + + + + + diff --git a/public/en/tags/vietnam/index.xml b/public/en/tags/vietnam/index.xml new file mode 100644 index 0000000..675238f --- /dev/null +++ b/public/en/tags/vietnam/index.xml @@ -0,0 +1,19 @@ + + + + Vietnam on this story site + http://localhost:1313/en/tags/vietnam/ + Recent content in Vietnam on this story site + Hugo + en + Tue, 15 Apr 2025 00:00:00 +0000 + + + Southeast Asia on a Shoestring: A 3-Week Backpacking Itinerary + http://localhost:1313/en/stories/post1/ + Tue, 15 Apr 2025 00:00:00 +0000 + http://localhost:1313/en/stories/post1/ + <h2 id="southeast-asia-on-a-shoestring-your-epic-3-week-backpacking-adventure">Southeast Asia on a Shoestring: Your Epic 3-Week Backpacking Adventure</h2> <p>Hey fellow wanderers! If you&rsquo;re dreaming of exotic temples, bustling markets, and breathtaking beaches without emptying your savings account, then Southeast Asia is calling your name. Trust me, this corner of the world is a backpacker&rsquo;s paradise, offering incredible experiences at prices that will make your wallet sing.</p> <p>After countless hostel stays, delicious street food meals, and unforgettable adventures, I&rsquo;ve crafted the perfect 3-week itinerary to give you a taste of the magic in Thailand, Vietnam, and Cambodia. Buckle up, because this is going to be an epic ride!</p> + + + diff --git a/public/es/authors/alice-johnson/index.html b/public/es/authors/alice-johnson/index.html new file mode 100644 index 0000000..91cf6c9 --- /dev/null +++ b/public/es/authors/alice-johnson/index.html @@ -0,0 +1,130 @@ + + + + + + Alice Johnson | este sitio de historias + + + + + + + + + + +
+ +
+ +
+
+
+ + +
+ + + + + + + + diff --git a/public/es/authors/alice-johnson/index.xml b/public/es/authors/alice-johnson/index.xml new file mode 100644 index 0000000..42a051f --- /dev/null +++ b/public/es/authors/alice-johnson/index.xml @@ -0,0 +1,19 @@ + + + + Alice Johnson on este sitio de historias + http://localhost:1313/es/authors/alice-johnson/ + Recent content in Alice Johnson on este sitio de historias + Hugo + es + Wed, 04 Oct 2023 00:00:00 +0000 + + + The Cultural Significance of Comfort Foods + http://localhost:1313/es/stories/post4/ + Wed, 04 Oct 2023 00:00:00 +0000 + http://localhost:1313/es/stories/post4/ + <h3 id="post-1-the-cultural-significance-of-comfort-foods">Post 1: The Cultural Significance of Comfort Foods</h3> <p>Comfort foods are often tied to our memories and cultural backgrounds. Let’s explore the stories behind some beloved comfort foods.</p> <ul> <li><strong>Mac and Cheese</strong>: A staple in American households, this dish has roots in Italy and has evolved into various regional variations.</li> <li><strong>Ramen</strong>: Originating from China, ramen has become a symbol of Japanese cuisine, with each region offering its unique twist.</li> <li><strong>Tacos</strong>: A traditional Mexican dish, tacos reflect the country’s diverse culinary heritage and regional ingredients.</li> <li><strong>Curry</strong>: With origins in South Asia, curry has traveled the world, adapting to local tastes and ingredients.</li> <li><strong>Biryani</strong>: This fragrant rice dish has a rich history, blending Persian and Indian culinary traditions.</li> </ul> + + + diff --git a/public/es/authors/charlie-brown/index.html b/public/es/authors/charlie-brown/index.html new file mode 100644 index 0000000..4707338 --- /dev/null +++ b/public/es/authors/charlie-brown/index.html @@ -0,0 +1,130 @@ + + + + + + Charlie Brown | este sitio de historias + + + + + + + + + + +
+ +
+ +
+
+
+ + +
+ + + + + + + + diff --git a/public/es/authors/charlie-brown/index.xml b/public/es/authors/charlie-brown/index.xml new file mode 100644 index 0000000..ca42abf --- /dev/null +++ b/public/es/authors/charlie-brown/index.xml @@ -0,0 +1,19 @@ + + + + Charlie Brown on este sitio de historias + http://localhost:1313/es/authors/charlie-brown/ + Recent content in Charlie Brown on este sitio de historias + Hugo + es + Tue, 03 Oct 2023 00:00:00 +0000 + + + Sanity-Saving Kitchen Hacks for Busy Families + http://localhost:1313/es/stories/post3/ + Tue, 03 Oct 2023 00:00:00 +0000 + http://localhost:1313/es/stories/post3/ + <h3 id="post-3-sanity-saving-kitchen-hacks-for-busy-families">Post 3: Sanity-Saving Kitchen Hacks for Busy Families</h3> <p>When life gets hectic, these kitchen hacks can help keep your sanity intact while cooking for your family.</p> <ol> <li><strong>Meal Prep Sundays</strong>: Dedicate Sundays to meal prep to make weeknight cooking easier.</li> <li><strong>Involve the Kids</strong>: Get your children involved in cooking to make it a fun family activity.</li> <li><strong>Use a Slow Cooker or Instant Pot</strong>: These appliances can save you time and effort on busy nights.</li> <li><strong>Create a Family Recipe Book</strong>: Compile favorite family recipes to make meal planning easier.</li> <li><strong>Set Up a Snack Station</strong>: Prepare healthy snacks in advance to keep everyone satisfied.</li> <li><strong>Use a Whiteboard for Meal Planning</strong>: Write down meals for the week on a whiteboard for easy reference.</li> <li><strong>Keep a Well-Stocked Pantry</strong>: Stock up on essentials to make quick meals without a trip to the store.</li> <li><strong>Make Breakfast Ahead</strong>: Prepare breakfast items like overnight oats or muffins in advance.</li> <li><strong>Embrace Leftover Nights</strong>: Designate one night a week for using up leftovers to reduce waste.</li> </ol> + + + diff --git a/public/es/authors/emma-green/index.html b/public/es/authors/emma-green/index.html new file mode 100644 index 0000000..4f4a359 --- /dev/null +++ b/public/es/authors/emma-green/index.html @@ -0,0 +1,130 @@ + + + + + + Emma Green | este sitio de historias + + + + + + + + + + +
+ +
+ +
+
+
+ + +
+ + + + + + + + diff --git a/public/es/authors/emma-green/index.xml b/public/es/authors/emma-green/index.xml new file mode 100644 index 0000000..0311542 --- /dev/null +++ b/public/es/authors/emma-green/index.xml @@ -0,0 +1,19 @@ + + + + Emma Green on este sitio de historias + http://localhost:1313/es/authors/emma-green/ + Recent content in Emma Green on este sitio de historias + Hugo + es + Tue, 10 Oct 2023 00:00:00 +0000 + + + Plant-Powered Perfection: Delicious and Easy Vegan Meals for Busy Weeknights + http://localhost:1313/es/stories/post5/ + Tue, 10 Oct 2023 00:00:00 +0000 + http://localhost:1313/es/stories/post5/ + <h2 id="plant-powered-perfection-delicious-and-easy-vegan-meals-for-busy-weeknights">Plant-Powered Perfection: Delicious and Easy Vegan Meals for Busy Weeknights</h2> <p>In today’s fast-paced world, finding time to prepare healthy meals can be a challenge, especially for those following a vegan lifestyle. But fear not! We’ve compiled a list of delicious and easy vegan meals that are perfect for busy weeknights. These recipes are not only quick to prepare but also packed with flavor and nutrients. Let’s dive into the world of plant-powered perfection!</p> + + + diff --git a/public/es/authors/index.html b/public/es/authors/index.html new file mode 100644 index 0000000..1409be3 --- /dev/null +++ b/public/es/authors/index.html @@ -0,0 +1,104 @@ + + + + + + Authors | este sitio de historias + + + + + + + + + + +
+ +
+ +
+
+
+ + +
+ + + + + + + + diff --git a/public/es/authors/index.xml b/public/es/authors/index.xml new file mode 100644 index 0000000..7febfd2 --- /dev/null +++ b/public/es/authors/index.xml @@ -0,0 +1,11 @@ + + + + Authors on este sitio de historias + http://localhost:1313/es/authors/ + Recent content in Authors on este sitio de historias + Hugo + es + + + diff --git a/public/es/authors/wanderlust-willow/index.html b/public/es/authors/wanderlust-willow/index.html new file mode 100644 index 0000000..8f26569 --- /dev/null +++ b/public/es/authors/wanderlust-willow/index.html @@ -0,0 +1,185 @@ + + + + + + Wanderlust Willow | este sitio de historias + + + + + + + + + + +
+ +
+ +
+
+
+ + +
+ + + + + + + + diff --git a/public/es/authors/wanderlust-willow/index.xml b/public/es/authors/wanderlust-willow/index.xml new file mode 100644 index 0000000..3ff6689 --- /dev/null +++ b/public/es/authors/wanderlust-willow/index.xml @@ -0,0 +1,26 @@ + + + + Wanderlust Willow on este sitio de historias + http://localhost:1313/es/authors/wanderlust-willow/ + Recent content in Wanderlust Willow on este sitio de historias + Hugo + es + Mon, 02 Oct 2023 00:00:00 +0000 + + + Budget-Friendly Kitchen Hacks to Save You Money + http://localhost:1313/es/stories/post2/ + Mon, 02 Oct 2023 00:00:00 +0000 + http://localhost:1313/es/stories/post2/ + <h3 id="post-2-budget-friendly-kitchen-hacks-to-save-you-money">Post 2: Budget-Friendly Kitchen Hacks to Save You Money</h3> <p>Eating well doesn’t have to break the bank. Here are some budget-friendly kitchen hacks to help you save money while cooking.</p> <ol> <li><strong>Buy in Bulk</strong>: Purchase staples like rice, beans, and pasta in bulk to save money.</li> <li><strong>Use Leftovers Creatively</strong>: Transform leftovers into new meals to reduce waste.</li> <li><strong>Grow Your Own Herbs</strong>: Start a small herb garden to save on fresh herbs.</li> <li><strong>Make Your Own Sauces</strong>: Homemade sauces can be cheaper and healthier than store-bought options.</li> <li><strong>Plan Your Grocery List</strong>: Stick to a list to avoid impulse buys at the grocery store.</li> <li><strong>Use Seasonal Produce</strong>: Buy fruits and vegetables that are in season for better prices and flavor.</li> <li><strong>Freeze Extra Portions</strong>: Save money by freezing extra portions of meals for future use.</li> <li><strong>DIY Cleaning Supplies</strong>: Make your own cleaning supplies to save on costs.</li> <li><strong>Shop Sales and Coupons</strong>: Keep an eye out for sales and use coupons to save on groceries.</li> </ol> + + + 10 Time-Saving Kitchen Hacks You Need to Try + http://localhost:1313/es/stories/post1/ + Sun, 01 Oct 2023 00:00:00 +0000 + http://localhost:1313/es/stories/post1/ + <h3 id="post-1-10-time-saving-kitchen-hacks-you-need-to-try">Post 1: 10 Time-Saving Kitchen Hacks You Need to Try</h3> <p>Cooking can be a time-consuming task, but with these kitchen hacks, you can streamline your process and get meals on the table faster.</p> <ol> <li><strong>Pre-chop Vegetables</strong>: Spend a few minutes chopping vegetables at the beginning of the week and store them in airtight containers.</li> <li><strong>Use a Slow Cooker</strong>: Prepare meals in the morning and let your slow cooker do the work while you go about your day.</li> <li><strong>Batch Cooking</strong>: Cook large portions of meals and freeze them for later use.</li> <li><strong>One-Pan Meals</strong>: Reduce cleanup time by making meals that can be cooked in a single pan.</li> <li><strong>Microwave Hacks</strong>: Use your microwave to quickly steam vegetables or reheat leftovers.</li> <li><strong>Invest in Quality Tools</strong>: A good knife and cutting board can save you time and effort.</li> <li><strong>Organize Your Pantry</strong>: Keep your pantry organized to easily find ingredients and avoid duplicate purchases.</li> <li><strong>Use a Food Processor</strong>: Speed up chopping, slicing, and grating tasks with a food processor.</li> <li><strong>Plan Your Meals</strong>: Create a weekly meal plan to save time on grocery shopping and cooking.</li> </ol> + + + diff --git a/public/es/categories/0-5/index.html b/public/es/categories/0-5/index.html index a387b25..50dbcbf 100644 --- a/public/es/categories/0-5/index.html +++ b/public/es/categories/0-5/index.html @@ -1,300 +1,171 @@ - - - - - - 0-5 | - - - - - - - - - - -
-
-
-

🚀 Historias de éxito reales de Odoo: descubre dónde destaca Odoo

-

Descubre cómo empresas de todos los sectores se están transformando con Odoo, desde la optimización del inventario hasta la automatización de las ventas y la ampliación de las operaciones. Estos son ejemplos reales de cómo Odoo es un éxito rotundo. 💡 ¿Usas Odoo? Comparte tu historia de éxito y consigue visibilidad destacada con un backlink dofollow a tu sitio web como agradecimiento. Es visibilidad gratuita y un excelente SEO.

-
-
-
- -

- - categorías -

- -
- -
- -

- - etiquetas -

- -
-
-
- - - - - - - - -
- - - - - -
-
- - - - - - - - + + + + + + 0-5 | este sitio de historias + + + + + + + + + + +
+ +
+ +
+
+
+ + +
+ + + + + + + + diff --git a/public/es/categories/0-5/index.xml b/public/es/categories/0-5/index.xml index e5dfb9b..d264fa0 100644 --- a/public/es/categories/0-5/index.xml +++ b/public/es/categories/0-5/index.xml @@ -1,19 +1,19 @@ - 0-5 on - https://success.odoo4projects.com/es/categories/0-5/ - Recent content in 0-5 on + 0-5 on este sitio de historias + http://localhost:1313/es/categories/0-5/ + Recent content in 0-5 on este sitio de historias Hugo es Tue, 10 Jun 2025 12:00:00 +0000 - + - Transformando Nuestra Granja de Ganado con Odoo Community - https://success.odoo4projects.com/es/stories/agape/ + Transforming Our Cattle Farm with Odoo Community + http://localhost:1313/es/stories/agape/ Tue, 10 Jun 2025 12:00:00 +0000 - https://success.odoo4projects.com/es/stories/agape/ - <p><img src="https://estancia-agape.com/web/image/1078-81bed64d/agapei-1.svg" alt="Estancia Agapé"></p> <p>Operar una granja de ganado en Paraguay presenta desafíos únicos, especialmente cuando se manejan operaciones en <strong>tres ubicaciones distintas</strong>. En <a href="https://estancia-agape.com">Estancia Agapé</a>, nuestro objetivo siempre ha sido mantenernos arraigados en la tradición mientras abrazamos la innovación para crecer de manera sostenible y eficiente. Por esto recurrimos a <strong>Odoo Community</strong>, y los resultados han superado nuestras expectativas.</p> <h2 id="por-qué-odoo">¿Por qué Odoo?</h2> <p>Evaluamos varios sistemas antes de elegir Odoo Community. Las razones fueron claras:</p> + http://localhost:1313/es/stories/agape/ + <p><img src="https://estancia-agape.com/web/image/1078-81bed64d/agapei-1.svg" alt="Estancia Agapé"></p> <p>Running a cattle farm in Paraguay presents unique challenges — especially when managing operations across <strong>three distinct locations</strong>. At <a href="https://estancia-agape.com">Estancia Agapé</a>, our goal has always been to stay grounded in tradition while embracing innovation to grow sustainably and efficiently. This is why we turned to <strong>Odoo Community</strong>, and the results have exceeded our expectations.</p> <h2 id="why-odoo">Why Odoo?</h2> <p>We evaluated various systems before choosing Odoo Community. The reasons were clear:</p> <ul> <li>Open-source and customizable</li> <li>Robust set of features for inventory, accounting, and logistics</li> <li>Large and active global community</li> <li>No licensing fees</li> </ul> <p>But what truly made the difference was the ability to <strong>host the service online</strong>.</p> diff --git a/public/es/categories/5-10/index.html b/public/es/categories/5-10/index.html index ce6e8e8..b6e3083 100644 --- a/public/es/categories/5-10/index.html +++ b/public/es/categories/5-10/index.html @@ -1,300 +1,167 @@ - - - - - - 5-10 | - - - - - - - - - - -
-
-
-

🚀 Historias de éxito reales de Odoo: descubre dónde destaca Odoo

-

Descubre cómo empresas de todos los sectores se están transformando con Odoo, desde la optimización del inventario hasta la automatización de las ventas y la ampliación de las operaciones. Estos son ejemplos reales de cómo Odoo es un éxito rotundo. 💡 ¿Usas Odoo? Comparte tu historia de éxito y consigue visibilidad destacada con un backlink dofollow a tu sitio web como agradecimiento. Es visibilidad gratuita y un excelente SEO.

-
-
-
- -

- - categorías -

- -
- -
- -

- - etiquetas -

- -
-
-
- - - - - - - - -
- - - - - -
-
- - - - - - - - + + + + + + 5-10 | este sitio de historias + + + + + + + + + + +
+ +
+ +
+
+
+ + +
+ + + + + + + + diff --git a/public/es/categories/5-10/index.xml b/public/es/categories/5-10/index.xml index 608fe0c..aed5987 100644 --- a/public/es/categories/5-10/index.xml +++ b/public/es/categories/5-10/index.xml @@ -1,18 +1,18 @@ - 5-10 on - https://success.odoo4projects.com/es/categories/5-10/ - Recent content in 5-10 on + 5-10 on este sitio de historias + http://localhost:1313/es/categories/5-10/ + Recent content in 5-10 on este sitio de historias Hugo es Tue, 10 Jun 2025 12:00:00 +0000 - + Construyendo un Servicio de ERP en la Nube con Odoo Community - https://success.odoo4projects.com/es/stories/odoo4projects/ + http://localhost:1313/es/stories/odoo4projects/ Tue, 10 Jun 2025 12:00:00 +0000 - https://success.odoo4projects.com/es/stories/odoo4projects/ + http://localhost:1313/es/stories/odoo4projects/ <p><img src="https://odoo4projects.com/web/image/2890-1713a804/Header_low.png" alt="ODOO4projects"></p> <p>En <a href="https://ODOO4projects.com">ODOO4projects</a>, nos especializamos en ayudar a las empresas a tener éxito con el ERP de código abierto. Pero también ejecutamos nuestros propios servicios en la misma plataforma, y es por eso que decidimos construir nuestra <strong>infraestructura de alojamiento de ERP en la nube utilizando Odoo Community V17</strong>.</p> <h2 id="por-qué-odoo-community">¿Por qué Odoo Community?</h2> <p>Queríamos probar hasta dónde podía llegar Odoo Community, y no nos ha decepcionado.</p> <ul> <li>100% de código abierto, sin tasas de licencia</li> <li>Altamente personalizable para casos de uso específicos</li> <li>Fuerte soporte de la comunidad internacional</li> <li>Ruta de actualización clara y diseño modular</li> </ul> <p>Nuestro objetivo no era solo usar Odoo, sino <strong>llegar al límite de lo que es posible con la Edición Comunitaria</strong>.</p> diff --git a/public/es/categories/farm/index.html b/public/es/categories/farm/index.html new file mode 100644 index 0000000..7a9f8e7 --- /dev/null +++ b/public/es/categories/farm/index.html @@ -0,0 +1,171 @@ + + + + + + Farm | este sitio de historias + + + + + + + + + + +
+ +
+ +
+
+
+ + +
+ + + + + + + + diff --git a/public/es/categories/farm/index.xml b/public/es/categories/farm/index.xml new file mode 100644 index 0000000..74e7695 --- /dev/null +++ b/public/es/categories/farm/index.xml @@ -0,0 +1,19 @@ + + + + Farm on este sitio de historias + http://localhost:1313/es/categories/farm/ + Recent content in Farm on este sitio de historias + Hugo + es + Tue, 10 Jun 2025 12:00:00 +0000 + + + Transforming Our Cattle Farm with Odoo Community + http://localhost:1313/es/stories/agape/ + Tue, 10 Jun 2025 12:00:00 +0000 + http://localhost:1313/es/stories/agape/ + <p><img src="https://estancia-agape.com/web/image/1078-81bed64d/agapei-1.svg" alt="Estancia Agapé"></p> <p>Running a cattle farm in Paraguay presents unique challenges — especially when managing operations across <strong>three distinct locations</strong>. At <a href="https://estancia-agape.com">Estancia Agapé</a>, our goal has always been to stay grounded in tradition while embracing innovation to grow sustainably and efficiently. This is why we turned to <strong>Odoo Community</strong>, and the results have exceeded our expectations.</p> <h2 id="why-odoo">Why Odoo?</h2> <p>We evaluated various systems before choosing Odoo Community. The reasons were clear:</p> <ul> <li>Open-source and customizable</li> <li>Robust set of features for inventory, accounting, and logistics</li> <li>Large and active global community</li> <li>No licensing fees</li> </ul> <p>But what truly made the difference was the ability to <strong>host the service online</strong>.</p> + + + diff --git a/public/es/categories/food-culture/index.html b/public/es/categories/food-culture/index.html new file mode 100644 index 0000000..dc2a061 --- /dev/null +++ b/public/es/categories/food-culture/index.html @@ -0,0 +1,130 @@ + + + + + + Food Culture | este sitio de historias + + + + + + + + + + +
+ +
+ +
+
+
+ + +
+ + + + + + + + diff --git a/public/es/categories/food-culture/index.xml b/public/es/categories/food-culture/index.xml new file mode 100644 index 0000000..fce23fb --- /dev/null +++ b/public/es/categories/food-culture/index.xml @@ -0,0 +1,19 @@ + + + + Food Culture on este sitio de historias + http://localhost:1313/es/categories/food-culture/ + Recent content in Food Culture on este sitio de historias + Hugo + es + Wed, 04 Oct 2023 00:00:00 +0000 + + + The Cultural Significance of Comfort Foods + http://localhost:1313/es/stories/post4/ + Wed, 04 Oct 2023 00:00:00 +0000 + http://localhost:1313/es/stories/post4/ + <h3 id="post-1-the-cultural-significance-of-comfort-foods">Post 1: The Cultural Significance of Comfort Foods</h3> <p>Comfort foods are often tied to our memories and cultural backgrounds. Let’s explore the stories behind some beloved comfort foods.</p> <ul> <li><strong>Mac and Cheese</strong>: A staple in American households, this dish has roots in Italy and has evolved into various regional variations.</li> <li><strong>Ramen</strong>: Originating from China, ramen has become a symbol of Japanese cuisine, with each region offering its unique twist.</li> <li><strong>Tacos</strong>: A traditional Mexican dish, tacos reflect the country’s diverse culinary heritage and regional ingredients.</li> <li><strong>Curry</strong>: With origins in South Asia, curry has traveled the world, adapting to local tastes and ingredients.</li> <li><strong>Biryani</strong>: This fragrant rice dish has a rich history, blending Persian and Indian culinary traditions.</li> </ul> + + + diff --git a/public/es/categories/granja/index.html b/public/es/categories/granja/index.html index bab6268..4b57cb6 100644 --- a/public/es/categories/granja/index.html +++ b/public/es/categories/granja/index.html @@ -1,6 +1,6 @@ - + Granja | @@ -150,7 +150,7 @@ Construyendo un Servicio de ERP en la Nube con Odoo Community
- +

Construyendo un Servicio de ERP en la Nube con Odoo Community

@@ -212,7 +212,7 @@ Transformando Nuestra Granja de Ganado con Odoo Community

- +

Transformando Nuestra Granja de Ganado con Odoo Community

diff --git a/public/es/categories/granja/index.xml b/public/es/categories/granja/index.xml index b1ce1c5..9d92f40 100644 --- a/public/es/categories/granja/index.xml +++ b/public/es/categories/granja/index.xml @@ -2,17 +2,17 @@ Granja on - https://success.odoo4projects.com/es/categories/granja/ + http://localhost:1313/es/categories/granja/ Recent content in Granja on Hugo es Tue, 10 Jun 2025 12:00:00 +0000 - + Transformando Nuestra Granja de Ganado con Odoo Community - https://success.odoo4projects.com/es/stories/agape/ + http://localhost:1313/es/stories/agape/ Tue, 10 Jun 2025 12:00:00 +0000 - https://success.odoo4projects.com/es/stories/agape/ + http://localhost:1313/es/stories/agape/ <p><img src="https://estancia-agape.com/web/image/1078-81bed64d/agapei-1.svg" alt="Estancia Agapé"></p> <p>Operar una granja de ganado en Paraguay presenta desafíos únicos, especialmente cuando se manejan operaciones en <strong>tres ubicaciones distintas</strong>. En <a href="https://estancia-agape.com">Estancia Agapé</a>, nuestro objetivo siempre ha sido mantenernos arraigados en la tradición mientras abrazamos la innovación para crecer de manera sostenible y eficiente. Por esto recurrimos a <strong>Odoo Community</strong>, y los resultados han superado nuestras expectativas.</p> <h2 id="por-qué-odoo">¿Por qué Odoo?</h2> <p>Evaluamos varios sistemas antes de elegir Odoo Community. Las razones fueron claras:</p> diff --git a/public/es/categories/index.html b/public/es/categories/index.html index 215f3af..3421ef1 100644 --- a/public/es/categories/index.html +++ b/public/es/categories/index.html @@ -1,300 +1,260 @@ - - - - - - Categories | - - - - - - - - -

- -
-
-
-

🚀 Historias de éxito reales de Odoo: descubre dónde destaca Odoo

-

Descubre cómo empresas de todos los sectores se están transformando con Odoo, desde la optimización del inventario hasta la automatización de las ventas y la ampliación de las operaciones. Estos son ejemplos reales de cómo Odoo es un éxito rotundo. 💡 ¿Usas Odoo? Comparte tu historia de éxito y consigue visibilidad destacada con un backlink dofollow a tu sitio web como agradecimiento. Es visibilidad gratuita y un excelente SEO.

-
-
-
- -

- - categorías -

- -
- -
- -

- - etiquetas -

- -
-
-
- - - - - - - - -
- - - - - -
-
- - - - - - - - + + + + + + Categories | este sitio de historias + + + + + + + + + + +
+ +
+
+ 0-5 +
+ +

0-5

+
+

+ +
+ +
+ +
+ +
+ + +
+ + +
+ + +
+
+ +
+ + +
+
+
+ 5-10 +
+ +

5-10

+
+

+ +
+ +
+ +
+ +
+ + +
+ + +
+ + +
+
+ +
+ + +
+
+
+ Farm +
+ +

Farm

+
+

+ +
+ +
+ +
+ +
+ + +
+ + +
+ + +
+
+ +
+ + +
+
+
+ IT +
+ +

IT

+
+

+ +
+ +
+ +
+ +
+ + +
+ + +
+ + +
+
+ +
+ + +
+
+
+
+
+
+ + +
+ + + + + + + + diff --git a/public/es/categories/index.xml b/public/es/categories/index.xml index eb96b13..6b2725b 100644 --- a/public/es/categories/index.xml +++ b/public/es/categories/index.xml @@ -1,39 +1,39 @@ - Categories on - https://success.odoo4projects.com/es/categories/ - Recent content in Categories on + Categories on este sitio de historias + http://localhost:1313/es/categories/ + Recent content in Categories on este sitio de historias Hugo es Tue, 10 Jun 2025 12:00:00 +0000 - + 0-5 - https://success.odoo4projects.com/es/categories/0-5/ + http://localhost:1313/es/categories/0-5/ Tue, 10 Jun 2025 12:00:00 +0000 - https://success.odoo4projects.com/es/categories/0-5/ + http://localhost:1313/es/categories/0-5/ 5-10 - https://success.odoo4projects.com/es/categories/5-10/ + http://localhost:1313/es/categories/5-10/ Tue, 10 Jun 2025 12:00:00 +0000 - https://success.odoo4projects.com/es/categories/5-10/ + http://localhost:1313/es/categories/5-10/ - Granja - https://success.odoo4projects.com/es/categories/granja/ + Farm + http://localhost:1313/es/categories/farm/ Tue, 10 Jun 2025 12:00:00 +0000 - https://success.odoo4projects.com/es/categories/granja/ + http://localhost:1313/es/categories/farm/ IT - https://success.odoo4projects.com/es/categories/it/ + http://localhost:1313/es/categories/it/ Tue, 10 Jun 2025 12:00:00 +0000 - https://success.odoo4projects.com/es/categories/it/ + http://localhost:1313/es/categories/it/ diff --git a/public/es/categories/it/index.html b/public/es/categories/it/index.html index cf0105d..5f0ed29 100644 --- a/public/es/categories/it/index.html +++ b/public/es/categories/it/index.html @@ -1,300 +1,167 @@ - - - - - - IT | - - - - - - - - - - -
-
-
-

🚀 Historias de éxito reales de Odoo: descubre dónde destaca Odoo

-

Descubre cómo empresas de todos los sectores se están transformando con Odoo, desde la optimización del inventario hasta la automatización de las ventas y la ampliación de las operaciones. Estos son ejemplos reales de cómo Odoo es un éxito rotundo. 💡 ¿Usas Odoo? Comparte tu historia de éxito y consigue visibilidad destacada con un backlink dofollow a tu sitio web como agradecimiento. Es visibilidad gratuita y un excelente SEO.

-
-
-
- -

- - categorías -

- -
- -
- -

- - etiquetas -

- -
-
-
- - - - - - - - -
- - - - - -
-
- - - - - - - - + + + + + + IT | este sitio de historias + + + + + + + + + + +
+ +
+ +
+
+
+ + +
+ + + + + + + + diff --git a/public/es/categories/it/index.xml b/public/es/categories/it/index.xml index 0115f96..5934e14 100644 --- a/public/es/categories/it/index.xml +++ b/public/es/categories/it/index.xml @@ -1,18 +1,18 @@ - IT on - https://success.odoo4projects.com/es/categories/it/ - Recent content in IT on + IT on este sitio de historias + http://localhost:1313/es/categories/it/ + Recent content in IT on este sitio de historias Hugo es Tue, 10 Jun 2025 12:00:00 +0000 - + Construyendo un Servicio de ERP en la Nube con Odoo Community - https://success.odoo4projects.com/es/stories/odoo4projects/ + http://localhost:1313/es/stories/odoo4projects/ Tue, 10 Jun 2025 12:00:00 +0000 - https://success.odoo4projects.com/es/stories/odoo4projects/ + http://localhost:1313/es/stories/odoo4projects/ <p><img src="https://odoo4projects.com/web/image/2890-1713a804/Header_low.png" alt="ODOO4projects"></p> <p>En <a href="https://ODOO4projects.com">ODOO4projects</a>, nos especializamos en ayudar a las empresas a tener éxito con el ERP de código abierto. Pero también ejecutamos nuestros propios servicios en la misma plataforma, y es por eso que decidimos construir nuestra <strong>infraestructura de alojamiento de ERP en la nube utilizando Odoo Community V17</strong>.</p> <h2 id="por-qué-odoo-community">¿Por qué Odoo Community?</h2> <p>Queríamos probar hasta dónde podía llegar Odoo Community, y no nos ha decepcionado.</p> <ul> <li>100% de código abierto, sin tasas de licencia</li> <li>Altamente personalizable para casos de uso específicos</li> <li>Fuerte soporte de la comunidad internacional</li> <li>Ruta de actualización clara y diseño modular</li> </ul> <p>Nuestro objetivo no era solo usar Odoo, sino <strong>llegar al límite de lo que es posible con la Edición Comunitaria</strong>.</p> diff --git a/public/es/categories/kitchen-hacks/index.html b/public/es/categories/kitchen-hacks/index.html new file mode 100644 index 0000000..031c1df --- /dev/null +++ b/public/es/categories/kitchen-hacks/index.html @@ -0,0 +1,240 @@ + + + + + + Kitchen Hacks | este sitio de historias + + + + + + + + + + +
+ +
+ +
+
+
+ + +
+ + + + + + + + diff --git a/public/es/categories/kitchen-hacks/index.xml b/public/es/categories/kitchen-hacks/index.xml new file mode 100644 index 0000000..aeef5bf --- /dev/null +++ b/public/es/categories/kitchen-hacks/index.xml @@ -0,0 +1,33 @@ + + + + Kitchen Hacks on este sitio de historias + http://localhost:1313/es/categories/kitchen-hacks/ + Recent content in Kitchen Hacks on este sitio de historias + Hugo + es + Tue, 03 Oct 2023 00:00:00 +0000 + + + Sanity-Saving Kitchen Hacks for Busy Families + http://localhost:1313/es/stories/post3/ + Tue, 03 Oct 2023 00:00:00 +0000 + http://localhost:1313/es/stories/post3/ + <h3 id="post-3-sanity-saving-kitchen-hacks-for-busy-families">Post 3: Sanity-Saving Kitchen Hacks for Busy Families</h3> <p>When life gets hectic, these kitchen hacks can help keep your sanity intact while cooking for your family.</p> <ol> <li><strong>Meal Prep Sundays</strong>: Dedicate Sundays to meal prep to make weeknight cooking easier.</li> <li><strong>Involve the Kids</strong>: Get your children involved in cooking to make it a fun family activity.</li> <li><strong>Use a Slow Cooker or Instant Pot</strong>: These appliances can save you time and effort on busy nights.</li> <li><strong>Create a Family Recipe Book</strong>: Compile favorite family recipes to make meal planning easier.</li> <li><strong>Set Up a Snack Station</strong>: Prepare healthy snacks in advance to keep everyone satisfied.</li> <li><strong>Use a Whiteboard for Meal Planning</strong>: Write down meals for the week on a whiteboard for easy reference.</li> <li><strong>Keep a Well-Stocked Pantry</strong>: Stock up on essentials to make quick meals without a trip to the store.</li> <li><strong>Make Breakfast Ahead</strong>: Prepare breakfast items like overnight oats or muffins in advance.</li> <li><strong>Embrace Leftover Nights</strong>: Designate one night a week for using up leftovers to reduce waste.</li> </ol> + + + Budget-Friendly Kitchen Hacks to Save You Money + http://localhost:1313/es/stories/post2/ + Mon, 02 Oct 2023 00:00:00 +0000 + http://localhost:1313/es/stories/post2/ + <h3 id="post-2-budget-friendly-kitchen-hacks-to-save-you-money">Post 2: Budget-Friendly Kitchen Hacks to Save You Money</h3> <p>Eating well doesn’t have to break the bank. Here are some budget-friendly kitchen hacks to help you save money while cooking.</p> <ol> <li><strong>Buy in Bulk</strong>: Purchase staples like rice, beans, and pasta in bulk to save money.</li> <li><strong>Use Leftovers Creatively</strong>: Transform leftovers into new meals to reduce waste.</li> <li><strong>Grow Your Own Herbs</strong>: Start a small herb garden to save on fresh herbs.</li> <li><strong>Make Your Own Sauces</strong>: Homemade sauces can be cheaper and healthier than store-bought options.</li> <li><strong>Plan Your Grocery List</strong>: Stick to a list to avoid impulse buys at the grocery store.</li> <li><strong>Use Seasonal Produce</strong>: Buy fruits and vegetables that are in season for better prices and flavor.</li> <li><strong>Freeze Extra Portions</strong>: Save money by freezing extra portions of meals for future use.</li> <li><strong>DIY Cleaning Supplies</strong>: Make your own cleaning supplies to save on costs.</li> <li><strong>Shop Sales and Coupons</strong>: Keep an eye out for sales and use coupons to save on groceries.</li> </ol> + + + 10 Time-Saving Kitchen Hacks You Need to Try + http://localhost:1313/es/stories/post1/ + Sun, 01 Oct 2023 00:00:00 +0000 + http://localhost:1313/es/stories/post1/ + <h3 id="post-1-10-time-saving-kitchen-hacks-you-need-to-try">Post 1: 10 Time-Saving Kitchen Hacks You Need to Try</h3> <p>Cooking can be a time-consuming task, but with these kitchen hacks, you can streamline your process and get meals on the table faster.</p> <ol> <li><strong>Pre-chop Vegetables</strong>: Spend a few minutes chopping vegetables at the beginning of the week and store them in airtight containers.</li> <li><strong>Use a Slow Cooker</strong>: Prepare meals in the morning and let your slow cooker do the work while you go about your day.</li> <li><strong>Batch Cooking</strong>: Cook large portions of meals and freeze them for later use.</li> <li><strong>One-Pan Meals</strong>: Reduce cleanup time by making meals that can be cooked in a single pan.</li> <li><strong>Microwave Hacks</strong>: Use your microwave to quickly steam vegetables or reheat leftovers.</li> <li><strong>Invest in Quality Tools</strong>: A good knife and cutting board can save you time and effort.</li> <li><strong>Organize Your Pantry</strong>: Keep your pantry organized to easily find ingredients and avoid duplicate purchases.</li> <li><strong>Use a Food Processor</strong>: Speed up chopping, slicing, and grating tasks with a food processor.</li> <li><strong>Plan Your Meals</strong>: Create a weekly meal plan to save time on grocery shopping and cooking.</li> </ol> + + + diff --git a/public/es/categories/vegan-cooking/index.html b/public/es/categories/vegan-cooking/index.html new file mode 100644 index 0000000..7b53f59 --- /dev/null +++ b/public/es/categories/vegan-cooking/index.html @@ -0,0 +1,130 @@ + + + + + + Vegan Cooking | este sitio de historias + + + + + + + + + + +
+ +
+ +
+
+
+ + +
+ + + + + + + + diff --git a/public/es/categories/vegan-cooking/index.xml b/public/es/categories/vegan-cooking/index.xml new file mode 100644 index 0000000..6396c70 --- /dev/null +++ b/public/es/categories/vegan-cooking/index.xml @@ -0,0 +1,19 @@ + + + + Vegan Cooking on este sitio de historias + http://localhost:1313/es/categories/vegan-cooking/ + Recent content in Vegan Cooking on este sitio de historias + Hugo + es + Tue, 10 Oct 2023 00:00:00 +0000 + + + Plant-Powered Perfection: Delicious and Easy Vegan Meals for Busy Weeknights + http://localhost:1313/es/stories/post5/ + Tue, 10 Oct 2023 00:00:00 +0000 + http://localhost:1313/es/stories/post5/ + <h2 id="plant-powered-perfection-delicious-and-easy-vegan-meals-for-busy-weeknights">Plant-Powered Perfection: Delicious and Easy Vegan Meals for Busy Weeknights</h2> <p>In today’s fast-paced world, finding time to prepare healthy meals can be a challenge, especially for those following a vegan lifestyle. But fear not! We’ve compiled a list of delicious and easy vegan meals that are perfect for busy weeknights. These recipes are not only quick to prepare but also packed with flavor and nutrients. Let’s dive into the world of plant-powered perfection!</p> + + + diff --git a/public/es/index.html b/public/es/index.html index df8102d..791bc28 100644 --- a/public/es/index.html +++ b/public/es/index.html @@ -1,301 +1,317 @@ - - + + - - - - ODOO Community Success Stories | - - - - - - - - - - -
-
-
-

🚀 Historias de éxito reales de Odoo: descubre dónde destaca Odoo

-

Descubre cómo empresas de todos los sectores se están transformando con Odoo, desde la optimización del inventario hasta la automatización de las ventas y la ampliación de las operaciones. Estos son ejemplos reales de cómo Odoo es un éxito rotundo. 💡 ¿Usas Odoo? Comparte tu historia de éxito y consigue visibilidad destacada con un backlink dofollow a tu sitio web como agradecimiento. Es visibilidad gratuita y un excelente SEO.

-
-
-
- -

- - categorías -

- -
- -
- -

- - etiquetas -

- -
-
-
- - - - - - - - -
- - - - - -
-
- - - - - - - - + + + + Home | + + + + + + + + + + +
+
+
+

🚀 Historias de éxito reales de Odoo: descubre dónde destaca Odoo

+

Descubre cómo empresas de todos los sectores se están transformando con Odoo, desde la optimización del inventario hasta la automatización de las ventas y la ampliación de las operaciones. Estos son ejemplos reales de cómo Odoo es un éxito rotundo. 💡 ¿Usas Odoo? Comparte tu historia de éxito y consigue visibilidad destacada con un backlink dofollow a tu sitio web como agradecimiento. Es visibilidad gratuita y un excelente SEO.

+
+
+
+ +

+ + categorías +

+ +
+ +
+ +

+ + etiquetas +

+ +
+
+
+ + + + + + + + +
+ + + +
+
+
+ + +
+ + + + + + + + diff --git a/public/es/index.xml b/public/es/index.xml index ad75589..82b064b 100644 --- a/public/es/index.xml +++ b/public/es/index.xml @@ -1,26 +1,26 @@ - - https://success.odoo4projects.com/es/ - Recent content on + este sitio de historias + http://localhost:1313/es/ + Recent content on este sitio de historias Hugo es Tue, 10 Jun 2025 12:00:00 +0000 - + Construyendo un Servicio de ERP en la Nube con Odoo Community - https://success.odoo4projects.com/es/stories/odoo4projects/ + http://localhost:1313/es/stories/odoo4projects/ Tue, 10 Jun 2025 12:00:00 +0000 - https://success.odoo4projects.com/es/stories/odoo4projects/ + http://localhost:1313/es/stories/odoo4projects/ <p><img src="https://odoo4projects.com/web/image/2890-1713a804/Header_low.png" alt="ODOO4projects"></p> <p>En <a href="https://ODOO4projects.com">ODOO4projects</a>, nos especializamos en ayudar a las empresas a tener éxito con el ERP de código abierto. Pero también ejecutamos nuestros propios servicios en la misma plataforma, y es por eso que decidimos construir nuestra <strong>infraestructura de alojamiento de ERP en la nube utilizando Odoo Community V17</strong>.</p> <h2 id="por-qué-odoo-community">¿Por qué Odoo Community?</h2> <p>Queríamos probar hasta dónde podía llegar Odoo Community, y no nos ha decepcionado.</p> <ul> <li>100% de código abierto, sin tasas de licencia</li> <li>Altamente personalizable para casos de uso específicos</li> <li>Fuerte soporte de la comunidad internacional</li> <li>Ruta de actualización clara y diseño modular</li> </ul> <p>Nuestro objetivo no era solo usar Odoo, sino <strong>llegar al límite de lo que es posible con la Edición Comunitaria</strong>.</p> - Transformando Nuestra Granja de Ganado con Odoo Community - https://success.odoo4projects.com/es/stories/agape/ + Transforming Our Cattle Farm with Odoo Community + http://localhost:1313/es/stories/agape/ Tue, 10 Jun 2025 12:00:00 +0000 - https://success.odoo4projects.com/es/stories/agape/ - <p><img src="https://estancia-agape.com/web/image/1078-81bed64d/agapei-1.svg" alt="Estancia Agapé"></p> <p>Operar una granja de ganado en Paraguay presenta desafíos únicos, especialmente cuando se manejan operaciones en <strong>tres ubicaciones distintas</strong>. En <a href="https://estancia-agape.com">Estancia Agapé</a>, nuestro objetivo siempre ha sido mantenernos arraigados en la tradición mientras abrazamos la innovación para crecer de manera sostenible y eficiente. Por esto recurrimos a <strong>Odoo Community</strong>, y los resultados han superado nuestras expectativas.</p> <h2 id="por-qué-odoo">¿Por qué Odoo?</h2> <p>Evaluamos varios sistemas antes de elegir Odoo Community. Las razones fueron claras:</p> + http://localhost:1313/es/stories/agape/ + <p><img src="https://estancia-agape.com/web/image/1078-81bed64d/agapei-1.svg" alt="Estancia Agapé"></p> <p>Running a cattle farm in Paraguay presents unique challenges — especially when managing operations across <strong>three distinct locations</strong>. At <a href="https://estancia-agape.com">Estancia Agapé</a>, our goal has always been to stay grounded in tradition while embracing innovation to grow sustainably and efficiently. This is why we turned to <strong>Odoo Community</strong>, and the results have exceeded our expectations.</p> <h2 id="why-odoo">Why Odoo?</h2> <p>We evaluated various systems before choosing Odoo Community. The reasons were clear:</p> <ul> <li>Open-source and customizable</li> <li>Robust set of features for inventory, accounting, and logistics</li> <li>Large and active global community</li> <li>No licensing fees</li> </ul> <p>But what truly made the difference was the ability to <strong>host the service online</strong>.</p> diff --git a/public/es/sitemap.xml b/public/es/sitemap.xml index fcdaa10..589ee3e 100644 --- a/public/es/sitemap.xml +++ b/public/es/sitemap.xml @@ -2,262 +2,327 @@ - https://success.odoo4projects.com/es/ - 2025-06-10T12:00:00+00:00 + http://localhost:1313/es/stories/ + 2025-06-15T22:50:57+05:30 - https://success.odoo4projects.com/es/categories/0-5/ - 2025-06-10T12:00:00+00:00 + http://localhost:1313/es/ + 2025-06-15T22:21:30+05:30 - https://success.odoo4projects.com/es/categories/5-10/ + http://localhost:1313/es/categories/0-5/ 2025-06-10T12:00:00+00:00 - https://success.odoo4projects.com/es/categories/ + http://localhost:1313/es/categories/5-10/ 2025-06-10T12:00:00+00:00 - https://success.odoo4projects.com/es/tags/community/ + http://localhost:1313/es/categories/ 2025-06-10T12:00:00+00:00 - https://success.odoo4projects.com/es/stories/odoo4projects/ + http://localhost:1313/es/tags/cattle-farm/ 2025-06-10T12:00:00+00:00 - https://success.odoo4projects.com/es/tags/erp/ + http://localhost:1313/es/tags/community/ 2025-06-10T12:00:00+00:00 - https://success.odoo4projects.com/es/categories/granja/ - 2025-06-10T12:00:00+00:00 - - https://success.odoo4projects.com/es/tags/granja-de-ganado/ - 2025-06-10T12:00:00+00:00 - - https://success.odoo4projects.com/es/categories/it/ + http://localhost:1313/es/stories/odoo4projects/ 2025-06-10T12:00:00+00:00 - https://success.odoo4projects.com/es/tags/it/ + http://localhost:1313/es/tags/digital-transformation/ 2025-06-10T12:00:00+00:00 - https://success.odoo4projects.com/es/tags/odoo/ + http://localhost:1313/es/tags/erp/ 2025-06-10T12:00:00+00:00 - https://success.odoo4projects.com/es/tags/paraguay/ + http://localhost:1313/es/categories/farm/ 2025-06-10T12:00:00+00:00 - https://success.odoo4projects.com/es/stories/ + http://localhost:1313/es/categories/it/ 2025-06-10T12:00:00+00:00 - https://success.odoo4projects.com/es/tags/ + http://localhost:1313/es/tags/it/ 2025-06-10T12:00:00+00:00 - https://success.odoo4projects.com/es/stories/agape/ + http://localhost:1313/es/tags/odoo/ 2025-06-10T12:00:00+00:00 + + http://localhost:1313/es/tags/paraguay/ + 2025-06-10T12:00:00+00:00 + + + + + http://localhost:1313/es/tags/ + 2025-06-10T12:00:00+00:00 + + + + + http://localhost:1313/es/stories/agape/ + 2025-06-10T12:00:00+00:00 + + + + + http://localhost:1313/es/authors/ + + + diff --git a/public/es/stories/agape/index.html b/public/es/stories/agape/index.html index 3b74141..f1248d5 100644 --- a/public/es/stories/agape/index.html +++ b/public/es/stories/agape/index.html @@ -1,95 +1,136 @@ - - - - - - Transformando Nuestra Granja de Ganado con Odoo Community | - - - - - - - - - - -
single page
- - - - - - - - + + + + + + Transforming Our Cattle Farm with Odoo Community | este sitio de historias + + + + + + + + + + +
+

Estancia Agapé

+

Running a cattle farm in Paraguay presents unique challenges — especially when managing operations across three distinct locations. At Estancia Agapé, our goal has always been to stay grounded in tradition while embracing innovation to grow sustainably and efficiently. This is why we turned to Odoo Community, and the results have exceeded our expectations.

+

Why Odoo?

+

We evaluated various systems before choosing Odoo Community. The reasons were clear:

+
    +
  • Open-source and customizable
  • +
  • Robust set of features for inventory, accounting, and logistics
  • +
  • Large and active global community
  • +
  • No licensing fees
  • +
+

But what truly made the difference was the ability to host the service online.

+

Online Hosting: The Game-Changer

+

With three remote farm locations, we needed a centralized system that could be accessed by our teams from anywhere. Hosting Odoo online gave us:

+
    +
  • Real-time synchronization between sites
  • +
  • Simplified workflows for staff in the field and in the office
  • +
  • Remote oversight of stock, sales, and expenses
  • +
  • Reduced IT burden thanks to external hosting partners
  • +
+

We now manage cattle inventory, pasture usage, vet schedules, and financial records in a single system, accessible securely from any device.

+

The Results

+

Since implementing Odoo Community:

+
    +
  • Manual paperwork has dropped by over 80%
  • +
  • Daily operational reports are instantly available to management
  • +
  • Staff collaboration has improved across all sites
  • +
  • Decision-making is faster and data-driven
  • +
+

What used to take days now takes minutes.

+

Looking Ahead

+

We are continuing to expand our use of Odoo Community by integrating additional modules and exploring mobile app features for field use.

+

For other agricultural businesses in Paraguay or Latin America, we highly recommend considering open-source ERP systems like Odoo. With the right setup and a cloud-based approach, even the most traditional industries can benefit from modern tools.

+

Visit us at estancia-agape.com to learn more about our journey.

+
+

Interested in how Odoo can work for your farm or agribusiness? Contact us — we’re happy to share insights.

+
+
+
+ + +
+ + + + + + + + diff --git a/public/es/stories/index.html b/public/es/stories/index.html index e4ceb39..941c676 100644 --- a/public/es/stories/index.html +++ b/public/es/stories/index.html @@ -1,300 +1,234 @@ - - - - - - Stories | - - - - - - - - - - -
-
-
-

🚀 Historias de éxito reales de Odoo: descubre dónde destaca Odoo

-

Descubre cómo empresas de todos los sectores se están transformando con Odoo, desde la optimización del inventario hasta la automatización de las ventas y la ampliación de las operaciones. Estos son ejemplos reales de cómo Odoo es un éxito rotundo. 💡 ¿Usas Odoo? Comparte tu historia de éxito y consigue visibilidad destacada con un backlink dofollow a tu sitio web como agradecimiento. Es visibilidad gratuita y un excelente SEO.

-
-
-
- -

- - categorías -

- -
- -
- -

- - etiquetas -

- -
-
-
- - - - - - - - -
- - - - - -
-
- - - - - - - - + + + + + + Stories | este sitio de historias + + + + + + + + + + +
+ +
+ +
+
+
+ + +
+ + + + + + + + diff --git a/public/es/stories/index.xml b/public/es/stories/index.xml index 2e24f72..7c05023 100644 --- a/public/es/stories/index.xml +++ b/public/es/stories/index.xml @@ -1,26 +1,26 @@ - Stories on - https://success.odoo4projects.com/es/stories/ - Recent content in Stories on + Stories on este sitio de historias + http://localhost:1313/es/stories/ + Recent content in Stories on este sitio de historias Hugo es Tue, 10 Jun 2025 12:00:00 +0000 - + Construyendo un Servicio de ERP en la Nube con Odoo Community - https://success.odoo4projects.com/es/stories/odoo4projects/ + http://localhost:1313/es/stories/odoo4projects/ Tue, 10 Jun 2025 12:00:00 +0000 - https://success.odoo4projects.com/es/stories/odoo4projects/ + http://localhost:1313/es/stories/odoo4projects/ <p><img src="https://odoo4projects.com/web/image/2890-1713a804/Header_low.png" alt="ODOO4projects"></p> <p>En <a href="https://ODOO4projects.com">ODOO4projects</a>, nos especializamos en ayudar a las empresas a tener éxito con el ERP de código abierto. Pero también ejecutamos nuestros propios servicios en la misma plataforma, y es por eso que decidimos construir nuestra <strong>infraestructura de alojamiento de ERP en la nube utilizando Odoo Community V17</strong>.</p> <h2 id="por-qué-odoo-community">¿Por qué Odoo Community?</h2> <p>Queríamos probar hasta dónde podía llegar Odoo Community, y no nos ha decepcionado.</p> <ul> <li>100% de código abierto, sin tasas de licencia</li> <li>Altamente personalizable para casos de uso específicos</li> <li>Fuerte soporte de la comunidad internacional</li> <li>Ruta de actualización clara y diseño modular</li> </ul> <p>Nuestro objetivo no era solo usar Odoo, sino <strong>llegar al límite de lo que es posible con la Edición Comunitaria</strong>.</p> - Transformando Nuestra Granja de Ganado con Odoo Community - https://success.odoo4projects.com/es/stories/agape/ + Transforming Our Cattle Farm with Odoo Community + http://localhost:1313/es/stories/agape/ Tue, 10 Jun 2025 12:00:00 +0000 - https://success.odoo4projects.com/es/stories/agape/ - <p><img src="https://estancia-agape.com/web/image/1078-81bed64d/agapei-1.svg" alt="Estancia Agapé"></p> <p>Operar una granja de ganado en Paraguay presenta desafíos únicos, especialmente cuando se manejan operaciones en <strong>tres ubicaciones distintas</strong>. En <a href="https://estancia-agape.com">Estancia Agapé</a>, nuestro objetivo siempre ha sido mantenernos arraigados en la tradición mientras abrazamos la innovación para crecer de manera sostenible y eficiente. Por esto recurrimos a <strong>Odoo Community</strong>, y los resultados han superado nuestras expectativas.</p> <h2 id="por-qué-odoo">¿Por qué Odoo?</h2> <p>Evaluamos varios sistemas antes de elegir Odoo Community. Las razones fueron claras:</p> + http://localhost:1313/es/stories/agape/ + <p><img src="https://estancia-agape.com/web/image/1078-81bed64d/agapei-1.svg" alt="Estancia Agapé"></p> <p>Running a cattle farm in Paraguay presents unique challenges — especially when managing operations across <strong>three distinct locations</strong>. At <a href="https://estancia-agape.com">Estancia Agapé</a>, our goal has always been to stay grounded in tradition while embracing innovation to grow sustainably and efficiently. This is why we turned to <strong>Odoo Community</strong>, and the results have exceeded our expectations.</p> <h2 id="why-odoo">Why Odoo?</h2> <p>We evaluated various systems before choosing Odoo Community. The reasons were clear:</p> <ul> <li>Open-source and customizable</li> <li>Robust set of features for inventory, accounting, and logistics</li> <li>Large and active global community</li> <li>No licensing fees</li> </ul> <p>But what truly made the difference was the ability to <strong>host the service online</strong>.</p> diff --git a/public/es/stories/odoo4projects/index.html b/public/es/stories/odoo4projects/index.html index edafd22..7140746 100644 --- a/public/es/stories/odoo4projects/index.html +++ b/public/es/stories/odoo4projects/index.html @@ -1,95 +1,130 @@ - - - - - - Construyendo un Servicio de ERP en la Nube con Odoo Community | - - - - - - - - - - -
single page
- - - - - - - - + + + + + + Construyendo un Servicio de ERP en la Nube con Odoo Community | este sitio de historias + + + + + + + + + + +
+

ODOO4projects

+

En ODOO4projects, nos especializamos en ayudar a las empresas a tener éxito con el ERP de código abierto. Pero también ejecutamos nuestros propios servicios en la misma plataforma, y es por eso que decidimos construir nuestra infraestructura de alojamiento de ERP en la nube utilizando Odoo Community V17.

+

¿Por qué Odoo Community?

+

Queríamos probar hasta dónde podía llegar Odoo Community, y no nos ha decepcionado.

+
    +
  • 100% de código abierto, sin tasas de licencia
  • +
  • Altamente personalizable para casos de uso específicos
  • +
  • Fuerte soporte de la comunidad internacional
  • +
  • Ruta de actualización clara y diseño modular
  • +
+

Nuestro objetivo no era solo usar Odoo, sino llegar al límite de lo que es posible con la Edición Comunitaria.

+

Módulos personalizados: Nuestra clave para el éxito

+

El punto de inflexión en nuestro camino fue el desarrollo de un módulo personalizado diseñado específicamente para nuestro servicio de alojamiento. Construido por nuestro propio equipo, este módulo ahora se encarga de:

+
    +
  • Incorporación de clientes y seguimiento de suscripciones
  • +
  • Gestión del alojamiento en múltiples instancias
  • +
  • Provisionamiento y supervisión automatizados
  • +
+

Al ser dueños de esta funcionalidad clave, obtuvimos un control total sobre nuestra infraestructura y reducimos la dependencia de herramientas externas.

+

¿Qué no funcionó?

+

No todos los experimentos tuvieron éxito. Adquirimos un módulo de terceros para la gestión de afiliados y contabilidad, y resultó una completa pérdida de tiempo y dinero. La escasa documentación, el soporte limitado y los problemas de compatibilidad lo hicieron inutilizable.

+

Esa experiencia nos enseñó el valor de desarrollar internamente o examinar a fondo antes de integrar soluciones de terceros.

+

Mirando hacia adelante: Odoo 19 y más allá

+

Mientras planeamos nuestra actualización a Odoo 19, vamos a emplear una estrategia de “aniquilar y pavimentar” -eliminar los módulos heredados que ya no sirven para su propósito. Este enfoque de pizarra en blanco nos permitirá optimizar el rendimiento y simplificar el soporte.

+

A pesar de los obstáculos en el camino, Odoo Community sigue satisfaciendo todas nuestras necesidades empresariales, desde el CRM y las ventas hasta el alojamiento y los flujos de trabajo internos.

+

Nuestro mensaje para los demás

+

Si te dedicas a la IT o SaaS y buscas una plataforma de ERP flexible y potente, no subestimes a Odoo Community. Con el equipo y la visión correctos, puedes construir servicios de nivel empresarial sin la sobrecarga de las licencias empresariales.

+

Visítanos en ODOO4projects.com para aprender más sobre nuestra plataforma y soluciones.

+
+
+
+
+ + +
+ + + + + + + + diff --git a/public/es/stories/post1/index.html b/public/es/stories/post1/index.html new file mode 100644 index 0000000..3136bb4 --- /dev/null +++ b/public/es/stories/post1/index.html @@ -0,0 +1,85 @@ + + + + + + 10 Time-Saving Kitchen Hacks You Need to Try | este sitio de historias + + + + + + + + + + +
+

Post 1: 10 Time-Saving Kitchen Hacks You Need to Try

+

Cooking can be a time-consuming task, but with these kitchen hacks, you can streamline your process and get meals on the table faster.

+
    +
  1. Pre-chop Vegetables: Spend a few minutes chopping vegetables at the beginning of the week and store them in airtight containers.
  2. +
  3. Use a Slow Cooker: Prepare meals in the morning and let your slow cooker do the work while you go about your day.
  4. +
  5. Batch Cooking: Cook large portions of meals and freeze them for later use.
  6. +
  7. One-Pan Meals: Reduce cleanup time by making meals that can be cooked in a single pan.
  8. +
  9. Microwave Hacks: Use your microwave to quickly steam vegetables or reheat leftovers.
  10. +
  11. Invest in Quality Tools: A good knife and cutting board can save you time and effort.
  12. +
  13. Organize Your Pantry: Keep your pantry organized to easily find ingredients and avoid duplicate purchases.
  14. +
  15. Use a Food Processor: Speed up chopping, slicing, and grating tasks with a food processor.
  16. +
  17. Plan Your Meals: Create a weekly meal plan to save time on grocery shopping and cooking.
  18. +
+
+
+
+ + +
+ + + + + + + + diff --git a/public/es/stories/post2/index.html b/public/es/stories/post2/index.html new file mode 100644 index 0000000..58b998c --- /dev/null +++ b/public/es/stories/post2/index.html @@ -0,0 +1,85 @@ + + + + + + Budget-Friendly Kitchen Hacks to Save You Money | este sitio de historias + + + + + + + + + + +
+

Post 2: Budget-Friendly Kitchen Hacks to Save You Money

+

Eating well doesn’t have to break the bank. Here are some budget-friendly kitchen hacks to help you save money while cooking.

+
    +
  1. Buy in Bulk: Purchase staples like rice, beans, and pasta in bulk to save money.
  2. +
  3. Use Leftovers Creatively: Transform leftovers into new meals to reduce waste.
  4. +
  5. Grow Your Own Herbs: Start a small herb garden to save on fresh herbs.
  6. +
  7. Make Your Own Sauces: Homemade sauces can be cheaper and healthier than store-bought options.
  8. +
  9. Plan Your Grocery List: Stick to a list to avoid impulse buys at the grocery store.
  10. +
  11. Use Seasonal Produce: Buy fruits and vegetables that are in season for better prices and flavor.
  12. +
  13. Freeze Extra Portions: Save money by freezing extra portions of meals for future use.
  14. +
  15. DIY Cleaning Supplies: Make your own cleaning supplies to save on costs.
  16. +
  17. Shop Sales and Coupons: Keep an eye out for sales and use coupons to save on groceries.
  18. +
+
+
+
+ + +
+ + + + + + + + diff --git a/public/es/stories/post3/index.html b/public/es/stories/post3/index.html new file mode 100644 index 0000000..2573384 --- /dev/null +++ b/public/es/stories/post3/index.html @@ -0,0 +1,85 @@ + + + + + + Sanity-Saving Kitchen Hacks for Busy Families | este sitio de historias + + + + + + + + + + +
+

Post 3: Sanity-Saving Kitchen Hacks for Busy Families

+

When life gets hectic, these kitchen hacks can help keep your sanity intact while cooking for your family.

+
    +
  1. Meal Prep Sundays: Dedicate Sundays to meal prep to make weeknight cooking easier.
  2. +
  3. Involve the Kids: Get your children involved in cooking to make it a fun family activity.
  4. +
  5. Use a Slow Cooker or Instant Pot: These appliances can save you time and effort on busy nights.
  6. +
  7. Create a Family Recipe Book: Compile favorite family recipes to make meal planning easier.
  8. +
  9. Set Up a Snack Station: Prepare healthy snacks in advance to keep everyone satisfied.
  10. +
  11. Use a Whiteboard for Meal Planning: Write down meals for the week on a whiteboard for easy reference.
  12. +
  13. Keep a Well-Stocked Pantry: Stock up on essentials to make quick meals without a trip to the store.
  14. +
  15. Make Breakfast Ahead: Prepare breakfast items like overnight oats or muffins in advance.
  16. +
  17. Embrace Leftover Nights: Designate one night a week for using up leftovers to reduce waste.
  18. +
+
+
+
+ + +
+ + + + + + + + diff --git a/public/es/stories/post4/index.html b/public/es/stories/post4/index.html new file mode 100644 index 0000000..984b05a --- /dev/null +++ b/public/es/stories/post4/index.html @@ -0,0 +1,81 @@ + + + + + + The Cultural Significance of Comfort Foods | este sitio de historias + + + + + + + + + + +
+

Post 1: The Cultural Significance of Comfort Foods

+

Comfort foods are often tied to our memories and cultural backgrounds. Let’s explore the stories behind some beloved comfort foods.

+
    +
  • Mac and Cheese: A staple in American households, this dish has roots in Italy and has evolved into various regional variations.
  • +
  • Ramen: Originating from China, ramen has become a symbol of Japanese cuisine, with each region offering its unique twist.
  • +
  • Tacos: A traditional Mexican dish, tacos reflect the country’s diverse culinary heritage and regional ingredients.
  • +
  • Curry: With origins in South Asia, curry has traveled the world, adapting to local tastes and ingredients.
  • +
  • Biryani: This fragrant rice dish has a rich history, blending Persian and Indian culinary traditions.
  • +
+
+
+
+ + +
+ + + + + + + + diff --git a/public/es/stories/post5/index.html b/public/es/stories/post5/index.html new file mode 100644 index 0000000..e1e1997 --- /dev/null +++ b/public/es/stories/post5/index.html @@ -0,0 +1,148 @@ + + + + + + Plant-Powered Perfection: Delicious and Easy Vegan Meals for Busy Weeknights | este sitio de historias + + + + + + + + + + +
+

Plant-Powered Perfection: Delicious and Easy Vegan Meals for Busy Weeknights

+

In today’s fast-paced world, finding time to prepare healthy meals can be a challenge, especially for those following a vegan lifestyle. But fear not! We’ve compiled a list of delicious and easy vegan meals that are perfect for busy weeknights. These recipes are not only quick to prepare but also packed with flavor and nutrients. Let’s dive into the world of plant-powered perfection!

+

1. One-Pot Vegan Chili

+

Ingredients

+
    +
  • 1 can black beans, drained and rinsed
  • +
  • 1 can kidney beans, drained and rinsed
  • +
  • 1 can diced tomatoes
  • +
  • 1 cup corn (fresh or frozen)
  • +
  • 1 onion, diced
  • +
  • 2 cloves garlic, minced
  • +
  • 2 tablespoons chili powder
  • +
  • 1 teaspoon cumin
  • +
  • Salt and pepper to taste
  • +
  • Olive oil
  • +
+

Instructions

+
    +
  1. In a large pot, heat a drizzle of olive oil over medium heat. Add the diced onion and garlic, sautéing until translucent.
  2. +
  3. Stir in the chili powder and cumin, cooking for another minute.
  4. +
  5. Add the black beans, kidney beans, diced tomatoes, and corn. Season with salt and pepper.
  6. +
  7. Bring to a simmer and cook for 20 minutes, stirring occasionally. Serve hot!
  8. +
+

2. Quick Vegan Stir-Fry

+

Ingredients

+
    +
  • 2 cups mixed vegetables (broccoli, bell peppers, carrots, etc.)
  • +
  • 1 block firm tofu, cubed
  • +
  • 2 tablespoons soy sauce
  • +
  • 1 tablespoon sesame oil
  • +
  • 1 teaspoon ginger, grated
  • +
  • Cooked rice or quinoa for serving
  • +
+

Instructions

+
    +
  1. In a large skillet, heat sesame oil over medium-high heat. Add the cubed tofu and cook until golden brown on all sides.
  2. +
  3. Add the mixed vegetables and ginger, stirring frequently for about 5-7 minutes.
  4. +
  5. Pour in the soy sauce and cook for an additional 2 minutes.
  6. +
  7. Serve over cooked rice or quinoa for a complete meal.
  8. +
+

3. Creamy Vegan Pasta

+

Ingredients

+
    +
  • 8 oz pasta of choice (penne, spaghetti, etc.)
  • +
  • 1 cup cashews, soaked for 2 hours and drained
  • +
  • 1 cup vegetable broth
  • +
  • 2 tablespoons nutritional yeast
  • +
  • 2 cloves garlic
  • +
  • Salt and pepper to taste
  • +
  • Fresh basil for garnish
  • +
+

Instructions

+
    +
  1. Cook the pasta according to package instructions. Drain and set aside.
  2. +
  3. In a blender, combine soaked cashews, vegetable broth, nutritional yeast, garlic, salt, and pepper. Blend until smooth and creamy.
  4. +
  5. In a large bowl, mix the cooked pasta with the creamy sauce until well combined.
  6. +
  7. Garnish with fresh basil and serve immediately.
  8. +
+

4. Vegan Tacos

+

Ingredients

+
    +
  • 1 can lentils, drained and rinsed
  • +
  • 1 tablespoon taco seasoning
  • +
  • Corn tortillas
  • +
  • Toppings: avocado, salsa, lettuce, and lime
  • +
+

Instructions

+
    +
  1. In a skillet, heat the lentils over medium heat. Stir in the taco seasoning and cook for 5 minutes.
  2. +
  3. Warm the corn tortillas in a separate pan or microwave.
  4. +
  5. Assemble the tacos by adding the lentil mixture and your favorite toppings. Serve with lime wedges.
  6. +
+

Conclusion

+

These plant-powered meals are not only quick and easy to prepare but also bursting with flavor and nutrition. Whether you’re a seasoned vegan or just looking to incorporate more plant-based meals into your diet, these recipes are sure to satisfy your taste buds and fit into your busy weeknights. Enjoy the journey to delicious vegan cooking!

+
+

Feel free to modify any part of the content or front matter as needed!

+
+
+
+ + +
+ + + + + + + + diff --git a/public/es/tags/budget-friendly/index.html b/public/es/tags/budget-friendly/index.html new file mode 100644 index 0000000..f7eae98 --- /dev/null +++ b/public/es/tags/budget-friendly/index.html @@ -0,0 +1,130 @@ + + + + + + Budget-Friendly | este sitio de historias + + + + + + + + + + +
+ +
+ +
+
+
+ + +
+ + + + + + + + diff --git a/public/es/tags/budget-friendly/index.xml b/public/es/tags/budget-friendly/index.xml new file mode 100644 index 0000000..e209a46 --- /dev/null +++ b/public/es/tags/budget-friendly/index.xml @@ -0,0 +1,19 @@ + + + + Budget-Friendly on este sitio de historias + http://localhost:1313/es/tags/budget-friendly/ + Recent content in Budget-Friendly on este sitio de historias + Hugo + es + Mon, 02 Oct 2023 00:00:00 +0000 + + + Budget-Friendly Kitchen Hacks to Save You Money + http://localhost:1313/es/stories/post2/ + Mon, 02 Oct 2023 00:00:00 +0000 + http://localhost:1313/es/stories/post2/ + <h3 id="post-2-budget-friendly-kitchen-hacks-to-save-you-money">Post 2: Budget-Friendly Kitchen Hacks to Save You Money</h3> <p>Eating well doesn’t have to break the bank. Here are some budget-friendly kitchen hacks to help you save money while cooking.</p> <ol> <li><strong>Buy in Bulk</strong>: Purchase staples like rice, beans, and pasta in bulk to save money.</li> <li><strong>Use Leftovers Creatively</strong>: Transform leftovers into new meals to reduce waste.</li> <li><strong>Grow Your Own Herbs</strong>: Start a small herb garden to save on fresh herbs.</li> <li><strong>Make Your Own Sauces</strong>: Homemade sauces can be cheaper and healthier than store-bought options.</li> <li><strong>Plan Your Grocery List</strong>: Stick to a list to avoid impulse buys at the grocery store.</li> <li><strong>Use Seasonal Produce</strong>: Buy fruits and vegetables that are in season for better prices and flavor.</li> <li><strong>Freeze Extra Portions</strong>: Save money by freezing extra portions of meals for future use.</li> <li><strong>DIY Cleaning Supplies</strong>: Make your own cleaning supplies to save on costs.</li> <li><strong>Shop Sales and Coupons</strong>: Keep an eye out for sales and use coupons to save on groceries.</li> </ol> + + + diff --git a/public/es/tags/cattle-farm/index.html b/public/es/tags/cattle-farm/index.html new file mode 100644 index 0000000..e955035 --- /dev/null +++ b/public/es/tags/cattle-farm/index.html @@ -0,0 +1,171 @@ + + + + + + Cattle Farm | este sitio de historias + + + + + + + + + + +
+ +
+ +
+
+
+ + +
+ + + + + + + + diff --git a/public/es/tags/cattle-farm/index.xml b/public/es/tags/cattle-farm/index.xml new file mode 100644 index 0000000..1d0197b --- /dev/null +++ b/public/es/tags/cattle-farm/index.xml @@ -0,0 +1,19 @@ + + + + Cattle Farm on este sitio de historias + http://localhost:1313/es/tags/cattle-farm/ + Recent content in Cattle Farm on este sitio de historias + Hugo + es + Tue, 10 Jun 2025 12:00:00 +0000 + + + Transforming Our Cattle Farm with Odoo Community + http://localhost:1313/es/stories/agape/ + Tue, 10 Jun 2025 12:00:00 +0000 + http://localhost:1313/es/stories/agape/ + <p><img src="https://estancia-agape.com/web/image/1078-81bed64d/agapei-1.svg" alt="Estancia Agapé"></p> <p>Running a cattle farm in Paraguay presents unique challenges — especially when managing operations across <strong>three distinct locations</strong>. At <a href="https://estancia-agape.com">Estancia Agapé</a>, our goal has always been to stay grounded in tradition while embracing innovation to grow sustainably and efficiently. This is why we turned to <strong>Odoo Community</strong>, and the results have exceeded our expectations.</p> <h2 id="why-odoo">Why Odoo?</h2> <p>We evaluated various systems before choosing Odoo Community. The reasons were clear:</p> <ul> <li>Open-source and customizable</li> <li>Robust set of features for inventory, accounting, and logistics</li> <li>Large and active global community</li> <li>No licensing fees</li> </ul> <p>But what truly made the difference was the ability to <strong>host the service online</strong>.</p> + + + diff --git a/public/es/tags/comfort-food/index.html b/public/es/tags/comfort-food/index.html new file mode 100644 index 0000000..fd23e71 --- /dev/null +++ b/public/es/tags/comfort-food/index.html @@ -0,0 +1,130 @@ + + + + + + Comfort Food | este sitio de historias + + + + + + + + + + +
+ +
+ +
+
+
+ + +
+ + + + + + + + diff --git a/public/es/tags/comfort-food/index.xml b/public/es/tags/comfort-food/index.xml new file mode 100644 index 0000000..c34bd93 --- /dev/null +++ b/public/es/tags/comfort-food/index.xml @@ -0,0 +1,19 @@ + + + + Comfort Food on este sitio de historias + http://localhost:1313/es/tags/comfort-food/ + Recent content in Comfort Food on este sitio de historias + Hugo + es + Wed, 04 Oct 2023 00:00:00 +0000 + + + The Cultural Significance of Comfort Foods + http://localhost:1313/es/stories/post4/ + Wed, 04 Oct 2023 00:00:00 +0000 + http://localhost:1313/es/stories/post4/ + <h3 id="post-1-the-cultural-significance-of-comfort-foods">Post 1: The Cultural Significance of Comfort Foods</h3> <p>Comfort foods are often tied to our memories and cultural backgrounds. Let’s explore the stories behind some beloved comfort foods.</p> <ul> <li><strong>Mac and Cheese</strong>: A staple in American households, this dish has roots in Italy and has evolved into various regional variations.</li> <li><strong>Ramen</strong>: Originating from China, ramen has become a symbol of Japanese cuisine, with each region offering its unique twist.</li> <li><strong>Tacos</strong>: A traditional Mexican dish, tacos reflect the country’s diverse culinary heritage and regional ingredients.</li> <li><strong>Curry</strong>: With origins in South Asia, curry has traveled the world, adapting to local tastes and ingredients.</li> <li><strong>Biryani</strong>: This fragrant rice dish has a rich history, blending Persian and Indian culinary traditions.</li> </ul> + + + diff --git a/public/es/tags/community/index.html b/public/es/tags/community/index.html index 2b0f901..ef76052 100644 --- a/public/es/tags/community/index.html +++ b/public/es/tags/community/index.html @@ -1,300 +1,167 @@ - - - - - - Community | - - - - - - - - - - -
-
-
-

🚀 Historias de éxito reales de Odoo: descubre dónde destaca Odoo

-

Descubre cómo empresas de todos los sectores se están transformando con Odoo, desde la optimización del inventario hasta la automatización de las ventas y la ampliación de las operaciones. Estos son ejemplos reales de cómo Odoo es un éxito rotundo. 💡 ¿Usas Odoo? Comparte tu historia de éxito y consigue visibilidad destacada con un backlink dofollow a tu sitio web como agradecimiento. Es visibilidad gratuita y un excelente SEO.

-
-
-
- -

- - categorías -

- -
- -
- -

- - etiquetas -

- -
-
-
- - - - - - - - -
- - - - - -
-
- - - - - - - - + + + + + + Community | este sitio de historias + + + + + + + + + + +
+ +
+ +
+
+
+ + +
+ + + + + + + + diff --git a/public/es/tags/community/index.xml b/public/es/tags/community/index.xml index 14a44e5..8ab4e88 100644 --- a/public/es/tags/community/index.xml +++ b/public/es/tags/community/index.xml @@ -1,18 +1,18 @@ - Community on - https://success.odoo4projects.com/es/tags/community/ - Recent content in Community on + Community on este sitio de historias + http://localhost:1313/es/tags/community/ + Recent content in Community on este sitio de historias Hugo es Tue, 10 Jun 2025 12:00:00 +0000 - + Construyendo un Servicio de ERP en la Nube con Odoo Community - https://success.odoo4projects.com/es/stories/odoo4projects/ + http://localhost:1313/es/stories/odoo4projects/ Tue, 10 Jun 2025 12:00:00 +0000 - https://success.odoo4projects.com/es/stories/odoo4projects/ + http://localhost:1313/es/stories/odoo4projects/ <p><img src="https://odoo4projects.com/web/image/2890-1713a804/Header_low.png" alt="ODOO4projects"></p> <p>En <a href="https://ODOO4projects.com">ODOO4projects</a>, nos especializamos en ayudar a las empresas a tener éxito con el ERP de código abierto. Pero también ejecutamos nuestros propios servicios en la misma plataforma, y es por eso que decidimos construir nuestra <strong>infraestructura de alojamiento de ERP en la nube utilizando Odoo Community V17</strong>.</p> <h2 id="por-qué-odoo-community">¿Por qué Odoo Community?</h2> <p>Queríamos probar hasta dónde podía llegar Odoo Community, y no nos ha decepcionado.</p> <ul> <li>100% de código abierto, sin tasas de licencia</li> <li>Altamente personalizable para casos de uso específicos</li> <li>Fuerte soporte de la comunidad internacional</li> <li>Ruta de actualización clara y diseño modular</li> </ul> <p>Nuestro objetivo no era solo usar Odoo, sino <strong>llegar al límite de lo que es posible con la Edición Comunitaria</strong>.</p> diff --git a/public/es/tags/cooking-tips/index.html b/public/es/tags/cooking-tips/index.html new file mode 100644 index 0000000..7881e54 --- /dev/null +++ b/public/es/tags/cooking-tips/index.html @@ -0,0 +1,185 @@ + + + + + + Cooking Tips | este sitio de historias + + + + + + + + + + +
+ +
+ +
+
+
+ + +
+ + + + + + + + diff --git a/public/es/tags/cooking-tips/index.xml b/public/es/tags/cooking-tips/index.xml new file mode 100644 index 0000000..192e2f7 --- /dev/null +++ b/public/es/tags/cooking-tips/index.xml @@ -0,0 +1,26 @@ + + + + Cooking Tips on este sitio de historias + http://localhost:1313/es/tags/cooking-tips/ + Recent content in Cooking Tips on este sitio de historias + Hugo + es + Mon, 02 Oct 2023 00:00:00 +0000 + + + Budget-Friendly Kitchen Hacks to Save You Money + http://localhost:1313/es/stories/post2/ + Mon, 02 Oct 2023 00:00:00 +0000 + http://localhost:1313/es/stories/post2/ + <h3 id="post-2-budget-friendly-kitchen-hacks-to-save-you-money">Post 2: Budget-Friendly Kitchen Hacks to Save You Money</h3> <p>Eating well doesn’t have to break the bank. Here are some budget-friendly kitchen hacks to help you save money while cooking.</p> <ol> <li><strong>Buy in Bulk</strong>: Purchase staples like rice, beans, and pasta in bulk to save money.</li> <li><strong>Use Leftovers Creatively</strong>: Transform leftovers into new meals to reduce waste.</li> <li><strong>Grow Your Own Herbs</strong>: Start a small herb garden to save on fresh herbs.</li> <li><strong>Make Your Own Sauces</strong>: Homemade sauces can be cheaper and healthier than store-bought options.</li> <li><strong>Plan Your Grocery List</strong>: Stick to a list to avoid impulse buys at the grocery store.</li> <li><strong>Use Seasonal Produce</strong>: Buy fruits and vegetables that are in season for better prices and flavor.</li> <li><strong>Freeze Extra Portions</strong>: Save money by freezing extra portions of meals for future use.</li> <li><strong>DIY Cleaning Supplies</strong>: Make your own cleaning supplies to save on costs.</li> <li><strong>Shop Sales and Coupons</strong>: Keep an eye out for sales and use coupons to save on groceries.</li> </ol> + + + 10 Time-Saving Kitchen Hacks You Need to Try + http://localhost:1313/es/stories/post1/ + Sun, 01 Oct 2023 00:00:00 +0000 + http://localhost:1313/es/stories/post1/ + <h3 id="post-1-10-time-saving-kitchen-hacks-you-need-to-try">Post 1: 10 Time-Saving Kitchen Hacks You Need to Try</h3> <p>Cooking can be a time-consuming task, but with these kitchen hacks, you can streamline your process and get meals on the table faster.</p> <ol> <li><strong>Pre-chop Vegetables</strong>: Spend a few minutes chopping vegetables at the beginning of the week and store them in airtight containers.</li> <li><strong>Use a Slow Cooker</strong>: Prepare meals in the morning and let your slow cooker do the work while you go about your day.</li> <li><strong>Batch Cooking</strong>: Cook large portions of meals and freeze them for later use.</li> <li><strong>One-Pan Meals</strong>: Reduce cleanup time by making meals that can be cooked in a single pan.</li> <li><strong>Microwave Hacks</strong>: Use your microwave to quickly steam vegetables or reheat leftovers.</li> <li><strong>Invest in Quality Tools</strong>: A good knife and cutting board can save you time and effort.</li> <li><strong>Organize Your Pantry</strong>: Keep your pantry organized to easily find ingredients and avoid duplicate purchases.</li> <li><strong>Use a Food Processor</strong>: Speed up chopping, slicing, and grating tasks with a food processor.</li> <li><strong>Plan Your Meals</strong>: Create a weekly meal plan to save time on grocery shopping and cooking.</li> </ol> + + + diff --git a/public/es/tags/cultural-significance/index.html b/public/es/tags/cultural-significance/index.html new file mode 100644 index 0000000..e962beb --- /dev/null +++ b/public/es/tags/cultural-significance/index.html @@ -0,0 +1,130 @@ + + + + + + Cultural Significance | este sitio de historias + + + + + + + + + + +
+ +
+ +
+
+
+ + +
+ + + + + + + + diff --git a/public/es/tags/cultural-significance/index.xml b/public/es/tags/cultural-significance/index.xml new file mode 100644 index 0000000..f33144e --- /dev/null +++ b/public/es/tags/cultural-significance/index.xml @@ -0,0 +1,19 @@ + + + + Cultural Significance on este sitio de historias + http://localhost:1313/es/tags/cultural-significance/ + Recent content in Cultural Significance on este sitio de historias + Hugo + es + Wed, 04 Oct 2023 00:00:00 +0000 + + + The Cultural Significance of Comfort Foods + http://localhost:1313/es/stories/post4/ + Wed, 04 Oct 2023 00:00:00 +0000 + http://localhost:1313/es/stories/post4/ + <h3 id="post-1-the-cultural-significance-of-comfort-foods">Post 1: The Cultural Significance of Comfort Foods</h3> <p>Comfort foods are often tied to our memories and cultural backgrounds. Let’s explore the stories behind some beloved comfort foods.</p> <ul> <li><strong>Mac and Cheese</strong>: A staple in American households, this dish has roots in Italy and has evolved into various regional variations.</li> <li><strong>Ramen</strong>: Originating from China, ramen has become a symbol of Japanese cuisine, with each region offering its unique twist.</li> <li><strong>Tacos</strong>: A traditional Mexican dish, tacos reflect the country’s diverse culinary heritage and regional ingredients.</li> <li><strong>Curry</strong>: With origins in South Asia, curry has traveled the world, adapting to local tastes and ingredients.</li> <li><strong>Biryani</strong>: This fragrant rice dish has a rich history, blending Persian and Indian culinary traditions.</li> </ul> + + + diff --git a/public/es/tags/digital-transformation/index.html b/public/es/tags/digital-transformation/index.html new file mode 100644 index 0000000..a56e971 --- /dev/null +++ b/public/es/tags/digital-transformation/index.html @@ -0,0 +1,171 @@ + + + + + + Digital Transformation | este sitio de historias + + + + + + + + + + +
+ +
+ +
+
+
+ + +
+ + + + + + + + diff --git a/public/es/tags/digital-transformation/index.xml b/public/es/tags/digital-transformation/index.xml new file mode 100644 index 0000000..a560c99 --- /dev/null +++ b/public/es/tags/digital-transformation/index.xml @@ -0,0 +1,19 @@ + + + + Digital Transformation on este sitio de historias + http://localhost:1313/es/tags/digital-transformation/ + Recent content in Digital Transformation on este sitio de historias + Hugo + es + Tue, 10 Jun 2025 12:00:00 +0000 + + + Transforming Our Cattle Farm with Odoo Community + http://localhost:1313/es/stories/agape/ + Tue, 10 Jun 2025 12:00:00 +0000 + http://localhost:1313/es/stories/agape/ + <p><img src="https://estancia-agape.com/web/image/1078-81bed64d/agapei-1.svg" alt="Estancia Agapé"></p> <p>Running a cattle farm in Paraguay presents unique challenges — especially when managing operations across <strong>three distinct locations</strong>. At <a href="https://estancia-agape.com">Estancia Agapé</a>, our goal has always been to stay grounded in tradition while embracing innovation to grow sustainably and efficiently. This is why we turned to <strong>Odoo Community</strong>, and the results have exceeded our expectations.</p> <h2 id="why-odoo">Why Odoo?</h2> <p>We evaluated various systems before choosing Odoo Community. The reasons were clear:</p> <ul> <li>Open-source and customizable</li> <li>Robust set of features for inventory, accounting, and logistics</li> <li>Large and active global community</li> <li>No licensing fees</li> </ul> <p>But what truly made the difference was the ability to <strong>host the service online</strong>.</p> + + + diff --git a/public/es/tags/erp/index.html b/public/es/tags/erp/index.html index b3aeda1..0df7681 100644 --- a/public/es/tags/erp/index.html +++ b/public/es/tags/erp/index.html @@ -1,300 +1,234 @@ - - - - - - ERP | - - - - - - - - - - -
-
-
-

🚀 Historias de éxito reales de Odoo: descubre dónde destaca Odoo

-

Descubre cómo empresas de todos los sectores se están transformando con Odoo, desde la optimización del inventario hasta la automatización de las ventas y la ampliación de las operaciones. Estos son ejemplos reales de cómo Odoo es un éxito rotundo. 💡 ¿Usas Odoo? Comparte tu historia de éxito y consigue visibilidad destacada con un backlink dofollow a tu sitio web como agradecimiento. Es visibilidad gratuita y un excelente SEO.

-
-
-
- -

- - categorías -

- -
- -
- -

- - etiquetas -

- -
-
-
- - - - - - - - -
- - - - - -
-
- - - - - - - - + + + + + + ERP | este sitio de historias + + + + + + + + + + +
+ +
+ +
+
+
+ + +
+ + + + + + + + diff --git a/public/es/tags/erp/index.xml b/public/es/tags/erp/index.xml index 675298d..53ef5b1 100644 --- a/public/es/tags/erp/index.xml +++ b/public/es/tags/erp/index.xml @@ -1,26 +1,26 @@ - ERP on - https://success.odoo4projects.com/es/tags/erp/ - Recent content in ERP on + ERP on este sitio de historias + http://localhost:1313/es/tags/erp/ + Recent content in ERP on este sitio de historias Hugo es Tue, 10 Jun 2025 12:00:00 +0000 - + Construyendo un Servicio de ERP en la Nube con Odoo Community - https://success.odoo4projects.com/es/stories/odoo4projects/ + http://localhost:1313/es/stories/odoo4projects/ Tue, 10 Jun 2025 12:00:00 +0000 - https://success.odoo4projects.com/es/stories/odoo4projects/ + http://localhost:1313/es/stories/odoo4projects/ <p><img src="https://odoo4projects.com/web/image/2890-1713a804/Header_low.png" alt="ODOO4projects"></p> <p>En <a href="https://ODOO4projects.com">ODOO4projects</a>, nos especializamos en ayudar a las empresas a tener éxito con el ERP de código abierto. Pero también ejecutamos nuestros propios servicios en la misma plataforma, y es por eso que decidimos construir nuestra <strong>infraestructura de alojamiento de ERP en la nube utilizando Odoo Community V17</strong>.</p> <h2 id="por-qué-odoo-community">¿Por qué Odoo Community?</h2> <p>Queríamos probar hasta dónde podía llegar Odoo Community, y no nos ha decepcionado.</p> <ul> <li>100% de código abierto, sin tasas de licencia</li> <li>Altamente personalizable para casos de uso específicos</li> <li>Fuerte soporte de la comunidad internacional</li> <li>Ruta de actualización clara y diseño modular</li> </ul> <p>Nuestro objetivo no era solo usar Odoo, sino <strong>llegar al límite de lo que es posible con la Edición Comunitaria</strong>.</p> - Transformando Nuestra Granja de Ganado con Odoo Community - https://success.odoo4projects.com/es/stories/agape/ + Transforming Our Cattle Farm with Odoo Community + http://localhost:1313/es/stories/agape/ Tue, 10 Jun 2025 12:00:00 +0000 - https://success.odoo4projects.com/es/stories/agape/ - <p><img src="https://estancia-agape.com/web/image/1078-81bed64d/agapei-1.svg" alt="Estancia Agapé"></p> <p>Operar una granja de ganado en Paraguay presenta desafíos únicos, especialmente cuando se manejan operaciones en <strong>tres ubicaciones distintas</strong>. En <a href="https://estancia-agape.com">Estancia Agapé</a>, nuestro objetivo siempre ha sido mantenernos arraigados en la tradición mientras abrazamos la innovación para crecer de manera sostenible y eficiente. Por esto recurrimos a <strong>Odoo Community</strong>, y los resultados han superado nuestras expectativas.</p> <h2 id="por-qué-odoo">¿Por qué Odoo?</h2> <p>Evaluamos varios sistemas antes de elegir Odoo Community. Las razones fueron claras:</p> + http://localhost:1313/es/stories/agape/ + <p><img src="https://estancia-agape.com/web/image/1078-81bed64d/agapei-1.svg" alt="Estancia Agapé"></p> <p>Running a cattle farm in Paraguay presents unique challenges — especially when managing operations across <strong>three distinct locations</strong>. At <a href="https://estancia-agape.com">Estancia Agapé</a>, our goal has always been to stay grounded in tradition while embracing innovation to grow sustainably and efficiently. This is why we turned to <strong>Odoo Community</strong>, and the results have exceeded our expectations.</p> <h2 id="why-odoo">Why Odoo?</h2> <p>We evaluated various systems before choosing Odoo Community. The reasons were clear:</p> <ul> <li>Open-source and customizable</li> <li>Robust set of features for inventory, accounting, and logistics</li> <li>Large and active global community</li> <li>No licensing fees</li> </ul> <p>But what truly made the difference was the ability to <strong>host the service online</strong>.</p> diff --git a/public/es/tags/family-cooking/index.html b/public/es/tags/family-cooking/index.html new file mode 100644 index 0000000..7adc08a --- /dev/null +++ b/public/es/tags/family-cooking/index.html @@ -0,0 +1,130 @@ + + + + + + Family Cooking | este sitio de historias + + + + + + + + + + +
+ +
+ +
+
+
+ + +
+ + + + + + + + diff --git a/public/es/tags/family-cooking/index.xml b/public/es/tags/family-cooking/index.xml new file mode 100644 index 0000000..0d7678d --- /dev/null +++ b/public/es/tags/family-cooking/index.xml @@ -0,0 +1,19 @@ + + + + Family Cooking on este sitio de historias + http://localhost:1313/es/tags/family-cooking/ + Recent content in Family Cooking on este sitio de historias + Hugo + es + Tue, 03 Oct 2023 00:00:00 +0000 + + + Sanity-Saving Kitchen Hacks for Busy Families + http://localhost:1313/es/stories/post3/ + Tue, 03 Oct 2023 00:00:00 +0000 + http://localhost:1313/es/stories/post3/ + <h3 id="post-3-sanity-saving-kitchen-hacks-for-busy-families">Post 3: Sanity-Saving Kitchen Hacks for Busy Families</h3> <p>When life gets hectic, these kitchen hacks can help keep your sanity intact while cooking for your family.</p> <ol> <li><strong>Meal Prep Sundays</strong>: Dedicate Sundays to meal prep to make weeknight cooking easier.</li> <li><strong>Involve the Kids</strong>: Get your children involved in cooking to make it a fun family activity.</li> <li><strong>Use a Slow Cooker or Instant Pot</strong>: These appliances can save you time and effort on busy nights.</li> <li><strong>Create a Family Recipe Book</strong>: Compile favorite family recipes to make meal planning easier.</li> <li><strong>Set Up a Snack Station</strong>: Prepare healthy snacks in advance to keep everyone satisfied.</li> <li><strong>Use a Whiteboard for Meal Planning</strong>: Write down meals for the week on a whiteboard for easy reference.</li> <li><strong>Keep a Well-Stocked Pantry</strong>: Stock up on essentials to make quick meals without a trip to the store.</li> <li><strong>Make Breakfast Ahead</strong>: Prepare breakfast items like overnight oats or muffins in advance.</li> <li><strong>Embrace Leftover Nights</strong>: Designate one night a week for using up leftovers to reduce waste.</li> </ol> + + + diff --git a/public/es/tags/food-stories/index.html b/public/es/tags/food-stories/index.html new file mode 100644 index 0000000..8a59dfd --- /dev/null +++ b/public/es/tags/food-stories/index.html @@ -0,0 +1,130 @@ + + + + + + Food Stories | este sitio de historias + + + + + + + + + + +
+ +
+ +
+
+
+ + +
+ + + + + + + + diff --git a/public/es/tags/food-stories/index.xml b/public/es/tags/food-stories/index.xml new file mode 100644 index 0000000..f82e326 --- /dev/null +++ b/public/es/tags/food-stories/index.xml @@ -0,0 +1,19 @@ + + + + Food Stories on este sitio de historias + http://localhost:1313/es/tags/food-stories/ + Recent content in Food Stories on este sitio de historias + Hugo + es + Wed, 04 Oct 2023 00:00:00 +0000 + + + The Cultural Significance of Comfort Foods + http://localhost:1313/es/stories/post4/ + Wed, 04 Oct 2023 00:00:00 +0000 + http://localhost:1313/es/stories/post4/ + <h3 id="post-1-the-cultural-significance-of-comfort-foods">Post 1: The Cultural Significance of Comfort Foods</h3> <p>Comfort foods are often tied to our memories and cultural backgrounds. Let’s explore the stories behind some beloved comfort foods.</p> <ul> <li><strong>Mac and Cheese</strong>: A staple in American households, this dish has roots in Italy and has evolved into various regional variations.</li> <li><strong>Ramen</strong>: Originating from China, ramen has become a symbol of Japanese cuisine, with each region offering its unique twist.</li> <li><strong>Tacos</strong>: A traditional Mexican dish, tacos reflect the country’s diverse culinary heritage and regional ingredients.</li> <li><strong>Curry</strong>: With origins in South Asia, curry has traveled the world, adapting to local tastes and ingredients.</li> <li><strong>Biryani</strong>: This fragrant rice dish has a rich history, blending Persian and Indian culinary traditions.</li> </ul> + + + diff --git a/public/es/tags/granja-de-ganado/index.html b/public/es/tags/granja-de-ganado/index.html index 8f87ce6..6138fbd 100644 --- a/public/es/tags/granja-de-ganado/index.html +++ b/public/es/tags/granja-de-ganado/index.html @@ -1,6 +1,6 @@ - + Granja De Ganado | @@ -150,7 +150,7 @@ Construyendo un Servicio de ERP en la Nube con Odoo Community
- +

Construyendo un Servicio de ERP en la Nube con Odoo Community

@@ -212,7 +212,7 @@ Transformando Nuestra Granja de Ganado con Odoo Community

- +

Transformando Nuestra Granja de Ganado con Odoo Community

diff --git a/public/es/tags/granja-de-ganado/index.xml b/public/es/tags/granja-de-ganado/index.xml index cd3f372..9927123 100644 --- a/public/es/tags/granja-de-ganado/index.xml +++ b/public/es/tags/granja-de-ganado/index.xml @@ -2,17 +2,17 @@ Granja De Ganado on - https://success.odoo4projects.com/es/tags/granja-de-ganado/ + http://localhost:1313/es/tags/granja-de-ganado/ Recent content in Granja De Ganado on Hugo es Tue, 10 Jun 2025 12:00:00 +0000 - + Transformando Nuestra Granja de Ganado con Odoo Community - https://success.odoo4projects.com/es/stories/agape/ + http://localhost:1313/es/stories/agape/ Tue, 10 Jun 2025 12:00:00 +0000 - https://success.odoo4projects.com/es/stories/agape/ + http://localhost:1313/es/stories/agape/ <p><img src="https://estancia-agape.com/web/image/1078-81bed64d/agapei-1.svg" alt="Estancia Agapé"></p> <p>Operar una granja de ganado en Paraguay presenta desafíos únicos, especialmente cuando se manejan operaciones en <strong>tres ubicaciones distintas</strong>. En <a href="https://estancia-agape.com">Estancia Agapé</a>, nuestro objetivo siempre ha sido mantenernos arraigados en la tradición mientras abrazamos la innovación para crecer de manera sostenible y eficiente. Por esto recurrimos a <strong>Odoo Community</strong>, y los resultados han superado nuestras expectativas.</p> <h2 id="por-qué-odoo">¿Por qué Odoo?</h2> <p>Evaluamos varios sistemas antes de elegir Odoo Community. Las razones fueron claras:</p> diff --git a/public/es/tags/index.html b/public/es/tags/index.html index 0100c3d..52bbbf7 100644 --- a/public/es/tags/index.html +++ b/public/es/tags/index.html @@ -1,300 +1,377 @@ - - - - - - Tags | - - - - - - - - -

- -
-
-
-

🚀 Historias de éxito reales de Odoo: descubre dónde destaca Odoo

-

Descubre cómo empresas de todos los sectores se están transformando con Odoo, desde la optimización del inventario hasta la automatización de las ventas y la ampliación de las operaciones. Estos son ejemplos reales de cómo Odoo es un éxito rotundo. 💡 ¿Usas Odoo? Comparte tu historia de éxito y consigue visibilidad destacada con un backlink dofollow a tu sitio web como agradecimiento. Es visibilidad gratuita y un excelente SEO.

-
-
-
- -

- - categorías -

- -
- -
- -

- - etiquetas -

- -
-
-
- - - - - - - - -
- - - - - -
-
- - - - - - - - + + + + + + Tags | este sitio de historias + + + + + + + + + + +
+ +
+
+ Cattle Farm +
+ +

Cattle Farm

+
+

+ +
+ +
+ +
+ +
+ + +
+ + +
+ + +
+
+ +
+ + +
+
+
+ Community +
+ +

Community

+
+

+ +
+ +
+ +
+ +
+ + +
+ + +
+ + +
+
+ +
+ + +
+
+
+ ERP +
+ +

ERP

+
+

+ +
+ +
+ +
+ +
+ + +
+ + +
+ + +
+
+ +
+ + +
+
+
+ IT +
+ +

IT

+
+

+ +
+ +
+ +
+ +
+ + +
+ + +
+ + +
+
+ +
+ + +
+
+
+ Odoo +
+ +

Odoo

+
+

+ +
+ +
+ +
+ +
+ + +
+ + +
+ + +
+
+ +
+ + +
+
+
+ Paraguay +
+ +

Paraguay

+
+

+ +
+ +
+ +
+ +
+ + +
+ + +
+ + +
+
+ +
+ + +
+
+
+
+
+
+ + +
+ + + + + + + + diff --git a/public/es/tags/index.xml b/public/es/tags/index.xml index 341aca5..6626a91 100644 --- a/public/es/tags/index.xml +++ b/public/es/tags/index.xml @@ -1,53 +1,60 @@ - Tags on - https://success.odoo4projects.com/es/tags/ - Recent content in Tags on + Tags on este sitio de historias + http://localhost:1313/es/tags/ + Recent content in Tags on este sitio de historias Hugo es Tue, 10 Jun 2025 12:00:00 +0000 - + + + Cattle Farm + http://localhost:1313/es/tags/cattle-farm/ + Tue, 10 Jun 2025 12:00:00 +0000 + http://localhost:1313/es/tags/cattle-farm/ + + Community - https://success.odoo4projects.com/es/tags/community/ + http://localhost:1313/es/tags/community/ Tue, 10 Jun 2025 12:00:00 +0000 - https://success.odoo4projects.com/es/tags/community/ + http://localhost:1313/es/tags/community/ + + + + Digital Transformation + http://localhost:1313/es/tags/digital-transformation/ + Tue, 10 Jun 2025 12:00:00 +0000 + http://localhost:1313/es/tags/digital-transformation/ ERP - https://success.odoo4projects.com/es/tags/erp/ + http://localhost:1313/es/tags/erp/ Tue, 10 Jun 2025 12:00:00 +0000 - https://success.odoo4projects.com/es/tags/erp/ - - - - Granja De Ganado - https://success.odoo4projects.com/es/tags/granja-de-ganado/ - Tue, 10 Jun 2025 12:00:00 +0000 - https://success.odoo4projects.com/es/tags/granja-de-ganado/ + http://localhost:1313/es/tags/erp/ IT - https://success.odoo4projects.com/es/tags/it/ + http://localhost:1313/es/tags/it/ Tue, 10 Jun 2025 12:00:00 +0000 - https://success.odoo4projects.com/es/tags/it/ + http://localhost:1313/es/tags/it/ Odoo - https://success.odoo4projects.com/es/tags/odoo/ + http://localhost:1313/es/tags/odoo/ Tue, 10 Jun 2025 12:00:00 +0000 - https://success.odoo4projects.com/es/tags/odoo/ + http://localhost:1313/es/tags/odoo/ Paraguay - https://success.odoo4projects.com/es/tags/paraguay/ + http://localhost:1313/es/tags/paraguay/ Tue, 10 Jun 2025 12:00:00 +0000 - https://success.odoo4projects.com/es/tags/paraguay/ + http://localhost:1313/es/tags/paraguay/ diff --git a/public/es/tags/it/index.html b/public/es/tags/it/index.html index cf0105d..5f0ed29 100644 --- a/public/es/tags/it/index.html +++ b/public/es/tags/it/index.html @@ -1,300 +1,167 @@ - - - - - - IT | - - - - - - - - - - -
-
-
-

🚀 Historias de éxito reales de Odoo: descubre dónde destaca Odoo

-

Descubre cómo empresas de todos los sectores se están transformando con Odoo, desde la optimización del inventario hasta la automatización de las ventas y la ampliación de las operaciones. Estos son ejemplos reales de cómo Odoo es un éxito rotundo. 💡 ¿Usas Odoo? Comparte tu historia de éxito y consigue visibilidad destacada con un backlink dofollow a tu sitio web como agradecimiento. Es visibilidad gratuita y un excelente SEO.

-
-
-
- -

- - categorías -

- -
- -
- -

- - etiquetas -

- -
-
-
- - - - - - - - -
- - - - - -
-
- - - - - - - - + + + + + + IT | este sitio de historias + + + + + + + + + + +
+ +
+ +
+
+
+ + +
+ + + + + + + + diff --git a/public/es/tags/it/index.xml b/public/es/tags/it/index.xml index 76fe671..1ac465a 100644 --- a/public/es/tags/it/index.xml +++ b/public/es/tags/it/index.xml @@ -1,18 +1,18 @@ - IT on - https://success.odoo4projects.com/es/tags/it/ - Recent content in IT on + IT on este sitio de historias + http://localhost:1313/es/tags/it/ + Recent content in IT on este sitio de historias Hugo es Tue, 10 Jun 2025 12:00:00 +0000 - + Construyendo un Servicio de ERP en la Nube con Odoo Community - https://success.odoo4projects.com/es/stories/odoo4projects/ + http://localhost:1313/es/stories/odoo4projects/ Tue, 10 Jun 2025 12:00:00 +0000 - https://success.odoo4projects.com/es/stories/odoo4projects/ + http://localhost:1313/es/stories/odoo4projects/ <p><img src="https://odoo4projects.com/web/image/2890-1713a804/Header_low.png" alt="ODOO4projects"></p> <p>En <a href="https://ODOO4projects.com">ODOO4projects</a>, nos especializamos en ayudar a las empresas a tener éxito con el ERP de código abierto. Pero también ejecutamos nuestros propios servicios en la misma plataforma, y es por eso que decidimos construir nuestra <strong>infraestructura de alojamiento de ERP en la nube utilizando Odoo Community V17</strong>.</p> <h2 id="por-qué-odoo-community">¿Por qué Odoo Community?</h2> <p>Queríamos probar hasta dónde podía llegar Odoo Community, y no nos ha decepcionado.</p> <ul> <li>100% de código abierto, sin tasas de licencia</li> <li>Altamente personalizable para casos de uso específicos</li> <li>Fuerte soporte de la comunidad internacional</li> <li>Ruta de actualización clara y diseño modular</li> </ul> <p>Nuestro objetivo no era solo usar Odoo, sino <strong>llegar al límite de lo que es posible con la Edición Comunitaria</strong>.</p> diff --git a/public/es/tags/kitchen-hacks/index.html b/public/es/tags/kitchen-hacks/index.html new file mode 100644 index 0000000..031c1df --- /dev/null +++ b/public/es/tags/kitchen-hacks/index.html @@ -0,0 +1,240 @@ + + + + + + Kitchen Hacks | este sitio de historias + + + + + + + + + + +
+ +
+ +
+
+
+ + +
+ + + + + + + + diff --git a/public/es/tags/kitchen-hacks/index.xml b/public/es/tags/kitchen-hacks/index.xml new file mode 100644 index 0000000..da67e4e --- /dev/null +++ b/public/es/tags/kitchen-hacks/index.xml @@ -0,0 +1,33 @@ + + + + Kitchen Hacks on este sitio de historias + http://localhost:1313/es/tags/kitchen-hacks/ + Recent content in Kitchen Hacks on este sitio de historias + Hugo + es + Tue, 03 Oct 2023 00:00:00 +0000 + + + Sanity-Saving Kitchen Hacks for Busy Families + http://localhost:1313/es/stories/post3/ + Tue, 03 Oct 2023 00:00:00 +0000 + http://localhost:1313/es/stories/post3/ + <h3 id="post-3-sanity-saving-kitchen-hacks-for-busy-families">Post 3: Sanity-Saving Kitchen Hacks for Busy Families</h3> <p>When life gets hectic, these kitchen hacks can help keep your sanity intact while cooking for your family.</p> <ol> <li><strong>Meal Prep Sundays</strong>: Dedicate Sundays to meal prep to make weeknight cooking easier.</li> <li><strong>Involve the Kids</strong>: Get your children involved in cooking to make it a fun family activity.</li> <li><strong>Use a Slow Cooker or Instant Pot</strong>: These appliances can save you time and effort on busy nights.</li> <li><strong>Create a Family Recipe Book</strong>: Compile favorite family recipes to make meal planning easier.</li> <li><strong>Set Up a Snack Station</strong>: Prepare healthy snacks in advance to keep everyone satisfied.</li> <li><strong>Use a Whiteboard for Meal Planning</strong>: Write down meals for the week on a whiteboard for easy reference.</li> <li><strong>Keep a Well-Stocked Pantry</strong>: Stock up on essentials to make quick meals without a trip to the store.</li> <li><strong>Make Breakfast Ahead</strong>: Prepare breakfast items like overnight oats or muffins in advance.</li> <li><strong>Embrace Leftover Nights</strong>: Designate one night a week for using up leftovers to reduce waste.</li> </ol> + + + Budget-Friendly Kitchen Hacks to Save You Money + http://localhost:1313/es/stories/post2/ + Mon, 02 Oct 2023 00:00:00 +0000 + http://localhost:1313/es/stories/post2/ + <h3 id="post-2-budget-friendly-kitchen-hacks-to-save-you-money">Post 2: Budget-Friendly Kitchen Hacks to Save You Money</h3> <p>Eating well doesn’t have to break the bank. Here are some budget-friendly kitchen hacks to help you save money while cooking.</p> <ol> <li><strong>Buy in Bulk</strong>: Purchase staples like rice, beans, and pasta in bulk to save money.</li> <li><strong>Use Leftovers Creatively</strong>: Transform leftovers into new meals to reduce waste.</li> <li><strong>Grow Your Own Herbs</strong>: Start a small herb garden to save on fresh herbs.</li> <li><strong>Make Your Own Sauces</strong>: Homemade sauces can be cheaper and healthier than store-bought options.</li> <li><strong>Plan Your Grocery List</strong>: Stick to a list to avoid impulse buys at the grocery store.</li> <li><strong>Use Seasonal Produce</strong>: Buy fruits and vegetables that are in season for better prices and flavor.</li> <li><strong>Freeze Extra Portions</strong>: Save money by freezing extra portions of meals for future use.</li> <li><strong>DIY Cleaning Supplies</strong>: Make your own cleaning supplies to save on costs.</li> <li><strong>Shop Sales and Coupons</strong>: Keep an eye out for sales and use coupons to save on groceries.</li> </ol> + + + 10 Time-Saving Kitchen Hacks You Need to Try + http://localhost:1313/es/stories/post1/ + Sun, 01 Oct 2023 00:00:00 +0000 + http://localhost:1313/es/stories/post1/ + <h3 id="post-1-10-time-saving-kitchen-hacks-you-need-to-try">Post 1: 10 Time-Saving Kitchen Hacks You Need to Try</h3> <p>Cooking can be a time-consuming task, but with these kitchen hacks, you can streamline your process and get meals on the table faster.</p> <ol> <li><strong>Pre-chop Vegetables</strong>: Spend a few minutes chopping vegetables at the beginning of the week and store them in airtight containers.</li> <li><strong>Use a Slow Cooker</strong>: Prepare meals in the morning and let your slow cooker do the work while you go about your day.</li> <li><strong>Batch Cooking</strong>: Cook large portions of meals and freeze them for later use.</li> <li><strong>One-Pan Meals</strong>: Reduce cleanup time by making meals that can be cooked in a single pan.</li> <li><strong>Microwave Hacks</strong>: Use your microwave to quickly steam vegetables or reheat leftovers.</li> <li><strong>Invest in Quality Tools</strong>: A good knife and cutting board can save you time and effort.</li> <li><strong>Organize Your Pantry</strong>: Keep your pantry organized to easily find ingredients and avoid duplicate purchases.</li> <li><strong>Use a Food Processor</strong>: Speed up chopping, slicing, and grating tasks with a food processor.</li> <li><strong>Plan Your Meals</strong>: Create a weekly meal plan to save time on grocery shopping and cooking.</li> </ol> + + + diff --git a/public/es/tags/odoo/index.html b/public/es/tags/odoo/index.html index 80a8477..7035467 100644 --- a/public/es/tags/odoo/index.html +++ b/public/es/tags/odoo/index.html @@ -1,300 +1,234 @@ - - - - - - Odoo | - - - - - - - - - - -
-
-
-

🚀 Historias de éxito reales de Odoo: descubre dónde destaca Odoo

-

Descubre cómo empresas de todos los sectores se están transformando con Odoo, desde la optimización del inventario hasta la automatización de las ventas y la ampliación de las operaciones. Estos son ejemplos reales de cómo Odoo es un éxito rotundo. 💡 ¿Usas Odoo? Comparte tu historia de éxito y consigue visibilidad destacada con un backlink dofollow a tu sitio web como agradecimiento. Es visibilidad gratuita y un excelente SEO.

-
-
-
- -

- - categorías -

- -
- -
- -

- - etiquetas -

- -
-
-
- - - - - - - - -
- - - - - -
-
- - - - - - - - + + + + + + Odoo | este sitio de historias + + + + + + + + + + +
+ +
+ +
+
+
+ + +
+ + + + + + + + diff --git a/public/es/tags/odoo/index.xml b/public/es/tags/odoo/index.xml index 72160c7..d4854d7 100644 --- a/public/es/tags/odoo/index.xml +++ b/public/es/tags/odoo/index.xml @@ -1,26 +1,26 @@ - Odoo on - https://success.odoo4projects.com/es/tags/odoo/ - Recent content in Odoo on + Odoo on este sitio de historias + http://localhost:1313/es/tags/odoo/ + Recent content in Odoo on este sitio de historias Hugo es Tue, 10 Jun 2025 12:00:00 +0000 - + Construyendo un Servicio de ERP en la Nube con Odoo Community - https://success.odoo4projects.com/es/stories/odoo4projects/ + http://localhost:1313/es/stories/odoo4projects/ Tue, 10 Jun 2025 12:00:00 +0000 - https://success.odoo4projects.com/es/stories/odoo4projects/ + http://localhost:1313/es/stories/odoo4projects/ <p><img src="https://odoo4projects.com/web/image/2890-1713a804/Header_low.png" alt="ODOO4projects"></p> <p>En <a href="https://ODOO4projects.com">ODOO4projects</a>, nos especializamos en ayudar a las empresas a tener éxito con el ERP de código abierto. Pero también ejecutamos nuestros propios servicios en la misma plataforma, y es por eso que decidimos construir nuestra <strong>infraestructura de alojamiento de ERP en la nube utilizando Odoo Community V17</strong>.</p> <h2 id="por-qué-odoo-community">¿Por qué Odoo Community?</h2> <p>Queríamos probar hasta dónde podía llegar Odoo Community, y no nos ha decepcionado.</p> <ul> <li>100% de código abierto, sin tasas de licencia</li> <li>Altamente personalizable para casos de uso específicos</li> <li>Fuerte soporte de la comunidad internacional</li> <li>Ruta de actualización clara y diseño modular</li> </ul> <p>Nuestro objetivo no era solo usar Odoo, sino <strong>llegar al límite de lo que es posible con la Edición Comunitaria</strong>.</p> - Transformando Nuestra Granja de Ganado con Odoo Community - https://success.odoo4projects.com/es/stories/agape/ + Transforming Our Cattle Farm with Odoo Community + http://localhost:1313/es/stories/agape/ Tue, 10 Jun 2025 12:00:00 +0000 - https://success.odoo4projects.com/es/stories/agape/ - <p><img src="https://estancia-agape.com/web/image/1078-81bed64d/agapei-1.svg" alt="Estancia Agapé"></p> <p>Operar una granja de ganado en Paraguay presenta desafíos únicos, especialmente cuando se manejan operaciones en <strong>tres ubicaciones distintas</strong>. En <a href="https://estancia-agape.com">Estancia Agapé</a>, nuestro objetivo siempre ha sido mantenernos arraigados en la tradición mientras abrazamos la innovación para crecer de manera sostenible y eficiente. Por esto recurrimos a <strong>Odoo Community</strong>, y los resultados han superado nuestras expectativas.</p> <h2 id="por-qué-odoo">¿Por qué Odoo?</h2> <p>Evaluamos varios sistemas antes de elegir Odoo Community. Las razones fueron claras:</p> + http://localhost:1313/es/stories/agape/ + <p><img src="https://estancia-agape.com/web/image/1078-81bed64d/agapei-1.svg" alt="Estancia Agapé"></p> <p>Running a cattle farm in Paraguay presents unique challenges — especially when managing operations across <strong>three distinct locations</strong>. At <a href="https://estancia-agape.com">Estancia Agapé</a>, our goal has always been to stay grounded in tradition while embracing innovation to grow sustainably and efficiently. This is why we turned to <strong>Odoo Community</strong>, and the results have exceeded our expectations.</p> <h2 id="why-odoo">Why Odoo?</h2> <p>We evaluated various systems before choosing Odoo Community. The reasons were clear:</p> <ul> <li>Open-source and customizable</li> <li>Robust set of features for inventory, accounting, and logistics</li> <li>Large and active global community</li> <li>No licensing fees</li> </ul> <p>But what truly made the difference was the ability to <strong>host the service online</strong>.</p> diff --git a/public/es/tags/paraguay/index.html b/public/es/tags/paraguay/index.html index 9cd348c..ff6be51 100644 --- a/public/es/tags/paraguay/index.html +++ b/public/es/tags/paraguay/index.html @@ -1,300 +1,171 @@ - - - - - - Paraguay | - - - - - - - - - - -
-
-
-

🚀 Historias de éxito reales de Odoo: descubre dónde destaca Odoo

-

Descubre cómo empresas de todos los sectores se están transformando con Odoo, desde la optimización del inventario hasta la automatización de las ventas y la ampliación de las operaciones. Estos son ejemplos reales de cómo Odoo es un éxito rotundo. 💡 ¿Usas Odoo? Comparte tu historia de éxito y consigue visibilidad destacada con un backlink dofollow a tu sitio web como agradecimiento. Es visibilidad gratuita y un excelente SEO.

-
-
-
- -

- - categorías -

- -
- -
- -

- - etiquetas -

- -
-
-
- - - - - - - - -
- - - - - -
-
- - - - - - - - + + + + + + Paraguay | este sitio de historias + + + + + + + + + + +
+ +
+ +
+
+
+ + +
+ + + + + + + + diff --git a/public/es/tags/paraguay/index.xml b/public/es/tags/paraguay/index.xml index f356aa2..3cd212c 100644 --- a/public/es/tags/paraguay/index.xml +++ b/public/es/tags/paraguay/index.xml @@ -1,19 +1,19 @@ - Paraguay on - https://success.odoo4projects.com/es/tags/paraguay/ - Recent content in Paraguay on + Paraguay on este sitio de historias + http://localhost:1313/es/tags/paraguay/ + Recent content in Paraguay on este sitio de historias Hugo es Tue, 10 Jun 2025 12:00:00 +0000 - + - Transformando Nuestra Granja de Ganado con Odoo Community - https://success.odoo4projects.com/es/stories/agape/ + Transforming Our Cattle Farm with Odoo Community + http://localhost:1313/es/stories/agape/ Tue, 10 Jun 2025 12:00:00 +0000 - https://success.odoo4projects.com/es/stories/agape/ - <p><img src="https://estancia-agape.com/web/image/1078-81bed64d/agapei-1.svg" alt="Estancia Agapé"></p> <p>Operar una granja de ganado en Paraguay presenta desafíos únicos, especialmente cuando se manejan operaciones en <strong>tres ubicaciones distintas</strong>. En <a href="https://estancia-agape.com">Estancia Agapé</a>, nuestro objetivo siempre ha sido mantenernos arraigados en la tradición mientras abrazamos la innovación para crecer de manera sostenible y eficiente. Por esto recurrimos a <strong>Odoo Community</strong>, y los resultados han superado nuestras expectativas.</p> <h2 id="por-qué-odoo">¿Por qué Odoo?</h2> <p>Evaluamos varios sistemas antes de elegir Odoo Community. Las razones fueron claras:</p> + http://localhost:1313/es/stories/agape/ + <p><img src="https://estancia-agape.com/web/image/1078-81bed64d/agapei-1.svg" alt="Estancia Agapé"></p> <p>Running a cattle farm in Paraguay presents unique challenges — especially when managing operations across <strong>three distinct locations</strong>. At <a href="https://estancia-agape.com">Estancia Agapé</a>, our goal has always been to stay grounded in tradition while embracing innovation to grow sustainably and efficiently. This is why we turned to <strong>Odoo Community</strong>, and the results have exceeded our expectations.</p> <h2 id="why-odoo">Why Odoo?</h2> <p>We evaluated various systems before choosing Odoo Community. The reasons were clear:</p> <ul> <li>Open-source and customizable</li> <li>Robust set of features for inventory, accounting, and logistics</li> <li>Large and active global community</li> <li>No licensing fees</li> </ul> <p>But what truly made the difference was the ability to <strong>host the service online</strong>.</p> diff --git a/public/es/tags/plant-based/index.html b/public/es/tags/plant-based/index.html new file mode 100644 index 0000000..a463bf6 --- /dev/null +++ b/public/es/tags/plant-based/index.html @@ -0,0 +1,130 @@ + + + + + + Plant-Based | este sitio de historias + + + + + + + + + + +
+ +
+ +
+
+
+ + +
+ + + + + + + + diff --git a/public/es/tags/plant-based/index.xml b/public/es/tags/plant-based/index.xml new file mode 100644 index 0000000..abdebed --- /dev/null +++ b/public/es/tags/plant-based/index.xml @@ -0,0 +1,19 @@ + + + + Plant-Based on este sitio de historias + http://localhost:1313/es/tags/plant-based/ + Recent content in Plant-Based on este sitio de historias + Hugo + es + Tue, 10 Oct 2023 00:00:00 +0000 + + + Plant-Powered Perfection: Delicious and Easy Vegan Meals for Busy Weeknights + http://localhost:1313/es/stories/post5/ + Tue, 10 Oct 2023 00:00:00 +0000 + http://localhost:1313/es/stories/post5/ + <h2 id="plant-powered-perfection-delicious-and-easy-vegan-meals-for-busy-weeknights">Plant-Powered Perfection: Delicious and Easy Vegan Meals for Busy Weeknights</h2> <p>In today’s fast-paced world, finding time to prepare healthy meals can be a challenge, especially for those following a vegan lifestyle. But fear not! We’ve compiled a list of delicious and easy vegan meals that are perfect for busy weeknights. These recipes are not only quick to prepare but also packed with flavor and nutrients. Let’s dive into the world of plant-powered perfection!</p> + + + diff --git a/public/es/tags/quick-recipes/index.html b/public/es/tags/quick-recipes/index.html new file mode 100644 index 0000000..d9edecf --- /dev/null +++ b/public/es/tags/quick-recipes/index.html @@ -0,0 +1,130 @@ + + + + + + Quick Recipes | este sitio de historias + + + + + + + + + + +
+ +
+ +
+
+
+ + +
+ + + + + + + + diff --git a/public/es/tags/quick-recipes/index.xml b/public/es/tags/quick-recipes/index.xml new file mode 100644 index 0000000..d12690c --- /dev/null +++ b/public/es/tags/quick-recipes/index.xml @@ -0,0 +1,19 @@ + + + + Quick Recipes on este sitio de historias + http://localhost:1313/es/tags/quick-recipes/ + Recent content in Quick Recipes on este sitio de historias + Hugo + es + Tue, 10 Oct 2023 00:00:00 +0000 + + + Plant-Powered Perfection: Delicious and Easy Vegan Meals for Busy Weeknights + http://localhost:1313/es/stories/post5/ + Tue, 10 Oct 2023 00:00:00 +0000 + http://localhost:1313/es/stories/post5/ + <h2 id="plant-powered-perfection-delicious-and-easy-vegan-meals-for-busy-weeknights">Plant-Powered Perfection: Delicious and Easy Vegan Meals for Busy Weeknights</h2> <p>In today’s fast-paced world, finding time to prepare healthy meals can be a challenge, especially for those following a vegan lifestyle. But fear not! We’ve compiled a list of delicious and easy vegan meals that are perfect for busy weeknights. These recipes are not only quick to prepare but also packed with flavor and nutrients. Let’s dive into the world of plant-powered perfection!</p> + + + diff --git a/public/es/tags/time-saving/index.html b/public/es/tags/time-saving/index.html new file mode 100644 index 0000000..d98920c --- /dev/null +++ b/public/es/tags/time-saving/index.html @@ -0,0 +1,185 @@ + + + + + + Time-Saving | este sitio de historias + + + + + + + + + + +
+ +
+ +
+
+
+ + +
+ + + + + + + + diff --git a/public/es/tags/time-saving/index.xml b/public/es/tags/time-saving/index.xml new file mode 100644 index 0000000..57a7337 --- /dev/null +++ b/public/es/tags/time-saving/index.xml @@ -0,0 +1,26 @@ + + + + Time-Saving on este sitio de historias + http://localhost:1313/es/tags/time-saving/ + Recent content in Time-Saving on este sitio de historias + Hugo + es + Tue, 03 Oct 2023 00:00:00 +0000 + + + Sanity-Saving Kitchen Hacks for Busy Families + http://localhost:1313/es/stories/post3/ + Tue, 03 Oct 2023 00:00:00 +0000 + http://localhost:1313/es/stories/post3/ + <h3 id="post-3-sanity-saving-kitchen-hacks-for-busy-families">Post 3: Sanity-Saving Kitchen Hacks for Busy Families</h3> <p>When life gets hectic, these kitchen hacks can help keep your sanity intact while cooking for your family.</p> <ol> <li><strong>Meal Prep Sundays</strong>: Dedicate Sundays to meal prep to make weeknight cooking easier.</li> <li><strong>Involve the Kids</strong>: Get your children involved in cooking to make it a fun family activity.</li> <li><strong>Use a Slow Cooker or Instant Pot</strong>: These appliances can save you time and effort on busy nights.</li> <li><strong>Create a Family Recipe Book</strong>: Compile favorite family recipes to make meal planning easier.</li> <li><strong>Set Up a Snack Station</strong>: Prepare healthy snacks in advance to keep everyone satisfied.</li> <li><strong>Use a Whiteboard for Meal Planning</strong>: Write down meals for the week on a whiteboard for easy reference.</li> <li><strong>Keep a Well-Stocked Pantry</strong>: Stock up on essentials to make quick meals without a trip to the store.</li> <li><strong>Make Breakfast Ahead</strong>: Prepare breakfast items like overnight oats or muffins in advance.</li> <li><strong>Embrace Leftover Nights</strong>: Designate one night a week for using up leftovers to reduce waste.</li> </ol> + + + 10 Time-Saving Kitchen Hacks You Need to Try + http://localhost:1313/es/stories/post1/ + Sun, 01 Oct 2023 00:00:00 +0000 + http://localhost:1313/es/stories/post1/ + <h3 id="post-1-10-time-saving-kitchen-hacks-you-need-to-try">Post 1: 10 Time-Saving Kitchen Hacks You Need to Try</h3> <p>Cooking can be a time-consuming task, but with these kitchen hacks, you can streamline your process and get meals on the table faster.</p> <ol> <li><strong>Pre-chop Vegetables</strong>: Spend a few minutes chopping vegetables at the beginning of the week and store them in airtight containers.</li> <li><strong>Use a Slow Cooker</strong>: Prepare meals in the morning and let your slow cooker do the work while you go about your day.</li> <li><strong>Batch Cooking</strong>: Cook large portions of meals and freeze them for later use.</li> <li><strong>One-Pan Meals</strong>: Reduce cleanup time by making meals that can be cooked in a single pan.</li> <li><strong>Microwave Hacks</strong>: Use your microwave to quickly steam vegetables or reheat leftovers.</li> <li><strong>Invest in Quality Tools</strong>: A good knife and cutting board can save you time and effort.</li> <li><strong>Organize Your Pantry</strong>: Keep your pantry organized to easily find ingredients and avoid duplicate purchases.</li> <li><strong>Use a Food Processor</strong>: Speed up chopping, slicing, and grating tasks with a food processor.</li> <li><strong>Plan Your Meals</strong>: Create a weekly meal plan to save time on grocery shopping and cooking.</li> </ol> + + + diff --git a/public/es/tags/vegan-meals/index.html b/public/es/tags/vegan-meals/index.html new file mode 100644 index 0000000..7ed4259 --- /dev/null +++ b/public/es/tags/vegan-meals/index.html @@ -0,0 +1,130 @@ + + + + + + Vegan Meals | este sitio de historias + + + + + + + + + + +
+ +
+ +
+
+
+ + +
+ + + + + + + + diff --git a/public/es/tags/vegan-meals/index.xml b/public/es/tags/vegan-meals/index.xml new file mode 100644 index 0000000..144a9cb --- /dev/null +++ b/public/es/tags/vegan-meals/index.xml @@ -0,0 +1,19 @@ + + + + Vegan Meals on este sitio de historias + http://localhost:1313/es/tags/vegan-meals/ + Recent content in Vegan Meals on este sitio de historias + Hugo + es + Tue, 10 Oct 2023 00:00:00 +0000 + + + Plant-Powered Perfection: Delicious and Easy Vegan Meals for Busy Weeknights + http://localhost:1313/es/stories/post5/ + Tue, 10 Oct 2023 00:00:00 +0000 + http://localhost:1313/es/stories/post5/ + <h2 id="plant-powered-perfection-delicious-and-easy-vegan-meals-for-busy-weeknights">Plant-Powered Perfection: Delicious and Easy Vegan Meals for Busy Weeknights</h2> <p>In today’s fast-paced world, finding time to prepare healthy meals can be a challenge, especially for those following a vegan lifestyle. But fear not! We’ve compiled a list of delicious and easy vegan meals that are perfect for busy weeknights. These recipes are not only quick to prepare but also packed with flavor and nutrients. Let’s dive into the world of plant-powered perfection!</p> + + + diff --git a/public/index.html b/public/index.html index f5e4dbe..ccb8811 100644 --- a/public/index.html +++ b/public/index.html @@ -1,10 +1,10 @@ - https://success.odoo4projects.com/en/ - + http://localhost:1313/en/ + - + diff --git a/public/js/main.js b/public/js/main.js new file mode 100644 index 0000000..6515b80 --- /dev/null +++ b/public/js/main.js @@ -0,0 +1,29 @@ +document.addEventListener("DOMContentLoaded", function () { + const modal = document.getElementById("story-modal"); + const content = document.getElementById("modal-content"); + const close = document.getElementById("close-modal"); + + document.querySelectorAll(".open-modal").forEach((btn) => { + btn.addEventListener("click", async function () { + const url = this.getAttribute("data-story-url"); + + try { + const res = await fetch(url); + const html = await res.text(); + const parser = new DOMParser(); + const doc = parser.parseFromString(html, "text/html"); + + // Optional: target only the article content + const article = doc.querySelector("article") || doc.body; + content.innerHTML = article.innerHTML; + + modal.classList.add("show-story-modal"); + } catch (err) { + content.innerHTML = "

Failed to load content.

"; + modal.classList.add("show-story-modal"); + } + }); + }); + + close.addEventListener("click", () => modal.classList.remove("show-story-modal")); +}); diff --git a/public/pagefind/fragment/de_12c53e7.pf_fragment b/public/pagefind/fragment/de_12c53e7.pf_fragment new file mode 100644 index 0000000..0b36869 Binary files /dev/null and b/public/pagefind/fragment/de_12c53e7.pf_fragment differ diff --git a/public/pagefind/fragment/de_179c9c2.pf_fragment b/public/pagefind/fragment/de_179c9c2.pf_fragment new file mode 100644 index 0000000..64b71d5 Binary files /dev/null and b/public/pagefind/fragment/de_179c9c2.pf_fragment differ diff --git a/public/pagefind/fragment/de_273bb95.pf_fragment b/public/pagefind/fragment/de_273bb95.pf_fragment new file mode 100644 index 0000000..6b531c4 Binary files /dev/null and b/public/pagefind/fragment/de_273bb95.pf_fragment differ diff --git a/public/pagefind/fragment/de_2cf68f5.pf_fragment b/public/pagefind/fragment/de_2cf68f5.pf_fragment new file mode 100644 index 0000000..4c2a003 Binary files /dev/null and b/public/pagefind/fragment/de_2cf68f5.pf_fragment differ diff --git a/public/pagefind/fragment/de_30d99e5.pf_fragment b/public/pagefind/fragment/de_30d99e5.pf_fragment new file mode 100644 index 0000000..7d4653a Binary files /dev/null and b/public/pagefind/fragment/de_30d99e5.pf_fragment differ diff --git a/public/pagefind/fragment/de_352b7fe.pf_fragment b/public/pagefind/fragment/de_352b7fe.pf_fragment new file mode 100644 index 0000000..c8feb88 Binary files /dev/null and b/public/pagefind/fragment/de_352b7fe.pf_fragment differ diff --git a/public/pagefind/fragment/de_473af57.pf_fragment b/public/pagefind/fragment/de_473af57.pf_fragment new file mode 100644 index 0000000..cb532f8 Binary files /dev/null and b/public/pagefind/fragment/de_473af57.pf_fragment differ diff --git a/public/pagefind/fragment/de_5e254c5.pf_fragment b/public/pagefind/fragment/de_5e254c5.pf_fragment new file mode 100644 index 0000000..09cafc6 Binary files /dev/null and b/public/pagefind/fragment/de_5e254c5.pf_fragment differ diff --git a/public/pagefind/fragment/de_6791d3b.pf_fragment b/public/pagefind/fragment/de_6791d3b.pf_fragment new file mode 100644 index 0000000..afeb14c Binary files /dev/null and b/public/pagefind/fragment/de_6791d3b.pf_fragment differ diff --git a/public/pagefind/fragment/de_771c4f8.pf_fragment b/public/pagefind/fragment/de_771c4f8.pf_fragment new file mode 100644 index 0000000..4975140 Binary files /dev/null and b/public/pagefind/fragment/de_771c4f8.pf_fragment differ diff --git a/public/pagefind/fragment/de_89cee69.pf_fragment b/public/pagefind/fragment/de_89cee69.pf_fragment new file mode 100644 index 0000000..3be3dd5 Binary files /dev/null and b/public/pagefind/fragment/de_89cee69.pf_fragment differ diff --git a/public/pagefind/fragment/de_d628b8e.pf_fragment b/public/pagefind/fragment/de_d628b8e.pf_fragment new file mode 100644 index 0000000..da624f6 Binary files /dev/null and b/public/pagefind/fragment/de_d628b8e.pf_fragment differ diff --git a/public/pagefind/fragment/de_da32779.pf_fragment b/public/pagefind/fragment/de_da32779.pf_fragment new file mode 100644 index 0000000..0c3a0ab Binary files /dev/null and b/public/pagefind/fragment/de_da32779.pf_fragment differ diff --git a/public/pagefind/fragment/de_e692b7c.pf_fragment b/public/pagefind/fragment/de_e692b7c.pf_fragment new file mode 100644 index 0000000..3775e41 Binary files /dev/null and b/public/pagefind/fragment/de_e692b7c.pf_fragment differ diff --git a/public/pagefind/fragment/de_efe1732.pf_fragment b/public/pagefind/fragment/de_efe1732.pf_fragment new file mode 100644 index 0000000..d6a74fa Binary files /dev/null and b/public/pagefind/fragment/de_efe1732.pf_fragment differ diff --git a/public/pagefind/fragment/de_f3a2db3.pf_fragment b/public/pagefind/fragment/de_f3a2db3.pf_fragment new file mode 100644 index 0000000..ac03edb Binary files /dev/null and b/public/pagefind/fragment/de_f3a2db3.pf_fragment differ diff --git a/public/pagefind/fragment/en_13d4de7.pf_fragment b/public/pagefind/fragment/en_13d4de7.pf_fragment new file mode 100644 index 0000000..1c9bad3 Binary files /dev/null and b/public/pagefind/fragment/en_13d4de7.pf_fragment differ diff --git a/public/pagefind/fragment/en_16c18f9.pf_fragment b/public/pagefind/fragment/en_16c18f9.pf_fragment new file mode 100644 index 0000000..c7cc84d Binary files /dev/null and b/public/pagefind/fragment/en_16c18f9.pf_fragment differ diff --git a/public/pagefind/fragment/en_17628b1.pf_fragment b/public/pagefind/fragment/en_17628b1.pf_fragment new file mode 100644 index 0000000..2b3ace1 Binary files /dev/null and b/public/pagefind/fragment/en_17628b1.pf_fragment differ diff --git a/public/pagefind/fragment/en_22875fb.pf_fragment b/public/pagefind/fragment/en_22875fb.pf_fragment new file mode 100644 index 0000000..ff38584 Binary files /dev/null and b/public/pagefind/fragment/en_22875fb.pf_fragment differ diff --git a/public/pagefind/fragment/en_233e92b.pf_fragment b/public/pagefind/fragment/en_233e92b.pf_fragment new file mode 100644 index 0000000..d3c771a Binary files /dev/null and b/public/pagefind/fragment/en_233e92b.pf_fragment differ diff --git a/public/pagefind/fragment/en_38481d6.pf_fragment b/public/pagefind/fragment/en_38481d6.pf_fragment new file mode 100644 index 0000000..c24c44c Binary files /dev/null and b/public/pagefind/fragment/en_38481d6.pf_fragment differ diff --git a/public/pagefind/fragment/en_47c6e0a.pf_fragment b/public/pagefind/fragment/en_47c6e0a.pf_fragment new file mode 100644 index 0000000..b0f8c38 Binary files /dev/null and b/public/pagefind/fragment/en_47c6e0a.pf_fragment differ diff --git a/public/pagefind/fragment/en_80c8b45.pf_fragment b/public/pagefind/fragment/en_80c8b45.pf_fragment new file mode 100644 index 0000000..b222eca Binary files /dev/null and b/public/pagefind/fragment/en_80c8b45.pf_fragment differ diff --git a/public/pagefind/fragment/en_aa1339a.pf_fragment b/public/pagefind/fragment/en_aa1339a.pf_fragment new file mode 100644 index 0000000..60781e9 Binary files /dev/null and b/public/pagefind/fragment/en_aa1339a.pf_fragment differ diff --git a/public/pagefind/fragment/en_ab60dcb.pf_fragment b/public/pagefind/fragment/en_ab60dcb.pf_fragment new file mode 100644 index 0000000..6fe8937 Binary files /dev/null and b/public/pagefind/fragment/en_ab60dcb.pf_fragment differ diff --git a/public/pagefind/fragment/en_accb743.pf_fragment b/public/pagefind/fragment/en_accb743.pf_fragment new file mode 100644 index 0000000..1e00991 Binary files /dev/null and b/public/pagefind/fragment/en_accb743.pf_fragment differ diff --git a/public/pagefind/fragment/en_b5c7707.pf_fragment b/public/pagefind/fragment/en_b5c7707.pf_fragment new file mode 100644 index 0000000..fd00417 Binary files /dev/null and b/public/pagefind/fragment/en_b5c7707.pf_fragment differ diff --git a/public/pagefind/fragment/en_d1b5d14.pf_fragment b/public/pagefind/fragment/en_d1b5d14.pf_fragment new file mode 100644 index 0000000..cc2500f Binary files /dev/null and b/public/pagefind/fragment/en_d1b5d14.pf_fragment differ diff --git a/public/pagefind/fragment/en_d4ac812.pf_fragment b/public/pagefind/fragment/en_d4ac812.pf_fragment new file mode 100644 index 0000000..3e8de82 Binary files /dev/null and b/public/pagefind/fragment/en_d4ac812.pf_fragment differ diff --git a/public/pagefind/fragment/en_e742abe.pf_fragment b/public/pagefind/fragment/en_e742abe.pf_fragment new file mode 100644 index 0000000..232b5b5 Binary files /dev/null and b/public/pagefind/fragment/en_e742abe.pf_fragment differ diff --git a/public/pagefind/fragment/en_f9fe935.pf_fragment b/public/pagefind/fragment/en_f9fe935.pf_fragment new file mode 100644 index 0000000..9937f16 Binary files /dev/null and b/public/pagefind/fragment/en_f9fe935.pf_fragment differ diff --git a/public/pagefind/fragment/es_043c713.pf_fragment b/public/pagefind/fragment/es_043c713.pf_fragment new file mode 100644 index 0000000..c0acd55 Binary files /dev/null and b/public/pagefind/fragment/es_043c713.pf_fragment differ diff --git a/public/pagefind/fragment/es_18954a7.pf_fragment b/public/pagefind/fragment/es_18954a7.pf_fragment new file mode 100644 index 0000000..1744ea8 Binary files /dev/null and b/public/pagefind/fragment/es_18954a7.pf_fragment differ diff --git a/public/pagefind/fragment/es_2a4d5a7.pf_fragment b/public/pagefind/fragment/es_2a4d5a7.pf_fragment new file mode 100644 index 0000000..a149637 Binary files /dev/null and b/public/pagefind/fragment/es_2a4d5a7.pf_fragment differ diff --git a/public/pagefind/fragment/es_2ecb1bf.pf_fragment b/public/pagefind/fragment/es_2ecb1bf.pf_fragment new file mode 100644 index 0000000..71b5df8 Binary files /dev/null and b/public/pagefind/fragment/es_2ecb1bf.pf_fragment differ diff --git a/public/pagefind/fragment/es_3587e1f.pf_fragment b/public/pagefind/fragment/es_3587e1f.pf_fragment new file mode 100644 index 0000000..1f6871f Binary files /dev/null and b/public/pagefind/fragment/es_3587e1f.pf_fragment differ diff --git a/public/pagefind/fragment/es_44fa343.pf_fragment b/public/pagefind/fragment/es_44fa343.pf_fragment new file mode 100644 index 0000000..a7f2d75 Binary files /dev/null and b/public/pagefind/fragment/es_44fa343.pf_fragment differ diff --git a/public/pagefind/fragment/es_6358b21.pf_fragment b/public/pagefind/fragment/es_6358b21.pf_fragment new file mode 100644 index 0000000..e063665 Binary files /dev/null and b/public/pagefind/fragment/es_6358b21.pf_fragment differ diff --git a/public/pagefind/fragment/es_75f8283.pf_fragment b/public/pagefind/fragment/es_75f8283.pf_fragment new file mode 100644 index 0000000..f60a77b Binary files /dev/null and b/public/pagefind/fragment/es_75f8283.pf_fragment differ diff --git a/public/pagefind/fragment/es_84d737a.pf_fragment b/public/pagefind/fragment/es_84d737a.pf_fragment new file mode 100644 index 0000000..2c55a54 Binary files /dev/null and b/public/pagefind/fragment/es_84d737a.pf_fragment differ diff --git a/public/pagefind/fragment/es_b0a368f.pf_fragment b/public/pagefind/fragment/es_b0a368f.pf_fragment new file mode 100644 index 0000000..0bf3c76 Binary files /dev/null and b/public/pagefind/fragment/es_b0a368f.pf_fragment differ diff --git a/public/pagefind/fragment/es_bb7a3f6.pf_fragment b/public/pagefind/fragment/es_bb7a3f6.pf_fragment new file mode 100644 index 0000000..75522a5 Binary files /dev/null and b/public/pagefind/fragment/es_bb7a3f6.pf_fragment differ diff --git a/public/pagefind/fragment/es_c0d93b8.pf_fragment b/public/pagefind/fragment/es_c0d93b8.pf_fragment new file mode 100644 index 0000000..bce8d49 Binary files /dev/null and b/public/pagefind/fragment/es_c0d93b8.pf_fragment differ diff --git a/public/pagefind/fragment/es_c5c37de.pf_fragment b/public/pagefind/fragment/es_c5c37de.pf_fragment new file mode 100644 index 0000000..740b262 Binary files /dev/null and b/public/pagefind/fragment/es_c5c37de.pf_fragment differ diff --git a/public/pagefind/fragment/es_c68f5b1.pf_fragment b/public/pagefind/fragment/es_c68f5b1.pf_fragment new file mode 100644 index 0000000..ec8fd27 Binary files /dev/null and b/public/pagefind/fragment/es_c68f5b1.pf_fragment differ diff --git a/public/pagefind/fragment/es_d5924c7.pf_fragment b/public/pagefind/fragment/es_d5924c7.pf_fragment new file mode 100644 index 0000000..8954ed7 Binary files /dev/null and b/public/pagefind/fragment/es_d5924c7.pf_fragment differ diff --git a/public/pagefind/fragment/es_ea7d2f5.pf_fragment b/public/pagefind/fragment/es_ea7d2f5.pf_fragment new file mode 100644 index 0000000..a8be027 Binary files /dev/null and b/public/pagefind/fragment/es_ea7d2f5.pf_fragment differ diff --git a/public/pagefind/index/de_94f4ff4.pf_index b/public/pagefind/index/de_94f4ff4.pf_index new file mode 100644 index 0000000..de228fa Binary files /dev/null and b/public/pagefind/index/de_94f4ff4.pf_index differ diff --git a/public/pagefind/index/en_a7aa34f.pf_index b/public/pagefind/index/en_a7aa34f.pf_index new file mode 100644 index 0000000..1df8c7d Binary files /dev/null and b/public/pagefind/index/en_a7aa34f.pf_index differ diff --git a/public/pagefind/index/es_1f49767.pf_index b/public/pagefind/index/es_1f49767.pf_index new file mode 100644 index 0000000..9affcbc Binary files /dev/null and b/public/pagefind/index/es_1f49767.pf_index differ diff --git a/public/pagefind/pagefind-entry.json b/public/pagefind/pagefind-entry.json new file mode 100644 index 0000000..da69e82 --- /dev/null +++ b/public/pagefind/pagefind-entry.json @@ -0,0 +1 @@ +{"version":"1.3.0","languages":{"de":{"hash":"de_c71b5e8999","wasm":"de","page_count":16},"en":{"hash":"en_03dcb72614","wasm":"en","page_count":16},"es":{"hash":"es_9ff6a23b4c","wasm":"es","page_count":16}}} \ No newline at end of file diff --git a/public/pagefind/pagefind-highlight.js b/public/pagefind/pagefind-highlight.js new file mode 100644 index 0000000..c823fbf --- /dev/null +++ b/public/pagefind/pagefind-highlight.js @@ -0,0 +1,1069 @@ +var __create = Object.create; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __getProtoOf = Object.getPrototypeOf; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __commonJS = (cb, mod) => function __require() { + return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( + // If the importer is in node compatibility mode or this is not an ESM + // file that has been converted to a CommonJS file using a Babel- + // compatible transform (i.e. "__esModule" has not been set), then set + // "default" to the CommonJS "module.exports" for node compatibility. + isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, + mod +)); + +// node_modules/mark.js/dist/mark.js +var require_mark = __commonJS({ + "node_modules/mark.js/dist/mark.js"(exports, module) { + (function(global, factory) { + typeof exports === "object" && typeof module !== "undefined" ? module.exports = factory() : typeof define === "function" && define.amd ? define(factory) : global.Mark = factory(); + })(exports, function() { + "use strict"; + var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function(obj) { + return typeof obj; + } : function(obj) { + return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; + }; + var classCallCheck = function(instance, Constructor) { + if (!(instance instanceof Constructor)) { + throw new TypeError("Cannot call a class as a function"); + } + }; + var createClass = function() { + function defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) + descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } + } + return function(Constructor, protoProps, staticProps) { + if (protoProps) + defineProperties(Constructor.prototype, protoProps); + if (staticProps) + defineProperties(Constructor, staticProps); + return Constructor; + }; + }(); + var _extends = Object.assign || function(target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i]; + for (var key in source) { + if (Object.prototype.hasOwnProperty.call(source, key)) { + target[key] = source[key]; + } + } + } + return target; + }; + var DOMIterator = function() { + function DOMIterator2(ctx) { + var iframes = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : true; + var exclude = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : []; + var iframesTimeout = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : 5e3; + classCallCheck(this, DOMIterator2); + this.ctx = ctx; + this.iframes = iframes; + this.exclude = exclude; + this.iframesTimeout = iframesTimeout; + } + createClass(DOMIterator2, [{ + key: "getContexts", + value: function getContexts() { + var ctx = void 0, filteredCtx = []; + if (typeof this.ctx === "undefined" || !this.ctx) { + ctx = []; + } else if (NodeList.prototype.isPrototypeOf(this.ctx)) { + ctx = Array.prototype.slice.call(this.ctx); + } else if (Array.isArray(this.ctx)) { + ctx = this.ctx; + } else if (typeof this.ctx === "string") { + ctx = Array.prototype.slice.call(document.querySelectorAll(this.ctx)); + } else { + ctx = [this.ctx]; + } + ctx.forEach(function(ctx2) { + var isDescendant = filteredCtx.filter(function(contexts) { + return contexts.contains(ctx2); + }).length > 0; + if (filteredCtx.indexOf(ctx2) === -1 && !isDescendant) { + filteredCtx.push(ctx2); + } + }); + return filteredCtx; + } + }, { + key: "getIframeContents", + value: function getIframeContents(ifr, successFn) { + var errorFn = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : function() { + }; + var doc = void 0; + try { + var ifrWin = ifr.contentWindow; + doc = ifrWin.document; + if (!ifrWin || !doc) { + throw new Error("iframe inaccessible"); + } + } catch (e) { + errorFn(); + } + if (doc) { + successFn(doc); + } + } + }, { + key: "isIframeBlank", + value: function isIframeBlank(ifr) { + var bl = "about:blank", src = ifr.getAttribute("src").trim(), href = ifr.contentWindow.location.href; + return href === bl && src !== bl && src; + } + }, { + key: "observeIframeLoad", + value: function observeIframeLoad(ifr, successFn, errorFn) { + var _this = this; + var called = false, tout = null; + var listener = function listener2() { + if (called) { + return; + } + called = true; + clearTimeout(tout); + try { + if (!_this.isIframeBlank(ifr)) { + ifr.removeEventListener("load", listener2); + _this.getIframeContents(ifr, successFn, errorFn); + } + } catch (e) { + errorFn(); + } + }; + ifr.addEventListener("load", listener); + tout = setTimeout(listener, this.iframesTimeout); + } + }, { + key: "onIframeReady", + value: function onIframeReady(ifr, successFn, errorFn) { + try { + if (ifr.contentWindow.document.readyState === "complete") { + if (this.isIframeBlank(ifr)) { + this.observeIframeLoad(ifr, successFn, errorFn); + } else { + this.getIframeContents(ifr, successFn, errorFn); + } + } else { + this.observeIframeLoad(ifr, successFn, errorFn); + } + } catch (e) { + errorFn(); + } + } + }, { + key: "waitForIframes", + value: function waitForIframes(ctx, done) { + var _this2 = this; + var eachCalled = 0; + this.forEachIframe(ctx, function() { + return true; + }, function(ifr) { + eachCalled++; + _this2.waitForIframes(ifr.querySelector("html"), function() { + if (!--eachCalled) { + done(); + } + }); + }, function(handled) { + if (!handled) { + done(); + } + }); + } + }, { + key: "forEachIframe", + value: function forEachIframe(ctx, filter, each) { + var _this3 = this; + var end = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : function() { + }; + var ifr = ctx.querySelectorAll("iframe"), open = ifr.length, handled = 0; + ifr = Array.prototype.slice.call(ifr); + var checkEnd = function checkEnd2() { + if (--open <= 0) { + end(handled); + } + }; + if (!open) { + checkEnd(); + } + ifr.forEach(function(ifr2) { + if (DOMIterator2.matches(ifr2, _this3.exclude)) { + checkEnd(); + } else { + _this3.onIframeReady(ifr2, function(con) { + if (filter(ifr2)) { + handled++; + each(con); + } + checkEnd(); + }, checkEnd); + } + }); + } + }, { + key: "createIterator", + value: function createIterator(ctx, whatToShow, filter) { + return document.createNodeIterator(ctx, whatToShow, filter, false); + } + }, { + key: "createInstanceOnIframe", + value: function createInstanceOnIframe(contents) { + return new DOMIterator2(contents.querySelector("html"), this.iframes); + } + }, { + key: "compareNodeIframe", + value: function compareNodeIframe(node, prevNode, ifr) { + var compCurr = node.compareDocumentPosition(ifr), prev = Node.DOCUMENT_POSITION_PRECEDING; + if (compCurr & prev) { + if (prevNode !== null) { + var compPrev = prevNode.compareDocumentPosition(ifr), after = Node.DOCUMENT_POSITION_FOLLOWING; + if (compPrev & after) { + return true; + } + } else { + return true; + } + } + return false; + } + }, { + key: "getIteratorNode", + value: function getIteratorNode(itr) { + var prevNode = itr.previousNode(); + var node = void 0; + if (prevNode === null) { + node = itr.nextNode(); + } else { + node = itr.nextNode() && itr.nextNode(); + } + return { + prevNode, + node + }; + } + }, { + key: "checkIframeFilter", + value: function checkIframeFilter(node, prevNode, currIfr, ifr) { + var key = false, handled = false; + ifr.forEach(function(ifrDict, i) { + if (ifrDict.val === currIfr) { + key = i; + handled = ifrDict.handled; + } + }); + if (this.compareNodeIframe(node, prevNode, currIfr)) { + if (key === false && !handled) { + ifr.push({ + val: currIfr, + handled: true + }); + } else if (key !== false && !handled) { + ifr[key].handled = true; + } + return true; + } + if (key === false) { + ifr.push({ + val: currIfr, + handled: false + }); + } + return false; + } + }, { + key: "handleOpenIframes", + value: function handleOpenIframes(ifr, whatToShow, eCb, fCb) { + var _this4 = this; + ifr.forEach(function(ifrDict) { + if (!ifrDict.handled) { + _this4.getIframeContents(ifrDict.val, function(con) { + _this4.createInstanceOnIframe(con).forEachNode(whatToShow, eCb, fCb); + }); + } + }); + } + }, { + key: "iterateThroughNodes", + value: function iterateThroughNodes(whatToShow, ctx, eachCb, filterCb, doneCb) { + var _this5 = this; + var itr = this.createIterator(ctx, whatToShow, filterCb); + var ifr = [], elements = [], node = void 0, prevNode = void 0, retrieveNodes = function retrieveNodes2() { + var _getIteratorNode = _this5.getIteratorNode(itr); + prevNode = _getIteratorNode.prevNode; + node = _getIteratorNode.node; + return node; + }; + while (retrieveNodes()) { + if (this.iframes) { + this.forEachIframe(ctx, function(currIfr) { + return _this5.checkIframeFilter(node, prevNode, currIfr, ifr); + }, function(con) { + _this5.createInstanceOnIframe(con).forEachNode(whatToShow, function(ifrNode) { + return elements.push(ifrNode); + }, filterCb); + }); + } + elements.push(node); + } + elements.forEach(function(node2) { + eachCb(node2); + }); + if (this.iframes) { + this.handleOpenIframes(ifr, whatToShow, eachCb, filterCb); + } + doneCb(); + } + }, { + key: "forEachNode", + value: function forEachNode(whatToShow, each, filter) { + var _this6 = this; + var done = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : function() { + }; + var contexts = this.getContexts(); + var open = contexts.length; + if (!open) { + done(); + } + contexts.forEach(function(ctx) { + var ready = function ready2() { + _this6.iterateThroughNodes(whatToShow, ctx, each, filter, function() { + if (--open <= 0) { + done(); + } + }); + }; + if (_this6.iframes) { + _this6.waitForIframes(ctx, ready); + } else { + ready(); + } + }); + } + }], [{ + key: "matches", + value: function matches(element, selector) { + var selectors = typeof selector === "string" ? [selector] : selector, fn = element.matches || element.matchesSelector || element.msMatchesSelector || element.mozMatchesSelector || element.oMatchesSelector || element.webkitMatchesSelector; + if (fn) { + var match = false; + selectors.every(function(sel) { + if (fn.call(element, sel)) { + match = true; + return false; + } + return true; + }); + return match; + } else { + return false; + } + } + }]); + return DOMIterator2; + }(); + var Mark$1 = function() { + function Mark3(ctx) { + classCallCheck(this, Mark3); + this.ctx = ctx; + this.ie = false; + var ua = window.navigator.userAgent; + if (ua.indexOf("MSIE") > -1 || ua.indexOf("Trident") > -1) { + this.ie = true; + } + } + createClass(Mark3, [{ + key: "log", + value: function log(msg) { + var level = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "debug"; + var log2 = this.opt.log; + if (!this.opt.debug) { + return; + } + if ((typeof log2 === "undefined" ? "undefined" : _typeof(log2)) === "object" && typeof log2[level] === "function") { + log2[level]("mark.js: " + msg); + } + } + }, { + key: "escapeStr", + value: function escapeStr(str) { + return str.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&"); + } + }, { + key: "createRegExp", + value: function createRegExp(str) { + if (this.opt.wildcards !== "disabled") { + str = this.setupWildcardsRegExp(str); + } + str = this.escapeStr(str); + if (Object.keys(this.opt.synonyms).length) { + str = this.createSynonymsRegExp(str); + } + if (this.opt.ignoreJoiners || this.opt.ignorePunctuation.length) { + str = this.setupIgnoreJoinersRegExp(str); + } + if (this.opt.diacritics) { + str = this.createDiacriticsRegExp(str); + } + str = this.createMergedBlanksRegExp(str); + if (this.opt.ignoreJoiners || this.opt.ignorePunctuation.length) { + str = this.createJoinersRegExp(str); + } + if (this.opt.wildcards !== "disabled") { + str = this.createWildcardsRegExp(str); + } + str = this.createAccuracyRegExp(str); + return str; + } + }, { + key: "createSynonymsRegExp", + value: function createSynonymsRegExp(str) { + var syn = this.opt.synonyms, sens = this.opt.caseSensitive ? "" : "i", joinerPlaceholder = this.opt.ignoreJoiners || this.opt.ignorePunctuation.length ? "\0" : ""; + for (var index in syn) { + if (syn.hasOwnProperty(index)) { + var value = syn[index], k1 = this.opt.wildcards !== "disabled" ? this.setupWildcardsRegExp(index) : this.escapeStr(index), k2 = this.opt.wildcards !== "disabled" ? this.setupWildcardsRegExp(value) : this.escapeStr(value); + if (k1 !== "" && k2 !== "") { + str = str.replace(new RegExp("(" + this.escapeStr(k1) + "|" + this.escapeStr(k2) + ")", "gm" + sens), joinerPlaceholder + ("(" + this.processSynomyms(k1) + "|") + (this.processSynomyms(k2) + ")") + joinerPlaceholder); + } + } + } + return str; + } + }, { + key: "processSynomyms", + value: function processSynomyms(str) { + if (this.opt.ignoreJoiners || this.opt.ignorePunctuation.length) { + str = this.setupIgnoreJoinersRegExp(str); + } + return str; + } + }, { + key: "setupWildcardsRegExp", + value: function setupWildcardsRegExp(str) { + str = str.replace(/(?:\\)*\?/g, function(val) { + return val.charAt(0) === "\\" ? "?" : ""; + }); + return str.replace(/(?:\\)*\*/g, function(val) { + return val.charAt(0) === "\\" ? "*" : ""; + }); + } + }, { + key: "createWildcardsRegExp", + value: function createWildcardsRegExp(str) { + var spaces = this.opt.wildcards === "withSpaces"; + return str.replace(/\u0001/g, spaces ? "[\\S\\s]?" : "\\S?").replace(/\u0002/g, spaces ? "[\\S\\s]*?" : "\\S*"); + } + }, { + key: "setupIgnoreJoinersRegExp", + value: function setupIgnoreJoinersRegExp(str) { + return str.replace(/[^(|)\\]/g, function(val, indx, original) { + var nextChar = original.charAt(indx + 1); + if (/[(|)\\]/.test(nextChar) || nextChar === "") { + return val; + } else { + return val + "\0"; + } + }); + } + }, { + key: "createJoinersRegExp", + value: function createJoinersRegExp(str) { + var joiner = []; + var ignorePunctuation = this.opt.ignorePunctuation; + if (Array.isArray(ignorePunctuation) && ignorePunctuation.length) { + joiner.push(this.escapeStr(ignorePunctuation.join(""))); + } + if (this.opt.ignoreJoiners) { + joiner.push("\\u00ad\\u200b\\u200c\\u200d"); + } + return joiner.length ? str.split(/\u0000+/).join("[" + joiner.join("") + "]*") : str; + } + }, { + key: "createDiacriticsRegExp", + value: function createDiacriticsRegExp(str) { + var sens = this.opt.caseSensitive ? "" : "i", dct = this.opt.caseSensitive ? ["a\xE0\xE1\u1EA3\xE3\u1EA1\u0103\u1EB1\u1EAF\u1EB3\u1EB5\u1EB7\xE2\u1EA7\u1EA5\u1EA9\u1EAB\u1EAD\xE4\xE5\u0101\u0105", "A\xC0\xC1\u1EA2\xC3\u1EA0\u0102\u1EB0\u1EAE\u1EB2\u1EB4\u1EB6\xC2\u1EA6\u1EA4\u1EA8\u1EAA\u1EAC\xC4\xC5\u0100\u0104", "c\xE7\u0107\u010D", "C\xC7\u0106\u010C", "d\u0111\u010F", "D\u0110\u010E", "e\xE8\xE9\u1EBB\u1EBD\u1EB9\xEA\u1EC1\u1EBF\u1EC3\u1EC5\u1EC7\xEB\u011B\u0113\u0119", "E\xC8\xC9\u1EBA\u1EBC\u1EB8\xCA\u1EC0\u1EBE\u1EC2\u1EC4\u1EC6\xCB\u011A\u0112\u0118", "i\xEC\xED\u1EC9\u0129\u1ECB\xEE\xEF\u012B", "I\xCC\xCD\u1EC8\u0128\u1ECA\xCE\xCF\u012A", "l\u0142", "L\u0141", "n\xF1\u0148\u0144", "N\xD1\u0147\u0143", "o\xF2\xF3\u1ECF\xF5\u1ECD\xF4\u1ED3\u1ED1\u1ED5\u1ED7\u1ED9\u01A1\u1EDF\u1EE1\u1EDB\u1EDD\u1EE3\xF6\xF8\u014D", "O\xD2\xD3\u1ECE\xD5\u1ECC\xD4\u1ED2\u1ED0\u1ED4\u1ED6\u1ED8\u01A0\u1EDE\u1EE0\u1EDA\u1EDC\u1EE2\xD6\xD8\u014C", "r\u0159", "R\u0158", "s\u0161\u015B\u0219\u015F", "S\u0160\u015A\u0218\u015E", "t\u0165\u021B\u0163", "T\u0164\u021A\u0162", "u\xF9\xFA\u1EE7\u0169\u1EE5\u01B0\u1EEB\u1EE9\u1EED\u1EEF\u1EF1\xFB\xFC\u016F\u016B", "U\xD9\xDA\u1EE6\u0168\u1EE4\u01AF\u1EEA\u1EE8\u1EEC\u1EEE\u1EF0\xDB\xDC\u016E\u016A", "y\xFD\u1EF3\u1EF7\u1EF9\u1EF5\xFF", "Y\xDD\u1EF2\u1EF6\u1EF8\u1EF4\u0178", "z\u017E\u017C\u017A", "Z\u017D\u017B\u0179"] : ["a\xE0\xE1\u1EA3\xE3\u1EA1\u0103\u1EB1\u1EAF\u1EB3\u1EB5\u1EB7\xE2\u1EA7\u1EA5\u1EA9\u1EAB\u1EAD\xE4\xE5\u0101\u0105A\xC0\xC1\u1EA2\xC3\u1EA0\u0102\u1EB0\u1EAE\u1EB2\u1EB4\u1EB6\xC2\u1EA6\u1EA4\u1EA8\u1EAA\u1EAC\xC4\xC5\u0100\u0104", "c\xE7\u0107\u010DC\xC7\u0106\u010C", "d\u0111\u010FD\u0110\u010E", "e\xE8\xE9\u1EBB\u1EBD\u1EB9\xEA\u1EC1\u1EBF\u1EC3\u1EC5\u1EC7\xEB\u011B\u0113\u0119E\xC8\xC9\u1EBA\u1EBC\u1EB8\xCA\u1EC0\u1EBE\u1EC2\u1EC4\u1EC6\xCB\u011A\u0112\u0118", "i\xEC\xED\u1EC9\u0129\u1ECB\xEE\xEF\u012BI\xCC\xCD\u1EC8\u0128\u1ECA\xCE\xCF\u012A", "l\u0142L\u0141", "n\xF1\u0148\u0144N\xD1\u0147\u0143", "o\xF2\xF3\u1ECF\xF5\u1ECD\xF4\u1ED3\u1ED1\u1ED5\u1ED7\u1ED9\u01A1\u1EDF\u1EE1\u1EDB\u1EDD\u1EE3\xF6\xF8\u014DO\xD2\xD3\u1ECE\xD5\u1ECC\xD4\u1ED2\u1ED0\u1ED4\u1ED6\u1ED8\u01A0\u1EDE\u1EE0\u1EDA\u1EDC\u1EE2\xD6\xD8\u014C", "r\u0159R\u0158", "s\u0161\u015B\u0219\u015FS\u0160\u015A\u0218\u015E", "t\u0165\u021B\u0163T\u0164\u021A\u0162", "u\xF9\xFA\u1EE7\u0169\u1EE5\u01B0\u1EEB\u1EE9\u1EED\u1EEF\u1EF1\xFB\xFC\u016F\u016BU\xD9\xDA\u1EE6\u0168\u1EE4\u01AF\u1EEA\u1EE8\u1EEC\u1EEE\u1EF0\xDB\xDC\u016E\u016A", "y\xFD\u1EF3\u1EF7\u1EF9\u1EF5\xFFY\xDD\u1EF2\u1EF6\u1EF8\u1EF4\u0178", "z\u017E\u017C\u017AZ\u017D\u017B\u0179"]; + var handled = []; + str.split("").forEach(function(ch) { + dct.every(function(dct2) { + if (dct2.indexOf(ch) !== -1) { + if (handled.indexOf(dct2) > -1) { + return false; + } + str = str.replace(new RegExp("[" + dct2 + "]", "gm" + sens), "[" + dct2 + "]"); + handled.push(dct2); + } + return true; + }); + }); + return str; + } + }, { + key: "createMergedBlanksRegExp", + value: function createMergedBlanksRegExp(str) { + return str.replace(/[\s]+/gmi, "[\\s]+"); + } + }, { + key: "createAccuracyRegExp", + value: function createAccuracyRegExp(str) { + var _this = this; + var chars = "!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~\xA1\xBF"; + var acc = this.opt.accuracy, val = typeof acc === "string" ? acc : acc.value, ls = typeof acc === "string" ? [] : acc.limiters, lsJoin = ""; + ls.forEach(function(limiter) { + lsJoin += "|" + _this.escapeStr(limiter); + }); + switch (val) { + case "partially": + default: + return "()(" + str + ")"; + case "complementary": + lsJoin = "\\s" + (lsJoin ? lsJoin : this.escapeStr(chars)); + return "()([^" + lsJoin + "]*" + str + "[^" + lsJoin + "]*)"; + case "exactly": + return "(^|\\s" + lsJoin + ")(" + str + ")(?=$|\\s" + lsJoin + ")"; + } + } + }, { + key: "getSeparatedKeywords", + value: function getSeparatedKeywords(sv) { + var _this2 = this; + var stack = []; + sv.forEach(function(kw) { + if (!_this2.opt.separateWordSearch) { + if (kw.trim() && stack.indexOf(kw) === -1) { + stack.push(kw); + } + } else { + kw.split(" ").forEach(function(kwSplitted) { + if (kwSplitted.trim() && stack.indexOf(kwSplitted) === -1) { + stack.push(kwSplitted); + } + }); + } + }); + return { + "keywords": stack.sort(function(a, b) { + return b.length - a.length; + }), + "length": stack.length + }; + } + }, { + key: "isNumeric", + value: function isNumeric(value) { + return Number(parseFloat(value)) == value; + } + }, { + key: "checkRanges", + value: function checkRanges(array) { + var _this3 = this; + if (!Array.isArray(array) || Object.prototype.toString.call(array[0]) !== "[object Object]") { + this.log("markRanges() will only accept an array of objects"); + this.opt.noMatch(array); + return []; + } + var stack = []; + var last = 0; + array.sort(function(a, b) { + return a.start - b.start; + }).forEach(function(item) { + var _callNoMatchOnInvalid = _this3.callNoMatchOnInvalidRanges(item, last), start = _callNoMatchOnInvalid.start, end = _callNoMatchOnInvalid.end, valid = _callNoMatchOnInvalid.valid; + if (valid) { + item.start = start; + item.length = end - start; + stack.push(item); + last = end; + } + }); + return stack; + } + }, { + key: "callNoMatchOnInvalidRanges", + value: function callNoMatchOnInvalidRanges(range, last) { + var start = void 0, end = void 0, valid = false; + if (range && typeof range.start !== "undefined") { + start = parseInt(range.start, 10); + end = start + parseInt(range.length, 10); + if (this.isNumeric(range.start) && this.isNumeric(range.length) && end - last > 0 && end - start > 0) { + valid = true; + } else { + this.log("Ignoring invalid or overlapping range: " + ("" + JSON.stringify(range))); + this.opt.noMatch(range); + } + } else { + this.log("Ignoring invalid range: " + JSON.stringify(range)); + this.opt.noMatch(range); + } + return { + start, + end, + valid + }; + } + }, { + key: "checkWhitespaceRanges", + value: function checkWhitespaceRanges(range, originalLength, string) { + var end = void 0, valid = true, max = string.length, offset = originalLength - max, start = parseInt(range.start, 10) - offset; + start = start > max ? max : start; + end = start + parseInt(range.length, 10); + if (end > max) { + end = max; + this.log("End range automatically set to the max value of " + max); + } + if (start < 0 || end - start < 0 || start > max || end > max) { + valid = false; + this.log("Invalid range: " + JSON.stringify(range)); + this.opt.noMatch(range); + } else if (string.substring(start, end).replace(/\s+/g, "") === "") { + valid = false; + this.log("Skipping whitespace only range: " + JSON.stringify(range)); + this.opt.noMatch(range); + } + return { + start, + end, + valid + }; + } + }, { + key: "getTextNodes", + value: function getTextNodes(cb) { + var _this4 = this; + var val = "", nodes = []; + this.iterator.forEachNode(NodeFilter.SHOW_TEXT, function(node) { + nodes.push({ + start: val.length, + end: (val += node.textContent).length, + node + }); + }, function(node) { + if (_this4.matchesExclude(node.parentNode)) { + return NodeFilter.FILTER_REJECT; + } else { + return NodeFilter.FILTER_ACCEPT; + } + }, function() { + cb({ + value: val, + nodes + }); + }); + } + }, { + key: "matchesExclude", + value: function matchesExclude(el) { + return DOMIterator.matches(el, this.opt.exclude.concat(["script", "style", "title", "head", "html"])); + } + }, { + key: "wrapRangeInTextNode", + value: function wrapRangeInTextNode(node, start, end) { + var hEl = !this.opt.element ? "mark" : this.opt.element, startNode = node.splitText(start), ret = startNode.splitText(end - start); + var repl = document.createElement(hEl); + repl.setAttribute("data-markjs", "true"); + if (this.opt.className) { + repl.setAttribute("class", this.opt.className); + } + repl.textContent = startNode.textContent; + startNode.parentNode.replaceChild(repl, startNode); + return ret; + } + }, { + key: "wrapRangeInMappedTextNode", + value: function wrapRangeInMappedTextNode(dict, start, end, filterCb, eachCb) { + var _this5 = this; + dict.nodes.every(function(n, i) { + var sibl = dict.nodes[i + 1]; + if (typeof sibl === "undefined" || sibl.start > start) { + if (!filterCb(n.node)) { + return false; + } + var s = start - n.start, e = (end > n.end ? n.end : end) - n.start, startStr = dict.value.substr(0, n.start), endStr = dict.value.substr(e + n.start); + n.node = _this5.wrapRangeInTextNode(n.node, s, e); + dict.value = startStr + endStr; + dict.nodes.forEach(function(k, j) { + if (j >= i) { + if (dict.nodes[j].start > 0 && j !== i) { + dict.nodes[j].start -= e; + } + dict.nodes[j].end -= e; + } + }); + end -= e; + eachCb(n.node.previousSibling, n.start); + if (end > n.end) { + start = n.end; + } else { + return false; + } + } + return true; + }); + } + }, { + key: "wrapMatches", + value: function wrapMatches(regex, ignoreGroups, filterCb, eachCb, endCb) { + var _this6 = this; + var matchIdx = ignoreGroups === 0 ? 0 : ignoreGroups + 1; + this.getTextNodes(function(dict) { + dict.nodes.forEach(function(node) { + node = node.node; + var match = void 0; + while ((match = regex.exec(node.textContent)) !== null && match[matchIdx] !== "") { + if (!filterCb(match[matchIdx], node)) { + continue; + } + var pos = match.index; + if (matchIdx !== 0) { + for (var i = 1; i < matchIdx; i++) { + pos += match[i].length; + } + } + node = _this6.wrapRangeInTextNode(node, pos, pos + match[matchIdx].length); + eachCb(node.previousSibling); + regex.lastIndex = 0; + } + }); + endCb(); + }); + } + }, { + key: "wrapMatchesAcrossElements", + value: function wrapMatchesAcrossElements(regex, ignoreGroups, filterCb, eachCb, endCb) { + var _this7 = this; + var matchIdx = ignoreGroups === 0 ? 0 : ignoreGroups + 1; + this.getTextNodes(function(dict) { + var match = void 0; + while ((match = regex.exec(dict.value)) !== null && match[matchIdx] !== "") { + var start = match.index; + if (matchIdx !== 0) { + for (var i = 1; i < matchIdx; i++) { + start += match[i].length; + } + } + var end = start + match[matchIdx].length; + _this7.wrapRangeInMappedTextNode(dict, start, end, function(node) { + return filterCb(match[matchIdx], node); + }, function(node, lastIndex) { + regex.lastIndex = lastIndex; + eachCb(node); + }); + } + endCb(); + }); + } + }, { + key: "wrapRangeFromIndex", + value: function wrapRangeFromIndex(ranges, filterCb, eachCb, endCb) { + var _this8 = this; + this.getTextNodes(function(dict) { + var originalLength = dict.value.length; + ranges.forEach(function(range, counter) { + var _checkWhitespaceRange = _this8.checkWhitespaceRanges(range, originalLength, dict.value), start = _checkWhitespaceRange.start, end = _checkWhitespaceRange.end, valid = _checkWhitespaceRange.valid; + if (valid) { + _this8.wrapRangeInMappedTextNode(dict, start, end, function(node) { + return filterCb(node, range, dict.value.substring(start, end), counter); + }, function(node) { + eachCb(node, range); + }); + } + }); + endCb(); + }); + } + }, { + key: "unwrapMatches", + value: function unwrapMatches(node) { + var parent = node.parentNode; + var docFrag = document.createDocumentFragment(); + while (node.firstChild) { + docFrag.appendChild(node.removeChild(node.firstChild)); + } + parent.replaceChild(docFrag, node); + if (!this.ie) { + parent.normalize(); + } else { + this.normalizeTextNode(parent); + } + } + }, { + key: "normalizeTextNode", + value: function normalizeTextNode(node) { + if (!node) { + return; + } + if (node.nodeType === 3) { + while (node.nextSibling && node.nextSibling.nodeType === 3) { + node.nodeValue += node.nextSibling.nodeValue; + node.parentNode.removeChild(node.nextSibling); + } + } else { + this.normalizeTextNode(node.firstChild); + } + this.normalizeTextNode(node.nextSibling); + } + }, { + key: "markRegExp", + value: function markRegExp(regexp, opt) { + var _this9 = this; + this.opt = opt; + this.log('Searching with expression "' + regexp + '"'); + var totalMatches = 0, fn = "wrapMatches"; + var eachCb = function eachCb2(element) { + totalMatches++; + _this9.opt.each(element); + }; + if (this.opt.acrossElements) { + fn = "wrapMatchesAcrossElements"; + } + this[fn](regexp, this.opt.ignoreGroups, function(match, node) { + return _this9.opt.filter(node, match, totalMatches); + }, eachCb, function() { + if (totalMatches === 0) { + _this9.opt.noMatch(regexp); + } + _this9.opt.done(totalMatches); + }); + } + }, { + key: "mark", + value: function mark(sv, opt) { + var _this10 = this; + this.opt = opt; + var totalMatches = 0, fn = "wrapMatches"; + var _getSeparatedKeywords = this.getSeparatedKeywords(typeof sv === "string" ? [sv] : sv), kwArr = _getSeparatedKeywords.keywords, kwArrLen = _getSeparatedKeywords.length, sens = this.opt.caseSensitive ? "" : "i", handler = function handler2(kw) { + var regex = new RegExp(_this10.createRegExp(kw), "gm" + sens), matches = 0; + _this10.log('Searching with expression "' + regex + '"'); + _this10[fn](regex, 1, function(term, node) { + return _this10.opt.filter(node, kw, totalMatches, matches); + }, function(element) { + matches++; + totalMatches++; + _this10.opt.each(element); + }, function() { + if (matches === 0) { + _this10.opt.noMatch(kw); + } + if (kwArr[kwArrLen - 1] === kw) { + _this10.opt.done(totalMatches); + } else { + handler2(kwArr[kwArr.indexOf(kw) + 1]); + } + }); + }; + if (this.opt.acrossElements) { + fn = "wrapMatchesAcrossElements"; + } + if (kwArrLen === 0) { + this.opt.done(totalMatches); + } else { + handler(kwArr[0]); + } + } + }, { + key: "markRanges", + value: function markRanges(rawRanges, opt) { + var _this11 = this; + this.opt = opt; + var totalMatches = 0, ranges = this.checkRanges(rawRanges); + if (ranges && ranges.length) { + this.log("Starting to mark with the following ranges: " + JSON.stringify(ranges)); + this.wrapRangeFromIndex(ranges, function(node, range, match, counter) { + return _this11.opt.filter(node, range, match, counter); + }, function(element, range) { + totalMatches++; + _this11.opt.each(element, range); + }, function() { + _this11.opt.done(totalMatches); + }); + } else { + this.opt.done(totalMatches); + } + } + }, { + key: "unmark", + value: function unmark(opt) { + var _this12 = this; + this.opt = opt; + var sel = this.opt.element ? this.opt.element : "*"; + sel += "[data-markjs]"; + if (this.opt.className) { + sel += "." + this.opt.className; + } + this.log('Removal selector "' + sel + '"'); + this.iterator.forEachNode(NodeFilter.SHOW_ELEMENT, function(node) { + _this12.unwrapMatches(node); + }, function(node) { + var matchesSel = DOMIterator.matches(node, sel), matchesExclude = _this12.matchesExclude(node); + if (!matchesSel || matchesExclude) { + return NodeFilter.FILTER_REJECT; + } else { + return NodeFilter.FILTER_ACCEPT; + } + }, this.opt.done); + } + }, { + key: "opt", + set: function set$$1(val) { + this._opt = _extends({}, { + "element": "", + "className": "", + "exclude": [], + "iframes": false, + "iframesTimeout": 5e3, + "separateWordSearch": true, + "diacritics": true, + "synonyms": {}, + "accuracy": "partially", + "acrossElements": false, + "caseSensitive": false, + "ignoreJoiners": false, + "ignoreGroups": 0, + "ignorePunctuation": [], + "wildcards": "disabled", + "each": function each() { + }, + "noMatch": function noMatch() { + }, + "filter": function filter() { + return true; + }, + "done": function done() { + }, + "debug": false, + "log": window.console + }, val); + }, + get: function get$$1() { + return this._opt; + } + }, { + key: "iterator", + get: function get$$1() { + return new DOMIterator(this.ctx, this.opt.iframes, this.opt.exclude, this.opt.iframesTimeout); + } + }]); + return Mark3; + }(); + function Mark2(ctx) { + var _this = this; + var instance = new Mark$1(ctx); + this.mark = function(sv, opt) { + instance.mark(sv, opt); + return _this; + }; + this.markRegExp = function(sv, opt) { + instance.markRegExp(sv, opt); + return _this; + }; + this.markRanges = function(sv, opt) { + instance.markRanges(sv, opt); + return _this; + }; + this.unmark = function(opt) { + instance.unmark(opt); + return _this; + }; + return this; + } + return Mark2; + }); + } +}); + +// lib/highlight.ts +var import_mark = __toESM(require_mark(), 1); +var PagefindHighlight = class { + constructor(options = { + markContext: null, + highlightParam: "pagefind-highlight", + markOptions: { + className: "pagefind-highlight", + exclude: ["[data-pagefind-ignore]", "[data-pagefind-ignore] *"] + }, + addStyles: true + }) { + var _a, _b; + const { highlightParam, markContext, markOptions, addStyles } = options; + this.highlightParam = highlightParam ?? "pagefind-highlight"; + this.addStyles = addStyles ?? true; + this.markContext = markContext !== void 0 ? markContext : null; + this.markOptions = markOptions !== void 0 ? markOptions : { + className: "pagefind-highlight", + exclude: ["[data-pagefind-ignore]", "[data-pagefind-ignore] *"] + }; + (_a = this.markOptions).className ?? (_a.className = "pagefind__highlight"); + (_b = this.markOptions).exclude ?? (_b.exclude = [ + "[data-pagefind-ignore]", + "[data-pagefind-ignore] *" + ]); + this.markOptions.separateWordSearch = false; + this.highlight(); + } + getHighlightParams(paramName) { + const urlParams = new URLSearchParams(window.location.search); + return urlParams.getAll(paramName); + } + // Inline styles might be too hard to override + addHighlightStyles(className) { + if (!className) + return; + const styleElement = document.createElement("style"); + styleElement.innerText = `:where(.${className}) { background-color: yellow; color: black; }`; + document.head.appendChild(styleElement); + } + createMarkInstance() { + if (this.markContext) { + return new import_mark.default(this.markContext); + } + const pagefindBody = document.querySelectorAll("[data-pagefind-body]"); + if (pagefindBody.length !== 0) { + return new import_mark.default(pagefindBody); + } else { + return new import_mark.default(document.body); + } + } + markText(instance, text) { + instance.mark(text, this.markOptions); + } + highlight() { + const params = this.getHighlightParams(this.highlightParam); + if (!params || params.length === 0) + return; + this.addStyles && this.addHighlightStyles(this.markOptions.className); + const markInstance = this.createMarkInstance(); + this.markText(markInstance, params); + } +}; +window.PagefindHighlight = PagefindHighlight; +export { + PagefindHighlight as default +}; +/*! Bundled license information: + +mark.js/dist/mark.js: + (*!*************************************************** + * mark.js v8.11.1 + * https://markjs.io/ + * Copyright (c) 2014–2018, Julian Kühnel + * Released under the MIT license https://git.io/vwTVl + *****************************************************) +*/ diff --git a/public/pagefind/pagefind-modular-ui.css b/public/pagefind/pagefind-modular-ui.css new file mode 100644 index 0000000..9c6793e --- /dev/null +++ b/public/pagefind/pagefind-modular-ui.css @@ -0,0 +1,214 @@ +:root { + --pagefind-ui-scale: 0.8; + --pagefind-ui-primary: #034AD8; + --pagefind-ui-fade: #707070; + --pagefind-ui-text: #393939; + --pagefind-ui-background: #ffffff; + --pagefind-ui-border: #eeeeee; + --pagefind-ui-tag: #eeeeee; + --pagefind-ui-border-width: 2px; + --pagefind-ui-border-radius: 8px; + --pagefind-ui-image-border-radius: 8px; + --pagefind-ui-image-box-ratio: 3 / 2; + --pagefind-ui-font: system, -apple-system, ".SFNSText-Regular", + "San Francisco", "Roboto", "Segoe UI", "Helvetica Neue", + "Lucida Grande", sans-serif; +} + +[data-pfmod-hidden] { + display: none !important; +} + +[data-pfmod-suppressed] { + opacity: 0 !important; + pointer-events: none !important; +} + +[data-pfmod-sr-hidden] { + -webkit-clip: rect(0 0 0 0) !important; + clip: rect(0 0 0 0) !important; + -webkit-clip-path: inset(100%) !important; + clip-path: inset(100%) !important; + height: 1px !important; + overflow: hidden !important; + overflow: clip !important; + position: absolute !important; + white-space: nowrap !important; + width: 1px !important; +} + +[data-pfmod-loading] { + color: var(--pagefind-ui-text); + background-color: var(--pagefind-ui-text); + border-radius: var(--pagefind-ui-border-radius); + opacity: 0.1; + pointer-events: none; +} + +/* Input */ + +.pagefind-modular-input-wrapper { + position: relative; +} + +.pagefind-modular-input-wrapper::before { + background-color: var(--pagefind-ui-text); + width: calc(18px * var(--pagefind-ui-scale)); + height: calc(18px * var(--pagefind-ui-scale)); + top: calc(23px * var(--pagefind-ui-scale)); + left: calc(20px * var(--pagefind-ui-scale)); + content: ""; + position: absolute; + display: block; + opacity: 0.7; + -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.7549 11.255H11.9649L11.6849 10.985C12.6649 9.845 13.2549 8.365 13.2549 6.755C13.2549 3.165 10.3449 0.255005 6.75488 0.255005C3.16488 0.255005 0.254883 3.165 0.254883 6.755C0.254883 10.345 3.16488 13.255 6.75488 13.255C8.36488 13.255 9.84488 12.665 10.9849 11.685L11.2549 11.965V12.755L16.2549 17.745L17.7449 16.255L12.7549 11.255ZM6.75488 11.255C4.26488 11.255 2.25488 9.245 2.25488 6.755C2.25488 4.26501 4.26488 2.255 6.75488 2.255C9.24488 2.255 11.2549 4.26501 11.2549 6.755C11.2549 9.245 9.24488 11.255 6.75488 11.255Z' fill='%23000000'/%3E%3C/svg%3E%0A"); + mask-image: url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.7549 11.255H11.9649L11.6849 10.985C12.6649 9.845 13.2549 8.365 13.2549 6.755C13.2549 3.165 10.3449 0.255005 6.75488 0.255005C3.16488 0.255005 0.254883 3.165 0.254883 6.755C0.254883 10.345 3.16488 13.255 6.75488 13.255C8.36488 13.255 9.84488 12.665 10.9849 11.685L11.2549 11.965V12.755L16.2549 17.745L17.7449 16.255L12.7549 11.255ZM6.75488 11.255C4.26488 11.255 2.25488 9.245 2.25488 6.755C2.25488 4.26501 4.26488 2.255 6.75488 2.255C9.24488 2.255 11.2549 4.26501 11.2549 6.755C11.2549 9.245 9.24488 11.255 6.75488 11.255Z' fill='%23000000'/%3E%3C/svg%3E%0A"); + -webkit-mask-size: 100%; + mask-size: 100%; + z-index: 9; + pointer-events: none; +} + +.pagefind-modular-input { + height: calc(64px * var(--pagefind-ui-scale)); + padding: 0 calc(70px * var(--pagefind-ui-scale)) 0 calc(54px * var(--pagefind-ui-scale)); + background-color: var(--pagefind-ui-background); + border: var(--pagefind-ui-border-width) solid var(--pagefind-ui-border); + border-radius: var(--pagefind-ui-border-radius); + font-size: calc(21px * var(--pagefind-ui-scale)); + position: relative; + appearance: none; + -webkit-appearance: none; + display: flex; + width: 100%; + box-sizing: border-box; + font-weight: 700; +} + +.pagefind-modular-input::placeholder { + opacity: 0.2; +} + +.pagefind-modular-input-clear { + position: absolute; + top: calc(2px * var(--pagefind-ui-scale)); + right: calc(2px * var(--pagefind-ui-scale)); + height: calc(60px * var(--pagefind-ui-scale)); + border-radius: var(--pagefind-ui-border-radius); + padding: 0 calc(15px * var(--pagefind-ui-scale)) 0 calc(2px * var(--pagefind-ui-scale)); + color: var(--pagefind-ui-text); + font-size: calc(14px * var(--pagefind-ui-scale)); + cursor: pointer; + background-color: var(--pagefind-ui-background); + border: none; + appearance: none; +} + +/* ResultList */ + +.pagefind-modular-list-result { + list-style-type: none; + display: flex; + align-items: flex-start; + gap: min(calc(40px * var(--pagefind-ui-scale)), 3%); + padding: calc(30px * var(--pagefind-ui-scale)) 0 calc(40px * var(--pagefind-ui-scale)); + border-top: solid var(--pagefind-ui-border-width) var(--pagefind-ui-border); +} + +.pagefind-modular-list-result:last-of-type { + border-bottom: solid var(--pagefind-ui-border-width) var(--pagefind-ui-border); +} + +.pagefind-modular-list-thumb { + width: min(30%, + calc((30% - (100px * var(--pagefind-ui-scale))) * 100000)); + max-width: calc(120px * var(--pagefind-ui-scale)); + margin-top: calc(10px * var(--pagefind-ui-scale)); + aspect-ratio: var(--pagefind-ui-image-box-ratio); + position: relative; +} + +.pagefind-modular-list-image { + display: block; + position: absolute; + left: 50%; + transform: translateX(-50%); + font-size: 0; + width: auto; + height: auto; + max-width: 100%; + max-height: 100%; + border-radius: var(--pagefind-ui-image-border-radius); +} + +.pagefind-modular-list-inner { + flex: 1; + display: flex; + flex-direction: column; + align-items: flex-start; + margin-top: calc(10px * var(--pagefind-ui-scale)); +} + +.pagefind-modular-list-title { + display: inline-block; + font-weight: 700; + font-size: calc(21px * var(--pagefind-ui-scale)); + margin-top: 0; + margin-bottom: 0; +} + +.pagefind-modular-list-link { + color: var(--pagefind-ui-text); + text-decoration: none; +} + +.pagefind-modular-list-link:hover { + text-decoration: underline; +} + +.pagefind-modular-list-excerpt { + display: inline-block; + font-weight: 400; + font-size: calc(16px * var(--pagefind-ui-scale)); + margin-top: calc(4px * var(--pagefind-ui-scale)); + margin-bottom: 0; + min-width: calc(250px * var(--pagefind-ui-scale)); +} + +/* FilterPills */ + +.pagefind-modular-filter-pills-wrapper { + overflow-x: scroll; + padding: 15px 0; +} + +.pagefind-modular-filter-pills { + display: flex; + gap: 6px; +} + +.pagefind-modular-filter-pill { + display: flex; + justify-content: center; + align-items: center; + border: none; + appearance: none; + padding: 0 calc(24px * var(--pagefind-ui-scale)); + background-color: var(--pagefind-ui-background); + color: var(--pagefind-ui-fade); + border: var(--pagefind-ui-border-width) solid var(--pagefind-ui-border); + border-radius: calc(25px * var(--pagefind-ui-scale)); + font-size: calc(18px * var(--pagefind-ui-scale)); + height: calc(50px * var(--pagefind-ui-scale)); + cursor: pointer; + white-space: nowrap; +} + +.pagefind-modular-filter-pill:hover { + border-color: var(--pagefind-ui-primary); +} + +.pagefind-modular-filter-pill[aria-pressed="true"] { + border-color: var(--pagefind-ui-primary); + color: var(--pagefind-ui-primary); +} \ No newline at end of file diff --git a/public/pagefind/pagefind-modular-ui.js b/public/pagefind/pagefind-modular-ui.js new file mode 100644 index 0000000..43f738f --- /dev/null +++ b/public/pagefind/pagefind-modular-ui.js @@ -0,0 +1,8 @@ +(()=>{var b=Object.defineProperty;var w=(i,e)=>{for(var t in e)b(i,t,{get:e[t],enumerable:!0})};var f={};w(f,{FilterPills:()=>h,Input:()=>l,Instance:()=>p,ResultList:()=>a,Summary:()=>o});var r=class i{constructor(e){this.element=document.createElement(e)}id(e){return this.element.id=e,this}class(e){return this.element.classList.add(e),this}attrs(e){for(let[t,s]of Object.entries(e))this.element.setAttribute(t,s);return this}text(e){return this.element.innerText=e,this}html(e){return this.element.innerHTML=e,this}handle(e,t){return this.element.addEventListener(e,t),this}addTo(e){return e instanceof i?e.element.appendChild(this.element):e.appendChild(this.element),this.element}};var T=async(i=100)=>new Promise(e=>setTimeout(e,i)),l=class{constructor(e={}){if(this.inputEl=null,this.clearEl=null,this.instance=null,this.searchID=0,this.debounceTimeoutMs=e.debounceTimeoutMs??300,e.inputElement){if(e.containerElement){console.warn("[Pagefind Input component]: inputElement and containerElement both supplied. Ignoring the container option.");return}this.initExisting(e.inputElement)}else if(e.containerElement)this.initContainer(e.containerElement);else{console.error("[Pagefind Input component]: No selector supplied for containerElement or inputElement");return}this.inputEl.addEventListener("input",async t=>{if(this.instance&&typeof t?.target?.value=="string"){this.updateState(t.target.value);let s=++this.searchID;if(await T(this.debounceTimeoutMs),s!==this.searchID)return null;this.instance?.triggerSearch(t.target.value)}}),this.inputEl.addEventListener("keydown",t=>{t.key==="Escape"&&(++this.searchID,this.inputEl.value="",this.instance?.triggerSearch(""),this.updateState("")),t.key==="Enter"&&t.preventDefault()}),this.inputEl.addEventListener("focus",()=>{this.instance?.triggerLoad()})}initContainer(e){let t=document.querySelector(e);if(!t){console.error(`[Pagefind Input component]: No container found for ${e} selector`);return}if(t.tagName==="INPUT")console.warn(`[Pagefind Input component]: Encountered input element for ${e} when a container was expected`),console.warn("[Pagefind Input component]: Treating containerElement option as inputElement and proceeding"),this.initExisting(e);else{t.innerHTML="";let s=0;for(;document.querySelector(`#pfmod-input-${s}`);)s+=1;let n=new r("form").class("pagefind-modular-input-wrapper").attrs({role:"search","aria-label":"Search this site",action:"javascript:void(0);"});new r("label").attrs({for:`pfmod-input-${s}`,"data-pfmod-sr-hidden":"true"}).text("Search this site").addTo(n),this.inputEl=new r("input").id(`pfmod-input-${s}`).class("pagefind-modular-input").attrs({autocapitalize:"none",enterkeyhint:"search"}).addTo(n),this.clearEl=new r("button").class("pagefind-modular-input-clear").attrs({"data-pfmod-suppressed":"true"}).text("Clear").handle("click",()=>{this.inputEl.value="",this.instance.triggerSearch(""),this.updateState("")}).addTo(n),n.addTo(t)}}initExisting(e){let t=document.querySelector(e);if(!t){console.error(`[Pagefind Input component]: No input element found for ${e} selector`);return}if(t.tagName!=="INPUT"){console.error(`[Pagefind Input component]: Expected ${e} to be an element`);return}this.inputEl=t}updateState(e){this.clearEl&&(e&&e?.length?this.clearEl.removeAttribute("data-pfmod-suppressed"):this.clearEl.setAttribute("data-pfmod-suppressed","true"))}register(e){this.instance=e,this.instance.on("search",(t,s)=>{this.inputEl&&document.activeElement!==this.inputEl&&(this.inputEl.value=t,this.updateState(t))})}focus(){this.inputEl&&this.inputEl.focus()}};var g=i=>{if(i instanceof Element)return[i];if(Array.isArray(i)&&i.every(e=>e instanceof Element))return i;if(typeof i=="string"||i instanceof String){let e=document.createElement("div");return e.innerHTML=i,[...e.childNodes]}else return console.error(`[Pagefind ResultList component]: Expected template function to return an HTML element or string, got ${typeof i}`),[]},v=()=>{let i=(e=30)=>". ".repeat(Math.floor(10+Math.random()*e));return`
  • +
    +
    +

    ${i(30)}

    +

    ${i(40)}

    +
    +
  • `},y=i=>{let e=new r("li").class("pagefind-modular-list-result"),t=new r("div").class("pagefind-modular-list-thumb").addTo(e);i?.meta?.image&&new r("img").class("pagefind-modular-list-image").attrs({src:i.meta.image,alt:i.meta.image_alt||i.meta.title}).addTo(t);let s=new r("div").class("pagefind-modular-list-inner").addTo(e),n=new r("p").class("pagefind-modular-list-title").addTo(s);return new r("a").class("pagefind-modular-list-link").text(i.meta?.title).attrs({href:i.meta?.url||i.url}).addTo(n),new r("p").class("pagefind-modular-list-excerpt").html(i.excerpt).addTo(s),e.element},E=i=>{if(!(i instanceof HTMLElement))return null;let e=window.getComputedStyle(i).overflowY;return e!=="visible"&&e!=="hidden"?i:E(i.parentNode)},d=class{constructor(e={}){this.rawResult=e.result,this.placeholderNodes=e.placeholderNodes,this.resultFn=e.resultFn,this.intersectionEl=e.intersectionEl,this.result=null,this.waitForIntersection()}waitForIntersection(){if(!this.placeholderNodes?.length)return;let e={root:this.intersectionEl,rootMargin:"0px",threshold:.01};new IntersectionObserver((s,n)=>{this.result===null&&s?.[0]?.isIntersecting&&(this.load(),n.disconnect())},e).observe(this.placeholderNodes[0])}async load(){if(!this.placeholderNodes?.length)return;this.result=await this.rawResult.data();let e=this.resultFn(this.result),t=g(e);for(;this.placeholderNodes.length>1;)this.placeholderNodes.pop().remove();this.placeholderNodes[0].replaceWith(...t)}},a=class{constructor(e){if(this.intersectionEl=document.body,this.containerEl=null,this.results=[],this.placeholderTemplate=e.placeholderTemplate??v,this.resultTemplate=e.resultTemplate??y,e.containerElement)this.initContainer(e.containerElement);else{console.error("[Pagefind ResultList component]: No selector supplied for containerElement");return}}initContainer(e){let t=document.querySelector(e);if(!t){console.error(`[Pagefind ResultList component]: No container found for ${e} selector`);return}this.containerEl=t}append(e){for(let t of e)this.containerEl.appendChild(t)}register(e){e.on("results",t=>{this.containerEl&&(this.containerEl.innerHTML="",this.intersectionEl=E(this.containerEl),this.results=t.results.map(s=>{let n=g(this.placeholderTemplate());return this.append(n),new d({result:s,placeholderNodes:n,resultFn:this.resultTemplate,intersectionEl:this.intersectionEl})}))}),e.on("loading",()=>{this.containerEl&&(this.containerEl.innerHTML="")})}};var o=class{constructor(e={}){if(this.containerEl=null,this.defaultMessage=e.defaultMessage??"",this.term="",e.containerElement)this.initContainer(e.containerElement);else{console.error("[Pagefind Summary component]: No selector supplied for containerElement");return}}initContainer(e){let t=document.querySelector(e);if(!t){console.error(`[Pagefind Summary component]: No container found for ${e} selector`);return}this.containerEl=t,this.containerEl.innerText=this.defaultMessage}register(e){e.on("search",(t,s)=>{this.term=t}),e.on("results",t=>{if(!this.containerEl||!t)return;if(!this.term){this.containerEl.innerText=this.defaultMessage;return}let s=t?.results?.length??0;this.containerEl.innerText=`${s} result${s===1?"":"s"} for ${this.term}`}),e.on("loading",()=>{this.containerEl&&(this.containerEl.innerText=`Searching for ${this.term}...`)})}};var h=class{constructor(e={}){if(this.instance=null,this.wrapper=null,this.pillContainer=null,this.available={},this.selected=["All"],this.total=0,this.filterMemo="",this.filter=e.filter,this.ordering=e.ordering??null,this.alwaysShow=e.alwaysShow??!1,this.selectMultiple=e.selectMultiple??!1,!this.filter?.length){console.error("[Pagefind FilterPills component]: No filter option supplied, nothing to display");return}if(e.containerElement)this.initContainer(e.containerElement);else{console.error("[Pagefind FilterPills component]: No selector supplied for containerElement");return}}initContainer(e){let t=document.querySelector(e);if(!t){console.error(`[Pagefind FilterPills component]: No container found for ${e} selector`);return}t.innerHTML="";let s=`pagefind_modular_filter_pills_${this.filter}`,n=new r("div").class("pagefind-modular-filter-pills-wrapper").attrs({role:"group","aria-labelledby":s});this.alwaysShow||n.attrs({"data-pfmod-hidden":!0}),new r("div").id(s).class("pagefind-modular-filter-pills-label").attrs({"data-pfmod-sr-hidden":!0}).text(`Filter results by ${this.filter}`).addTo(n),this.pillContainer=new r("div").class("pagefind-modular-filter-pills").addTo(n),this.wrapper=n.addTo(t)}update(){let e=this.available.map(t=>t[0]).join("~");e==this.filterMemo?this.updateExisting():(this.renderNew(),this.filterMemo=e)}pushFilters(){let e=this.selected.filter(t=>t!=="All");this.instance.triggerFilter(this.filter,e)}pillInner(e,t){return this.total?`${e} (${t})`:`${e}`}renderNew(){this.available.forEach(([e,t])=>{new r("button").class("pagefind-modular-filter-pill").html(this.pillInner(e,t)).attrs({"aria-pressed":this.selected.includes(e),type:"button"}).handle("click",()=>{e==="All"?this.selected=["All"]:this.selected.includes(e)?this.selected=this.selected.filter(s=>s!==e):this.selectMultiple?this.selected.push(e):this.selected=[e],this.selected?.length?this.selected?.length>1&&(this.selected=this.selected.filter(s=>s!=="All")):this.selected=["All"],this.update(),this.pushFilters()}).addTo(this.pillContainer)})}updateExisting(){let e=[...this.pillContainer.childNodes];this.available.forEach(([t,s],n)=>{e[n].innerHTML=this.pillInner(t,s),e[n].setAttribute("aria-pressed",this.selected.includes(t))})}register(e){this.instance=e,this.instance.on("filters",t=>{if(!this.pillContainer)return;this.selectMultiple?t=t.available:t=t.total;let s=t[this.filter];if(!s){console.warn(`[Pagefind FilterPills component]: No possible values found for the ${this.filter} filter`);return}this.available=Object.entries(s),Array.isArray(this.ordering)?this.available.sort((n,c)=>{let m=this.ordering.indexOf(n[0]),_=this.ordering.indexOf(c[0]);return(m===-1?1/0:m)-(_===-1?1/0:_)}):this.available.sort((n,c)=>n[0].localeCompare(c[0])),this.available.unshift(["All",this.total]),this.update()}),e.on("results",t=>{this.pillContainer&&(this.total=t?.unfilteredResultCount||0,this.available?.[0]?.[0]==="All"&&(this.available[0][1]=this.total),this.total||this.alwaysShow?this.wrapper.removeAttribute("data-pfmod-hidden"):this.wrapper.setAttribute("data-pfmod-hidden","true"),this.update())})}};var P=async(i=50)=>await new Promise(e=>setTimeout(e,i)),u;try{document?.currentScript&&document.currentScript.tagName.toUpperCase()==="SCRIPT"&&(u=new URL(document.currentScript.src).pathname.match(/^(.*\/)(?:pagefind-)?modular-ui.js.*$/)[1])}catch{u="/pagefind/"}var p=class{constructor(e={}){this.__pagefind__=null,this.__initializing__=null,this.__searchID__=0,this.__hooks__={search:[],filters:[],loading:[],results:[]},this.components=[],this.searchTerm="",this.searchFilters={},this.searchResult={},this.availableFilters=null,this.totalFilters=null,this.options={bundlePath:e.bundlePath??u,mergeIndex:e.mergeIndex??[]},delete e.bundlePath,delete e.resetStyles,delete e.processResult,delete e.processTerm,delete e.debounceTimeoutMs,delete e.mergeIndex,delete e.translations,this.pagefindOptions=e}add(e){e?.register?.(this),this.components.push(e)}on(e,t){if(!this.__hooks__[e]){let s=Object.keys(this.__hooks__).join(", ");console.error(`[Pagefind Composable]: Unknown event type ${e}. Supported events: [${s}]`);return}if(typeof t!="function"){console.error(`[Pagefind Composable]: Expected callback to be a function, received ${typeof t}`);return}this.__hooks__[e].push(t)}triggerLoad(){this.__load__()}triggerSearch(e){this.searchTerm=e,this.__dispatch__("search",e,this.searchFilters),this.__search__(e,this.searchFilters)}triggerSearchWithFilters(e,t){this.searchTerm=e,this.searchFilters=t,this.__dispatch__("search",e,t),this.__search__(e,t)}triggerFilters(e){this.searchFilters=e,this.__dispatch__("search",this.searchTerm,e),this.__search__(this.searchTerm,e)}triggerFilter(e,t){this.searchFilters=this.searchFilters||{},this.searchFilters[e]=t,this.__dispatch__("search",this.searchTerm,this.searchFilters),this.__search__(this.searchTerm,this.searchFilters)}__dispatch__(e,...t){this.__hooks__[e]?.forEach(s=>s?.(...t))}async __clear__(){this.__dispatch__("results",{results:[],unfilteredTotalCount:0}),this.availableFilters=await this.__pagefind__.filters(),this.totalFilters=this.availableFilters,this.__dispatch__("filters",{available:this.availableFilters,total:this.totalFilters})}async __search__(e,t){this.__dispatch__("loading"),await this.__load__();let s=++this.__searchID__;if(!e||!e.length)return this.__clear__();let n=await this.__pagefind__.search(e,{filters:t});n&&this.__searchID__===s&&(n.filters&&Object.keys(n.filters)?.length&&(this.availableFilters=n.filters,this.totalFilters=n.totalFilters,this.__dispatch__("filters",{available:this.availableFilters,total:this.totalFilters})),this.searchResult=n,this.__dispatch__("results",this.searchResult))}async __load__(){if(this.__initializing__){for(;!this.__pagefind__;)await P(50);return}if(this.__initializing__=!0,!this.__pagefind__){let e;try{e=await import(`${this.options.bundlePath}pagefind.js`)}catch(t){console.error(t),console.error([`Pagefind couldn't be loaded from ${this.options.bundlePath}pagefind.js`,"You can configure this by passing a bundlePath option to PagefindComposable Instance"].join(` +`)),document?.currentScript&&document.currentScript.tagName.toUpperCase()==="SCRIPT"?console.error(`[DEBUG: Loaded from ${document.currentScript?.src??"bad script location"}]`):console.error("no known script location")}await e.options(this.pagefindOptions||{});for(let t of this.options.mergeIndex){if(!t.bundlePath)throw new Error("mergeIndex requires a bundlePath parameter");let s=t.bundlePath;delete t.bundlePath,await e.mergeIndex(s,t)}this.__pagefind__=e}this.availableFilters=await this.__pagefind__.filters(),this.totalFilters=this.availableFilters,this.__dispatch__("filters",{available:this.availableFilters,total:this.totalFilters})}};window.PagefindModularUI=f;})(); diff --git a/public/pagefind/pagefind-ui.css b/public/pagefind/pagefind-ui.css new file mode 100644 index 0000000..d7984a9 --- /dev/null +++ b/public/pagefind/pagefind-ui.css @@ -0,0 +1 @@ +.pagefind-ui__result.svelte-j9e30.svelte-j9e30{list-style-type:none;display:flex;align-items:flex-start;gap:min(calc(40px * var(--pagefind-ui-scale)),3%);padding:calc(30px * var(--pagefind-ui-scale)) 0 calc(40px * var(--pagefind-ui-scale));border-top:solid var(--pagefind-ui-border-width) var(--pagefind-ui-border)}.pagefind-ui__result.svelte-j9e30.svelte-j9e30:last-of-type{border-bottom:solid var(--pagefind-ui-border-width) var(--pagefind-ui-border)}.pagefind-ui__result-thumb.svelte-j9e30.svelte-j9e30{width:min(30%,calc((30% - (100px * var(--pagefind-ui-scale))) * 100000));max-width:calc(120px * var(--pagefind-ui-scale));margin-top:calc(10px * var(--pagefind-ui-scale));aspect-ratio:var(--pagefind-ui-image-box-ratio);position:relative}.pagefind-ui__result-image.svelte-j9e30.svelte-j9e30{display:block;position:absolute;left:50%;transform:translate(-50%);font-size:0;width:auto;height:auto;max-width:100%;max-height:100%;border-radius:var(--pagefind-ui-image-border-radius)}.pagefind-ui__result-inner.svelte-j9e30.svelte-j9e30{flex:1;display:flex;flex-direction:column;align-items:flex-start;margin-top:calc(10px * var(--pagefind-ui-scale))}.pagefind-ui__result-title.svelte-j9e30.svelte-j9e30{display:inline-block;font-weight:700;font-size:calc(21px * var(--pagefind-ui-scale));margin-top:0;margin-bottom:0}.pagefind-ui__result-title.svelte-j9e30 .pagefind-ui__result-link.svelte-j9e30{color:var(--pagefind-ui-text);text-decoration:none}.pagefind-ui__result-title.svelte-j9e30 .pagefind-ui__result-link.svelte-j9e30:hover{text-decoration:underline}.pagefind-ui__result-excerpt.svelte-j9e30.svelte-j9e30{display:inline-block;font-weight:400;font-size:calc(16px * var(--pagefind-ui-scale));margin-top:calc(4px * var(--pagefind-ui-scale));margin-bottom:0;min-width:calc(250px * var(--pagefind-ui-scale))}.pagefind-ui__loading.svelte-j9e30.svelte-j9e30{color:var(--pagefind-ui-text);background-color:var(--pagefind-ui-text);border-radius:var(--pagefind-ui-border-radius);opacity:.1;pointer-events:none}.pagefind-ui__result-tags.svelte-j9e30.svelte-j9e30{list-style-type:none;padding:0;display:flex;gap:calc(20px * var(--pagefind-ui-scale));flex-wrap:wrap;margin-top:calc(20px * var(--pagefind-ui-scale))}.pagefind-ui__result-tag.svelte-j9e30.svelte-j9e30{padding:calc(4px * var(--pagefind-ui-scale)) calc(8px * var(--pagefind-ui-scale));font-size:calc(14px * var(--pagefind-ui-scale));border-radius:var(--pagefind-ui-border-radius);background-color:var(--pagefind-ui-tag)}.pagefind-ui__result.svelte-4xnkmf.svelte-4xnkmf{list-style-type:none;display:flex;align-items:flex-start;gap:min(calc(40px * var(--pagefind-ui-scale)),3%);padding:calc(30px * var(--pagefind-ui-scale)) 0 calc(40px * var(--pagefind-ui-scale));border-top:solid var(--pagefind-ui-border-width) var(--pagefind-ui-border)}.pagefind-ui__result.svelte-4xnkmf.svelte-4xnkmf:last-of-type{border-bottom:solid var(--pagefind-ui-border-width) var(--pagefind-ui-border)}.pagefind-ui__result-nested.svelte-4xnkmf.svelte-4xnkmf{display:flex;flex-direction:column;padding-left:calc(20px * var(--pagefind-ui-scale))}.pagefind-ui__result-nested.svelte-4xnkmf.svelte-4xnkmf:first-of-type{padding-top:calc(10px * var(--pagefind-ui-scale))}.pagefind-ui__result-nested.svelte-4xnkmf .pagefind-ui__result-link.svelte-4xnkmf{font-size:.9em;position:relative}.pagefind-ui__result-nested.svelte-4xnkmf .pagefind-ui__result-link.svelte-4xnkmf:before{content:"\2937 ";position:absolute;top:0;right:calc(100% + .1em)}.pagefind-ui__result-thumb.svelte-4xnkmf.svelte-4xnkmf{width:min(30%,calc((30% - (100px * var(--pagefind-ui-scale))) * 100000));max-width:calc(120px * var(--pagefind-ui-scale));margin-top:calc(10px * var(--pagefind-ui-scale));aspect-ratio:var(--pagefind-ui-image-box-ratio);position:relative}.pagefind-ui__result-image.svelte-4xnkmf.svelte-4xnkmf{display:block;position:absolute;left:50%;transform:translate(-50%);font-size:0;width:auto;height:auto;max-width:100%;max-height:100%;border-radius:var(--pagefind-ui-image-border-radius)}.pagefind-ui__result-inner.svelte-4xnkmf.svelte-4xnkmf{flex:1;display:flex;flex-direction:column;align-items:flex-start;margin-top:calc(10px * var(--pagefind-ui-scale))}.pagefind-ui__result-title.svelte-4xnkmf.svelte-4xnkmf{display:inline-block;font-weight:700;font-size:calc(21px * var(--pagefind-ui-scale));margin-top:0;margin-bottom:0}.pagefind-ui__result-title.svelte-4xnkmf .pagefind-ui__result-link.svelte-4xnkmf{color:var(--pagefind-ui-text);text-decoration:none}.pagefind-ui__result-title.svelte-4xnkmf .pagefind-ui__result-link.svelte-4xnkmf:hover{text-decoration:underline}.pagefind-ui__result-excerpt.svelte-4xnkmf.svelte-4xnkmf{display:inline-block;font-weight:400;font-size:calc(16px * var(--pagefind-ui-scale));margin-top:calc(4px * var(--pagefind-ui-scale));margin-bottom:0;min-width:calc(250px * var(--pagefind-ui-scale))}.pagefind-ui__loading.svelte-4xnkmf.svelte-4xnkmf{color:var(--pagefind-ui-text);background-color:var(--pagefind-ui-text);border-radius:var(--pagefind-ui-border-radius);opacity:.1;pointer-events:none}.pagefind-ui__result-tags.svelte-4xnkmf.svelte-4xnkmf{list-style-type:none;padding:0;display:flex;gap:calc(20px * var(--pagefind-ui-scale));flex-wrap:wrap;margin-top:calc(20px * var(--pagefind-ui-scale))}.pagefind-ui__result-tag.svelte-4xnkmf.svelte-4xnkmf{padding:calc(4px * var(--pagefind-ui-scale)) calc(8px * var(--pagefind-ui-scale));font-size:calc(14px * var(--pagefind-ui-scale));border-radius:var(--pagefind-ui-border-radius);background-color:var(--pagefind-ui-tag)}legend.svelte-1v2r7ls.svelte-1v2r7ls{position:absolute;clip:rect(0 0 0 0)}.pagefind-ui__filter-panel.svelte-1v2r7ls.svelte-1v2r7ls{min-width:min(calc(260px * var(--pagefind-ui-scale)),100%);flex:1;display:flex;flex-direction:column;margin-top:calc(20px * var(--pagefind-ui-scale))}.pagefind-ui__filter-group.svelte-1v2r7ls.svelte-1v2r7ls{border:0;padding:0}.pagefind-ui__filter-block.svelte-1v2r7ls.svelte-1v2r7ls{padding:0;display:block;border-bottom:solid calc(2px * var(--pagefind-ui-scale)) var(--pagefind-ui-border);padding:calc(20px * var(--pagefind-ui-scale)) 0}.pagefind-ui__filter-name.svelte-1v2r7ls.svelte-1v2r7ls{font-size:calc(16px * var(--pagefind-ui-scale));position:relative;display:flex;align-items:center;list-style:none;font-weight:700;cursor:pointer;height:calc(24px * var(--pagefind-ui-scale))}.pagefind-ui__filter-name.svelte-1v2r7ls.svelte-1v2r7ls::-webkit-details-marker{display:none}.pagefind-ui__filter-name.svelte-1v2r7ls.svelte-1v2r7ls:after{position:absolute;content:"";right:calc(6px * var(--pagefind-ui-scale));top:50%;width:calc(8px * var(--pagefind-ui-scale));height:calc(8px * var(--pagefind-ui-scale));border:solid calc(2px * var(--pagefind-ui-scale)) currentColor;border-right:0;border-top:0;transform:translateY(-70%) rotate(-45deg)}.pagefind-ui__filter-block[open].svelte-1v2r7ls .pagefind-ui__filter-name.svelte-1v2r7ls:after{transform:translateY(-70%) rotate(-225deg)}.pagefind-ui__filter-group.svelte-1v2r7ls.svelte-1v2r7ls{display:flex;flex-direction:column;gap:calc(20px * var(--pagefind-ui-scale));padding-top:calc(30px * var(--pagefind-ui-scale))}.pagefind-ui__filter-value.svelte-1v2r7ls.svelte-1v2r7ls{position:relative;display:flex;align-items:center;gap:calc(8px * var(--pagefind-ui-scale))}.pagefind-ui__filter-value.svelte-1v2r7ls.svelte-1v2r7ls:before{position:absolute;content:"";top:50%;left:calc(8px * var(--pagefind-ui-scale));width:0px;height:0px;border:solid 1px #fff;opacity:0;transform:translate(calc(4.5px * var(--pagefind-ui-scale) * -1),calc(.8px * var(--pagefind-ui-scale))) skew(-5deg) rotate(-45deg);transform-origin:top left;border-top:0;border-right:0;pointer-events:none}.pagefind-ui__filter-value.pagefind-ui__filter-value--checked.svelte-1v2r7ls.svelte-1v2r7ls:before{opacity:1;width:calc(9px * var(--pagefind-ui-scale));height:calc(4px * var(--pagefind-ui-scale));transition:width .1s ease-out .1s,height .1s ease-in}.pagefind-ui__filter-checkbox.svelte-1v2r7ls.svelte-1v2r7ls{margin:0;width:calc(16px * var(--pagefind-ui-scale));height:calc(16px * var(--pagefind-ui-scale));border:solid 1px var(--pagefind-ui-border);appearance:none;-webkit-appearance:none;border-radius:calc(var(--pagefind-ui-border-radius) / 2);background-color:var(--pagefind-ui-background);cursor:pointer}.pagefind-ui__filter-checkbox.svelte-1v2r7ls.svelte-1v2r7ls:checked{background-color:var(--pagefind-ui-primary);border:solid 1px var(--pagefind-ui-primary)}.pagefind-ui__filter-label.svelte-1v2r7ls.svelte-1v2r7ls{cursor:pointer;font-size:calc(16px * var(--pagefind-ui-scale));font-weight:400}.pagefind-ui--reset *:where(:not(html,iframe,canvas,img,svg,video):not(svg *,symbol *)){all:unset;display:revert;outline:revert}.pagefind-ui--reset *,.pagefind-ui--reset *:before,.pagefind-ui--reset *:after{box-sizing:border-box}.pagefind-ui--reset a,.pagefind-ui--reset button{cursor:revert}.pagefind-ui--reset ol,.pagefind-ui--reset ul,.pagefind-ui--reset menu{list-style:none}.pagefind-ui--reset img{max-width:100%}.pagefind-ui--reset table{border-collapse:collapse}.pagefind-ui--reset input,.pagefind-ui--reset textarea{-webkit-user-select:auto}.pagefind-ui--reset textarea{white-space:revert}.pagefind-ui--reset meter{-webkit-appearance:revert;appearance:revert}.pagefind-ui--reset ::placeholder{color:unset}.pagefind-ui--reset :where([hidden]){display:none}.pagefind-ui--reset :where([contenteditable]:not([contenteditable="false"])){-moz-user-modify:read-write;-webkit-user-modify:read-write;overflow-wrap:break-word;-webkit-line-break:after-white-space;-webkit-user-select:auto}.pagefind-ui--reset :where([draggable="true"]){-webkit-user-drag:element}.pagefind-ui--reset mark{all:revert}:root{--pagefind-ui-scale:.8;--pagefind-ui-primary:#393939;--pagefind-ui-text:#393939;--pagefind-ui-background:#ffffff;--pagefind-ui-border:#eeeeee;--pagefind-ui-tag:#eeeeee;--pagefind-ui-border-width:2px;--pagefind-ui-border-radius:8px;--pagefind-ui-image-border-radius:8px;--pagefind-ui-image-box-ratio:3 / 2;--pagefind-ui-font:system, -apple-system, "BlinkMacSystemFont", ".SFNSText-Regular", "San Francisco", "Roboto", "Segoe UI", "Helvetica Neue", "Lucida Grande", "Ubuntu", "arial", sans-serif}.pagefind-ui.svelte-e9gkc3{width:100%;color:var(--pagefind-ui-text);font-family:var(--pagefind-ui-font)}.pagefind-ui__hidden.svelte-e9gkc3{display:none!important}.pagefind-ui__suppressed.svelte-e9gkc3{opacity:0;pointer-events:none}.pagefind-ui__form.svelte-e9gkc3{position:relative}.pagefind-ui__form.svelte-e9gkc3:before{background-color:var(--pagefind-ui-text);width:calc(18px * var(--pagefind-ui-scale));height:calc(18px * var(--pagefind-ui-scale));top:calc(23px * var(--pagefind-ui-scale));left:calc(20px * var(--pagefind-ui-scale));content:"";position:absolute;display:block;opacity:.7;-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.7549 11.255H11.9649L11.6849 10.985C12.6649 9.845 13.2549 8.365 13.2549 6.755C13.2549 3.165 10.3449 0.255005 6.75488 0.255005C3.16488 0.255005 0.254883 3.165 0.254883 6.755C0.254883 10.345 3.16488 13.255 6.75488 13.255C8.36488 13.255 9.84488 12.665 10.9849 11.685L11.2549 11.965V12.755L16.2549 17.745L17.7449 16.255L12.7549 11.255ZM6.75488 11.255C4.26488 11.255 2.25488 9.245 2.25488 6.755C2.25488 4.26501 4.26488 2.255 6.75488 2.255C9.24488 2.255 11.2549 4.26501 11.2549 6.755C11.2549 9.245 9.24488 11.255 6.75488 11.255Z' fill='%23000000'/%3E%3C/svg%3E%0A");mask-image:url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.7549 11.255H11.9649L11.6849 10.985C12.6649 9.845 13.2549 8.365 13.2549 6.755C13.2549 3.165 10.3449 0.255005 6.75488 0.255005C3.16488 0.255005 0.254883 3.165 0.254883 6.755C0.254883 10.345 3.16488 13.255 6.75488 13.255C8.36488 13.255 9.84488 12.665 10.9849 11.685L11.2549 11.965V12.755L16.2549 17.745L17.7449 16.255L12.7549 11.255ZM6.75488 11.255C4.26488 11.255 2.25488 9.245 2.25488 6.755C2.25488 4.26501 4.26488 2.255 6.75488 2.255C9.24488 2.255 11.2549 4.26501 11.2549 6.755C11.2549 9.245 9.24488 11.255 6.75488 11.255Z' fill='%23000000'/%3E%3C/svg%3E%0A");-webkit-mask-size:100%;mask-size:100%;z-index:9;pointer-events:none}.pagefind-ui__search-input.svelte-e9gkc3{height:calc(64px * var(--pagefind-ui-scale));padding:0 calc(70px * var(--pagefind-ui-scale)) 0 calc(54px * var(--pagefind-ui-scale));background-color:var(--pagefind-ui-background);border:var(--pagefind-ui-border-width) solid var(--pagefind-ui-border);border-radius:var(--pagefind-ui-border-radius);font-size:calc(21px * var(--pagefind-ui-scale));position:relative;appearance:none;-webkit-appearance:none;display:flex;width:100%;box-sizing:border-box;font-weight:700}.pagefind-ui__search-input.svelte-e9gkc3::placeholder{opacity:.2}.pagefind-ui__search-clear.svelte-e9gkc3{position:absolute;top:calc(3px * var(--pagefind-ui-scale));right:calc(3px * var(--pagefind-ui-scale));height:calc(58px * var(--pagefind-ui-scale));padding:0 calc(15px * var(--pagefind-ui-scale)) 0 calc(2px * var(--pagefind-ui-scale));color:var(--pagefind-ui-text);font-size:calc(14px * var(--pagefind-ui-scale));cursor:pointer;background-color:var(--pagefind-ui-background);border-radius:var(--pagefind-ui-border-radius)}.pagefind-ui__drawer.svelte-e9gkc3{gap:calc(60px * var(--pagefind-ui-scale));display:flex;flex-direction:row;flex-wrap:wrap}.pagefind-ui__results-area.svelte-e9gkc3{min-width:min(calc(400px * var(--pagefind-ui-scale)),100%);flex:1000;margin-top:calc(20px * var(--pagefind-ui-scale))}.pagefind-ui__results.svelte-e9gkc3{padding:0}.pagefind-ui__message.svelte-e9gkc3{box-sizing:content-box;font-size:calc(16px * var(--pagefind-ui-scale));height:calc(24px * var(--pagefind-ui-scale));padding:calc(20px * var(--pagefind-ui-scale)) 0;display:flex;align-items:center;font-weight:700;margin-top:0}.pagefind-ui__button.svelte-e9gkc3{margin-top:calc(40px * var(--pagefind-ui-scale));border:var(--pagefind-ui-border-width) solid var(--pagefind-ui-border);border-radius:var(--pagefind-ui-border-radius);height:calc(48px * var(--pagefind-ui-scale));padding:0 calc(12px * var(--pagefind-ui-scale));font-size:calc(16px * var(--pagefind-ui-scale));color:var(--pagefind-ui-primary);background:var(--pagefind-ui-background);width:100%;text-align:center;font-weight:700;cursor:pointer}.pagefind-ui__button.svelte-e9gkc3:hover{border-color:var(--pagefind-ui-primary);color:var(--pagefind-ui-primary);background:var(--pagefind-ui-background)} diff --git a/public/pagefind/pagefind-ui.js b/public/pagefind/pagefind-ui.js new file mode 100644 index 0000000..d88ad59 --- /dev/null +++ b/public/pagefind/pagefind-ui.js @@ -0,0 +1,2 @@ +(()=>{var Ms=Object.defineProperty;var y=(n,e)=>{for(var t in e)Ms(n,t,{get:e[t],enumerable:!0})};function z(){}function mt(n){return n()}function gn(){return Object.create(null)}function G(n){n.forEach(mt)}function nt(n){return typeof n=="function"}function K(n,e){return n!=n?e==e:n!==e||n&&typeof n=="object"||typeof n=="function"}var et;function ie(n,e){return et||(et=document.createElement("a")),et.href=e,n===et.href}function En(n){return Object.keys(n).length===0}var Rn=typeof window<"u"?window:typeof globalThis<"u"?globalThis:global,de=class{constructor(e){this.options=e,this._listeners="WeakMap"in Rn?new WeakMap:void 0}observe(e,t){return this._listeners.set(e,t),this._getObserver().observe(e,this.options),()=>{this._listeners.delete(e),this._observer.unobserve(e)}}_getObserver(){var e;return(e=this._observer)!==null&&e!==void 0?e:this._observer=new ResizeObserver(t=>{var s;for(let r of t)de.entries.set(r.target,r),(s=this._listeners.get(r.target))===null||s===void 0||s(r)})}};de.entries="WeakMap"in Rn?new WeakMap:void 0;var bn=!1;function As(){bn=!0}function vs(){bn=!1}function b(n,e){n.appendChild(e)}function S(n,e,t){n.insertBefore(e,t||null)}function k(n){n.parentNode&&n.parentNode.removeChild(n)}function Q(n,e){for(let t=0;tn.removeEventListener(e,t,s)}function g(n,e,t){t==null?n.removeAttribute(e):n.getAttribute(e)!==t&&n.setAttribute(e,t)}function Hs(n){return Array.from(n.childNodes)}function N(n,e){e=""+e,n.data!==e&&(n.data=e)}function pt(n,e){n.value=e??""}function B(n,e,t){n.classList[t?"add":"remove"](e)}var st=class{constructor(e=!1){this.is_svg=!1,this.is_svg=e,this.e=this.n=null}c(e){this.h(e)}m(e,t,s=null){this.e||(this.is_svg?this.e=ws(t.nodeName):this.e=C(t.nodeType===11?"TEMPLATE":t.nodeName),this.t=t.tagName!=="TEMPLATE"?t:t.content,this.c(e)),this.i(s)}h(e){this.e.innerHTML=e,this.n=Array.from(this.e.nodeName==="TEMPLATE"?this.e.content.childNodes:this.e.childNodes)}i(e){for(let t=0;tn.indexOf(s)===-1?e.push(s):t.push(s)),t.forEach(s=>s()),re=e}var tt=new Set,ee;function ae(){ee={r:0,c:[],p:ee}}function oe(){ee.r||G(ee.c),ee=ee.p}function U(n,e){n&&n.i&&(tt.delete(n),n.i(e))}function P(n,e,t,s){if(n&&n.o){if(tt.has(n))return;tt.add(n),ee.c.push(()=>{tt.delete(n),s&&(t&&n.d(1),s())}),n.o(e)}else s&&s()}function Sn(n,e){P(n,1,1,()=>{e.delete(n.key)})}function yn(n,e,t,s,r,l,i,a,o,f,u,m){let p=n.length,h=l.length,_=p,c={};for(;_--;)c[n[_].key]=_;let d=[],T=new Map,R=new Map,M=[];for(_=h;_--;){let v=m(r,l,_),H=t(v),O=i.get(H);O?s&&M.push(()=>O.p(v,e)):(O=f(H,v),O.c()),T.set(H,d[_]=O),H in c&&R.set(H,Math.abs(_-c[H]))}let D=new Set,X=new Set;function V(v){U(v,1),v.m(a,u),i.set(v.key,v),u=v.first,h--}for(;p&&h;){let v=d[h-1],H=n[p-1],O=v.key,W=H.key;v===H?(u=v.first,p--,h--):T.has(W)?!i.has(O)||D.has(O)?V(v):X.has(W)?p--:R.get(O)>R.get(W)?(X.add(O),V(v)):(D.add(W),p--):(o(H,i),p--)}for(;p--;){let v=n[p];T.has(v.key)||o(v,i)}for(;h;)V(d[h-1]);return G(M),d}var zs=["allowfullscreen","allowpaymentrequest","async","autofocus","autoplay","checked","controls","default","defer","disabled","formnovalidate","hidden","inert","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","readonly","required","reversed","selected"],Ua=new Set([...zs]);function Mn(n,e,t){let s=n.$$.props[e];s!==void 0&&(n.$$.bound[s]=t,t(n.$$.ctx[s]))}function rt(n){n&&n.c()}function me(n,e,t,s){let{fragment:r,after_update:l}=n.$$;r&&r.m(e,t),s||ht(()=>{let i=n.$$.on_mount.map(mt).filter(nt);n.$$.on_destroy?n.$$.on_destroy.push(...i):G(i),n.$$.on_mount=[]}),l.forEach(ht)}function ue(n,e){let t=n.$$;t.fragment!==null&&(js(t.after_update),G(t.on_destroy),t.fragment&&t.fragment.d(e),t.on_destroy=t.fragment=null,t.ctx=[])}function Us(n,e){n.$$.dirty[0]===-1&&(se.push(n),Ns(),n.$$.dirty.fill(0)),n.$$.dirty[e/31|0]|=1<{let _=h.length?h[0]:p;return f.ctx&&r(f.ctx[m],f.ctx[m]=_)&&(!f.skip_bound&&f.bound[m]&&f.bound[m](_),u&&Us(n,m)),p}):[],f.update(),u=!0,G(f.before_update),f.fragment=s?s(f.ctx):!1,e.target){if(e.hydrate){As();let m=Hs(e.target);f.fragment&&f.fragment.l(m),m.forEach(k)}else f.fragment&&f.fragment.c();e.intro&&U(n.$$.fragment),me(n,e.target,e.anchor,e.customElement),vs(),kn()}fe(o)}var Ds;typeof HTMLElement=="function"&&(Ds=class extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"})}connectedCallback(){let{on_mount:n}=this.$$;this.$$.on_disconnect=n.map(mt).filter(nt);for(let e in this.$$.slotted)this.appendChild(this.$$.slotted[e])}attributeChangedCallback(n,e,t){this[n]=t}disconnectedCallback(){G(this.$$.on_disconnect)}$destroy(){ue(this,1),this.$destroy=z}$on(n,e){if(!nt(e))return z;let t=this.$$.callbacks[n]||(this.$$.callbacks[n]=[]);return t.push(e),()=>{let s=t.indexOf(e);s!==-1&&t.splice(s,1)}}$set(n){this.$$set&&!En(n)&&(this.$$.skip_bound=!0,this.$$set(n),this.$$.skip_bound=!1)}});var q=class{$destroy(){ue(this,1),this.$destroy=z}$on(e,t){if(!nt(t))return z;let s=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return s.push(t),()=>{let r=s.indexOf(t);r!==-1&&s.splice(r,1)}}$set(e){this.$$set&&!En(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}};function I(n){let e=typeof n=="string"?n.charCodeAt(0):n;return e>=97&&e<=122||e>=65&&e<=90}function $(n){let e=typeof n=="string"?n.charCodeAt(0):n;return e>=48&&e<=57}function Z(n){return I(n)||$(n)}var An=["art-lojban","cel-gaulish","no-bok","no-nyn","zh-guoyu","zh-hakka","zh-min","zh-min-nan","zh-xiang"];var Rt={"en-gb-oed":"en-GB-oxendict","i-ami":"ami","i-bnn":"bnn","i-default":null,"i-enochian":null,"i-hak":"hak","i-klingon":"tlh","i-lux":"lb","i-mingo":null,"i-navajo":"nv","i-pwn":"pwn","i-tao":"tao","i-tay":"tay","i-tsu":"tsu","sgn-be-fr":"sfb","sgn-be-nl":"vgt","sgn-ch-de":"sgg","art-lojban":"jbo","cel-gaulish":null,"no-bok":"nb","no-nyn":"nn","zh-guoyu":"cmn","zh-hakka":"hak","zh-min":null,"zh-min-nan":"nan","zh-xiang":"hsn"};var Is={}.hasOwnProperty;function lt(n,e={}){let t=vn(),s=String(n),r=s.toLowerCase(),l=0;if(n==null)throw new Error("Expected string, got `"+n+"`");if(Is.call(Rt,r)){let a=Rt[r];return(e.normalize===void 0||e.normalize===null||e.normalize)&&typeof a=="string"?lt(a):(t[An.includes(r)?"regular":"irregular"]=s,t)}for(;I(r.charCodeAt(l))&&l<9;)l++;if(l>1&&l<9){if(t.language=s.slice(0,l),l<4){let a=0;for(;r.charCodeAt(l)===45&&I(r.charCodeAt(l+1))&&I(r.charCodeAt(l+2))&&I(r.charCodeAt(l+3))&&!I(r.charCodeAt(l+4));){if(a>2)return i(l,3,"Too many extended language subtags, expected at most 3 subtags");t.extendedLanguageSubtags.push(s.slice(l+1,l+4)),l+=4,a++}}for(r.charCodeAt(l)===45&&I(r.charCodeAt(l+1))&&I(r.charCodeAt(l+2))&&I(r.charCodeAt(l+3))&&I(r.charCodeAt(l+4))&&!I(r.charCodeAt(l+5))&&(t.script=s.slice(l+1,l+5),l+=5),r.charCodeAt(l)===45&&(I(r.charCodeAt(l+1))&&I(r.charCodeAt(l+2))&&!I(r.charCodeAt(l+3))?(t.region=s.slice(l+1,l+3),l+=3):$(r.charCodeAt(l+1))&&$(r.charCodeAt(l+2))&&$(r.charCodeAt(l+3))&&!$(r.charCodeAt(l+4))&&(t.region=s.slice(l+1,l+4),l+=4));r.charCodeAt(l)===45;){let a=l+1,o=a;for(;Z(r.charCodeAt(o));){if(o-a>7)return i(o,1,"Too long variant, expected at most 8 characters");o++}if(o-a>4||o-a>3&&$(r.charCodeAt(a)))t.variants.push(s.slice(a,o)),l=o;else break}for(;r.charCodeAt(l)===45&&!(r.charCodeAt(l+1)===120||!Z(r.charCodeAt(l+1))||r.charCodeAt(l+2)!==45||!Z(r.charCodeAt(l+3)));){let a=l+2,o=0;for(;r.charCodeAt(a)===45&&Z(r.charCodeAt(a+1))&&Z(r.charCodeAt(a+2));){let f=a+1;for(a=f+2,o++;Z(r.charCodeAt(a));){if(a-f>7)return i(a,2,"Too long extension, expected at most 8 characters");a++}}if(!o)return i(a,4,"Empty extension, extensions must have at least 2 characters of content");t.extensions.push({singleton:s.charAt(l+1),extensions:s.slice(l+3,a).split("-")}),l=a}}else l=0;if(l===0&&r.charCodeAt(l)===120||r.charCodeAt(l)===45&&r.charCodeAt(l+1)===120){l=l?l+2:1;let a=l;for(;r.charCodeAt(a)===45&&Z(r.charCodeAt(a+1));){let o=l+1;for(a=o;Z(r.charCodeAt(a));){if(a-o>7)return i(a,5,"Too long private-use area, expected at most 8 characters");a++}t.privateuse.push(s.slice(l+1,a)),l=a}}if(l!==s.length)return i(l,6,"Found superfluous content after tag");return t;function i(a,o,f){return e.warning&&e.warning(f,o,a),e.forgiving?t:vn()}}function vn(){return{language:null,extendedLanguageSubtags:[],script:null,region:null,variants:[],extensions:[],privateuse:[],irregular:null,regular:null}}function wn(n,e,t){let s=n.slice();return s[8]=e[t][0],s[9]=e[t][1],s}function Ps(n){let e,t,s,r,l,i=n[0]&&Hn(n);return{c(){i&&i.c(),e=A(),t=C("div"),s=C("p"),s.textContent=`${n[3](30)}`,r=A(),l=C("p"),l.textContent=`${n[3](40)}`,g(s,"class","pagefind-ui__result-title pagefind-ui__loading svelte-j9e30"),g(l,"class","pagefind-ui__result-excerpt pagefind-ui__loading svelte-j9e30"),g(t,"class","pagefind-ui__result-inner svelte-j9e30")},m(a,o){i&&i.m(a,o),S(a,e,o),S(a,t,o),b(t,s),b(t,r),b(t,l)},p(a,o){a[0]?i||(i=Hn(a),i.c(),i.m(e.parentNode,e)):i&&(i.d(1),i=null)},d(a){i&&i.d(a),a&&k(e),a&&k(t)}}}function Ls(n){let e,t,s,r,l=n[1].meta?.title+"",i,a,o,f,u=n[1].excerpt+"",m,p=n[0]&&Fn(n),h=n[2].length&&On(n);return{c(){p&&p.c(),e=A(),t=C("div"),s=C("p"),r=C("a"),i=w(l),o=A(),f=C("p"),m=A(),h&&h.c(),g(r,"class","pagefind-ui__result-link svelte-j9e30"),g(r,"href",a=n[1].meta?.url||n[1].url),g(s,"class","pagefind-ui__result-title svelte-j9e30"),g(f,"class","pagefind-ui__result-excerpt svelte-j9e30"),g(t,"class","pagefind-ui__result-inner svelte-j9e30")},m(_,c){p&&p.m(_,c),S(_,e,c),S(_,t,c),b(t,s),b(s,r),b(r,i),b(t,o),b(t,f),f.innerHTML=u,b(t,m),h&&h.m(t,null)},p(_,c){_[0]?p?p.p(_,c):(p=Fn(_),p.c(),p.m(e.parentNode,e)):p&&(p.d(1),p=null),c&2&&l!==(l=_[1].meta?.title+"")&&N(i,l),c&2&&a!==(a=_[1].meta?.url||_[1].url)&&g(r,"href",a),c&2&&u!==(u=_[1].excerpt+"")&&(f.innerHTML=u),_[2].length?h?h.p(_,c):(h=On(_),h.c(),h.m(t,null)):h&&(h.d(1),h=null)},d(_){p&&p.d(_),_&&k(e),_&&k(t),h&&h.d()}}}function Hn(n){let e;return{c(){e=C("div"),g(e,"class","pagefind-ui__result-thumb pagefind-ui__loading svelte-j9e30")},m(t,s){S(t,e,s)},d(t){t&&k(e)}}}function Fn(n){let e,t=n[1].meta.image&&Nn(n);return{c(){e=C("div"),t&&t.c(),g(e,"class","pagefind-ui__result-thumb svelte-j9e30")},m(s,r){S(s,e,r),t&&t.m(e,null)},p(s,r){s[1].meta.image?t?t.p(s,r):(t=Nn(s),t.c(),t.m(e,null)):t&&(t.d(1),t=null)},d(s){s&&k(e),t&&t.d()}}}function Nn(n){let e,t,s;return{c(){e=C("img"),g(e,"class","pagefind-ui__result-image svelte-j9e30"),ie(e.src,t=n[1].meta?.image)||g(e,"src",t),g(e,"alt",s=n[1].meta?.image_alt||n[1].meta?.title)},m(r,l){S(r,e,l)},p(r,l){l&2&&!ie(e.src,t=r[1].meta?.image)&&g(e,"src",t),l&2&&s!==(s=r[1].meta?.image_alt||r[1].meta?.title)&&g(e,"alt",s)},d(r){r&&k(e)}}}function On(n){let e,t=n[2],s=[];for(let r=0;rn.toLocaleUpperCase();function Bs(n,e,t){let{show_images:s=!0}=e,{process_result:r=null}=e,{result:l={data:async()=>{}}}=e,i=["title","image","image_alt","url"],a,o=[],f=async m=>{t(1,a=await m.data()),t(1,a=r?.(a)??a),t(2,o=Object.entries(a.meta).filter(([p])=>!i.includes(p)))},u=(m=30)=>". ".repeat(Math.floor(10+Math.random()*m));return n.$$set=m=>{"show_images"in m&&t(0,s=m.show_images),"process_result"in m&&t(4,r=m.process_result),"result"in m&&t(5,l=m.result)},n.$$.update=()=>{if(n.$$.dirty&32)e:f(l)},[s,a,o,u,r,l]}var bt=class extends q{constructor(e){super(),Y(this,e,Bs,qs,K,{show_images:0,process_result:4,result:5})}},Un=bt;function Dn(n,e,t){let s=n.slice();return s[11]=e[t][0],s[12]=e[t][1],s}function In(n,e,t){let s=n.slice();return s[15]=e[t],s}function Vs(n){let e,t,s,r,l,i=n[0]&&Pn(n);return{c(){i&&i.c(),e=A(),t=C("div"),s=C("p"),s.textContent=`${n[5](30)}`,r=A(),l=C("p"),l.textContent=`${n[5](40)}`,g(s,"class","pagefind-ui__result-title pagefind-ui__loading svelte-4xnkmf"),g(l,"class","pagefind-ui__result-excerpt pagefind-ui__loading svelte-4xnkmf"),g(t,"class","pagefind-ui__result-inner svelte-4xnkmf")},m(a,o){i&&i.m(a,o),S(a,e,o),S(a,t,o),b(t,s),b(t,r),b(t,l)},p(a,o){a[0]?i||(i=Pn(a),i.c(),i.m(e.parentNode,e)):i&&(i.d(1),i=null)},d(a){i&&i.d(a),a&&k(e),a&&k(t)}}}function Ws(n){let e,t,s,r,l=n[1].meta?.title+"",i,a,o,f,u,m=n[0]&&Ln(n),p=n[4]&&Bn(n),h=n[3],_=[];for(let d=0;dn.toLocaleUpperCase();function Ks(n,e,t){let{show_images:s=!0}=e,{process_result:r=null}=e,{result:l={data:async()=>{}}}=e,i=["title","image","image_alt","url"],a,o=[],f=[],u=!1,m=(_,c)=>{if(_.length<=c)return _;let d=[..._].sort((T,R)=>R.locations.length-T.locations.length).slice(0,3).map(T=>T.url);return _.filter(T=>d.includes(T.url))},p=async _=>{t(1,a=await _.data()),t(1,a=r?.(a)??a),t(2,o=Object.entries(a.meta).filter(([c])=>!i.includes(c))),Array.isArray(a.sub_results)&&(t(4,u=a.sub_results?.[0]?.url===(a.meta?.url||a.url)),u?t(3,f=m(a.sub_results.slice(1),3)):t(3,f=m([...a.sub_results],3)))},h=(_=30)=>". ".repeat(Math.floor(10+Math.random()*_));return n.$$set=_=>{"show_images"in _&&t(0,s=_.show_images),"process_result"in _&&t(6,r=_.process_result),"result"in _&&t(7,l=_.result)},n.$$.update=()=>{if(n.$$.dirty&128)e:p(l)},[s,a,o,f,u,h,r,l]}var Tt=class extends q{constructor(e){super(),Y(this,e,Ks,Gs,K,{show_images:0,process_result:6,result:7})}},Jn=Tt;function Yn(n,e,t){let s=n.slice();return s[10]=e[t][0],s[11]=e[t][1],s[12]=e,s[13]=t,s}function Zn(n,e,t){let s=n.slice();return s[14]=e[t][0],s[15]=e[t][1],s[16]=e,s[17]=t,s}function Xn(n){let e,t,s=n[4]("filters_label",n[5],n[6])+"",r,l,i=Object.entries(n[1]),a=[];for(let o=0;on.toLocaleUpperCase(),ts=n=>n.toLowerCase();function Ys(n,e,t){let{available_filters:s=null}=e,{show_empty_filters:r=!0}=e,{open_filters:l=[]}=e,{translate:i=()=>""}=e,{automatic_translations:a={}}=e,{translations:o={}}=e,{selected_filters:f={}}=e,u=!1,m=!1;function p(h,_){f[`${h}:${_}`]=this.checked,t(0,f)}return n.$$set=h=>{"available_filters"in h&&t(1,s=h.available_filters),"show_empty_filters"in h&&t(2,r=h.show_empty_filters),"open_filters"in h&&t(3,l=h.open_filters),"translate"in h&&t(4,i=h.translate),"automatic_translations"in h&&t(5,a=h.automatic_translations),"translations"in h&&t(6,o=h.translations),"selected_filters"in h&&t(0,f=h.selected_filters)},n.$$.update=()=>{if(n.$$.dirty&258){e:if(s&&!u){t(8,u=!0);let h=Object.entries(s||{});h.length===1&&Object.entries(h[0][1])?.length<=6&&t(7,m=!0)}}},[f,s,r,l,i,a,o,m,u,p]}var Ct=class extends q{constructor(e){super(),Y(this,e,Ys,Js,K,{available_filters:1,show_empty_filters:2,open_filters:3,translate:4,automatic_translations:5,translations:6,selected_filters:0})}},ns=Ct;var kt={};y(kt,{comments:()=>Xs,default:()=>$s,direction:()=>Qs,strings:()=>xs,thanks_to:()=>Zs});var Zs="Jan Claasen ",Xs="",Qs="ltr",xs={placeholder:"Soek",clear_search:"Opruim",load_more:"Laai nog resultate",search_label:"Soek hierdie webwerf",filters_label:"Filters",zero_results:"Geen resultate vir [SEARCH_TERM]",many_results:"[COUNT] resultate vir [SEARCH_TERM]",one_result:"[COUNT] resultate vir [SEARCH_TERM]",alt_search:"Geen resultate vir [SEARCH_TERM]. Toon resultate vir [DIFFERENT_TERM] in plaas daarvan",search_suggestion:"Geen resultate vir [SEARCH_TERM]. Probeer eerder een van die volgende terme:",searching:"Soek vir [SEARCH_TERM]"},$s={thanks_to:Zs,comments:Xs,direction:Qs,strings:xs};var St={};y(St,{comments:()=>tr,default:()=>rr,direction:()=>nr,strings:()=>sr,thanks_to:()=>er});var er="Jermanuts",tr="",nr="rtl",sr={placeholder:"\u0628\u062D\u062B",clear_search:"\u0627\u0645\u0633\u062D",load_more:"\u062D\u0645\u0651\u0650\u0644 \u0627\u0644\u0645\u0632\u064A\u062F \u0645\u0646 \u0627\u0644\u0646\u062A\u0627\u0626\u062C",search_label:"\u0627\u0628\u062D\u062B \u0641\u064A \u0647\u0630\u0627 \u0627\u0644\u0645\u0648\u0642\u0639",filters_label:"\u062A\u0635\u0641\u064A\u0627\u062A",zero_results:"\u0644\u0627 \u062A\u0648\u062C\u062F \u0646\u062A\u0627\u0626\u062C \u0644 [SEARCH_TERM]",many_results:"[COUNT] \u0646\u062A\u0627\u0626\u062C \u0644 [SEARCH_TERM]",one_result:"[COUNT] \u0646\u062A\u064A\u062C\u0629 \u0644 [SEARCH_TERM]",alt_search:"\u0644\u0627 \u062A\u0648\u062C\u062F \u0646\u062A\u0627\u0626\u062C \u0644 [SEARCH_TERM]. \u064A\u0639\u0631\u0636 \u0627\u0644\u0646\u062A\u0627\u0626\u062C \u0644 [DIFFERENT_TERM] \u0628\u062F\u0644\u0627\u064B \u0645\u0646 \u0630\u0644\u0643",search_suggestion:"\u0644\u0627 \u062A\u0648\u062C\u062F \u0646\u062A\u0627\u0626\u062C \u0644 [SEARCH_TERM]. \u062C\u0631\u0628 \u0623\u062D\u062F \u0639\u0645\u0644\u064A\u0627\u062A \u0627\u0644\u0628\u062D\u062B \u0627\u0644\u062A\u0627\u0644\u064A\u0629:",searching:"\u064A\u0628\u062D\u062B \u0639\u0646 [SEARCH_TERM]..."},rr={thanks_to:er,comments:tr,direction:nr,strings:sr};var yt={};y(yt,{comments:()=>ir,default:()=>ur,direction:()=>ar,strings:()=>or,thanks_to:()=>lr});var lr="Maruf Alom ",ir="",ar="ltr",or={placeholder:"\u0985\u09A8\u09C1\u09B8\u09A8\u09CD\u09A7\u09BE\u09A8 \u0995\u09B0\u09C1\u09A8",clear_search:"\u09AE\u09C1\u099B\u09C7 \u09AB\u09C7\u09B2\u09C1\u09A8",load_more:"\u0986\u09B0\u09CB \u09AB\u09B2\u09BE\u09AB\u09B2 \u09A6\u09C7\u0996\u09C1\u09A8",search_label:"\u098F\u0987 \u0993\u09DF\u09C7\u09AC\u09B8\u09BE\u0987\u099F\u09C7 \u0985\u09A8\u09C1\u09B8\u09A8\u09CD\u09A7\u09BE\u09A8 \u0995\u09B0\u09C1\u09A8",filters_label:"\u09AB\u09BF\u09B2\u09CD\u099F\u09BE\u09B0",zero_results:"[SEARCH_TERM] \u098F\u09B0 \u099C\u09A8\u09CD\u09AF \u0995\u09BF\u099B\u09C1 \u0996\u09C1\u0981\u099C\u09C7 \u09AA\u09BE\u0993\u09DF\u09BE \u09AF\u09BE\u09DF\u09A8\u09BF",many_results:"[COUNT]-\u099F\u09BF \u09AB\u09B2\u09BE\u09AB\u09B2 \u09AA\u09BE\u0993\u09DF\u09BE \u0997\u09BF\u09DF\u09C7\u099B\u09C7 [SEARCH_TERM] \u098F\u09B0 \u099C\u09A8\u09CD\u09AF",one_result:"[COUNT]-\u099F\u09BF \u09AB\u09B2\u09BE\u09AB\u09B2 \u09AA\u09BE\u0993\u09DF\u09BE \u0997\u09BF\u09DF\u09C7\u099B\u09C7 [SEARCH_TERM] \u098F\u09B0 \u099C\u09A8\u09CD\u09AF",alt_search:"\u0995\u09CB\u09A8 \u0995\u09BF\u099B\u09C1 \u0996\u09C1\u0981\u099C\u09C7 \u09AA\u09BE\u0993\u09DF\u09BE \u09AF\u09BE\u09DF\u09A8\u09BF [SEARCH_TERM] \u098F\u09B0 \u099C\u09A8\u09CD\u09AF. \u09AA\u09B0\u09BF\u09AC\u09B0\u09CD\u09A4\u09C7 [DIFFERENT_TERM] \u098F\u09B0 \u099C\u09A8\u09CD\u09AF \u09A6\u09C7\u0996\u09BE\u09A8\u09CB \u09B9\u099A\u09CD\u099B\u09C7",search_suggestion:"\u0995\u09CB\u09A8 \u0995\u09BF\u099B\u09C1 \u0996\u09C1\u0981\u099C\u09C7 \u09AA\u09BE\u0993\u09DF\u09BE \u09AF\u09BE\u09DF\u09A8\u09BF [SEARCH_TERM] \u098F\u09B0 \u09AC\u09BF\u09B7\u09DF\u09C7. \u09A8\u09BF\u09A8\u09CD\u09AE\u09C7\u09B0 \u09AC\u09BF\u09B7\u09DF\u09AC\u09B8\u09CD\u09A4\u09C1 \u0996\u09C1\u0981\u099C\u09C7 \u09A6\u09C7\u0996\u09C1\u09A8:",searching:"\u0985\u09A8\u09C1\u09B8\u09A8\u09CD\u09A7\u09BE\u09A8 \u099A\u09B2\u099B\u09C7 [SEARCH_TERM]..."},ur={thanks_to:lr,comments:ir,direction:ar,strings:or};var Mt={};y(Mt,{comments:()=>_r,default:()=>hr,direction:()=>fr,strings:()=>dr,thanks_to:()=>cr});var cr="Pablo Villaverde ",_r="",fr="ltr",dr={placeholder:"Cerca",clear_search:"Netejar",load_more:"Veure m\xE9s resultats",search_label:"Cerca en aquest lloc",filters_label:"Filtres",zero_results:"No es van trobar resultats per [SEARCH_TERM]",many_results:"[COUNT] resultats trobats per [SEARCH_TERM]",one_result:"[COUNT] resultat trobat per [SEARCH_TERM]",alt_search:"No es van trobar resultats per [SEARCH_TERM]. Mostrant al seu lloc resultats per [DIFFERENT_TERM]",search_suggestion:"No es van trobar resultats per [SEARCH_TERM]. Proveu una de les cerques seg\xFCents:",searching:"Cercant [SEARCH_TERM]..."},hr={thanks_to:cr,comments:_r,direction:fr,strings:dr};var At={};y(At,{comments:()=>pr,default:()=>Rr,direction:()=>gr,strings:()=>Er,thanks_to:()=>mr});var mr="Dalibor Hon ",pr="",gr="ltr",Er={placeholder:"Hledat",clear_search:"Smazat",load_more:"Na\u010D\xEDst dal\u0161\xED v\xFDsledky",search_label:"Prohledat tuto str\xE1nku",filters_label:"Filtry",zero_results:"\u017D\xE1dn\xE9 v\xFDsledky pro [SEARCH_TERM]",many_results:"[COUNT] v\xFDsledk\u016F pro [SEARCH_TERM]",one_result:"[COUNT] v\xFDsledek pro [SEARCH_TERM]",alt_search:"\u017D\xE1dn\xE9 v\xFDsledky pro [SEARCH_TERM]. Zobrazuj\xED se v\xFDsledky pro [DIFFERENT_TERM]",search_suggestion:"\u017D\xE1dn\xE9 v\xFDsledky pro [SEARCH_TERM]. Souvisej\xEDc\xED v\xFDsledky hled\xE1n\xED:",searching:"Hled\xE1m [SEARCH_TERM]..."},Rr={thanks_to:mr,comments:pr,direction:gr,strings:Er};var vt={};y(vt,{comments:()=>Tr,default:()=>Sr,direction:()=>Cr,strings:()=>kr,thanks_to:()=>br});var br="Jonas Smedegaard ",Tr="",Cr="ltr",kr={placeholder:"S\xF8g",clear_search:"Nulstil",load_more:"Indl\xE6s flere resultater",search_label:"S\xF8g p\xE5 dette website",filters_label:"Filtre",zero_results:"Ingen resultater for [SEARCH_TERM]",many_results:"[COUNT] resultater for [SEARCH_TERM]",one_result:"[COUNT] resultat for [SEARCH_TERM]",alt_search:"Ingen resultater for [SEARCH_TERM]. Viser resultater for [DIFFERENT_TERM] i stedet",search_suggestion:"Ingen resultater for [SEARCH_TERM]. Pr\xF8v et af disse s\xF8geord i stedet:",searching:"S\xF8ger efter [SEARCH_TERM]..."},Sr={thanks_to:br,comments:Tr,direction:Cr,strings:kr};var wt={};y(wt,{comments:()=>Mr,default:()=>wr,direction:()=>Ar,strings:()=>vr,thanks_to:()=>yr});var yr="Jan Claasen ",Mr="",Ar="ltr",vr={placeholder:"Suche",clear_search:"L\xF6schen",load_more:"Mehr Ergebnisse laden",search_label:"Suche diese Seite",filters_label:"Filter",zero_results:"Keine Ergebnisse f\xFCr [SEARCH_TERM]",many_results:"[COUNT] Ergebnisse f\xFCr [SEARCH_TERM]",one_result:"[COUNT] Ergebnis f\xFCr [SEARCH_TERM]",alt_search:"Keine Ergebnisse f\xFCr [SEARCH_TERM]. Stattdessen werden Ergebnisse f\xFCr [DIFFERENT_TERM] angezeigt",search_suggestion:"Keine Ergebnisse f\xFCr [SEARCH_TERM]. Versuchen Sie eine der folgenden Suchen:",searching:"Suche f\xFCr [SEARCH_TERM]"},wr={thanks_to:yr,comments:Mr,direction:Ar,strings:vr};var Ht={};y(Ht,{comments:()=>Fr,default:()=>jr,direction:()=>Nr,strings:()=>Or,thanks_to:()=>Hr});var Hr="Liam Bigelow ",Fr="",Nr="ltr",Or={placeholder:"Search",clear_search:"Clear",load_more:"Load more results",search_label:"Search this site",filters_label:"Filters",zero_results:"No results for [SEARCH_TERM]",many_results:"[COUNT] results for [SEARCH_TERM]",one_result:"[COUNT] result for [SEARCH_TERM]",alt_search:"No results for [SEARCH_TERM]. Showing results for [DIFFERENT_TERM] instead",search_suggestion:"No results for [SEARCH_TERM]. Try one of the following searches:",searching:"Searching for [SEARCH_TERM]..."},jr={thanks_to:Hr,comments:Fr,direction:Nr,strings:Or};var Ft={};y(Ft,{comments:()=>Ur,default:()=>Pr,direction:()=>Dr,strings:()=>Ir,thanks_to:()=>zr});var zr="Pablo Villaverde ",Ur="",Dr="ltr",Ir={placeholder:"Buscar",clear_search:"Limpiar",load_more:"Ver m\xE1s resultados",search_label:"Buscar en este sitio",filters_label:"Filtros",zero_results:"No se encontraron resultados para [SEARCH_TERM]",many_results:"[COUNT] resultados encontrados para [SEARCH_TERM]",one_result:"[COUNT] resultado encontrado para [SEARCH_TERM]",alt_search:"No se encontraron resultados para [SEARCH_TERM]. Mostrando en su lugar resultados para [DIFFERENT_TERM]",search_suggestion:"No se encontraron resultados para [SEARCH_TERM]. Prueba una de las siguientes b\xFAsquedas:",searching:"Buscando [SEARCH_TERM]..."},Pr={thanks_to:zr,comments:Ur,direction:Dr,strings:Ir};var Nt={};y(Nt,{comments:()=>qr,default:()=>Wr,direction:()=>Br,strings:()=>Vr,thanks_to:()=>Lr});var Lr="Ali Khaleqi Yekta ",qr="",Br="rtl",Vr={placeholder:"\u062C\u0633\u062A\u062C\u0648",clear_search:"\u067E\u0627\u06A9\u0633\u0627\u0632\u06CC",load_more:"\u0628\u0627\u0631\u06AF\u0630\u0627\u0631\u06CC \u0646\u062A\u0627\u06CC\u062C \u0628\u06CC\u0634\u062A\u0631",search_label:"\u062C\u0633\u062A\u062C\u0648 \u062F\u0631 \u0633\u0627\u06CC\u062A",filters_label:"\u0641\u06CC\u0644\u062A\u0631\u0647\u0627",zero_results:"\u0646\u062A\u06CC\u062C\u0647\u200C\u0627\u06CC \u0628\u0631\u0627\u06CC [SEARCH_TERM] \u06CC\u0627\u0641\u062A \u0646\u0634\u062F",many_results:"[COUNT] \u0646\u062A\u06CC\u062C\u0647 \u0628\u0631\u0627\u06CC [SEARCH_TERM] \u06CC\u0627\u0641\u062A \u0634\u062F",one_result:"[COUNT] \u0646\u062A\u06CC\u062C\u0647 \u0628\u0631\u0627\u06CC [SEARCH_TERM] \u06CC\u0627\u0641\u062A \u0634\u062F",alt_search:"\u0646\u062A\u06CC\u062C\u0647\u200C\u0627\u06CC \u0628\u0631\u0627\u06CC [SEARCH_TERM] \u06CC\u0627\u0641\u062A \u0646\u0634\u062F. \u062F\u0631 \u0639\u0648\u0636 \u0646\u062A\u0627\u06CC\u062C \u0628\u0631\u0627\u06CC [DIFFERENT_TERM] \u0646\u0645\u0627\u06CC\u0634 \u062F\u0627\u062F\u0647 \u0645\u06CC\u200C\u0634\u0648\u062F",search_suggestion:"\u0646\u062A\u06CC\u062C\u0647\u200C\u0627\u06CC \u0628\u0631\u0627\u06CC [SEARCH_TERM] \u06CC\u0627\u0641\u062A \u0646\u0634\u062F. \u06CC\u06A9\u06CC \u0627\u0632 \u062C\u0633\u062A\u062C\u0648\u0647\u0627\u06CC \u0632\u06CC\u0631 \u0631\u0627 \u0627\u0645\u062A\u062D\u0627\u0646 \u06A9\u0646\u06CC\u062F:",searching:"\u062F\u0631 \u062D\u0627\u0644 \u062C\u0633\u062A\u062C\u0648\u06CC [SEARCH_TERM]..."},Wr={thanks_to:Lr,comments:qr,direction:Br,strings:Vr};var Ot={};y(Ot,{comments:()=>Kr,default:()=>Zr,direction:()=>Jr,strings:()=>Yr,thanks_to:()=>Gr});var Gr="Valtteri Laitinen ",Kr="",Jr="ltr",Yr={placeholder:"Haku",clear_search:"Tyhjenn\xE4",load_more:"Lataa lis\xE4\xE4 tuloksia",search_label:"Hae t\xE4lt\xE4 sivustolta",filters_label:"Suodattimet",zero_results:"Ei tuloksia haulle [SEARCH_TERM]",many_results:"[COUNT] tulosta haulle [SEARCH_TERM]",one_result:"[COUNT] tulos haulle [SEARCH_TERM]",alt_search:"Ei tuloksia haulle [SEARCH_TERM]. N\xE4ytet\xE4\xE4n tulokset sen sijaan haulle [DIFFERENT_TERM]",search_suggestion:"Ei tuloksia haulle [SEARCH_TERM]. Kokeile jotain seuraavista:",searching:"Haetaan [SEARCH_TERM]..."},Zr={thanks_to:Gr,comments:Kr,direction:Jr,strings:Yr};var jt={};y(jt,{comments:()=>Qr,default:()=>el,direction:()=>xr,strings:()=>$r,thanks_to:()=>Xr});var Xr="Nicolas Friedli ",Qr="",xr="ltr",$r={placeholder:"Rechercher",clear_search:"Nettoyer",load_more:"Charger plus de r\xE9sultats",search_label:"Recherche sur ce site",filters_label:"Filtres",zero_results:"Pas de r\xE9sultat pour [SEARCH_TERM]",many_results:"[COUNT] r\xE9sultats pour [SEARCH_TERM]",one_result:"[COUNT] r\xE9sultat pour [SEARCH_TERM]",alt_search:"Pas de r\xE9sultat pour [SEARCH_TERM]. Montre les r\xE9sultats pour [DIFFERENT_TERM] \xE0 la place",search_suggestion:"Pas de r\xE9sultat pour [SEARCH_TERM]. Essayer une des recherches suivantes:",searching:"Recherche [SEARCH_TERM]..."},el={thanks_to:Xr,comments:Qr,direction:xr,strings:$r};var zt={};y(zt,{comments:()=>nl,default:()=>ll,direction:()=>sl,strings:()=>rl,thanks_to:()=>tl});var tl="Pablo Villaverde ",nl="",sl="ltr",rl={placeholder:"Buscar",clear_search:"Limpar",load_more:"Ver m\xE1is resultados",search_label:"Buscar neste sitio",filters_label:"Filtros",zero_results:"Non se atoparon resultados para [SEARCH_TERM]",many_results:"[COUNT] resultados atopados para [SEARCH_TERM]",one_result:"[COUNT] resultado atopado para [SEARCH_TERM]",alt_search:"Non se atoparon resultados para [SEARCH_TERM]. Amosando no seu lugar resultados para [DIFFERENT_TERM]",search_suggestion:"Non se atoparon resultados para [SEARCH_TERM]. Probe unha das seguintes pesquisas:",searching:"Buscando [SEARCH_TERM]..."},ll={thanks_to:tl,comments:nl,direction:sl,strings:rl};var Ut={};y(Ut,{comments:()=>al,default:()=>cl,direction:()=>ol,strings:()=>ul,thanks_to:()=>il});var il="Nir Tamir ",al="",ol="rtl",ul={placeholder:"\u05D7\u05D9\u05E4\u05D5\u05E9",clear_search:"\u05E0\u05D9\u05E7\u05D5\u05D9",load_more:"\u05E2\u05D5\u05D3 \u05EA\u05D5\u05E6\u05D0\u05D5\u05EA",search_label:"\u05D7\u05D9\u05E4\u05D5\u05E9 \u05D1\u05D0\u05EA\u05E8 \u05D6\u05D4",filters_label:"\u05DE\u05E1\u05E0\u05E0\u05D9\u05DD",zero_results:"\u05DC\u05D0 \u05E0\u05DE\u05E6\u05D0\u05D5 \u05EA\u05D5\u05E6\u05D0\u05D5\u05EA \u05E2\u05D1\u05D5\u05E8 [SEARCH_TERM]",many_results:"\u05E0\u05DE\u05E6\u05D0\u05D5 [COUNT] \u05EA\u05D5\u05E6\u05D0\u05D5\u05EA \u05E2\u05D1\u05D5\u05E8 [SEARCH_TERM]",one_result:"\u05E0\u05DE\u05E6\u05D0\u05D4 \u05EA\u05D5\u05E6\u05D0\u05D4 \u05D0\u05D7\u05EA \u05E2\u05D1\u05D5\u05E8 [SEARCH_TERM]",alt_search:"\u05DC\u05D0 \u05E0\u05DE\u05E6\u05D0\u05D5 \u05EA\u05D5\u05E6\u05D0\u05D5\u05EA \u05E2\u05D1\u05D5\u05E8 [SEARCH_TERM]. \u05DE\u05D5\u05E6\u05D2\u05D5\u05EA \u05EA\u05D5\u05E6\u05D0\u05D5\u05EA \u05E2\u05D1\u05D5\u05E8 [DIFFERENT_TERM]",search_suggestion:"\u05DC\u05D0 \u05E0\u05DE\u05E6\u05D0\u05D5 \u05EA\u05D5\u05E6\u05D0\u05D5\u05EA \u05E2\u05D1\u05D5\u05E8 [SEARCH_TERM]. \u05E0\u05E1\u05D5 \u05D0\u05D7\u05D3 \u05DE\u05D4\u05D7\u05D9\u05E4\u05D5\u05E9\u05D9\u05DD \u05D4\u05D1\u05D0\u05D9\u05DD:",searching:"\u05DE\u05D7\u05E4\u05E9 \u05D0\u05EA [SEARCH_TERM]..."},cl={thanks_to:il,comments:al,direction:ol,strings:ul};var Dt={};y(Dt,{comments:()=>fl,default:()=>ml,direction:()=>dl,strings:()=>hl,thanks_to:()=>_l});var _l="Amit Yadav ",fl="",dl="ltr",hl={placeholder:"\u0916\u094B\u091C\u0947\u0902",clear_search:"\u0938\u093E\u092B \u0915\u0930\u0947\u0902",load_more:"\u0914\u0930 \u0905\u0927\u093F\u0915 \u092A\u0930\u093F\u0923\u093E\u092E \u0932\u094B\u0921 \u0915\u0930\u0947\u0902",search_label:"\u0907\u0938 \u0938\u093E\u0907\u091F \u092E\u0947\u0902 \u0916\u094B\u091C\u0947\u0902",filters_label:"\u092B\u093C\u093F\u0932\u094D\u091F\u0930",zero_results:"\u0915\u094B\u0908 \u092A\u0930\u093F\u0923\u093E\u092E [SEARCH_TERM] \u0915\u0947 \u0932\u093F\u090F \u0928\u0939\u0940\u0902 \u092E\u093F\u0932\u093E",many_results:"[COUNT] \u092A\u0930\u093F\u0923\u093E\u092E [SEARCH_TERM] \u0915\u0947 \u0932\u093F\u090F \u092E\u093F\u0932\u0947",one_result:"[COUNT] \u092A\u0930\u093F\u0923\u093E\u092E [SEARCH_TERM] \u0915\u0947 \u0932\u093F\u090F \u092E\u093F\u0932\u093E",alt_search:"[SEARCH_TERM] \u0915\u0947 \u0932\u093F\u090F \u0915\u094B\u0908 \u092A\u0930\u093F\u0923\u093E\u092E \u0928\u0939\u0940\u0902 \u092E\u093F\u0932\u093E\u0964 \u0907\u0938\u0915\u0947 \u092C\u091C\u093E\u092F [DIFFERENT_TERM] \u0915\u0947 \u0932\u093F\u090F \u092A\u0930\u093F\u0923\u093E\u092E \u0926\u093F\u0916\u093E \u0930\u0939\u093E \u0939\u0948",search_suggestion:"[SEARCH_TERM] \u0915\u0947 \u0932\u093F\u090F \u0915\u094B\u0908 \u092A\u0930\u093F\u0923\u093E\u092E \u0928\u0939\u0940\u0902 \u092E\u093F\u0932\u093E\u0964 \u0928\u093F\u092E\u094D\u0928\u0932\u093F\u0916\u093F\u0924 \u0916\u094B\u091C\u094B\u0902 \u092E\u0947\u0902 \u0938\u0947 \u0915\u094B\u0908 \u090F\u0915 \u0906\u091C\u093C\u092E\u093E\u090F\u0902:",searching:"[SEARCH_TERM] \u0915\u0940 \u0916\u094B\u091C \u0915\u0940 \u091C\u093E \u0930\u0939\u0940 \u0939\u0948..."},ml={thanks_to:_l,comments:fl,direction:dl,strings:hl};var It={};y(It,{comments:()=>gl,default:()=>bl,direction:()=>El,strings:()=>Rl,thanks_to:()=>pl});var pl="Diomed ",gl="",El="ltr",Rl={placeholder:"Tra\u017Ei",clear_search:"O\u010Disti",load_more:"U\u010Ditaj vi\u0161e rezultata",search_label:"Pretra\u017Ei ovu stranicu",filters_label:"Filteri",zero_results:"Nema rezultata za [SEARCH_TERM]",many_results:"[COUNT] rezultata za [SEARCH_TERM]",one_result:"[COUNT] rezultat za [SEARCH_TERM]",alt_search:"Nema rezultata za [SEARCH_TERM]. Prikazujem rezultate za [DIFFERENT_TERM]",search_suggestion:"Nema rezultata za [SEARCH_TERM]. Poku\u0161aj s jednom od ovih pretraga:",searching:"Pretra\u017Eujem [SEARCH_TERM]..."},bl={thanks_to:pl,comments:gl,direction:El,strings:Rl};var Pt={};y(Pt,{comments:()=>Cl,default:()=>yl,direction:()=>kl,strings:()=>Sl,thanks_to:()=>Tl});var Tl="Adam Laki ",Cl="",kl="ltr",Sl={placeholder:"Keres\xE9s",clear_search:"T\xF6rl\xE9s",load_more:"Tov\xE1bbi tal\xE1latok bet\xF6lt\xE9se",search_label:"Keres\xE9s az oldalon",filters_label:"Sz\u0171r\xE9s",zero_results:"Nincs tal\xE1lat a(z) [SEARCH_TERM] kifejez\xE9sre",many_results:"[COUNT] db tal\xE1lat a(z) [SEARCH_TERM] kifejez\xE9sre",one_result:"[COUNT] db tal\xE1lat a(z) [SEARCH_TERM] kifejez\xE9sre",alt_search:"Nincs tal\xE1lat a(z) [SEARCH_TERM] kifejez\xE9sre. Tal\xE1latok mutat\xE1sa ink\xE1bb a(z) [DIFFERENT_TERM] kifejez\xE9sre",search_suggestion:"Nincs tal\xE1lat a(z) [SEARCH_TERM] kifejez\xE9sre. Pr\xF3b\xE1ld meg a k\xF6vetkez\u0151 keres\xE9sek egyik\xE9t:",searching:"Keres\xE9s a(z) [SEARCH_TERM] kifejez\xE9sre..."},yl={thanks_to:Tl,comments:Cl,direction:kl,strings:Sl};var Lt={};y(Lt,{comments:()=>Al,default:()=>Hl,direction:()=>vl,strings:()=>wl,thanks_to:()=>Ml});var Ml="Nixentric",Al="",vl="ltr",wl={placeholder:"Cari",clear_search:"Bersihkan",load_more:"Muat lebih banyak hasil",search_label:"Telusuri situs ini",filters_label:"Filter",zero_results:"[SEARCH_TERM] tidak ditemukan",many_results:"Ditemukan [COUNT] hasil untuk [SEARCH_TERM]",one_result:"Ditemukan [COUNT] hasil untuk [SEARCH_TERM]",alt_search:"[SEARCH_TERM] tidak ditemukan. Menampilkan hasil [DIFFERENT_TERM] sebagai gantinya",search_suggestion:"[SEARCH_TERM] tidak ditemukan. Coba salah satu pencarian berikut ini:",searching:"Mencari [SEARCH_TERM]..."},Hl={thanks_to:Ml,comments:Al,direction:vl,strings:wl};var qt={};y(qt,{comments:()=>Nl,default:()=>zl,direction:()=>Ol,strings:()=>jl,thanks_to:()=>Fl});var Fl="Cosette Bruhns Alonso, Andrew Janco ",Nl="",Ol="ltr",jl={placeholder:"Cerca",clear_search:"Cancella la cronologia",load_more:"Mostra pi\xF9 risultati",search_label:"Cerca nel sito",filters_label:"Filtri di ricerca",zero_results:"Nessun risultato per [SEARCH_TERM]",many_results:"[COUNT] risultati per [SEARCH_TERM]",one_result:"[COUNT] risultato per [SEARCH_TERM]",alt_search:"Nessun risultato per [SEARCH_TERM]. Mostrando risultati per [DIFFERENT_TERM] come alternativa.",search_suggestion:"Nessun risultato per [SEARCH_TERM]. Prova una delle seguenti ricerche:",searching:"Cercando [SEARCH_TERM]..."},zl={thanks_to:Fl,comments:Nl,direction:Ol,strings:jl};var Bt={};y(Bt,{comments:()=>Dl,default:()=>Ll,direction:()=>Il,strings:()=>Pl,thanks_to:()=>Ul});var Ul="Tate",Dl="",Il="ltr",Pl={placeholder:"\u691C\u7D22",clear_search:"\u30AF\u30EA\u30A2",load_more:"\u6B21\u3092\u8AAD\u307F\u8FBC\u3080",search_label:"\u3053\u306E\u30B5\u30A4\u30C8\u3092\u691C\u7D22",filters_label:"\u30D5\u30A3\u30EB\u30BF",zero_results:"[SEARCH_TERM]\u306E\u691C\u7D22\u306B\u4E00\u81F4\u3059\u308B\u60C5\u5831\u306F\u3042\u308A\u307E\u305B\u3093\u3067\u3057\u305F",many_results:"[SEARCH_TERM]\u306E[COUNT]\u4EF6\u306E\u691C\u7D22\u7D50\u679C",one_result:"[SEARCH_TERM]\u306E[COUNT]\u4EF6\u306E\u691C\u7D22\u7D50\u679C",alt_search:"[SEARCH_TERM]\u306E\u691C\u7D22\u306B\u4E00\u81F4\u3059\u308B\u60C5\u5831\u306F\u3042\u308A\u307E\u305B\u3093\u3067\u3057\u305F\u3002[DIFFERENT_TERM]\u306E\u691C\u7D22\u7D50\u679C\u3092\u8868\u793A\u3057\u3066\u3044\u307E\u3059",search_suggestion:"[SEARCH_TERM]\u306E\u691C\u7D22\u306B\u4E00\u81F4\u3059\u308B\u60C5\u5831\u306F\u3042\u308A\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u6B21\u306E\u3044\u305A\u308C\u304B\u306E\u691C\u7D22\u3092\u8A66\u3057\u3066\u304F\u3060\u3055\u3044",searching:"[SEARCH_TERM]\u3092\u691C\u7D22\u3057\u3066\u3044\u307E\u3059"},Ll={thanks_to:Ul,comments:Dl,direction:Il,strings:Pl};var Vt={};y(Vt,{comments:()=>Bl,default:()=>Gl,direction:()=>Vl,strings:()=>Wl,thanks_to:()=>ql});var ql="Seokho Son ",Bl="",Vl="ltr",Wl={placeholder:"\uAC80\uC0C9\uC5B4",clear_search:"\uBE44\uC6B0\uAE30",load_more:"\uAC80\uC0C9 \uACB0\uACFC \uB354 \uBCF4\uAE30",search_label:"\uC0AC\uC774\uD2B8 \uAC80\uC0C9",filters_label:"\uD544\uD130",zero_results:"[SEARCH_TERM]\uC5D0 \uB300\uD55C \uACB0\uACFC \uC5C6\uC74C",many_results:"[SEARCH_TERM]\uC5D0 \uB300\uD55C \uACB0\uACFC [COUNT]\uAC74",one_result:"[SEARCH_TERM]\uC5D0 \uB300\uD55C \uACB0\uACFC [COUNT]\uAC74",alt_search:"[SEARCH_TERM]\uC5D0 \uB300\uD55C \uACB0\uACFC \uC5C6\uC74C. [DIFFERENT_TERM]\uC5D0 \uB300\uD55C \uACB0\uACFC",search_suggestion:"[SEARCH_TERM]\uC5D0 \uB300\uD55C \uACB0\uACFC \uC5C6\uC74C. \uCD94\uCC9C \uAC80\uC0C9\uC5B4: ",searching:"[SEARCH_TERM] \uAC80\uC0C9 \uC911..."},Gl={thanks_to:ql,comments:Bl,direction:Vl,strings:Wl};var Wt={};y(Wt,{comments:()=>Jl,default:()=>Xl,direction:()=>Yl,strings:()=>Zl,thanks_to:()=>Kl});var Kl="",Jl="",Yl="ltr",Zl={placeholder:"Rapu",clear_search:"Whakakore",load_more:"Whakauta \u0113tahi otinga k\u0113",search_label:"Rapu",filters_label:"T\u0101tari",zero_results:"Otinga kore ki [SEARCH_TERM]",many_results:"[COUNT] otinga ki [SEARCH_TERM]",one_result:"[COUNT] otinga ki [SEARCH_TERM]",alt_search:"Otinga kore ki [SEARCH_TERM]. Otinga k\u0113 ki [DIFFERENT_TERM]",search_suggestion:"Otinga kore ki [SEARCH_TERM]. whakam\u0101tau ki ng\u0101 mea atu:",searching:"Rapu ki [SEARCH_TERM]..."},Xl={thanks_to:Kl,comments:Jl,direction:Yl,strings:Zl};var Gt={};y(Gt,{comments:()=>xl,default:()=>ti,direction:()=>$l,strings:()=>ei,thanks_to:()=>Ql});var Ql="Paul van Brouwershaven",xl="",$l="ltr",ei={placeholder:"Zoeken",clear_search:"Reset",load_more:"Meer resultaten laden",search_label:"Doorzoek deze site",filters_label:"Filters",zero_results:"Geen resultaten voor [SEARCH_TERM]",many_results:"[COUNT] resultaten voor [SEARCH_TERM]",one_result:"[COUNT] resultaat voor [SEARCH_TERM]",alt_search:"Geen resultaten voor [SEARCH_TERM]. In plaats daarvan worden resultaten voor [DIFFERENT_TERM] weergegeven",search_suggestion:"Geen resultaten voor [SEARCH_TERM]. Probeer een van de volgende zoekopdrachten:",searching:"Zoeken naar [SEARCH_TERM]..."},ti={thanks_to:Ql,comments:xl,direction:$l,strings:ei};var Kt={};y(Kt,{comments:()=>si,default:()=>ii,direction:()=>ri,strings:()=>li,thanks_to:()=>ni});var ni="Christopher Wingate",si="",ri="ltr",li={placeholder:"S\xF8k",clear_search:"Fjern",load_more:"Last flere resultater",search_label:"S\xF8k p\xE5 denne siden",filters_label:"Filtre",zero_results:"Ingen resultater for [SEARCH_TERM]",many_results:"[COUNT] resultater for [SEARCH_TERM]",one_result:"[COUNT] resultat for [SEARCH_TERM]",alt_search:"Ingen resultater for [SEARCH_TERM]. Viser resultater for [DIFFERENT_TERM] i stedet",search_suggestion:"Ingen resultater for [SEARCH_TERM]. Pr\xF8v en av disse s\xF8keordene i stedet:",searching:"S\xF8ker etter [SEARCH_TERM]"},ii={thanks_to:ni,comments:si,direction:ri,strings:li};var Jt={};y(Jt,{comments:()=>oi,default:()=>_i,direction:()=>ui,strings:()=>ci,thanks_to:()=>ai});var ai="",oi="",ui="ltr",ci={placeholder:"Szukaj",clear_search:"Wyczy\u015B\u0107",load_more:"Za\u0142aduj wi\u0119cej",search_label:"Przeszukaj t\u0119 stron\u0119",filters_label:"Filtry",zero_results:"Brak wynik\xF3w dla [SEARCH_TERM]",many_results:"[COUNT] wynik\xF3w dla [SEARCH_TERM]",one_result:"[COUNT] wynik dla [SEARCH_TERM]",alt_search:"Brak wynik\xF3w dla [SEARCH_TERM]. Wy\u015Bwietlam wyniki dla [DIFFERENT_TERM]",search_suggestion:"Brak wynik\xF3w dla [SEARCH_TERM]. Pokrewne wyniki wyszukiwania:",searching:"Szukam [SEARCH_TERM]..."},_i={thanks_to:ai,comments:oi,direction:ui,strings:ci};var Yt={};y(Yt,{comments:()=>di,default:()=>pi,direction:()=>hi,strings:()=>mi,thanks_to:()=>fi});var fi="Jonatah",di="",hi="ltr",mi={placeholder:"Pesquisar",clear_search:"Limpar",load_more:"Ver mais resultados",search_label:"Pesquisar",filters_label:"Filtros",zero_results:"Nenhum resultado encontrado para [SEARCH_TERM]",many_results:"[COUNT] resultados encontrados para [SEARCH_TERM]",one_result:"[COUNT] resultado encontrado para [SEARCH_TERM]",alt_search:"Nenhum resultado encontrado para [SEARCH_TERM]. Exibindo resultados para [DIFFERENT_TERM]",search_suggestion:"Nenhum resultado encontrado para [SEARCH_TERM]. Tente uma das seguintes pesquisas:",searching:"Pesquisando por [SEARCH_TERM]..."},pi={thanks_to:fi,comments:di,direction:hi,strings:mi};var Zt={};y(Zt,{comments:()=>Ei,default:()=>Ti,direction:()=>Ri,strings:()=>bi,thanks_to:()=>gi});var gi="Bogdan Mateescu ",Ei="",Ri="ltr",bi={placeholder:"C\u0103utare",clear_search:"\u015Eterge\u0163i",load_more:"\xCEnc\u0103rca\u021Bi mai multe rezultate",search_label:"C\u0103uta\u021Bi \xEEn acest site",filters_label:"Filtre",zero_results:"Niciun rezultat pentru [SEARCH_TERM]",many_results:"[COUNT] rezultate pentru [SEARCH_TERM]",one_result:"[COUNT] rezultat pentru [SEARCH_TERM]",alt_search:"Niciun rezultat pentru [SEARCH_TERM]. Se afi\u0219eaz\u0103 \xEEn schimb rezultatele pentru [DIFFERENT_TERM]",search_suggestion:"Niciun rezultat pentru [SEARCH_TERM]. \xCEncerca\u021Bi una dintre urm\u0103toarele c\u0103ut\u0103ri:",searching:"Se caut\u0103 dup\u0103: [SEARCH_TERM]..."},Ti={thanks_to:gi,comments:Ei,direction:Ri,strings:bi};var Xt={};y(Xt,{comments:()=>ki,default:()=>Mi,direction:()=>Si,strings:()=>yi,thanks_to:()=>Ci});var Ci="Aleksandr Gordeev",ki="",Si="ltr",yi={placeholder:"\u041F\u043E\u0438\u0441\u043A",clear_search:"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C \u043F\u043E\u043B\u0435",load_more:"\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0435\u0449\u0435",search_label:"\u041F\u043E\u0438\u0441\u043A \u043F\u043E \u0441\u0430\u0439\u0442\u0443",filters_label:"\u0424\u0438\u043B\u044C\u0442\u0440\u044B",zero_results:"\u041D\u0438\u0447\u0435\u0433\u043E \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E \u043F\u043E \u0437\u0430\u043F\u0440\u043E\u0441\u0443: [SEARCH_TERM]",many_results:"[COUNT] \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u043E\u0432 \u043F\u043E \u0437\u0430\u043F\u0440\u043E\u0441\u0443: [SEARCH_TERM]",one_result:"[COUNT] \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442 \u043F\u043E \u0437\u0430\u043F\u0440\u043E\u0441\u0443: [SEARCH_TERM]",alt_search:"\u041D\u0438\u0447\u0435\u0433\u043E \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E \u043F\u043E \u0437\u0430\u043F\u0440\u043E\u0441\u0443: [SEARCH_TERM]. \u041F\u043E\u043A\u0430\u0437\u0430\u043D\u044B \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u044B \u043F\u043E \u0437\u0430\u043F\u0440\u043E\u0441\u0443: [DIFFERENT_TERM]",search_suggestion:"\u041D\u0438\u0447\u0435\u0433\u043E \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E \u043F\u043E \u0437\u0430\u043F\u0440\u043E\u0441\u0443: [SEARCH_TERM]. \u041F\u043E\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u043E\u0434\u0438\u043D \u0438\u0437 \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0445 \u0432\u0430\u0440\u0438\u0430\u043D\u0442\u043E\u0432",searching:"\u041F\u043E\u0438\u0441\u043A \u043F\u043E \u0437\u0430\u043F\u0440\u043E\u0441\u0443: [SEARCH_TERM]"},Mi={thanks_to:Ci,comments:ki,direction:Si,strings:yi};var Qt={};y(Qt,{comments:()=>vi,default:()=>Fi,direction:()=>wi,strings:()=>Hi,thanks_to:()=>Ai});var Ai="Andrija Sagicc",vi="",wi="ltr",Hi={placeholder:"\u041F\u0440\u0435\u0442\u0440\u0430\u0433\u0430",clear_search:"\u0411\u0440\u0438\u0441\u0430\u045A\u0435",load_more:"\u041F\u0440\u0438\u043A\u0430\u0437 \u0432\u0438\u0448\u0435 \u0440\u0435\u0437\u0443\u043B\u0442\u0430\u0442\u0430",search_label:"\u041F\u0440\u0435\u0442\u0440\u0430\u0433\u0430 \u0441\u0430\u0458\u0442\u0430",filters_label:"\u0424\u0438\u043B\u0442\u0435\u0440\u0438",zero_results:"\u041D\u0435\u043C\u0430 \u0440\u0435\u0437\u0443\u043B\u0442\u0430\u0442\u0430 \u0437\u0430 [SEARCH_TERM]",many_results:"[COUNT] \u0440\u0435\u0437\u0443\u043B\u0442\u0430\u0442\u0430 \u0437\u0430 [SEARCH_TERM]",one_result:"[COUNT] \u0440\u0435\u0437\u0443\u043B\u0442\u0430\u0442\u0430 \u0437\u0430 [SEARCH_TERM]",alt_search:"\u041D\u0435\u043C\u0430 \u0440\u0435\u0437\u0443\u043B\u0442\u0430\u0442\u0430 \u0437\u0430 [SEARCH_TERM]. \u041F\u0440\u0438\u043A\u0430\u0437 \u0434\u043E\u0434\u0430\u0442\u043D\u0438\u043A \u0440\u0435\u0437\u0443\u043B\u0442\u0430\u0442\u0430 \u0437\u0430 [DIFFERENT_TERM]",search_suggestion:"\u041D\u0435\u043C\u0430 \u0440\u0435\u0437\u0443\u043B\u0442\u0430\u0442\u0430 \u0437\u0430 [SEARCH_TERM]. \u041F\u043E\u043A\u0443\u0448\u0430\u0458\u0442\u0435 \u0441\u0430 \u043D\u0435\u043A\u043E\u043C \u043E\u0434 \u0441\u043B\u0435\u0434\u0435\u045B\u0438\u0445 \u043F\u0440\u0435\u0442\u0440\u0430\u0433\u0430:",searching:"\u041F\u0440\u0435\u0442\u0440\u0430\u0433\u0430 \u0442\u0435\u0440\u043C\u0438\u043D\u0430 [SEARCH_TERM]..."},Fi={thanks_to:Ai,comments:vi,direction:wi,strings:Hi};var xt={};y(xt,{comments:()=>Oi,default:()=>Ui,direction:()=>ji,strings:()=>zi,thanks_to:()=>Ni});var Ni="Montazar Al-Jaber ",Oi="",ji="ltr",zi={placeholder:"S\xF6k",clear_search:"Rensa",load_more:"Visa fler tr\xE4ffar",search_label:"S\xF6k p\xE5 denna sida",filters_label:"Filter",zero_results:"[SEARCH_TERM] gav inga tr\xE4ffar",many_results:"[SEARCH_TERM] gav [COUNT] tr\xE4ffar",one_result:"[SEARCH_TERM] gav [COUNT] tr\xE4ff",alt_search:"[SEARCH_TERM] gav inga tr\xE4ffar. Visar resultat f\xF6r [DIFFERENT_TERM] ist\xE4llet",search_suggestion:"[SEARCH_TERM] gav inga tr\xE4ffar. F\xF6rs\xF6k igen med en av f\xF6ljande s\xF6kord:",searching:"S\xF6ker efter [SEARCH_TERM]..."},Ui={thanks_to:Ni,comments:Oi,direction:ji,strings:zi};var $t={};y($t,{comments:()=>Ii,default:()=>qi,direction:()=>Pi,strings:()=>Li,thanks_to:()=>Di});var Di="Anonymous",Ii="",Pi="ltr",Li={placeholder:"Tafuta",clear_search:"Futa",load_more:"Pakia matokeo zaidi",search_label:"Tafuta tovuti hii",filters_label:"Vichujio",zero_results:"Hakuna matokeo ya [SEARCH_TERM]",many_results:"Matokeo [COUNT] ya [SEARCH_TERM]",one_result:"Tokeo [COUNT] la [SEARCH_TERM]",alt_search:"Hakuna mayokeo ya [SEARCH_TERM]. Badala yake, inaonyesha matokeo ya [DIFFERENT_TERM]",search_suggestion:"Hakuna matokeo ya [SEARCH_TERM]. Jaribu mojawapo ya utafutaji ufuatao:",searching:"Kutafuta [SEARCH_TERM]..."},qi={thanks_to:Di,comments:Ii,direction:Pi,strings:Li};var en={};y(en,{comments:()=>Vi,default:()=>Ki,direction:()=>Wi,strings:()=>Gi,thanks_to:()=>Bi});var Bi="",Vi="",Wi="ltr",Gi={placeholder:"\u0BA4\u0BC7\u0B9F\u0BC1\u0B95",clear_search:"\u0B85\u0BB4\u0BBF\u0B95\u0BCD\u0B95\u0BC1\u0B95",load_more:"\u0BAE\u0BC7\u0BB2\u0BC1\u0BAE\u0BCD \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0BC1\u0B95\u0BB3\u0BC8\u0B95\u0BCD \u0B95\u0BBE\u0B9F\u0BCD\u0B9F\u0BC1\u0B95",search_label:"\u0B87\u0BA8\u0BCD\u0BA4 \u0BA4\u0BB3\u0BA4\u0BCD\u0BA4\u0BBF\u0BB2\u0BCD \u0BA4\u0BC7\u0B9F\u0BC1\u0B95",filters_label:"\u0BB5\u0B9F\u0BBF\u0B95\u0B9F\u0BCD\u0B9F\u0BB2\u0BCD\u0B95\u0BB3\u0BCD",zero_results:"[SEARCH_TERM] \u0B95\u0BCD\u0B95\u0BBE\u0BA9 \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0BC1\u0B95\u0BB3\u0BCD \u0B87\u0BB2\u0BCD\u0BB2\u0BC8",many_results:"[SEARCH_TERM] \u0B95\u0BCD\u0B95\u0BBE\u0BA9 [COUNT] \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0BC1\u0B95\u0BB3\u0BCD",one_result:"[SEARCH_TERM] \u0B95\u0BCD\u0B95\u0BBE\u0BA9 \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0BC1",alt_search:"[SEARCH_TERM] \u0B87\u0BA4\u0BCD\u0BA4\u0BC7\u0B9F\u0BB2\u0BC1\u0B95\u0BCD\u0B95\u0BBE\u0BA9 \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0BC1\u0B95\u0BB3\u0BCD \u0B87\u0BB2\u0BCD\u0BB2\u0BC8, \u0B87\u0BA8\u0BCD\u0BA4 \u0BA4\u0BC7\u0B9F\u0BB2\u0BCD\u0B95\u0BB3\u0BC1\u0B95\u0BCD\u0B95\u0BBE\u0BA9 \u0B92\u0BA4\u0BCD\u0BA4 \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0BC1\u0B95\u0BB3\u0BCD [DIFFERENT_TERM]",search_suggestion:"[SEARCH_TERM] \u0B87\u0BA4\u0BCD \u0BA4\u0BC7\u0B9F\u0BB2\u0BC1\u0B95\u0BCD\u0B95\u0BBE\u0BA9 \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0BC1\u0B95\u0BB3\u0BCD \u0B87\u0BB2\u0BCD\u0BB2\u0BC8.\u0B87\u0BA4\u0BB1\u0BCD\u0B95\u0BC1 \u0BAA\u0BA4\u0BBF\u0BB2\u0BC0\u0B9F\u0BBE\u0BA9 \u0BA4\u0BC7\u0B9F\u0BB2\u0BCD\u0B95\u0BB3\u0BC8 \u0BA4\u0BC7\u0B9F\u0BC1\u0B95:",searching:"[SEARCH_TERM] \u0BA4\u0BC7\u0B9F\u0BAA\u0BCD\u0BAA\u0B9F\u0BC1\u0B95\u0BBF\u0BA9\u0BCD\u0BB1\u0BA4\u0BC1"},Ki={thanks_to:Bi,comments:Vi,direction:Wi,strings:Gi};var tn={};y(tn,{comments:()=>Yi,default:()=>Qi,direction:()=>Zi,strings:()=>Xi,thanks_to:()=>Ji});var Ji="Taylan \xD6zg\xFCr Bildik",Yi="",Zi="ltr",Xi={placeholder:"Ara\u015Ft\u0131r",clear_search:"Temizle",load_more:"Daha fazla sonu\xE7",search_label:"Site genelinde arama",filters_label:"Filtreler",zero_results:"[SEARCH_TERM] i\xE7in sonu\xE7 yok",many_results:"[SEARCH_TERM] i\xE7in [COUNT] sonu\xE7 bulundu",one_result:"[SEARCH_TERM] i\xE7in [COUNT] sonu\xE7 bulundu",alt_search:"[SEARCH_TERM] i\xE7in sonu\xE7 yok. Bunun yerine [DIFFERENT_TERM] i\xE7in sonu\xE7lar g\xF6steriliyor",search_suggestion:"[SEARCH_TERM] i\xE7in sonu\xE7 yok. Alternatif olarak a\u015Fa\u011F\u0131daki kelimelerden birini deneyebilirsiniz:",searching:"[SEARCH_TERM] ara\u015Ft\u0131r\u0131l\u0131yor..."},Qi={thanks_to:Ji,comments:Yi,direction:Zi,strings:Xi};var nn={};y(nn,{comments:()=>$i,default:()=>na,direction:()=>ea,strings:()=>ta,thanks_to:()=>xi});var xi="Vladyslav Lyshenko ",$i="",ea="ltr",ta={placeholder:"\u041F\u043E\u0448\u0443\u043A",clear_search:"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u0438 \u043F\u043E\u043B\u0435",load_more:"\u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438 \u0449\u0435",search_label:"\u041F\u043E\u0448\u0443\u043A \u043F\u043E \u0441\u0430\u0439\u0442\u0443",filters_label:"\u0424\u0456\u043B\u044C\u0442\u0440\u0438",zero_results:"\u041D\u0456\u0447\u043E\u0433\u043E \u043D\u0435 \u0437\u043D\u0430\u0439\u0434\u0435\u043D\u043E \u0437\u0430 \u0437\u0430\u043F\u0438\u0442\u043E\u043C: [SEARCH_TERM]",many_results:"[COUNT] \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u0456\u0432 \u043D\u0430 \u0437\u0430\u043F\u0438\u0442: [SEARCH_TERM]",one_result:"[COUNT] \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442 \u0437\u0430 \u0437\u0430\u043F\u0438\u0442\u043E\u043C: [SEARCH_TERM]",alt_search:"\u041D\u0456\u0447\u043E\u0433\u043E \u043D\u0435 \u0437\u043D\u0430\u0439\u0434\u0435\u043D\u043E \u043D\u0430 \u0437\u0430\u043F\u0438\u0442: [SEARCH_TERM]. \u041F\u043E\u043A\u0430\u0437\u0430\u043D\u043E \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u0438 \u043D\u0430 \u0437\u0430\u043F\u0438\u0442: [DIFFERENT_TERM]",search_suggestion:"\u041D\u0456\u0447\u043E\u0433\u043E \u043D\u0435 \u0437\u043D\u0430\u0439\u0434\u0435\u043D\u043E \u043D\u0430 \u0437\u0430\u043F\u0438\u0442: [SEARCH_TERM]. \u0421\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u043E\u0434\u0438\u043D \u0456\u0437 \u0442\u0430\u043A\u0438\u0445 \u0432\u0430\u0440\u0456\u0430\u043D\u0442\u0456\u0432",searching:"\u041F\u043E\u0448\u0443\u043A \u0437\u0430 \u0437\u0430\u043F\u0438\u0442\u043E\u043C: [SEARCH_TERM]"},na={thanks_to:xi,comments:$i,direction:ea,strings:ta};var sn={};y(sn,{comments:()=>ra,default:()=>aa,direction:()=>la,strings:()=>ia,thanks_to:()=>sa});var sa="Long Nhat Nguyen",ra="",la="ltr",ia={placeholder:"T\xECm ki\u1EBFm",clear_search:"X\xF3a",load_more:"Nhi\u1EC1u k\u1EBFt qu\u1EA3 h\u01A1n",search_label:"T\xECm ki\u1EBFm trong trang n\xE0y",filters_label:"B\u1ED9 l\u1ECDc",zero_results:"Kh\xF4ng t\xECm th\u1EA5y k\u1EBFt qu\u1EA3 cho [SEARCH_TERM]",many_results:"[COUNT] k\u1EBFt qu\u1EA3 cho [SEARCH_TERM]",one_result:"[COUNT] k\u1EBFt qu\u1EA3 cho [SEARCH_TERM]",alt_search:"Kh\xF4ng t\xECm th\u1EA5y k\u1EBFt qu\u1EA3 cho [SEARCH_TERM]. Ki\u1EC3m th\u1ECB k\u1EBFt qu\u1EA3 thay th\u1EBF v\u1EDBi [DIFFERENT_TERM]",search_suggestion:"Kh\xF4ng t\xECm th\u1EA5y k\u1EBFt qu\u1EA3 cho [SEARCH_TERM]. Th\u1EED m\u1ED9t trong c\xE1c t\xECm ki\u1EBFm:",searching:"\u0110ang t\xECm ki\u1EBFm cho [SEARCH_TERM]..."},aa={thanks_to:sa,comments:ra,direction:la,strings:ia};var rn={};y(rn,{comments:()=>ua,default:()=>fa,direction:()=>ca,strings:()=>_a,thanks_to:()=>oa});var oa="Amber Song",ua="",ca="ltr",_a={placeholder:"\u641C\u7D22",clear_search:"\u6E05\u9664",load_more:"\u52A0\u8F7D\u66F4\u591A\u7ED3\u679C",search_label:"\u7AD9\u5185\u641C\u7D22",filters_label:"\u7B5B\u9009",zero_results:"\u672A\u627E\u5230 [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C",many_results:"\u627E\u5230 [COUNT] \u4E2A [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C",one_result:"\u627E\u5230 [COUNT] \u4E2A [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C",alt_search:"\u672A\u627E\u5230 [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C\u3002\u6539\u4E3A\u663E\u793A [DIFFERENT_TERM] \u7684\u76F8\u5173\u7ED3\u679C",search_suggestion:"\u672A\u627E\u5230 [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C\u3002\u8BF7\u5C1D\u8BD5\u4EE5\u4E0B\u641C\u7D22\u3002",searching:"\u6B63\u5728\u641C\u7D22 [SEARCH_TERM]..."},fa={thanks_to:oa,comments:ua,direction:ca,strings:_a};var ln={};y(ln,{comments:()=>ha,default:()=>ga,direction:()=>ma,strings:()=>pa,thanks_to:()=>da});var da="Amber Song",ha="",ma="ltr",pa={placeholder:"\u641C\u7D22",clear_search:"\u6E05\u9664",load_more:"\u52A0\u8F09\u66F4\u591A\u7D50\u679C",search_label:"\u7AD9\u5167\u641C\u7D22",filters_label:"\u7BE9\u9078",zero_results:"\u672A\u627E\u5230 [SEARCH_TERM] \u7684\u76F8\u95DC\u7D50\u679C",many_results:"\u627E\u5230 [COUNT] \u500B [SEARCH_TERM] \u7684\u76F8\u95DC\u7D50\u679C",one_result:"\u627E\u5230 [COUNT] \u500B [SEARCH_TERM] \u7684\u76F8\u95DC\u7D50\u679C",alt_search:"\u672A\u627E\u5230 [SEARCH_TERM] \u7684\u76F8\u95DC\u7D50\u679C\u3002\u6539\u70BA\u986F\u793A [DIFFERENT_TERM] \u7684\u76F8\u95DC\u7D50\u679C",search_suggestion:"\u672A\u627E\u5230 [SEARCH_TERM] \u7684\u76F8\u95DC\u7D50\u679C\u3002\u8ACB\u5617\u8A66\u4EE5\u4E0B\u641C\u7D22\u3002",searching:"\u6B63\u5728\u641C\u7D22 [SEARCH_TERM]..."},ga={thanks_to:da,comments:ha,direction:ma,strings:pa};var an={};y(an,{comments:()=>Ra,default:()=>Ca,direction:()=>ba,strings:()=>Ta,thanks_to:()=>Ea});var Ea="Amber Song",Ra="",ba="ltr",Ta={placeholder:"\u641C\u7D22",clear_search:"\u6E05\u9664",load_more:"\u52A0\u8F7D\u66F4\u591A\u7ED3\u679C",search_label:"\u7AD9\u5185\u641C\u7D22",filters_label:"\u7B5B\u9009",zero_results:"\u672A\u627E\u5230 [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C",many_results:"\u627E\u5230 [COUNT] \u4E2A [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C",one_result:"\u627E\u5230 [COUNT] \u4E2A [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C",alt_search:"\u672A\u627E\u5230 [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C\u3002\u6539\u4E3A\u663E\u793A [DIFFERENT_TERM] \u7684\u76F8\u5173\u7ED3\u679C",search_suggestion:"\u672A\u627E\u5230 [SEARCH_TERM] \u7684\u76F8\u5173\u7ED3\u679C\u3002\u8BF7\u5C1D\u8BD5\u4EE5\u4E0B\u641C\u7D22\u3002",searching:"\u6B63\u5728\u641C\u7D22 [SEARCH_TERM]..."},Ca={thanks_to:Ea,comments:Ra,direction:ba,strings:Ta};var ka=[kt,St,yt,Mt,At,vt,wt,Ht,Ft,Nt,Ot,jt,zt,Ut,Dt,It,Pt,Lt,qt,Bt,Vt,Wt,Gt,Kt,Jt,Yt,Zt,Xt,Qt,xt,$t,en,tn,nn,sn,rn,ln,an],ss=ka,rs=["../../translations/af.json","../../translations/ar.json","../../translations/bn.json","../../translations/ca.json","../../translations/cs.json","../../translations/da.json","../../translations/de.json","../../translations/en.json","../../translations/es.json","../../translations/fa.json","../../translations/fi.json","../../translations/fr.json","../../translations/gl.json","../../translations/he.json","../../translations/hi.json","../../translations/hr.json","../../translations/hu.json","../../translations/id.json","../../translations/it.json","../../translations/ja.json","../../translations/ko.json","../../translations/mi.json","../../translations/nl.json","../../translations/no.json","../../translations/pl.json","../../translations/pt.json","../../translations/ro.json","../../translations/ru.json","../../translations/sr.json","../../translations/sv.json","../../translations/sw.json","../../translations/ta.json","../../translations/tr.json","../../translations/uk.json","../../translations/vi.json","../../translations/zh-cn.json","../../translations/zh-tw.json","../../translations/zh.json"];function ls(n,e,t){let s=n.slice();return s[51]=e[t],s}function is(n){let e,t,s;function r(i){n[37](i)}let l={show_empty_filters:n[5],open_filters:n[6],available_filters:n[18],translate:n[20],automatic_translations:n[19],translations:n[7]};return n[0]!==void 0&&(l.selected_filters=n[0]),e=new ns({props:l}),le.push(()=>Mn(e,"selected_filters",r)),{c(){rt(e.$$.fragment)},m(i,a){me(e,i,a),s=!0},p(i,a){let o={};a[0]&32&&(o.show_empty_filters=i[5]),a[0]&64&&(o.open_filters=i[6]),a[0]&262144&&(o.available_filters=i[18]),a[0]&524288&&(o.automatic_translations=i[19]),a[0]&128&&(o.translations=i[7]),!t&&a[0]&1&&(t=!0,o.selected_filters=i[0],Cn(()=>t=!1)),e.$set(o)},i(i){s||(U(e.$$.fragment,i),s=!0)},o(i){P(e.$$.fragment,i),s=!1},d(i){ue(e,i)}}}function as(n){let e,t,s,r,l=[Ma,ya],i=[];function a(o,f){return o[14]?0:1}return t=a(n,[-1,-1]),s=i[t]=l[t](n),{c(){e=C("div"),s.c(),g(e,"class","pagefind-ui__results-area svelte-e9gkc3")},m(o,f){S(o,e,f),i[t].m(e,null),r=!0},p(o,f){let u=t;t=a(o,f),t===u?i[t].p(o,f):(ae(),P(i[u],1,1,()=>{i[u]=null}),oe(),s=i[t],s?s.p(o,f):(s=i[t]=l[t](o),s.c()),U(s,1),s.m(e,null))},i(o){r||(U(s),r=!0)},o(o){P(s),r=!1},d(o){o&&k(e),i[t].d()}}}function ya(n){let e,t,s,r=[],l=new Map,i,a,o;function f(c,d){return c[13].results.length===0?wa:c[13].results.length===1?va:Aa}let u=f(n,[-1,-1]),m=u(n),p=n[13].results.slice(0,n[17]),h=c=>c[51].id;for(let c=0;cn[17]&&us(n);return{c(){e=C("p"),m.c(),t=A(),s=C("ol");for(let c=0;cc[17]?_?_.p(c,d):(_=us(c),_.c(),_.m(a.parentNode,a)):_&&(_.d(1),_=null)},i(c){if(!o){for(let d=0;d{o[p]=null}),oe(),r=o[s],r?r.p(e,m):(r=o[s]=a[s](e),r.c()),U(r,1),r.m(l.parentNode,l))},i(u){i||(U(r),i=!0)},o(u){P(r),i=!1},d(u){u&&k(t),o[s].d(u),u&&k(l)}}}function us(n){let e,t=n[20]("load_more",n[19],n[7])+"",s,r,l;return{c(){e=C("button"),s=w(t),g(e,"type","button"),g(e,"class","pagefind-ui__button svelte-e9gkc3")},m(i,a){S(i,e,a),b(e,s),r||(l=J(e,"click",n[22]),r=!0)},p(i,a){a[0]&524416&&t!==(t=i[20]("load_more",i[19],i[7])+"")&&N(s,t)},d(i){i&&k(e),r=!1,l()}}}function cs(n){let e,t=n[20]("searching",n[19],n[7]).replace(/\[SEARCH_TERM\]/,n[16])+"",s;return{c(){e=C("p"),s=w(t),g(e,"class","pagefind-ui__message svelte-e9gkc3")},m(r,l){S(r,e,l),b(e,s)},p(r,l){l[0]&589952&&t!==(t=r[20]("searching",r[19],r[7]).replace(/\[SEARCH_TERM\]/,r[16])+"")&&N(s,t)},d(r){r&&k(e)}}}function Na(n){let e,t,s,r,l,i,a=n[20]("clear_search",n[19],n[7])+"",o,f,u,m,p,h,_,c,d=n[12]&&is(n),T=n[15]&&as(n);return{c(){e=C("div"),t=C("form"),s=C("input"),l=A(),i=C("button"),o=w(a),f=A(),u=C("div"),d&&d.c(),m=A(),T&&T.c(),g(s,"class","pagefind-ui__search-input svelte-e9gkc3"),g(s,"type","text"),g(s,"placeholder",r=n[20]("placeholder",n[19],n[7])),g(s,"autocapitalize","none"),g(s,"enterkeyhint","search"),s.autofocus=n[8],g(i,"class","pagefind-ui__search-clear svelte-e9gkc3"),B(i,"pagefind-ui__suppressed",!n[9]),g(u,"class","pagefind-ui__drawer svelte-e9gkc3"),B(u,"pagefind-ui__hidden",!n[15]),g(t,"class","pagefind-ui__form svelte-e9gkc3"),g(t,"role","search"),g(t,"aria-label",p=n[20]("search_label",n[19],n[7])),g(t,"action","javascript:void(0);"),g(e,"class","pagefind-ui svelte-e9gkc3"),B(e,"pagefind-ui--reset",n[1])},m(R,M){S(R,e,M),b(e,t),b(t,s),pt(s,n[9]),n[34](s),b(t,l),b(t,i),b(i,o),n[35](i),b(t,f),b(t,u),d&&d.m(u,null),b(u,m),T&&T.m(u,null),h=!0,n[8]&&s.focus(),_||(c=[J(s,"focus",n[21]),J(s,"keydown",n[32]),J(s,"input",n[33]),J(i,"click",n[36]),J(t,"submit",Oa)],_=!0)},p(R,M){(!h||M[0]&524416&&r!==(r=R[20]("placeholder",R[19],R[7])))&&g(s,"placeholder",r),(!h||M[0]&256)&&(s.autofocus=R[8]),M[0]&512&&s.value!==R[9]&&pt(s,R[9]),(!h||M[0]&524416)&&a!==(a=R[20]("clear_search",R[19],R[7])+"")&&N(o,a),(!h||M[0]&512)&&B(i,"pagefind-ui__suppressed",!R[9]),R[12]?d?(d.p(R,M),M[0]&4096&&U(d,1)):(d=is(R),d.c(),U(d,1),d.m(u,m)):d&&(ae(),P(d,1,1,()=>{d=null}),oe()),R[15]?T?(T.p(R,M),M[0]&32768&&U(T,1)):(T=as(R),T.c(),U(T,1),T.m(u,null)):T&&(ae(),P(T,1,1,()=>{T=null}),oe()),(!h||M[0]&32768)&&B(u,"pagefind-ui__hidden",!R[15]),(!h||M[0]&524416&&p!==(p=R[20]("search_label",R[19],R[7])))&&g(t,"aria-label",p),(!h||M[0]&2)&&B(e,"pagefind-ui--reset",R[1])},i(R){h||(U(d),U(T),h=!0)},o(R){P(d),P(T),h=!1},d(R){R&&k(e),n[34](null),n[35](null),d&&d.d(),T&&T.d(),_=!1,G(c)}}}var Oa=n=>n.preventDefault();function ja(n,e,t){let s={},r=rs.map(E=>E.match(/([^\/]+)\.json$/)[1]);for(let E=0;Ej[E]??F[E]??"";gt(()=>{let E=document?.querySelector?.("html")?.getAttribute?.("lang")||"en",F=lt(E.toLocaleLowerCase());t(19,hn=s[`${F.language}-${F.script}-${F.region}`]||s[`${F.language}-${F.region}`]||s[`${F.language}`]||s.en)}),Et(()=>{H?.destroy?.(),H=null});let mn=async()=>{if(!at&&(t(12,at=!0),!H)){let E;try{E=await import(`${l}pagefind.js`)}catch(j){console.error(j),console.error([`Pagefind couldn't be loaded from ${this.options.bundlePath}pagefind.js`,"You can configure this by passing a bundlePath option to PagefindUI"].join(` +`)),document?.currentScript&&document.currentScript.tagName.toUpperCase()==="SCRIPT"?console.error(`[DEBUG: Loaded from ${document.currentScript.src??"bad script location"}]`):console.error("no known script location")}u||t(24,u=f?12:30);let F={...d||{},excerptLength:u};await E.options(F);for(let j of T){if(!j.bundlePath)throw new Error("mergeIndex requires a bundlePath parameter");let L=j.bundlePath;delete j.bundlePath,await E.mergeIndex(L,j)}H=E,hs()}},hs=async()=>{H&&(dn=await H.filters(),(!ce||!Object.keys(ce).length)&&t(18,ce=dn))},ms=E=>{let F={};return Object.entries(E).filter(([,j])=>j).forEach(([j])=>{let[L,te]=j.split(/:(.*)$/);F[L]=F[L]||[],F[L].push(te)}),F},_e,ps=async(E,F)=>{if(!E){t(15,ut=!1),_e&&clearTimeout(_e);return}let j=ms(F),L=()=>gs(E,j);c>0&&E?(_e&&clearTimeout(_e),_e=setTimeout(L,c),await pn(),H.preload(E,{filters:j})):L(),Es()},pn=async()=>{for(;!H;)mn(),await new Promise(E=>setTimeout(E,50))},gs=async(E,F)=>{t(16,fn=E||""),typeof p=="function"&&(E=p(E)),t(14,ot=!0),t(15,ut=!0),await pn();let j=++_n,L={filters:F};X&&typeof X=="object"&&(L.sort=X);let te=await H.search(E,L);_n===j&&(te.filters&&Object.keys(te.filters)?.length&&t(18,ce=te.filters),t(13,cn=te),t(14,ot=!1),t(17,ct=i))},Es=()=>{let E=W.offsetWidth;E!=fs&&t(10,O.style.paddingRight=`${E+2}px`,O)},Rs=E=>{E?.preventDefault(),t(17,ct+=i)},bs=E=>{E.key==="Escape"&&(t(9,v=""),O.blur()),E.key==="Enter"&&E.preventDefault()};function Ts(){v=this.value,t(9,v),t(23,R)}function Cs(E){le[E?"unshift":"push"](()=>{O=E,t(10,O)})}function ks(E){le[E?"unshift":"push"](()=>{W=E,t(11,W)})}let Ss=()=>{t(9,v=""),O.blur()};function ys(E){V=E,t(0,V)}return n.$$set=E=>{"base_path"in E&&t(25,l=E.base_path),"page_size"in E&&t(26,i=E.page_size),"reset_styles"in E&&t(1,a=E.reset_styles),"show_images"in E&&t(2,o=E.show_images),"show_sub_results"in E&&t(3,f=E.show_sub_results),"excerpt_length"in E&&t(24,u=E.excerpt_length),"process_result"in E&&t(4,m=E.process_result),"process_term"in E&&t(27,p=E.process_term),"show_empty_filters"in E&&t(5,h=E.show_empty_filters),"open_filters"in E&&t(6,_=E.open_filters),"debounce_timeout_ms"in E&&t(28,c=E.debounce_timeout_ms),"pagefind_options"in E&&t(29,d=E.pagefind_options),"merge_index"in E&&t(30,T=E.merge_index),"trigger_search_term"in E&&t(23,R=E.trigger_search_term),"translations"in E&&t(7,M=E.translations),"autofocus"in E&&t(8,D=E.autofocus),"sort"in E&&t(31,X=E.sort),"selected_filters"in E&&t(0,V=E.selected_filters)},n.$$.update=()=>{if(n.$$.dirty[0]&8388608)e:R&&(t(9,v=R),t(23,R=""));if(n.$$.dirty[0]&513)e:ps(v,V)},[V,a,o,f,m,h,_,M,D,v,O,W,at,cn,ot,ut,fn,ct,ce,hn,ds,mn,Rs,R,u,l,i,p,c,d,T,X,bs,Ts,Cs,ks,Ss,ys]}var on=class extends q{constructor(e){super(),Y(this,e,ja,Na,K,{base_path:25,page_size:26,reset_styles:1,show_images:2,show_sub_results:3,excerpt_length:24,process_result:4,process_term:27,show_empty_filters:5,open_filters:6,debounce_timeout_ms:28,pagefind_options:29,merge_index:30,trigger_search_term:23,translations:7,autofocus:8,sort:31,selected_filters:0},null,[-1,-1])}},_s=on;var un;try{document?.currentScript&&document.currentScript.tagName.toUpperCase()==="SCRIPT"&&(un=new URL(document.currentScript.src).pathname.match(/^(.*\/)(?:pagefind-)?ui.js.*$/)[1])}catch{un="/pagefind/"}var it=class{constructor(e){this._pfs=null;let t=e.element??"[data-pagefind-ui]",s=e.bundlePath??un,r=e.pageSize??5,l=e.resetStyles??!0,i=e.showImages??!0,a=e.showSubResults??!1,o=e.excerptLength??0,f=e.processResult??null,u=e.processTerm??null,m=e.showEmptyFilters??!0,p=e.openFilters??[],h=e.debounceTimeoutMs??300,_=e.mergeIndex??[],c=e.translations??[],d=e.autofocus??!1,T=e.sort??null;delete e.element,delete e.bundlePath,delete e.pageSize,delete e.resetStyles,delete e.showImages,delete e.showSubResults,delete e.excerptLength,delete e.processResult,delete e.processTerm,delete e.showEmptyFilters,delete e.openFilters,delete e.debounceTimeoutMs,delete e.mergeIndex,delete e.translations,delete e.autofocus,delete e.sort;let R=t instanceof HTMLElement?t:document.querySelector(t);R?this._pfs=new _s({target:R,props:{base_path:s,page_size:r,reset_styles:l,show_images:i,show_sub_results:a,excerpt_length:o,process_result:f,process_term:u,show_empty_filters:m,open_filters:p,debounce_timeout_ms:h,merge_index:_,translations:c,autofocus:d,sort:T,pagefind_options:e}}):console.error(`Pagefind UI couldn't find the selector ${t}`)}triggerSearch(e){this._pfs.$$set({trigger_search_term:e})}triggerFilters(e){let t={};for(let[s,r]of Object.entries(e))if(Array.isArray(r))for(let l of r)t[`${s}:${l}`]=!0;else t[`${s}:${r}`]=!0;this._pfs.$$set({selected_filters:t})}destroy(){this._pfs.$destroy()}};window.PagefindUI=it;})(); diff --git a/public/pagefind/pagefind.de_c71b5e8999.pf_meta b/public/pagefind/pagefind.de_c71b5e8999.pf_meta new file mode 100644 index 0000000..1f3381d Binary files /dev/null and b/public/pagefind/pagefind.de_c71b5e8999.pf_meta differ diff --git a/public/pagefind/pagefind.en_03dcb72614.pf_meta b/public/pagefind/pagefind.en_03dcb72614.pf_meta new file mode 100644 index 0000000..d14a8f3 Binary files /dev/null and b/public/pagefind/pagefind.en_03dcb72614.pf_meta differ diff --git a/public/pagefind/pagefind.es_9ff6a23b4c.pf_meta b/public/pagefind/pagefind.es_9ff6a23b4c.pf_meta new file mode 100644 index 0000000..4b4636c Binary files /dev/null and b/public/pagefind/pagefind.es_9ff6a23b4c.pf_meta differ diff --git a/public/pagefind/pagefind.js b/public/pagefind/pagefind.js new file mode 100644 index 0000000..035a438 --- /dev/null +++ b/public/pagefind/pagefind.js @@ -0,0 +1,9 @@ +const pagefind_version="1.3.0";let wasm_bindgen;(function(){const __exports={};let script_src;if(typeof document!=='undefined'&&document.currentScript!==null){script_src=new URL("UNHANDLED",location.href).toString()}let wasm=undefined;let cachedUint8Memory0=null;function getUint8Memory0(){if(cachedUint8Memory0===null||cachedUint8Memory0.byteLength===0){cachedUint8Memory0=new Uint8Array(wasm.memory.buffer)}return cachedUint8Memory0}let WASM_VECTOR_LEN=0;function passArray8ToWasm0(arg,malloc){const ptr=malloc(arg.length*1,1)>>>0;getUint8Memory0().set(arg,ptr/1);WASM_VECTOR_LEN=arg.length;return ptr}__exports.init_pagefind=function(metadata_bytes){const ptr0=passArray8ToWasm0(metadata_bytes,wasm.__wbindgen_malloc);const len0=WASM_VECTOR_LEN;const ret=wasm.init_pagefind(ptr0,len0);return ret>>>0};const cachedTextEncoder=(typeof TextEncoder!=='undefined'?new TextEncoder('utf-8'):{encode:()=>{throw Error('TextEncoder not available')}});const encodeString=(typeof cachedTextEncoder.encodeInto==='function'?function(arg,view){return cachedTextEncoder.encodeInto(arg,view)}:function(arg,view){const buf=cachedTextEncoder.encode(arg);view.set(buf);return{read:arg.length,written:buf.length}});function passStringToWasm0(arg,malloc,realloc){if(realloc===undefined){const buf=cachedTextEncoder.encode(arg);const ptr=malloc(buf.length,1)>>>0;getUint8Memory0().subarray(ptr,ptr+buf.length).set(buf);WASM_VECTOR_LEN=buf.length;return ptr}let len=arg.length;let ptr=malloc(len,1)>>>0;const mem=getUint8Memory0();let offset=0;for(;offset0x7F)break;mem[ptr+offset]=code}if(offset!==len){if(offset!==0){arg=arg.slice(offset)}ptr=realloc(ptr,len,len=offset+arg.length*3,1)>>>0;const view=getUint8Memory0().subarray(ptr+offset,ptr+len);const ret=encodeString(arg,view);offset+=ret.written;ptr=realloc(ptr,len,offset,1)>>>0}WASM_VECTOR_LEN=offset;return ptr}__exports.set_ranking_weights=function(ptr,weights){const ptr0=passStringToWasm0(weights,wasm.__wbindgen_malloc,wasm.__wbindgen_realloc);const len0=WASM_VECTOR_LEN;const ret=wasm.set_ranking_weights(ptr,ptr0,len0);return ret>>>0};__exports.load_index_chunk=function(ptr,chunk_bytes){const ptr0=passArray8ToWasm0(chunk_bytes,wasm.__wbindgen_malloc);const len0=WASM_VECTOR_LEN;const ret=wasm.load_index_chunk(ptr,ptr0,len0);return ret>>>0};__exports.load_filter_chunk=function(ptr,chunk_bytes){const ptr0=passArray8ToWasm0(chunk_bytes,wasm.__wbindgen_malloc);const len0=WASM_VECTOR_LEN;const ret=wasm.load_filter_chunk(ptr,ptr0,len0);return ret>>>0};__exports.add_synthetic_filter=function(ptr,filter){const ptr0=passStringToWasm0(filter,wasm.__wbindgen_malloc,wasm.__wbindgen_realloc);const len0=WASM_VECTOR_LEN;const ret=wasm.add_synthetic_filter(ptr,ptr0,len0);return ret>>>0};let cachedInt32Memory0=null;function getInt32Memory0(){if(cachedInt32Memory0===null||cachedInt32Memory0.byteLength===0){cachedInt32Memory0=new Int32Array(wasm.memory.buffer)}return cachedInt32Memory0}const cachedTextDecoder=(typeof TextDecoder!=='undefined'?new TextDecoder('utf-8',{ignoreBOM:true,fatal:true}):{decode:()=>{throw Error('TextDecoder not available')}});if(typeof TextDecoder!=='undefined'){cachedTextDecoder.decode()};function getStringFromWasm0(ptr,len){ptr=ptr>>>0;return cachedTextDecoder.decode(getUint8Memory0().subarray(ptr,ptr+len))}__exports.request_indexes=function(ptr,query){let deferred2_0;let deferred2_1;try{const retptr=wasm.__wbindgen_add_to_stack_pointer(-16);const ptr0=passStringToWasm0(query,wasm.__wbindgen_malloc,wasm.__wbindgen_realloc);const len0=WASM_VECTOR_LEN;wasm.request_indexes(retptr,ptr,ptr0,len0);var r0=getInt32Memory0()[retptr/4+0];var r1=getInt32Memory0()[retptr/4+1];deferred2_0=r0;deferred2_1=r1;return getStringFromWasm0(r0,r1)}finally{wasm.__wbindgen_add_to_stack_pointer(16);wasm.__wbindgen_free(deferred2_0,deferred2_1,1)}};__exports.request_filter_indexes=function(ptr,filters){let deferred2_0;let deferred2_1;try{const retptr=wasm.__wbindgen_add_to_stack_pointer(-16);const ptr0=passStringToWasm0(filters,wasm.__wbindgen_malloc,wasm.__wbindgen_realloc);const len0=WASM_VECTOR_LEN;wasm.request_filter_indexes(retptr,ptr,ptr0,len0);var r0=getInt32Memory0()[retptr/4+0];var r1=getInt32Memory0()[retptr/4+1];deferred2_0=r0;deferred2_1=r1;return getStringFromWasm0(r0,r1)}finally{wasm.__wbindgen_add_to_stack_pointer(16);wasm.__wbindgen_free(deferred2_0,deferred2_1,1)}};__exports.request_all_filter_indexes=function(ptr){let deferred1_0;let deferred1_1;try{const retptr=wasm.__wbindgen_add_to_stack_pointer(-16);wasm.request_all_filter_indexes(retptr,ptr);var r0=getInt32Memory0()[retptr/4+0];var r1=getInt32Memory0()[retptr/4+1];deferred1_0=r0;deferred1_1=r1;return getStringFromWasm0(r0,r1)}finally{wasm.__wbindgen_add_to_stack_pointer(16);wasm.__wbindgen_free(deferred1_0,deferred1_1,1)}};__exports.filters=function(ptr){let deferred1_0;let deferred1_1;try{const retptr=wasm.__wbindgen_add_to_stack_pointer(-16);wasm.filters(retptr,ptr);var r0=getInt32Memory0()[retptr/4+0];var r1=getInt32Memory0()[retptr/4+1];deferred1_0=r0;deferred1_1=r1;return getStringFromWasm0(r0,r1)}finally{wasm.__wbindgen_add_to_stack_pointer(16);wasm.__wbindgen_free(deferred1_0,deferred1_1,1)}};__exports.search=function(ptr,query,filter,sort,exact){let deferred4_0;let deferred4_1;try{const retptr=wasm.__wbindgen_add_to_stack_pointer(-16);const ptr0=passStringToWasm0(query,wasm.__wbindgen_malloc,wasm.__wbindgen_realloc);const len0=WASM_VECTOR_LEN;const ptr1=passStringToWasm0(filter,wasm.__wbindgen_malloc,wasm.__wbindgen_realloc);const len1=WASM_VECTOR_LEN;const ptr2=passStringToWasm0(sort,wasm.__wbindgen_malloc,wasm.__wbindgen_realloc);const len2=WASM_VECTOR_LEN;wasm.search(retptr,ptr,ptr0,len0,ptr1,len1,ptr2,len2,exact);var r0=getInt32Memory0()[retptr/4+0];var r1=getInt32Memory0()[retptr/4+1];deferred4_0=r0;deferred4_1=r1;return getStringFromWasm0(r0,r1)}finally{wasm.__wbindgen_add_to_stack_pointer(16);wasm.__wbindgen_free(deferred4_0,deferred4_1,1)}};async function __wbg_load(module,imports){if(typeof Response==='function'&&module instanceof Response){if(typeof WebAssembly.instantiateStreaming==='function'){try{return await WebAssembly.instantiateStreaming(module,imports)}catch(e){if(module.headers.get('Content-Type')!='application/wasm'){console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",e)}else{throw e}}}const bytes=await module.arrayBuffer();return await WebAssembly.instantiate(bytes,imports)}else{const instance=await WebAssembly.instantiate(module,imports);if(instance instanceof WebAssembly.Instance){return{instance,module}}else{return instance}}}function __wbg_get_imports(){const imports={};imports.wbg={};return imports}function __wbg_init_memory(imports,maybe_memory){}function __wbg_finalize_init(instance,module){wasm=instance.exports;__wbg_init.__wbindgen_wasm_module=module;cachedInt32Memory0=null;cachedUint8Memory0=null;return wasm}function initSync(module){if(wasm!==undefined)return wasm;const imports=__wbg_get_imports();__wbg_init_memory(imports);if(!(module instanceof WebAssembly.Module)){module=new WebAssembly.Module(module)}const instance=new WebAssembly.Instance(module,imports);return __wbg_finalize_init(instance,module)}async function __wbg_init(input){if(wasm!==undefined)return wasm;if(typeof input==='undefined'&&typeof script_src!=='undefined'){input=script_src.replace(/\.js$/,'_bg.wasm')}const imports=__wbg_get_imports();if(typeof input==='string'||(typeof Request==='function'&&input instanceof Request)||(typeof URL==='function'&&input instanceof URL)){input=fetch(input)}__wbg_init_memory(imports);const{instance,module}=await __wbg_load(await input,imports);return __wbg_finalize_init(instance,module)}wasm_bindgen=Object.assign(__wbg_init,{initSync},__exports)})();var u8=Uint8Array;var u16=Uint16Array;var u32=Uint32Array;var fleb=new u8([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]);var fdeb=new u8([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]);var clim=new u8([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);var freb=function(eb,start){var b=new u16(31);for(var i2=0;i2<31;++i2){b[i2]=start+=1<>>1|(i&21845)<<1;x=(x&52428)>>>2|(x&13107)<<2;x=(x&61680)>>>4|(x&3855)<<4;rev[i]=((x&65280)>>>8|(x&255)<<8)>>>1}var x;var i;var hMap=function(cd,mb,r){var s=cd.length;var i2=0;var l=new u16(mb);for(;i2>>rvb]=sv}}}}else{co=new u16(s);for(i2=0;i2>>15-cd[i2]}}}return co};var flt=new u8(288);for(i=0;i<144;++i)flt[i]=8;var i;for(i=144;i<256;++i)flt[i]=9;var i;for(i=256;i<280;++i)flt[i]=7;var i;for(i=280;i<288;++i)flt[i]=8;var i;var fdt=new u8(32);for(i=0;i<32;++i)fdt[i]=5;var i;var flrm=hMap(flt,9,1);var fdrm=hMap(fdt,5,1);var max=function(a){var m=a[0];for(var i2=1;i2m)m=a[i2]}return m};var bits=function(d,p,m){var o=p/8|0;return(d[o]|d[o+1]<<8)>>(p&7)&m};var bits16=function(d,p){var o=p/8|0;return(d[o]|d[o+1]<<8|d[o+2]<<16)>>(p&7)};var shft=function(p){return(p+7)/8|0};var slc=function(v,s,e){if(s==null||s<0)s=0;if(e==null||e>v.length)e=v.length;var n=new(v.BYTES_PER_ELEMENT==2?u16:v.BYTES_PER_ELEMENT==4?u32:u8)(e-s);n.set(v.subarray(s,e));return n};var ec=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"];var err=function(ind,msg,nt){var e=new Error(msg||ec[ind]);e.code=ind;if(Error.captureStackTrace)Error.captureStackTrace(e,err);if(!nt)throw e;return e};var inflt=function(dat,buf,st){var sl=dat.length;if(!sl||st&&st.f&&!st.l)return buf||new u8(0);var noBuf=!buf||st;var noSt=!st||st.i;if(!st)st={};if(!buf)buf=new u8(sl*3);var cbuf=function(l2){var bl=buf.length;if(l2>bl){var nbuf=new u8(Math.max(bl*2,l2));nbuf.set(buf);buf=nbuf}};var final=st.f||0,pos=st.p||0,bt=st.b||0,lm=st.l,dm=st.d,lbt=st.m,dbt=st.n;var tbts=sl*8;do{if(!lm){final=bits(dat,pos,1);var type=bits(dat,pos+1,3);pos+=3;if(!type){var s=shft(pos)+4,l=dat[s-4]|dat[s-3]<<8,t=s+l;if(t>sl){if(noSt)err(0);break}if(noBuf)cbuf(bt+l);buf.set(dat.subarray(s,t),bt);st.b=bt+=l,st.p=pos=t*8,st.f=final;continue}else if(type==1)lm=flrm,dm=fdrm,lbt=9,dbt=5;else if(type==2){var hLit=bits(dat,pos,31)+257,hcLen=bits(dat,pos+10,15)+4;var tl=hLit+bits(dat,pos+5,31)+1;pos+=14;var ldt=new u8(tl);var clt=new u8(19);for(var i2=0;i2>>4;if(s<16){ldt[i2++]=s}else{var c=0,n=0;if(s==16)n=3+bits(dat,pos,3),pos+=2,c=ldt[i2-1];else if(s==17)n=3+bits(dat,pos,7),pos+=3;else if(s==18)n=11+bits(dat,pos,127),pos+=7;while(n--)ldt[i2++]=c}}var lt=ldt.subarray(0,hLit),dt=ldt.subarray(hLit);lbt=max(lt);dbt=max(dt);lm=hMap(lt,lbt,1);dm=hMap(dt,dbt,1)}else err(1);if(pos>tbts){if(noSt)err(0);break}}if(noBuf)cbuf(bt+131072);var lms=(1<>>4;pos+=c&15;if(pos>tbts){if(noSt)err(0);break}if(!c)err(2);if(sym<256)buf[bt++]=sym;else if(sym==256){lpos=pos,lm=null;break}else{var add=sym-254;if(sym>264){var i2=sym-257,b=fleb[i2];add=bits(dat,pos,(1<>>4;if(!d)err(3);pos+=d&15;var dt=fd[dsym];if(dsym>3){var b=fdeb[dsym];dt+=bits16(dat,pos)&(1<tbts){if(noSt)err(0);break}if(noBuf)cbuf(bt+131072);var end=bt+add;for(;bt>3&1)+(flg>>4&1);zs>0;zs-=!d[st++]);return st+(flg&2)};var gzl=function(d){var l=d.length;return(d[l-4]|d[l-3]<<8|d[l-2]<<16|d[l-1]<<24)>>>0};function gunzipSync(data,out){return inflt(data.subarray(gzs(data),-8),out||new u8(gzl(data)))}var td=typeof TextDecoder!="undefined"&&new TextDecoder();var tds=0;try{td.decode(et,{stream:true});tds=1}catch(e){}var gz_default=gunzipSync;var calculate_excerpt_region=(word_positions,excerpt_length)=>{if(word_positions.length===0){return 0}let words=[];for(const word of word_positions){words[word.location]=words[word.location]||0;words[word.location]+=word.balanced_score}if(words.length<=excerpt_length){return 0}let densest=words.slice(0,excerpt_length).reduce((partialSum,a)=>partialSum+a,0);let working_sum=densest;let densest_at=[0];for(let i2=0;i2densest){densest=working_sum;densest_at=[i2]}else if(working_sum===densest&&densest_at[densest_at.length-1]===i2-1){densest_at.push(i2)}}let midpoint=densest_at[Math.floor(densest_at.length/2)];return midpoint};var build_excerpt=(content,start,length,locations,not_before,not_from)=>{let is_zws_delimited=content.includes("\u200B");let fragment_words=[];if(is_zws_delimited){fragment_words=content.split("\u200B")}else{fragment_words=content.split(/[\r\n\s]+/g)}for(let word of locations){if(fragment_words[word]?.startsWith(``)){continue}fragment_words[word]=`${fragment_words[word]}`}let endcap=not_from??fragment_words.length;let startcap=not_before??0;if(endcap-startcapendcap){start=endcap-length}if(start{const anchors=fragment.anchors.filter((a)=>/h\d/i.test(a.element)&&a.text?.length&&/\S/.test(a.text)).sort((a,b)=>a.location-b.location);const results=[];let current_anchor_position=0;let current_anchor={title:fragment.meta["title"],url:fragment.url,weighted_locations:[],locations:[],excerpt:""};const add_result=(end_range)=>{if(current_anchor.locations.length){const relative_weighted_locations=current_anchor.weighted_locations.map((l)=>{return{weight:l.weight,balanced_score:l.balanced_score,location:l.location-current_anchor_position}});const excerpt_start=calculate_excerpt_region(relative_weighted_locations,desired_excerpt_length)+current_anchor_position;const excerpt_length=end_range?Math.min(end_range-excerpt_start,desired_excerpt_length):desired_excerpt_length;current_anchor.excerpt=build_excerpt(fragment.raw_content??"",excerpt_start,excerpt_length,current_anchor.locations,current_anchor_position,end_range);results.push(current_anchor)}};for(let word of fragment.weighted_locations){if(!anchors.length||word.location=anchors[0].location){next_anchor=anchors.shift()}let anchored_url=fragment.url;try{const url_is_fq=/^((https?:)?\/\/)/.test(anchored_url);if(url_is_fq){let fq_url=new URL(anchored_url);fq_url.hash=next_anchor.id;anchored_url=fq_url.toString()}else{if(!/^\//.test(anchored_url)){anchored_url=`/${anchored_url}`}let fq_url=new URL(`https://example.com${anchored_url}`);fq_url.hash=next_anchor.id;anchored_url=fq_url.toString().replace(/^https:\/\/example.com/,"")}}catch(e){console.error(`Pagefind: Couldn't process ${anchored_url} for a search result`)}current_anchor_position=next_anchor.location;current_anchor={title:next_anchor.text,url:anchored_url,anchor:next_anchor,weighted_locations:[word],locations:[word.location],excerpt:""}}}add_result(anchors[0]?.location);return results};var asyncSleep=async(ms=100)=>{return new Promise((r)=>setTimeout(r,ms))};var PagefindInstance=class{constructor(opts={}){this.version=pagefind_version;this.backend=wasm_bindgen;this.decoder=new TextDecoder("utf-8");this.wasm=null;this.basePath=opts.basePath||"/pagefind/";this.primary=opts.primary||false;if(this.primary&&!opts.basePath){this.initPrimary()}if(/[^\/]$/.test(this.basePath)){this.basePath=`${this.basePath}/`}if(window?.location?.origin&&this.basePath.startsWith(window.location.origin)){this.basePath=this.basePath.replace(window.location.origin,"")}this.baseUrl=opts.baseUrl||this.defaultBaseUrl();if(!/^(\/|https?:\/\/)/.test(this.baseUrl)){this.baseUrl=`/${this.baseUrl}`}this.indexWeight=opts.indexWeight??1;this.excerptLength=opts.excerptLength??30;this.mergeFilter=opts.mergeFilter??{};this.ranking=opts.ranking;this.highlightParam=opts.highlightParam??null;this.loaded_chunks={};this.loaded_filters={};this.loaded_fragments={};this.raw_ptr=null;this.searchMeta=null;this.languages=null}initPrimary(){let derivedBasePath=import.meta.url.match(/^(.*\/)pagefind.js.*$/)?.[1];if(derivedBasePath){this.basePath=derivedBasePath}else{console.warn(["Pagefind couldn't determine the base of the bundle from the import path. Falling back to the default.","Set a basePath option when initialising Pagefind to ignore this message."].join("\n"))}}defaultBaseUrl(){let default_base=this.basePath.match(/^(.*\/)_?pagefind/)?.[1];return default_base||"/"}async options(options2){const opts=["basePath","baseUrl","indexWeight","excerptLength","mergeFilter","highlightParam","ranking"];for(const[k,v]of Object.entries(options2)){if(k==="mergeFilter"){let filters2=this.stringifyFilters(v);let ptr=await this.getPtr();this.raw_ptr=this.backend.add_synthetic_filter(ptr,filters2)}else if(k==="ranking"){await this.set_ranking(options2.ranking)}else if(opts.includes(k)){if(k==="basePath"&&typeof v==="string")this.basePath=v;if(k==="baseUrl"&&typeof v==="string")this.baseUrl=v;if(k==="indexWeight"&&typeof v==="number")this.indexWeight=v;if(k==="excerptLength"&&typeof v==="number")this.excerptLength=v;if(k==="mergeFilter"&&typeof v==="object")this.mergeFilter=v;if(k==="highlightParam"&&typeof v==="string")this.highlightParam=v}else{console.warn(`Unknown Pagefind option ${k}. Allowed options: [${opts.join(", ")}]`)}}}decompress(data,file="unknown file"){if(this.decoder.decode(data.slice(0,12))==="pagefind_dcd"){return data.slice(12)}data=gz_default(data);if(this.decoder.decode(data.slice(0,12))!=="pagefind_dcd"){console.error(`Decompressing ${file} appears to have failed: Missing signature`);return data}return data.slice(12)}async set_ranking(ranking){if(!ranking)return;let rankingWeights={term_similarity:ranking.termSimilarity??null,page_length:ranking.pageLength??null,term_saturation:ranking.termSaturation??null,term_frequency:ranking.termFrequency??null};let ptr=await this.getPtr();this.raw_ptr=this.backend.set_ranking_weights(ptr,JSON.stringify(rankingWeights))}async init(language,opts){await this.loadEntry();let index=this.findIndex(language);let lang_wasm=index.wasm?index.wasm:"unknown";let resources=[this.loadMeta(index.hash)];if(opts.load_wasm===true){resources.push(this.loadWasm(lang_wasm))}await Promise.all(resources);this.raw_ptr=this.backend.init_pagefind(new Uint8Array(this.searchMeta));if(Object.keys(this.mergeFilter)?.length){let filters2=this.stringifyFilters(this.mergeFilter);let ptr=await this.getPtr();this.raw_ptr=this.backend.add_synthetic_filter(ptr,filters2)}if(this.ranking){await this.set_ranking(this.ranking)}}async loadEntry(){try{let entry_response=await fetch(`${this.basePath}pagefind-entry.json?ts=${Date.now()}`);let entry_json=await entry_response.json();this.languages=entry_json.languages;if(entry_json.version!==this.version){if(this.primary){console.warn(["Pagefind JS version doesn't match the version in your search index.",`Pagefind JS: ${this.version}. Pagefind index: ${entry_json.version}`,"If you upgraded Pagefind recently, you likely have a cached pagefind.js file.","If you encounter any search errors, try clearing your cache."].join("\n"))}else{console.warn(["Merging a Pagefind index from a different version than the main Pagefind instance.",`Main Pagefind JS: ${this.version}. Merged index (${this.basePath}): ${entry_json.version}`,"If you encounter any search errors, make sure that both sites are running the same version of Pagefind."].join("\n"))}}}catch(e){console.error(`Failed to load Pagefind metadata: +${e?.toString()}`);throw new Error("Failed to load Pagefind metadata")}}findIndex(language){if(this.languages){let index=this.languages[language];if(index)return index;index=this.languages[language.split("-")[0]];if(index)return index;let topLang=Object.values(this.languages).sort((a,b)=>b.page_count-a.page_count);if(topLang[0])return topLang[0]}throw new Error("Pagefind Error: No language indexes found.")}async loadMeta(index){try{let compressed_resp=await fetch(`${this.basePath}pagefind.${index}.pf_meta`);let compressed_meta=await compressed_resp.arrayBuffer();this.searchMeta=this.decompress(new Uint8Array(compressed_meta),"Pagefind metadata")}catch(e){console.error(`Failed to load the meta index: +${e?.toString()}`)}}async loadWasm(language){try{const wasm_url=`${this.basePath}wasm.${language}.pagefind`;let compressed_resp=await fetch(wasm_url);let compressed_wasm=await compressed_resp.arrayBuffer();const final_wasm=this.decompress(new Uint8Array(compressed_wasm),"Pagefind WebAssembly");if(!final_wasm){throw new Error("No WASM after decompression")}this.wasm=await this.backend(final_wasm)}catch(e){console.error(`Failed to load the Pagefind WASM: +${e?.toString()}`);throw new Error(`Failed to load the Pagefind WASM: +${e?.toString()}`)}}async _loadGenericChunk(url,method){try{let compressed_resp=await fetch(url);let compressed_chunk=await compressed_resp.arrayBuffer();let chunk=this.decompress(new Uint8Array(compressed_chunk),url);let ptr=await this.getPtr();this.raw_ptr=this.backend[method](ptr,chunk)}catch(e){console.error(`Failed to load the index chunk ${url}: +${e?.toString()}`)}}async loadChunk(hash){if(!this.loaded_chunks[hash]){const url=`${this.basePath}index/${hash}.pf_index`;this.loaded_chunks[hash]=this._loadGenericChunk(url,"load_index_chunk")}return await this.loaded_chunks[hash]}async loadFilterChunk(hash){if(!this.loaded_filters[hash]){const url=`${this.basePath}filter/${hash}.pf_filter`;this.loaded_filters[hash]=this._loadGenericChunk(url,"load_filter_chunk")}return await this.loaded_filters[hash]}async _loadFragment(hash){let compressed_resp=await fetch(`${this.basePath}fragment/${hash}.pf_fragment`);let compressed_fragment=await compressed_resp.arrayBuffer();let fragment=this.decompress(new Uint8Array(compressed_fragment),`Fragment ${hash}`);return JSON.parse(new TextDecoder().decode(fragment))}async loadFragment(hash,weighted_locations=[],search_term){if(!this.loaded_fragments[hash]){this.loaded_fragments[hash]=this._loadFragment(hash)}let fragment=await this.loaded_fragments[hash];fragment.weighted_locations=weighted_locations;fragment.locations=weighted_locations.map((l)=>l.location);if(!fragment.raw_content){fragment.raw_content=fragment.content.replace(//g,">");fragment.content=fragment.content.replace(/\u200B/g,"")}if(!fragment.raw_url){fragment.raw_url=fragment.url}fragment.url=this.processedUrl(fragment.raw_url,search_term);const excerpt_start=calculate_excerpt_region(weighted_locations,this.excerptLength);fragment.excerpt=build_excerpt(fragment.raw_content,excerpt_start,this.excerptLength,fragment.locations);fragment.sub_results=calculate_sub_results(fragment,this.excerptLength);return fragment}fullUrl(raw){if(/^(https?:)?\/\//.test(raw)){return raw}return`${this.baseUrl}/${raw}`.replace(/\/+/g,"/").replace(/^(https?:\/)/,"$1/")}processedUrl(url,search_term){const normalized=this.fullUrl(url);if(this.highlightParam===null){return normalized}let individual_terms=search_term.split(/\s+/);try{let processed=new URL(normalized);for(const term of individual_terms){processed.searchParams.append(this.highlightParam,term)}return processed.toString()}catch(e){try{let processed=new URL(`https://example.com${normalized}`);for(const term of individual_terms){processed.searchParams.append(this.highlightParam,term)}return processed.toString().replace(/^https:\/\/example\.com/,"")}catch(e2){return normalized}}}async getPtr(){while(this.raw_ptr===null){await asyncSleep(50)}if(!this.raw_ptr){console.error("Pagefind: WASM Error (No pointer)");throw new Error("Pagefind: WASM Error (No pointer)")}return this.raw_ptr}parseFilters(str){let output={};if(!str)return output;for(const block of str.split("__PF_FILTER_DELIM__")){let[filter,values]=block.split(/:(.*)$/);output[filter]={};if(values){for(const valueBlock of values.split("__PF_VALUE_DELIM__")){if(valueBlock){let extract=valueBlock.match(/^(.*):(\d+)$/);if(extract){let[,value,count]=extract;output[filter][value]=parseInt(count)??count}}}}}return output}stringifyFilters(obj={}){return JSON.stringify(obj)}stringifySorts(obj={}){let sorts=Object.entries(obj);for(let[sort,direction]of sorts){if(sorts.length>1){console.warn(`Pagefind was provided multiple sort options in this search, but can only operate on one. Using the ${sort} sort.`)}if(direction!=="asc"&&direction!=="desc"){console.warn(`Pagefind was provided a sort with unknown direction ${direction}. Supported: [asc, desc]`)}return`${sort}:${direction}`}return``}async filters(){let ptr=await this.getPtr();let filters2=this.backend.request_all_filter_indexes(ptr);let filter_chunks=filters2.split(" ").filter((v)=>v).map((chunk)=>this.loadFilterChunk(chunk));await Promise.all([...filter_chunks]);ptr=await this.getPtr();let results=this.backend.filters(ptr);return this.parseFilters(results)}async preload(term,options2={}){await this.search(term,{...options2,preload:true})}async search(term,options2={}){options2={verbose:false,filters:{},sort:{},...options2};const log=(str)=>{if(options2.verbose)console.log(str)};log(`Starting search on ${this.basePath}`);let start=Date.now();let ptr=await this.getPtr();let filter_only=term===null;term=term??"";let exact_search=/^\s*".+"\s*$/.test(term);if(exact_search){log(`Running an exact search`)}term=term.toLowerCase().trim().replace(/[\.`~!@#\$%\^&\*\(\)\{\}\[\]\\\|:;'",<>\/\?\-]/g,"").replace(/\s{2,}/g," ").trim();log(`Normalized search term to ${term}`);if(!term?.length&&!filter_only){return{results:[],unfilteredResultCount:0,filters:{},totalFilters:{},timings:{preload:Date.now()-start,search:Date.now()-start,total:Date.now()-start}}}let sort_list=this.stringifySorts(options2.sort);log(`Stringified sort to ${sort_list}`);const filter_list=this.stringifyFilters(options2.filters);log(`Stringified filters to ${filter_list}`);let index_resp=this.backend.request_indexes(ptr,term);let filter_resp=this.backend.request_filter_indexes(ptr,filter_list);let chunks=index_resp.split(" ").filter((v)=>v).map((chunk)=>this.loadChunk(chunk));let filter_chunks=filter_resp.split(" ").filter((v)=>v).map((chunk)=>this.loadFilterChunk(chunk));await Promise.all([...chunks,...filter_chunks]);log(`Loaded necessary chunks to run search`);if(options2.preload){log(`Preload \u2014 bailing out of search operation now.`);return null}ptr=await this.getPtr();let searchStart=Date.now();let result=this.backend.search(ptr,term,filter_list,sort_list,exact_search);log(`Got the raw search result: ${result}`);let[unfilteredResultCount,all_results,filters2,totalFilters]=result.split(/:([^:]*):(.*)__PF_UNFILTERED_DELIM__(.*)$/);let filterObj=this.parseFilters(filters2);let totalFilterObj=this.parseFilters(totalFilters);log(`Remaining filters: ${JSON.stringify(result)}`);let results=all_results.length?all_results.split(" "):[];let resultsInterface=results.map((result2)=>{let[hash,score,all_locations]=result2.split("@");log(`Processing result: + hash:${hash} + score:${score} + locations:${all_locations}`);let weighted_locations=all_locations.length?all_locations.split(",").map((l)=>{let[weight,balanced_score,location]=l.split(">");return{weight:parseInt(weight)/24,balanced_score:parseFloat(balanced_score),location:parseInt(location)}}):[];let locations=weighted_locations.map((l)=>l.location);return{id:hash,score:parseFloat(score)*this.indexWeight,words:locations,data:async()=>await this.loadFragment(hash,weighted_locations,term)}});const searchTime=Date.now()-searchStart;const realTime=Date.now()-start;log(`Found ${results.length} result${results.length == 1 ? "" : "s"} for "${term}" in ${Date.now() - searchStart}ms (${Date.now() - start}ms realtime)`);return{results:resultsInterface,unfilteredResultCount:parseInt(unfilteredResultCount),filters:filterObj,totalFilters:totalFilterObj,timings:{preload:realTime-searchTime,search:searchTime,total:realTime}}}};var Pagefind=class{constructor(options2={}){this.backend=wasm_bindgen;this.primaryLanguage="unknown";this.searchID=0;this.primary=new PagefindInstance({...options2,primary:true});this.instances=[this.primary];this.init(options2?.language)}async options(options2){await this.primary.options(options2)}async init(overrideLanguage){if(document?.querySelector){const langCode=document.querySelector("html")?.getAttribute("lang")||"unknown";this.primaryLanguage=langCode.toLocaleLowerCase()}await this.primary.init(overrideLanguage?overrideLanguage:this.primaryLanguage,{load_wasm:true})}async mergeIndex(indexPath,options2={}){if(this.primary.basePath.startsWith(indexPath)){console.warn(`Skipping mergeIndex ${indexPath} that appears to be the same as the primary index (${this.primary.basePath})`);return}let newInstance=new PagefindInstance({primary:false,basePath:indexPath});this.instances.push(newInstance);while(this.primary.wasm===null){await asyncSleep(50)}await newInstance.init(options2.language||this.primaryLanguage,{load_wasm:false});delete options2["language"];await newInstance.options(options2)}mergeFilters(filters2){const merged={};for(const searchFilter of filters2){for(const[filterKey,values]of Object.entries(searchFilter)){if(!merged[filterKey]){merged[filterKey]=values;continue}else{const filter=merged[filterKey];for(const[valueKey,count]of Object.entries(values)){filter[valueKey]=(filter[valueKey]||0)+count}}}}return merged}async filters(){let filters2=await Promise.all(this.instances.map((i2)=>i2.filters()));return this.mergeFilters(filters2)}async preload(term,options2={}){await Promise.all(this.instances.map((i2)=>i2.preload(term,options2)))}async debouncedSearch(term,options2,debounceTimeoutMs){const thisSearchID=++this.searchID;this.preload(term,options2);await asyncSleep(debounceTimeoutMs);if(thisSearchID!==this.searchID){return null}const searchResult=await this.search(term,options2);if(thisSearchID!==this.searchID){return null}return searchResult}async search(term,options2={}){let search2=await Promise.all(this.instances.map((i2)=>i2.search(term,options2)));const filters2=this.mergeFilters(search2.map((s)=>s.filters));const totalFilters=this.mergeFilters(search2.map((s)=>s.totalFilters));const results=search2.map((s)=>s.results).flat().sort((a,b)=>b.score-a.score);const timings=search2.map((s)=>s.timings);const unfilteredResultCount=search2.reduce((sum,s)=>sum+s.unfilteredResultCount,0);return{results,unfilteredResultCount,filters:filters2,totalFilters,timings}}};var pagefind=void 0;var initial_options=void 0;var init_pagefind=()=>{if(!pagefind){pagefind=new Pagefind(initial_options??{})}};var options=async(new_options)=>{if(pagefind){await pagefind.options(new_options)}else{initial_options=new_options}};var init=async()=>{init_pagefind()};var destroy=async()=>{pagefind=void 0;initial_options=void 0};var mergeIndex=async(indexPath,options2)=>{init_pagefind();return await pagefind.mergeIndex(indexPath,options2)};var search=async(term,options2)=>{init_pagefind();return await pagefind.search(term,options2)};var debouncedSearch=async(term,options2,debounceTimeoutMs=300)=>{init_pagefind();return await pagefind.debouncedSearch(term,options2,debounceTimeoutMs)};var preload=async(term,options2)=>{init_pagefind();return await pagefind.preload(term,options2)};var filters=async()=>{init_pagefind();return await pagefind.filters()};export{debouncedSearch,destroy,filters,init,mergeIndex,options,preload,search} \ No newline at end of file diff --git a/public/pagefind/wasm.de.pagefind b/public/pagefind/wasm.de.pagefind new file mode 100644 index 0000000..a96055e Binary files /dev/null and b/public/pagefind/wasm.de.pagefind differ diff --git a/public/pagefind/wasm.en.pagefind b/public/pagefind/wasm.en.pagefind new file mode 100644 index 0000000..6a6c03e Binary files /dev/null and b/public/pagefind/wasm.en.pagefind differ diff --git a/public/pagefind/wasm.es.pagefind b/public/pagefind/wasm.es.pagefind new file mode 100644 index 0000000..69c3e07 Binary files /dev/null and b/public/pagefind/wasm.es.pagefind differ diff --git a/public/pagefind/wasm.unknown.pagefind b/public/pagefind/wasm.unknown.pagefind new file mode 100644 index 0000000..c9b1460 Binary files /dev/null and b/public/pagefind/wasm.unknown.pagefind differ diff --git a/public/sitemap.xml b/public/sitemap.xml index a52e1bc..8f6b683 100644 --- a/public/sitemap.xml +++ b/public/sitemap.xml @@ -2,23 +2,23 @@ - https://success.odoo4projects.com/en/sitemap.xml + http://localhost:1313/en/sitemap.xml - 2025-06-10T12:00:00+00:00 + 2025-06-15T22:51:05+05:30 - https://success.odoo4projects.com/de/sitemap.xml + http://localhost:1313/de/sitemap.xml - 2025-06-10T12:00:00+00:00 + 2025-06-15T22:50:48+05:30 - https://success.odoo4projects.com/es/sitemap.xml + http://localhost:1313/es/sitemap.xml - 2025-06-10T12:00:00+00:00 + 2025-06-15T22:50:57+05:30 diff --git a/static/css/main.css b/static/css/main.css index ee28675..143b737 100644 --- a/static/css/main.css +++ b/static/css/main.css @@ -1,353 +1,406 @@ -* { - margin: 0; - padding: 0; - box-sizing: border-box; -} - -:root { - --dark-black-1: hsl(215.56deg 31.03% 17.06%); - --dark-black-2: hsl(215.38deg 28.47% 26.86%); - --gray: hsl(217.24deg 21.17% 26.86%); - --gray-text: hsl(213.6deg 15.53% 68.43%); - --bg-color: hsl(0, 40%, 5%); - --text-color: hsl(0, 40%, 90%); - --story-submit-btn-bg-color: hsl(180, 30%, 50%); -} - -html { - font-size: 62.5%; -} - -body { - background-color: var(--text-color); - min-height: 100vh; - width: 100%; - display: flex; - flex-direction: column; - align-items: center; -} - -nav { - width: 100%; - padding: 2rem 4%; - display: flex; - align-items: center; - justify-content: space-between; - background-color: var(--story-submit-btn-bg-color); -} - -/* .pagefind-ui__form { - padding: 0.5rem 0.8rem; - background-color: var(--dark-black-1); - flex: 1; - border: none; - outline: none; - font-size: 1.4rem; - - &::before { - content: "\f002"; - color: var(--gray-text); - position: absolute; - left: 0; - top: 0; - background-color: var(--dark-black-2); - } -} - -.pagefind-ui__search-input { - background-color: var(--dark-black-2); - border: none; - outline: none; - font-size: 1.4rem; - padding: 1rem; - width: 100%; - - &::placeholder { - color: var(--gray-text); - } -} - -.pagefind-ui__search-clear { - display: none; -} */ - -/* dropdown */ -.dropbtn { - background-color: var(--dark-black-2); - color: var(--text-color); - padding: 16px; - text-transform: uppercase; - font-size: 16px; - font-weight: 700; - border: none; - cursor: pointer; -} - -/* The container
    - needed to position the dropdown content */ -.dropdown { - position: relative; - display: inline-block; -} - -/* Dropdown Content (Hidden by Default) */ -.dropdown-content { - display: none; - position: absolute; - background-color: var(--dark-black-2); - min-width: 160px; - box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2); - z-index: 1; - right: 0; -} - -/* Links inside the dropdown */ -.dropdown-content a { - color: var(--text-color); - padding: 12px 16px; - font-size: 1.6rem; - text-decoration: none; - display: block; -} - -/* Change color of dropdown links on hover */ -.dropdown-content a:hover { - background-color: hsl(from var(--dark-black-2) h s 30%); -} - -/* Show the dropdown menu on hover */ -.dropdown:hover .dropdown-content { - display: block; -} - -/* Change the background color of the dropdown button when the dropdown content is shown */ -.dropdown:hover .dropbtn { - background-color: var(--dark-black-1); -} -main { - width: 100%; -} - -.hero { - width: 100%; - min-height: 40rem; - display: grid; - gap: 2rem; - padding: 2rem 4%; - grid-template-columns: repeat(4, 1fr); -} - -h1 { - font-size: 4rem; - color: var(--bg-color); -} - -p { - font-size: 2.5rem; - font-weight: 200; - color: var(--bg-color); -} - -.hero > div:first-child { - grid-column: 1/3; - height: 100%; - display: flex; - gap: 2rem; - justify-content: center; - flex-direction: column; -} - -.tags_categories { - grid-column: 3/5; - width: 100%; - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; - gap: 2rem; -} - -.tags_list, -.category_list { - width: 100%; - padding: 2rem 4rem; - background-color: var(--dark-black-1); - - h3 { - font-size: 2.5rem; - text-transform: uppercase; - margin-bottom: 1.5rem; - color: var(--gray-text); - } - - ul { - list-style: none; - display: flex; - align-items: center; - row-gap: 2.5rem; - column-gap: 1rem; - flex-wrap: wrap; - } -} - -.chip a { - font-size: 1.8rem; - color: var(--text-color); - text-decoration: none; - text-transform: capitalize; - background-color: var(--gray); - padding: 0.8rem; - border-radius: 0.4rem; - - &:hover { - background-color: hsl(from var(--gray) h s 40%); - } -} - -.story-btn { - width: 100%; - padding: 2rem; - font-size: 3.5rem; - cursor: pointer; - border: none; - outline: none; - background-color: var(--story-submit-btn-bg-color); - - &:hover { - background-color: hsl(from var(--story-submit-btn-bg-color) h s 55%); - } -} -dialog { - margin: auto; - width: 100%; - - #closeStoryModal { - padding: 0.5rem 2rem; - font-size: 1.5rem; - cursor: pointer; - color: var(--text-color); - border: none; - outline: none; - background-color: red; - } -} -iframe { - height: 90vh; - width: 100%; -} -.story__grid { - padding: 5rem 2rem; - display: grid; - gap: 3rem 4rem; - grid-template-columns: repeat(auto-fill, minmax(30rem, 1fr)); -} - -.story__card { - --border-radius: 0.8rem; - display: flex; - flex-direction: column; - justify-content: start; - border-radius: var(--border-radius); - background-color: var(--gray); - - .story__coverImg { - width: 100%; - object-fit: cover; - border-top-left-radius: var(--border-radius); - border-top-right-radius: var(--border-radius); - } -} - -.story__card__details { - width: 100%; - display: flex; - flex-direction: column; - justify-content: center; - gap: 1.2rem; - padding: 1.5rem 1.4rem; -} -.card__title { - color: var(--text-color); - font-size: 2.2rem; -} - -.card__description { - color: var(--gray-text); - font-size: 1.2rem; -} -.story__card__icon { - height: 1.5rem; - width: auto; -} -.card__tags_categories { - display: flex; - gap: 0.6rem 1rem; - align-items: center; - flex-wrap: wrap; - a { - font-size: 1rem; - text-decoration: none; - } -} - -.category__chip { - background-color: hsl(120, 100%, 30%); - padding: 0.2rem 0.6rem; - color: var(--text-color); - word-break: keep-all; -} -.tag__chip { - color: var(--gray-text); - word-break: keep-all; -} -.hastag { - font-size: 1.8rem; - margin-right: 0.2rem; -} -.publish__date__timeToRead { - display: flex; - align-items: center; - gap: 2rem; -} -.publish__date { - display: flex; - align-items: center; - gap: 0.5rem; - - time { - color: var(--gray-text); - font-size: 1.2rem; - } -} -@media (width<=768px) { - .dropbtn { - font-size: 1.4rem; - padding: 1rem; - margin-left: 0.5rem; - } - .hero { - grid-template-columns: 1fr; - - h1 { - font-size: 3.5rem; - } - - p { - font-size: 1.8rem; - } - } - - .hero > div:first-child { - grid-column: 1; - } - - .hero > .tags_categories { - grid-column: 1; - } - .tags_list, - .category_list { - padding: 3rem 2rem; - } - .story__grid { - grid-template-columns: repeat(auto-fill, minmax(25rem, 1fr)); - } -} +* { + margin: 0; + padding: 0; + box-sizing: border-box; +} + +:root { + --dark-black-1: hsl(215.56deg 31.03% 17.06%); + --dark-black-2: hsl(215.38deg 28.47% 26.86%); + --gray: hsl(217.24deg 21.17% 26.86%); + --gray-text: hsl(213.6deg 15.53% 68.43%); + --bg-color: hsl(0, 40%, 5%); + --text-color: hsl(0, 40%, 90%); + --story-submit-btn-bg-color: hsl(180, 30%, 50%); +} + +html { + font-size: 62.5%; +} + +a { + text-decoration: none; + cursor: pointer; +} + +.single-page { + padding: 4% 9%; + line-height: 1.8; + font-size: 1.6rem; + img, + video, + svg, + picture { + max-width: 90%; + margin: 2rem auto; + display: block; + border-radius: 1rem; + } + + h1 { + font-size: 3rem; + } + ul, + ol { + padding-block: 2rem; + } + li { + font-size: 1.8rem; + list-style-position: inside; + } + + p { + font-size: 1.8rem; + } +} +body { + background-color: var(--text-color); + min-height: 100vh; + width: 100%; + display: flex; + flex-direction: column; + align-items: center; +} + +nav { + width: 100%; + padding: 2rem 4%; + display: flex; + align-items: center; + justify-content: space-between; + background-color: var(--story-submit-btn-bg-color); +} + +/* dropdown */ +.dropbtn { + background-color: var(--dark-black-2); + color: var(--text-color); + padding: 16px; + text-transform: uppercase; + font-size: 16px; + font-weight: 700; + border: none; + cursor: pointer; +} + +/* The container
    - needed to position the dropdown content */ +.dropdown { + position: relative; + display: inline-block; +} + +/* Dropdown Content (Hidden by Default) */ +.dropdown-content { + display: none; + position: absolute; + background-color: var(--dark-black-2); + min-width: 160px; + box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2); + z-index: 1; + right: 0; +} + +/* Links inside the dropdown */ +.dropdown-content a { + color: var(--text-color); + padding: 12px 16px; + font-size: 1.6rem; + text-decoration: none; + display: block; +} + +/* Change color of dropdown links on hover */ +.dropdown-content a:hover { + background-color: hsl(from var(--dark-black-2) h s 30%); +} + +/* Show the dropdown menu on hover */ +.dropdown:hover .dropdown-content { + display: block; +} + +/* Change the background color of the dropdown button when the dropdown content is shown */ +.dropdown:hover .dropbtn { + background-color: var(--dark-black-1); +} + +/* pagefind */ +.pagefind-ui__result-link, +.pagefind-ui__result-excerpt, +.pagefind-ui__message { + color: var(--text-color) !important; +} + +/* story modal */ +#story-modal { + position: fixed; + top: 50%; + transform: translateY(-50%); + z-index: 50; + max-height: 90vh; + height: 100%; + width: 90%; + display: none; + overflow-y: auto; + background-color: var(--text-color); +} + +#story-modal.show-story-modal { + display: block; +} + +#close-modal { + position: absolute; + top: 2%; + right: 2%; + z-index: 100; + border: none; + background-color: red; + color: var(--text-color); + cursor: pointer; + padding: 1rem; +} + +main { + width: 100%; +} + +.hero { + width: 100%; + min-height: 40rem; + display: grid; + gap: 2rem; + padding: 2rem 4%; + grid-template-columns: repeat(4, 1fr); +} + +h1 { + font-size: 4rem; + color: var(--bg-color); +} + +p { + font-size: 2.5rem; + font-weight: 200; + color: var(--bg-color); +} + +.hero > div:first-child { + grid-column: 1/3; + height: 100%; + display: flex; + gap: 2rem; + justify-content: center; + flex-direction: column; +} + +.tags_categories { + grid-column: 3/5; + width: 100%; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + gap: 2rem; +} + +.tags_list, +.category_list { + width: 100%; + padding: 2rem 4rem; + background-color: var(--dark-black-1); + + h3 { + font-size: 2.5rem; + text-transform: uppercase; + margin-bottom: 1.5rem; + color: var(--gray-text); + } + + ul { + list-style: none; + display: flex; + align-items: center; + row-gap: 2.5rem; + column-gap: 1rem; + flex-wrap: wrap; + } +} + +.chip a { + font-size: 1.8rem; + color: var(--text-color); + text-decoration: none; + text-transform: capitalize; + background-color: var(--gray); + padding: 0.8rem; + border-radius: 0.4rem; + + &:hover { + background-color: hsl(from var(--gray) h s 40%); + } +} + +.story-btn { + width: 100%; + padding: 2rem; + font-size: 3.5rem; + cursor: pointer; + border: none; + outline: none; + background-color: var(--story-submit-btn-bg-color); + + &:hover { + background-color: hsl(from var(--story-submit-btn-bg-color) h s 55%); + } +} + +dialog { + margin: auto; + width: 100%; + + #closeStoryModal { + padding: 0.5rem 2rem; + font-size: 1.5rem; + cursor: pointer; + color: var(--text-color); + border: none; + outline: none; + background-color: red; + } +} + +iframe { + height: 90vh; + width: 100%; +} + +.story__grid { + padding: 5rem 2rem; + display: grid; + gap: 3rem 4rem; + grid-template-columns: repeat(auto-fill, minmax(30rem, 1fr)); +} + +.story__card { + --border-radius: 0.8rem; + display: flex; + flex-direction: column; + justify-content: start; + border-radius: var(--border-radius); + background-color: var(--gray); + + .story__coverImg { + width: 100%; + object-fit: cover; + border-top-left-radius: var(--border-radius); + border-top-right-radius: var(--border-radius); + } +} + +.story__card__details { + width: 100%; + display: flex; + flex-direction: column; + justify-content: center; + gap: 1.2rem; + padding: 1.5rem 1.4rem; +} + +.card__title { + color: var(--text-color); + font-size: 2.2rem; +} + +.card__description { + color: var(--gray-text); + font-size: 1.2rem; +} + +.story__card__icon { + height: 1.5rem; + width: auto; +} + +.card__tags_categories { + display: flex; + gap: 0.6rem 1rem; + align-items: center; + flex-wrap: wrap; + + a { + font-size: 1rem; + text-decoration: none; + } +} + +.category__chip { + background-color: hsl(120, 100%, 30%); + padding: 0.2rem 0.6rem; + color: var(--text-color); + word-break: keep-all; +} + +.tag__chip { + color: var(--gray-text); + word-break: keep-all; +} + +.hastag { + font-size: 1.8rem; + margin-right: 0.2rem; +} + +.publish__date__timeToRead { + display: flex; + align-items: center; + gap: 2rem; +} + +.publish__date { + display: flex; + align-items: center; + gap: 0.5rem; + + time { + color: var(--gray-text); + font-size: 1.2rem; + } +} + +@media (width<=768px) { + .dropbtn { + font-size: 1.4rem; + padding: 1rem; + margin-left: 0.5rem; + } + + .hero { + grid-template-columns: 1fr; + + h1 { + font-size: 3.5rem; + } + + p { + font-size: 1.8rem; + } + } + + .hero > div:first-child { + grid-column: 1; + } + + .hero > .tags_categories { + grid-column: 1; + } + + .tags_list, + .category_list { + padding: 3rem 2rem; + } + + .story__grid { + grid-template-columns: repeat(auto-fill, minmax(25rem, 1fr)); + } +} diff --git a/static/js/main.js b/static/js/main.js new file mode 100644 index 0000000..6515b80 --- /dev/null +++ b/static/js/main.js @@ -0,0 +1,29 @@ +document.addEventListener("DOMContentLoaded", function () { + const modal = document.getElementById("story-modal"); + const content = document.getElementById("modal-content"); + const close = document.getElementById("close-modal"); + + document.querySelectorAll(".open-modal").forEach((btn) => { + btn.addEventListener("click", async function () { + const url = this.getAttribute("data-story-url"); + + try { + const res = await fetch(url); + const html = await res.text(); + const parser = new DOMParser(); + const doc = parser.parseFromString(html, "text/html"); + + // Optional: target only the article content + const article = doc.querySelector("article") || doc.body; + content.innerHTML = article.innerHTML; + + modal.classList.add("show-story-modal"); + } catch (err) { + content.innerHTML = "

    Failed to load content.

    "; + modal.classList.add("show-story-modal"); + } + }); + }); + + close.addEventListener("click", () => modal.classList.remove("show-story-modal")); +});