feat: VivesPOS landing on Winter CMS 1.2 — theme + plugin + Dockerfile
Some checks are pending
Module sub-split / Sub-split (push) Waiting to run

- Base: wintercms/winter branch 1.2 (full framework)
- Theme vivespos: Canvas 7 + Bootstrap 5 CDN, custom CSS
- Layout: deferred GTM/GA4 tracking, JSON-LD SoftwareApplication
- Partials: hero (offline-first), features, modes (offline/nube toggle),
  screenshots, pricing (3 planes), comparison, FAQ, CTA
- Plugin VivesPOS.Site with ContactForm
- Dockerfile: PHP 8.2 Apache, port 80, healthcheck
- Added winter/wn-pages, blog, sitemap, seo plugins
- Active theme set to vivespos
This commit is contained in:
2026-08-21 19:29:00 -06:00
commit 1f72193a64
3266 changed files with 531480 additions and 0 deletions

View File

@@ -0,0 +1,39 @@
title = "Blog — VivesPOS"
meta_title = "Blog — VivesPOS"
meta_description = "Consejos, guias y noticias sobre puntos de venta, retail en Mexico y VivesPOS."
url = "/blog"
layout = "default"
[blogPosts]
postsPerPage = 9
postPage = "blog/post"
sortOrder = "published_at desc"
noPostsMessage = "Pronto publicaremos articulos. Vuelve pronto!"
==
<section class="py-5 py-md-6">
<div class="container">
<div class="text-center mb-5">
<p class="eyebrow eyebrow-blue mb-2">Blog VivesPOS</p>
<h1 class="display-5 fw-bold mb-2">Consejos para tu negocio</h1>
<p class="lead text-muted">Guias sobre retail, puntos de venta y tecnologia para Mexico.</p>
</div>
<div class="row g-4">
{% for post in posts %}
<div class="col-md-6 col-lg-4">
<div class="card border-0 shadow-sm h-100 rounded-4 overflow-hidden">
<div class="card-body p-4">
<p class="text-muted small mb-2">{{ post.published_at|date('d M Y') }}</p>
<h3 class="h5 fw-bold mb-2">{{ post.title }}</h3>
<p class="text-muted small mb-3">{{ post.summary|default(post.content|striptags|slice(0, 120)) }}...</p>
<a href="{{ '/blog/post'|page({ slug: post.slug }) }}" class="text-brand text-decoration-none fw-semibold small">Leer mas &rarr;</a>
</div>
</div>
</div>
{% else %}
<div class="col-12 text-center py-5">
<p class="text-muted">{{ noPostsMessage }}</p>
</div>
{% endfor %}
</div>
</div>
</section>