From ef16d69514874c96a52cc02a4ed02e5b2bb6e04a Mon Sep 17 00:00:00 2001 From: Araozu Date: Thu, 15 Aug 2024 11:24:02 -0500 Subject: [PATCH] Use a single navbar across all pages --- public/img/blog/es/tutorial/1x/001.jpg | Bin 0 -> 4005 bytes public/img/blog/es/tutorial/1x/002.jpg | Bin 0 -> 6582 bytes public/img/blog/es/tutorial/1x/003.jpg | Bin 0 -> 1900 bytes public/img/blog/es/tutorial/1x/004.jpg | Bin 0 -> 6410 bytes public/img/blog/es/tutorial/1x/004.png | Bin 0 -> 2582 bytes public/img/blog/es/tutorial/1x/005.jpg | Bin 0 -> 6891 bytes src/components/Navigation.astro | 35 +++++ src/layouts/BlogLayout.astro | 37 +---- src/layouts/NavigationLayout.astro | 8 ++ src/layouts/SideProject.astro | 69 +++------- src/pages/blog/es/programacion-07.md | 179 +++++++++++++++++++++++++ src/pages/index.astro | 24 ++-- src/pages/side-projects/index.astro | 81 ++++------- 13 files changed, 288 insertions(+), 145 deletions(-) create mode 100644 public/img/blog/es/tutorial/1x/001.jpg create mode 100644 public/img/blog/es/tutorial/1x/002.jpg create mode 100644 public/img/blog/es/tutorial/1x/003.jpg create mode 100644 public/img/blog/es/tutorial/1x/004.jpg create mode 100644 public/img/blog/es/tutorial/1x/004.png create mode 100644 public/img/blog/es/tutorial/1x/005.jpg create mode 100644 src/components/Navigation.astro create mode 100644 src/layouts/NavigationLayout.astro create mode 100644 src/pages/blog/es/programacion-07.md diff --git a/public/img/blog/es/tutorial/1x/001.jpg b/public/img/blog/es/tutorial/1x/001.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0ad841e60a0c03e8252cdcfc99aee3988d9e2fe8 GIT binary patch literal 4005 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 literal 0 HcmV?d00001 diff --git a/public/img/blog/es/tutorial/1x/002.jpg b/public/img/blog/es/tutorial/1x/002.jpg new file mode 100644 index 0000000000000000000000000000000000000000..85280a48d699c953d131e73e8b9aa42eae758a98 GIT binary patch literal 6582 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⪻qV3tC)2X_)bxji|b=SJ2G}NFg8#8le_v~Lg`@HA-*ZZ93JfHI@M2ZPu zk0*&t0ze=Ta7Ot6g#>T|;Hs)HRVW+=gQ=;(5gJHM4Rv)5-M!j>L1GSI^)Uy~Xak%j z-r(S2BQ)B?-t_S2R<^dbSUlmVgSE4zjji?W5RjUhnufZ@eof8&)`n<9>pxwJ4nPYI zI0Cs~&_O^&3k22zDV_pY002Ri+wLy>dx2EI5U45)u7*%oHt_cVDj+ae1p1O^3%P@|%0XJhE+l9HJhSYLmWl70ExoZKr{^NLGK%dX$J z$+=ZkeYd8zj#uB%+|tT#6A0TMKKbeC&(FG^clQhq4UdeDiC&8*r>19S=jPwOTUh-d zUt9mU@yq7ct_uW!e`Eb2`!AQ4(xn1{fFZD57f6Mr3|I>SHMCOQ>*@oGU}zt-z63`S ziz**+tovxkzPQB9bxdl$5^q0Y*%earP1eP{(q`>7>5ybe_B2{Ts>LHd&HT{(<_{ zVwTyps}}JI@0W0~5~r)>gC zlk+AmcE;n-5<|;)eY~f!BS%uf#kvJ79m<>EHuvUw^HtQ%Z`R41kjJB_reL}go5fB^ z9ZE6J8lK`c^}G)Zo_^GlDiXhpc?qAAtG*xvSZ3F*uu@mt8LiA8l7&9*NWj~HP{sdb zt^kZ^B^8_7*AxH|Iojy;`cysdoZw;gu>`!_xkj96;$1BQpdNH8i}yuDGrxS!+a8%? zJ+CiBi9+aGrw8(iIxT))A~P8_9=N}fi;6WnRY$4W?CM+np|R1!X@qoWvzR~L69%Q3 z9qG;N6_#YnzBCx5NCoS>QtF8#dCh@@+5nFzrdiKduKNu}B$!CK7qRUg0wc-hKaPLP zDEPbe^|0@++)E90m>sdBaJi`ji^2Kc{-HjAM(a@d>}E0O<5V+WV$!;tvNM3*^d5N2 zWgiDt$xbzMp#gC(a3#fwUa0m-(YU5BvG51_(CmXQBh1Ce{@uxx1V;tX+m>KyVXRl` z#8n|_MYojCa@iGS_I2xvJH!wL5LPjlxE9ES<+g5yN%itW{cd4M($PtaySIz6h9kY7 z+NT?^;paMsCz?y#*&oII=T9f#1ZM0$46z;}!_UpEb$qORl%brW9=8iKUW*+LfSOG}&bES=z{DymrVNG=@ zmYfTmr^}D8dA%MmD@1}awvz(oGZovu8v|t*$apa}>3$_)#-9*f{7p!36djjzokhTH zl_=*PRsb>5f95W^#0j_cS?Lx137;KJ5;)Xh0)1kwXbG~yhQcasn>g@LJj37Qj{0D1 zNaH`kIrUPPQopW;7n~4lM&(wL!3NH3Oj?QgO@WRmXqqu`J7s$~*&F1J{L_IcUjGYw Ca!&pL literal 0 HcmV?d00001 diff --git a/public/img/blog/es/tutorial/1x/004.jpg b/public/img/blog/es/tutorial/1x/004.jpg new file mode 100644 index 0000000000000000000000000000000000000000..76bd42fe94897122f2812010c92fb424d2d0bd05 GIT binary patch literal 6410 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 literal 0 HcmV?d00001 diff --git a/public/img/blog/es/tutorial/1x/004.png b/public/img/blog/es/tutorial/1x/004.png new file mode 100644 index 0000000000000000000000000000000000000000..91009b1259b6aa6984c24bfac0386e294b100014 GIT binary patch literal 2582 zcmeHJ`9B-j7S}~pZDV_iR%e2G8p|Nj+NvtH62w}2A4-)p6-#WxsA+8vV_zy#P0-uwsehkMVx=kxu3&b{Y*KKI;YTWd3+Gcsp* zczA>?%prDMo6Q~Lr;l@I93F_BY*;#{=!(u_=dOc%O zM2u3_0cXeXAdN#LAc6u%YjRtIbe&rKsfW`M2rnXfx|4gNjppe2Ix>>Y-7VTK((jvs60+bc>~6Q! znGq!Gng7&#Z>Mj(CuG?$jy>PNw|4YPEN4-SAaS_9zoK+O;iW-0YNjVX{!M>GnbeJx zd6K0534v^26!rs)QJLt~+SM=ZOx$k*EonKBP!&igq%AYX^Js7B;eiWm< z9W4uiK!!r2pG9}Y^IJBCmfTetWrR0x_NS-!(5B4$?p&SUaawt?n``-x=rmp0uy{X` zVnH7pZ?12&%iql{t-&t&choM7MR$&+V?+3u=(9BTL>3lo41-Yv37w)0v_5*!`4UE{2oUU+2!RH5hFncyRym(;y?LRCm;Tj^yS zym&T1i1uFYF772_<+SemM@6eSj7M&=fdS8_gKu3&2<}qqg?nGwn!1MJNEdbLUJ{9= z^7EjP+ZO_$;dl@@44O=+z4(Dj8ypXy~6>L`Z+O<{mA%6U{5N)s3^VkD8^?|ql{in+_bfs4jnNtmw=8|bvT>h zkzUOOi&&{qP5Yw8c^gG2wW{N7n+_PRwip})kfY%D`)jNAm@2zdb#4*PKN1gM>~`mT z*=2P^@6iTwWSjz2oOY2108kfVvi8uk@M(r%xDW(+WTyIV_#D$~S?98)sK@AqBTK3z zP-CY~zX%(#7}s($?{)w)M6j=9X-l!j^SM&i{%rkL^W5^fuWnRW_{za2Gg2O{Ehrlf zeVn_k2*@JpMy`23a!aaHMNiV|;r@O|4CIoSAkL95@I1h7Wiy(BG_7!=X}3Ti%F~Vb zVL`9tMg|w}O5F3o^ z#zf`i^V*^oAIw>v??7+H8sFbv>3k?aFo9$Z?MzOXT4itw2C7$EJaSW}h1ay@jrnvt zjg<&#ht+M^YH!mD>_#!+w*J|=MvTl=5DKpItvn#x*cg0_vka^Crurw$XhI({b7_clG&9@PMr6v^OyE9tT`OR=OrJKdDTPWR~%W8K=U0+OxR@yu5^45l&QCtH{1=-$s3hl*@G!IW-YxB3kQr zk^Q02JsDTKB%l}U5ENzU~V*6V}Jp*syAFc>WOL;l2f`TN#_Y!6HQ?vO_W#md{0s(2(KFdB=q%G~Yk zDEuYf7BJaeH}O4b$gvdXO@6S3+P0c!wklX2qGt*wQksSbMl{=&B=Xm6vD&duN{OXq zhIe;QOxEq7{Zy_XpOq1bvCgQ5;ZgUWE_|=bDgaL1Fm&T>TiPlzPN-=fP@~tFswI2V zUT3$LZxkfmoQbc`oMDvIWoGswE&|1h_7_NC1JTA9>+htCx&*sGQVqjI%?f~)&6+Vx zBBxk~-h}#E1@M%9GM!rqR4`DN!*nYz)2Sooo-6U2*0w3U2&k-alYdy;4#;S(tKO=2 z99wdyfW(t?l9F=8L@iv(%k-AwJ`I9_#S8dL+l`GfL-PCSrYfRy)%HYkmA^C17kR|k zym<_*vQ_XgZ#hIwKiK51aP&I}L@UM(DBfU%a=86#?oNR z@14rX09d99Z|K#on0qQz{OwCqDBtI8Z6RY7$1%6 zpE_WFY`E3&r%fvt^CuFwaQ*a^1i6-_IoO zp?^nDss7a&xl#Xrz2Bt#GO7Pdz5hz@m-1Q()8mfeH|N_<)0r~dj~J+GhX4Qo literal 0 HcmV?d00001 diff --git a/public/img/blog/es/tutorial/1x/005.jpg b/public/img/blog/es/tutorial/1x/005.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ce49f67de6fe566b5f0fb8762791f7154dd82303 GIT binary patch literal 6891 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 aSh_fMHm7A(wk1=Rf6?q;9sp2X%>EbVB&#U^ literal 0 HcmV?d00001 diff --git a/src/components/Navigation.astro b/src/components/Navigation.astro new file mode 100644 index 0000000..a86c9e2 --- /dev/null +++ b/src/components/Navigation.astro @@ -0,0 +1,35 @@ +
+ +
diff --git a/src/layouts/BlogLayout.astro b/src/layouts/BlogLayout.astro index d7678ba..0f07aa9 100644 --- a/src/layouts/BlogLayout.astro +++ b/src/layouts/BlogLayout.astro @@ -1,4 +1,6 @@ --- +import NavigationLayout from "./NavigationLayout.astro"; + let { frontmatter, lang } = Astro.props; lang = lang ?? "en"; --- @@ -25,39 +27,10 @@ lang = lang ?? "en"; href="https://unpkg.com/@phosphor-icons/web@2.1.1/src/regular/style.css" /> - - -
- -
+ +
{ frontmatter?.title && ( @@ -97,6 +70,6 @@ lang = lang ?? "en";
-
+
diff --git a/src/layouts/NavigationLayout.astro b/src/layouts/NavigationLayout.astro new file mode 100644 index 0000000..86c1392 --- /dev/null +++ b/src/layouts/NavigationLayout.astro @@ -0,0 +1,8 @@ +--- +import Navigation from "../components/Navigation.astro"; +--- + +
+ + +
diff --git a/src/layouts/SideProject.astro b/src/layouts/SideProject.astro index c9b9605..b3d3854 100644 --- a/src/layouts/SideProject.astro +++ b/src/layouts/SideProject.astro @@ -1,6 +1,7 @@ --- import GithubIcon from "../components/Sideprojects/GithubIcon.astro"; import GlobeIcon from "../components/Sideprojects/GlobeIcon.astro"; +import NavigationLayout from "./NavigationLayout.astro"; --- @@ -25,73 +26,42 @@ import GlobeIcon from "../components/Sideprojects/GlobeIcon.astro"; href="https://unpkg.com/@phosphor-icons/web@2.1.1/src/regular/style.css" /> - - -
- +
-
-

+
+

Typed Hyperscript Processor (webpage)

- Descripción del proyecto :D (carita feliz) - en 240 palabras o menos + Descripción del proyecto :D (carita feliz) en 240 + palabras o menos

-
- logos -
+
logos

-
+
-
+ - diff --git a/src/pages/blog/es/programacion-07.md b/src/pages/blog/es/programacion-07.md new file mode 100644 index 0000000..16403d1 --- /dev/null +++ b/src/pages/blog/es/programacion-07.md @@ -0,0 +1,179 @@ +--- +layout: ../../../layouts/BlogLayout.astro +title: "07: Cero a Zig - Variables" +description: | + Introducción a las variables +pubDate: "2024-08-10" +tags: ["tech", "lenguajes", "intro", "tutorial", "zig", "VSCode"] +image: + url: "" + alt: "" + caption: "" +--- + +Ahora veremos un concepto fundamental: Variables. + +Todo el código lo escribiremos en el proyecto que creamos +en el artículo anterior. + + +## Motivación + +Vamos a plantear un escenario: Queremos escribir un programa +que salude a una persona, le diga cuanto cuesta su orden, +y se despida. + +Digamos que la persona se llama `Juan`. El código es así: + +```zig +const std = @import("std"); + +pub fn main() !void { + std.debug.print("Hola {s}\n", .{"Juan"}); + std.debug.print("Tu pedido cuesta {s} dolares\n", .{"20"}); + std.debug.print("Adios {s}\n", .{"Juan"}); +} +``` + +Y al ejecutarlo se muestra: + +![Codigo](/img/blog/es/tutorial/1x/001.jpg) + +Como el código es sencillo, no hay ningún problema. +¿Pero qué pasaría si tuvieramos que imprimir el nombre 10 veces? +Entonces tendríamos que repetirlo 10 veces. + +```zig +const std = @import("std"); + +pub fn main() !void { + 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"}); + 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"}); +} +``` + +![Codigo](/img/blog/es/tutorial/1x/002.jpg) + +Un poco tedioso, pero nada imposible. + +Ahora vamos a cambiar el programa: el nombre de la +persona será `Maria`. + +Lo que tenemos que hacer es cambiar `Juan` por +`Maria` en los 10 lugares, uno por uno. + +Esto es bastante común, y existe una solución para +no cambiar 10 veces, sino solamente una. + + +## Variables + +Una variable es como un almacén. Una variable +almacena un valor bajo un nombre. + +Por ejemplo, podemos decir que `nombre = "Juan"`, +y a partir de ese momento cada vez que usemos +`nombre` se reemplazará por `Juan`. + +Por ejemplo: + +```zig +const std = @import("std"); + +pub fn main() !void { + const nombre = "Juan"; + std.debug.print("Hola {s}\n", .{nombre}); +} +``` + +En el código de arriba en la linea 4, hemos creado una +variable `nombre`, y le hemos dado como valor `"Juan"`. + +Despues, en la linea 5 estamos utilizando la variable. +En vez de escribir `.{"Juan"}` escribimos `.{nombre}`. + +Al ejecutar el programa se imprimirá `Hola Juan` + +![Codigo](/img/blog/es/tutorial/1x/003.jpg) + +Podemos utilizar la variable las veces que queramos. +Si imprimimos 10 veces se vería así: + +```zig +const std = @import("std"); + +pub fn main() !void { + const nombre = "Juan"; + 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}); + 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}); +} +``` + +Y al ejecutar se imprime 10 veces. + +![Codigo](/img/blog/es/tutorial/1x/004.jpg) + +Ahora, si queremos cambiar `Juan` por `Maria`, +solo tenemos que hacerlo en un lugar: + +```zig +const std = @import("std"); + +pub fn main() !void { + const nombre = "Maria"; + 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}); + 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}); +} +``` +![Codigo](/img/blog/es/tutorial/1x/005.jpg) + + +## Creando una variable + +Para crear una variable se escribe: + +- `const` +- El nombre de la variable +- `=` +- El valor de la variable +- `;` + +El nombre de la variable solo puede tener letras, +números y guiones bajos. No puede tener espacios. + +Puedes crear varias variables, cada una en una +línea. Por ejemplo: + +```zig +const nombre = "Pedro"; +const edad = "32"; +const helado_favorito = "Vainilla"; +``` + + + + diff --git a/src/pages/index.astro b/src/pages/index.astro index 65712a7..224c1a0 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -3,8 +3,10 @@ import Sidebar from "../components/Sidebar.astro"; import Languages from "../components/index/Languages.astro"; import Learning from "../components/index/Learning.astro"; import Tools from "../components/index/Tools.astro"; +import NavigationLayout from "../layouts/NavigationLayout.astro"; --- - + + @@ -21,15 +23,17 @@ import Tools from "../components/index/Tools.astro"; -
- -
- - - + +
+ +
+ + + +
-
+ diff --git a/src/pages/side-projects/index.astro b/src/pages/side-projects/index.astro index 32e7285..fc00fb5 100644 --- a/src/pages/side-projects/index.astro +++ b/src/pages/side-projects/index.astro @@ -1,6 +1,7 @@ --- import GithubIcon from "../../components/Sideprojects/GithubIcon.astro"; import GlobeIcon from "../../components/Sideprojects/GlobeIcon.astro"; +import NavigationLayout from "../../layouts/NavigationLayout.astro"; --- @@ -25,78 +26,52 @@ import GlobeIcon from "../../components/Sideprojects/GlobeIcon.astro"; href="https://unpkg.com/@phosphor-icons/web@2.1.1/src/regular/style.css" /> - - -
- +
-
-

+
+

Typed Hyperscript Processor (webpage)

This is a static webpage that contains documentation for my other project, the THP compiler. -
-
- It is written with Astro and Markdown, highlights - the syntax in the code snippets using said compiler, - and has some interactive code snippets. +
+
+ It is written with Astro and Markdown, highlights the + syntax in the code snippets using said compiler, and + has some interactive code snippets.

-
- logos -
+
logos

-
+
-
+