Move away from Svelte. Use 11ty (#4)

Reviewed-on: https://codeberg.org/sofiaritz/website/pulls/4
This commit is contained in:
Sofía Aritz 2023-03-12 00:27:16 +00:00
commit 413110898c
36 changed files with 1747 additions and 890 deletions

7
.eleventy.js Normal file
View file

@ -0,0 +1,7 @@
module.exports = function(eleventyConfig) {
eleventyConfig.addPassthroughCopy("css")
eleventyConfig.addPassthroughCopy({ "static": "/" })
return {
passthroughFileCopy: true
}
}

View file

@ -1,3 +0,0 @@
{
"recommendations": ["svelte.svelte-vscode"]
}

54
_includes/simple_page.njk Normal file
View file

@ -0,0 +1,54 @@
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="icon" href="/favicon.ico">
<title>{% if title %} {{ title }} - {% endif %}sofi web</title>
<link rel="stylesheet" href="/css/app.css" type="text/css">
<link rel="stylesheet" href="/css/navbar.css" type="text/css">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=JetBrains+Mono:ital,wght@0,300;1,300&family=Rubik:ital,wght@0,400;0,500;1,400;1,500&display=swap" type="text/css">
</head>
<body>
<a class="__hidden" href="https://hachyderm.io/@sofiaritz" rel="me">Mastodon</a>
<h1 class="top-title">sofi web</h1>
<div class="page-container">
<nav>
<div class="navbar">
<div>
<i>yo</i>
<ul>
<li><a href="/">inicio y sobre mí</a></li>
<li><a href="/contact">contacto</a></li>
</ul>
</div>
<div>
<i>mi cabeza</i>
<ul>
<!-- <li><a href="/weblog">weblog</a></li> -->
<li><a href="/recommendations">recomendaciones</a></li>
</ul>
</div>
<div>
<i>creaciones</i>
<ul>
<li><a href="/projects">proyectos</a></li>
</ul>
</div>
<div>
<i>sitios</i>
<ul>
<li><a href="/links">enlaces</a></li>
</ul>
</div>
</div>
</nav>
<main>
{{ content | safe }}
</main>
</div>
</body>
</html>

85
contact.md Normal file
View file

@ -0,0 +1,85 @@
---
layout: simple_page.njk
title: contacto
---
# contacto
Todavía no tengo una gran presencia digital, pero la poquita que tengo aquí se encuentra:
### contacto directo
- E-mail: [sofi@sofiaritz.com](mailto:sofi@sofiaritz.com)
- Matrix: [@sofiaritz:matrix.org](https://matrix.to/#/@sofiaritz:matrix.org)
### redes sociales
<blockquote>
<details>
<summary>
<b>Nota:</b> Aquí se encuentra <i>mi versión desenfadada</i>, tal vez sea algo que quieras tener en cuenta.
</summary>
<ul>
<li>Fediverse (Mastodon): <a rel="me" href="https://hachyderm.io/@sofiaritz">@me@sofiaritz.com (@sofiaritz@hachyderm.io)</a></li>
<li>Forgejo: <a href="https://git.sofiaritz.com/sofia">sofia@git.sofiaritz.com</a></li>
<li>Codeberg: <a href="https://codeberg.org/sofiaritz">sofiaritz</a></li>
</ul>
</details>
</blockquote>
### cifrado y firmado
Puedes encontrar mi clave PGP pública en [/keys/pub.asc](/keys/pub.asc), también disponible en
[los keyservers de ubuntu](https://keyserver.ubuntu.com/).
La huella digital del certificado es: <u>4BB1 6A74 5DE1 C776 5CF3 8788 90B5 116E 3542 B28F</u>.
### canary
Puedes encontrar mi canary en [/canary.txt](/canary.txt). Este es un documento actualizado con regularidad donde confirmo mi identidad y estado actual.
Si en algún momento este documento se encuentra desactualizado o desaparece, probablemente haya ocurrido algo malo.
---
<details>
<summary>El texto de esta sección se encuentra firmado:</summary>
<pre>
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
contacto
Todavía no tengo una gran presencia digital, pero la poquita que tengo aquí se encuentra:
contacto directo
E-mail: sofi@sofiaritz.com
Matrix: @sofiaritz:matrix.org
redes sociales
Nota: Aquí se encuentra mi versión desenfadada, tal vez sea algo que quieras tener en cuenta.
Fediverse (Mastodon): @me@sofiaritz.com (@sofiaritz@hachyderm.io)
Codeberg: sofiaritz
Gitea: sofia@git.sofiaritz.com
cifrado y firmado
Puedes encontrar mi clave PGP pública en /keys/pub.asc, también disponible en los keyservers de ubuntu.
La huella digital del certificado es: 4BB1 6A74 5DE1 C776 5CF3 8788 90B5 116E 3542 B28F.
canary
Puedes encontrar mi canary en /canary.txt. Este es un documento actualizado con regularidad donde confirmo mi identidad y estado actual.
Si en algún momento este documento se encuentra desactualizado o desaparece, probablemente haya ocurrido algo malo.
-----BEGIN PGP SIGNATURE-----
iHUEARYKAB0WIQRLsWp0XeHHdlzzh4iQtRFuNUKyjwUCY/yLxAAKCRCQtRFuNUKy
j2b1AQDmMW8gbUljFqg3xExh5zB3/W/ZmD3kxmFRDHKcljdVVgEAmE2lIwY2VowR
ZMyjTshgFNng6hnj+inJl4qlTHmXHQg=
=7k3p
-----END PGP SIGNATURE-----
</pre>
</details>

99
css/app.css Normal file
View file

@ -0,0 +1,99 @@
:root {
font-family: Inter, Avenir, Helvetica, Arial, sans-serif;
font-size: 16px;
line-height: 24px;
font-weight: 400;
min-height: 100%;
color: rgba(255, 255, 255, 0.9);
background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.25)), url("/assets/background.webp");
background-color: #221130;
font-synthesis: none;
text-rendering: optimizeLegibility;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
-webkit-text-size-adjust: 100%;
}
body {
margin: 0;
}
a {
color: #e74cac;
}
code {
font-family: "JetBrains Mono", monospace;
padding: 2px 3px;
background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5));
}
hr {
color: #bebebe;
}
blockquote {
border-left: 10px solid #dc3f99;
margin: 1.5em 10px;
padding: 0.5em 10px;
}
blockquote:before {
color: #ccc;
font-size: 4em;
line-height: 0.1em;
margin-right: 0.25em;
vertical-align: -0.4em;
}
blockquote[quote]:before {
content: open-quote;
}
summary:hover {
cursor: pointer;
}
pre {
font-family: monospace;
}
* {
font-family: Rubik, sans-serif;
}
.top-title {
font-size: 50px;
text-align: center;
text-decoration: underline;
text-decoration-color: #d52c9c;
}
.page-container {
display: flex;
margin: 0 10px;
gap: 15px;
justify-content: center;
}
main {
width: 40vw;
}
@media only screen and (max-width: 600px) {
.page-container {
display: block;
width: 100%;
}
main {
width: 90%;
}
}
.__hidden {
display: none;
}

