feat: añadido sitemap custom

This commit is contained in:
2026-03-16 15:37:56 -03:00
parent 660a5690ee
commit 85e93a52f2
29 changed files with 247 additions and 86 deletions

View File

@@ -55,7 +55,7 @@
<link>https://fedesrv.ddns.net/posts/string-interpolation/</link>
<pubDate>Tue, 24 Oct 2023 22:24:17 +0800</pubDate>
<guid>https://fedesrv.ddns.net/posts/string-interpolation/</guid>
<description>&lt;h1 id=&#34;que-es&#34;&gt;¿Que es?&lt;/h1&gt;&#xA;&lt;p&gt;Es un proceso de evaluado, en el cual se reemplazan placeholders en &lt;code&gt;string&lt;/code&gt; por valores, en nuestro caso, de variables en momento de ejecución.&lt;/p&gt;&#xA;&lt;h1 id=&#34;sintaxis&#34;&gt;Sintaxis&lt;/h1&gt;&#xA;&lt;pre&gt;&lt;code&gt;var manzanas = 4;&#xA;var bananas = 3;&#xA;&#xA;Console.WriteLine($&amp;quot;Tengo {manzanas} manzanas&amp;quot;);&#xA;Console.WriteLine($&amp;quot;Vendí {manzanas + bananas} frutas&amp;quot;);&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Basicamente son plantillas.&lt;/p&gt;&lt;/blockquote&gt;</description>
<description>&lt;h1 id=&#34;que-es&#34;&gt;¿Que es?&lt;/h1&gt;&#xA;&lt;p&gt;Es un proceso de evaluado, en el cual se reemplazan placeholders en &lt;code&gt;string&lt;/code&gt; por valores, en nuestro caso, de variables en momento de ejecución.&lt;/p&gt;&#xA;&lt;h1 id=&#34;sintaxis&#34;&gt;Sintaxis&lt;/h1&gt;&#xA;&lt;pre&gt;&lt;code&gt;var manzanas = 4;&#xA;var bananas = 3;&#xA;&#xA;Console.WriteLine($&amp;quot;Tengo {manzanas} manzanas&amp;quot;);&#xA;Console.WriteLine($&amp;quot;Vendí {manzanas + bananas} frutas&amp;quot;);&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Basicamente son plantillas.&lt;/p&gt;&#xA;&lt;/blockquote&gt;</description>
</item>
<item>
<title>Anuncio Aoc 2023</title>
@@ -76,14 +76,14 @@
<link>https://fedesrv.ddns.net/posts/pasar-imagenes-a-blanco-y-negro/</link>
<pubDate>Sat, 23 Sep 2023 10:35:18 -0300</pubDate>
<guid>https://fedesrv.ddns.net/posts/pasar-imagenes-a-blanco-y-negro/</guid>
<description>&lt;h1 id=&#34;gimp&#34;&gt;Gimp&lt;/h1&gt;&#xA;&lt;p&gt;Hay varias formas de pasar una imagen a blanco y negro. yo prefiero la de usar &lt;strong&gt;Gimp&lt;/strong&gt; con la opcion de &lt;code&gt;Color &amp;gt; Desaturacion &amp;gt; Color a gama de grises&lt;/code&gt;. Pero voy a listar un par de métodos alternativos para obtener el ~mismo resultado.&lt;br&gt;&#xA;&lt;img src=&#34;https://fedesrv.ddns.net/fedecomp.png&#34; alt=&#34;Comparación&#34;&gt;&lt;/p&gt;&#xA;&lt;h1 id=&#34;imagemagick&#34;&gt;ImageMagick&lt;/h1&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Es un conjunto de utilidades de código abierto para mostrar, manipular y convertir imágenes, capaz de leer y escribir más de 200 formatos.&lt;/p&gt;&lt;/blockquote&gt;&#xA;&lt;p&gt;Una de esas utilidades es llamada &lt;code&gt;convert&lt;/code&gt;, la cual acepta un archivo y convierte este a el formato que se le especifique. Existe una flag llamada &lt;code&gt;-colorspace&lt;/code&gt; la cual si le damos el parametro &lt;strong&gt;Gray&lt;/strong&gt; la imagen resultante estará representada en una gama de grises.&#xA;&lt;img src=&#34;https://fedesrv.ddns.net/fedeg.jpg&#34; alt=&#34;Imagen en gama de grises&#34;&gt;&lt;/p&gt;</description>
<description>&lt;h1 id=&#34;gimp&#34;&gt;Gimp&lt;/h1&gt;&#xA;&lt;p&gt;Hay varias formas de pasar una imagen a blanco y negro. yo prefiero la de usar &lt;strong&gt;Gimp&lt;/strong&gt; con la opcion de &lt;code&gt;Color &amp;gt; Desaturacion &amp;gt; Color a gama de grises&lt;/code&gt;. Pero voy a listar un par de métodos alternativos para obtener el ~mismo resultado.&lt;br&gt;&#xA;&lt;img src=&#34;https://fedesrv.ddns.net/fedecomp.png&#34; alt=&#34;Comparación&#34;&gt;&lt;/p&gt;&#xA;&lt;h1 id=&#34;imagemagick&#34;&gt;ImageMagick&lt;/h1&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Es un conjunto de utilidades de código abierto para mostrar, manipular y convertir imágenes, capaz de leer y escribir más de 200 formatos.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Una de esas utilidades es llamada &lt;code&gt;convert&lt;/code&gt;, la cual acepta un archivo y convierte este a el formato que se le especifique. Existe una flag llamada &lt;code&gt;-colorspace&lt;/code&gt; la cual si le damos el parametro &lt;strong&gt;Gray&lt;/strong&gt; la imagen resultante estará representada en una gama de grises.&#xA;&lt;img src=&#34;https://fedesrv.ddns.net/fedeg.jpg&#34; alt=&#34;Imagen en gama de grises&#34;&gt;&lt;/p&gt;</description>
</item>
<item>
<title>Diseño de Software Incident</title>
<link>https://fedesrv.ddns.net/posts/dise%C3%B1o-de-software-incident/</link>
<pubDate>Fri, 22 Sep 2023 15:08:17 +0800</pubDate>
<guid>https://fedesrv.ddns.net/posts/dise%C3%B1o-de-software-incident/</guid>
<description>&lt;h1 id=&#34;instanciacion-del-sqlconnection&#34;&gt;Instanciacion del SqlConnection&lt;/h1&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-csharp&#34; data-lang=&#34;csharp&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;using&lt;/span&gt; (&lt;span style=&#34;color:#66d9ef&#34;&gt;var&lt;/span&gt; connection = &lt;span style=&#34;color:#66d9ef&#34;&gt;new&lt;/span&gt; SqlConnection(configuration.GetConnectionString(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;DefaultConnection&amp;#34;&lt;/span&gt;)))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Eso genera un sql connection que va a existir hasta que salga del scope del programa.&lt;/p&gt;&#xA;&lt;h1 id=&#34;creacion-del-sqlcommand&#34;&gt;Creacion del SqlCommand&lt;/h1&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-csharp&#34; data-lang=&#34;csharp&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;using&lt;/span&gt; var command = &lt;span style=&#34;color:#66d9ef&#34;&gt;new&lt;/span&gt; SqlCommand();&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;command.CommandText = &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;sp_RecuperaProductos&amp;#34;&lt;/span&gt;;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;command.CommandType = System.Data.CommandType.StoredProcedure;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h1 id=&#34;apertura-de-la-coneccion&#34;&gt;Apertura de la coneccion&lt;/h1&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-csharp&#34; data-lang=&#34;csharp&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;command.Connection = connection;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;command.Connection.Open();&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;utilizacion-del-executereader&#34;&gt;Utilizacion del ExecuteReader&lt;/h2&gt;&#xA;&lt;p&gt;Es un choclo pero basicamente el codigo de abajo se encarga de iterar por cada uno de las entradas de la tabla. &lt;strong&gt;MUY&lt;/strong&gt; importante, se tiene que añadir los productos dentro del loop principal del reader ya que lo que no se guarde en cada iteracion se pierde. (los maps no son case sensitive).&lt;/p&gt;</description>
<description>&lt;h1 id=&#34;instanciacion-del-sqlconnection&#34;&gt;Instanciacion del SqlConnection&lt;/h1&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-csharp&#34; data-lang=&#34;csharp&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;using&lt;/span&gt; (&lt;span style=&#34;color:#66d9ef&#34;&gt;var&lt;/span&gt; connection = &lt;span style=&#34;color:#66d9ef&#34;&gt;new&lt;/span&gt; SqlConnection(configuration.GetConnectionString(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;DefaultConnection&amp;#34;&lt;/span&gt;)))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Eso genera un sql connection que va a existir hasta que salga del scope del programa.&lt;/p&gt;&#xA;&lt;h1 id=&#34;creacion-del-sqlcommand&#34;&gt;Creacion del SqlCommand&lt;/h1&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-csharp&#34; data-lang=&#34;csharp&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;using&lt;/span&gt; var command = &lt;span style=&#34;color:#66d9ef&#34;&gt;new&lt;/span&gt; SqlCommand();&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;command.CommandText = &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;sp_RecuperaProductos&amp;#34;&lt;/span&gt;;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;command.CommandType = System.Data.CommandType.StoredProcedure;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h1 id=&#34;apertura-de-la-coneccion&#34;&gt;Apertura de la coneccion&lt;/h1&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-csharp&#34; data-lang=&#34;csharp&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;command.Connection = connection;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;command.Connection.Open();&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;utilizacion-del-executereader&#34;&gt;Utilizacion del ExecuteReader&lt;/h2&gt;&#xA;&lt;p&gt;Es un choclo pero basicamente el codigo de abajo se encarga de iterar por cada uno de las entradas de la tabla. &lt;strong&gt;MUY&lt;/strong&gt; importante, se tiene que añadir los productos dentro del loop principal del reader ya que lo que no se guarde en cada iteracion se pierde. (los maps no son case sensitive).&lt;/p&gt;</description>
</item>
<item>
<title>RetroArchivements</title>
@@ -99,5 +99,19 @@
<guid>https://fedesrv.ddns.net/posts/sample-post/</guid>
<description>&lt;h1 id=&#34;buenas&#34;&gt;buenas&lt;/h1&gt;&#xA;&lt;p&gt;buenas&#xA;Luego de sufrir bastante con el nginx y su &lt;em&gt;Reverse Proxy&lt;/em&gt;, finalmente me decidí por poner la pagina del blog en el &lt;strong&gt;WebRoot&lt;/strong&gt; y el &lt;em&gt;gitea&lt;/em&gt; en un subfolder.&lt;/p&gt;&#xA;&lt;h2 id=&#34;como-funciona-esto&#34;&gt;Como funciona esto&lt;/h2&gt;&#xA;&lt;p&gt;El programa que estoy usando para hacer este blog se llama &lt;a href=&#34;https://gohugo.io&#34;&gt;Hugo&lt;/a&gt;, consiste de una especie de parceador de &lt;a href=&#34;https://www.markdownguide.org/&#34;&gt;Markdown&lt;/a&gt; a Html estático el cual hosteo con este &lt;a href=&#34;https://nginx.org/en/&#34;&gt;webServer&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;h3 id=&#34;como-hago-nuevos-posts&#34;&gt;Como hago nuevos posts&lt;/h3&gt;&#xA;&lt;p&gt;Dentro de la carpeta del proyecto del server hay una que se llama content, todos los &lt;code&gt;.md&lt;/code&gt; que haya ahí cuando utilizo el comando:&lt;/p&gt;</description>
</item>
<item>
<title>Gitea</title>
<link>https://fedesrv.ddns.net/sitemap/gitea/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://fedesrv.ddns.net/sitemap/gitea/</guid>
<description></description>
</item>
<item>
<title>Irc</title>
<link>https://fedesrv.ddns.net/sitemap/ircc/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://fedesrv.ddns.net/sitemap/ircc/</guid>
<description></description>
</item>
</channel>
</rss>