feat: VivesPOS landing on Winter CMS 1.2 — theme + plugin + Dockerfile
Some checks are pending
Module sub-split / Sub-split (push) Waiting to run
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:
39
themes/vivespos/pages/blog.htm
Normal file
39
themes/vivespos/pages/blog.htm
Normal 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 →</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% else %}
|
||||
<div class="col-12 text-center py-5">
|
||||
<p class="text-muted">{{ noPostsMessage }}</p>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
Reference in New Issue
Block a user