New post: OCA launches Apps Store. Blog search + skill created.

This commit is contained in:
Hermes Agent
2026-08-07 20:36:35 +00:00
parent 2e1b64d118
commit 52a4cdc47f
3 changed files with 155 additions and 9 deletions
+33 -1
View File
@@ -71,9 +71,32 @@
</div>
</header>
<!-- === SEARCH === -->
<div class="container" style="padding-bottom:24px;">
<div style="position:relative;max-width:480px;">
<svg style="position:absolute;left:16px;top:50%;transform:translateY(-50%);" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="#94a3b8" stroke-width="2.5" stroke-linecap="round"><circle cx="11" cy="11" r="8"/><line x1="21" y1="21" x2="16.65" y2="16.65"/></svg>
<input type="text" id="blogSearch" placeholder="Buscar artículos..." oninput="filterBlogPosts(this.value)" style="width:100%;padding:12px 16px 12px 46px;background:var(--surface-raised);border:1px solid var(--border);border-radius:8px;font-family:var(--font-sans);font-size:0.9375rem;color:var(--text-primary);outline:none;" onfocus="this.style.borderColor='#3b8c5e'" onblur="this.style.borderColor='var(--border)'">
</div>
</div>
<!-- === BLOG LAYOUT === -->
<div class="blog-layout container">
<div class="blog-layout container" id="blogLayout">
<main>
<!-- New: OCA Apps Store -->
<article class="article-card">
<div class="article-card__image">OCA</div>
<div class="article-card__body">
<div class="article-card__meta">
<span class="category-badge category-badge--news">Novedades</span>
<span>16 jul 2026</span>
<span>4 min lectura</span>
</div>
<h2 class="article-card__title">
<a href="/blog/oca-lanza-nueva-tienda-apps.html">La OCA lanza su nueva tienda de apps Odoo</a>
</h2>
<p class="article-card__excerpt">La Odoo Community Association (OCA) lanza su nuevo Apps Store. Una plataforma para descubrir módulos, contribuidores y servicios del ecosistema Odoo open source.</p>
</div>
</article>
<!-- Article 1 -->
<article class="article-card">
<div class="article-card__image">Odoo vs Enterprise</div>
@@ -315,6 +338,15 @@
</div>
</footer>
<script>
function filterBlogPosts(query) {
const q = query.toLowerCase().trim();
document.querySelectorAll('#blogLayout .article-card').forEach(card => {
const text = card.textContent.toLowerCase();
card.style.display = (!q || text.includes(q)) ? '' : 'none';
});
}
</script>
<script src="/js/main.js" defer></script>
</body>
</html>