añadidos links al acortador en proyectos

This commit is contained in:
2026-03-22 15:31:08 -03:00
parent 0c3599ca73
commit 7039de81c8
14 changed files with 340 additions and 31 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

View File

@@ -0,0 +1,15 @@
---
date : '2026-03-22T15:03:19-03:00'
draft : false
title : 'Url Short'
image : 'image.png'
---
Finalmente me decidi por realizar mi primer proyecto usando go. Este es un acortador de urls el cual permite registar las urls en una base de datos sqlite3 y recuperar la url normal al acceder a la api.
## Funcionalidades
- Acortar Urls dando una id random Uint64 casteada a int64.
- Enviar un 301 a la pagina que necesites redireccionar.
El [Fuente](https://fedesrv.ddns.net/git/fede/url-short) se encuentra en ese link.

View File

@@ -112,7 +112,6 @@
"hover:scale-120", "hover:scale-120",
"hover:shadow-[0_8px_0_black]", "hover:shadow-[0_8px_0_black]",
"hover:shadow-xl", "hover:shadow-xl",
"hover:text-blue-700",
"hover:text-blue-900", "hover:text-blue-900",
"hover:text-white", "hover:text-white",
"hover:z-2", "hover:z-2",
@@ -179,7 +178,6 @@
"text-2xl", "text-2xl",
"text-4xl", "text-4xl",
"text-6xl", "text-6xl",
"text-blue-500",
"text-blue-700", "text-blue-700",
"text-center", "text-center",
"text-gray-300", "text-gray-300",
@@ -234,9 +232,11 @@
"el-inicio-de-la-catastrofe", "el-inicio-de-la-catastrofe",
"estructura-de-navegación-drilling", "estructura-de-navegación-drilling",
"frontend", "frontend",
"funcionalidades",
"gestión-de-productos", "gestión-de-productos",
"gimp", "gimp",
"grad", "grad",
"image.png",
"imagemagick", "imagemagick",
"implementación", "implementación",
"instanciacion-del-sqlconnection", "instanciacion-del-sqlconnection",

View File

@@ -1,9 +1,13 @@
<div class="container mx-auto px-4 py-8"> <div class="container mx-auto px-4 py-8">
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6"> <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6">
{{ range first 3 (where .Site.RegularPages "Section" "proyectos") }} {{ range where site.RegularPages "Section" "proyectos" }}
<div <div
class="hover:scale-120 hover:z-2 transform-3d hover:rotate-z-2 duration-100 hover:-translate-y-2 bg-white rounded-lg shadow-md overflow-hidden border-3 hover:shadow-xl ease-in" class="hover:scale-120 hover:z-2 transform-3d hover:rotate-z-2 duration-100 hover:-translate-y-2 bg-white rounded-lg shadow-md overflow-hidden border-3 hover:shadow-xl ease-in"
> >
<a
href="{{ .Permalink }}"
>
{{ if .Params.image }} {{ if .Params.image }}
<img <img
src="{{path.Join .Path .Params.image}}" src="{{path.Join .Path .Params.image}}"
@@ -26,11 +30,6 @@
</p> </p>
<div class="flex justify-between items-center"> <div class="flex justify-between items-center">
<a
href="{{ .Permalink }}"
class="text-blue-500 hover:text-blue-700"
>Ver más</a
>
{{ with .Params.tags }} {{ with .Params.tags }}
<div class="flex flex-wrap"> <div class="flex flex-wrap">
@@ -45,6 +44,7 @@
{{ end }} {{ end }}
</div> </div>
</div> </div>
</a>
</div> </div>
{{ end }} {{ end }}
</div> </div>

File diff suppressed because one or more lines are too long

View File

@@ -278,9 +278,42 @@
<div class="container mx-auto px-4 py-8"> <div class="container mx-auto px-4 py-8">
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6"> <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6">
<div <div
class="hover:scale-120 hover:z-2 transform-3d hover:rotate-z-2 duration-100 hover:-translate-y-2 bg-white rounded-lg shadow-md overflow-hidden border-3 hover:shadow-xl ease-in" class="hover:scale-120 hover:z-2 transform-3d hover:rotate-z-2 duration-100 hover:-translate-y-2 bg-white rounded-lg shadow-md overflow-hidden border-3 hover:shadow-xl ease-in"
> >
<a
href="https://fedesrv.ddns.net/proyectos/url-short/"
>
<img
src="/proyectos/url-short/image.png"
alt="Url Short"
class="w-full h-48 object-cover"
/>
<div class="p-4">
<h2 class="text-xl font-bold mb-2">Url Short</h2>
<p class="text-gray-700 mb-4">
<p>Finalmente me decidi por realizar mi primer proyecto usando go. Este es un acortador de urls el cual permite registar las urls en una base de datos …</p>
</p>
<div class="flex justify-between items-center">
</div>
</div>
</a>
</div>
<div
class="hover:scale-120 hover:z-2 transform-3d hover:rotate-z-2 duration-100 hover:-translate-y-2 bg-white rounded-lg shadow-md overflow-hidden border-3 hover:shadow-xl ease-in"
>
<a
href="https://fedesrv.ddns.net/proyectos/paneldb/"
>
<div <div
class="w-full h-48 bg-gray-200 flex items-center justify-center" class="w-full h-48 bg-gray-200 flex items-center justify-center"
@@ -296,20 +329,20 @@
</p> </p>
<div class="flex justify-between items-center"> <div class="flex justify-between items-center">
<a
href="https://fedesrv.ddns.net/proyectos/paneldb/"
class="text-blue-500 hover:text-blue-700"
>Ver más</a
>
</div> </div>
</div> </div>
</a>
</div> </div>
<div <div
class="hover:scale-120 hover:z-2 transform-3d hover:rotate-z-2 duration-100 hover:-translate-y-2 bg-white rounded-lg shadow-md overflow-hidden border-3 hover:shadow-xl ease-in" class="hover:scale-120 hover:z-2 transform-3d hover:rotate-z-2 duration-100 hover:-translate-y-2 bg-white rounded-lg shadow-md overflow-hidden border-3 hover:shadow-xl ease-in"
> >
<a
href="https://fedesrv.ddns.net/proyectos/controlstock/"
>
<div <div
class="w-full h-48 bg-gray-200 flex items-center justify-center" class="w-full h-48 bg-gray-200 flex items-center justify-center"
@@ -325,20 +358,20 @@
</p> </p>
<div class="flex justify-between items-center"> <div class="flex justify-between items-center">
<a
href="https://fedesrv.ddns.net/proyectos/controlstock/"
class="text-blue-500 hover:text-blue-700"
>Ver más</a
>
</div> </div>
</div> </div>
</a>
</div> </div>
<div <div
class="hover:scale-120 hover:z-2 transform-3d hover:rotate-z-2 duration-100 hover:-translate-y-2 bg-white rounded-lg shadow-md overflow-hidden border-3 hover:shadow-xl ease-in" class="hover:scale-120 hover:z-2 transform-3d hover:rotate-z-2 duration-100 hover:-translate-y-2 bg-white rounded-lg shadow-md overflow-hidden border-3 hover:shadow-xl ease-in"
> >
<a
href="https://fedesrv.ddns.net/proyectos/coordkeeper/"
>
<img <img
src="/proyectos/coordkeeper/index.png" src="/proyectos/coordkeeper/index.png"
@@ -354,15 +387,11 @@
</p> </p>
<div class="flex justify-between items-center"> <div class="flex justify-between items-center">
<a
href="https://fedesrv.ddns.net/proyectos/coordkeeper/"
class="text-blue-500 hover:text-blue-700"
>Ver más</a
>
</div> </div>
</div> </div>
</a>
</div> </div>
</div> </div>

View File

@@ -6,8 +6,15 @@
<description>Recent content on Blog Fede</description> <description>Recent content on Blog Fede</description>
<generator>Hugo</generator> <generator>Hugo</generator>
<language>en-us</language> <language>en-us</language>
<lastBuildDate>Fri, 02 May 2025 02:13:53 -0300</lastBuildDate> <lastBuildDate>Sun, 22 Mar 2026 15:03:19 -0300</lastBuildDate>
<atom:link href="https://fedesrv.ddns.net/index.xml" rel="self" type="application/rss+xml" /> <atom:link href="https://fedesrv.ddns.net/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Url Short</title>
<link>https://fedesrv.ddns.net/proyectos/url-short/</link>
<pubDate>Sun, 22 Mar 2026 15:03:19 -0300</pubDate>
<guid>https://fedesrv.ddns.net/proyectos/url-short/</guid>
<description>&lt;p&gt;Finalmente me decidi por realizar mi primer proyecto usando go. Este es un acortador de urls el cual permite registar las urls en una base de datos sqlite3 y recuperar la url normal al acceder a la api.&lt;/p&gt;&#xA;&lt;h2 id=&#34;funcionalidades&#34;&gt;Funcionalidades&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Acortar Urls dando una id random Uint64 casteada a int64.&lt;/li&gt;&#xA;&lt;li&gt;Enviar un 301 a la pagina que necesites redireccionar.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;El &lt;a href=&#34;https://fedesrv.ddns.net/git/fede/url-short&#34;&gt;Fuente&lt;/a&gt; se encuentra en ese link.&lt;/p&gt;</description>
</item>
<item> <item>
<title>Panel Web</title> <title>Panel Web</title>
<link>https://fedesrv.ddns.net/proyectos/paneldb/</link> <link>https://fedesrv.ddns.net/proyectos/paneldb/</link>

View File

@@ -6,8 +6,15 @@
<description>Recent content in Proyectos on Blog Fede</description> <description>Recent content in Proyectos on Blog Fede</description>
<generator>Hugo</generator> <generator>Hugo</generator>
<language>en-us</language> <language>en-us</language>
<lastBuildDate>Fri, 02 May 2025 02:13:53 -0300</lastBuildDate> <lastBuildDate>Sun, 22 Mar 2026 15:03:19 -0300</lastBuildDate>
<atom:link href="https://fedesrv.ddns.net/proyectos/index.xml" rel="self" type="application/rss+xml" /> <atom:link href="https://fedesrv.ddns.net/proyectos/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Url Short</title>
<link>https://fedesrv.ddns.net/proyectos/url-short/</link>
<pubDate>Sun, 22 Mar 2026 15:03:19 -0300</pubDate>
<guid>https://fedesrv.ddns.net/proyectos/url-short/</guid>
<description>&lt;p&gt;Finalmente me decidi por realizar mi primer proyecto usando go. Este es un acortador de urls el cual permite registar las urls en una base de datos sqlite3 y recuperar la url normal al acceder a la api.&lt;/p&gt;&#xA;&lt;h2 id=&#34;funcionalidades&#34;&gt;Funcionalidades&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Acortar Urls dando una id random Uint64 casteada a int64.&lt;/li&gt;&#xA;&lt;li&gt;Enviar un 301 a la pagina que necesites redireccionar.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;El &lt;a href=&#34;https://fedesrv.ddns.net/git/fede/url-short&#34;&gt;Fuente&lt;/a&gt; se encuentra en ese link.&lt;/p&gt;</description>
</item>
<item> <item>
<title>Panel Web</title> <title>Panel Web</title>
<link>https://fedesrv.ddns.net/proyectos/paneldb/</link> <link>https://fedesrv.ddns.net/proyectos/paneldb/</link>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

View File

@@ -0,0 +1,248 @@
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Url Short</title>
<link rel="stylesheet" href="/css/main.css">
<link rel="stylesheet" href="/css/styles.css">
</head>
<body>
<main>
<nav class="bg-gray-800 fixed w-full top-0 z-3">
<div class="mx-auto px-4">
<div class="flex items-center justify-between h-16">
<div class="flex items-center">
<a href="/" class="text-white font-bold text-xl"
>Fede Landing Site</a
>
</div>
<div class="hidden md:flex">
<a
href="/git"
target="_blank"
class="text-gray-300 hover:text-white px-3 py-2"
>Git</a
>
<a
class="text-gray-300 hover:text-white px-3 py-2 muted"
href="https://fedesrv.ddns.net/git/fede/CV/media/branch/master/Federico_Polidoro_CV.pdf"
target="_blank"
>CV</a
>
<a
href="https://github.com/fedpo2"
target="_blank"
class="text-gray-300 hover:text-white px-3 py-2"
>GitHub</a
>
<a
href="mailto:federico.nicolas.polidoro@gmail.com"
target="_blank"
class="text-gray-300 hover:text-white px-3 py-2"
>Email</a
>
<a
href="https://www.linkedin.com/in/federico-polidoro-40137a25b/"
target="_blank"
class="text-gray-300 hover:text-white px-3 py-2"
>LinkedIn</a
>
</div>
<div class="md:hidden cursor-context-menu">
<button
onclick="toggleOffCanvas()"
class="border px-2 py-1 rounded text-white"
>
<svg
class="h-6 w-6"
fill="none"
viewBox="0 0 24 24"
stroke="currentColor"
>
<path
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
d="M0 6h25M0 12h25M0 18h25"
/>
</svg>
</button>
</div>
</div>
</div>
<div
id="offCanvas"
class="fixed top-16 right-0 w-64 h-screen bg-gray-800 transform translate-x-full transition-transform duration-200 ease-in-out"
>
<div class="flex flex-col p-4">
<a
href="/git"
target="_blank"
class="text-gray-300 hover:text-white px-3 py-2"
>Git</a
>
<a
class="text-gray-300 hover:text-white px-3 py-2 muted"
href="https://fedesrv.ddns.net/git/fede/CV/media/branch/master/Federico_Polidoro_CV.pdf"
target="_blank"
>CV</a
>
<a
href="https://github.com/fedpo2"
target="_blank"
class="text-gray-300 hover:text-white px-3 py-2"
>GitHub</a
>
<a
href="mailto:federico.nicolas.polidoro@gmail.com"
target="_blank"
class="text-gray-300 hover:text-white px-3 py-2"
>Email</a
>
<a
href="https://www.linkedin.com/in/federico-polidoro-40137a25b/"
target="_blank"
class="text-gray-300 hover:text-white px-3 py-2"
>LinkedIn</a
>
</div>
</div>
</nav>
<script>
function toggleOffCanvas() {
const offCanvas = document.getElementById("offCanvas");
offCanvas.classList.toggle("translate-x-full");
}
</script>
<style>
@font-face {
font-family: 'MiFuente';
src: url('/calamity.ttf') format('truetype');
}
header{
font-family: 'MiFuente', sans-serif;
}
</style>
<div class="mt-16 bg-sky-300">
<header class="text-center text-6xl pt-5">Url Short</header>
<div class="flex justify-center">
<div class="flex w-100 ">
<hr class="w-[50%] mt-6">
<p class="text-4xl">
o
</p>
<hr class="w-[50%] mt-6">
</div>
</div>
<div class="flex flex-col justify-center w-fit mx-auto mt-2">
<div class="rounded-t-full bg-sky-600">.</div>
<div class="flex justify-center gap-2 p-8 bg-sky-600">
<button class="p-1 rounded bg-white transform hover:scale-120
transition-all duration-100 ease-linear border-2 hover:z-2 active:z-0" onclick="openmodal(&#34;1.gif&#34;)">
<img src="1.gif" alt="Carousel Image" class="
h-[20rem] rounded">
</button>
<button class="p-1 rounded bg-white transform hover:scale-120
transition-all duration-100 ease-linear border-2 hover:z-2 active:z-0" onclick="openmodal(&#34;image.png&#34;)">
<img src="image.png" alt="Carousel Image" class="
h-[20rem] rounded">
</button>
</div>
<div class="rounded-b-full bg-sky-600 shadow-xl/30 mb-4">.</div>
<dialog id="1.gif" class="fixed inset-0 flex items-center justify-center
z-50 w-full h-full bg-black bg-opacity-50"
style="background-color: rgba(0,0,0,0.2);" onclick="openmodal(&#34;1.gif&#34;)" hidden>
<img src="1.gif" alt="Carousel Image" class="
mt-2 p-1 bg-white border-2
h-[80%] rounded-md opacity-100">
</dialog>
<dialog id="image.png" class="fixed inset-0 flex items-center justify-center
z-50 w-full h-full bg-black bg-opacity-50"
style="background-color: rgba(0,0,0,0.2);" onclick="openmodal(&#34;image.png&#34;)" hidden>
<img src="image.png" alt="Carousel Image" class="
mt-2 p-1 bg-white border-2
h-[80%] rounded-md opacity-100">
</dialog>
<script>
function openmodal(id){
let dialog = document.getElementById(id);
dialog.toggleAttribute("hidden");
}
</script>
</div>
<div class="flex justify-center">
<div class="flex w-100 ">
<hr class="w-[50%] mt-6">
<p class="text-4xl">
o
</p>
<hr class="w-[50%] mt-6">
</div>
</div>
<div class="flex justify-center mt-2">
<article><p>Finalmente me decidi por realizar mi primer proyecto usando go. Este es un acortador de urls el cual permite registar las urls en una base de datos sqlite3 y recuperar la url normal al acceder a la api.</p>
<h2 id="funcionalidades">Funcionalidades</h2>
<ul>
<li>Acortar Urls dando una id random Uint64 casteada a int64.</li>
<li>Enviar un 301 a la pagina que necesites redireccionar.</li>
</ul>
<p>El <a href="https://fedesrv.ddns.net/git/fede/url-short">Fuente</a> se encuentra en ese link.</p>
</article>
</div>
</div>
<div class="bg-sky-300 rounded-b-full shadow-md">
<p>.</p>
</div>
</main>
<br>
<footer class="text-center text-sm text-gray-500 mt-12 py-6 border-t">
© 2026 Federico Polidoro
</footer>
</body>
</html>

View File

@@ -3,12 +3,15 @@
xmlns:xhtml="http://www.w3.org/1999/xhtml"> xmlns:xhtml="http://www.w3.org/1999/xhtml">
<url> <url>
<loc>https://fedesrv.ddns.net/</loc> <loc>https://fedesrv.ddns.net/</loc>
<lastmod>2025-05-02T02:13:53-03:00</lastmod> <lastmod>2026-03-22T15:03:19-03:00</lastmod>
</url><url>
<loc>https://fedesrv.ddns.net/proyectos/paneldb/</loc>
<lastmod>2025-05-02T02:13:53-03:00</lastmod>
</url><url> </url><url>
<loc>https://fedesrv.ddns.net/proyectos/</loc> <loc>https://fedesrv.ddns.net/proyectos/</loc>
<lastmod>2026-03-22T15:03:19-03:00</lastmod>
</url><url>
<loc>https://fedesrv.ddns.net/proyectos/url-short/</loc>
<lastmod>2026-03-22T15:03:19-03:00</lastmod>
</url><url>
<loc>https://fedesrv.ddns.net/proyectos/paneldb/</loc>
<lastmod>2025-05-02T02:13:53-03:00</lastmod> <lastmod>2025-05-02T02:13:53-03:00</lastmod>
</url><url> </url><url>
<loc>https://fedesrv.ddns.net/proyectos/controlstock/</loc> <loc>https://fedesrv.ddns.net/proyectos/controlstock/</loc>

File diff suppressed because one or more lines are too long