Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 6 additions & 5 deletions .github/workflows/check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,18 +9,18 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Carga rama de Git
uses: actions/checkout@v4
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7

- name: Instala Nix
uses: cachix/install-nix-action@v27
uses: cachix/install-nix-action@630ae543ea3a38a9a4166f03376c02c50f408342 # v31.11.0
with:
nix_path: nixpkgs=channel:nixos-unstable

- name: Carga caché Nix
uses: DeterminateSystems/magic-nix-cache-action@v8
uses: DeterminateSystems/magic-nix-cache-action@55718cd9ebf1737a061487d5ada21abf31e99a98 # v14

- name: Carga caché general
uses: actions/cache@v4
uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
with:
path: |
.direnv
Expand All @@ -31,8 +31,9 @@ jobs:

- name: Información del entorno
run: |
echo $HOME
nix develop .#ci --command pnpm store path
echo "HOME=$HOME"
echo "ELM_HOME=$ELM_HOME"

- name: Verifica
run: nix develop .#ci --command just check
13 changes: 6 additions & 7 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,26 +5,24 @@ on:
branches:
- master
workflow_dispatch:
branches:
- master

jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Carga rama de Git
uses: actions/checkout@v4
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7

- name: Instala Nix
uses: cachix/install-nix-action@v27
uses: cachix/install-nix-action@630ae543ea3a38a9a4166f03376c02c50f408342 # v31.11.0
with:
nix_path: nixpkgs=channel:nixos-unstable

- name: Carga caché Nix
uses: DeterminateSystems/magic-nix-cache-action@v8
uses: DeterminateSystems/magic-nix-cache-action@55718cd9ebf1737a061487d5ada21abf31e99a98 # v14

- name: Carga caché general
uses: actions/cache@v4
uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
with:
path: |
.direnv
Expand All @@ -35,8 +33,9 @@ jobs:

- name: Información del entorno
run: |
echo $HOME
nix develop .#ci --command pnpm store path
echo "HOME=$HOME"
echo "ELM_HOME=$ELM_HOME"

- name: Sube a GH Pages
run: |
Expand Down
12 changes: 12 additions & 0 deletions .markdownlint.jsonc
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"default": false,
"heading-increment": false,
"link-fragments": true,
"link-image-reference-definitions": true,
"links": true,
"no-duplicate-heading": true,
"no-empty-links": true,
"reference-links-images": true,
"single-title": true,
"table-column-count": true
}
2 changes: 1 addition & 1 deletion book/appendix/function_types.md
Original file line number Diff line number Diff line change
Expand Up @@ -135,4 +135,4 @@ Esto es interesante porque nos permite hacer que el código se lea de izquierda

> **Nota:** Yo, personalmente, prefiero cómo queda en el “antes” del ejemplo, pero tal vez es porque aprendí programación funcional en lenguajes que no permiten tuberías.

[pipe]: https://package.elm-lang.org/packages/elm/core/latest/Basics#|>
[pipe]: https://package.elm-lang.org/packages/elm/core/latest/Basics#|%3E
2 changes: 1 addition & 1 deletion book/architecture/forms.md
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ viewValidation model =

Es bastante similar a nuestro [ejemplo de campos de texto](text_fields.md), pero con más campos.

# Modelo
## Modelo

Yo siempre empiezo pensando en el `Modelo`. Sabemos que vamos a necesitar tres campos de texto, así que partamos con eso.

Expand Down
2 changes: 1 addition & 1 deletion book/core_language.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ Prueba juntar varios strings con el operador `(++)` ⬆️

Estos valores primitivos que hemos visto se vuelven más interesantes a medida que escribamos funciones para transformarlos.

> **Nota:** Puedes leer más sobre distintos operadores, como [`(+)`](op-plus), [`(/)`](op-div) y [`(++)`](op-concat) en la documentación del módulo [`Basics`](core-basics). Lamentablemente, esta documentación está en inglés, pero está escrita en un lenguaje muy poco técnico, y aunque sea con traducción automática, creo que vale la pena darle una leída una vez que te parezca apropiado.
> **Nota:** Puedes leer más sobre distintos operadores, como [`(+)`][op-plus], [`(/)`][op-div] y [`(++)`][op-concat] en la documentación del módulo [`Basics`][core-basics]. Lamentablemente, esta documentación está en inglés, pero está escrita en un lenguaje muy poco técnico, y aunque sea con traducción automática, creo que vale la pena darle una leída una vez que te parezca apropiado.

[op-plus]: https://package.elm-lang.org/packages/elm/core/latest/Basics#+
[op-div]: https://package.elm-lang.org/packages/elm/core/latest/Basics#/
Expand Down
2 changes: 1 addition & 1 deletion book/effects/json.md
Original file line number Diff line number Diff line change
Expand Up @@ -149,7 +149,7 @@ Este ejemplo se parece mucho al anterior:

La principal diferencia está en la definición de `getRandomQuote`. En vez de usar `Http.expectString`, lo hemos cambiado a `Http.expectJson`. ¿Qué significa esto?

## JSON
## Datos JSON

