+ {{ include.product.price }} + {{ site.cart.currency }} +
+ + +diff --git a/Makefile b/Makefile index ef48681..dc44c94 100644 --- a/Makefile +++ b/Makefile @@ -49,6 +49,12 @@ npx: ## Correr comandos con npx (args="run") npm: ## Correr comandos con npm (args="install -g paquete") $(MAKE) hain args="npm $(args)" +prettier: ## Arreglar JS (por ahora) + $(MAKE) yarn args="prettier --write _packs/" + +format-check: ## Verificar JS + $(MAKE) yarn args="prettier --check _packs/" + serve: /etc/hosts $(hain)/run/nginx/nginx.pid ## Servidor de desarrollo @echo "Iniciado servidor web en https://$(domain):4000/" diff --git a/_config.yml b/_config.yml index 651d41e..5f1d1f4 100644 --- a/_config.yml +++ b/_config.yml @@ -11,6 +11,7 @@ plugins: - jekyll-data - jekyll-seo-tag - jekyll-images +- jekyll-embed-urls - sutty-liquid markdown: CommonMark commonmark: @@ -58,6 +59,7 @@ locales: - es ignored_layouts: - menu +- email linked_fields: - post - item diff --git a/_data/en.yml b/_data/en.yml index 60a0649..39ea154 100644 --- a/_data/en.yml +++ b/_data/en.yml @@ -63,8 +63,14 @@ time: pm: pm layouts: post: Article + cart: Cart + confirmation: Order confirmation + payment: Payment + shipment: Shipment + email: Confirmation E-mail menu: Menu about: About this site + theme: Customize theme menu: title: Menu share: diff --git a/_data/es.yml b/_data/es.yml index 358e94b..e2cd14e 100644 --- a/_data/es.yml +++ b/_data/es.yml @@ -1,5 +1,19 @@ --- locale: Castellano +countries: + validation: Elige un país de la lista +states: + validation: Elige una provincia/estado de la lista +recover_order: Rehacer el pedido +alerts: + incorrect_password: Estás registrade pero la contraseña es incorrecta, podés intentar de nuevo o continuar la compra como invitade. + successful_login: Iniciaste sesión, tu pedido se agregará a tu historia de compras. + successful_signup: ¡Gracias por registrarte! + error: 'Hubo un error al comunicarse con la tienda, te invitamos a intentar en unos minutos :(' + no_response_error: 'Hubo un error al comunicarse con la tienda, te invitamos a intentar en unos minutos :(' + spree_error: 'Hubo un error al comunicarse con la tienda, te invitamos a intentar en unos minutos :(' + recover_order: 'No encontramos el pedido en la tienda' + select_format: 'Seleccionar formato:' date: format: '%d/%m/%Y' abbr_day_names: @@ -49,8 +63,14 @@ time: pm: pm layouts: post: Artículo + cart: Carrito + confirmation: Confirmación de compra + payment: Pago + shipment: Envío + email: Correo de confirmación menu: Menú about: Información del sitio + theme: Personalizar plantilla menu: title: Menú share: diff --git a/_data/forms/contacto.yml b/_data/forms/contacto.yml index 0be3cab..5a246a5 100644 --- a/_data/forms/contacto.yml +++ b/_data/forms/contacto.yml @@ -1,40 +1,41 @@ --- pronouns: - type: "string" - autocomplete: "sex" + type: 'string' + autocomplete: 'sex' label: - es: "Pronombres" - en: "Pronouns" + es: 'Pronombres' + en: 'Pronouns' placeholder: - es: "¿Qué pronombres usás?" - en: "What are your pronouns?" + es: '¿Qué pronombres usás?' + en: 'What are your pronouns?' name: - type: "string" - autocomplete: "name" + type: 'string' + autocomplete: 'name' label: - es: "Nombre" - en: "Name" + es: 'Nombre' + en: 'Name' placeholder: - es: "Nombre, pseudónimo, alias" - en: "Name, pseudonym, alias" + es: 'Nombre, pseudónimo, alias' + en: 'Name, pseudonym, alias' from: - type: "email" - autocomplete: "email" + type: 'email' + autocomplete: 'email' label: - es: "Correo electrónico" - en: "E-mail address" + es: 'Correo electrónico' + en: 'E-mail address' body: - type: text + type: 'text' label: - es: Mensaje - en: Message + es: 'Mensaje' + en: 'Message' consent: - type: boolean + type: 'boolean' label: - es: Acepto las políticas de privacidad - en: I agree to the privacy policy + es: 'Acepto las políticas de privacidad' + en: 'I agree to the privacy policy' submit: - type: submit + type: 'submit' label: - es: Enviar - en: Send + es: 'Enviar' + en: 'Send' + extra: 'data-target="contact.submit"' diff --git a/_data/forms/shipping_address.yml b/_data/forms/shipping_address.yml new file mode 100644 index 0000000..57899ec --- /dev/null +++ b/_data/forms/shipping_address.yml @@ -0,0 +1,94 @@ +--- +firstname: + type: 'string' + required: true + label: + es: 'Nombre' + en: 'Name' + autocomplete: 'given-name' + error: + es: 'El nombre es obligatorio' + en: 'Name is required' +lastname: + type: 'string' + required: true + label: + es: 'Apellido' + en: 'Last name' + autocomplete: 'family-name' + error: + es: 'El apellido es obligatorio' + en: 'Last name is required' +address1: + type: 'string' + required: true + label: + es: 'Calle y número' + en: 'Street and number' + autocomplete: 'address-line1' + error: + es: 'La dirección es obligatoria' + en: 'Address is required' +city: + type: 'string' + required: true + label: + es: 'Ciudad' + en: 'City' + autocomplete: 'city' + error: + es: 'La ciudad es obligatoria' + en: 'City is required' +country_id: + type: 'country' + required: true + group: 'shipping_address' + autocomplete: 'country-name' + label: + es: 'País' + en: 'Country' + help: + es: 'Comenzar a escribir para filtrar' + en: 'Start writing to filter' + error: + es: 'El país debe estar en la lista' + en: 'Country must be on the list' +state_id: + type: 'state' + required: true + group: 'shipping_address' + label: + es: 'Provincia / Estado' + en: 'Province / State' + help: + es: 'Comenzar a escribir para filtrar' + en: 'Start writing to filter' + error: + es: 'La provincia debe estar en la lista' + en: 'Province must be on the list' +zipcode: + type: 'postal_code' + group: 'shipping_address' + required: true + label: + es: 'Código postal' + en: 'Postal/ZIP code' + autocomplete: 'postal-code' + error: + es: 'El código postal no tiene el formato correcto' + en: 'Postal/ZIP code is not on the correct format' +phone: + type: 'string' + required: true + label: + es: 'Teléfono' + en: 'Phone number' + autocomplete: 'tel' + error: + es: 'El teléfono es obligatorio' + en: 'Phone number is required' +submit: + type: 'submit' + label: + es: 'Enviar' + en: 'Send' diff --git a/_data/forms/user.yml b/_data/forms/user.yml new file mode 100644 index 0000000..5645e21 --- /dev/null +++ b/_data/forms/user.yml @@ -0,0 +1,13 @@ +--- +email: + required: true + autocomplete: 'email' + type: 'email' + label: + es: 'Correo electrónico' + en: 'E-mail' + extra: + input: 'data-target="cart-contact.username"' + error: + es: 'Debe ser una dirección válida' + en: 'E-mail address is not valid' diff --git a/_data/layouts/cart.yml b/_data/layouts/cart.yml new file mode 100644 index 0000000..3ecb444 --- /dev/null +++ b/_data/layouts/cart.yml @@ -0,0 +1,222 @@ +--- +meta: + limit: 1 + help: + es: 'Personalización de varios elementos del carrito. Si hay varios artículos, se toma el primero de la lista.' + en: 'Personalization for several cart elements. If there are several articles, the first in the list is used.' +title: + type: string + required: true + label: + es: Título + en: Title + help: + es: 'El título de la página del carrito de compras' + en: 'Page title for cart page' + default: + es: 'Carrito de compras' + en: 'Cart' +content: + type: 'content' + label: + es: 'Contenido' + en: 'Content' + help: + es: 'Texto que quieras agregar al carrito, forma de funcionamiento, anuncios, tiempos de entrega, etc.' + en: 'Any text you want to add to the cart: how it works, announcements, etc.' +product: + type: 'string' + required: true + label: + es: 'Nombre del ítem en venta' + en: 'Name of the item for sale' + help: + es: 'El nombre que tienen los productos o servicios que vendés, por ejemplo Libros' + en: "The name of the product or service you're selling, for example Books" + default: + es: 'Producto' + en: 'Product' +currency: + type: 'string' + required: true + label: + es: 'Moneda' + en: 'Currency' + help: + es: 'Código de tres letras de la moneda en la que se expresan los precios' + en: 'Three letter code to denote currency used in pricing' + default: + es: 'ARS' + en: 'USD' +currency_alternate: + type: 'string' + required: true + label: + es: 'Moneda alternativa' + en: 'Alternative currency' + help: + es: 'Nombre alternativo de la moneda, para mostrar, por ejemplo "$", "pesos", "pe", etc' + en: 'Alternative name of currency to be shown, for example "$", "dollars", etc' + default: + es: 'ARS' + en: 'USD' +price: + type: 'string' + required: true + label: + es: 'Precio' + en: 'Price' + help: + es: '' + en: '' + default: + es: 'Precio' + en: 'Price' +quantity: + type: 'string' + required: true + label: + es: 'Cantidad' + en: 'Quantity' + help: + es: 'Nombre del selector de cantidades' + en: 'Name of quantity selector' + default: + es: 'Cantidad' + en: 'Quantity' +subtotal: + type: 'string' + required: true + label: + es: 'Subtotal' + en: 'Subtotal' + help: + es: 'Nombre de la suma de precios por ítem de venta' + en: 'Name for the price sum per sale item' + default: + es: 'Subtotal' + en: 'Subtotal' +total: + type: 'string' + required: true + label: + es: 'Total' + en: 'Total' + help: + es: 'Nombre de la suma total del pedido' + en: 'Name of total sum' + default: + es: 'Total' + en: 'Total' +add: + type: 'string' + required: true + label: + es: 'Botón de agregar libro' + en: 'Add to cart button' + help: + es: 'El texto del botón de agregar al carrito' + en: 'Text on Add to cart button' + default: + es: 'Agregar al carrito' + en: 'Add to cart' +added: + type: 'string' + required: true + label: + es: 'Producto agregado' + en: 'Product added to cart' + help: + es: 'Texto para avisar que el producto fue agregado al carrito' + en: 'Text to notify when a product has been added to the cart' + default: + es: 'Agregado al carrito' + en: 'Product added to cart' +out_of_stock: + type: 'string' + required: true + label: + es: 'Sin stock' + en: 'Sold out' + help: + es: 'Texto del botón de agregar al carrito cuando el libro está agotado' + en: 'Text for grayed-out Add to cart button when no stock is available' + default: + es: 'Agotado' + en: 'Sold out' +remove: + type: 'string' + required: true + label: + es: 'Botón de quitar producto' + en: 'Remove product button' + help: + es: 'El texto del botón de quitar del carrito' + en: 'Text for Remove product button' + default: + es: 'Quitar del carrito' + en: 'Remove product' +length_unit: + type: 'string' + required: true + label: + es: 'Unidad de medida de los productos' + en: 'Measurement unit for products' + help: + es: '' + en: '' + default: + es: 'mm' + en: 'mm' +weight_unit: + type: 'string' + required: true + label: + es: 'Unidad de medida para el peso de los productos' + en: 'Measurement unit for products weight' + help: + es: '' + en: '' + default: + es: 'gr' + en: 'gr' +back: + type: 'string' + required: true + label: + es: 'Volver a la tienda' + en: 'Back' + help: + es: 'Nombre del botón para volver a la tienda' + en: 'Text for Back to store button' + default: + es: 'Volver a la tienda' + en: 'Back' +permalink: + type: 'permalink' + required: true + label: + es: 'Dirección de la página' + en: '' + help: + es: 'La dirección de la página del carrito dentro del sitio' + en: 'Address for cart page inside site' + default: + es: 'carrito/' + en: 'cart/' +draft: + type: 'boolean' + label: + es: 'Borrador' + en: 'Draft' + help: + es: 'Este artículo aun no está listo para publicar' + en: "This post isn't ready to be published yet" +order: + type: 'order' + label: + es: 'Orden' + en: 'Order' + help: + es: 'La posición del artículo en la lista de artículos' + en: 'The post position in the posts list' diff --git a/_data/layouts/confirmation.yml b/_data/layouts/confirmation.yml new file mode 100644 index 0000000..cc38cd6 --- /dev/null +++ b/_data/layouts/confirmation.yml @@ -0,0 +1,68 @@ +--- +meta: + limit: 1 + help: + es: Página de confirmación de compra. Si hay varias se toma la primera de la lista. + en: '' +title: + type: string + required: true + label: + es: Título + en: Title + help: + es: 'Título de la confirmación' + en: 'Confirmation page title' + default: + es: '¡Gracias por tu compra!' + en: 'Thank you for your purchase!' +content: + type: 'content' + label: + es: 'Contenido' + en: 'Content' + help: + es: 'Puedes agregar información de contacto, tiempos de entrega, etc. aquí.' + en: 'You may add contact information, timeframe for delivery, etc. here' + default: + es: 'En breve te llegará un correo con la información de tu pedido.' + en: 'You will receive an email detailing your purchase soon.' +permalink: + type: 'permalink' + required: true + label: + es: 'Dirección de la página' + en: 'Confirmation page address' + help: + es: 'La dirección de la página de confirmación dentro del sitio' + en: 'The address the confirmation page holds within your site' + default: + es: 'confirmacion/' + en: 'confirmation/' +back: + type: 'string' + label: + es: 'Volver al sitio' + en: 'Back to site' + help: + es: 'Texto del botón de volver al sitio' + en: 'Text for Back to site button' + default: + es: 'Volver al sitio' + en: 'Back to site' +draft: + type: 'boolean' + label: + es: 'Borrador' + en: 'Draft' + help: + es: 'Este artículo aun no está listo para publicar' + en: "This post isn't ready to be published yet" +order: + type: 'order' + label: + es: 'Orden' + en: 'Order' + help: + es: 'La posición del artículo en la lista de artículos' + en: 'The post position in the posts list' diff --git a/_data/layouts/email.yml b/_data/layouts/email.yml new file mode 100644 index 0000000..ed716ed --- /dev/null +++ b/_data/layouts/email.yml @@ -0,0 +1,56 @@ +--- +title: + type: string + required: true + label: + es: Título + en: Title + help: + es: '' + en: '' + default: + es: 'Correo de confirmación' + en: '' +intro: + type: 'html' + label: + es: 'Introducción' + en: '' + help: + es: 'Texto de apertura del correo de confirmación' + en: '' +thanks: + type: 'html' + label: + es: 'Pie' + en: '' + help: + es: 'Pie del correo' + en: '' +show_address: + type: 'boolean' + label: + es: 'Mostrar la dirección' + en: '' + help: + es: 'Agregar la dirección informada por le cliente en el correo' + en: '' + default: + es: true + en: true +order: + type: 'order' + label: + es: 'Orden' + en: '' + help: + es: 'La posicion del articulo en la lista de articulos' + en: '' +draft: + type: 'boolean' + label: + es: 'Borrador' + en: '' + help: + es: 'Tildar si no está listo para ser publicado' + en: '' diff --git a/_data/layouts/menu.yml b/_data/layouts/menu.yml index 279f4eb..e3974b0 100644 --- a/_data/layouts/menu.yml +++ b/_data/layouts/menu.yml @@ -3,7 +3,7 @@ title: type: 'string' required: true label: - en: '' + en: 'Item name' es: 'Nombre del ítem' help: en: '' @@ -11,21 +11,29 @@ title: post: type: 'belongs_to' label: - en: '' + en: 'Link to this post' es: 'Artículo' help: en: '' es: 'Si el ítem lleva a un artículo fijo, asociarlo aquí' +link: + type: 'string' + label: + en: 'Link' + es: 'Vínculo' + help: + en: "If this item is a regular link, add it here" + es: 'Si el ítem lleva a una página o sección especial, asociarla aquí' item: type: 'belongs_to' inverse: items filter: layout: menu label: - en: '' + en: 'Main item' es: 'Ítem anterior' help: - en: '' + en: "If you're building a dropdown menu, add the main item here" es: 'Si es un sub ítem, asociar el ítem superior aquí' items: type: 'has_many' @@ -33,19 +41,11 @@ items: filter: layout: menu label: - en: '' + en: 'Sub items' es: 'Sub ítemes' help: - en: '' + en: "If you're building a dropdown menu, add the sub items here" es: 'Si el ítem tiene sub ítems, asociarlos aquí' -link: - type: 'string' - label: - en: '' - es: 'Vínculo' - help: - en: '' - es: 'Si el ítem lleva a una página o sección especial, asociarla aquí' categories: type: 'array' label: diff --git a/_data/layouts/payment.yml b/_data/layouts/payment.yml new file mode 100644 index 0000000..da9c652 --- /dev/null +++ b/_data/layouts/payment.yml @@ -0,0 +1,126 @@ +--- +meta: + limit: 1 + help: + en: 'Página de confirmación de pago. Si hay varias se usa la primera de la lista.' + es: 'Confirmation of payment page. If there are several, the first in list will be used.' +title: + type: string + required: true + label: + es: Título + en: Title + help: + es: 'El título de la página de medios de pago' + en: 'Title for payment options page' + default: + es: 'Medios de pago' + en: 'Payment options' +content: + type: 'content' + label: + es: 'Contenido' + en: 'Content' + help: + es: 'Puedes agregar texto opcional aquí' + en: 'You may add optional text here' +total: + type: 'string' + required: true + label: + es: 'Total' + en: 'Total' + help: + es: 'El precio total de la compra' + en: 'Total price' + default: + es: 'Total' + en: 'Total' +special_instructions: + type: 'string' + required: true + label: + es: 'Instrucciones especiales' + en: 'Special instructions' + help: + es: '' + en: 'Title text for Special instructions section' + default: + es: 'Instrucciones especiales' + en: 'Special instructions' +special_instructions_help: + type: 'string' + required: true + label: + es: 'Ayuda de las instrucciones especiales' + en: 'Help for special instructions section' + help: + es: '' + en: 'You might want to give examples of special instructions that can be added' + default: + es: 'Horas específicas de entrega, etc.' + en: 'Specific delivery hours, etc.' +promo_code: + type: 'string' + required: true + label: + es: 'Código de descuento' + en: 'Coupon code' + help: + es: '' + en: '' + default: + es: '¿Tenés un cupón de descuento?' + en: '' +permalink: + type: 'permalink' + required: true + label: + es: 'Dirección de la página' + en: 'Payment page address' + help: + es: 'La dirección de la página de medios de pago dentro del sitio' + en: 'The address the payment page hold within the site url' + default: + es: 'pago/' + en: 'payment/' +back: + type: 'string' + required: true + label: + es: 'Volver a métodos de envío' + en: 'Back to shipping options' + help: + es: 'Nombre del botón para volver a los métodos de envío' + en: 'Button text for Back to shipping options' + default: + es: 'Volver al métodos de envío' + en: 'Back to shipping options' +next_step: + type: 'string' + required: true + label: + es: 'Siguiente paso' + en: 'Next step' + help: + es: 'Texto del botón de pasar al siguiente paso de la compra (el pago)' + en: 'Text for next step in purchase button' + default: + es: 'Pagar' + en: 'Checkout' +draft: + type: 'boolean' + label: + es: 'Borrador' + en: 'Draft' + help: + es: 'Este artículo aun no está listo para publicar' + en: "This post isn't ready to be published yet" +order: + type: 'order' + label: + es: 'Orden' + en: 'Order' + help: + es: 'La posición del artículo en la lista de artículos' + en: 'The post position in the posts list' diff --git a/_data/layouts/product.yml b/_data/layouts/product.yml new file mode 100644 index 0000000..7263585 --- /dev/null +++ b/_data/layouts/product.yml @@ -0,0 +1,142 @@ +--- +title: + type: 'string' + required: true + label: + es: 'Producto' + en: 'Product' +description: + type: 'text' + required: true + label: + es: 'Alerta de contenido o descripción del libro' + en: 'Content warning or book description' + help: + es: | + Resumen del contenido del libro, que también usarán redes + sociales y buscadores. Si el libro trata de violencias y otros + temas sensibles, te invitamos a usar este campo como alerta de + contenido, para que las personas puedan determinar cuándo quieren + abrirlo. + en: | + Summary of book contents, also used by social media and search + engines. If the book is about violence or other sensitive + topics, we invite you to use it as a content warning, so others + can decide when they want to read it. +image: + type: 'image' + path: + label: + es: 'Imagen principal' + en: 'Main image' + help: + es: 'Resolución recomendada: 1280 píxeles de ancho' + en: 'Recommended resolution: 1280 pixels wide' + description: + label: + es: 'Descripción de la imagen' + en: 'Main image description' + help: + es: Describe la cubierta para usuaries no videntes y buscadores + en: | + Describe the book cover for blind or partially sighted users and + search engines +content: + type: 'content' + label: + es: 'Contenido' + en: 'Content' + help: + es: 'Escribe aquí el artículo' + en: 'Write the post here' +price: + type: 'number' + required: true + writable: 'once' + label: + es: 'Precio' + en: 'Price' + help: + es: 'El precio se gestiona a través de la tienda' + en: 'Price is managed through the store' +stock: + type: 'number' + required: true + writable: 'once' + label: + es: 'Stock inicial' + en: 'Starting stock' + help: + es: 'El stock se gestiona automáticamente a través de la tienda' + en: 'Stock is automatically managed by the store' +sku: + type: 'sku' + required: true + label: + es: 'SKU' + en: 'SKU' + help: + es: 'Código único del producto' + en: 'Product code' +cost_price: + type: 'number' + writable: 'once' + label: + es: 'Precio de costo' + en: 'Cost price' + help: + es: '' + en: '' +width: + type: 'number' + writable: 'once' + label: + es: 'Ancho' + en: 'Width' + help: + es: 'En la unidad de medida que configuraste en el carrito' + en: 'In measurement units configured in cart' +height: + type: 'number' + writable: 'once' + label: + es: 'Alto' + en: 'Height' + help: + es: 'En la unidad de medida que configuraste en el carrito' + en: 'In measurement units configured in cart' +depth: + type: 'number' + writable: 'once' + label: + es: 'Profundidad' + en: 'Depth' + help: + es: 'En la unidad de medida que configuraste en el carrito' + en: 'In measurement units configured in cart' +weight: + type: 'number' + required: true + writable: 'once' + label: + es: 'Peso' + en: 'Weight' + help: + es: 'En gramos, se utiliza para calcular el costo de envío' + en: 'In grams, used to calculate shipping rates' +order: + type: 'order' + label: + es: 'Orden' + en: 'Order' + help: + es: 'La posición del artículo en la lista de artículos' + en: 'The post position in the posts list' +draft: + type: 'boolean' + label: + es: 'Borrador' + en: 'Draft' + help: + es: 'Este artículo aun no está listo para publicar' + en: "This post isn't ready to be published yet" diff --git a/_data/layouts/shipment.yml b/_data/layouts/shipment.yml new file mode 100644 index 0000000..886c5ec --- /dev/null +++ b/_data/layouts/shipment.yml @@ -0,0 +1,126 @@ +--- +meta: + limit: 1 + help: + en: 'Página del proceso de envío. Si hay varias se toma la primera de la lista.' + es: 'Shipment page. If there are several, the first in the list will be used.' +title: + type: string + required: true + label: + es: Título + en: Title + help: + es: 'El título de la página de envío' + en: 'Title for Shipment page' + default: + es: 'Envío' + en: 'Shipment' +content: + type: 'content' + label: + es: 'Contenido' + en: 'Content' + help: + es: 'Podés agregar instrucciones, demora en las entregas, etc. aquí' + en: 'You can add instructions, shipping delay announcements, etc. here' +user: + type: 'string' + required: true + label: + es: 'Cuenta' + en: 'User' + help: + es: 'Subtítulo de contacto' + en: 'Contact subtitle' + default: + es: 'Contacto' + en: 'Contact' +shipping_address: + type: 'string' + required: true + label: + es: 'Subtítulo de la dirección de envío' + en: 'Shipping address subtitle' + help: + es: 'Texto para subtítulo de Dirección de envío' + en: 'Text for Shipping address subtitle' + default: + es: 'Dirección de envío' + en: 'Shipping address' +shipping_methods: + type: 'string' + required: true + label: + es: 'Subtítulo de métodos de envío' + en: 'Shipping options subtitle' + help: + es: 'Texto para subtítulo de métodos de envío' + en: 'Text for shipping options subtitle' + default: + es: 'Métodos de envío' + en: 'Shipping options' +shipping_methods_help: + type: 'text' + required: true + label: + es: 'Ayuda para los métodos de envío' + en: 'Help text for shipping options' + help: + es: 'El texto de la sección' + en: 'Help the client choose a shipping method' + default: + es: 'Completa la dirección de entrega para calcular los métodos de envío.' + en: 'Complete your shipping address to calculate available shipping methods.' +back: + type: 'string' + required: true + label: + es: 'Volver al carrito' + en: 'Back to cart' + help: + es: 'Nombre del botón para volver al carrito' + en: 'Text for Back to cart button' + default: + es: 'Volver al carrito' + en: 'Back to cart' +next_step: + type: 'string' + required: true + label: + es: 'Siguiente paso' + en: 'Next step' + help: + es: 'Texto del botón de pasar al siguiente paso de la compra (el pago)' + en: 'Text for next step button' + default: + es: 'Pagar' + en: 'Payment' +permalink: + type: 'permalink' + required: true + label: + es: 'Dirección de la página' + en: 'Shipment page address' + help: + es: 'La dirección de la página del carrito dentro del sitio' + en: 'The address this page has inside the site url' + default: + es: 'envio/' + en: 'shipment/' +draft: + type: 'boolean' + label: + es: 'Borrador' + en: 'Draft' + help: + es: 'Este artículo aun no está listo para publicar' + en: "This post isn't ready to be published yet" +order: + type: 'order' + label: + es: 'Orden' + en: 'Order' + help: + es: 'La posición del artículo en la lista de artículos' + en: 'The post position in the posts list' diff --git a/_data/layouts/theme.yml b/_data/layouts/theme.yml new file mode 100644 index 0000000..3768ab5 --- /dev/null +++ b/_data/layouts/theme.yml @@ -0,0 +1,255 @@ +--- +title: + type: string + required: true + label: + en: Title + es: Título + help: + en: 'The name you want to give to this customization' + es: 'El nombre que quieras darle a esta personalización' +font_family_sans_serif: + type: predefined_value + label: + en: Select a typography for the site + es: Selecciona una tipografía para el sitio + help: + en: 'If you want us to add support for a typography, please send us an e-mail' + es: 'Si quieres que agreguemos una tipografía, por favor envíanos un e-mail' + default: + en: sans-serif + es: sans-serif + values: + en: + sans-serif: 'Sans Serif' + Roboto: 'Roboto' + es: + sans-serif: 'Sans Serif' + Roboto: 'Roboto' +headings_font_family: + type: predefined_value + label: + en: Select a typography for the headings + es: Selecciona una tipografía para los títulos del sitio + help: + en: 'If you want us to add support for a typography, please send us an e-mail' + es: 'Si quieres que agreguemos una tipografía, por favor envíanos un e-mail' + default: + en: sans-serif + es: sans-serif + values: + en: + sans-serif: 'Sans Serif' + Roboto: 'Roboto' + es: + sans-serif: 'Sans Serif' + Roboto: 'Roboto' +enable_rounded: + type: boolean + label: + en: 'Rounded corners' + es: 'Esquinas redondeadas' + help: + en: 'For buttons, form inputs, etc.' + es: 'De los botones, campos de formularios, etc.' + default: + es: true + en: true +enable_shadows: + type: boolean + label: + en: 'Shadows' + es: 'Sombras' + help: + en: 'Shadows behind elements' + es: 'Sombras en los elementos' + default: + es: true + en: true +body_bg: + type: color + label: + en: 'Background color' + es: 'Color de fondo' + help: + en: "Site's background color" + es: 'Color de fondo del sitio' + default: + es: '#FFFFFF' + en: '#FFFFFF' +body_color: + type: color + label: + en: 'Text color' + es: 'Color del texto' + help: + en: '' + es: '' + default: + es: '#212529' + en: '#212529' +primary: + type: color + label: + en: 'Primary color' + es: 'Color principal' + help: + en: 'Highlights certain elements' + es: 'Resalta algunos elementos' + default: + es: '#007bff' + en: '#007bff' +link_color: + type: color + label: + en: 'Link color' + es: 'Color de los vínculos' + help: + en: '' + es: '' + default: + es: '#007bff' + en: '#007bff' +link_hover_color: + type: color + label: + en: 'Link color when selected' + es: 'Color de los vínculos al seleccionarlos' + help: + en: '' + es: '' + default: + es: '#0056b3' + en: '#0056b3' +h1_font_size: + type: float + unit: rem + label: + en: 'Height for first level headings' + es: 'Altura de los títulos de primer nivel' + help: + en: 'Proportional to font base height. For instance, 2 is double height.' + es: 'En proporción al alto base de la tipografía. Por ejemplo 2 es el doble.' + default: + es: 2.5 + en: 2.5 +h2_font_size: + type: float + unit: rem + label: + en: 'Height for second level headings' + es: 'Altura de los títulos de segundo nivel' + help: + en: 'Proportional to font base height. For instance, 2 is double height.' + es: 'En proporción al alto base de la tipografía. Por ejemplo 2 es el doble.' + default: + es: 2 + en: 2 +h3_font_size: + type: float + unit: rem + label: + en: 'Height for third level headings' + es: 'Altura de los títulos de tercer nivel' + help: + en: 'Proportional to font base height. For instance, 2 is double height.' + es: 'En proporción al alto base de la tipografía. Por ejemplo 2 es el doble.' + default: + es: 1.75 + en: 1.75 +h4_font_size: + type: float + unit: rem + label: + en: 'Height for fourth level headings' + es: 'Altura de los títulos de cuarto nivel' + help: + en: 'Proportional to font base height. For instance, 2 is double height.' + es: 'En proporción al alto base de la tipografía. Por ejemplo 2 es el doble.' + default: + es: 1.5 + en: 1.5 +h5_font_size: + type: float + unit: rem + label: + en: 'Height for fifth level headings' + es: 'Altura de los títulos de quinto nivel' + help: + en: 'Proportional to font base height. For instance, 2 is double height.' + es: 'En proporción al alto base de la tipografía. Por ejemplo 2 es el doble.' + default: + es: 1.25 + en: 1.25 +h6_font_size: + type: float + unit: rem + label: + en: 'Height for sixth level headings' + es: 'Altura de los títulos de sexto nivel' + help: + en: 'Proportional to font base height. For instance, 2 is double height.' + es: 'En proporción al alto base de la tipografía. Por ejemplo 2 es el doble.' + default: + es: 1 + en: 1 +mark_bg: + type: color + label: + en: 'Highlight color' + es: 'Color de resaltado' + help: + en: 'Default color for highlighted text' + es: 'Color por defecto para el texto resaltado' + default: + es: '#fcf8e3' + en: '#fcf8e3' +navbar_light_color: + type: color + label: + en: 'Navigation bar item color' + es: 'Color de ítem en la barra de navegación' + help: + en: 'Text and icons' + es: 'Texto e íconos' + default: + es: '#ced4da' + en: '#ced4da' +navbar_light_hover_color: + type: color + label: + en: 'Navigation bar item color when selected' + es: 'Color de ítem seleccionado en la barra de navegación' + help: + en: 'Text and icons' + es: 'Texto e íconos' + default: + es: '#6c757d' + en: '#6c757d' +navbar_light_active_color: + type: color + label: + en: 'Navigation bar item color when active' + es: 'Color de ítem activo en la barra de navegación' + help: + en: 'Text and icons' + es: 'Texto e íconos' + default: + es: '#212529' + en: '#212529' +order: + type: order + label: + en: Order + es: Orden + help: + en: Position in articles list + es: La posición del artículo en la lista de artículos +draft: + type: boolean + label: + en: Draft + es: Borrador + help: + en: This post isn't ready to be published yet + es: Este artículo aun no está listo para publicar diff --git a/_includes/cart_add.html b/_includes/cart_add.html new file mode 100644 index 0000000..e3cce65 --- /dev/null +++ b/_includes/cart_add.html @@ -0,0 +1,8 @@ + diff --git a/_includes/cart_controller.html b/_includes/cart_controller.html new file mode 100644 index 0000000..424c86d --- /dev/null +++ b/_includes/cart_controller.html @@ -0,0 +1,11 @@ +data-controller="cart" +data-target="stock.product" +data-sku="{{ include.product.sku }}" +data-cart-url="{{ include.product.url }}" +data-cart-variant-id="{{ include.product.variant_id }}" +data-cart-image="{{ include.product.image.path | thumbnail: 212, 300 }}" +data-cart-title="{{ include.product.title }}" +data-cart-price="{{ include.product.price }}" +data-cart-in-stock="{{ include.product.in_stock }}" +data-cart-stock="{{ include.product.stock }}" +data-cart-extra="{{ include.extra | join: '|' }}" diff --git a/_includes/country.html b/_includes/country.html new file mode 100644 index 0000000..92f1284 --- /dev/null +++ b/_includes/country.html @@ -0,0 +1,53 @@ +{% if include.form %} + {%- assign name = include.field[0] | append: ']' | prepend: '[' | prepend: include.form -%} + {%- assign id = include.field[1].id | default: name | replace: '[', '_' | remove: ']' -%} +{% else %} + {%- assign name = include.field[0] -%} + {%- assign id = include.field[1].id | default: name %} +{% endif %} + +{%- assign label = include.field[1].label[site.locale] -%} +{%- assign help = include.field[1].help[site.locale] -%} +{%- assign error = include.field[1].error[site.locale] -%} +{%- assign autocomplete = include.field[1].autocomplete -%} + +
+ {{ include.product.price }} + {{ site.cart.currency }} +
+ + +