featmigrate from Angular to Astro static site
BREAKING CHANGE: Complete rewrite from Angular SPA to Astro - Replace Angular 18 with Astro 5.16.7 + Tailwind CSS - Convert all Angular components to Astro components - Add content collections for blog with markdown support - Setup S3 deployment with CloudFront invalidation - Add RSS feed and sitemap generation - Configure Prettier and Biome for code formatting - Switch from npm to pnpm - Remove Amplify backend (now fully static) - Improve SEO and performance with static generation
This commit is contained in:
parent
7be49ba73a
commit
7cf2e858a2
192 changed files with 7829 additions and 21756 deletions
124
src/components/Footer.astro
Normal file
124
src/components/Footer.astro
Normal file
|
|
@ -0,0 +1,124 @@
|
|||
---
|
||||
|
||||
---
|
||||
|
||||
<div class="w-full bg-secondary py-2 px-4">
|
||||
<div class="max-w-6xl mx-auto flex justify-between flex-col-reverse sm:flex-row gap-4 sm:items-end items-center">
|
||||
<div class="text-center sm:text-left text-gray-600 flex flex-col items-center sm:items-start">
|
||||
<div class="flex flex-wrap items-center gap-3 text-sm">
|
||||
<span class="font-medium text-gray-800">Lorenzo Iovino</span>
|
||||
<span class="text-gray-400">•</span>
|
||||
<a
|
||||
href="/rss.xml"
|
||||
class="hover:text-primary-600 transition-colors duration-200 inline-flex items-center gap-1"
|
||||
title="RSS Feed"
|
||||
>
|
||||
RSS
|
||||
</a>
|
||||
<span class="text-gray-400">•</span>
|
||||
<a
|
||||
href="/sitemap-index.xml"
|
||||
class="hover:text-primary-600 transition-colors duration-200"
|
||||
title="Sitemap">Sitemap</a
|
||||
>
|
||||
<span class="text-gray-400">•</span>
|
||||
<a
|
||||
href="https://www.iubenda.com/privacy-policy/98687046"
|
||||
class="hover:text-primary-600 transition-colors duration-200 iubenda-white iubenda-noiframe iubenda-embed iubenda-noiframe"
|
||||
title="Privacy Policy">Privacy Policy</a
|
||||
>
|
||||
<script is:inline type="text/javascript">
|
||||
(function (w, d) {
|
||||
var loader = function () {
|
||||
var s = d.createElement("script"),
|
||||
tag = d.getElementsByTagName("script")[0];
|
||||
s.src = "https://cdn.iubenda.com/iubenda.js";
|
||||
tag.parentNode.insertBefore(s, tag);
|
||||
};
|
||||
if (w.addEventListener) {
|
||||
w.addEventListener("load", loader, false);
|
||||
} else if (w.attachEvent) {
|
||||
w.attachEvent("onload", loader);
|
||||
} else {
|
||||
w.onload = loader;
|
||||
}
|
||||
})(window, document);
|
||||
</script>
|
||||
<span class="text-gray-400">•</span>
|
||||
|
||||
<a
|
||||
href="https://www.iubenda.com/privacy-policy/98687046/cookie-policy"
|
||||
class="hover:text-primary-600 transition-colors duration-200 iubenda-white iubenda-noiframe iubenda-embed iubenda-noiframe"
|
||||
title="Cookie Policy">Cookie Policy</a
|
||||
>
|
||||
<script is:inline type="text/javascript">
|
||||
(function (w, d) {
|
||||
var loader = function () {
|
||||
var s = d.createElement("script"),
|
||||
tag = d.getElementsByTagName("script")[0];
|
||||
s.src = "https://cdn.iubenda.com/iubenda.js";
|
||||
tag.parentNode.insertBefore(s, tag);
|
||||
};
|
||||
if (w.addEventListener) {
|
||||
w.addEventListener("load", loader, false);
|
||||
} else if (w.attachEvent) {
|
||||
w.attachEvent("onload", loader);
|
||||
} else {
|
||||
w.onload = loader;
|
||||
}
|
||||
})(window, document);
|
||||
</script>
|
||||
</div>
|
||||
</div>
|
||||
<div class="text-center sm:text-right text-gray-600 text-sm">
|
||||
<div class="flex flex-col gap-1">
|
||||
<div class="flex items-center justify-center sm:justify-end gap-1 flex-wrap">
|
||||
<span>Made with</span>
|
||||
<a
|
||||
href="https://astro.build/"
|
||||
class="inline-flex items-center hover:text-white transition-all duration-200"
|
||||
title="Astro"
|
||||
>
|
||||
<img
|
||||
class="h-5 w-5"
|
||||
src="/astro.svg"
|
||||
height="20"
|
||||
width="20"
|
||||
loading="lazy"
|
||||
alt="Astro Logo"
|
||||
/>
|
||||
</a>
|
||||
<span>and</span>
|
||||
<a
|
||||
href="https://tailwindcss.com/"
|
||||
class="inline-flex items-center center hover:text-white transition-all duration-200"
|
||||
title="TailwindCSS"
|
||||
>
|
||||
<img
|
||||
class="h-5 w-5"
|
||||
src="/tailwind.svg"
|
||||
height="20"
|
||||
width="20"
|
||||
loading="lazy"
|
||||
alt="Tailwind Logo"
|
||||
/>
|
||||
</a>
|
||||
</div>
|
||||
<a
|
||||
href="https://github.com/thisloke/lorenzoiovino.com"
|
||||
class="hover:text-white transition-colors duration-200 inline-flex items-center justify-center sm:justify-end gap-2 font-medium"
|
||||
>
|
||||
<span>Check the source code</span>
|
||||
<img
|
||||
src="/github.svg"
|
||||
class="h-5 w-5"
|
||||
height="20"
|
||||
width="20"
|
||||
loading="lazy"
|
||||
alt="Github Logo"
|
||||
/>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
Loading…
Add table
Add a link
Reference in a new issue