From ca62398a329ee2ffe2cc605223877cc75ad52245 Mon Sep 17 00:00:00 2001 From: wilovy Date: Wed, 21 Jan 2026 02:06:17 -0600 Subject: [PATCH 1/9] chore: :truck: Remove `shared` folder --- src/components/editor/CodeEditor.astro | 87 ++++++++ src/components/{shared => }/editor/config.ts | 2 +- .../{shared => }/editor/keywords.ts | 0 src/components/editor/output/Terminal.astro | 186 ++++++++++++++++++ .../{shared => }/editor/output/renderer.ts | 0 src/components/{shared => }/editor/theme.ts | 0 .../{shared => }/footer/Footer.astro | 0 .../{shared => }/sections/Section.astro | 0 src/components/shared/editor/CodeEditor.astro | 80 -------- .../shared/editor/output/Terminal.astro | 168 ---------------- .../{shared => }/sidebar/Sidebar.astro | 0 .../sidebar/ToggleSidebarButton.astro | 0 src/features/content/components/Navbar.astro | 12 +- src/features/home/components/Community.astro | 14 +- src/features/home/components/Hero.astro | 2 +- src/features/home/components/Playground.astro | 30 ++- src/pages/[slug].astro | 120 +++++++---- src/pages/index.astro | 2 +- 18 files changed, 403 insertions(+), 300 deletions(-) create mode 100644 src/components/editor/CodeEditor.astro rename src/components/{shared => }/editor/config.ts (94%) rename src/components/{shared => }/editor/keywords.ts (100%) create mode 100644 src/components/editor/output/Terminal.astro rename src/components/{shared => }/editor/output/renderer.ts (100%) rename src/components/{shared => }/editor/theme.ts (100%) rename src/components/{shared => }/footer/Footer.astro (100%) rename src/components/{shared => }/sections/Section.astro (100%) delete mode 100644 src/components/shared/editor/CodeEditor.astro delete mode 100644 src/components/shared/editor/output/Terminal.astro rename src/components/{shared => }/sidebar/Sidebar.astro (100%) rename src/components/{shared => }/sidebar/ToggleSidebarButton.astro (100%) diff --git a/src/components/editor/CodeEditor.astro b/src/components/editor/CodeEditor.astro new file mode 100644 index 0000000..3182f92 --- /dev/null +++ b/src/components/editor/CodeEditor.astro @@ -0,0 +1,87 @@ +--- +interface Props { + slug: string + initialCode?: string +} + +const { slug, initialCode = 'fn main() {\n println!("Hola, mundo!");\n}\n' } = Astro.props +--- + +
+
+ + diff --git a/src/components/shared/editor/config.ts b/src/components/editor/config.ts similarity index 94% rename from src/components/shared/editor/config.ts rename to src/components/editor/config.ts index 4445bb6..dc4b33c 100644 --- a/src/components/shared/editor/config.ts +++ b/src/components/editor/config.ts @@ -8,7 +8,7 @@ import { LRLanguage, } from "@codemirror/language" import { parser } from "@lezer/rust" -import { rustCompletions } from "~/components/shared/editor/keywords" +import { rustCompletions } from "~/components/editor/keywords" const rustLanguage = LRLanguage.define({ name: "rust", diff --git a/src/components/shared/editor/keywords.ts b/src/components/editor/keywords.ts similarity index 100% rename from src/components/shared/editor/keywords.ts rename to src/components/editor/keywords.ts diff --git a/src/components/editor/output/Terminal.astro b/src/components/editor/output/Terminal.astro new file mode 100644 index 0000000..b22895d --- /dev/null +++ b/src/components/editor/output/Terminal.astro @@ -0,0 +1,186 @@ +--- +import IconLoader2 from "~icons/tabler/loader-2" +import IconPlayerPlay from "~icons/tabler/player-play" +import IconTerminal from "~icons/tabler/terminal" +--- + + +
+
+
+ +
+
+
+ $ + cargo run +
+
+
+ + diff --git a/src/components/shared/editor/output/renderer.ts b/src/components/editor/output/renderer.ts similarity index 100% rename from src/components/shared/editor/output/renderer.ts rename to src/components/editor/output/renderer.ts diff --git a/src/components/shared/editor/theme.ts b/src/components/editor/theme.ts similarity index 100% rename from src/components/shared/editor/theme.ts rename to src/components/editor/theme.ts diff --git a/src/components/shared/footer/Footer.astro b/src/components/footer/Footer.astro similarity index 100% rename from src/components/shared/footer/Footer.astro rename to src/components/footer/Footer.astro diff --git a/src/components/shared/sections/Section.astro b/src/components/sections/Section.astro similarity index 100% rename from src/components/shared/sections/Section.astro rename to src/components/sections/Section.astro diff --git a/src/components/shared/editor/CodeEditor.astro b/src/components/shared/editor/CodeEditor.astro deleted file mode 100644 index 8f38bde..0000000 --- a/src/components/shared/editor/CodeEditor.astro +++ /dev/null @@ -1,80 +0,0 @@ ---- -interface Props { - slug: string - initialCode?: string -} - -const { slug, initialCode = 'fn main() {\n println!("Hola, mundo!");\n}\n' } = Astro.props ---- - -
- - diff --git a/src/components/shared/editor/output/Terminal.astro b/src/components/shared/editor/output/Terminal.astro deleted file mode 100644 index db1be0f..0000000 --- a/src/components/shared/editor/output/Terminal.astro +++ /dev/null @@ -1,168 +0,0 @@ ---- -import IconLoader2 from "~icons/tabler/loader-2" -import IconPlayerPlay from "~icons/tabler/player-play" -import IconTerminal from "~icons/tabler/terminal" ---- - - -
-
-
- -
-
-
- $ - cargo run -
-
-
- - diff --git a/src/components/shared/sidebar/Sidebar.astro b/src/components/sidebar/Sidebar.astro similarity index 100% rename from src/components/shared/sidebar/Sidebar.astro rename to src/components/sidebar/Sidebar.astro diff --git a/src/components/shared/sidebar/ToggleSidebarButton.astro b/src/components/sidebar/ToggleSidebarButton.astro similarity index 100% rename from src/components/shared/sidebar/ToggleSidebarButton.astro rename to src/components/sidebar/ToggleSidebarButton.astro diff --git a/src/features/content/components/Navbar.astro b/src/features/content/components/Navbar.astro index 9e58eeb..42f39c7 100644 --- a/src/features/content/components/Navbar.astro +++ b/src/features/content/components/Navbar.astro @@ -1,7 +1,7 @@ --- import logoImage from "~/assets/images/webp/logo.webp" -import Sidebar from "~/components/shared/sidebar/Sidebar.astro" -import ToggleSidebarButton from "~/components/shared/sidebar/ToggleSidebarButton.astro" +import Sidebar from "~/components/sidebar/Sidebar.astro" +import ToggleSidebarButton from "~/components/sidebar/ToggleSidebarButton.astro" import { lessons } from "~/content-manager" import IconBrandGithub from "~icons/tabler/brand-github" @@ -31,4 +31,10 @@ const sidebarItems = lessons.map((content) => ({ - + diff --git a/src/features/home/components/Community.astro b/src/features/home/components/Community.astro index 151dfad..b06e4bf 100644 --- a/src/features/home/components/Community.astro +++ b/src/features/home/components/Community.astro @@ -1,5 +1,5 @@ --- -import Section from "~/components/shared/sections/Section.astro" +import Section from "~/components/sections/Section.astro" import FaBrandsDiscord from "~icons/fa-brands/discord" --- @@ -7,16 +7,20 @@ import FaBrandsDiscord from "~icons/fa-brands/discord" id="community" className="min-h-screen flex flex-col justify-center items-center w-full py-20 px-6" > -

Comunidad Rust

+

+ Comunidad Rust +

-
+

Sigue aprendiendo junto a miles de entusiastas de Rust - Forma parte de nuestra comunidad, comparte tus avances, resuelve dudas y colabora con otros aprendices - y expertos de Rust. + Forma parte de nuestra comunidad, comparte tus avances, resuelve dudas y colabora + con otros aprendices y expertos de Rust.

-
+
+
-

Prueba Rust en tu navegador

+

+ Prueba Rust en tu navegador +

-

- ¡Aprende Rust sin instalar nada! - Explora lecciones interactivas y experimenta con código en un playground integrado, directamente - desde tu navegador. 🚀 +

+ ¡Aprende Rust sin instalar nada! + Explora lecciones interactivas y experimenta con código en un playground integrado, + directamente desde tu navegador. 🚀

-
+
+
diff --git a/src/pages/[slug].astro b/src/pages/[slug].astro index f0c0004..7641286 100644 --- a/src/pages/[slug].astro +++ b/src/pages/[slug].astro @@ -1,6 +1,6 @@ --- -import CodeEditor from "~/components/shared/editor/CodeEditor.astro" -import Terminal from "~/components/shared/editor/output/Terminal.astro" +import CodeEditor from "~/components/editor/CodeEditor.astro" +import Terminal from "~/components/editor/output/Terminal.astro" import { lessons } from "~/content-manager" import NavButtons from "~/features/content/components/NavButtons.astro" import Navbar from "~/features/content/components/Navbar.astro" @@ -25,20 +25,36 @@ const { lesson, previousLesson, nextLesson } = Astro.props -
+
- - -
-
diff --git a/src/styles/global.css b/src/styles/global.css index 82cac80..d239d8b 100644 --- a/src/styles/global.css +++ b/src/styles/global.css @@ -4,6 +4,7 @@ @import "@fontsource/poppins/600.css"; @import "@fontsource/poppins/700.css"; @import "@fontsource/poppins/800.css"; +@plugin "@tailwindcss/typography"; @theme { --font-family-poppins: "Poppins", sans-serif; @@ -33,28 +34,115 @@ } #content-markdown { - h1 { - font-size: 1.5rem; - padding: 1rem 0; + strong { + color: var(--color-yellow); } - h2 { - margin: 0.5rem 0 0.2rem 0; - color: var(--color-yellow); + .markdown-alert { + margin: 0.75rem 0; + padding: 0.75rem 1rem; + border-radius: 0.5rem; + border-left: 3px solid; } - strong { - color: var(--color-yellow); + .markdown-alert > :first-child { + margin-top: 0; + } + + .markdown-alert > :last-child { + margin-bottom: 0; + } + + .markdown-alert p { + margin-top: 0.5rem; + margin-bottom: 0.5rem; } - ul { - list-style-type: disc; - padding-left: 1.5rem; + .markdown-alert-title { + font-weight: 600; + display: flex; + align-items: center; + gap: 0.5rem; + margin-bottom: 0.25rem; - li { - margin-bottom: 0.5rem; + svg { + display: none; } } + + .markdown-alert-note { + background-color: var(--color-note-bg); + border-left-color: var(--color-note); + } + + .markdown-alert-note .markdown-alert-title { + color: var(--color-note); + } + + .markdown-alert-note .markdown-alert-title::before { + content: "💡"; + font-size: 1.1rem; + } + + .markdown-alert-tip { + background-color: var(--color-tip-bg); + border-left-color: var(--color-tip); + } + + .markdown-alert-tip .markdown-alert-title { + color: var(--color-tip); + } + + .markdown-alert-tip .markdown-alert-title::before { + content: "💡"; + font-size: 1.1rem; + } + + .markdown-alert-important { + background-color: var(--color-important-bg); + border-left-color: var(--color-important); + } + + .markdown-alert-important .markdown-alert-title { + color: var(--color-important); + } + + .markdown-alert-important .markdown-alert-title::before { + content: "❗"; + font-size: 1.1rem; + } + + .markdown-alert-warning { + background-color: var(--color-warning-bg); + border-left-color: var(--color-warning); + } + + .markdown-alert-warning .markdown-alert-title { + color: var(--color-warning); + } + + .markdown-alert-warning .markdown-alert-title::before { + content: "⚠️"; + font-size: 1.1rem; + } + + .markdown-alert-caution { + background-color: var(--color-caution-bg); + border-left-color: var(--color-caution); + } + + .markdown-alert-caution .markdown-alert-title { + color: var(--color-caution); + } + + .markdown-alert-caution .markdown-alert-title::before { + content: "🚨"; + font-size: 1.1rem; + } +} + +.btn-control { + @apply flex cursor-pointer items-center gap-1 border-none bg-transparent px-2 py-1 text-secondary transition-colors disabled:cursor-not-allowed disabled:opacity-50; } pre { @@ -92,112 +180,6 @@ p code { font-size: 0.95rem; } -/* Admonitions/Callouts */ -#content-markdown blockquote { - margin: 1rem 0; - padding: 1rem; - border-radius: 0.5rem; - border-left: 4px solid; - position: relative; - - /* Default styling */ - background-color: var(--color-light-bg); - border-left-color: var(--color-stroke-color); -} - -#content-markdown blockquote p { - margin: 0.5rem 0; - line-height: 1.6; -} - -#content-markdown blockquote p:first-child { - font-weight: 600; - display: flex; - align-items: center; - gap: 0.5rem; - margin-bottom: 0.5rem; -} - -#content-markdown blockquote p:last-child { - margin-bottom: 0; -} - -/* Admonition types - requires JavaScript to add classes */ -#content-markdown blockquote.admonition-note { - background-color: var(--color-note-bg); - border-left-color: var(--color-note); -} - -#content-markdown blockquote.admonition-note p:first-child { - color: var(--color-note); -} - -#content-markdown blockquote.admonition-note p:first-child::before { - content: "💡"; - font-size: 1.1rem; -} - -#content-markdown blockquote.admonition-tip { - background-color: var(--color-tip-bg); - border-left-color: var(--color-tip); -} - -#content-markdown blockquote.admonition-tip p:first-child { - color: var(--color-tip); -} - -#content-markdown blockquote.admonition-tip p:first-child::before { - content: "💡"; - font-size: 1.1rem; -} - -#content-markdown blockquote.admonition-important { - background-color: var(--color-important-bg); - border-left-color: var(--color-important); -} - -#content-markdown blockquote.admonition-important p:first-child { - color: var(--color-important); -} - -#content-markdown blockquote.admonition-important p:first-child::before { - content: "❗"; - font-size: 1.1rem; -} - -#content-markdown blockquote.admonition-warning { - background-color: var(--color-warning-bg); - border-left-color: var(--color-warning); -} - -#content-markdown blockquote.admonition-warning p:first-child { - color: var(--color-warning); -} - -#content-markdown blockquote.admonition-warning p:first-child::before { - content: "⚠️"; - font-size: 1.1rem; -} - -#content-markdown blockquote.admonition-caution { - background-color: var(--color-caution-bg); - border-left-color: var(--color-caution); -} - -#content-markdown blockquote.admonition-caution p:first-child { - color: var(--color-caution); -} - -#content-markdown blockquote.admonition-caution p:first-child::before { - content: "🚨"; - font-size: 1.1rem; -} - -/* Hide the [!TYPE] marker text */ -#content-markdown blockquote p:first-child strong:first-of-type { - display: none; -} - * { scrollbar-width: thin; scrollbar-color: var(--color-editor-bg) transparent; @@ -216,3 +198,16 @@ p code { *::-webkit-scrollbar-thumb:hover { background-color: var(--color-editor-bg); } + +#console { + scrollbar-width: thin; + scrollbar-color: var(--color-stroke-color) transparent; +} + +#console::-webkit-scrollbar-thumb { + background-color: var(--color-stroke-color); +} + +#console::-webkit-scrollbar-thumb:hover { + background-color: var(--color-yellow); +} From 4c4f92fce7a0c2224cc73b793ffb15ba8afaa0b7 Mon Sep 17 00:00:00 2001 From: wilovy Date: Tue, 3 Mar 2026 17:00:35 -0600 Subject: [PATCH 5/9] feat: :sparkles: Add MS Clarity --- .github/workflows/deploy.yml | 3 ++- package-lock.json | 7 +++++++ package.json | 1 + src/pages/index.astro | 5 +++++ 4 files changed, 15 insertions(+), 1 deletion(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 76d1dac..2878e21 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -41,7 +41,7 @@ jobs: - name: Build env: - NUXT_CLARITY_ID: ${{ secrets.CLARITY_ID }} + VITE_CLARITY_PROJECT_ID: ${{ secrets.VITE_CLARITY_PROJECT_ID }} run: npm run build - name: Deploy @@ -49,6 +49,7 @@ jobs: # env: # YOUR_SECRET: ${{ secrets.YOUR_SECRET }} # YOUR_OTHER_SECRET: ${{ secrets.YOUR_OTHER_SECRET }} + # VITE_CLARITY_PROJECT_ID: ${{ secrets.VITE_CLARITY_PROJECT_ID }} with: wranglerVersion: "4.19.1" apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }} diff --git a/package-lock.json b/package-lock.json index b2d6b89..6912ac8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17,6 +17,7 @@ "@fontsource/poppins": "^5.2.7", "@lezer/highlight": "^1.2.2", "@lezer/rust": "^1.0.2", + "@microsoft/clarity": "^1.0.2", "@tailwindcss/vite": "^4.1.16", "astro": "^5.15.0", "codemirror": "^6.0.2", @@ -1461,6 +1462,12 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/@microsoft/clarity": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@microsoft/clarity/-/clarity-1.0.2.tgz", + "integrity": "sha512-9EZYROFpJxEGmQpHvUFqvD3ZJ7QQSqnibYSWmS+1xusoZfG1QQ1/Al9yVBBc11DWMbJrs1pe1hLT273it/skJg==", + "license": "MIT" + }, "node_modules/@oslojs/encoding": { "version": "1.1.0", "license": "MIT" diff --git a/package.json b/package.json index e169237..abbe7a2 100644 --- a/package.json +++ b/package.json @@ -22,6 +22,7 @@ "@fontsource/poppins": "^5.2.7", "@lezer/highlight": "^1.2.2", "@lezer/rust": "^1.0.2", + "@microsoft/clarity": "^1.0.2", "@tailwindcss/vite": "^4.1.16", "astro": "^5.15.0", "codemirror": "^6.0.2", diff --git a/src/pages/index.astro b/src/pages/index.astro index e7478da..ce67200 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -1,9 +1,14 @@ --- +import Clarity from "@microsoft/clarity" import Footer from "~/components/footer/Footer.astro" import Community from "~/features/home/components/Community.astro" import Hero from "~/features/home/components/Hero.astro" import Playground from "~/features/home/components/Playground.astro" import Layout from "~/layouts/Layout.astro" + +const projectId = import.meta.env.VITE_CLARITY_PROJECT_ID + +Clarity.init(projectId) --- From d4ae96642894aa8590d43704214c5ddec81b3c2a Mon Sep 17 00:00:00 2001 From: wilovy Date: Tue, 3 Mar 2026 17:20:11 -0600 Subject: [PATCH 6/9] fix: :bug: Add env var on deploy --- .github/workflows/deploy.yml | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 2878e21..3f13791 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -46,15 +46,12 @@ jobs: - name: Deploy uses: cloudflare/wrangler-action@v3 - # env: - # YOUR_SECRET: ${{ secrets.YOUR_SECRET }} - # YOUR_OTHER_SECRET: ${{ secrets.YOUR_OTHER_SECRET }} - # VITE_CLARITY_PROJECT_ID: ${{ secrets.VITE_CLARITY_PROJECT_ID }} + env: + VITE_CLARITY_PROJECT_ID: ${{ secrets.VITE_CLARITY_PROJECT_ID }} with: wranglerVersion: "4.19.1" apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }} accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} command: deploy - # secrets: | - # YOUR_SECRET - # YOUR_OTHER_SECRET + secrets: | + VITE_CLARITY_PROJECT_ID: ${{ secrets.VITE_CLARITY_PROJECT_ID }} From 7db87f3c55dfa0b86ab5d8b486d96d2573b0f460 Mon Sep 17 00:00:00 2001 From: wilovy Date: Tue, 3 Mar 2026 17:29:23 -0600 Subject: [PATCH 7/9] =?UTF-8?q?chore(content):=20Remove=20`Conclusi=C3=B3n?= =?UTF-8?q?`?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/deploy.yml | 2 +- src/content/1.introduccion.md | 3 --- src/content/10.structs.md | 3 --- src/content/11.enums-pattern-matching.md | 3 --- src/content/12.temas-avanzados-roadmap.md | 17 ----------------- src/content/2.porque-rust.md | 5 ----- src/content/3.versiones.md | 5 ----- src/content/4.configuracion-entorno.md | 17 ----------------- src/content/5.sintaxis-basica.md | 3 --- src/content/6.tipos-datos.md | 3 --- src/content/7.estructuras-control.md | 3 --- src/content/8.ownership.md | 3 --- src/content/9.borrowing.md | 3 --- 13 files changed, 1 insertion(+), 69 deletions(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 3f13791..6712727 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -54,4 +54,4 @@ jobs: accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} command: deploy secrets: | - VITE_CLARITY_PROJECT_ID: ${{ secrets.VITE_CLARITY_PROJECT_ID }} + VITE_CLARITY_PROJECT_ID diff --git a/src/content/1.introduccion.md b/src/content/1.introduccion.md index 07194b3..3a4178d 100644 --- a/src/content/1.introduccion.md +++ b/src/content/1.introduccion.md @@ -31,6 +31,3 @@ Rust es un lenguaje de programación de sistemas que fue desarrollado por Mozill - **Desarrollo Moderno:** Rust no solo se trata de rendimiento y seguridad; también está diseñado para ser agradable de usar. Su sintaxis moderna y expresiva, junto con herramientas avanzadas, hacen que el desarrollo sea más eficiente y menos propenso a errores. -## Conclusión - -Rust está cambiando la forma en que pensamos sobre la programación de sistemas. Su capacidad para ofrecer seguridad y rendimiento sin compromisos lo convierte en una herramienta poderosa para los desarrolladores modernos. Si aún no has explorado Rust, ahora es el momento de sumergirte y descubrir cómo puede transformar tus proyectos. Con una comunidad en crecimiento y un ecosistema robusto, Rust está preparado para ser un pilar en el desarrollo de software del futuro. \ No newline at end of file diff --git a/src/content/10.structs.md b/src/content/10.structs.md index ee5ad45..5726138 100644 --- a/src/content/10.structs.md +++ b/src/content/10.structs.md @@ -725,6 +725,3 @@ fn main() { 8. **Múltiples bloques `impl`** están permitidos 9. **Deriva traits comunes** como `Debug`, `Clone`, `Copy` cuando sea apropiado -## Próximo Paso - -En el siguiente capítulo exploraremos **Enums** y **Pattern Matching**, que junto con structs forman la base del sistema de tipos de Rust y nos permiten modelar datos de manera más expresiva y segura. \ No newline at end of file diff --git a/src/content/11.enums-pattern-matching.md b/src/content/11.enums-pattern-matching.md index 6bbf105..00b2775 100644 --- a/src/content/11.enums-pattern-matching.md +++ b/src/content/11.enums-pattern-matching.md @@ -760,6 +760,3 @@ fn main() { 8. **Destructuring permite extraer datos** de variantes complejas 9. **Combina enums con structs** para modelado de datos poderoso -## Próximo Paso - -En el siguiente capítulo exploraremos la **Gestión de Errores** en profundidad, incluyendo técnicas avanzadas con `Result`, propagación de errores, y cómo crear sistemas de manejo de errores robustos. \ No newline at end of file diff --git a/src/content/12.temas-avanzados-roadmap.md b/src/content/12.temas-avanzados-roadmap.md index e7c7854..685ab79 100644 --- a/src/content/12.temas-avanzados-roadmap.md +++ b/src/content/12.temas-avanzados-roadmap.md @@ -662,20 +662,3 @@ fn main() { ✅ **Testing y calidad**: Tests unitarios, documentación ✅ **Ecosistema rico**: Librerías populares y herramientas -### El camino por delante: - -Rust es un lenguaje que recompensa la paciencia y el estudio cuidadoso. Sus conceptos únicos pueden ser desafiantes al principio, pero proporcionan una base sólida para escribir código seguro, eficiente y mantenible. - -**Consejos finales:** - -1. **Práctica constante**: La mejor manera de dominar Rust es escribir código -2. **Lee código de otros**: Explora proyectos open source en GitHub -3. **Participa en la comunidad**: Haz preguntas, ayuda a otros -4. **Mantente actualizado**: Rust evoluciona constantemente -5. **Especialízate**: Elige un área que te interese y profundiza - -**¡Ahora es momento de construir cosas increíbles con Rust! 🦀** - -El lenguaje que garantiza seguridad de memoria, ofrece rendimiento de nivel de sistema, y tiene uno de los ecosistemas más amigables del mundo del desarrollo de software te está esperando. - -¡Bienvenido a la comunidad Rust! \ No newline at end of file diff --git a/src/content/2.porque-rust.md b/src/content/2.porque-rust.md index 5582044..a0e1422 100644 --- a/src/content/2.porque-rust.md +++ b/src/content/2.porque-rust.md @@ -63,8 +63,3 @@ Ademas Rust ofrece ventajas significativas en el proceso de desarrollo, respalda - [**Linux**](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=8aebac82933ff1a7c8eede18cab11e1115e2062b) La integración de Rust en el kernel de Linux representa un cambio significativo en el desarrollo de uno de los sistemas operativos más fundamentales y ampliamente utilizados en el mundo. Este movimiento tiene profundas implicaciones para la seguridad, el rendimiento y la sostenibilidad del desarrollo del kernel. En este post, exploraremos las razones detrás de la adopción de Rust en Linux, cómo se está llevando a cabo esta integración y qué significa esto para el futuro del sistema operativo. -## Conclusión - -Rust no es solo una moda pasajera; es un lenguaje que ofrece soluciones reales a problemas complejos en el desarrollo de software moderno. Su enfoque en la seguridad de la memoria, el rendimiento y la concurrencia segura lo convierte en una opción atractiva para una amplia gama de aplicaciones. Los casos de éxito de empresas como Mozilla, Dropbox, AWS y Discord son testimonios contundentes del potencial de Rust para transformar proyectos críticos. Si buscas un lenguaje que combine eficiencia, seguridad y modernidad, Rust es una opción que vale la pena explorar. - -Adoptar Rust hoy puede prepararte para enfrentar los desafíos del desarrollo de software del mañana, proporcionando una base sólida para construir aplicaciones robustas y de alto rendimiento. ¡Es el momento perfecto para empezar a explorar todo lo que Rust tiene para ofrecer! \ No newline at end of file diff --git a/src/content/3.versiones.md b/src/content/3.versiones.md index c477b76..7df4dc3 100644 --- a/src/content/3.versiones.md +++ b/src/content/3.versiones.md @@ -37,8 +37,3 @@ El canal Nightly es la vanguardia del desarrollo de Rust. Las versiones Nightly **Cuándo usar Nightly:** Si eres un desarrollador que quiere experimentar con las últimas innovaciones y no te importa lidiar con posibles inestabilidades, el canal Nightly es para ti. Es especialmente útil para contribuyentes de Rust y aquellos que necesitan características específicas que aún no están disponibles en los canales Beta o Stable. -## Conclusión - -El sistema de canales de Rust permite a los desarrolladores elegir el equilibrio adecuado entre estabilidad e innovación para sus necesidades específicas. El canal Stable ofrece seguridad y confiabilidad para proyectos de producción, el canal Beta proporciona una vista previa de las próximas características, y el canal Nightly permite a los desarrolladores experimentar con las últimas novedades del lenguaje. - -Al comprender y utilizar estos canales de manera efectiva, puedes maximizar tu productividad y mantener tu códigobase actualizada y segura. ¡Elige el canal que mejor se adapte a tus necesidades y empieza a explorar todo lo que Rust tiene para ofrecer! \ No newline at end of file diff --git a/src/content/4.configuracion-entorno.md b/src/content/4.configuracion-entorno.md index bb3797d..1b1221f 100644 --- a/src/content/4.configuracion-entorno.md +++ b/src/content/4.configuracion-entorno.md @@ -326,20 +326,3 @@ cargo install cargo-cache cargo cache --autoclean ``` -## Próximos Pasos - -Con tu entorno configurado, estás listo para: - -1. **Aprender la sintaxis básica** de Rust -2. **Escribir tu primer programa** real -3. **Explorar el ecosistema** de crates (librerías) -4. **Contribuir a proyectos** open source - -## Recursos Adicionales - -- **Documentación oficial:** https://doc.rust-lang.org/ -- **Rust Playground:** https://play.rust-lang.org/ (para probar código online) -- **Rustlings:** Ejercicios interactivos para aprender -- **Rust by Example:** https://doc.rust-lang.org/rust-by-example/ - -¡Felicidades! Ahora tienes un entorno de desarrollo Rust completamente funcional. En el próximo capítulo, aprenderemos la sintaxis básica del lenguaje. \ No newline at end of file diff --git a/src/content/5.sintaxis-basica.md b/src/content/5.sintaxis-basica.md index e841837..c92b10e 100644 --- a/src/content/5.sintaxis-basica.md +++ b/src/content/5.sintaxis-basica.md @@ -375,6 +375,3 @@ fn fahrenheit_a_celsius(fahrenheit: f64) -> f64 { 5. **Los comentarios `///` generan documentación** 6. **`println!` es un macro**, no una función (nota el `!`) -## Próximo Paso - -Ahora que conoces la sintaxis básica, en el siguiente capítulo exploraremos los tipos de datos de Rust en detalle, incluyendo enteros, flotantes, booleanos, caracteres, tuplas y arrays. \ No newline at end of file diff --git a/src/content/6.tipos-datos.md b/src/content/6.tipos-datos.md index 1cd3f61..eb55bdc 100644 --- a/src/content/6.tipos-datos.md +++ b/src/content/6.tipos-datos.md @@ -509,6 +509,3 @@ fn analizar_array(arr: &[i32]) -> (i32, f64, i32, i32) { 7. **Usa `as` para casting explícito** entre tipos primitivos 8. **`parse()` convierte strings a otros tipos** -## Próximo Paso - -En el siguiente capítulo aprenderemos sobre las estructuras de control en Rust: condicionales, bucles y pattern matching, que nos permitirán tomar decisiones y repetir código de manera eficiente. \ No newline at end of file diff --git a/src/content/7.estructuras-control.md b/src/content/7.estructuras-control.md index 9893c14..5f994d7 100644 --- a/src/content/7.estructuras-control.md +++ b/src/content/7.estructuras-control.md @@ -570,6 +570,3 @@ fn main() { 8. **Los guards (`if`)** añaden condiciones adicionales a los patrones 9. **Las etiquetas de bucle** ayudan con bucles anidados -## Próximo Paso - -En el siguiente capítulo exploraremos uno de los conceptos más importantes y únicos de Rust: el **Ownership** (sistema de propiedad). Este sistema es lo que permite a Rust garantizar seguridad de memoria sin un recolector de basura. \ No newline at end of file diff --git a/src/content/8.ownership.md b/src/content/8.ownership.md index e3e62f1..12ee424 100644 --- a/src/content/8.ownership.md +++ b/src/content/8.ownership.md @@ -469,6 +469,3 @@ fn main() { 7. **RAII: los recursos se liberan automáticamente** al salir de scope 8. **El compilador previene use-after-free** y double-free automáticamente -## Próximo Paso - -El ownership puede ser restrictivo cuando solo quieres "prestar" un valor temporalmente. En el siguiente capítulo aprenderemos sobre **Borrowing** y **Referencias**, que nos permiten usar valores sin tomar su ownership. \ No newline at end of file diff --git a/src/content/9.borrowing.md b/src/content/9.borrowing.md index 47e7ee9..4b2906f 100644 --- a/src/content/9.borrowing.md +++ b/src/content/9.borrowing.md @@ -617,6 +617,3 @@ fn main() { 7. **Rust desreferencia automáticamente** en muchos contextos 8. **Las reglas de borrowing previenen** data races y use-after-free -## Próximo Paso - -En el siguiente capítulo exploraremos las **Structs**, que nos permiten agrupar datos relacionados y crear tipos de datos personalizados, combinando ownership y borrowing de manera efectiva. \ No newline at end of file From 52ac4d44cfe43741a40c5199c627d0b5a0224aa0 Mon Sep 17 00:00:00 2001 From: wilovy Date: Tue, 3 Mar 2026 17:48:15 -0600 Subject: [PATCH 8/9] feat: Add Clarity Cookies --- src/assets/images/webp/ferris_cooking.webp | Bin 0 -> 82905 bytes src/components/CookieBanner.astro | 105 ++++++++++++ src/components/footer/Footer.astro | 7 +- src/layouts/Layout.astro | 2 + src/pages/index.astro | 5 - src/pages/privacidad.astro | 182 +++++++++++++++++++++ 6 files changed, 294 insertions(+), 7 deletions(-) create mode 100644 src/assets/images/webp/ferris_cooking.webp create mode 100644 src/components/CookieBanner.astro create mode 100644 src/pages/privacidad.astro diff --git a/src/assets/images/webp/ferris_cooking.webp b/src/assets/images/webp/ferris_cooking.webp new file mode 100644 index 0000000000000000000000000000000000000000..80e93699794b1fa724c28f4eb7106f663333afb5 GIT binary patch literal 82905 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 z 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%0D@QX=01zZ_JMrNhjW}zpjXM>U7Yg&;$jt4 zrC|SolV!ghqFfEq;8_wleGl?iJBL!A!qoAXHkD%MS_ie8o{6LUA@%eD`bsl_C6;F~ z$9(SDd5y9ISTgB$#5^uSMnFEI%*uYON8_CjC`EBeSo;tGloxwI-i7mA@KVhqYR9DF2e%R)lMeNLF=X6sEEeBPy-nt(37^)DQ^)%;i?s$AFL-i84* z*1}T7o?~2FTuRezy~eRKvW;%BL2XkwT6et!@_5MucZIV~DE<}E>b{u0{?tD0T2Yp04VthSasU*J zfuG+Q>{>AU_W4pm*r{3+##)8`DGa+QW*KX6B{#8o3A@MLe2^YNSY>1z zBz{259&cm=@7OY83Pb(ksgEMSN03Ke^7N5ij~9FNcw5rl={`zkJr*PfSEQunCiP4f z_$Q2yfmKK5FyOTQ?jEPC{6nOGUgue_q_-GstSI6HeXlUm#7cmF2fnAp13__TS}Sn8 z^fAbs_Ti$=E%1aVCjnbj2Oobbk;RTuDrW{mMOTgcOGvNRTz7b`~T$(fqYbX zOfvU;et4=lF^1Fco2P8tWeAKU!mgq)nh2ec>0=M_sg(B#e@7V=LavV1GQyL!#8W2Z2k6m)+o9H z6?Y8&2Z>g9Bn*1qB39n6G(uV?){*?&`ZEywQF6@z5|X9q;QF|=Ec;VO-F@1x*?|YB z*W*$Cp68Vj7!gZqnAB;VCkZ>b*4P{{svyC?a<>YzE40X9k4T1S!jO3=@jUHX^`k%U z{@8wqgId1t3iPmvaMo3Lz5fgnHG6>t{_y5YGc_u%bf3C0`O^w)Uj>G9i)q@9)y_<;nBS?1{e-+e6gj(KrrgS3NR zWmd;^MavcOb(o4EWsTU7r;tD%npSkIiR z;I%5eMxM~aqWkr7+2uRe(sTi0T}Q{_f{$@}JY5^a>%daLi( z&BHe*rp=7K<(uH`ST0%KoXn&wlwc4cx5Dj0c;TfKn0s2h2(qxN_Ju?{Ir=D$o6f5e zhN~By>$VH`sfhaKs5v;X5t>Nzj^edeCemY-xHkErNGm~^+gE@v5UurfHVt>bT`e3^ zd!wz`e8Bt&piWh=lt|e`?$oadD9o-+RxW+VXi*vb(T?eV=YSgc|Apu*^{|S1thXfC z9Tv^rv? zfyt9E@Gh3}$N|&s04cPs^LJY;Hxryxonx6_0ki^3{c(a4;*n&f8ub>UiMNe?U*)BD zOCO+^bdNAa-k%gx(|^6L|1bCpqaBB(^b literal 0 HcmV?d00001 diff --git a/src/components/CookieBanner.astro b/src/components/CookieBanner.astro new file mode 100644 index 0000000..12316a8 --- /dev/null +++ b/src/components/CookieBanner.astro @@ -0,0 +1,105 @@ +--- +import { Image } from "astro:assets" +import ferrisCooking from "~/assets/images/webp/ferris_cooking.webp" + +const projectId = import.meta.env.VITE_CLARITY_PROJECT_ID +--- + + + + diff --git a/src/components/footer/Footer.astro b/src/components/footer/Footer.astro index d732b59..6ac20f0 100644 --- a/src/components/footer/Footer.astro +++ b/src/components/footer/Footer.astro @@ -28,8 +28,11 @@ const socialLinks = [ Rustlings -
- © {new Date().getFullYear()}Rustlings Web. Todos los derechos reservados. +
+ © {new Date().getFullYear()} Rustlings Web. Todos los derechos reservados. + + Política de Privacidad +