-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #7 from nujovich/feature/spanish-docs-support
Spanish documentation support
- Loading branch information
Showing
12 changed files
with
442 additions
and
7 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,125 @@ | ||
--- | ||
title: Uso Avanzado | ||
description: Cakecutter | Uso Avanzado | ||
layout: ../../layouts/MainLayout.astro | ||
--- | ||
|
||
Es posible que aún prefieras un cli personalizado dado que puedes usar alguna biblioteca de interfaz de usuario de terminal elegante para hacer preguntas basadas en los archivos que crees. ¿Sabías que cakecutter también puede hacer eso? ¿No es genial? | ||
|
||
|
||
## Realizar preguntas | ||
|
||
Puedes realizar preguntas adhiriendo un atributo en la tabla `[questions]`:- | ||
|
||
```toml | ||
[[questions.a]] # <- El id que escribas aquí será usado para devolver las respuestas | ||
ques = "Te gusta la Manzana o el Mango" | ||
type = "select" | ||
options = ["Manzana", "Mango"] | ||
|
||
[[questions.name]] | ||
ques = "¿Cuál es tu nombre?" | ||
type = "input" | ||
default = "Prefiero no decirlo" | ||
``` | ||
|
||
- `ques` - La pregunta que se hará | ||
- `options` - Las opciones para `select` (sólo funcionará para el tipo select) | ||
- `default` - El valor por defecto (sólo funcionará para el tipo input) | ||
- `type` - El tipo de pregunta | ||
|
||
### Tipos de pregunta | ||
|
||
Existen dos tipos - | ||
|
||
- `input` - El tipo input es la entrada normal de usuario. La respuesta puede ser cualquier cosa. | ||
- `select` - En el tipo select, se le da al usuario un numéro de opciones de las cuales debe seleccionar una. | ||
- `menu` - Un alias para `select` | ||
|
||
Antes de crear la plantilla, el usuario deberá realizar las preguntas y las respuestas serán guardadas | ||
|
||
## Creando ficheros u archivos basados en respuestas | ||
|
||
¿Recuerdas el valor `true` que debes ingresar si quieres que un fichero o archivo sea creado? Ahora puedes usar el lenguaje de plantillas para retornar `true` o `false` basándote en la respuesta que obtengas. | ||
|
||
```toml | ||
"manzana" = ''' | ||
{{if eq (index . "id") "value"}} | ||
true | ||
{{else}} | ||
false | ||
{{end}} | ||
''' | ||
``` | ||
|
||
> El `id` aquí es el id de la pregunta. Y el `value` es el valor con el que se debe comparar la respuesta a la pregunta | ||
Esto es equivalente a :- | ||
|
||
```js | ||
if (answers["id"] == "value") { | ||
return true; | ||
} else { | ||
return false; | ||
} | ||
``` | ||
|
||
Puedes aprender más acerca del lenguaje de plantillas [aquí](https://pkg.go.dev/text/template) | ||
|
||
## Contenido de fichero dinámico | ||
|
||
Puedes usar el mismo lenguaje de plantillas para crear contenido dinámico | ||
|
||
```toml | ||
[contents] | ||
"test.json" = ''' | ||
{ | ||
"name": "{{index . "name"}}" | ||
} | ||
''' | ||
``` | ||
|
||
> Aquí `name` es el id de la pregunta | ||
Equivalente de la documentación de JS con string:- | ||
|
||
```js | ||
`{ | ||
"name": "${answers["name"]}" | ||
}`; | ||
``` | ||
|
||
Puedes aprender más acerca del lenguaje de plantillas [aquí](https://pkg.go.dev/text/template) | ||
|
||
## Corriendo comandos basados en respuestas | ||
|
||
Puedes usar el mismo lenguaje de plantillas para retornar `true` o `false`. Si la respuesta es `true`, el comando será invocado | ||
|
||
```toml | ||
[commands] | ||
"npm init -y" = ''' | ||
{{if eq (index . "id") "value"}} | ||
true | ||
{{else}} | ||
false | ||
{{end}} | ||
''' | ||
``` | ||
|
||
> Aquí `id` es el id de la pregunta y el `value` es la respuesta con la que se compara | ||
Esto es equivalente a :- | ||
|
||
```js | ||
if (answers["id"] == "value") { | ||
return "true"; | ||
} else { | ||
return "false"; | ||
} | ||
``` | ||
|
||
Puedes aprender más acerca del lenguaje de plantillas [aquí](https://pkg.go.dev/text/template) | ||
|
||
## Cerrando la sección | ||
|
||
Vienen nuevos features en camino, así que mantente en sintonía. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,103 @@ | ||
--- | ||
title: Creando Cakes | ||
description: Cakecutter | Creando Cakes | ||
layout: ../../layouts/MainLayout.astro | ||
--- | ||
|
||
> Todos los archivos de plantillas están en formato [`.toml`](https://toml.io/en/), lo cual hace fácil editar y compartir con otras personas. | ||
## El Metadata de Cake | ||
|
||
El Metadata de Cake consiste en dos propiedades :- | ||
|
||
- `name` :- El nombre de la cake | ||
- `description` :- La descripción de la cake | ||
|
||
### Ejemplo | ||
|
||
```toml | ||
[metadata] | ||
name = "cakecutter" | ||
description = "Una descripción genial" | ||
``` | ||
|
||
## Doblando la Mantequilla (Folding the butter) | ||
|
||
Batter (o Mantenquilla en español) son los comandos que se corren antes de la creación de ficheros u archivos. | ||
|
||
```toml | ||
[batter] | ||
1 = [ | ||
"git init", "true" | ||
] | ||
2 = [ | ||
"go mod init", "true" | ||
] | ||
``` | ||
La razón de que `true` esté ahí es porque le indica a `cakecutter` corre esto, tiene que estar ahí, de lo contrario el comando no será invocado. | ||
Dirígete a la sección de [`Uso Avanzado`](/es/advanced-usage) para más información. | ||
|
||
## Estructura del fichero | ||
|
||
Para crear un archivo/directorio, pon el nombre en la tabla `[filestructure]` como key, y `true` como valor. | ||
|
||
```toml | ||
[filestructure] | ||
"main.go" = "true" | ||
"bin/" = "true" # << Para crear un directorio, pon / al final | ||
``` | ||
|
||
El valor `true` le indica a `cakecutter` que cree esto; si el valor no contiene `true`, no se creará el fichero/directorio. | ||
La razón de este comportamiento es debido al dinamismo de `filestructure`. Mientras se crea la plantilla, `cakecutter` hará preguntas al autor de la cake. En base a sus respuestas, los ficheros son creados. | ||
|
||
Para la configuración de preguntas, dirígete a la sección de [`Uso Avanzado`](/es/advanced-usage). | ||
|
||
## Contenido del fichero | ||
|
||
Para crear contenido en un fichero, pon el nombre de éste en la tabla `[content]` como la key y el contenido como valor. | ||
|
||
```toml | ||
[content] | ||
"main.go" = ''' | ||
package main | ||
import "fmt" | ||
func main() { | ||
fmt.Println("Hola mamá") | ||
} | ||
''' | ||
``` | ||
|
||
> Nota: Puedes usar cadenas de texto multilínea mediante 3 comillas dobles `""" """` | ||
Contenido dinámico es también posible mediante lenguaje de plantillas. Dirígete a la sección de [`Uso Avanzado`]('/es/advanced-usage') para más información. | ||
|
||
## Espolvorear algunos ingredientes adicionales | ||
|
||
Los ingredientes adicionales (toppings) son como la mantequilla o butter, pero con la diferencia de que se corren luego de que el setup esté completo. | ||
|
||
|
||
```toml | ||
[toppings] | ||
1 = [ | ||
"go mod init example.com/hello", "true" | ||
] | ||
2 = [ | ||
"go build -o bin/cakecutter.exe" = "true" | ||
] | ||
``` | ||
|
||
## Cerrando la sección | ||
|
||
La cake está terminada, guarda todo y sólo corre | ||
|
||
``` | ||
cc local <path-to-the-file.toml> <directory> | ||
``` | ||
|
||
> `directory` es el nombre del directorio donde la plantilla va a ser creada | ||
La plantilla debe ser creada en ese directorio.<br> | ||
|
||
Dirígete a la sección de [`Cómo publicar una cake`](/es/publishing-cakes) si quieres que la cake sea usada por todos. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
--- | ||
title: Ejemplo | ||
description: Cakecutter | Ejemplo | ||
layout: ../../layouts/MainLayout.astro | ||
--- | ||
|
||
### Ejemplo básico de una Cake | ||
|
||
Aquí verás un ejemplo básico de una cake que pregunta por el nombre de usuario y crea un fichero cuyo contenido será el nombre de dicho usuario. | ||
|
||
```toml | ||
[metadata] | ||
name = "name-printer" | ||
description = "Muestra tu nombre en el fichero en segundos!" # XD | ||
|
||
[[questions.name]] | ||
ques = "¿Cuál es tu nombre?" | ||
type = "input" | ||
|
||
[filestructure] | ||
"name.txt" = "true" | ||
|
||
[content] | ||
"name.txt" = ''' | ||
{{index .Ans "name"}} | ||
''' | ||
``` |
Oops, something went wrong.