Si le pides a [`/api/random-quotes`](https://elm-lang.org/api/random-quotes) una cita aleatoria, el servidor produce un poco de JSON con esta estructura:

Expand Down
1 change: 0 additions & 1 deletion book/effects/time.md
Original file line number Diff line number Diff line change
Expand Up @@ -176,7 +176,6 @@ Leer la documentación de [`Task`][task] es la mejor manera de entender esa lín

<!-- TODO: Añadir explicación breve de Task, para no depender de la documentación en inglés. -->

[utc]: https://package.elm-lang.org/packages/elm/time/latest/Time#utc
[task]: https://package.elm-lang.org/packages/elm/core/latest/Task

> **Ejercicios:**
Expand Down
3 changes: 0 additions & 3 deletions book/interop/flags.md
Original file line number Diff line number Diff line change
Expand Up @@ -135,20 +135,17 @@ Mucha gente prefiere usar `Json.Decode.Value` porque les otorga un control más
Los otros tipos que Elm soporta son un rezago de la época antes de que existieran los decodificadores JSON. Si decides usar estos otros tipos, hay ciertos detalles a tener en cuenta. Los siguientes ejemplos muestran el tipo deseado de la flag, y en forma anidada se ilustra cómo se interpretan distintos valores JS:

- `init : Int -> ...`

- `0` → `0`
- `7` → `7`
- `3.14` → error
- `6.12` → error

- `init : Maybe Int -> ...`

- `null` → `Nothing`
- `42` → `Just 42`
- `"hi"` → error

- `init : { x : Float, y : Float } -> ...`

- `{ x: 3, y: 4, z: 50 }` → `{ x = 3, y = 4 }`
- `{ x: 3, name: "Tom" }` → error
- `{ x: 360, y: "why?" }` → error
Expand Down
2 changes: 1 addition & 1 deletion book/interop/ports.md
Original file line number Diff line number Diff line change
Expand Up @@ -254,7 +254,7 @@ En este caso lo hacemos al recibir un mensaje vía websocket, pero podríamos en

Aquí tienes algunas sugerencias y soluciones a problemas frecuentes:

- **Es recomendado enviar `Json.Encode.Value` en tus puertos.** Igual que con flags, hay ciertos tipos básicos que pueden transmitirse vía puertos. Esto viene del tiempo antes de que existieran los decodificadores de JSON, y puedes leer más al respecto [aquí](/interop/flags.html#verifying-flags).
- **Es recomendado enviar `Json.Encode.Value` en tus puertos.** Igual que con flags, hay ciertos tipos básicos que pueden transmitirse vía puertos. Esto viene del tiempo antes de que existieran los decodificadores de JSON, y puedes leer más al respecto [aquí](/interop/flags.html#verificando-las-flags).

- **Todas las declaraciones `port` deben aparecer en un `port module`.** Probablemente lo mejor es organizar tus puertos en un sólo `port module` para que sea más fácil visualizar la interfaz, toda en un sólo lugar.

Expand Down
2 changes: 1 addition & 1 deletion book/optimization/lazy.md
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ Este proceso de comparación hace posible minimizar la manipulación del DOM. Si

Dicho esto, ¿podemos reducir aún más el trabajo necesario?

## `Html.Lazy`
## Módulo `Html.Lazy`

El módulo [`Html.Lazy`](https://package.elm-lang.org/packages/elm/html/latest/Html-Lazy/) nos permite incluso ahorrarnos la construcción de los nodos virtuales. La pieza central es la función `lazy`:

Expand Down
3 changes: 0 additions & 3 deletions book/webapps/navigation.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,9 +42,6 @@ En vez de cargar nuevo HTML, estas tres adiciones nos dan control completo sobre

[u]: https://package.elm-lang.org/packages/elm/url/latest/Url#Url
[ur]: https://package.elm-lang.org/packages/elm/browser/latest/Browser#UrlRequest
[bn]: https://package.elm-lang.org/packages/elm/browser/latest/Browser-Navigation
[bnp]: https://package.elm-lang.org/packages/elm/browser/latest/Browser-Navigation#pushUrl
[bnl]: https://package.elm-lang.org/packages/elm/browser/latest/Browser-Navigation#load

## Ejemplo

Expand Down
12 changes: 6 additions & 6 deletions flake.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 4 additions & 3 deletions flake.nix
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,10 @@
pkgs.alejandra
pkgs.elmPackages.elm
pkgs.just
pkgs.nodePackages.pnpm
pkgs.nodePackages.prettier
pkgs.nodePackages.uglify-js
pkgs.markdownlint-cli
pkgs.pnpm
pkgs.prettier
pkgs.uglify-js
pkgs.nodejs-slim_22
];
in {
Expand Down
3 changes: 2 additions & 1 deletion justfile
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,8 @@ format:

# Verifica que todo funcione y que los archivos estén formateados.
check: build
prettier '**/*.{md,json,yml}' --check
markdownlint book/
prettier '**/*.{md,json,yml,css}' --check
alejandra *.nix --check

# Publica en Github Pages.
Expand Down
2 changes: 2 additions & 0 deletions pnpm-workspace.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
allowBuilds:
elm-format: false