es blog: add shiki transformers
This commit is contained in:
parent
e83d3ba276
commit
7768e3c206
@ -7,6 +7,7 @@ import {
|
|||||||
transformerMetaHighlight,
|
transformerMetaHighlight,
|
||||||
transformerNotationHighlight,
|
transformerNotationHighlight,
|
||||||
transformerNotationErrorLevel,
|
transformerNotationErrorLevel,
|
||||||
|
transformerNotationWordHighlight,
|
||||||
} from '@shikijs/transformers'
|
} from '@shikijs/transformers'
|
||||||
|
|
||||||
// https://astro.build/config
|
// https://astro.build/config
|
||||||
@ -24,6 +25,7 @@ export default defineConfig({
|
|||||||
transformerMetaHighlight(),
|
transformerMetaHighlight(),
|
||||||
transformerNotationHighlight(),
|
transformerNotationHighlight(),
|
||||||
transformerNotationErrorLevel(),
|
transformerNotationErrorLevel(),
|
||||||
|
transformerNotationWordHighlight(),
|
||||||
],
|
],
|
||||||
defaultColor: false,
|
defaultColor: false,
|
||||||
}
|
}
|
||||||
|
@ -81,10 +81,6 @@ pre.astro-code>code .line::before {
|
|||||||
.astro-code,
|
.astro-code,
|
||||||
.astro-code span {
|
.astro-code span {
|
||||||
color: var(--shiki-dark) !important;
|
color: var(--shiki-dark) !important;
|
||||||
/* Optional, if you also want font styles */
|
|
||||||
font-style: var(--shiki-dark-font-style) !important;
|
|
||||||
font-weight: var(--shiki-dark-font-weight) !important;
|
|
||||||
text-decoration: var(--shiki-dark-text-decoration) !important;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -100,12 +96,14 @@ pre.astro-code>code .line::before {
|
|||||||
/* Shiki transformers */
|
/* Shiki transformers */
|
||||||
.astro-code {
|
.astro-code {
|
||||||
--shiki-highlight-color: #cccccc;
|
--shiki-highlight-color: #cccccc;
|
||||||
|
--shiki-highlight-word-color: #aaaaaa;
|
||||||
--shiki-error-bg-color: rgba(244, 63, 63, 0.25);
|
--shiki-error-bg-color: rgba(244, 63, 63, 0.25);
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (prefers-color-scheme: dark) {
|
@media (prefers-color-scheme: dark) {
|
||||||
.astro-code {
|
.astro-code {
|
||||||
--shiki-highlight-color: #343434;
|
--shiki-highlight-color: #343434;
|
||||||
|
--shiki-highlight-word-color: #3a3a3a;
|
||||||
--shiki-error-bg-color: rgba(244, 63, 94, 0.16);
|
--shiki-error-bg-color: rgba(244, 63, 94, 0.16);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -123,7 +121,12 @@ pre.astro-code>code .line::before {
|
|||||||
background-color: var(--shiki-error-bg-color) !important;
|
background-color: var(--shiki-error-bg-color) !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.line .highlighted-word {
|
||||||
|
border: 1px solid var(--shiki-highlight-word-color);
|
||||||
|
border-radius: 0.25rem;
|
||||||
|
padding: 1px 3px;
|
||||||
|
margin: -1px -1px;
|
||||||
|
}
|
||||||
|
|
||||||
.line_
|
.line_
|
||||||
|
|
||||||
|
@ -55,7 +55,7 @@ Entra a `src/main.zig` y reemplaza todo el código que está ahí
|
|||||||
por el código de arriba.
|
por el código de arriba.
|
||||||
|
|
||||||
> Nota: Puede que notes que las imágenes no sean exáctamente
|
> Nota: Puede que notes que las imágenes no sean exáctamente
|
||||||
iguales a como cuando tu escribas el código.
|
iguales a como cuando escribas el código.
|
||||||
No te preocupes, no es un problema.
|
No te preocupes, no es un problema.
|
||||||
|
|
||||||
Una vez que hayas modificado el código, verás un punto blanco arriba:
|
Una vez que hayas modificado el código, verás un punto blanco arriba:
|
||||||
|
@ -69,7 +69,7 @@ saber que se pueden utilizar.
|
|||||||
const std = @import("zig");
|
const std = @import("zig");
|
||||||
|
|
||||||
pub fn main() !void {
|
pub fn main() !void {
|
||||||
const nombre = "Juan";
|
const nombre = "Juan"; // [!code focus:4]
|
||||||
const apellido = "Perez";
|
const apellido = "Perez";
|
||||||
std.debug.print("{s} {s}", .{nombre, apellido});
|
std.debug.print("{s} {s}", .{nombre, apellido});
|
||||||
// Imprime: `Juan Perez`
|
// Imprime: `Juan Perez`
|
||||||
|
@ -29,7 +29,7 @@ Digamos que la persona se llama `Juan`. El código es así:
|
|||||||
const std = @import("std");
|
const std = @import("std");
|
||||||
|
|
||||||
pub fn main() !void {
|
pub fn main() !void {
|
||||||
std.debug.print("Hola {s}\n", .{"Juan"});
|
std.debug.print("Hola {s}\n", .{"Juan"}); // [!code focus:3]
|
||||||
std.debug.print("Tu pedido cuesta {s} dolares\n", .{"20"});
|
std.debug.print("Tu pedido cuesta {s} dolares\n", .{"20"});
|
||||||
std.debug.print("Adios {s}\n", .{"Juan"});
|
std.debug.print("Adios {s}\n", .{"Juan"});
|
||||||
}
|
}
|
||||||
@ -47,7 +47,7 @@ Entonces tendríamos que repetirlo 10 veces.
|
|||||||
const std = @import("std");
|
const std = @import("std");
|
||||||
|
|
||||||
pub fn main() !void {
|
pub fn main() !void {
|
||||||
std.debug.print("Hola {s}\n", .{"Juan"});
|
std.debug.print("Hola {s}\n", .{"Juan"}); // [!code focus:10]
|
||||||
std.debug.print("Hola {s}\n", .{"Juan"});
|
std.debug.print("Hola {s}\n", .{"Juan"});
|
||||||
std.debug.print("Hola {s}\n", .{"Juan"});
|
std.debug.print("Hola {s}\n", .{"Juan"});
|
||||||
std.debug.print("Hola {s}\n", .{"Juan"});
|
std.debug.print("Hola {s}\n", .{"Juan"});
|
||||||
@ -86,10 +86,10 @@ y a partir de ese momento cada vez que usemos
|
|||||||
Por ejemplo:
|
Por ejemplo:
|
||||||
|
|
||||||
```zig
|
```zig
|
||||||
const std = @import("std");
|
const std = @import("std"); // [!code word:nombre]
|
||||||
|
|
||||||
pub fn main() !void {
|
pub fn main() !void {
|
||||||
const nombre = "Juan";
|
const nombre = "Juan"; // [!code focus:2] // [!code highlight]
|
||||||
std.debug.print("Hola {s}\n", .{nombre});
|
std.debug.print("Hola {s}\n", .{nombre});
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
@ -108,10 +108,10 @@ Podemos utilizar la variable las veces que queramos.
|
|||||||
Si imprimimos 10 veces se vería así:
|
Si imprimimos 10 veces se vería así:
|
||||||
|
|
||||||
```zig
|
```zig
|
||||||
const std = @import("std");
|
const std = @import("std"); // [!code word:nombre]
|
||||||
|
|
||||||
pub fn main() !void {
|
pub fn main() !void {
|
||||||
const nombre = "Juan";
|
const nombre = "Juan"; // [!code focus:11]
|
||||||
std.debug.print("Hola {s}\n", .{nombre});
|
std.debug.print("Hola {s}\n", .{nombre});
|
||||||
std.debug.print("Hola {s}\n", .{nombre});
|
std.debug.print("Hola {s}\n", .{nombre});
|
||||||
std.debug.print("Hola {s}\n", .{nombre});
|
std.debug.print("Hola {s}\n", .{nombre});
|
||||||
@ -133,10 +133,10 @@ Ahora, si queremos cambiar `Juan` por `Maria`,
|
|||||||
solo tenemos que hacerlo en un lugar:
|
solo tenemos que hacerlo en un lugar:
|
||||||
|
|
||||||
```zig
|
```zig
|
||||||
const std = @import("std");
|
const std = @import("std"); // [!code word:nombre]
|
||||||
|
|
||||||
pub fn main() !void {
|
pub fn main() !void {
|
||||||
const nombre = "Maria";
|
const nombre = "Maria"; // [!code focus:11]
|
||||||
std.debug.print("Hola {s}\n", .{nombre});
|
std.debug.print("Hola {s}\n", .{nombre});
|
||||||
std.debug.print("Hola {s}\n", .{nombre});
|
std.debug.print("Hola {s}\n", .{nombre});
|
||||||
std.debug.print("Hola {s}\n", .{nombre});
|
std.debug.print("Hola {s}\n", .{nombre});
|
||||||
|
@ -31,9 +31,11 @@ y terminan cuando acaba la linea.
|
|||||||
|
|
||||||
|
|
||||||
```zig
|
```zig
|
||||||
// Este es un comentario
|
const std = @import("std");
|
||||||
|
|
||||||
|
// Este es un comentario // [!code highlight]
|
||||||
pub fn main() !void {
|
pub fn main() !void {
|
||||||
// Este también es un comentario
|
// Este también es un comentario // [!code highlight]
|
||||||
std.debug.print("Hola", .{});
|
std.debug.print("Hola", .{});
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
@ -45,20 +47,23 @@ Si quieres un comentario que abarque varias lineas,
|
|||||||
cada linea debe iniciar con doble slash:
|
cada linea debe iniciar con doble slash:
|
||||||
|
|
||||||
```zig
|
```zig
|
||||||
|
const std = @import("std");
|
||||||
|
|
||||||
pub fn main() !void {
|
pub fn main() !void {
|
||||||
// Este es un comentario
|
// Este es un comentario // [!code highlight:3] // [!code focus:4]
|
||||||
// que ocupa 3 lineas
|
// que ocupa 3 lineas
|
||||||
// de texto :D
|
// de texto :D
|
||||||
std.debug.print("Hola", .{});
|
std.debug.print("Hola", .{});
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
También puedes escribir un comentario en
|
También puedes escribir un comentario al final
|
||||||
medio de una linea con código, pero no
|
de una linea con código, pero no es recomendable.
|
||||||
es recomendable.
|
|
||||||
|
|
||||||
```zig
|
```zig
|
||||||
pub fn main() !void { // Este es un comentario
|
const std = @import("std");
|
||||||
|
|
||||||
|
pub fn main() !void { // Este es un comentario al final
|
||||||
std.debug.print("Hola", .{}); // Este también
|
std.debug.print("Hola", .{}); // Este también
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
@ -84,7 +89,7 @@ es el siguiente:
|
|||||||
const std = @import("std");
|
const std = @import("std");
|
||||||
|
|
||||||
pub fn main() !void {
|
pub fn main() !void {
|
||||||
std.debug.print("{d}", .{322});
|
std.debug.print("{d}", .{322}); // [!code focus] // [!code highlight]
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -107,7 +112,7 @@ También podemos utilizar números en variables:
|
|||||||
const std = @import("std");
|
const std = @import("std");
|
||||||
|
|
||||||
pub fn main() !void {
|
pub fn main() !void {
|
||||||
const edad = 32;
|
const edad = 32; // [!code focus:3] // [!code highlight]
|
||||||
// Imprime: `Tengo 32 años`
|
// Imprime: `Tengo 32 años`
|
||||||
std.debug.print("Tengo {d} años", .{edad});
|
std.debug.print("Tengo {d} años", .{edad});
|
||||||
}
|
}
|
||||||
@ -155,14 +160,14 @@ refiera a los números enteros.
|
|||||||
Ahora que sabemos cómo crear números (int), podemos hacer
|
Ahora que sabemos cómo crear números (int), podemos hacer
|
||||||
operaciones con ellos.
|
operaciones con ellos.
|
||||||
|
|
||||||
Zig soporta las operaciones que conoces: suma `+`,
|
Zig ofrece las operaciones que conoces: suma `+`,
|
||||||
resta `-`, multiplicación `*` y división `/`.
|
resta `-`, multiplicación `*` y división `/`.
|
||||||
|
|
||||||
```zig
|
```zig
|
||||||
const std = @import("std");
|
const std = @import("std");
|
||||||
|
|
||||||
pub fn main() !void {
|
pub fn main() !void {
|
||||||
const r1 = 9 + 3; // 12
|
const r1 = 9 + 3; // 12 // [!code focus:7]
|
||||||
const r2 = 9 - 3; // 6
|
const r2 = 9 - 3; // 6
|
||||||
const r1 = 9 * 3; // 27
|
const r1 = 9 * 3; // 27
|
||||||
const r1 = 9 / 3; // 3
|
const r1 = 9 / 3; // 3
|
||||||
|
Loading…
Reference in New Issue
Block a user