32
css/navbar.css Normal file
View file

@ -0,0 +1,32 @@
.navbar ul {
padding: 0;
list-style: none;
}
.navbar div ul li {
display: block;
width: 175px;
padding: 3px;
margin: 10px 0;
transition: all 150ms;
background-color: #dc3f99;
border: solid 3px;
border-color: #f38cc2 #dc158d #dc158d #f38cc2;
}
.navbar div ul li:hover {
border-color: #d76d9c #ff0088 #ff0088 #d76d9c;
}
.navbar div ul li a {
color: white;
}
@media only screen and (max-width: 600px) {
.navbar {
display: flex;
gap: 10px;
overflow: scroll;
}
}

View file

@ -1,18 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>sofi web</title>
<style>
.__hidden {
display: none;
}
</style>
</head>
<body>
<a class="__hidden" href="https://hachyderm.io/@sofiaritz" rel="me">Mastodon</a>
<div id="app"></div>
<script type="module" src="/src/main.js"></script>
</body>
</html>

35
index.md Normal file
View file

@ -0,0 +1,35 @@
---
layout: simple_page.njk
---
# inicio
_Es probable que andes por aquí por mis [proyectos](/projects), si eso es lo que te interesa, puedes ir a esa
sección directamente._
# sobre mí
Soy Sofía, aunque la gente me llama Sofi.
Llevo un tiempo programando y me encanta lo divertida y abierta que es la web, además de todas las posibilidades que nos
ofrece, a día de hoy se está perdiendo esta esencia de la web y mi objetivo es traerla de vuelta.
Me encantan los [lenguajes construidos](https://es.wikipedia.org/wiki/Lengua_construida) y aunque el que más uso es
el [Esperanto](https://es.wikipedia.org/wiki/Esperanto), amo [Toki Pona](https://es.wikipedia.org/wiki/Toki_pona)
y me encantaría aprenderlo.
Además de esto, amo [Wikipedia](https://es.wikipedia.org/wiki/Wikipedia:Portada) y en mis ratos libres intento aportar
mi granito de arena editando algunos artículos.
Me gusta mucho [Rust](https://es.wikipedia.org/wiki/Rust_(lenguaje_de_programaci%C3%B3n)) y tengo la esperanza de que
sea el futuro de la programación (ya que es un lenguaje cuya base es
aprender de los errores de los últimos 50 años), aunque empecé a aprender Rust <u>circa 2020</u>, llevo un tiempo en este
mundillo y me manejo con mucha soltura.
A día de hoy me siento cómoda en Rust, [JavaScript](https://es.wikipedia.org/wiki/JavaScript)
[y derivados](https://es.wikipedia.org/wiki/TypeScript) y
[C](https://es.wikipedia.org/wiki/C_(lenguaje_de_programaci%C3%B3n)) (_aunque aún me queda mucho por aprender_).
Me encanta el concepto de la web porque permite que todo el mundo pueda tener su lugar donde poder hablar, comunicarse
entre sí y desarrollar ideas y pensamientos. A día de hoy esto [ha](https://es.wikipedia.org/wiki/Monopolio)
[cambiado](https://es.wikipedia.org/wiki/C%C3%A1mara_de_eco_(medios)), y la web no es abierta como era
anteriormente. Por esto estoy completamente a favor de
[estándares abiertos](https://es.wikipedia.org/wiki/Est%C3%A1ndar_abierto) y de
la [descentralización](https://es.wikipedia.org/wiki/Descentralizaci%C3%B3n).

View file

@ -1,33 +0,0 @@
{
"compilerOptions": {
"moduleResolution": "Node",
"target": "ESNext",
"module": "ESNext",
/**
* svelte-preprocess cannot figure out whether you have
* a value or a type, so tell TypeScript to enforce using
* `import type` instead of `import` for Types.
*/
"importsNotUsedAsValues": "error",
"isolatedModules": true,
"resolveJsonModule": true,
/**
* To have warnings / errors of the Svelte compiler at the
* correct position, enable source maps by default.
*/
"sourceMap": true,
"esModuleInterop": true,
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true,
/**
* Typecheck JS in `.svelte` and `.js` files by default.
* Disable this if you'd like to use dynamic types.
*/
"checkJs": true
},
/**
* Use global.d.ts instead of compilerOptions.types
* to avoid limiting type declarations.
*/
"include": ["src/**/*.d.ts", "src/**/*.js", "src/**/*.svelte"]
}

10
links.md Normal file
View file

@ -0,0 +1,10 @@
---
layout: simple_page.njk
title: enlaces
---
# enlaces
Parece que no hay nadie por aquí...
Si quieres [habla conmigo](/contact) para añadirte aquí! :)

View file

@ -1,21 +1,17 @@
{ {
"name": "sofi-web", "name": "sofi-web",
"private": true,
"version": "0.0.0", "version": "0.0.0",
"type": "module", "description": "My personal website :)",
"main": "index.js",
"repository": "https://codeberg.org/sofiaritz/website.git",
"author": "Sofía Aritz <sofi@sofiaritz.com>",
"license": "UNLICENSED",
"private": true,
"scripts": { "scripts": {
"dev": "vite", "serve": "npx @11ty/eleventy --serve",
"build": "vite build", "build": "npx @11ty/eleventy"
"preview": "vite preview"
}, },
"devDependencies": { "devDependencies": {
"@sveltejs/vite-plugin-svelte": "^2.0.0", "@11ty/eleventy": "^2.0.0"
"svelte": "^3.54.0",
"vite": "^4.0.0"
},
"dependencies": {
"@fontsource/jetbrains-mono": "^4.5.11",
"@fontsource/rubik": "^4.5.13",
"svelte-navigator": "^3.2.2"
} }
} }

31
projects.md Normal file
View file

@ -0,0 +1,31 @@
---
layout: simple_page.njk
title: proyectos
---
# proyectos
Ahora mismo no tengo proyectos públicos bajo mi nombre, pero tal vez publique alguna cosa en
[mi instancia de Forgejo](https://git.sofiaritz.com/sofia) y en mi perfil de
[Codeberg](https://codeberg.org/sofiaritz) :)
Pese a ello, puedo decir que he creado varios proyectos full-stack, librerías relacionadas con cifrado en Rust y
herramientas enfocadas a DX, también en Rust.
Actualizaré esta página cuando realice algún proyecto bajo mi nombre que merezca la pena ver.
## proyectos irrelevantes
### note taking | [repo](https://git.sofiaritz.com/sofia/note-taking)
Una app creada con [egui](https://github.com/emilk/egui) con el objetivo de ser un sistema experimental para tomar
notas.
Las notas están encriptadas por defecto (excepto los metadatos) y en un futuro añadiré soporte para Markdown básico y demás.
### markdown cv | [repo](https://git.sofiaritz.com/sofia/markdown-cv) [instancia](https://md-cv.sofiaritz.com/)
Una web simple que permite la creación y envío de CVs creados en Markdown con un tema simple y bonito por defecto.
Creada con Svelte y [marked](https://github.com/markedjs/marked). Debo mejorar ciertas partes del código
(obtención de CVs remotos, etc), pero sin duda funciona.
### sofi web | [repo](https://codeberg.org/sofiaritz/website) [mirror](https://git.sofiaritz.com/sofia/website)
Una web simple, con contenido estático hecha utilizando [11ty](https://www.11ty.dev/).

43
recommendations.md Normal file
View file

@ -0,0 +1,43 @@
---
layout: simple_page.njk
title: recomendaciones
---
# recomendaciones
_Aquí iré poniendo recomendaciones sobre juegos, libros, música, etc._
## libros
### Un mundo feliz (Aldous Huxley)
[Un mundo feliz](https://es.wikipedia.org/wiki/Un_mundo_feliz) es un libro, en mi opinión, muy bien escrito y relevante
en el día de hoy por los temas que se tratan.
Este libro es la contraparte [distópica](https://es.wikipedia.org/wiki/Distop%C3%ADa) de
[La isla](https://es.wikipedia.org/wiki/La_isla_(Aldous_Huxley)), otro libro que también puedo recomendar
orgullosamente.
## videojuegos
### OMORI
[OMORI](https://www.omori-game.com/) es un juego de _terror psicológico_
(aunque el 90% del tiempo es un juego muy tranquilo y relajante).
Tiene una historia un tanto dura, y la manera en que se cuenta no podía estar más pulida. No podría recomendarlo más,
no puedo contar mucho (para evitar spoilers), pero se lo recomendaría a cualquier persona que le gusten los juegos de
historia y RPG y compañía.
### a short hike
[a short hike](https://ashorthike.com/) es un juego muy muy tranquilo y relajante. Es un juego para olvidarte del mundo
y relajarte un ratito.
Tiene una historia que pese a poder ser considerada simple, la manera en que se descubre y la compañía que los escenarios y la música dan al descubrimiento es sublime. Un juego muy tranquilo, muy bonito, muy divertido con una historia bien contada. Otro juego 100% recomendado.
### Milo and the Magpies
[Milo and the Magpies](https://store.steampowered.com/app/1407420/Milo_and_the_Magpies/) es un juego de puzles muy
corto, con una historia juguetona pero bastante simple que no decepciona. El arte y música son geniales y pese a poder
completarse en un par de horas, merece la pena por lo relajante y bello que es el juego.
Hay algunos puzles donde te puedes atascar con cierta facilidad, pero aun así, sigue siendo un juego con un concepto
bueno y simple, y con una muy buena ejecución.

View file

@ -1,61 +0,0 @@
<script>
import { Router, Route } from "svelte-navigator"
import Home from "./lib/routes/Home.svelte"
import Contact from "./lib/routes/Contact.svelte"
import Navbar from "./lib/Navbar.svelte";
import Recommendations from "./lib/routes/Recommendations.svelte";
import Projects from "./lib/routes/Projects.svelte";
import Links from "./lib/routes/Links.svelte";
import NotFound from "./lib/routes/NotFound.svelte";
import Skeletons from "./lib/Skeletons.svelte";
</script>
<Router>
<h1>sofi web</h1>
<Skeletons/>
<div>
<nav>
<Navbar/>
</nav>
<main>
<Route path="/" component={Home} primary={false}/>
<Route path="/contact" component={Contact} primary={false}/>
<Route path="/recommendations" component={Recommendations} primary={false}/>
<Route path="/projects" component={Projects} primary={false}/>
<Route path="/links" component={Links} primary={false}/>
<Route path="*" component={NotFound} primary={false}/>
</main>
</div>
</Router>
<style>
h1 {
font-size: 50px;
text-align: center;
text-decoration: underline;
text-decoration-color: #d52c9c;
}
div {
display: flex;
margin: 0 10px;
gap: 15px;
justify-content: center;
}
main {
width: 40vw;
}
@media only screen and (max-width: 600px) {
div {
display: block;
width: 100%;
}
main {
width: 90%;
}
}
</style>

View file

@ -1,58 +0,0 @@
:root {
font-family: Inter, Avenir, Helvetica, Arial, sans-serif;
font-size: 16px;
line-height: 24px;
font-weight: 400;
min-height: 100%;
color: rgba(255, 255, 255, 0.9);
background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.25)), url("/assets/background.webp");
background-color: #221130;
font-synthesis: none;
text-rendering: optimizeLegibility;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
-webkit-text-size-adjust: 100%;
}
body {
margin: 0;
}
a {
color: #e74cac;
}
code {
font-family: "JetBrains Mono", monospace;
padding: 2px 3px;
background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5));
}
hr {
color: #bebebe;
}
blockquote {
border-left: 10px solid #dc3f99;
margin: 1.5em 10px;
padding: 0.5em 10px;
}
blockquote:before {
color: #ccc;
font-size: 4em;
line-height: 0.1em;
margin-right: 0.25em;
vertical-align: -0.4em;
}
blockquote[quote]:before {
content: open-quote;
}
* {
font-family: Rubik, sans-serif;
}

View file

@ -1,71 +0,0 @@
<script>
import {Link} from "svelte-navigator";
</script>
<div class="top">
<div>
<i>yo</i>
<ul>
<li><Link to="/">inicio y sobre mí</Link></li>
<li><Link to="/contact">contacto</Link></li>
</ul>
</div>
<div>
<i>mi cabeza</i>
<ul>
<!--<li><a href="https://weblog.sofiaritz.com/">weblog</a></li>-->
<li><Link to="/recommendations">recomendaciones</Link></li>
</ul>
</div>
<div>
<i>creaciones</i>
<ul>
<li><Link to="/projects">proyectos</Link></li>
<!--<li><Link to="/services">servicios</Link></li>-->
</ul>
</div>
<div>
<i>sitios</i>
<ul>
<li><Link to="/links">enlaces</Link></li>
</ul>
</div>
</div>
<style>
ul {
padding: 0;
list-style: none;
}
li {
display: block;
width: 175px;
padding: 3px;
margin: 10px 0;
transition: all 150ms;
background-color: #dc3f99;
border: solid 3px;
border-color: #f38cc2 #dc158d #dc158d #f38cc2;
}
li:hover {
border-color: #d76d9c #ff0088 #ff0088 #d76d9c;
}
li :global(a) {
color: white;
}
@media only screen and (max-width: 600px) {
.top {
display: flex;
gap: 10px;
overflow: scroll;
}
}
</style>

View file

@ -1,48 +0,0 @@
<script>
let _date = new Date()
const two_digits = (input) => {
if (input < 10) {
return `0${input}`
} else {
return `${input}`
}
}
let date = `${two_digits(_date.getUTCDay() + 1)}-${two_digits(_date.getUTCMonth() + 1)}-${two_digits(_date.getUTCFullYear())}`
</script>
{#if date.startsWith("23-12")}
<img class="left" alt="Esqueleto" src="/assets/skeletons/christmas.gif" />
<img class="right flip" alt="Esqueleto" src="/assets/skeletons/christmas.gif" />
{:else if date.startsWith("31-10")}
<img class="left" alt="Esqueleto" src="/assets/skeletons/default.gif" />
<img class="right" alt="Esqueleto" src="/assets/skeletons/default.gif" />
{/if}
<style>
img {
width: 200px;
position: fixed;
bottom: -10px;
}
.left {
left: -10px;
}
.right {
right: -10px;
}
.flip {
transform: scaleX(-1);
}
@media only screen and (max-width: 1000px) {
img {
width: 70px;
top: 0;
}
}
</style>

View file

@ -1,96 +0,0 @@
<svelte:head>
<title>contacto - sofi web</title>
</svelte:head>
<h1>contacto</h1>
<p>Todavía no tengo una gran presencia digital, pero la poquita que tengo aquí se encuentra:</p>
<h3>contacto directo</h3>
<ul>
<li>E-mail: <a href="mailto:sofi@sofiaritz.com">sofi@sofiaritz.com</a></li>
<li>Matrix: <a href="https://matrix.to/#/@sofiaritz:matrix.org">@sofiaritz:matrix.org</a></li>
</ul>
<h3>redes sociales</h3>
<blockquote>
<details>
<summary>
<b>Nota:</b> Aquí se encuentra <i>mi versión desenfadada</i>, tal vez sea algo que quieras tener en cuenta.
</summary>
<ul>
<li>Fediverse (Mastodon): <a rel="me" href="https://hachyderm.io/@sofiaritz">@me@sofiaritz.com (@sofiaritz@hachyderm.io)</a></li>
<li>Forgejo: <a href="https://git.sofiaritz.com/sofia">sofia@git.sofiaritz.com</a></li>
<li>Codeberg: <a href="https://codeberg.org/sofiaritz">sofiaritz</a></li>
</ul>
</details>
</blockquote>
<h3>cifrado y firmado</h3>
<p>
Puedes encontrar mi clave PGP pública en <a href="/keys/pub.asc">/keys/pub.asc</a>, también disponible en los
<a href="https://keyserver.ubuntu.com/">keyservers de ubuntu</a>.
</p>
<p>
La huella digital del certificado es: <u>4BB1 6A74 5DE1 C776 5CF3 8788 90B5 116E 3542 B28F</u>.
</p>
<h3>canary</h3>
<p>
Puedes encontrar mi canary en <a href="/canary.txt">/canary.txt</a>. Este es un documento actualizado con
regularidad donde confirmo mi identidad y estado actual.
</p>
<p>
Si en algún momento este documento se encuentra desactualizado o desaparece, probablemente haya ocurrido algo malo.
</p>
<hr>
<details>
<summary>El texto de esta sección se encuentra firmado:</summary>
<pre>
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
contacto
Todavía no tengo una gran presencia digital, pero la poquita que tengo aquí se encuentra:
contacto directo
E-mail: sofi@sofiaritz.com
Matrix: @sofiaritz:matrix.org
redes sociales
Nota: Aquí se encuentra mi versión desenfadada, tal vez sea algo que quieras tener en cuenta.
Fediverse (Mastodon): @me@sofiaritz.com (@sofiaritz@hachyderm.io)
Forgejo: sofia@git.sofiaritz.com
Codeberg: sofiaritz
cifrado y firmado
Puedes encontrar mi clave PGP pública en /keys/pub.asc, también disponible en los keyservers de ubuntu.
La huella digital del certificado es: 4BB1 6A74 5DE1 C776 5CF3 8788 90B5 116E 3542 B28F.
canary
Puedes encontrar mi canary en /canary.txt. Este es un documento actualizado con regularidad donde confirmo mi identidad y estado actual.
Si en algún momento este documento se encuentra desactualizado o desaparece, probablemente haya ocurrido algo malo.
-----BEGIN PGP SIGNATURE-----
iHUEARYKAB0WIQRLsWp0XeHHdlzzh4iQtRFuNUKyjwUCZAS0iwAKCRCQtRFuNUKy
jxMEAQDexeK6j93KYGzWO3U2H5oJtfoJpsXfcsKx2jye5lP1LQD/SxMJWvwZKNgW
HCWvXZs7qF/1KCFzLkrGYt6zBpXU0gU=
=tUI2
-----END PGP SIGNATURE-----
</pre>
</details>
<style>
summary:hover {
cursor: pointer;
}
pre {
font-family: monospace;
}
</style>

View file

@ -1,49 +0,0 @@
<script>
import {Link} from "svelte-navigator";
</script>
<svelte:head>
<title>sofi web</title>
</svelte:head>
<h1>inicio</h1>
<i>
Es probable que andes aquí por mis <Link to="/projects">proyectos</Link>, si eso es lo que te interesa, puedes ir
a esa sección directamente.
</i>
<h1>sobre mí</h1>
<p>Soy Sofía, aunque la gente me llama Sofi.</p>
<p>
Llevo <i>un tiempo</i> programando y me encanta lo divertida y abierta que es la web, además de todas las
posibilidades que nos ofrece, a día de hoy se está perdiendo esta <i>esencia</i> de la web y mi objetivo es traerla
de vuelta.
</p>
<p>
Me encantan los <a href="https://es.wikipedia.org/wiki/Lengua_construida">lenguajes construidos</a> y aunque el que
más uso es el <a href="https://es.wikipedia.org/wiki/Esperanto">Esperanto</a>, amo
<a href="https://es.wikipedia.org/wiki/Toki_pona">Toki Pona</a> y me <i>encantaría</i> aprenderlo. Además de esto,
amo <a href="https://es.wikipedia.org/wiki/Wikipedia:Portada">Wikipedia</a> y en mis ratos libres intento aportar
mi granito de arena editando algunos artículos.
</p>
<p>
Me gusta mucho <a href="https://es.wikipedia.org/wiki/Rust_(lenguaje_de_programaci%C3%B3n)">Rust</a> y tengo la
esperanza de que sea el futuro de la programación
(<i>ya que es un lenguaje cuya base es aprender de los errores de los últimos 50 años</i>), aunque empecé a aprender
Rust <u>circa 2020</u>, llevo un tiempo en este mundillo y me manejo con mucha soltura.
</p>
<p>
A día de hoy me siento cómoda en Rust, <a href="https://es.wikipedia.org/wiki/JavaScript">JavaScript</a>
<a href="https://es.wikipedia.org/wiki/TypeScript">y derivados</a> y
<a href="https://es.wikipedia.org/wiki/C_(lenguaje_de_programaci%C3%B3n)">C</a> (<i>aunque aún me queda mucho por
aprender</i>).
</p>
<p>
Me encanta el concepto de la web porque permite que todo el mundo pueda tener su lugar donde poder hablar,
comunicarse entre sí y desarrollar ideas y pensamientos. A día de hoy esto
<a href="https://es.wikipedia.org/wiki/Monopolio">ha</a>
<a href="https://es.wikipedia.org/wiki/C%C3%A1mara_de_eco_(medios)">cambiado</a>, y la web no es abierta como era
anteriormente. Por esto estoy completamente a favor de
<a href="https://es.wikipedia.org/wiki/Est%C3%A1ndar_abierto">estándares abiertos</a> y de la
<a href="https://es.wikipedia.org/wiki/Descentralizaci%C3%B3n">descentralización</a>.
</p>

View file

@ -1,15 +0,0 @@
<script>
import {Link} from "svelte-navigator";
</script>
<svelte:head>
<title>enlaces - sofi web</title>
</svelte:head>
<h1>enlaces</h1>
<p>
Parece que no hay nadie por aquí...
</p>
<p>
Si quieres <Link to="/contact">habla conmigo</Link> para añadirte aquí! :)
</p>

View file

@ -1,9 +0,0 @@
<script>
import {Link} from "svelte-navigator";
</script>
<h1>recurso no encontrado</h1>
<p>
Parece que aquí no hay nada. Si esto te sorprende o resulta extraño,
<Link to="/contact">ponte en contacto conmigo</Link>.
</p>

View file

@ -1,51 +0,0 @@
<svelte:head>
<title>proyectos - sofi web</title>
</svelte:head>
<h1>proyectos</h1>
<p>
Ahora mismo no tengo proyectos públicos bajo mi nombre, pero tal vez publique alguna cosa en
<a href="https://git.sofiaritz.com/sofia">mi instancia de Forgejo</a>
y en mi perfil de <a href="https://codeberg.org/sofiaritz">Codeberg</a> :)
</p>
<p>
Pese a ello, puedo decir que he creado varios proyectos full-stack, librerías relacionadas con cifrado en Rust y
herramientas enfocadas a DX, también en Rust.
</p>
<p>
Actualizaré esta página cuando realice algún proyecto bajo mi nombre que merezca la pena ver.
</p>
<h2>proyectos irrelevantes</h2>
<h3>sofi web | <a href="https://codeberg.org/sofiaritz/website">repo</a> <a href="https://git.sofiaritz.com/sofia/website">mirror</a></h3>
<p>
Una web simple, con contenido prácticamente estático, hecha en Svelte. En un futuro trataré de usar
<a href="https://kit.svelte.dev/docs/page-options#prerender">static rendering</a> en lugar de CSR.
</p>
<p>
El código fuente de esta página está disponible en <a href="https://codeberg.org/sofiaritz/website">Codeberg</a>
y <a href="https://git.sofiaritz.com/sofia/website">mi instancia de Forgejo</a>.
</p>
<h3>note taking | <a href="https://git.sofiaritz.com/sofia/note-taking">repo</a></h3>
<p>
Una app creada con <a href="https://github.com/emilk/egui">egui</a> con el objetivo de ser un sistema experimental
para tomar notas.
</p>
<p>
Las notas están encriptadas por defecto (excepto los metadatos) y en un futuro añadiré soporte para Markdown básico
y demás.
</p>
<h3>
markdown cv |
<a href="https://git.sofiaritz.com/sofia/markdown-cv">repo</a>
<a href="https://md-cv.sofiaritz.com/">instancia</a>
</h3>
<p>
Una web simple que permite la creación y envío de CVs creados en Markdown con un tema simple y bonito por defecto.
</p>
<p>
Creada con Svelte y <a href="https://github.com/markedjs/marked">marked</a>. Debo mejorar ciertas partes del código
(obtención de CVs remotos, etc), pero sin duda funciona.
</p>

View file

@ -1,79 +0,0 @@
<svelte:head>
<title>recomendaciones - sofi web</title>
</svelte:head>
<h1>recomendaciones</h1>
<i>Aquí iré poniendo recomendaciones sobre juegos, libros, música, etc.</i>
<h2>libros</h2>
<h3>Un mundo feliz (Aldous Huxley)</h3>
<div>
<p>
<a href="https://es.wikipedia.org/wiki/Un_mundo_feliz">Un mundo feliz</a> es un libro, en mi opinión, muy bien
escrito y relevante en el día de hoy por los temas que se tratan.
</p>
<p>
Este libro es la contraparte <a href="https://es.wikipedia.org/wiki/Distop%C3%ADa">distópica</a> de
<a href="https://es.wikipedia.org/wiki/La_isla_(Aldous_Huxley)">La isla</a>, otro libro que también puedo
recomendar orgullosamente.
</p>
</div>
<h2>videojuegos</h2>
<h3>OMORI</h3>
<div>
<p>
<a href="https://www.omori-game.com/">OMORI</a> es un juego de <i>terror psicológico</i> (aunque el 90% del tiempo
es un juego muy tranquilo y relajante).
</p>
<p>
Tiene una historia un tanto dura, y la manera en que se cuenta no podía estar más pulida. No podría recomendarlo
más, no puedo contar mucho (para evitar spoilers), pero se lo recomendaría a cualquier persona que le gusten
los juegos de historia y RPG y compañía.
</p>
</div>
<h3>a short hike</h3>
<div>
<p>
<a href="https://ashorthike.com/">a short hike</a> es un juego muy muy tranquilo y relajante. Es un juego para
olvidarte del mundo y relajarte un ratito.
</p>
<p>
Tiene una historia que pese a poder ser considerada simple, la manera en que se descubre y la compañía que los
escenarios y la música dan al descubrimiento es sublime. Un juego muy tranquilo, muy bonito, muy divertido
con una historia bien contada. Otro juego 100% recomendado.
</p>
</div>
<h3>Milo and the Magpies</h3>
<div>
<p>
<a href="https://store.steampowered.com/app/1407420/Milo_and_the_Magpies/">Milo and the Magpies</a> es un juego
de puzles muy corto, con una historia juguetona pero bastante simple que no decepciona.
El arte y música son geniales y pese a poder completarse en un par de horas, merece la pena por lo relajante
y bello que es el juego.
</p>
<p>
Hay algunos puzles donde te puedes atascar con cierta facilidad, pero aún así, sigue siendo un juego con un
concepto bueno y simple, y con una muy buena ejecución.
</p>
</div>
<h2>música</h2>
<h3>Black Box Recorder</h3>
<div>
<p>
Mis gustos musicales cambian con <i>cierta</i> frecuencia, por tanto esta sección no sería lo más <i>estable</i>
que digamos. Pero pese a ello, hay un grupo al que siempre acabo acudiendo:
<a href="https://en.wikipedia.org/wiki/Black_Box_Recorder">Black Box Recorder</a>.
</p>
<p>
Un grupo (hasta donde yo sé) no especialmente conocido, pero con canciones muy buenas, con historias muy buenas,
y letras (en ocasiones) bastante duras.
</p>
<p>
<a href="https://en.wikipedia.org/wiki/England_Made_Me_(album)">England Made Me</a> es mi álbum favorito, un
álbum del que no me harto por mucho que lo escuche.
</p>
</div>

View file

@ -1,15 +0,0 @@
import "./app.css"
import App from "./App.svelte"
import "@fontsource/rubik/400.css"
import "@fontsource/rubik/400-italic.css"
import "@fontsource/rubik/500.css"
import "@fontsource/rubik/500-italic.css"
import "@fontsource/jetbrains-mono/300.css"
import "@fontsource/jetbrains-mono/300-italic.css"
const app = new App({
target: document.getElementById("app"),
})
export default app

2
src/vite-env.d.ts vendored
View file

@ -1,2 +0,0 @@
/// <reference types="svelte" />
/// <reference types="vite/client" />

View file

Before

Width:  |  Height:  |  Size: 409 KiB

After

Width:  |  Height:  |  Size: 409 KiB

View file

Before

Width:  |  Height:  |  Size: 4 MiB

After

Width:  |  Height:  |  Size: 4 MiB

View file

Before

Width:  |  Height:  |  Size: 186 KiB

After

Width:  |  Height:  |  Size: 186 KiB

View file

Before

Width:  |  Height:  |  Size: 564 KiB

After

Width:  |  Height:  |  Size: 564 KiB

View file

Before

Width:  |  Height:  |  Size: 2.7 MiB

After

Width:  |  Height:  |  Size: 2.7 MiB

View file

@ -2,9 +2,9 @@
Hash: SHA512 Hash: SHA512
Este es un documento en el que yo, Sofía Aritz, confirmo mi identidad. Este es un documento en el que yo, Sofía Aritz, confirmo mi identidad.
Actualizaré este documento al menos una vez al mes. Actualizaré este documento al menos semanalmente.
Este mensaje se actualizó por última vez el día: Este mensaje se actualizó por última vez el día:
Sat Mar 11 2023 23:05:09 UTC (11/03/2023) Wed Mar 01 2023 22:24:25 UTC (01/03/2023)
Puedo afirmar abiertamente que en este momento ninguna información que poseo se encuentra bajo el control de ninguna Puedo afirmar abiertamente que en este momento ninguna información que poseo se encuentra bajo el control de ninguna
autoridad de carácter gubernamental o cualquier otra tercera persona. autoridad de carácter gubernamental o cualquier otra tercera persona.
@ -39,15 +39,14 @@ Puedes obtener una copia de este mensaje en los siguientes lugares:
* <https://git.sofiaritz.com/sofia/website/src/branch/main/public/canary.txt> * <https://git.sofiaritz.com/sofia/website/src/branch/main/public/canary.txt>
Actualizaré este mensaje antes del día: Actualizaré este mensaje antes del día:
Sat Apr 08 2023 23:05:09 UTC (08/04/2023) Wed Mar 08 2023 22:24:25 UTC (08/03/2023)
Si esto no ocurre o este mensaje desaparece, se puede asumir que me ha ocurrido algo. Si esto no ocurre o este mensaje desaparece, se puede asumir que me ha ocurrido algo.
Toma una galleta, por haber leído hasta el final. Toma una galleta, por haber leído hasta el final.
-----BEGIN PGP SIGNATURE----- -----BEGIN PGP SIGNATURE-----
iHUEARYKAB0WIQRLsWp0XeHHdlzzh4iQtRFuNUKyjwUCZA0JLgAKCRCQtRFuNUKy iHUEARYKAB0WIQRLsWp0XeHHdlzzh4iQtRFuNUKyjwUCY//QzgAKCRCQtRFuNUKy
jyAzAP9hGVl9rV8Qe3F1GUEg0+IQVQD6TAPCSfSTXxbKncDUWQEA9Hi4LP7/wTUa j+1PAQDNDeB2aGkGiYpO75KgOPr0Vz22q9pBLh3w8ztcd1wh1AEA5GteB4sjsk7k
0Gbyll6aw9vT9chP45vgpVjyK2mV3Q0= +pa5lk0oMXHDRnBmBsPPRh5xqZmNTgs=
=1HU8 =eAgD
-----END PGP SIGNATURE----- -----END PGP SIGNATURE-----

View file

Before

Width:  |  Height:  |  Size: 185 KiB

After

Width:  |  Height:  |  Size: 185 KiB

View file

@ -1,7 +0,0 @@
import { defineConfig } from "vite"
import { svelte } from "@sveltejs/vite-plugin-svelte"
// https://vitejs.dev/config/
export default defineConfig({
plugins: [svelte()],
})

1589
yarn.lock

File diff suppressed because it is too large Load diff