# Overview

> Este proyecto tiene como objetivo simplificar el proceso de instalación cuando se inicia un proyecto de Craft desde cero. Contiene plugins y templates que generalmente son usados en los proyecto de **Brand Industry**.

## Contenido del repositorio

#### **¡IMPORTANTE!** En caso de que no vayas a usar algún plugin pre-instalado, asegúrate de desinstalarlo.

- npm packages
  - package.json scripts para vite
- File system
  - src/js/app.js
  - src/scss/app.scss
  - web/img
  - web/uploads
  - vite.config.js
- Volumes
  - Uploads
- Plugins
  - Freeform
  - Contact Form
  - Contact Form Honeypot
  - Super table
  - SEOmatic
  - Element API
  - Redactor
  - Typed link field
  - Sprig
  - Wordsmith
- Components
  - Header
    - Headroom
  - Footer
  - Mobile menu
- Sections
  - Home
- Partials
  - Head

# Requirements

- Docker
- DDEV instalado

# Setup

### Configurar el proyecto

##### **- Asegúrate de cambiar el nombre del proyecto en DDEV -**

```
ddev config
```

### Arrancar proyecto

```
ddev start
```

### Agrega tus llaves al contenedor

```
ddev auth ssh
```

### Instalar las dependencias de composer

```
ddev exec composer install
```

### Instalar las dependencias de node

```
ddev exec npm install
```

### Copiar archivo .env

```
cp .env.example.dev .env
```

### Obtener información del proyecto

```
ddev describe
```

### Instalar Craft CMS

```
ddev exec php craft setup
```

## Importante
### Regenerar la licencia de Craft
```
rm config/license.key && ./craft clear-caches/all
```
Si omites la regeneración de la llave, más adelante tendrás un problema de duplicación de llaves en el CP de Craft.

# Run Vite

### Los comandos para compilar los archivos JS y SCSS son diferentes, presta atención

#### **1.- Para compilar los archivos en local ejecuta el siguiente comando:**

```
ddev exec npm run watch
```

#### **2.- Compila tus archivos para producción con el siguiente comando:**

```
ddev exec npm run build
```

# Pull db & assets

> Esta sección solo aplica si el repositorio esta en producción 👀

### Copy .env.sh.example

##### - Recuerda modificar el archivo con las credenciales del proyecto. -

```
cp scripts/.env.sh.example ./scripts/.env.sh
```

### Pull db

```
ddev exec ./scripts/pull_db.sh
```

### Pull assets

```
ddev exec ./scripts/pull_assets.sh
```

# Prettier

Este proyecto utiliza [Prettier para VSCode](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode), una extensión para mejorar la uniformidad, estructura y formato de los archivos del proyecto.

Para habilitar el formateo automático en el editor, es necesario agregar esta linea en el archivo settings.json de tu editor:

```
"editor.formatOnSave": true
```

