Finished version 1

This commit is contained in:
Rafael González 2022-01-07 22:21:53 -06:00
commit 67b686901b
51 changed files with 4354 additions and 0 deletions

18
.gitignore vendored Normal file
View File

@ -0,0 +1,18 @@
# build output
dist
# dependencies
node_modules/
.snowpack/
# logs
npm-debug.log*
yarn-debug.log*
yarn-error.log*
# environment variables
.env
.env.production
# macOS-specific files
.DS_Store

2
.npmrc Normal file
View File

@ -0,0 +1,2 @@
## force pnpm to hoist
shamefully-hoist = true

6
.stackblitzrc Normal file
View File

@ -0,0 +1,6 @@
{
"startCommand": "npm start",
"env": {
"ENABLE_CJS_IMPORTS": true
}
}

43
README.md Normal file
View File

@ -0,0 +1,43 @@
# Astro Starter Kit: Minimal
```
npm init astro -- --template minimal
```
[![Open in StackBlitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/github/withastro/astro/tree/latest/examples/minimal)
> 🧑‍🚀 **Seasoned astronaut?** Delete this file. Have fun!
## 🚀 Project Structure
Inside of your Astro project, you'll see the following folders and files:
```
/
├── public/
├── src/
│ └── pages/
│ └── index.astro
└── package.json
```
Astro looks for `.astro` or `.md` files in the `src/pages/` directory. Each page is exposed as a route based on its file name.
There's nothing special about `src/components/`, but that's where we like to put any Astro/React/Vue/Svelte/Preact components.
Any static assets, like images, can be placed in the `public/` directory.
## 🧞 Commands
All commands are run from the root of the project, from a terminal:
| Command | Action |
|:---------------- |:-------------------------------------------- |
| `npm install` | Installs dependencies |
| `npm run dev` | Starts local dev server at `localhost:3000` |
| `npm run build` | Build your production site to `./dist/` |
| `npm run preview` | Preview your build locally, before deploying |
## 👀 Want to learn more?
Feel free to check [our documentation](https://github.com/withastro/astro) or jump into our [Discord server](https://astro.build/chat).

17
astro.config.mjs Normal file
View File

@ -0,0 +1,17 @@
// Full Astro Configuration API Documentation:
// https://docs.astro.build/reference/configuration-reference
// @type-check enabled!
// VSCode and other TypeScript-enabled text editors will provide auto-completion,
// helpful tooltips, and warnings if your exported object is invalid.
// You can disable this by removing "@ts-check" and `@type` comments below.
// @ts-check
export default /** @type {import('astro').AstroUserConfig} */ ({
// Comment out "renderers: []" to enable Astro's default component support.
renderers: [],
buildOptions:{
site: "https://rafa.page",
sitemap: true
}
});

16
package.json Normal file
View File

@ -0,0 +1,16 @@
{
"name": "@example/minimal",
"version": "0.0.1",
"private": true,
"scripts": {
"dev": "astro dev",
"start": "astro dev",
"build": "astro build",
"preview": "astro preview"
},
"devDependencies": {
"astro": "^0.22.5",
"autoprefixer": "^10.4.1",
"tailwindcss": "^3.0.10"
}
}

3952
pnpm-lock.yaml Normal file

File diff suppressed because it is too large Load Diff

3
postcss.config.cjs Normal file
View File

@ -0,0 +1,3 @@
module.exports = {
plugins: [require("autoprefixer"), require("tailwindcss")],
};

BIN
public/android-icon-144x144.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

BIN
public/android-icon-192x192.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

BIN
public/android-icon-36x36.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

BIN
public/android-icon-48x48.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

BIN
public/android-icon-72x72.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

BIN
public/android-icon-96x96.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

BIN
public/apple-icon-114x114.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

BIN
public/apple-icon-120x120.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

BIN
public/apple-icon-144x144.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

BIN
public/apple-icon-152x152.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

BIN
public/apple-icon-180x180.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

BIN
public/apple-icon-57x57.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

BIN
public/apple-icon-60x60.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

BIN
public/apple-icon-72x72.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

BIN
public/apple-icon-76x76.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

BIN
public/apple-icon-precomposed.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

BIN
public/apple-icon.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

2
public/browserconfig.xml Executable file
View File

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8"?>
<browserconfig><msapplication><tile><square70x70logo src="/ms-icon-70x70.png"/><square150x150logo src="/ms-icon-150x150.png"/><square310x310logo src="/ms-icon-310x310.png"/><TileColor>#ffffff</TileColor></tile></msapplication></browserconfig>

BIN
public/favicon-16x16.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

BIN
public/favicon-32x32.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

BIN
public/favicon-96x96.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

BIN
public/favicon.ico Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

43
public/manifest.json Executable file
View File

@ -0,0 +1,43 @@
{
"name": "Rafael González | Links",
"display": "standalone",
"start_url": "/",
"icons": [
{
"src": "\/android-icon-36x36.png",
"sizes": "36x36",
"type": "image\/png",
"density": "0.75"
},
{
"src": "\/android-icon-48x48.png",
"sizes": "48x48",
"type": "image\/png",
"density": "1.0"
},
{
"src": "\/android-icon-72x72.png",
"sizes": "72x72",
"type": "image\/png",
"density": "1.5"
},
{
"src": "\/android-icon-96x96.png",
"sizes": "96x96",
"type": "image\/png",
"density": "2.0"
},
{
"src": "\/android-icon-144x144.png",
"sizes": "144x144",
"type": "image\/png",
"density": "3.0"
},
{
"src": "\/android-icon-192x192.png",
"sizes": "192x192",
"type": "image\/png",
"density": "4.0"
}
]
}

BIN
public/ms-icon-144x144.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

BIN
public/ms-icon-150x150.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

BIN
public/ms-icon-310x310.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 139 KiB

BIN
public/ms-icon-70x70.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.9 KiB

2
public/robots.txt Normal file
View File

@ -0,0 +1,2 @@
User-agent: *
Disallow: /

11
sandbox.config.json Normal file
View File

@ -0,0 +1,11 @@
{
"infiniteLoopProtection": true,
"hardReloadOnChange": false,
"view": "browser",
"template": "node",
"container": {
"port": 3000,
"startScript": "start",
"node": "14"
}
}

78
src/data/profile.json Normal file
View File

@ -0,0 +1,78 @@
{
"name": "Rafael González",
"description": "Mexican web developer working @ Acromático Developement by day and being husband and dad the rest of the time 🚀",
"personalLinks": [
{
"name": "GitHub",
"url": "https://github.com/rafaremo",
"icon": "github"
},
{
"name": "Instagram",
"url": "https://www.instagram.com/rafaremo",
"icon": "instagram"
},
{
"name": "Facebook",
"url": "https://www.facebook.com/RafaRemo",
"icon": "facebook"
},
{
"name": "LinkedIn",
"url": "https://www.linkedin.com/in/rafagonvaz",
"icon": "linkedin"
},
{
"name": "Twitter",
"url": "https://twitter.com/RafaRemo",
"icon": "twitter"
}
],
"profesionalLinks": [
{
"name": "Website",
"url": "https://acromatico.dev",
"icon": "web"
},
{
"name": "Shopify",
"url": "https://experts.shopify.com/lycklig-td",
"icon": "shopify"
},
{
"name": "WhatsApp",
"url": "https://wa.me/525621092388",
"icon": "whatsapp"
},
{
"name": "GitHub",
"url": "https://github.com/acromatico-development",
"icon": "github"
},
{
"name": "Instagram",
"url": "https://www.instagram.com/acromatico.dev",
"icon": "instagram"
},
{
"name": "Discord",
"url": "https://discord.gg/NswUaFSG",
"icon": "discord"
},
{
"name": "LinkedIn",
"url": "https://www.linkedin.com/company/acromatico",
"icon": "linkedin"
},
{
"name": "Facebook",
"url": "https://www.facebook.com/acromatico.dev",
"icon": "facebook"
},
{
"name": "Email",
"url": "mailto:hola@acromati.co",
"icon": "email"
}
]
}

1
src/icons/discord.svg Executable file
View File

@ -0,0 +1 @@
<svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Discord</title><path d="M20.317 4.3698a19.7913 19.7913 0 00-4.8851-1.5152.0741.0741 0 00-.0785.0371c-.211.3753-.4447.8648-.6083 1.2495-1.8447-.2762-3.68-.2762-5.4868 0-.1636-.3933-.4058-.8742-.6177-1.2495a.077.077 0 00-.0785-.037 19.7363 19.7363 0 00-4.8852 1.515.0699.0699 0 00-.0321.0277C.5334 9.0458-.319 13.5799.0992 18.0578a.0824.0824 0 00.0312.0561c2.0528 1.5076 4.0413 2.4228 5.9929 3.0294a.0777.0777 0 00.0842-.0276c.4616-.6304.8731-1.2952 1.226-1.9942a.076.076 0 00-.0416-.1057c-.6528-.2476-1.2743-.5495-1.8722-.8923a.077.077 0 01-.0076-.1277c.1258-.0943.2517-.1923.3718-.2914a.0743.0743 0 01.0776-.0105c3.9278 1.7933 8.18 1.7933 12.0614 0a.0739.0739 0 01.0785.0095c.1202.099.246.1981.3728.2924a.077.077 0 01-.0066.1276 12.2986 12.2986 0 01-1.873.8914.0766.0766 0 00-.0407.1067c.3604.698.7719 1.3628 1.225 1.9932a.076.076 0 00.0842.0286c1.961-.6067 3.9495-1.5219 6.0023-3.0294a.077.077 0 00.0313-.0552c.5004-5.177-.8382-9.6739-3.5485-13.6604a.061.061 0 00-.0312-.0286zM8.02 15.3312c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9555-2.4189 2.157-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.9555 2.4189-2.1569 2.4189zm7.9748 0c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9554-2.4189 2.1569-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.946 2.4189-2.1568 2.4189Z"/></svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

9
src/icons/email.svg Normal file
View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 26.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 700 700" style="enable-background:new 0 0 700 700;" xml:space="preserve">
<style type="text/css">
.st0{fill-rule:evenodd;clip-rule:evenodd;}
</style>
<path class="st0" d="M700,129.9v484.8H0V129.9L350,438L700,129.9L700,129.9z M350,393.5L700,85.3H0L350,393.5z"/>
</svg>

After

Width:  |  Height:  |  Size: 543 B

5
src/icons/facebook.svg Executable file
View File

@ -0,0 +1,5 @@
<svg role="img" viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg">
<title>Facebook</title>
<path d="M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z"/>
</svg>

After

Width:  |  Height:  |  Size: 407 B

1
src/icons/github.svg Executable file
View File

@ -0,0 +1 @@
<svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>GitHub</title><path d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"/></svg>

After

Width:  |  Height:  |  Size: 822 B

1
src/icons/instagram.svg Executable file
View File

@ -0,0 +1 @@
<svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Instagram</title><path d="M12 0C8.74 0 8.333.015 7.053.072 5.775.132 4.905.333 4.14.63c-.789.306-1.459.717-2.126 1.384S.935 3.35.63 4.14C.333 4.905.131 5.775.072 7.053.012 8.333 0 8.74 0 12s.015 3.667.072 4.947c.06 1.277.261 2.148.558 2.913.306.788.717 1.459 1.384 2.126.667.666 1.336 1.079 2.126 1.384.766.296 1.636.499 2.913.558C8.333 23.988 8.74 24 12 24s3.667-.015 4.947-.072c1.277-.06 2.148-.262 2.913-.558.788-.306 1.459-.718 2.126-1.384.666-.667 1.079-1.335 1.384-2.126.296-.765.499-1.636.558-2.913.06-1.28.072-1.687.072-4.947s-.015-3.667-.072-4.947c-.06-1.277-.262-2.149-.558-2.913-.306-.789-.718-1.459-1.384-2.126C21.319 1.347 20.651.935 19.86.63c-.765-.297-1.636-.499-2.913-.558C15.667.012 15.26 0 12 0zm0 2.16c3.203 0 3.585.016 4.85.071 1.17.055 1.805.249 2.227.415.562.217.96.477 1.382.896.419.42.679.819.896 1.381.164.422.36 1.057.413 2.227.057 1.266.07 1.646.07 4.85s-.015 3.585-.074 4.85c-.061 1.17-.256 1.805-.421 2.227-.224.562-.479.96-.899 1.382-.419.419-.824.679-1.38.896-.42.164-1.065.36-2.235.413-1.274.057-1.649.07-4.859.07-3.211 0-3.586-.015-4.859-.074-1.171-.061-1.816-.256-2.236-.421-.569-.224-.96-.479-1.379-.899-.421-.419-.69-.824-.9-1.38-.165-.42-.359-1.065-.42-2.235-.045-1.26-.061-1.649-.061-4.844 0-3.196.016-3.586.061-4.861.061-1.17.255-1.814.42-2.234.21-.57.479-.96.9-1.381.419-.419.81-.689 1.379-.898.42-.166 1.051-.361 2.221-.421 1.275-.045 1.65-.06 4.859-.06l.045.03zm0 3.678c-3.405 0-6.162 2.76-6.162 6.162 0 3.405 2.76 6.162 6.162 6.162 3.405 0 6.162-2.76 6.162-6.162 0-3.405-2.76-6.162-6.162-6.162zM12 16c-2.21 0-4-1.79-4-4s1.79-4 4-4 4 1.79 4 4-1.79 4-4 4zm7.846-10.405c0 .795-.646 1.44-1.44 1.44-.795 0-1.44-.646-1.44-1.44 0-.794.646-1.439 1.44-1.439.793-.001 1.44.645 1.44 1.439z"/></svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

1
src/icons/linkedin.svg Executable file
View File

@ -0,0 +1 @@
<svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>LinkedIn</title><path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"/></svg>

After

Width:  |  Height:  |  Size: 610 B

1
src/icons/shopify.svg Executable file
View File

@ -0,0 +1 @@
<svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Shopify</title><path d="M15.337 23.979l7.216-1.561s-2.604-17.613-2.625-17.73c-.018-.116-.114-.192-.211-.192s-1.929-.136-1.929-.136-1.275-1.274-1.439-1.411c-.045-.037-.075-.057-.121-.074l-.914 21.104h.023zM11.71 11.305s-.81-.424-1.774-.424c-1.447 0-1.504.906-1.504 1.141 0 1.232 3.24 1.715 3.24 4.629 0 2.295-1.44 3.76-3.406 3.76-2.354 0-3.54-1.465-3.54-1.465l.646-2.086s1.245 1.066 2.28 1.066c.675 0 .975-.545.975-.932 0-1.619-2.654-1.694-2.654-4.359-.034-2.237 1.571-4.416 4.827-4.416 1.257 0 1.875.361 1.875.361l-.945 2.715-.02.01zM11.17.83c.136 0 .271.038.405.135-.984.465-2.064 1.639-2.508 3.992-.656.213-1.293.405-1.889.578C7.697 3.75 8.951.84 11.17.84V.83zm1.235 2.949v.135c-.754.232-1.583.484-2.394.736.466-1.777 1.333-2.645 2.085-2.971.193.501.309 1.176.309 2.1zm.539-2.234c.694.074 1.141.867 1.429 1.755-.349.114-.735.231-1.158.366v-.252c0-.752-.096-1.371-.271-1.871v.002zm2.992 1.289c-.02 0-.06.021-.078.021s-.289.075-.714.21c-.423-1.233-1.176-2.37-2.508-2.37h-.115C12.135.209 11.669 0 11.265 0 8.159 0 6.675 3.877 6.21 5.846c-1.194.365-2.063.636-2.16.674-.675.213-.694.232-.772.87-.075.462-1.83 14.063-1.83 14.063L15.009 24l.927-21.166z"/></svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

1
src/icons/twitter.svg Executable file
View File

@ -0,0 +1 @@
<svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Twitter</title><path d="M23.953 4.57a10 10 0 01-2.825.775 4.958 4.958 0 002.163-2.723c-.951.555-2.005.959-3.127 1.184a4.92 4.92 0 00-8.384 4.482C7.69 8.095 4.067 6.13 1.64 3.162a4.822 4.822 0 00-.666 2.475c0 1.71.87 3.213 2.188 4.096a4.904 4.904 0 01-2.228-.616v.06a4.923 4.923 0 003.946 4.827 4.996 4.996 0 01-2.212.085 4.936 4.936 0 004.604 3.417 9.867 9.867 0 01-6.102 2.105c-.39 0-.779-.023-1.17-.067a13.995 13.995 0 007.557 2.209c9.053 0 13.998-7.496 13.998-13.985 0-.21 0-.42-.015-.63A9.935 9.935 0 0024 4.59z"/></svg>

After

Width:  |  Height:  |  Size: 602 B

15
src/icons/web.svg Normal file
View File

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 26.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 700 700" style="enable-background:new 0 0 700 700;" xml:space="preserve">
<path d="M239.1,233.3c4.5-80.3,26.2-158.6,63.6-229.8C318.4,1.3,334.2,0.1,350,0c15.8,0.1,31.6,1.3,47.3,3.6
c37.4,71.1,59.1,149.5,63.6,229.8H239.1z M200,350c0-27.7,1.1-55.7,3.1-83.3H10.4c-13.9,54.7-13.9,112,0,166.7H203
C201.1,405.7,200,377.7,200,350z M463.7,266.7H236.2c-1.9,26.5-2.9,54.3-2.9,83.3s1,56.8,2.9,83.3h227.5c1.9-26.5,2.9-54.3,2.9-83.3
C466.6,321,465.6,293.2,463.7,266.7L463.7,266.7z M239.1,466.7c4.5,80.3,26.2,158.6,63.6,229.8c15.7,2.3,31.4,3.5,47.3,3.6
c15.8-0.1,31.6-1.3,47.3-3.6c37.4-71.1,59.1-149.5,63.6-229.8L239.1,466.7z M689.5,433.3c13.9-54.7,13.9-112,0-166.7H496.9
c2,27.6,3.1,55.6,3.1,83.3c0,27.7-1.1,55.7-3.1,83.3H689.5z M494.1,466.7L494.1,466.7c-5.6,76.1-23.8,150.8-53.7,221.1
c54.8-14.8,105.1-42.6,146.8-81.1c41.7-38.5,73.4-86.5,92.4-140L494.1,466.7z M205.9,466.7H20.4c19,53.4,50.7,101.5,92.4,140
c41.6,38.5,92,66.3,146.8,81.1C229.6,617.5,211.5,542.8,205.9,466.7L205.9,466.7z M205.9,233.3L205.9,233.3
c5.6-76.1,23.7-150.8,53.7-221c-54.8,14.8-105.1,42.6-146.8,81.1c-41.6,38.5-73.3,86.5-92.4,140L205.9,233.3z M494.1,233.3h185.4v0
c-19-53.4-50.7-101.5-92.4-140c-41.6-38.5-92-66.3-146.8-81.1C470.4,82.5,488.5,157.2,494.1,233.3L494.1,233.3z"/>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

1
src/icons/whatsapp.svg Executable file
View File

@ -0,0 +1 @@
<svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>WhatsApp</title><path d="M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413Z"/></svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

115
src/pages/index.astro Normal file
View File

@ -0,0 +1,115 @@
---
import profileData from '../data/profile.json';
const profileName = profileData.name;
const personalLinks = [];
const profesionalLinks = [];
for (let link of profileData.personalLinks) {
const withUrl = {...link};
withUrl.iconUrl = Astro.resolve(`../icons/${link.icon}.svg`);
personalLinks.push(withUrl);
}
for (let link of profileData.profesionalLinks) {
const withUrl = {...link};
withUrl.iconUrl = Astro.resolve(`../icons/${link.icon}.svg`);
profesionalLinks.push(withUrl);
}
---
<html lang="en">
<head>
<meta charset="utf-8" />
<link rel="apple-touch-icon" sizes="57x57" href="/apple-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="/apple-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="/apple-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="/apple-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="/apple-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="/apple-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="/apple-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="/apple-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="/apple-icon-180x180.png">
<link rel="icon" type="image/png" sizes="192x192" href="/android-icon-192x192.png">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="96x96" href="/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
<link rel="manifest" href="/manifest.json">
<meta name="msapplication-TileColor" content="#ffffff">
<meta name="msapplication-TileImage" content="/ms-icon-144x144.png">
<meta name="theme-color" content="#ffffff">
<link rel="stylesheet" href={Astro.resolve('../styles/global.css')}>
<meta name="viewport" content="width=device-width" />
<title>{profileName} | Links</title>
<meta name="description" content={profileData.description}>
<meta name="robots" content="index, follow">
<meta property="og:type" content="website" />
<meta property="og:title" content={`${profileName} | Links`} />
<meta property="og:description" content={profileData.description} />
<meta property="og:image" content="https://res.cloudinary.com/acromatico-development/image/upload/c_fill,f_auto,h_1200,w_1200/v1641392022/Rafa%20Page/6575E4EB-3F86-47E7-A315-9CD51E5279EB_mm7ctf" />
<meta property="og:url" content={Astro.site} />
<link rel="canonical" href={Astro.site}>
</head>
<body class="bg-white dark:bg-gray-900">
<header class="w-full flex flex-col justify-center items-center pt-10 ">
<img
class="w-1/2 md:w-52 rounded-full border-4 border-gray-900 dark:border-white"
loading="lazy"
src="https://res.cloudinary.com/acromatico-development/image/upload/c_fill,f_auto,h_50,w_50/v1641392022/Rafa%20Page/6575E4EB-3F86-47E7-A315-9CD51E5279EB_mm7ctf"
sizes="(max-width: 640px) 50vw,
208px"
srcset="https://res.cloudinary.com/acromatico-development/image/upload/c_fill,f_auto,h_50,w_50/v1641392022/Rafa%20Page/6575E4EB-3F86-47E7-A315-9CD51E5279EB_mm7ctf 50w,
https://res.cloudinary.com/acromatico-development/image/upload/c_fill,f_auto,h_100,w_100/v1641392022/Rafa%20Page/6575E4EB-3F86-47E7-A315-9CD51E5279EB_mm7ctf 100w,
https://res.cloudinary.com/acromatico-development/image/upload/c_fill,f_auto,h_200,w_200/v1641392022/Rafa%20Page/6575E4EB-3F86-47E7-A315-9CD51E5279EB_mm7ctf 200w,
https://res.cloudinary.com/acromatico-development/image/upload/c_fill,f_auto,h_600,w_600/v1641392022/Rafa%20Page/6575E4EB-3F86-47E7-A315-9CD51E5279EB_mm7ctf 600w,
https://res.cloudinary.com/acromatico-development/image/upload/c_fill,f_auto,h_900,w_900/v1641392022/Rafa%20Page/6575E4EB-3F86-47E7-A315-9CD51E5279EB_mm7ctf 900w,
https://res.cloudinary.com/acromatico-development/image/upload/c_fill,f_auto,h_1200,w_1200/v1641392022/Rafa%20Page/6575E4EB-3F86-47E7-A315-9CD51E5279EB_mm7ctf 1200w,
https://res.cloudinary.com/acromatico-development/image/upload/c_fill,f_auto,h_1500,w_1500/v1641392022/Rafa%20Page/6575E4EB-3F86-47E7-A315-9CD51E5279EB_mm7ctf 1500w"
alt="Rafael González"
>
<h1 class="font-mono font-bold underline underline-offset-8 uppercase text-4xl my-4 tracking-wide dark:text-white">{profileName}</h1>
<p class="font-mono text-l mt-4 mx-auto w-11/12 max-w-5xl tracking-wide dark:text-white">{profileData.description}</p>
</header>
<main>
<h2 class="font-mono font-bold uppercase text-xl my-14 mx-auto tracking-wide w-11/12 max-w-5xl dark:text-white">Personal Links</h2>
<div class="grid grid-cols-2 md:grid-cols-4 gap-4 w-11/12 max-w-5xl my-2 mx-auto">
{personalLinks.map(perLink => (
<div class="p-2">
<a class="w-full flex flex-col justify-center items-center" href={perLink.url} target="_blank" rel="noopener">
<img
loading="lazy"
class="w-1/2 dark:invert"
src={perLink.iconUrl}
alt={`${perLink.name} ${profileName}`}
>
<h3 class="my-2 font-bold text-2xl dark:text-white">{perLink.name}</h3>
</a>
</div>
))}
</div>
<h2 class="font-mono font-bold uppercase text-xl my-14 mx-auto tracking-wide w-11/12 max-w-5xl dark:text-white">Profesional Links</h2>
<div class="grid grid-cols-2 md:grid-cols-4 gap-4 w-11/12 max-w-5xl my-2 mx-auto">
{profesionalLinks.map(perLink => (
<div class="p-2">
<a class="w-full flex flex-col justify-center items-center" href={perLink.url} target="_blank" rel="noopener">
<img
loading="lazy"
class="w-1/2 dark:invert"
src={perLink.iconUrl}
alt={`${perLink.name} ${profileName}`}
>
<h3 class="my-2 font-bold text-2xl dark:text-white">{perLink.name}</h3>
</a>
</div>
))}
</div>
</main>
<footer></footer>
</body>
</html>

3
src/styles/global.css Normal file
View File

@ -0,0 +1,3 @@
@tailwind base;
@tailwind components;
@tailwind utilities;

7
tailwind.config.cjs Normal file
View File

@ -0,0 +1,7 @@
module.exports = {
content: [
'./public/**/*.html',
'./src/**/*.{astro,js,jsx,svelte,ts,tsx,vue}',
],
// more options here
};