diff --git a/.imgbotconfig b/.imgbotconfig index 9865b6e7..6e1841be 100644 --- a/.imgbotconfig +++ b/.imgbotconfig @@ -1,5 +1,5 @@ { - "schedule": "daily", + "schedule": "daily", "aggressiveCompression": "true", - "compressWiki": "true" + "compressWiki": "true" } diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index a63f1478..b71e3762 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -17,7 +17,6 @@ repos: - id: detect-private-key - id: check-symlinks - id: check-toml - - id: check-xml - id: check-yaml - id: forbid-new-submodules - id: mixed-line-ending diff --git a/content/_index.md b/content/_index.md index 0b43a51f..b90b2edd 100644 --- a/content/_index.md +++ b/content/_index.md @@ -5,10 +5,10 @@ specialpost: true date: 2000-08-20T12:00:00+02:00 --- -Pythonista, Backend Developer, Photographer, Dev Ops, Ex-Scout, Bookworm and Tea Lover. -Sometime you can find me in a GDG, a DataBeers, a Pycon, a Comicon or other similar event. -Huge Open Source fan and user I am allways searching something new to do or to study. -Huge fan of automation, autodeploy, data sharing and bots. -A lot of my personal stuff are here in my blog and some in my Github. +Pythonista, Backend Developer, Photographer, Dev Ops, Ex-Scout, Bookworm and Tea Lover. +Sometime you can find me in a GDG, a DataBeers, a Pycon, a Comicon or other similar event. +Huge Open Source fan and user I am allways searching something new to do or to study. +Huge fan of automation, autodeploy, data sharing and bots. +A lot of my personal stuff are here in my blog and some in my Github. diff --git a/content/micro/2025/10/my-new-favorite-shop/index.md b/content/micro/2025/10/my-new-favorite-shop/index.md index aac59072..a18dd793 100644 --- a/content/micro/2025/10/my-new-favorite-shop/index.md +++ b/content/micro/2025/10/my-new-favorite-shop/index.md @@ -12,7 +12,7 @@ rsvp: bookmark: --- -And today I find a new shop near my home. +And today I find a new shop near my home. It is a tearoom with comics, manga and table top game... I LOVE IT diff --git a/content/micro/2025/10/the-little-thing/index.md b/content/micro/2025/10/the-little-thing/index.md index 9c837c87..b3972f03 100644 --- a/content/micro/2025/10/the-little-thing/index.md +++ b/content/micro/2025/10/the-little-thing/index.md @@ -16,4 +16,4 @@ bookmark: Sometime the best things are the little things like some comment under your photo (in my free time I am a photographer) -#littlethings #microblogging +#littlethings #microblogging diff --git a/content/photos/2024/moon-of-middle-summer/index.md b/content/photos/2024/moon-of-middle-summer/index.md index ee13bcb8..69258c58 100644 --- a/content/photos/2024/moon-of-middle-summer/index.md +++ b/content/photos/2024/moon-of-middle-summer/index.md @@ -16,5 +16,5 @@ I LOVE to walk after dark but I am not very good with the astronomical photo ## Challenge -I am studing how to take a photo of the moon or the stars. +I am studing how to take a photo of the moon or the stars. In this one I use some filters to get a better image the day after. diff --git a/content/photos/2024/waiting-for-ramen-in-a-restaurant/index.md b/content/photos/2024/waiting-for-ramen-in-a-restaurant/index.md index 12c3f964..2258aa20 100644 --- a/content/photos/2024/waiting-for-ramen-in-a-restaurant/index.md +++ b/content/photos/2024/waiting-for-ramen-in-a-restaurant/index.md @@ -19,5 +19,5 @@ I love it and I love the food. ## Problem -WOST LIGHT EVER! +WOST LIGHT EVER! I don't like the multiple type of light they have inside so you need to be good with feeling the light changing at every corner diff --git a/content/post/2012/fundor333/index.md b/content/post/2012/fundor333/index.md index d94a36cf..ddf58018 100644 --- a/content/post/2012/fundor333/index.md +++ b/content/post/2012/fundor333/index.md @@ -5,7 +5,7 @@ feature_link: "" feature_text: "" tags: slug: "Fundor333" -categories: +categories: - rant description: "Primo post" diff --git a/content/post/2018/floppy-pycon-e-generatori-di-siti-statici/index.md b/content/post/2018/floppy-pycon-e-generatori-di-siti-statici/index.md index 09f2993f..853474e1 100644 --- a/content/post/2018/floppy-pycon-e-generatori-di-siti-statici/index.md +++ b/content/post/2018/floppy-pycon-e-generatori-di-siti-statici/index.md @@ -27,7 +27,7 @@ Nel prossimo futuro ho intenzione di pubblicare un articolo di approfondimento, # La competizione dei floppy -A ogni partecipante alla convention viene dato un floppy disk con l'adesivo con i dati del partecipante e dietro un piccolo QRCode. +A ogni partecipante alla convention viene dato un floppy disk con l'adesivo con i dati del partecipante e dietro un piccolo QRCode. {{< tweet user="matteo_zuccon" id="987619049029939200" >}} E' propio quest'ultimo che ha attirato enormemente la mia attenzione sulla cosa e si è rivelata un bell' easter egg. @@ -43,7 +43,7 @@ In ogni caso mi ha permesso di socializzare con alcune persone e di divertirmi i Quest'anno, sia per un discorso economico che per un discorso di tempi, ho deciso di non partecipare alla Pyfiorentina ma andare a caccia di Lampredotto. -Trovato quindi il locale e mangiato il lampredotto ho avuto una idea per un progetto con i GTFS di Google grazie all'autobus che per poco non mi metteva sotto (troppo distratto io dal lampredotto). +Trovato quindi il locale e mangiato il lampredotto ho avuto una idea per un progetto con i GTFS di Google grazie all'autobus che per poco non mi metteva sotto (troppo distratto io dal lampredotto). Su questo spero di darvi presto aggiornamento. diff --git a/content/post/2018/p2p-offline-da-spie/index.md b/content/post/2018/p2p-offline-da-spie/index.md index e7cb554a..398efae7 100644 --- a/content/post/2018/p2p-offline-da-spie/index.md +++ b/content/post/2018/p2p-offline-da-spie/index.md @@ -20,7 +20,7 @@ Questo ha portato alla creazione di alcuni progetti hardware/software che cercan Nonostante quello che mostrano nei film, lo scambio 'di persona' è molto pericoloso e raramente usato. Viene invece usato il *Dead Drops* o *consegna morta*: dopo essersi accordati su un punto di consegna, il mittente lascia il "pacchetto" nel punto di consegna dove, il ricevente, lo viene a ritirare - + Da questa idea nasce il primo progetto che esamino da lungo tempo: il progetto "*Dead Drops*" ## Dead Drop @@ -30,7 +30,7 @@ Nato come progetto d'arte di Aram Bartholl, un artista con base a Berlino, è un Infatti è considerabile come _hack urbano_ in quanto è, semplicemente, il posizionamento di supporti di memoria fissa nel territorio. Ad esempio il murare una chiavetta usb su una parete o legare, con una sicura, ad un albero un supporto usb. -Tutto questo viene gestito all'interno di un sito internet[^5] che ha anche un database in cui vengono segnalati i dead drop esistenti, il contenuto di partenza e lo stato del supporto stesso per rendere tutto più semplice e funzionale. +Tutto questo viene gestito all'interno di un sito internet[^5] che ha anche un database in cui vengono segnalati i dead drop esistenti, il contenuto di partenza e lo stato del supporto stesso per rendere tutto più semplice e funzionale. Questo sistema risulta essere molto interessante da un punto di vista tecnico ma difficile da mantenere in quanto molto soggetta allo stato della parete stessa e alle condizioni atmosferiche dell'area. In oltre può essere anche intesa come _danneggiamento di suolo pubblico/privato_. @@ -48,7 +48,7 @@ Ispirata dal sistema delle radio pirata, la PiratBox è un sistema hardware di o ![Pirate Box](piratebox.gif) -Tecnicamente è un router modificato in modo da creare un _hotspot_ "offile" da cui prendere e lasciare file e commenti. Si basa su una "patch" di _OpenWrt_ che trasforma il router compatibile in un hotspot/server. +Tecnicamente è un router modificato in modo da creare un _hotspot_ "offile" da cui prendere e lasciare file e commenti. Si basa su una "patch" di _OpenWrt_ che trasforma il router compatibile in un hotspot/server. Attraverso una interfaccia web e collegandosi via WiFi è possibile caricare e scaricare i file contenuti all'interno della _PirateBox_. @@ -66,7 +66,7 @@ In oltre alcune di queste modifiche sono diventate talmente _grosse_ da diventar ## LibraryBox -Mod e poi fork di _PirateBox_, è la versione "per libri" della _PirateBox_. +Mod e poi fork di _PirateBox_, è la versione "per libri" della _PirateBox_. Risulta utilizzare la stessa base hardware (sempre un router con una unità di memoria) ed è sempre una "_patch_" di _OpenrWrt_ a cui viene cambiata l'interfaccia grafica e alcune funzionalità. @@ -81,7 +81,7 @@ Questo ha portato molti a sfruttare molto più pesantemente la _LibraryBox_ risp --- Fondamentalmente queste sono le tecnologie _P2P_ offline che suggerisco e di cui mi sono interessato nel mio tempo libero. Nel caso ne trovi di nuove mi preoccuperò di fare un aggiornamento in quanto l'argomento a me piace in modo particolare e lo trovo anche particolarmente interessante anche dal punto di vista umano, perchè è sempre interessante vedere i nuovi sistemi con cui il genere umano condivide la conoscenza. - + [^1]: [The Guardian: Moscow names British 'spies' in NGO row](https://www.theguardian.com/world/2006/jan/23/russia.politics) [^2]: Sito ufficiale del progetto Dead Drops _Link con problemi_ ~~deaddrops.com~~ [^3.1]: [Thread sulla mod con Icecast](http://forum.piratebox.cc/read.php?2,3764) e [tutorial](https://github.com/janbre/Assorted/tree/master/Piratebox/PirateBoxRadio) diff --git a/content/post/2018/tanti-auguri-nintendo/index.md b/content/post/2018/tanti-auguri-nintendo/index.md index 86db1be9..3e24e981 100644 --- a/content/post/2018/tanti-auguri-nintendo/index.md +++ b/content/post/2018/tanti-auguri-nintendo/index.md @@ -33,12 +33,12 @@ Semplicemente da questi dati si capisce che la console risulta essere meno _pote ## Casi d'uso -Sostanzialmente la console è sia una console _portatile_ che una console _fissa_. +Sostanzialmente la console è sia una console _portatile_ che una console _fissa_. Per fare ciò è stata creato un "dock" che viene collegata alla televisione o allo schermo (essendo collegabile via HDMI basta anche un monitor). Questa base risulta però pericolosa per l'integrità dello schermo touch, che viene segnato se ripetutamente inserita e rimossa senza fare attenzione. Personalmente ho risolto il problema con una pellicola protettiva che avrei acquistato comunque trattandosi anche di una console portatile e che l'uso più ambio che io ne faccio è proprio la funzionalità portatile. Altro problema è il punto di aggancio per l'alimentazione. Essendo posizionato sotto non è possibile utilizzare la _gamba_ per tenere lo _Switch_ in verticale mentre è in carica. Per farlo è necessaria una "base" che alzi lo _Switch_. Anche questa la ho presa separatamente e da rivenditori di terze parti anche se la Nintendo sembra essere intenzionata a spostare la presa dello _Switch_ nella prossima linea.[^2] -Ho fatto delle prove in tv e il risultato è esattamente quanto sperato. Ottima qualità video, ottimo audio, l'unico problema da parte mia è che la connessione alla rete è possibile solo via wifi ma per il resto funziona divinamente. +Ho fatto delle prove in tv e il risultato è esattamente quanto sperato. Ottima qualità video, ottimo audio, l'unico problema da parte mia è che la connessione alla rete è possibile solo via wifi ma per il resto funziona divinamente. ## Videogiochi dello _Switch_ @@ -59,7 +59,7 @@ A questo poi viene aggiunto il fattore _esclusive Nintendo_, che risultano sempr Ottima idea di console, ottima implementazione ibrida, alcuni difetti nel design ma molto limitati. A questo si aggiunge un bel parco giochi e esclusive con un bel parco _indie_ che incentivano il mercato con nuove idee e nuove grafiche. -Personalmente consiglio l'acquisto della console sopratutto se interessano gli _indie e i gdr_ ma se non piacciono queste due categorie potrebbe essere una console meno adatta se piacciono di più gli _sparatutto_. +Personalmente consiglio l'acquisto della console sopratutto se interessano gli _indie e i gdr_ ma se non piacciono queste due categorie potrebbe essere una console meno adatta se piacciono di più gli _sparatutto_. Sperando di avervi interessato vi invito a commentare e discutere sulla console, grazie. diff --git a/content/post/2020/al-you-need-is-static/index.md b/content/post/2020/al-you-need-is-static/index.md index 0db98afc..792f4dc0 100644 --- a/content/post/2020/al-you-need-is-static/index.md +++ b/content/post/2020/al-you-need-is-static/index.md @@ -26,7 +26,7 @@ All of this is from personal research and study. In the 1945 was publish in _The Atlantic Monthly_ the article "As We May Think" where the _Memex_, the first concept of _hypertext_ was born. -In 1963 the term "hypertext" and "hypermedia" was coined as part of a model for creating linked content. +In 1963 the term "hypertext" and "hypermedia" was coined as part of a model for creating linked content. From here to 1980 any region of the planet make a type of _hypertext_ but we ignore all of them because we aren't interested in them now. You need to go to the 1980 CERN for have a software call ENQUIRE, a _hypertext_ software. But it was unaccessible for everybody so the software was discart. @@ -57,7 +57,7 @@ And this become more evident with _Wordpress_ where you need from 10 to 40 query ### And now the static site generators -Now we have to talk about the static site generator. +Now we have to talk about the static site generator. First we talk about the one is not in use anymore: the gui one. Is a complex software where you have multiple buttons for build the gui and put the text, img and all the other things in position. This way was popular at the end of the 90' and the beginning of the 2000' with _Microsoft Publisher_ and _iLife iWeb_. All of them death today because was too long to make a site and you need html knowledge for the more advance stuff and integrate js for some animation or others things. @@ -81,7 +81,7 @@ There are multiple good reason for this: * Fast: they ask the page you serve it without any form of elaboration. You cant have a site more fast than static * Easy to backup: you can backup in infinite ways your blog because you only need to save the theme, config and the content. All the other thins (the server software, the genererator and plugins) you don't need in your backup. All are descript in the theme, config and content. * No upgrade: you don't need to update the site to the newer version of one library or the plugin for X. With a static site generator you have a HTML site allways valid -* You need hyperlink not plugin: at the end of the day you want the hyperlink of a site/blog not the fancy plugin for an unicorn running on the page. Any plugin add complexity at the system and the site, it make the site slower and sometime, when not working right, more difficult to debuggin. +* You need hyperlink not plugin: at the end of the day you want the hyperlink of a site/blog not the fancy plugin for an unicorn running on the page. Any plugin add complexity at the system and the site, it make the site slower and sometime, when not working right, more difficult to debuggin. ## Conclusion diff --git a/content/post/2020/backup-your-crontab/index.md b/content/post/2020/backup-your-crontab/index.md index 5b987dae..46f16c90 100644 --- a/content/post/2020/backup-your-crontab/index.md +++ b/content/post/2020/backup-your-crontab/index.md @@ -8,7 +8,7 @@ tags: - dotfiles - coding slug: "backup-your-crontab" -categories: +categories: - dev description: "Using DotBot for backup and sync crontab job" diff --git a/content/post/2020/building-my-backend/index.md b/content/post/2020/building-my-backend/index.md index 3bf320f4..00c369c3 100644 --- a/content/post/2020/building-my-backend/index.md +++ b/content/post/2020/building-my-backend/index.md @@ -9,15 +9,15 @@ tags: - coding - api slug: "building-my-backend" -categories: +categories: - dev description: "Why someone need a server and how I build mine" --- -More time pass more time I need a server for my cronjob and other process. +More time pass more time I need a server for my cronjob and other process. Sometime the cron was a supid thing, working only for the short period and after can be trashed but the real problem start with Feedly, the subscription for feed I use. -One day, adding a new feed to my Feedly account, I discovered that I can't add more in the free subscription. +One day, adding a new feed to my Feedly account, I discovered that I can't add more in the free subscription. So I start thinking some alternative. ## What I need @@ -48,7 +48,7 @@ In this way I discover some dead blog and other formats of feed (old one from so After this I builds the task for the cronjob for getting all the feed of the multiple sources. This task add a command into redis and when the wrapper (celery in my case) can do the job, it does it and log into the database a row with the log in case of failure. -I did the same also for the "mark as read" task so if I mark one this is a task done by the browser but if I do for the "last month" or "all" posts they make a Celery task into Redis because it can be a lot of work for the server because I can do more thinks with this but not now. +I did the same also for the "mark as read" task so if I mark one this is a task done by the browser but if I do for the "last month" or "all" posts they make a Celery task into Redis because it can be a lot of work for the server because I can do more thinks with this but not now. In the future I am thinking about point system for the post and other thinks that need a after processing for making a "prefernce system" or other similar thinks for my personal use[^1] and I want to save the top post into my Poket account or save it in a way I can store for personal reference with or without the site working and store it indefenitly. @@ -92,5 +92,5 @@ With some time I build more function into this system and add more api. For the Because all the project I am working on I don't have a lot of time so all this project have the least priority of all but, one day after the other I will be updating all of this project with all the function I need but for now I have this. -[^1]: This is an idea I copy from Feedly Premium. -[^2]: The *DRF* is the *[Django Rest Framework](https://www.django-rest-framework.org/)* +[^1]: This is an idea I copy from Feedly Premium. +[^2]: The *DRF* is the *[Django Rest Framework](https://www.django-rest-framework.org/)* diff --git a/content/post/2020/color-your-python-output/index.md b/content/post/2020/color-your-python-output/index.md index 7acb8318..8a1cb98a 100644 --- a/content/post/2020/color-your-python-output/index.md +++ b/content/post/2020/color-your-python-output/index.md @@ -8,14 +8,14 @@ tags: - coding - devops slug: "color-your-python-output" -categories: +categories: - fingerfood - dev description: "Sometime you need to make your output more readible adding color to the terminal" --- -Sometime you need to output error and other stuff in the same terminal. +Sometime you need to output error and other stuff in the same terminal. It can be a lot of text and you need to make more readible for the user/sysadmin/victim so, the easy way, is to make different the output. The easy way to do it is to color the output to some color. @@ -59,7 +59,7 @@ class CLog: print(f"{self.OKBLUE}{string}{self.ENDC}") def warning(self,string): - print(f"{self.WARNING}{string}{self.ENDC}") + print(f"{self.WARNING}{string}{self.ENDC}") ``` diff --git a/content/post/2020/gitmessage-advance-config/index.md b/content/post/2020/gitmessage-advance-config/index.md index f17e55e8..d4e86bcc 100644 --- a/content/post/2020/gitmessage-advance-config/index.md +++ b/content/post/2020/gitmessage-advance-config/index.md @@ -8,7 +8,7 @@ tags: - git - dotfiles slug: "gitmessage-advance-config" -categories: +categories: - dev - fingerfood description: "Sometime you need to configure your git or have a template for the commit for your work" @@ -20,14 +20,14 @@ Allways put something (ticket code, bug code, etc...), order of stuff, some comm ## How to do -In Git you can set a a file as the template for the git commit. -You can do it for a single project or for your user. +In Git you can set a a file as the template for the git commit. +You can do it for a single project or for your user. In this case I will show the command for all your project. ### The config First you need to write a file. -Usualy I make a file in the home ***~/.gitmessage*** where I put the message. +Usualy I make a file in the home ***~/.gitmessage*** where I put the message. For example a file template is: {{< highlight bash >}} diff --git a/content/post/2020/keep_update_gitlab/index.md b/content/post/2020/keep_update_gitlab/index.md index 9ff9bdff..51c686b5 100644 --- a/content/post/2020/keep_update_gitlab/index.md +++ b/content/post/2020/keep_update_gitlab/index.md @@ -8,7 +8,7 @@ tags: - devops - hacking slug: "keep_update_gitlab" -categories: +categories: - fingerfood - dev description: "How to check if your GitLab is update automaticaly" @@ -37,7 +37,7 @@ So I decide to hack the system and make an allert for me. First ve need to understand how the label work. A rapid ispection of the page show that the label is a responde of a _get_ at the url *version.gitlab.com/check.svg* with some parameters. -In particolar we need the GitLab version installed. So we need it too. And for them we need the token from the self hosted installation[^3]. +In particolar we need the GitLab version installed. So we need it too. And for them we need the token from the self hosted installation[^3]. ### Get the version of GitLab For this project we only need python and [_requests_](https://pypi.org/project/requests/) @@ -74,7 +74,7 @@ def last_version_gitlab(): return r.text ``` -In this way you return a string with the label as xml img. +In this way you return a string with the label as xml img. So if you want a feedback when is to update it you can do this. ``` python @@ -86,7 +86,7 @@ In this way you return _False_ if you need to update, _True_ elsewhere. ## Conclusion -Whith this you can make another function for sending a notification or a mail for the update. +Whith this you can make another function for sending a notification or a mail for the update. I make all this code into a cronjob with mail sender for getting at the start of my work hours a mail for unupdated gitlab installation. I also suggest Slack or Telegram for the notification for the unupgraded GitLab. diff --git a/content/post/2020/manage-site-and-certificate/index.md b/content/post/2020/manage-site-and-certificate/index.md index ff036020..0182a2a8 100644 --- a/content/post/2020/manage-site-and-certificate/index.md +++ b/content/post/2020/manage-site-and-certificate/index.md @@ -9,13 +9,13 @@ tags: - bot - dotfiles slug: "manage-site-and-certificate" -categories: +categories: - dev description: "One dev manage 40 sites' domains, SSL and check all of them with a package" --- -After my [other post]({{< relref "post/2020/ssl-check-with-a-script/index.md" >}}) I find we (me and my coworker) need to check between 30 to 40 domain, subdomain and SSL certificate for work and some more for our private life so I put on the test my [other post's script]({{< relref "post/2020/ssl-check-with-a-script/index.md" >}}) but we need to check more. +After my [other post]({{< relref "post/2020/ssl-check-with-a-script/index.md" >}}) I find we (me and my coworker) need to check between 30 to 40 domain, subdomain and SSL certificate for work and some more for our private life so I put on the test my [other post's script]({{< relref "post/2020/ssl-check-with-a-script/index.md" >}}) but we need to check more. We need to check when the domain expire (DNS Lookup), we need to check if the server are up and the SSL certificate. This is a problem because we need to launch the same commands every day for multiple server every day and some time we forgot a domain or a url and we don't check it for days. And if something boom we need to fix it with *zero down time* so we need to do some sysadmin work. @@ -42,7 +42,7 @@ So for start I need to register some urls like google and amazon for example Now you only register the url, nothing is check for now. -For run all job or only one you need to use the *run* directive with the *--c* flag for adding command. +For run all job or only one you need to use the *run* directive with the *--c* flag for adding command. ```bash servergrimoire run @@ -52,7 +52,7 @@ After this you don't have any return beause this command is for cronjob or simil If you need to see what was the last run you can call *stats* and *info* if you want to see what is save into the data file. This way make easy for cronjob, automatic task and will grow with other function. All the command are in the *help* directive if you need more info. -This is a little module but can be extrime usefull in small list of urls but you need other tool if you use it for hundreds urls. +This is a little module but can be extrime usefull in small list of urls but you need other tool if you use it for hundreds urls. I also accept help for the plugin. diff --git a/content/post/2020/sock-and-socket/index.md b/content/post/2020/sock-and-socket/index.md index 56dfb8d2..a8c16767 100644 --- a/content/post/2020/sock-and-socket/index.md +++ b/content/post/2020/sock-and-socket/index.md @@ -51,7 +51,7 @@ def server_program(): server_socket.listen(20) {{< / highlight >}} -Where we +Where we * Start a socket with __socket.socket()__ * Set the socket to the Host and Port with __.bind((HOST, PORT))__ @@ -68,7 +68,7 @@ After this you need to accept new incomming request. I also set a timeout becaus We put into __data_raw__ the data from the connection (here we use size)[^2] and we have 2 more interesting object: -* __conn__ a socket with *this* connection +* __conn__ a socket with *this* connection * __address__ the *ip* for *this* connection diff --git a/content/post/2020/ssl-check-with-a-script/index.md b/content/post/2020/ssl-check-with-a-script/index.md index 9c346c2b..51c86789 100644 --- a/content/post/2020/ssl-check-with-a-script/index.md +++ b/content/post/2020/ssl-check-with-a-script/index.md @@ -8,7 +8,7 @@ tags: - coding - devops slug: "ssl-check-with-a-script" -categories: +categories: - dev - fingerfood description: "You need to check a lot of SSL certificate, some domain and others things" @@ -21,7 +21,7 @@ Every sistem I have use CertBot, the bot for Let's Encrypt, who renew the certif ## Script out the problem -For this script we need +For this script we need * Python 3.6 or more * PyOpenssl diff --git a/content/post/2020/why-you-need-a-doc/index.md b/content/post/2020/why-you-need-a-doc/index.md index 05ab40dd..6c04a79c 100644 --- a/content/post/2020/why-you-need-a-doc/index.md +++ b/content/post/2020/why-you-need-a-doc/index.md @@ -4,11 +4,11 @@ date: 2020-11-09T11:00:50+01:00 feature_link: "https://unsplash.com/photos/8OVDzMGB_kw" feature_text: "Photo by Matt Ragland on Unsplash" -tags: +tags: - coding - devops slug: "why-you-need-a-doc" -categories: +categories: - dev description: "Every project you make you understand new things so you need to write down some thing. Something like a doc" @@ -20,18 +20,18 @@ And you have multiple tool for doing it. # Tecnology or tools used -We only have 2 tipe of tool for this task: paper o paperless. -You can't use other type of tool or tecnology and you can use the same tecnic in all the tecnology or tools you use. +We only have 2 tipe of tool for this task: paper o paperless. +You can't use other type of tool or tecnology and you can use the same tecnic in all the tecnology or tools you use. This is because you need to understand how the human work for make a better doc. ## Paper or Journal or notebook or a printed paper -The old fascion way. You write all into paper and no one can use it other then you. Sometime you can put in the office somewhere all the colleague can read it. +The old fascion way. You write all into paper and no one can use it other then you. Sometime you can put in the office somewhere all the colleague can read it. ![Manual](manual.jpg) -Sometime this is a good idea have a printed paper near a machine or someting similar because all the taks are in the "physical" world. But if you are working from home this is a bad solution. +Sometime this is a good idea have a printed paper near a machine or someting similar because all the taks are in the "physical" world. But if you are working from home this is a bad solution. You can't share it without pass a physical copy of it to the other member of the team/client/human. This is a huge limit if your documentation. @@ -64,11 +64,11 @@ You can learn with a "wiki" style of documentation and you can make task with a # My way -I love MarkDown and the GitHub/GitLab issiue so for my personal and work project I combine them. +I love MarkDown and the GitHub/GitLab issiue so for my personal and work project I combine them. For the documentation I use [MkDocs](https://www.mkdocs.org/) for build the documentation. I write it as a Question-Answer document, so it isn't about HOW THE SOFTWARE WORK but it is about HOW DO TASK WITH SOFTWARE. In this way I find more easly what I want or what I need. -When I need to do something I write a issiue with a __todo__ with the micro-task I need to do for the issie, in this way I break the macro-task into task and after in micro-task so I can remember all and keep a trace of the task if I need to do It again. +When I need to do something I write a issiue with a __todo__ with the micro-task I need to do for the issie, in this way I break the macro-task into task and after in micro-task so I can remember all and keep a trace of the task if I need to do It again. If I find the task I doing can be needed in the future I copy the __ToDo__ list into a MarkDown and I make a wiki about the task for future reference. In this way I have, for the big task, a to do list and a wiki for the task in question. diff --git a/content/post/2021/from-devops-to-gitops/index.md b/content/post/2021/from-devops-to-gitops/index.md index d8266e05..cd8f2896 100644 --- a/content/post/2021/from-devops-to-gitops/index.md +++ b/content/post/2021/from-devops-to-gitops/index.md @@ -8,7 +8,7 @@ tags: - devops - gitops slug: "From-DevOps-to-GitOps" -categories: +categories: - dev description: "Why am I moving from DevOps to GitOps" @@ -38,14 +38,14 @@ _GitOps_ is an evolution of _DevOps_. Usually this is done with script and automation (tools, code, ape with a keyboard...) and remove some human error. -_DevOps_ is a deployment practices, in other way is a philosophy. -In any way you have a concept without an implementation. +_DevOps_ is a deployment practices, in other way is a philosophy. +In any way you have a concept without an implementation. _DevOps_ define a way of working and we need something more practical for the world. With _DevOps_ in mind we can make an implementation of this set of steps: -* _Coding_ writing code +* _Coding_ writing code * _Building code_ automatic build or similar application specific * _Testing code_ in automatic way and you don't have bug on the deploy * _Approving_ with issue and merge requests @@ -89,9 +89,9 @@ If you don't have man power you *need* to use this technique for trying to have ## I can use it for my little project? -Yes, you can. This blog is a _GitOps_ example. +Yes, you can. This blog is a _GitOps_ example. -This site is made with all the necessary stuff and the configs inside repos. +This site is made with all the necessary stuff and the configs inside repos. All you need for run it is inside one of two repo: @@ -99,16 +99,16 @@ All you need for run it is inside one of two repo: * The Hugo repo (the software for building my blog) ### An Example -In this repos (the blog one) you have +In this repos (the blog one) you have #### The Data Like the posts and the images used in this blog and all the info for the Search engine are store in plain files. Some of them are media file but a lot of them are text files (a lot of _MarkDown_ files and some _Json_). Only the comments are outside of the repo. #### The Code -All the template and the Css/JavaScript of the site (and in my case the SCSS for building the Css). -I also have a couple script for generating compressed img for the web.[^2] -[^2]: [Hugo With Lazy Loading and Webp]({{< relref "post/2021/Hugo-with-lazy-loading-and-webp" >}}) +All the template and the Css/JavaScript of the site (and in my case the SCSS for building the Css). +I also have a couple script for generating compressed img for the web.[^2] +[^2]: [Hugo With Lazy Loading and Webp]({{< relref "post/2021/Hugo-with-lazy-loading-and-webp" >}}) #### The Config @@ -119,10 +119,10 @@ It also have some config for GitHub for the GitHub Action and the config for Git I added some GitHub Action for building the site and test for 404 or similar error after the build. In this way I don't need to check all the link manually. #### Console/command file -I need this for dev and run it because I don't remember all the commands. In my case an easy to use _makefile_ with some command for building, cleaning and testing the site before deploy it on the _world wild web_.[^3] -[^3]: [The team Makefile]({{< relref "post/2021/the-team-makefile" >}}) +I need this for dev and run it because I don't remember all the commands. In my case an easy to use _makefile_ with some command for building, cleaning and testing the site before deploy it on the _world wild web_.[^3] +[^3]: [The team Makefile]({{< relref "post/2021/the-team-makefile" >}}) ## Conclusion -Working in a little team _GitOps_ is an essential tool for our teamwork. +Working in a little team _GitOps_ is an essential tool for our teamwork. Good luck for your implementation of _GitOps_ diff --git a/content/post/2021/frozen-mac-touchbar/index.md b/content/post/2021/frozen-mac-touchbar/index.md index 0a3a091f..7b3f34ed 100644 --- a/content/post/2021/frozen-mac-touchbar/index.md +++ b/content/post/2021/frozen-mac-touchbar/index.md @@ -7,7 +7,7 @@ tags: - hacking - rant slug: "frozen-mac-touchbar" -categories: +categories: - fingerfood - dev description: "Sometime you need to fix your frozen Mac TouchBar" diff --git a/content/post/2021/static-with-a-form/index.md b/content/post/2021/static-with-a-form/index.md index 3944f2c0..73dfecae 100644 --- a/content/post/2021/static-with-a-form/index.md +++ b/content/post/2021/static-with-a-form/index.md @@ -6,9 +6,9 @@ feature_text: "Photo by Zoe on Unsplash" tags: - hugo - microservice -- flask +- flask slug: "Static-with-a-Form" -categories: +categories: - dev - fingerfood description: "If you have a static site you can also have forms" @@ -28,7 +28,7 @@ My personal solution for this problem is a *Microservice[^1]* *Rest Api[^2]* wit [^2]: [Wikipedia definition of *Rest Api*](https://en.wikipedia.org/wiki/Representational_state_transfer) [^3]: [Wikipedia definition of *Captcha*](https://en.wikipedia.org/wiki/CAPTCHA) -You can also implement this code in a larger system but I make this code for a *Microservice*. +You can also implement this code in a larger system but I make this code for a *Microservice*. Also this is my *Python* implementation because *I use Python* but you can make this solution with your favorite language[^4]. [^4]: If your favorite language is *Cobol* or *Pascal* I suggest my code for your mental stability @@ -44,11 +44,11 @@ For this you need two part. One is the frontend and one is the backend.
... your form data ... - -
+ ``` -With this code for form the client will call the Google server for the *reCaptcha* validation and send the form data to *"/somewhere_else"* as our endpoint. +With this code for form the client will call the Google server for the *reCaptcha* validation and send the form data to *"/somewhere_else"* as our endpoint. -This code is *Universal* so any backend you will use its allways be usefull. For more info about *reCaptcha* and how to use them you can read the [official Google Guide](https://developers.google.com/recaptcha/docs/v3)[^5]. +This code is *Universal* so any backend you will use its allways be usefull. For more info about *reCaptcha* and how to use them you can read the [official Google Guide](https://developers.google.com/recaptcha/docs/v3)[^5]. [^5]: [Link](https://developers.google.com/recaptcha/docs/v3) ### Backend Python Flask and Requests -In my solution I use MailGun for send me the content of the form. This code send all the the content of the post without check it. It can be use for multiple form at the same time. +In my solution I use MailGun for send me the content of the form. This code send all the the content of the post without check it. It can be use for multiple form at the same time. All the config are environment variables so you can recicle the script without a lot of work and this script is ready for *serveless* implementations. @@ -112,12 +112,12 @@ def hello_world(): return redirect(SUCCESS_URL, code=302) ``` -In this implementation you recive the post from the form and read the form data and send it to someone with MailGun. +In this implementation you recive the post from the form and read the form data and send it to someone with MailGun. If you don't need to send but to save it you can easy change the *send_mailgun_message* with what you need. ## Alternative -With the html code show before you can have different endpoint. -You can change the desination changing the function. +With the html code show before you can have different endpoint. +You can change the desination changing the function. For example you can send as email with SMTP or save into a database or some file in the server. The only limit is the Api Rest Post url for getting the data from the form. diff --git a/content/post/2021/the-team-makefile/index.md b/content/post/2021/the-team-makefile/index.md index a9fafcff..e9111308 100644 --- a/content/post/2021/the-team-makefile/index.md +++ b/content/post/2021/the-team-makefile/index.md @@ -9,7 +9,7 @@ tags: - coding - hacking slug: "The-team-makefile" -categories: +categories: - dev description: "You need to make a makefile if you are working on a team project" @@ -41,7 +41,7 @@ Some git hosting like GitHub, GitLab and GitTea will show your README.md at the ## Building script -Any project you have will be having a different set of config and command to launch every task. +Any project you have will be having a different set of config and command to launch every task. Sometime you will make one or more script for your task and you need to remember all of the function and launch command. So I write a makefile for all my project, personal and job related. ### Base of makefile @@ -88,14 +88,14 @@ run: install docs ## Run all the task for building So, every time you will use this _makefile_ with _run_ you will run _install_, _docs_ and _run_ in this sequence. -## Force Testing +## Force Testing -Testing is one of the must of programming. And it can be done only with scripting. -The best way I found is using the _makefile_. Setting up a good testing suite with a full cover for the code is the base of a good project. +Testing is one of the must of programming. And it can be done only with scripting. +The best way I found is using the _makefile_. Setting up a good testing suite with a full cover for the code is the base of a good project. And a good way for testing is using some type of _Continuous Integration_ like [_GitHub Action_](https://github.com/features/actions), [_Circle CI_](https://circleci.com/) or [_Travis CI_](https://travis-ci.org/). -If you will use a _CI_ with a [git-flow](http://danielkummer.github.io/git-flow-cheatsheet/)'s flow you can make the tests' result blocking for merging branch. +If you will use a _CI_ with a [git-flow](http://danielkummer.github.io/git-flow-cheatsheet/)'s flow you can make the tests' result blocking for merging branch. ## Lint and reformatting @@ -118,6 +118,6 @@ Also the command _pre-commit run_ will run the pre-commit hooks without make a c ## Conclusion -With this setup you can have a lot of automatic task for your project so you and your team will work better, more like a clock and without a lot of coordination if you can follow a standar template like this. +With this setup you can have a lot of automatic task for your project so you and your team will work better, more like a clock and without a lot of coordination if you can follow a standar template like this. And you can leave and enter in any project in an easy and fast way. diff --git a/content/redirect/social_card.md b/content/redirect/social_card.md index a58abfff..0817b96c 100644 --- a/content/redirect/social_card.md +++ b/content/redirect/social_card.md @@ -1,5 +1,5 @@ +++ -# For example, to Redirect from /old_blog to /blog, set +# For example, to Redirect from /old_blog to /blog, set # url to "/old_blog" and redirect_to to "/blog" below type = "redirect" url = "/social_card/" diff --git a/data/packages.yaml b/data/packages.yaml index b2f983b4..9cdc2fdb 100644 --- a/data/packages.yaml +++ b/data/packages.yaml @@ -60,7 +60,7 @@ description: Python library for rich text and beautiful formatting in the terminal - name: Datasette url: https://github.com/simonw/datasette - description: An open source multi-tool for exploring and publishing data + description: An open source multi-tool for exploring and publishing data - language: others package: - subtype: style @@ -95,4 +95,4 @@ description: GitHub Action to build and deploy a Hugo site to a remote repository 🚀 - name: Blog post workflow url: https://github.com/marketplace/actions/blog-post-workflow - description: Show your latest blog posts from any sources or StackOverflow activity or Youtube Videos on your GitHub profile/project readme automatically using the RSS feed + description: Show your latest blog posts from any sources or StackOverflow activity or Youtube Videos on your GitHub profile/project readme automatically using the RSS feed diff --git a/data/webmentions/3d445b40ab2327fe4364596db5f6eedf.json b/data/webmentions/3d445b40ab2327fe4364596db5f6eedf.json index 8faae653..c71c7902 100644 --- a/data/webmentions/3d445b40ab2327fe4364596db5f6eedf.json +++ b/data/webmentions/3d445b40ab2327fe4364596db5f6eedf.json @@ -1 +1 @@ -{"source": [{"type": "entry", "author": {"type": "card", "name": "Andrea Grandi ????", "photo": "https://avatars.webmention.io/files.mastodon.social/b32dc86fff05382c848f283bce646a3084a6312b7a3cc0f27a8da079a7d2d40c.jpg", "url": "https://mastodon.social/@andreagrandi"}, "url": "https://mastodon.social/@fundor333/113907209418985626#favorited-by-299643", "published": null, "wm-received": "2025-01-28T19:59:22Z", "wm-id": 1880921, "wm-source": "https://brid.gy/like/mastodon/@fundor333@mastodon.social/113907209418985626/299643", "wm-target": "https://fundor333.com/photos/2025/brick-and-storm/", "wm-protocol": "webmention", "like-of": "https://fundor333.com/photos/2025/brick-and-storm/", "wm-property": "like-of", "wm-private": false}, {"type": "entry", "author": {"type": "card", "name": "fundor333", "photo": "https://avatars.webmention.io/shiitake.us-east.host.bsky.network/745ae7c92d33ea40ee0a0cc07825d49dcf5f0375c9b77cf4404889a238e66f93.jpg", "url": "https://bsky.app/profile/fundor333.bsky.social"}, "url": "https://bsky.app/profile/did:plc:u7piwonv4s27ysugjaa6im2q/post/3lgszasvubq2r", "published": "2025-01-28T16:51:37+00:00", "wm-received": "2025-01-28T17:48:55Z", "wm-id": 1880902, "wm-source": "https://bsky.brid.gy/convert/web/at://did:plc:u7piwonv4s27ysugjaa6im2q/app.bsky.feed.post/3lgszasvubq2r%23bridgy-fed-create", "wm-target": "https://fundor333.com/photos/2025/brick-and-storm/", "wm-protocol": "webmention", "content": {"html": "Brick and Storm: https://fundor333.com/photos/2025/brick-and-storm/", "text": "Brick and Storm: https://fundor333.com/photos/2025/brick-and-storm/"}, "mention-of": "https://fundor333.com/photos/2025/brick-and-storm/", "wm-property": "mention-of", "wm-private": false}, {"type": "entry", "author": {"type": "card", "name": "fundor333", "photo": "https://avatars.webmention.io/shiitake.us-east.host.bsky.network/745ae7c92d33ea40ee0a0cc07825d49dcf5f0375c9b77cf4404889a238e66f93.jpg", "url": "https://bsky.app/profile/fundor333.bsky.social"}, "url": "https://bsky.app/profile/did:plc:u7piwonv4s27ysugjaa6im2q/post/3lgsytoy6n625", "published": "2025-01-28T16:51:37+00:00", "wm-received": "2025-01-28T17:45:16Z", "wm-id": 1880901, "wm-source": "https://bsky.brid.gy/convert/web/at://did:plc:u7piwonv4s27ysugjaa6im2q/app.bsky.feed.post/3lgsytoy6n625%23bridgy-fed-create", "wm-target": "https://fundor333.com/photos/2025/brick-and-storm/", "wm-protocol": "webmention", "photo": ["https://shiitake.us-east.host.bsky.network/xrpc/com.atproto.sync.getBlob?did=did:plc:u7piwonv4s27ysugjaa6im2q&cid=bafkreibck66w5xlhmxp2iwghsx2syj25vj2s6333qlnm2zyjcqbzi6a3qe"], "content": {"html": "Some brick building before the storm (https://fundor333.com/photos/2025/brick-and-storm/)", "text": "Some brick building before the storm (https://fundor333.com/photos/2025/brick-and-storm/)"}, "mention-of": "https://fundor333.com/photos/2025/brick-and-storm/", "wm-property": "mention-of", "wm-private": false}], "stats": {"like-of": 1, "bookmark-of": 0, "mention-of": 2, "repost-of": 0, "in-reply-to": 0, "comments": [{"content": "Brick and Storm: https://fundor333.com/photos/2025/brick-and-storm/", "link": "https://bsky.brid.gy/convert/web/at://did:plc:u7piwonv4s27ysugjaa6im2q/app.bsky.feed.post/3lgszasvubq2r%23bridgy-fed-create", "author_name": "fundor333", "author_photo": "https://avatars.webmention.io/shiitake.us-east.host.bsky.network/745ae7c92d33ea40ee0a0cc07825d49dcf5f0375c9b77cf4404889a238e66f93.jpg", "author_url": "https://bsky.app/profile/fundor333.bsky.social"}, {"content": "Some brick building before the storm (https://fundor333.com/photos/2025/brick-and-storm/)", "link": "https://bsky.brid.gy/convert/web/at://did:plc:u7piwonv4s27ysugjaa6im2q/app.bsky.feed.post/3lgsytoy6n625%23bridgy-fed-create", "author_name": "fundor333", "author_photo": "https://avatars.webmention.io/shiitake.us-east.host.bsky.network/745ae7c92d33ea40ee0a0cc07825d49dcf5f0375c9b77cf4404889a238e66f93.jpg", "author_url": "https://bsky.app/profile/fundor333.bsky.social"}]}} \ No newline at end of file +{"source": [{"type": "entry", "author": {"type": "card", "name": "fundor333", "photo": "https://avatars.webmention.io/shiitake.us-east.host.bsky.network/745ae7c92d33ea40ee0a0cc07825d49dcf5f0375c9b77cf4404889a238e66f93.jpg", "url": "https://bsky.app/profile/fundor333.bsky.social"}, "url": "https://bsky.app/profile/did:plc:u7piwonv4s27ysugjaa6im2q/post/3lgsytoy6n625", "published": "2025-01-28T16:51:37+00:00", "wm-received": "2025-01-28T17:45:16Z", "wm-id": 1880901, "wm-source": "https://bsky.brid.gy/convert/web/at://did:plc:u7piwonv4s27ysugjaa6im2q/app.bsky.feed.post/3lgsytoy6n625%23bridgy-fed-create", "wm-target": "https://fundor333.com/photos/2025/brick-and-storm/", "wm-protocol": "webmention", "photo": ["https://shiitake.us-east.host.bsky.network/xrpc/com.atproto.sync.getBlob?did=did:plc:u7piwonv4s27ysugjaa6im2q&cid=bafkreibck66w5xlhmxp2iwghsx2syj25vj2s6333qlnm2zyjcqbzi6a3qe"], "content": {"html": "Some brick building before the storm (https://fundor333.com/photos/2025/brick-and-storm/)", "text": "Some brick building before the storm (https://fundor333.com/photos/2025/brick-and-storm/)"}, "mention-of": "https://fundor333.com/photos/2025/brick-and-storm/", "wm-property": "mention-of", "wm-private": false}, {"type": "entry", "author": {"type": "card", "name": "Andrea Grandi ????", "photo": "https://avatars.webmention.io/files.mastodon.social/b32dc86fff05382c848f283bce646a3084a6312b7a3cc0f27a8da079a7d2d40c.jpg", "url": "https://mastodon.social/@andreagrandi"}, "url": "https://mastodon.social/@fundor333/113907209418985626#favorited-by-299643", "published": null, "wm-received": "2025-01-28T19:59:22Z", "wm-id": 1880921, "wm-source": "https://brid.gy/like/mastodon/@fundor333@mastodon.social/113907209418985626/299643", "wm-target": "https://fundor333.com/photos/2025/brick-and-storm/", "wm-protocol": "webmention", "like-of": "https://fundor333.com/photos/2025/brick-and-storm/", "wm-property": "like-of", "wm-private": false}, {"type": "entry", "author": {"type": "card", "name": "fundor333", "photo": "https://avatars.webmention.io/shiitake.us-east.host.bsky.network/745ae7c92d33ea40ee0a0cc07825d49dcf5f0375c9b77cf4404889a238e66f93.jpg", "url": "https://bsky.app/profile/fundor333.bsky.social"}, "url": "https://bsky.app/profile/did:plc:u7piwonv4s27ysugjaa6im2q/post/3lgszasvubq2r", "published": "2025-01-28T16:51:37+00:00", "wm-received": "2025-01-28T17:48:55Z", "wm-id": 1880902, "wm-source": "https://bsky.brid.gy/convert/web/at://did:plc:u7piwonv4s27ysugjaa6im2q/app.bsky.feed.post/3lgszasvubq2r%23bridgy-fed-create", "wm-target": "https://fundor333.com/photos/2025/brick-and-storm/", "wm-protocol": "webmention", "content": {"html": "Brick and Storm: https://fundor333.com/photos/2025/brick-and-storm/", "text": "Brick and Storm: https://fundor333.com/photos/2025/brick-and-storm/"}, "mention-of": "https://fundor333.com/photos/2025/brick-and-storm/", "wm-property": "mention-of", "wm-private": false}], "stats": {"like-of": 1, "bookmark-of": 0, "mention-of": 2, "repost-of": 0, "in-reply-to": 0, "comments": [{"content": "Some brick building before the storm (https://fundor333.com/photos/2025/brick-and-storm/)", "link": "https://bsky.brid.gy/convert/web/at://did:plc:u7piwonv4s27ysugjaa6im2q/app.bsky.feed.post/3lgsytoy6n625%23bridgy-fed-create", "author_name": "fundor333", "author_photo": "https://avatars.webmention.io/shiitake.us-east.host.bsky.network/745ae7c92d33ea40ee0a0cc07825d49dcf5f0375c9b77cf4404889a238e66f93.jpg", "author_url": "https://bsky.app/profile/fundor333.bsky.social"}, {"content": "Brick and Storm: https://fundor333.com/photos/2025/brick-and-storm/", "link": "https://bsky.brid.gy/convert/web/at://did:plc:u7piwonv4s27ysugjaa6im2q/app.bsky.feed.post/3lgszasvubq2r%23bridgy-fed-create", "author_name": "fundor333", "author_photo": "https://avatars.webmention.io/shiitake.us-east.host.bsky.network/745ae7c92d33ea40ee0a0cc07825d49dcf5f0375c9b77cf4404889a238e66f93.jpg", "author_url": "https://bsky.app/profile/fundor333.bsky.social"}]}} \ No newline at end of file diff --git a/data/webmentions/414190aca3b47e49096a23f4cfa63689.json b/data/webmentions/414190aca3b47e49096a23f4cfa63689.json index 296210b6..81bfe6e7 100644 --- a/data/webmentions/414190aca3b47e49096a23f4cfa63689.json +++ b/data/webmentions/414190aca3b47e49096a23f4cfa63689.json @@ -1 +1 @@ -{"source": [{"type": "entry", "author": {"type": "card", "name": "Andrea Grandi ????", "photo": "https://avatars.webmention.io/files.mastodon.social/b32dc86fff05382c848f283bce646a3084a6312b7a3cc0f27a8da079a7d2d40c.jpg", "url": "https://mastodon.social/@andreagrandi"}, "url": "https://mastodon.social/@andreagrandi/113062388975978510", "published": "2024-09-01T12:52:24+00:00", "wm-received": "2024-09-02T00:13:24Z", "wm-id": 1845509, "wm-source": "https://brid.gy/comment/mastodon/@fundor333@mastodon.social/113062281555217401/113062388975978510", "wm-target": "https://fundor333.com/photos/2024/hunting-at-night-in-venice/", "wm-protocol": "webmention", "content": {"html": "

@fundor333 ti piace vincere facile coi soggetti, le luci e l\u2019atmosfera a Venezia eh ????

", "text": "@fundor333 ti piace vincere facile coi soggetti, le luci e l\u2019atmosfera a Venezia eh ????"}, "in-reply-to": "https://fundor333.com/photos/2024/hunting-at-night-in-venice/", "wm-property": "in-reply-to", "wm-private": false}, {"type": "entry", "author": {"type": "card", "name": "Andrea Grandi \ud83e\udd95", "photo": "https://avatars.webmention.io/files.mastodon.social/b32dc86fff05382c848f283bce646a3084a6312b7a3cc0f27a8da079a7d2d40c.jpg", "url": "https://mastodon.social/@andreagrandi"}, "url": "https://mastodon.social/@andreagrandi/113062388975978510", "published": "2024-09-01T12:52:24+00:00", "wm-received": "2024-09-02T00:13:25Z", "wm-id": 1845510, "wm-source": "https://brid.gy/comment/mastodon/@fundor333@mastodon.social/113062281555217401/113062388975978510", "wm-target": "https://fundor333.com/photos/2024/hunting-at-night-in-venice/?amp%3Butm_medium=mastodon", "wm-protocol": "webmention", "content": {"html": "

@fundor333 ti piace vincere facile coi soggetti, le luci e l\u2019atmosfera a Venezia eh \ud83d\ude09

", "text": "@fundor333 ti piace vincere facile coi soggetti, le luci e l\u2019atmosfera a Venezia eh \ud83d\ude09"}, "in-reply-to": "https://fundor333.com/photos/2024/hunting-at-night-in-venice/?amp%3Butm_medium=mastodon", "wm-property": "in-reply-to", "wm-private": false}, {"type": "entry", "author": {"type": "card", "name": "Fundor333", "photo": "https://avatars.webmention.io/files.mastodon.social/36bc58e7595de593f520ba92ea9a8433b6dfde5a76f3f6d7d69755ac29007318.png", "url": "https://mastodon.social/@fundor333"}, "url": "https://mastodon.social/@fundor333/113062392356184443", "published": "2024-09-01T12:53:15+00:00", "wm-received": "2024-09-02T00:13:23Z", "wm-id": 1845508, "wm-source": "https://brid.gy/comment/mastodon/@fundor333@mastodon.social/113062281555217401/113062392356184443", "wm-target": "https://fundor333.com/photos/2024/hunting-at-night-in-venice/", "wm-protocol": "webmention", "content": {"html": "

@andreagrandi yep ed \u00e8 dove faccio la spesa

", "text": "@andreagrandi yep ed \u00e8 dove faccio la spesa"}, "in-reply-to": "https://fundor333.com/photos/2024/hunting-at-night-in-venice/", "wm-property": "in-reply-to", "wm-private": false}, {"type": "entry", "author": {"type": "card", "name": "Fundor333", "photo": "https://avatars.webmention.io/files.mastodon.social/36bc58e7595de593f520ba92ea9a8433b6dfde5a76f3f6d7d69755ac29007318.png", "url": "https://mastodon.social/@fundor333"}, "url": "https://mastodon.social/@fundor333/113062392356184443", "published": "2024-09-01T12:53:15+00:00", "wm-received": "2024-09-02T00:13:26Z", "wm-id": 1845511, "wm-source": "https://brid.gy/comment/mastodon/@fundor333@mastodon.social/113062281555217401/113062392356184443", "wm-target": "https://fundor333.com/photos/2024/hunting-at-night-in-venice/?amp%3Butm_medium=mastodon", "wm-protocol": "webmention", "content": {"html": "

@andreagrandi yep ed \u00e8 dove faccio la spesa

", "text": "@andreagrandi yep ed \u00e8 dove faccio la spesa"}, "in-reply-to": "https://fundor333.com/photos/2024/hunting-at-night-in-venice/?amp%3Butm_medium=mastodon", "wm-property": "in-reply-to", "wm-private": false}], "stats": {"like-of": 0, "bookmark-of": 0, "mention-of": 0, "repost-of": 0, "in-reply-to": 4, "comments": [{"content": "@fundor333 ti piace vincere facile coi soggetti, le luci e l\u2019atmosfera a Venezia eh ????", "link": "https://brid.gy/comment/mastodon/@fundor333@mastodon.social/113062281555217401/113062388975978510", "author_name": "Andrea Grandi ????", "author_photo": "https://avatars.webmention.io/files.mastodon.social/b32dc86fff05382c848f283bce646a3084a6312b7a3cc0f27a8da079a7d2d40c.jpg", "author_url": "https://mastodon.social/@andreagrandi"}, {"content": "@andreagrandi yep ed \u00e8 dove faccio la spesa", "link": "https://brid.gy/comment/mastodon/@fundor333@mastodon.social/113062281555217401/113062392356184443", "author_name": "Fundor333", "author_photo": "https://avatars.webmention.io/files.mastodon.social/36bc58e7595de593f520ba92ea9a8433b6dfde5a76f3f6d7d69755ac29007318.png", "author_url": "https://mastodon.social/@fundor333"}]}} \ No newline at end of file +{"source": [{"type": "entry", "author": {"type": "card", "name": "Andrea Grandi ????", "photo": "https://avatars.webmention.io/files.mastodon.social/b32dc86fff05382c848f283bce646a3084a6312b7a3cc0f27a8da079a7d2d40c.jpg", "url": "https://mastodon.social/@andreagrandi"}, "url": "https://mastodon.social/@andreagrandi/113062388975978510", "published": "2024-09-01T12:52:24+00:00", "wm-received": "2024-09-02T00:13:24Z", "wm-id": 1845509, "wm-source": "https://brid.gy/comment/mastodon/@fundor333@mastodon.social/113062281555217401/113062388975978510", "wm-target": "https://fundor333.com/photos/2024/hunting-at-night-in-venice/", "wm-protocol": "webmention", "content": {"html": "

@fundor333 ti piace vincere facile coi soggetti, le luci e l\u2019atmosfera a Venezia eh ????

", "text": "@fundor333 ti piace vincere facile coi soggetti, le luci e l\u2019atmosfera a Venezia eh ????"}, "in-reply-to": "https://fundor333.com/photos/2024/hunting-at-night-in-venice/", "wm-property": "in-reply-to", "wm-private": false}, {"type": "entry", "author": {"type": "card", "name": "Fundor333", "photo": "https://avatars.webmention.io/files.mastodon.social/36bc58e7595de593f520ba92ea9a8433b6dfde5a76f3f6d7d69755ac29007318.png", "url": "https://mastodon.social/@fundor333"}, "url": "https://mastodon.social/@fundor333/113062392356184443", "published": "2024-09-01T12:53:15+00:00", "wm-received": "2024-09-02T00:13:23Z", "wm-id": 1845508, "wm-source": "https://brid.gy/comment/mastodon/@fundor333@mastodon.social/113062281555217401/113062392356184443", "wm-target": "https://fundor333.com/photos/2024/hunting-at-night-in-venice/", "wm-protocol": "webmention", "content": {"html": "

@andreagrandi yep ed \u00e8 dove faccio la spesa

", "text": "@andreagrandi yep ed \u00e8 dove faccio la spesa"}, "in-reply-to": "https://fundor333.com/photos/2024/hunting-at-night-in-venice/", "wm-property": "in-reply-to", "wm-private": false}, {"type": "entry", "author": {"type": "card", "name": "Fundor333", "photo": "https://avatars.webmention.io/files.mastodon.social/36bc58e7595de593f520ba92ea9a8433b6dfde5a76f3f6d7d69755ac29007318.png", "url": "https://mastodon.social/@fundor333"}, "url": "https://mastodon.social/@fundor333/113062392356184443", "published": "2024-09-01T12:53:15+00:00", "wm-received": "2024-09-02T00:13:26Z", "wm-id": 1845511, "wm-source": "https://brid.gy/comment/mastodon/@fundor333@mastodon.social/113062281555217401/113062392356184443", "wm-target": "https://fundor333.com/photos/2024/hunting-at-night-in-venice/?amp%3Butm_medium=mastodon", "wm-protocol": "webmention", "content": {"html": "

@andreagrandi yep ed \u00e8 dove faccio la spesa

", "text": "@andreagrandi yep ed \u00e8 dove faccio la spesa"}, "in-reply-to": "https://fundor333.com/photos/2024/hunting-at-night-in-venice/?amp%3Butm_medium=mastodon", "wm-property": "in-reply-to", "wm-private": false}, {"type": "entry", "author": {"type": "card", "name": "Andrea Grandi \ud83e\udd95", "photo": "https://avatars.webmention.io/files.mastodon.social/b32dc86fff05382c848f283bce646a3084a6312b7a3cc0f27a8da079a7d2d40c.jpg", "url": "https://mastodon.social/@andreagrandi"}, "url": "https://mastodon.social/@andreagrandi/113062388975978510", "published": "2024-09-01T12:52:24+00:00", "wm-received": "2024-09-02T00:13:25Z", "wm-id": 1845510, "wm-source": "https://brid.gy/comment/mastodon/@fundor333@mastodon.social/113062281555217401/113062388975978510", "wm-target": "https://fundor333.com/photos/2024/hunting-at-night-in-venice/?amp%3Butm_medium=mastodon", "wm-protocol": "webmention", "content": {"html": "

@fundor333 ti piace vincere facile coi soggetti, le luci e l\u2019atmosfera a Venezia eh \ud83d\ude09

", "text": "@fundor333 ti piace vincere facile coi soggetti, le luci e l\u2019atmosfera a Venezia eh \ud83d\ude09"}, "in-reply-to": "https://fundor333.com/photos/2024/hunting-at-night-in-venice/?amp%3Butm_medium=mastodon", "wm-property": "in-reply-to", "wm-private": false}], "stats": {"like-of": 0, "bookmark-of": 0, "mention-of": 0, "repost-of": 0, "in-reply-to": 4, "comments": [{"content": "@fundor333 ti piace vincere facile coi soggetti, le luci e l\u2019atmosfera a Venezia eh ????", "link": "https://brid.gy/comment/mastodon/@fundor333@mastodon.social/113062281555217401/113062388975978510", "author_name": "Andrea Grandi ????", "author_photo": "https://avatars.webmention.io/files.mastodon.social/b32dc86fff05382c848f283bce646a3084a6312b7a3cc0f27a8da079a7d2d40c.jpg", "author_url": "https://mastodon.social/@andreagrandi"}, {"content": "@andreagrandi yep ed \u00e8 dove faccio la spesa", "link": "https://brid.gy/comment/mastodon/@fundor333@mastodon.social/113062281555217401/113062392356184443", "author_name": "Fundor333", "author_photo": "https://avatars.webmention.io/files.mastodon.social/36bc58e7595de593f520ba92ea9a8433b6dfde5a76f3f6d7d69755ac29007318.png", "author_url": "https://mastodon.social/@fundor333"}]}} \ No newline at end of file diff --git a/data/webmentions/5b12020e8f9c83eeb5654121ee1c5413.json b/data/webmentions/5b12020e8f9c83eeb5654121ee1c5413.json index 8e862f4b..a18ae8e9 100644 --- a/data/webmentions/5b12020e8f9c83eeb5654121ee1c5413.json +++ b/data/webmentions/5b12020e8f9c83eeb5654121ee1c5413.json @@ -1 +1 @@ -{"source": [{"type": "entry", "author": {"type": "card", "name": "Michel Murabito", "photo": "https://avatars.webmention.io/pbs.twimg.com/0b84c31cf0b9e33abe8e2bff95dad66665dfd63bc32f7dbaafffc4ac61759cc9.jpg", "url": "https://twitter.com/michelmurabito"}, "url": "https://twitter.com/michelmurabito/status/1583817207246880779", "published": "2022-10-22T13:47:02+00:00", "wm-received": "2022-10-22T15:10:27Z", "wm-id": 1543462, "wm-source": "https://brid.gy/repost/twitter/fundor333/1583801197688811520/1583817207246880779", "wm-target": "https://fundor333.com/social/2022/10/22/1666442277/", "wm-protocol": "webmention", "content": {"text": "@michelmurabito al #DevFestTriveneto che presenta #ronda basato su #opa #DevFest #DevFest2022 (fundor333.com/social/2022/10\u2026)"}, "repost-of": "https://fundor333.com/social/2022/10/22/1666442277/", "wm-property": "repost-of", "wm-private": false}, {"type": "entry", "author": {"type": "card", "name": "Michel Murabito", "photo": "https://avatars.webmention.io/pbs.twimg.com/0b84c31cf0b9e33abe8e2bff95dad66665dfd63bc32f7dbaafffc4ac61759cc9.jpg", "url": "https://twitter.com/michelmurabito"}, "url": "https://twitter.com/fundor333/status/1583801197688811520#favorited-by-51541465", "published": null, "wm-received": "2022-10-22T15:10:27Z", "wm-id": 1543463, "wm-source": "https://brid.gy/like/twitter/fundor333/1583801197688811520/51541465", "wm-target": "https://fundor333.com/social/2022/10/22/1666442277/", "wm-protocol": "webmention", "like-of": "https://fundor333.com/social/2022/10/22/1666442277/", "wm-property": "like-of", "wm-private": false}], "stats": {"like-of": 1, "bookmark-of": 0, "mention-of": 0, "repost-of": 1, "in-reply-to": 0, "comments": [{"content": "@michelmurabito al #DevFestTriveneto che presenta #ronda basato su #opa #DevFest #DevFest2022 (fundor333.com/social/2022/10\u2026)", "link": "https://brid.gy/repost/twitter/fundor333/1583801197688811520/1583817207246880779", "author_name": "Michel Murabito", "author_photo": "https://avatars.webmention.io/pbs.twimg.com/0b84c31cf0b9e33abe8e2bff95dad66665dfd63bc32f7dbaafffc4ac61759cc9.jpg", "author_url": "https://twitter.com/michelmurabito"}]}} \ No newline at end of file +{"source": [{"type": "entry", "author": {"type": "card", "name": "Michel Murabito", "photo": "https://avatars.webmention.io/pbs.twimg.com/0b84c31cf0b9e33abe8e2bff95dad66665dfd63bc32f7dbaafffc4ac61759cc9.jpg", "url": "https://twitter.com/michelmurabito"}, "url": "https://twitter.com/fundor333/status/1583801197688811520#favorited-by-51541465", "published": null, "wm-received": "2022-10-22T15:10:27Z", "wm-id": 1543463, "wm-source": "https://brid.gy/like/twitter/fundor333/1583801197688811520/51541465", "wm-target": "https://fundor333.com/social/2022/10/22/1666442277/", "wm-protocol": "webmention", "like-of": "https://fundor333.com/social/2022/10/22/1666442277/", "wm-property": "like-of", "wm-private": false}, {"type": "entry", "author": {"type": "card", "name": "Michel Murabito", "photo": "https://avatars.webmention.io/pbs.twimg.com/0b84c31cf0b9e33abe8e2bff95dad66665dfd63bc32f7dbaafffc4ac61759cc9.jpg", "url": "https://twitter.com/michelmurabito"}, "url": "https://twitter.com/michelmurabito/status/1583817207246880779", "published": "2022-10-22T13:47:02+00:00", "wm-received": "2022-10-22T15:10:27Z", "wm-id": 1543462, "wm-source": "https://brid.gy/repost/twitter/fundor333/1583801197688811520/1583817207246880779", "wm-target": "https://fundor333.com/social/2022/10/22/1666442277/", "wm-protocol": "webmention", "content": {"text": "@michelmurabito al #DevFestTriveneto che presenta #ronda basato su #opa #DevFest #DevFest2022 (fundor333.com/social/2022/10\u2026)"}, "repost-of": "https://fundor333.com/social/2022/10/22/1666442277/", "wm-property": "repost-of", "wm-private": false}], "stats": {"like-of": 1, "bookmark-of": 0, "mention-of": 0, "repost-of": 1, "in-reply-to": 0, "comments": [{"content": "@michelmurabito al #DevFestTriveneto che presenta #ronda basato su #opa #DevFest #DevFest2022 (fundor333.com/social/2022/10\u2026)", "link": "https://brid.gy/repost/twitter/fundor333/1583801197688811520/1583817207246880779", "author_name": "Michel Murabito", "author_photo": "https://avatars.webmention.io/pbs.twimg.com/0b84c31cf0b9e33abe8e2bff95dad66665dfd63bc32f7dbaafffc4ac61759cc9.jpg", "author_url": "https://twitter.com/michelmurabito"}]}} \ No newline at end of file diff --git a/data/webmentions/6cca6e1ea8d0c46b56d1bca8633f7740.json b/data/webmentions/6cca6e1ea8d0c46b56d1bca8633f7740.json index 5b76cb99..2b97e594 100644 --- a/data/webmentions/6cca6e1ea8d0c46b56d1bca8633f7740.json +++ b/data/webmentions/6cca6e1ea8d0c46b56d1bca8633f7740.json @@ -1 +1 @@ -{"source": [{"type": "entry", "author": {"type": "card", "name": "fundor333", "photo": "https://avatars.webmention.io/shiitake.us-east.host.bsky.network/745ae7c92d33ea40ee0a0cc07825d49dcf5f0375c9b77cf4404889a238e66f93.jpg", "url": "https://bsky.app/profile/fundor333.com"}, "url": "https://bsky.app/profile/did:plc:u7piwonv4s27ysugjaa6im2q/post/3kywmxsskkk2t", "published": "2024-08-05T00:26:48+00:00", "wm-received": "2024-08-05T00:26:52Z", "wm-id": 1841584, "wm-source": "https://bsky.brid.gy/convert/web/at://did:plc:u7piwonv4s27ysugjaa6im2q/app.bsky.feed.post/3kywmxsskkk2t%23bridgy-fed-create", "wm-target": "https://fundor333.com/social/2024/08/05/why-hagoromo-chalk-is-so-expensive--so-expensive--business-insider---youtube/?utm_medium=rss", "wm-protocol": "webmention", "content": {"html": "If you have a good product you will find someone to sell it. If you have the best product the client will come to you\u2026 Even when you are sell chalk (https://fundor333.com/social/2024/08/05/why-hagoromo-chalk-is-so-expensive--so-expensive--business-insider---youtube/?utm_medium=rss)", "text": "If you have a good product you will find someone to sell it. If you have the best product the client will come to you\u2026 Even when you are sell chalk (https://fundor333.com/social/2024/08/05/why-hagoromo-chalk-is-so-expensive--so-expensive--business-insider---youtube/?utm_medium=rss)"}, "mention-of": "https://fundor333.com/social/2024/08/05/why-hagoromo-chalk-is-so-expensive--so-expensive--business-insider---youtube/?utm_medium=rss", "wm-property": "mention-of", "wm-private": false}, {"type": "entry", "author": {"type": "card", "name": "Salva Rivas", "photo": "https://avatars.webmention.io/cdn.bsky.app/51492fc81fc987141a26f2ed91fe3eebeebc02652eba5b078b4bf175e89c0f09.jpg", "url": "https://bsky.app/profile/srivas.bsky.social"}, "url": "https://bsky.app/profile/fundor333.bsky.social/post/3kywmxsskkk2t#liked_by_did:plc:rmighyqfgqo37snbbv46xkkd", "published": null, "wm-received": "2024-08-05T00:57:55Z", "wm-id": 1841585, "wm-source": "https://brid.gy/like/bluesky/did:plc:u7piwonv4s27ysugjaa6im2q/at%253A%252F%252Fdid%253Aplc%253Au7piwonv4s27ysugjaa6im2q%252Fapp.bsky.feed.post%252F3kywmxsskkk2t/did%253Aplc%253Armighyqfgqo37snbbv46xkkd", "wm-target": "https://fundor333.com/social/2024/08/05/why-hagoromo-chalk-is-so-expensive--so-expensive--business-insider---youtube/", "wm-protocol": "webmention", "like-of": "https://fundor333.com/social/2024/08/05/why-hagoromo-chalk-is-so-expensive--so-expensive--business-insider---youtube/", "wm-property": "like-of", "wm-private": false}, {"type": "entry", "author": {"type": "card", "name": "Raya ???? | Vtuber | EN | Fx Twitch", "photo": "https://avatars.webmention.io/cdn.bsky.app/79df3042bff3b88e3d7660dbf661ebcfafe490e3e52e530653039d613fb66e5f.jpg", "url": "https://bsky.app/profile/hi01.bsky.social"}, "url": "https://bsky.app/profile/fundor333.bsky.social/post/3kywmxsskkk2t#liked_by_did:plc:bpphohr6ngb62tc6j4tko2if", "published": null, "wm-received": "2024-08-16T15:15:02Z", "wm-id": 1843408, "wm-source": "https://brid.gy/like/bluesky/did:plc:u7piwonv4s27ysugjaa6im2q/at%253A%252F%252Fdid%253Aplc%253Au7piwonv4s27ysugjaa6im2q%252Fapp.bsky.feed.post%252F3kywmxsskkk2t/did%253Aplc%253Abpphohr6ngb62tc6j4tko2if", "wm-target": "https://fundor333.com/social/2024/08/05/why-hagoromo-chalk-is-so-expensive--so-expensive--business-insider---youtube/", "wm-protocol": "webmention", "like-of": "https://fundor333.com/social/2024/08/05/why-hagoromo-chalk-is-so-expensive--so-expensive--business-insider---youtube/", "wm-property": "like-of", "wm-private": false}, {"type": "entry", "author": {"type": "card", "name": "POP Culture Now", "photo": "https://avatars.webmention.io/cdn.bsky.app/91a77a7c94a2ccf8d4936330590d04a4879ae91018fc0c3f6c74974457f71291.jpg", "url": "https://bsky.app/profile/popculturenow.bsky.social"}, "url": "https://bsky.app/profile/fundor333.bsky.social/post/3kywmxsskkk2t#liked_by_did:plc:l73qmlket35rholtb4bj3uww", "published": null, "wm-received": "2024-08-05T13:25:31Z", "wm-id": 1841623, "wm-source": "https://brid.gy/like/bluesky/did:plc:u7piwonv4s27ysugjaa6im2q/at%253A%252F%252Fdid%253Aplc%253Au7piwonv4s27ysugjaa6im2q%252Fapp.bsky.feed.post%252F3kywmxsskkk2t/did%253Aplc%253Al73qmlket35rholtb4bj3uww", "wm-target": "https://fundor333.com/social/2024/08/05/why-hagoromo-chalk-is-so-expensive--so-expensive--business-insider---youtube/", "wm-protocol": "webmention", "like-of": "https://fundor333.com/social/2024/08/05/why-hagoromo-chalk-is-so-expensive--so-expensive--business-insider---youtube/", "wm-property": "like-of", "wm-private": false}, {"type": "entry", "author": {"type": "card", "name": "\u200e", "photo": "https://avatars.webmention.io/cdn.bsky.app/00e0e7e5fb92568e4cdc1f9da2327d0282eff437e7b31683fe7a114222b7d7c7.jpg", "url": "https://bsky.app/profile/renoviana.dev"}, "url": "https://bsky.app/profile/fundor333.bsky.social/post/3kywmxsskkk2t#liked_by_did:plc:32ejvo3lggl47tlvhzn35td7", "published": null, "wm-received": "2024-08-05T00:57:56Z", "wm-id": 1841586, "wm-source": "https://brid.gy/like/bluesky/did:plc:u7piwonv4s27ysugjaa6im2q/at%253A%252F%252Fdid%253Aplc%253Au7piwonv4s27ysugjaa6im2q%252Fapp.bsky.feed.post%252F3kywmxsskkk2t/did%253Aplc%253A32ejvo3lggl47tlvhzn35td7", "wm-target": "https://fundor333.com/social/2024/08/05/why-hagoromo-chalk-is-so-expensive--so-expensive--business-insider---youtube/", "wm-protocol": "webmention", "like-of": "https://fundor333.com/social/2024/08/05/why-hagoromo-chalk-is-so-expensive--so-expensive--business-insider---youtube/", "wm-property": "like-of", "wm-private": false}, {"type": "entry", "author": {"type": "card", "name": "ac (bluesky verified rude bitch)", "photo": "https://avatars.webmention.io/cdn.bsky.app/bd8d1dc1e85bf90b22324686903e9643c3e167821e7936f888ff2aece940636c.jpg", "url": "https://bsky.app/profile/amateurcrastinator.com"}, "url": "https://bsky.app/profile/fundor333.bsky.social/post/3kywmxsskkk2t#liked_by_did:plc:sbswaj5gkbeumzfvjgyytuqo", "published": null, "wm-received": "2024-08-05T01:40:11Z", "wm-id": 1841587, "wm-source": "https://brid.gy/like/bluesky/did:plc:u7piwonv4s27ysugjaa6im2q/at%253A%252F%252Fdid%253Aplc%253Au7piwonv4s27ysugjaa6im2q%252Fapp.bsky.feed.post%252F3kywmxsskkk2t/did%253Aplc%253Asbswaj5gkbeumzfvjgyytuqo", "wm-target": "https://fundor333.com/social/2024/08/05/why-hagoromo-chalk-is-so-expensive--so-expensive--business-insider---youtube/", "wm-protocol": "webmention", "like-of": "https://fundor333.com/social/2024/08/05/why-hagoromo-chalk-is-so-expensive--so-expensive--business-insider---youtube/", "wm-property": "like-of", "wm-private": false}], "stats": {"like-of": 5, "bookmark-of": 0, "mention-of": 1, "repost-of": 0, "in-reply-to": 0, "comments": [{"content": "If you have a good product you will find someone to sell it. If you have the best product the client will come to you\u2026 Even when you are sell chalk (https://fundor333.com/social/2024/08/05/why-hagoromo-chalk-is-so-expensive--so-expensive--business-insider---youtube/?utm_medium=rss)", "link": "https://bsky.brid.gy/convert/web/at://did:plc:u7piwonv4s27ysugjaa6im2q/app.bsky.feed.post/3kywmxsskkk2t%23bridgy-fed-create", "author_name": "fundor333", "author_photo": "https://avatars.webmention.io/shiitake.us-east.host.bsky.network/745ae7c92d33ea40ee0a0cc07825d49dcf5f0375c9b77cf4404889a238e66f93.jpg", "author_url": "https://bsky.app/profile/fundor333.com"}]}} \ No newline at end of file +{"source": [{"type": "entry", "author": {"type": "card", "name": "Raya ???? | Vtuber | EN | Fx Twitch", "photo": "https://avatars.webmention.io/cdn.bsky.app/79df3042bff3b88e3d7660dbf661ebcfafe490e3e52e530653039d613fb66e5f.jpg", "url": "https://bsky.app/profile/hi01.bsky.social"}, "url": "https://bsky.app/profile/fundor333.bsky.social/post/3kywmxsskkk2t#liked_by_did:plc:bpphohr6ngb62tc6j4tko2if", "published": null, "wm-received": "2024-08-16T15:15:02Z", "wm-id": 1843408, "wm-source": "https://brid.gy/like/bluesky/did:plc:u7piwonv4s27ysugjaa6im2q/at%253A%252F%252Fdid%253Aplc%253Au7piwonv4s27ysugjaa6im2q%252Fapp.bsky.feed.post%252F3kywmxsskkk2t/did%253Aplc%253Abpphohr6ngb62tc6j4tko2if", "wm-target": "https://fundor333.com/social/2024/08/05/why-hagoromo-chalk-is-so-expensive--so-expensive--business-insider---youtube/", "wm-protocol": "webmention", "like-of": "https://fundor333.com/social/2024/08/05/why-hagoromo-chalk-is-so-expensive--so-expensive--business-insider---youtube/", "wm-property": "like-of", "wm-private": false}, {"type": "entry", "author": {"type": "card", "name": "Salva Rivas", "photo": "https://avatars.webmention.io/cdn.bsky.app/51492fc81fc987141a26f2ed91fe3eebeebc02652eba5b078b4bf175e89c0f09.jpg", "url": "https://bsky.app/profile/srivas.bsky.social"}, "url": "https://bsky.app/profile/fundor333.bsky.social/post/3kywmxsskkk2t#liked_by_did:plc:rmighyqfgqo37snbbv46xkkd", "published": null, "wm-received": "2024-08-05T00:57:55Z", "wm-id": 1841585, "wm-source": "https://brid.gy/like/bluesky/did:plc:u7piwonv4s27ysugjaa6im2q/at%253A%252F%252Fdid%253Aplc%253Au7piwonv4s27ysugjaa6im2q%252Fapp.bsky.feed.post%252F3kywmxsskkk2t/did%253Aplc%253Armighyqfgqo37snbbv46xkkd", "wm-target": "https://fundor333.com/social/2024/08/05/why-hagoromo-chalk-is-so-expensive--so-expensive--business-insider---youtube/", "wm-protocol": "webmention", "like-of": "https://fundor333.com/social/2024/08/05/why-hagoromo-chalk-is-so-expensive--so-expensive--business-insider---youtube/", "wm-property": "like-of", "wm-private": false}, {"type": "entry", "author": {"type": "card", "name": "fundor333", "photo": "https://avatars.webmention.io/shiitake.us-east.host.bsky.network/745ae7c92d33ea40ee0a0cc07825d49dcf5f0375c9b77cf4404889a238e66f93.jpg", "url": "https://bsky.app/profile/fundor333.com"}, "url": "https://bsky.app/profile/did:plc:u7piwonv4s27ysugjaa6im2q/post/3kywmxsskkk2t", "published": "2024-08-05T00:26:48+00:00", "wm-received": "2024-08-05T00:26:52Z", "wm-id": 1841584, "wm-source": "https://bsky.brid.gy/convert/web/at://did:plc:u7piwonv4s27ysugjaa6im2q/app.bsky.feed.post/3kywmxsskkk2t%23bridgy-fed-create", "wm-target": "https://fundor333.com/social/2024/08/05/why-hagoromo-chalk-is-so-expensive--so-expensive--business-insider---youtube/?utm_medium=rss", "wm-protocol": "webmention", "content": {"html": "If you have a good product you will find someone to sell it. If you have the best product the client will come to you\u2026 Even when you are sell chalk (https://fundor333.com/social/2024/08/05/why-hagoromo-chalk-is-so-expensive--so-expensive--business-insider---youtube/?utm_medium=rss)", "text": "If you have a good product you will find someone to sell it. If you have the best product the client will come to you\u2026 Even when you are sell chalk (https://fundor333.com/social/2024/08/05/why-hagoromo-chalk-is-so-expensive--so-expensive--business-insider---youtube/?utm_medium=rss)"}, "mention-of": "https://fundor333.com/social/2024/08/05/why-hagoromo-chalk-is-so-expensive--so-expensive--business-insider---youtube/?utm_medium=rss", "wm-property": "mention-of", "wm-private": false}, {"type": "entry", "author": {"type": "card", "name": "POP Culture Now", "photo": "https://avatars.webmention.io/cdn.bsky.app/91a77a7c94a2ccf8d4936330590d04a4879ae91018fc0c3f6c74974457f71291.jpg", "url": "https://bsky.app/profile/popculturenow.bsky.social"}, "url": "https://bsky.app/profile/fundor333.bsky.social/post/3kywmxsskkk2t#liked_by_did:plc:l73qmlket35rholtb4bj3uww", "published": null, "wm-received": "2024-08-05T13:25:31Z", "wm-id": 1841623, "wm-source": "https://brid.gy/like/bluesky/did:plc:u7piwonv4s27ysugjaa6im2q/at%253A%252F%252Fdid%253Aplc%253Au7piwonv4s27ysugjaa6im2q%252Fapp.bsky.feed.post%252F3kywmxsskkk2t/did%253Aplc%253Al73qmlket35rholtb4bj3uww", "wm-target": "https://fundor333.com/social/2024/08/05/why-hagoromo-chalk-is-so-expensive--so-expensive--business-insider---youtube/", "wm-protocol": "webmention", "like-of": "https://fundor333.com/social/2024/08/05/why-hagoromo-chalk-is-so-expensive--so-expensive--business-insider---youtube/", "wm-property": "like-of", "wm-private": false}, {"type": "entry", "author": {"type": "card", "name": "ac (bluesky verified rude bitch)", "photo": "https://avatars.webmention.io/cdn.bsky.app/bd8d1dc1e85bf90b22324686903e9643c3e167821e7936f888ff2aece940636c.jpg", "url": "https://bsky.app/profile/amateurcrastinator.com"}, "url": "https://bsky.app/profile/fundor333.bsky.social/post/3kywmxsskkk2t#liked_by_did:plc:sbswaj5gkbeumzfvjgyytuqo", "published": null, "wm-received": "2024-08-05T01:40:11Z", "wm-id": 1841587, "wm-source": "https://brid.gy/like/bluesky/did:plc:u7piwonv4s27ysugjaa6im2q/at%253A%252F%252Fdid%253Aplc%253Au7piwonv4s27ysugjaa6im2q%252Fapp.bsky.feed.post%252F3kywmxsskkk2t/did%253Aplc%253Asbswaj5gkbeumzfvjgyytuqo", "wm-target": "https://fundor333.com/social/2024/08/05/why-hagoromo-chalk-is-so-expensive--so-expensive--business-insider---youtube/", "wm-protocol": "webmention", "like-of": "https://fundor333.com/social/2024/08/05/why-hagoromo-chalk-is-so-expensive--so-expensive--business-insider---youtube/", "wm-property": "like-of", "wm-private": false}, {"type": "entry", "author": {"type": "card", "name": "\u200e", "photo": "https://avatars.webmention.io/cdn.bsky.app/00e0e7e5fb92568e4cdc1f9da2327d0282eff437e7b31683fe7a114222b7d7c7.jpg", "url": "https://bsky.app/profile/renoviana.dev"}, "url": "https://bsky.app/profile/fundor333.bsky.social/post/3kywmxsskkk2t#liked_by_did:plc:32ejvo3lggl47tlvhzn35td7", "published": null, "wm-received": "2024-08-05T00:57:56Z", "wm-id": 1841586, "wm-source": "https://brid.gy/like/bluesky/did:plc:u7piwonv4s27ysugjaa6im2q/at%253A%252F%252Fdid%253Aplc%253Au7piwonv4s27ysugjaa6im2q%252Fapp.bsky.feed.post%252F3kywmxsskkk2t/did%253Aplc%253A32ejvo3lggl47tlvhzn35td7", "wm-target": "https://fundor333.com/social/2024/08/05/why-hagoromo-chalk-is-so-expensive--so-expensive--business-insider---youtube/", "wm-protocol": "webmention", "like-of": "https://fundor333.com/social/2024/08/05/why-hagoromo-chalk-is-so-expensive--so-expensive--business-insider---youtube/", "wm-property": "like-of", "wm-private": false}], "stats": {"like-of": 5, "bookmark-of": 0, "mention-of": 1, "repost-of": 0, "in-reply-to": 0, "comments": [{"content": "If you have a good product you will find someone to sell it. If you have the best product the client will come to you\u2026 Even when you are sell chalk (https://fundor333.com/social/2024/08/05/why-hagoromo-chalk-is-so-expensive--so-expensive--business-insider---youtube/?utm_medium=rss)", "link": "https://bsky.brid.gy/convert/web/at://did:plc:u7piwonv4s27ysugjaa6im2q/app.bsky.feed.post/3kywmxsskkk2t%23bridgy-fed-create", "author_name": "fundor333", "author_photo": "https://avatars.webmention.io/shiitake.us-east.host.bsky.network/745ae7c92d33ea40ee0a0cc07825d49dcf5f0375c9b77cf4404889a238e66f93.jpg", "author_url": "https://bsky.app/profile/fundor333.com"}]}} \ No newline at end of file diff --git a/data/webmentions/71c47bb8a913deaae9992bd7f6de515b.json b/data/webmentions/71c47bb8a913deaae9992bd7f6de515b.json index 0b710f63..551a4662 100644 --- a/data/webmentions/71c47bb8a913deaae9992bd7f6de515b.json +++ b/data/webmentions/71c47bb8a913deaae9992bd7f6de515b.json @@ -1 +1 @@ -{"source": [{"type": "entry", "author": {"type": "card", "name": "benji", "photo": "https://avatars.webmention.io/benji.dog/98f50ccee2f72b224906440e0a78cc1fa5ea016ae65e5fa0d42ff5000ad29d24.jpg", "url": "https://benji.dog"}, "url": "https://www.benji.dog/articles/git-config/", "published": "2024-11-22T00:00:00", "wm-received": "2024-11-23T05:32:56Z", "wm-id": 1861724, "wm-source": "https://www.benji.dog/articles/git-config/", "wm-target": "https://fundor333.com/post/2021/advance-git-config-and-ssh-config/", "wm-protocol": "webmention", "summary": {"content-type": "text/plain", "value": "This may be overkill, but it works on my machine"}, "content": {"html": "
\n

Note: I've had this post drafted for 3 YEARS!!! It's finally time to publish it.

\n
\n

I like to mess with my dotfiles and every so often, I find out about a new way to do things and I spend more time than I should learning how to use it.

\n

A few years ago I learned about includeIf for including specific files if some condition was met for git. The example that I first saw was doing:

\n
[includeIf \"gitdir:~/code/**\"]\n  path = ~/.config/git/personal\n[includeIf \"gitdir:~/work/**\"]\n  path = ~/.config/git/work\n
\n

So that ~/.config/git/personal is only included for git directories under ~/code and ~/.config/git/work is only included for directories under ~/work. The contents of those included files varies but usually it contains your git identity, signing keys, etc. Here's an example of what that could look like:

\n
[user]\n  name = benji\n  email = benji@work.com\n  signingkey = ~/.ssh/work.id_ed25519.pub\n
\n

That works pretty well but I usually organize all my code in ~/workspace regardless of whether its personal, work-1, work-2, etc. I wanted to be able to configure git depending on where that repo actually lives instead of where the directory is in my machine. Then I found out about hasconfig:remote.*.url:!

\n

This makes it so that I can configure git conditionally if the given remote URL exists for that directory I'm currently working in.

\n

A few examples of what I do is:

\n
[includeIf \"hasconfig:remote.*.url:git@github.com:orgname/**\"]\n  path = ~/.config/git/config-gh-org\n\n[includeIf \"hasconfig:remote.*.url:git@github.com:*/**\"]\n  path = ~/.config/git/config-gh\n\n[includeIf \"hasconfig:remote.*.url:git@gitlab.com:*/**\"]\n  path = ~/.config/git/config-gl\n\n[includeIf \"hasconfig:remote.*.url:git@git.sr.ht:*/**\"]\n  path = ~/.config/git/config-srht\n
\n

Now if I'm in a directory where the remote matches github.com:orgname/** it would use ~/.config/git/config-gh-org, otherwise it uses the general config file for any other GitHub repo.

\n

While that handles git identities, I still need to configure SSH keys separately to be able to pull and push to remotes. The simple version of my ~/.ssh/config looks like this:

\n
Host gitlab.com\nHostname gitlab.com\nUser git\nIdentityFile ~/.ssh/gitlab.id_ed25519\n\nHost github.com\nHostname github.com\nUser git\nIdentityFile ~/.ssh/github.id_ed25519\n
\n

The only problem with this is that in order to use a different IdentityFile for the same Hostname so that I could use a different key for repos under github.com/orgname, I'd have to use a different value for Host. So in my case I would add the following to my ~/.ssh/config:

\n
Host gh-work\nHostname github.com\nUser git\nIdentityFile ~/.ssh/work.id_ed25519\n
\n

Finally, to use that Host when I'm looking for a repo in github.com/orgname, I would add the following to my git config:

\n
[url \"gh-work:orgname\"]\n  insteadOf = git@github.com:orgname\n
\n

So when I clone, pull, or push a repo that's under my work's org account I can do:

\n
git clone git@github.com:orgname/project\n
\n

and insteadOf would replace github.com:orgname with gh-work:orgname so that it uses the right info from my SSH config. It's a neat trick which I saw referenced in this article.

\n

Are there any issues with this approach? Is there a better way to do this? I'm not sure so please let me know as I'd love to learn and I'll update this post accordingly.

\n

References

\n", "text": "Note: I've had this post drafted for 3 YEARS!!! It's finally time to publish it.\n\nI like to mess with my dotfiles and every so often, I find out about a new way to do things and I spend more time than I should learning how to use it.\nA few years ago I learned about includeIf for including specific files if some condition was met for git. The example that I first saw was doing:\n[includeIf \"gitdir:~/code/**\"]\n path = ~/.config/git/personal\n[includeIf \"gitdir:~/work/**\"]\n path = ~/.config/git/work\n\nSo that ~/.config/git/personal is only included for git directories under ~/code and ~/.config/git/work is only included for directories under ~/work. The contents of those included files varies but usually it contains your git identity, signing keys, etc. Here's an example of what that could look like:\n[user]\n name = benji\n email = benji@work.com\n signingkey = ~/.ssh/work.id_ed25519.pub\n\nThat works pretty well but I usually organize all my code in ~/workspace regardless of whether its personal, work-1, work-2, etc. I wanted to be able to configure git depending on where that repo actually lives instead of where the directory is in my machine. Then I found out about hasconfig:remote.*.url:!\nThis makes it so that I can configure git conditionally if the given remote URL exists for that directory I'm currently working in.\nA few examples of what I do is:\n[includeIf \"hasconfig:remote.*.url:git@github.com:orgname/**\"]\n path = ~/.config/git/config-gh-org\n\n[includeIf \"hasconfig:remote.*.url:git@github.com:*/**\"]\n path = ~/.config/git/config-gh\n\n[includeIf \"hasconfig:remote.*.url:git@gitlab.com:*/**\"]\n path = ~/.config/git/config-gl\n\n[includeIf \"hasconfig:remote.*.url:git@git.sr.ht:*/**\"]\n path = ~/.config/git/config-srht\n\nNow if I'm in a directory where the remote matches github.com:orgname/** it would use ~/.config/git/config-gh-org, otherwise it uses the general config file for any other GitHub repo.\nWhile that handles git identities, I still need to configure SSH keys separately to be able to pull and push to remotes. The simple version of my ~/.ssh/config looks like this:\nHost gitlab.com\nHostname gitlab.com\nUser git\nIdentityFile ~/.ssh/gitlab.id_ed25519\n\nHost github.com\nHostname github.com\nUser git\nIdentityFile ~/.ssh/github.id_ed25519\n\nThe only problem with this is that in order to use a different IdentityFile for the same Hostname so that I could use a different key for repos under github.com/orgname, I'd have to use a different value for Host. So in my case I would add the following to my ~/.ssh/config:\nHost gh-work\nHostname github.com\nUser git\nIdentityFile ~/.ssh/work.id_ed25519\n\nFinally, to use that Host when I'm looking for a repo in github.com/orgname, I would add the following to my git config:\n[url \"gh-work:orgname\"]\n insteadOf = git@github.com:orgname\n\nSo when I clone, pull, or push a repo that's under my work's org account I can do:\ngit clone git@github.com:orgname/project\n\nand insteadOf would replace github.com:orgname with gh-work:orgname so that it uses the right info from my SSH config. It's a neat trick which I saw referenced in this article.\nAre there any issues with this approach? Is there a better way to do this? I'm not sure so please let me know as I'd love to learn and I'll update this post accordingly.\nReferences\nhttps://fundor333.com/post/2021/advance-git-config-and-ssh-config/\nhttps://www.kenmuse.com/blog/ssh-and-multiple-git-credentials/#git\nhttps://garrit.xyz/posts/2023-10-13-organizing-multiple-git-identities\nhttps://stevenharman.net/configure-ssh-keys-for-multiple-github-accounts"}, "mention-of": "https://fundor333.com/post/2021/advance-git-config-and-ssh-config/", "wm-property": "mention-of", "wm-private": false, "rels": {"canonical": "https://benji.dog/articles/git-config/"}}, {"type": "entry", "author": {"type": "card", "name": "Jamie Tanna", "photo": "https://avatars.webmention.io/www.jvt.me/f0f487b73880b54411ec067322d1d32edcb4b125853353123e076183d1131acf.png", "url": "https://www.jvt.me"}, "url": "https://www.jvt.me/mf2/2021/12/yupzj/", "published": "2021-12-23T17:02:50", "wm-received": "2021-12-23T17:14:27Z", "wm-id": 1321673, "wm-source": "https://www.jvt.me/mf2/2021/12/yupzj/", "wm-target": "https://fundor333.com/post/2021/advance-git-config-and-ssh-config/", "wm-protocol": "webmention", "like-of": "https://fundor333.com/post/2021/advance-git-config-and-ssh-config/", "wm-property": "like-of", "wm-private": false, "rels": {"canonical": "https://www.jvt.me/mf2/2021/12/yupzj/"}}], "stats": {"like-of": 1, "bookmark-of": 0, "mention-of": 1, "repost-of": 0, "in-reply-to": 0, "comments": [{"content": "Note: I've had this post drafted for 3 YEARS!!! It's finally time to publish it.\n\nI like to mess with my dotfiles and every so often, I find out about a new way to do things and I spend more time than I should learning how to use it.\nA few years ago I learned about includeIf for including specific files if some condition was met for git. The example that I first saw was doing:\n[includeIf \"gitdir:~/code/**\"]\n path = ~/.config/git/personal\n[includeIf \"gitdir:~/work/**\"]\n path = ~/.config/git/work\n\nSo that ~/.config/git/personal is only included for git directories under ~/code and ~/.config/git/work is only included for directories under ~/work. The contents of those included files varies but usually it contains your git identity, signing keys, etc. Here's an example of what that could look like:\n[user]\n name = benji\n email = benji@work.com\n signingkey = ~/.ssh/work.id_ed25519.pub\n\nThat works pretty well but I usually organize all my code in ~/workspace regardless of whether its personal, work-1, work-2, etc. I wanted to be able to configure git depending on where that repo actually lives instead of where the directory is in my machine. Then I found out about hasconfig:remote.*.url:!\nThis makes it so that I can configure git conditionally if the given remote URL exists for that directory I'm currently working in.\nA few examples of what I do is:\n[includeIf \"hasconfig:remote.*.url:git@github.com:orgname/**\"]\n path = ~/.config/git/config-gh-org\n\n[includeIf \"hasconfig:remote.*.url:git@github.com:*/**\"]\n path = ~/.config/git/config-gh\n\n[includeIf \"hasconfig:remote.*.url:git@gitlab.com:*/**\"]\n path = ~/.config/git/config-gl\n\n[includeIf \"hasconfig:remote.*.url:git@git.sr.ht:*/**\"]\n path = ~/.config/git/config-srht\n\nNow if I'm in a directory where the remote matches github.com:orgname/** it would use ~/.config/git/config-gh-org, otherwise it uses the general config file for any other GitHub repo.\nWhile that handles git identities, I still need to configure SSH keys separately to be able to pull and push to remotes. The simple version of my ~/.ssh/config looks like this:\nHost gitlab.com\nHostname gitlab.com\nUser git\nIdentityFile ~/.ssh/gitlab.id_ed25519\n\nHost github.com\nHostname github.com\nUser git\nIdentityFile ~/.ssh/github.id_ed25519\n\nThe only problem with this is that in order to use a different IdentityFile for the same Hostname so that I could use a different key for repos under github.com/orgname, I'd have to use a different value for Host. So in my case I would add the following to my ~/.ssh/config:\nHost gh-work\nHostname github.com\nUser git\nIdentityFile ~/.ssh/work.id_ed25519\n\nFinally, to use that Host when I'm looking for a repo in github.com/orgname, I would add the following to my git config:\n[url \"gh-work:orgname\"]\n insteadOf = git@github.com:orgname\n\nSo when I clone, pull, or push a repo that's under my work's org account I can do:\ngit clone git@github.com:orgname/project\n\nand insteadOf would replace github.com:orgname with gh-work:orgname so that it uses the right info from my SSH config. It's a neat trick which I saw referenced in this article.\nAre there any issues with this approach? Is there a better way to do this? I'm not sure so please let me know as I'd love to learn and I'll update this post accordingly.\nReferences\nhttps://fundor333.com/post/2021/advance-git-config-and-ssh-config/\nhttps://www.kenmuse.com/blog/ssh-and-multiple-git-credentials/#git\nhttps://garrit.xyz/posts/2023-10-13-organizing-multiple-git-identities\nhttps://stevenharman.net/configure-ssh-keys-for-multiple-github-accounts", "link": "https://www.benji.dog/articles/git-config/", "author_name": "benji", "author_photo": "https://avatars.webmention.io/benji.dog/98f50ccee2f72b224906440e0a78cc1fa5ea016ae65e5fa0d42ff5000ad29d24.jpg", "author_url": "https://benji.dog"}]}} \ No newline at end of file +{"source": [{"type": "entry", "author": {"type": "card", "name": "Jamie Tanna", "photo": "https://avatars.webmention.io/www.jvt.me/f0f487b73880b54411ec067322d1d32edcb4b125853353123e076183d1131acf.png", "url": "https://www.jvt.me"}, "url": "https://www.jvt.me/mf2/2021/12/yupzj/", "published": "2021-12-23T17:02:50", "wm-received": "2021-12-23T17:14:27Z", "wm-id": 1321673, "wm-source": "https://www.jvt.me/mf2/2021/12/yupzj/", "wm-target": "https://fundor333.com/post/2021/advance-git-config-and-ssh-config/", "wm-protocol": "webmention", "like-of": "https://fundor333.com/post/2021/advance-git-config-and-ssh-config/", "wm-property": "like-of", "wm-private": false, "rels": {"canonical": "https://www.jvt.me/mf2/2021/12/yupzj/"}}, {"type": "entry", "author": {"type": "card", "name": "benji", "photo": "https://avatars.webmention.io/benji.dog/98f50ccee2f72b224906440e0a78cc1fa5ea016ae65e5fa0d42ff5000ad29d24.jpg", "url": "https://benji.dog"}, "url": "https://www.benji.dog/articles/git-config/", "published": "2024-11-22T00:00:00", "wm-received": "2024-11-23T05:32:56Z", "wm-id": 1861724, "wm-source": "https://www.benji.dog/articles/git-config/", "wm-target": "https://fundor333.com/post/2021/advance-git-config-and-ssh-config/", "wm-protocol": "webmention", "summary": {"content-type": "text/plain", "value": "This may be overkill, but it works on my machine"}, "content": {"html": "
\n

Note: I've had this post drafted for 3 YEARS!!! It's finally time to publish it.

\n
\n

I like to mess with my dotfiles and every so often, I find out about a new way to do things and I spend more time than I should learning how to use it.

\n

A few years ago I learned about includeIf for including specific files if some condition was met for git. The example that I first saw was doing:

\n
[includeIf \"gitdir:~/code/**\"]\n  path = ~/.config/git/personal\n[includeIf \"gitdir:~/work/**\"]\n  path = ~/.config/git/work\n
\n

So that ~/.config/git/personal is only included for git directories under ~/code and ~/.config/git/work is only included for directories under ~/work. The contents of those included files varies but usually it contains your git identity, signing keys, etc. Here's an example of what that could look like:

\n
[user]\n  name = benji\n  email = benji@work.com\n  signingkey = ~/.ssh/work.id_ed25519.pub\n
\n

That works pretty well but I usually organize all my code in ~/workspace regardless of whether its personal, work-1, work-2, etc. I wanted to be able to configure git depending on where that repo actually lives instead of where the directory is in my machine. Then I found out about hasconfig:remote.*.url:!

\n

This makes it so that I can configure git conditionally if the given remote URL exists for that directory I'm currently working in.

\n

A few examples of what I do is:

\n
[includeIf \"hasconfig:remote.*.url:git@github.com:orgname/**\"]\n  path = ~/.config/git/config-gh-org\n\n[includeIf \"hasconfig:remote.*.url:git@github.com:*/**\"]\n  path = ~/.config/git/config-gh\n\n[includeIf \"hasconfig:remote.*.url:git@gitlab.com:*/**\"]\n  path = ~/.config/git/config-gl\n\n[includeIf \"hasconfig:remote.*.url:git@git.sr.ht:*/**\"]\n  path = ~/.config/git/config-srht\n
\n

Now if I'm in a directory where the remote matches github.com:orgname/** it would use ~/.config/git/config-gh-org, otherwise it uses the general config file for any other GitHub repo.

\n

While that handles git identities, I still need to configure SSH keys separately to be able to pull and push to remotes. The simple version of my ~/.ssh/config looks like this:

\n
Host gitlab.com\nHostname gitlab.com\nUser git\nIdentityFile ~/.ssh/gitlab.id_ed25519\n\nHost github.com\nHostname github.com\nUser git\nIdentityFile ~/.ssh/github.id_ed25519\n
\n

The only problem with this is that in order to use a different IdentityFile for the same Hostname so that I could use a different key for repos under github.com/orgname, I'd have to use a different value for Host. So in my case I would add the following to my ~/.ssh/config:

\n
Host gh-work\nHostname github.com\nUser git\nIdentityFile ~/.ssh/work.id_ed25519\n
\n

Finally, to use that Host when I'm looking for a repo in github.com/orgname, I would add the following to my git config:

\n
[url \"gh-work:orgname\"]\n  insteadOf = git@github.com:orgname\n
\n

So when I clone, pull, or push a repo that's under my work's org account I can do:

\n
git clone git@github.com:orgname/project\n
\n

and insteadOf would replace github.com:orgname with gh-work:orgname so that it uses the right info from my SSH config. It's a neat trick which I saw referenced in this article.

\n

Are there any issues with this approach? Is there a better way to do this? I'm not sure so please let me know as I'd love to learn and I'll update this post accordingly.

\n

References

\n", "text": "Note: I've had this post drafted for 3 YEARS!!! It's finally time to publish it.\n\nI like to mess with my dotfiles and every so often, I find out about a new way to do things and I spend more time than I should learning how to use it.\nA few years ago I learned about includeIf for including specific files if some condition was met for git. The example that I first saw was doing:\n[includeIf \"gitdir:~/code/**\"]\n path = ~/.config/git/personal\n[includeIf \"gitdir:~/work/**\"]\n path = ~/.config/git/work\n\nSo that ~/.config/git/personal is only included for git directories under ~/code and ~/.config/git/work is only included for directories under ~/work. The contents of those included files varies but usually it contains your git identity, signing keys, etc. Here's an example of what that could look like:\n[user]\n name = benji\n email = benji@work.com\n signingkey = ~/.ssh/work.id_ed25519.pub\n\nThat works pretty well but I usually organize all my code in ~/workspace regardless of whether its personal, work-1, work-2, etc. I wanted to be able to configure git depending on where that repo actually lives instead of where the directory is in my machine. Then I found out about hasconfig:remote.*.url:!\nThis makes it so that I can configure git conditionally if the given remote URL exists for that directory I'm currently working in.\nA few examples of what I do is:\n[includeIf \"hasconfig:remote.*.url:git@github.com:orgname/**\"]\n path = ~/.config/git/config-gh-org\n\n[includeIf \"hasconfig:remote.*.url:git@github.com:*/**\"]\n path = ~/.config/git/config-gh\n\n[includeIf \"hasconfig:remote.*.url:git@gitlab.com:*/**\"]\n path = ~/.config/git/config-gl\n\n[includeIf \"hasconfig:remote.*.url:git@git.sr.ht:*/**\"]\n path = ~/.config/git/config-srht\n\nNow if I'm in a directory where the remote matches github.com:orgname/** it would use ~/.config/git/config-gh-org, otherwise it uses the general config file for any other GitHub repo.\nWhile that handles git identities, I still need to configure SSH keys separately to be able to pull and push to remotes. The simple version of my ~/.ssh/config looks like this:\nHost gitlab.com\nHostname gitlab.com\nUser git\nIdentityFile ~/.ssh/gitlab.id_ed25519\n\nHost github.com\nHostname github.com\nUser git\nIdentityFile ~/.ssh/github.id_ed25519\n\nThe only problem with this is that in order to use a different IdentityFile for the same Hostname so that I could use a different key for repos under github.com/orgname, I'd have to use a different value for Host. So in my case I would add the following to my ~/.ssh/config:\nHost gh-work\nHostname github.com\nUser git\nIdentityFile ~/.ssh/work.id_ed25519\n\nFinally, to use that Host when I'm looking for a repo in github.com/orgname, I would add the following to my git config:\n[url \"gh-work:orgname\"]\n insteadOf = git@github.com:orgname\n\nSo when I clone, pull, or push a repo that's under my work's org account I can do:\ngit clone git@github.com:orgname/project\n\nand insteadOf would replace github.com:orgname with gh-work:orgname so that it uses the right info from my SSH config. It's a neat trick which I saw referenced in this article.\nAre there any issues with this approach? Is there a better way to do this? I'm not sure so please let me know as I'd love to learn and I'll update this post accordingly.\nReferences\nhttps://fundor333.com/post/2021/advance-git-config-and-ssh-config/\nhttps://www.kenmuse.com/blog/ssh-and-multiple-git-credentials/#git\nhttps://garrit.xyz/posts/2023-10-13-organizing-multiple-git-identities\nhttps://stevenharman.net/configure-ssh-keys-for-multiple-github-accounts"}, "mention-of": "https://fundor333.com/post/2021/advance-git-config-and-ssh-config/", "wm-property": "mention-of", "wm-private": false, "rels": {"canonical": "https://benji.dog/articles/git-config/"}}], "stats": {"like-of": 1, "bookmark-of": 0, "mention-of": 1, "repost-of": 0, "in-reply-to": 0, "comments": [{"content": "Note: I've had this post drafted for 3 YEARS!!! It's finally time to publish it.\n\nI like to mess with my dotfiles and every so often, I find out about a new way to do things and I spend more time than I should learning how to use it.\nA few years ago I learned about includeIf for including specific files if some condition was met for git. The example that I first saw was doing:\n[includeIf \"gitdir:~/code/**\"]\n path = ~/.config/git/personal\n[includeIf \"gitdir:~/work/**\"]\n path = ~/.config/git/work\n\nSo that ~/.config/git/personal is only included for git directories under ~/code and ~/.config/git/work is only included for directories under ~/work. The contents of those included files varies but usually it contains your git identity, signing keys, etc. Here's an example of what that could look like:\n[user]\n name = benji\n email = benji@work.com\n signingkey = ~/.ssh/work.id_ed25519.pub\n\nThat works pretty well but I usually organize all my code in ~/workspace regardless of whether its personal, work-1, work-2, etc. I wanted to be able to configure git depending on where that repo actually lives instead of where the directory is in my machine. Then I found out about hasconfig:remote.*.url:!\nThis makes it so that I can configure git conditionally if the given remote URL exists for that directory I'm currently working in.\nA few examples of what I do is:\n[includeIf \"hasconfig:remote.*.url:git@github.com:orgname/**\"]\n path = ~/.config/git/config-gh-org\n\n[includeIf \"hasconfig:remote.*.url:git@github.com:*/**\"]\n path = ~/.config/git/config-gh\n\n[includeIf \"hasconfig:remote.*.url:git@gitlab.com:*/**\"]\n path = ~/.config/git/config-gl\n\n[includeIf \"hasconfig:remote.*.url:git@git.sr.ht:*/**\"]\n path = ~/.config/git/config-srht\n\nNow if I'm in a directory where the remote matches github.com:orgname/** it would use ~/.config/git/config-gh-org, otherwise it uses the general config file for any other GitHub repo.\nWhile that handles git identities, I still need to configure SSH keys separately to be able to pull and push to remotes. The simple version of my ~/.ssh/config looks like this:\nHost gitlab.com\nHostname gitlab.com\nUser git\nIdentityFile ~/.ssh/gitlab.id_ed25519\n\nHost github.com\nHostname github.com\nUser git\nIdentityFile ~/.ssh/github.id_ed25519\n\nThe only problem with this is that in order to use a different IdentityFile for the same Hostname so that I could use a different key for repos under github.com/orgname, I'd have to use a different value for Host. So in my case I would add the following to my ~/.ssh/config:\nHost gh-work\nHostname github.com\nUser git\nIdentityFile ~/.ssh/work.id_ed25519\n\nFinally, to use that Host when I'm looking for a repo in github.com/orgname, I would add the following to my git config:\n[url \"gh-work:orgname\"]\n insteadOf = git@github.com:orgname\n\nSo when I clone, pull, or push a repo that's under my work's org account I can do:\ngit clone git@github.com:orgname/project\n\nand insteadOf would replace github.com:orgname with gh-work:orgname so that it uses the right info from my SSH config. It's a neat trick which I saw referenced in this article.\nAre there any issues with this approach? Is there a better way to do this? I'm not sure so please let me know as I'd love to learn and I'll update this post accordingly.\nReferences\nhttps://fundor333.com/post/2021/advance-git-config-and-ssh-config/\nhttps://www.kenmuse.com/blog/ssh-and-multiple-git-credentials/#git\nhttps://garrit.xyz/posts/2023-10-13-organizing-multiple-git-identities\nhttps://stevenharman.net/configure-ssh-keys-for-multiple-github-accounts", "link": "https://www.benji.dog/articles/git-config/", "author_name": "benji", "author_photo": "https://avatars.webmention.io/benji.dog/98f50ccee2f72b224906440e0a78cc1fa5ea016ae65e5fa0d42ff5000ad29d24.jpg", "author_url": "https://benji.dog"}]}} \ No newline at end of file diff --git a/data/webmentions/b84affb99f8173b482f1760ec8cc9756.json b/data/webmentions/b84affb99f8173b482f1760ec8cc9756.json index afeaad9e..27457fdc 100644 --- a/data/webmentions/b84affb99f8173b482f1760ec8cc9756.json +++ b/data/webmentions/b84affb99f8173b482f1760ec8cc9756.json @@ -1 +1 @@ -{"source": [{"type": "entry", "author": {"type": "card", "name": "LaemenPang", "photo": "https://avatars.webmention.io/files.mastodon.social/f05260061d91af3ebaa31c17256d6b75b697c03d670e1e295704ec78ca10502e.jpg", "url": "https://mastodon.social/@focusedontheberry"}, "url": "https://mastodon.social/@fundor333/113856768273797658#favorited-by-112349892458455305", "published": null, "wm-received": "2025-01-20T20:03:08Z", "wm-id": 1877825, "wm-source": "https://brid.gy/like/mastodon/@fundor333@mastodon.social/113856768273797658/112349892458455305", "wm-target": "https://fundor333.com/micro/2025/10/this-is-why-you-need-a-domain/", "wm-protocol": "webmention", "like-of": "https://fundor333.com/micro/2025/10/this-is-why-you-need-a-domain/", "wm-property": "like-of", "wm-private": false}, {"type": "entry", "author": {"type": "card", "name": "LaemenPang", "photo": "https://avatars.webmention.io/files.mastodon.social/f05260061d91af3ebaa31c17256d6b75b697c03d670e1e295704ec78ca10502e.jpg", "url": "https://mastodon.social/@focusedontheberry"}, "url": "https://mastodon.social/@fundor333/113856768273797658#reblogged-by-112349892458455305", "published": null, "wm-received": "2025-01-20T19:52:47Z", "wm-id": 1877823, "wm-source": "https://brid.gy/repost/mastodon/@fundor333@mastodon.social/113856768273797658/112349892458455305", "wm-target": "https://fundor333.com/micro/2025/10/this-is-why-you-need-a-domain/", "wm-protocol": "webmention", "repost-of": "https://fundor333.com/micro/2025/10/this-is-why-you-need-a-domain/", "wm-property": "repost-of", "wm-private": false}], "stats": {"like-of": 1, "bookmark-of": 0, "mention-of": 0, "repost-of": 1, "in-reply-to": 0, "comments": []}} \ No newline at end of file +{"source": [{"type": "entry", "author": {"type": "card", "name": "LaemenPang", "photo": "https://avatars.webmention.io/files.mastodon.social/f05260061d91af3ebaa31c17256d6b75b697c03d670e1e295704ec78ca10502e.jpg", "url": "https://mastodon.social/@focusedontheberry"}, "url": "https://mastodon.social/@fundor333/113856768273797658#reblogged-by-112349892458455305", "published": null, "wm-received": "2025-01-20T19:52:47Z", "wm-id": 1877823, "wm-source": "https://brid.gy/repost/mastodon/@fundor333@mastodon.social/113856768273797658/112349892458455305", "wm-target": "https://fundor333.com/micro/2025/10/this-is-why-you-need-a-domain/", "wm-protocol": "webmention", "repost-of": "https://fundor333.com/micro/2025/10/this-is-why-you-need-a-domain/", "wm-property": "repost-of", "wm-private": false}, {"type": "entry", "author": {"type": "card", "name": "LaemenPang", "photo": "https://avatars.webmention.io/files.mastodon.social/f05260061d91af3ebaa31c17256d6b75b697c03d670e1e295704ec78ca10502e.jpg", "url": "https://mastodon.social/@focusedontheberry"}, "url": "https://mastodon.social/@fundor333/113856768273797658#favorited-by-112349892458455305", "published": null, "wm-received": "2025-01-20T20:03:08Z", "wm-id": 1877825, "wm-source": "https://brid.gy/like/mastodon/@fundor333@mastodon.social/113856768273797658/112349892458455305", "wm-target": "https://fundor333.com/micro/2025/10/this-is-why-you-need-a-domain/", "wm-protocol": "webmention", "like-of": "https://fundor333.com/micro/2025/10/this-is-why-you-need-a-domain/", "wm-property": "like-of", "wm-private": false}], "stats": {"like-of": 1, "bookmark-of": 0, "mention-of": 0, "repost-of": 1, "in-reply-to": 0, "comments": []}} \ No newline at end of file diff --git a/data/webmentions/d4e7477dc2e56b5967bba0d005d192fb.json b/data/webmentions/d4e7477dc2e56b5967bba0d005d192fb.json index 75efd03c..60378833 100644 --- a/data/webmentions/d4e7477dc2e56b5967bba0d005d192fb.json +++ b/data/webmentions/d4e7477dc2e56b5967bba0d005d192fb.json @@ -1 +1 @@ -{"source": [{"type": "entry", "author": {"type": "card", "name": "Francesco Maida", "photo": "https://avatars.webmention.io/files.mastodon.social/8875cc3f513aa2c7d4d1d52c172cd79caf48306535b2d2bb0ce9f14bdcabfb0f.jpg", "url": "https://livellosegreto.it/@cesco"}, "url": "https://mastodon.social/@fundor333/110816428174225025#favorited-by-108199951616266001", "published": null, "wm-received": "2023-08-03T08:29:53Z", "wm-id": 1700843, "wm-source": "https://brid.gy/like/mastodon/@fundor333@mastodon.social/110816428174225025/108199951616266001", "wm-target": "https://fundor333.com/social/2023/08/01/rss-zero-isnt-the-path-to-rss-joy--dan-q/?amp%3Butm_source=dlvr.it", "wm-protocol": "webmention", "like-of": "https://fundor333.com/social/2023/08/01/rss-zero-isnt-the-path-to-rss-joy--dan-q/?amp%3Butm_source=dlvr.it", "wm-property": "like-of", "wm-private": false}, {"type": "entry", "author": {"type": "card", "name": "Francesco Maida", "photo": "https://avatars.webmention.io/files.mastodon.social/8875cc3f513aa2c7d4d1d52c172cd79caf48306535b2d2bb0ce9f14bdcabfb0f.jpg", "url": "https://livellosegreto.it/@cesco"}, "url": "https://mastodon.social/@fundor333/110816428174225025#favorited-by-108199951616266001", "published": null, "wm-received": "2023-08-03T08:29:52Z", "wm-id": 1700841, "wm-source": "https://brid.gy/like/mastodon/@fundor333@mastodon.social/110816428174225025/108199951616266001", "wm-target": "https://fundor333.com/social/2023/08/01/rss-zero-isnt-the-path-to-rss-joy--dan-q/", "wm-protocol": "webmention", "like-of": "https://fundor333.com/social/2023/08/01/rss-zero-isnt-the-path-to-rss-joy--dan-q/", "wm-property": "like-of", "wm-private": false}, {"type": "entry", "author": {"type": "card", "name": "Francesco Maida", "photo": "https://avatars.webmention.io/files.mastodon.social/8875cc3f513aa2c7d4d1d52c172cd79caf48306535b2d2bb0ce9f14bdcabfb0f.jpg", "url": "https://livellosegreto.it/@cesco"}, "url": "https://livellosegreto.it/@cesco/110819907094582946", "published": "2023-08-02T11:59:46+00:00", "wm-received": "2023-08-03T08:29:52Z", "wm-id": 1700842, "wm-source": "https://brid.gy/comment/mastodon/@fundor333@mastodon.social/110816428174225025/110819907118442504", "wm-target": "https://fundor333.com/social/2023/08/01/rss-zero-isnt-the-path-to-rss-joy--dan-q/?amp%3Butm_source=dlvr.it", "wm-protocol": "webmention", "content": {"html": "

@fundor333 Anch'io ho questo problema ????

\n\n", "text": "@fundor333 Anch'io ho questo problema \ud83d\ude05"}, "in-reply-to": "https://fundor333.com/social/2023/08/01/rss-zero-isnt-the-path-to-rss-joy--dan-q/?amp%3Butm_source=dlvr.it", "wm-property": "in-reply-to", "wm-private": false}, {"type": "entry", "author": {"type": "card", "name": "Francesco Maida", "photo": "https://avatars.webmention.io/files.mastodon.social/8875cc3f513aa2c7d4d1d52c172cd79caf48306535b2d2bb0ce9f14bdcabfb0f.jpg", "url": "https://livellosegreto.it/@cesco"}, "url": "https://livellosegreto.it/@cesco/110819907094582946", "published": "2023-08-02T11:59:46+00:00", "wm-received": "2023-08-03T08:29:52Z", "wm-id": 1700840, "wm-source": "https://brid.gy/comment/mastodon/@fundor333@mastodon.social/110816428174225025/110819907118442504", "wm-target": "https://fundor333.com/social/2023/08/01/rss-zero-isnt-the-path-to-rss-joy--dan-q/", "wm-protocol": "webmention", "content": {"html": "

@fundor333 Anch'io ho questo problema ????

\n\n", "text": "@fundor333 Anch'io ho questo problema \ud83d\ude05"}, "in-reply-to": "https://fundor333.com/social/2023/08/01/rss-zero-isnt-the-path-to-rss-joy--dan-q/", "wm-property": "in-reply-to", "wm-private": false}, {"type": "entry", "author": {"type": "card", "name": "fundor333", "photo": "https://avatars.webmention.io/shiitake.us-east.host.bsky.network/745ae7c92d33ea40ee0a0cc07825d49dcf5f0375c9b77cf4404889a238e66f93.jpg", "url": "https://bsky.app/profile/fundor333.com"}, "url": "https://bsky.app/profile/did:plc:u7piwonv4s27ysugjaa6im2q/post/3kzealllupy2t", "published": "2024-08-10T10:22:29+00:00", "wm-received": "2024-08-10T10:22:31Z", "wm-id": 1842643, "wm-source": "https://bsky.brid.gy/convert/web/at://did:plc:u7piwonv4s27ysugjaa6im2q/app.bsky.feed.post/3kzealllupy2t%23bridgy-fed-create", "wm-target": "https://fundor333.com/social/2023/08/01/rss-zero-isnt-the-path-to-rss-joy--dan-q/?utm_medium=rss", "wm-protocol": "webmention", "content": {"html": "Do you use your feed reader as your email client? (https://fundor333.com/social/2023/08/01/rss-zero-isnt-the-path-to-rss-joy--dan-q/?utm_medium=rss)", "text": "Do you use your feed reader as your email client? (https://fundor333.com/social/2023/08/01/rss-zero-isnt-the-path-to-rss-joy--dan-q/?utm_medium=rss)"}, "mention-of": "https://fundor333.com/social/2023/08/01/rss-zero-isnt-the-path-to-rss-joy--dan-q/?utm_medium=rss", "wm-property": "mention-of", "wm-private": false}], "stats": {"like-of": 2, "bookmark-of": 0, "mention-of": 1, "repost-of": 0, "in-reply-to": 2, "comments": [{"content": "@fundor333 Anch'io ho questo problema \ud83d\ude05", "link": "https://brid.gy/comment/mastodon/@fundor333@mastodon.social/110816428174225025/110819907118442504", "author_name": "Francesco Maida", "author_photo": "https://avatars.webmention.io/files.mastodon.social/8875cc3f513aa2c7d4d1d52c172cd79caf48306535b2d2bb0ce9f14bdcabfb0f.jpg", "author_url": "https://livellosegreto.it/@cesco"}, {"content": "Do you use your feed reader as your email client? (https://fundor333.com/social/2023/08/01/rss-zero-isnt-the-path-to-rss-joy--dan-q/?utm_medium=rss)", "link": "https://bsky.brid.gy/convert/web/at://did:plc:u7piwonv4s27ysugjaa6im2q/app.bsky.feed.post/3kzealllupy2t%23bridgy-fed-create", "author_name": "fundor333", "author_photo": "https://avatars.webmention.io/shiitake.us-east.host.bsky.network/745ae7c92d33ea40ee0a0cc07825d49dcf5f0375c9b77cf4404889a238e66f93.jpg", "author_url": "https://bsky.app/profile/fundor333.com"}]}} \ No newline at end of file +{"source": [{"type": "entry", "author": {"type": "card", "name": "fundor333", "photo": "https://avatars.webmention.io/shiitake.us-east.host.bsky.network/745ae7c92d33ea40ee0a0cc07825d49dcf5f0375c9b77cf4404889a238e66f93.jpg", "url": "https://bsky.app/profile/fundor333.com"}, "url": "https://bsky.app/profile/did:plc:u7piwonv4s27ysugjaa6im2q/post/3kzealllupy2t", "published": "2024-08-10T10:22:29+00:00", "wm-received": "2024-08-10T10:22:31Z", "wm-id": 1842643, "wm-source": "https://bsky.brid.gy/convert/web/at://did:plc:u7piwonv4s27ysugjaa6im2q/app.bsky.feed.post/3kzealllupy2t%23bridgy-fed-create", "wm-target": "https://fundor333.com/social/2023/08/01/rss-zero-isnt-the-path-to-rss-joy--dan-q/?utm_medium=rss", "wm-protocol": "webmention", "content": {"html": "Do you use your feed reader as your email client? (https://fundor333.com/social/2023/08/01/rss-zero-isnt-the-path-to-rss-joy--dan-q/?utm_medium=rss)", "text": "Do you use your feed reader as your email client? (https://fundor333.com/social/2023/08/01/rss-zero-isnt-the-path-to-rss-joy--dan-q/?utm_medium=rss)"}, "mention-of": "https://fundor333.com/social/2023/08/01/rss-zero-isnt-the-path-to-rss-joy--dan-q/?utm_medium=rss", "wm-property": "mention-of", "wm-private": false}, {"type": "entry", "author": {"type": "card", "name": "Francesco Maida", "photo": "https://avatars.webmention.io/files.mastodon.social/8875cc3f513aa2c7d4d1d52c172cd79caf48306535b2d2bb0ce9f14bdcabfb0f.jpg", "url": "https://livellosegreto.it/@cesco"}, "url": "https://mastodon.social/@fundor333/110816428174225025#favorited-by-108199951616266001", "published": null, "wm-received": "2023-08-03T08:29:53Z", "wm-id": 1700843, "wm-source": "https://brid.gy/like/mastodon/@fundor333@mastodon.social/110816428174225025/108199951616266001", "wm-target": "https://fundor333.com/social/2023/08/01/rss-zero-isnt-the-path-to-rss-joy--dan-q/?amp%3Butm_source=dlvr.it", "wm-protocol": "webmention", "like-of": "https://fundor333.com/social/2023/08/01/rss-zero-isnt-the-path-to-rss-joy--dan-q/?amp%3Butm_source=dlvr.it", "wm-property": "like-of", "wm-private": false}, {"type": "entry", "author": {"type": "card", "name": "Francesco Maida", "photo": "https://avatars.webmention.io/files.mastodon.social/8875cc3f513aa2c7d4d1d52c172cd79caf48306535b2d2bb0ce9f14bdcabfb0f.jpg", "url": "https://livellosegreto.it/@cesco"}, "url": "https://livellosegreto.it/@cesco/110819907094582946", "published": "2023-08-02T11:59:46+00:00", "wm-received": "2023-08-03T08:29:52Z", "wm-id": 1700842, "wm-source": "https://brid.gy/comment/mastodon/@fundor333@mastodon.social/110816428174225025/110819907118442504", "wm-target": "https://fundor333.com/social/2023/08/01/rss-zero-isnt-the-path-to-rss-joy--dan-q/?amp%3Butm_source=dlvr.it", "wm-protocol": "webmention", "content": {"html": "

@fundor333 Anch'io ho questo problema ????

\n\n", "text": "@fundor333 Anch'io ho questo problema \ud83d\ude05"}, "in-reply-to": "https://fundor333.com/social/2023/08/01/rss-zero-isnt-the-path-to-rss-joy--dan-q/?amp%3Butm_source=dlvr.it", "wm-property": "in-reply-to", "wm-private": false}, {"type": "entry", "author": {"type": "card", "name": "Francesco Maida", "photo": "https://avatars.webmention.io/files.mastodon.social/8875cc3f513aa2c7d4d1d52c172cd79caf48306535b2d2bb0ce9f14bdcabfb0f.jpg", "url": "https://livellosegreto.it/@cesco"}, "url": "https://mastodon.social/@fundor333/110816428174225025#favorited-by-108199951616266001", "published": null, "wm-received": "2023-08-03T08:29:52Z", "wm-id": 1700841, "wm-source": "https://brid.gy/like/mastodon/@fundor333@mastodon.social/110816428174225025/108199951616266001", "wm-target": "https://fundor333.com/social/2023/08/01/rss-zero-isnt-the-path-to-rss-joy--dan-q/", "wm-protocol": "webmention", "like-of": "https://fundor333.com/social/2023/08/01/rss-zero-isnt-the-path-to-rss-joy--dan-q/", "wm-property": "like-of", "wm-private": false}, {"type": "entry", "author": {"type": "card", "name": "Francesco Maida", "photo": "https://avatars.webmention.io/files.mastodon.social/8875cc3f513aa2c7d4d1d52c172cd79caf48306535b2d2bb0ce9f14bdcabfb0f.jpg", "url": "https://livellosegreto.it/@cesco"}, "url": "https://livellosegreto.it/@cesco/110819907094582946", "published": "2023-08-02T11:59:46+00:00", "wm-received": "2023-08-03T08:29:52Z", "wm-id": 1700840, "wm-source": "https://brid.gy/comment/mastodon/@fundor333@mastodon.social/110816428174225025/110819907118442504", "wm-target": "https://fundor333.com/social/2023/08/01/rss-zero-isnt-the-path-to-rss-joy--dan-q/", "wm-protocol": "webmention", "content": {"html": "

@fundor333 Anch'io ho questo problema ????

\n\n", "text": "@fundor333 Anch'io ho questo problema \ud83d\ude05"}, "in-reply-to": "https://fundor333.com/social/2023/08/01/rss-zero-isnt-the-path-to-rss-joy--dan-q/", "wm-property": "in-reply-to", "wm-private": false}], "stats": {"like-of": 2, "bookmark-of": 0, "mention-of": 1, "repost-of": 0, "in-reply-to": 2, "comments": [{"content": "Do you use your feed reader as your email client? (https://fundor333.com/social/2023/08/01/rss-zero-isnt-the-path-to-rss-joy--dan-q/?utm_medium=rss)", "link": "https://bsky.brid.gy/convert/web/at://did:plc:u7piwonv4s27ysugjaa6im2q/app.bsky.feed.post/3kzealllupy2t%23bridgy-fed-create", "author_name": "fundor333", "author_photo": "https://avatars.webmention.io/shiitake.us-east.host.bsky.network/745ae7c92d33ea40ee0a0cc07825d49dcf5f0375c9b77cf4404889a238e66f93.jpg", "author_url": "https://bsky.app/profile/fundor333.com"}, {"content": "@fundor333 Anch'io ho questo problema \ud83d\ude05", "link": "https://brid.gy/comment/mastodon/@fundor333@mastodon.social/110816428174225025/110819907118442504", "author_name": "Francesco Maida", "author_photo": "https://avatars.webmention.io/files.mastodon.social/8875cc3f513aa2c7d4d1d52c172cd79caf48306535b2d2bb0ce9f14bdcabfb0f.jpg", "author_url": "https://livellosegreto.it/@cesco"}]}} \ No newline at end of file diff --git a/data/webmentions/f8ea13bcb0d46d78ce947189796e3826.json b/data/webmentions/f8ea13bcb0d46d78ce947189796e3826.json index 096305f7..087fff9a 100644 --- a/data/webmentions/f8ea13bcb0d46d78ce947189796e3826.json +++ b/data/webmentions/f8ea13bcb0d46d78ce947189796e3826.json @@ -1 +1 @@ -{"source": [{"type": "entry", "author": {"type": "card", "name": "Raya ???? | Vtuber | EN | Fx Twitch", "photo": "https://avatars.webmention.io/cdn.bsky.app/79df3042bff3b88e3d7660dbf661ebcfafe490e3e52e530653039d613fb66e5f.jpg", "url": "https://bsky.app/profile/hi01.bsky.social"}, "url": "https://bsky.app/profile/fundor333.bsky.social/post/3kzeuwzfkby2t#liked_by_did:plc:bpphohr6ngb62tc6j4tko2if", "published": null, "wm-received": "2024-08-16T15:15:01Z", "wm-id": 1843407, "wm-source": "https://brid.gy/like/bluesky/did:plc:u7piwonv4s27ysugjaa6im2q/at%253A%252F%252Fdid%253Aplc%253Au7piwonv4s27ysugjaa6im2q%252Fapp.bsky.feed.post%252F3kzeuwzfkby2t/did%253Aplc%253Abpphohr6ngb62tc6j4tko2if", "wm-target": "https://fundor333.com/social/2024/08/10/dont-prefill-config-files/", "wm-protocol": "webmention", "like-of": "https://fundor333.com/social/2024/08/10/dont-prefill-config-files/", "wm-property": "like-of", "wm-private": false}, {"type": "entry", "author": {"type": "card", "name": "fundor333", "photo": "https://avatars.webmention.io/shiitake.us-east.host.bsky.network/745ae7c92d33ea40ee0a0cc07825d49dcf5f0375c9b77cf4404889a238e66f93.jpg", "url": "https://bsky.app/profile/fundor333.com"}, "url": "https://bsky.app/profile/did:plc:u7piwonv4s27ysugjaa6im2q/post/3kzeuwzfkby2t", "published": "2024-08-10T16:26:47+00:00", "wm-received": "2024-08-10T16:26:50Z", "wm-id": 1842721, "wm-source": "https://bsky.brid.gy/convert/web/at://did:plc:u7piwonv4s27ysugjaa6im2q/app.bsky.feed.post/3kzeuwzfkby2t%23bridgy-fed-create", "wm-target": "https://fundor333.com/social/2024/08/10/dont-prefill-config-files/?utm_medium=rss", "wm-protocol": "webmention", "content": {"html": "A short post about how to implement a config file in your app with future in head. It look like it is the git way to the config file (https://fundor333.com/social/2024/08/10/dont-prefill-config-files/?utm_medium=rss)", "text": "A short post about how to implement a config file in your app with future in head. It look like it is the git way to the config file (https://fundor333.com/social/2024/08/10/dont-prefill-config-files/?utm_medium=rss)"}, "mention-of": "https://fundor333.com/social/2024/08/10/dont-prefill-config-files/?utm_medium=rss", "wm-property": "mention-of", "wm-private": false}], "stats": {"like-of": 1, "bookmark-of": 0, "mention-of": 1, "repost-of": 0, "in-reply-to": 0, "comments": [{"content": "A short post about how to implement a config file in your app with future in head. It look like it is the git way to the config file (https://fundor333.com/social/2024/08/10/dont-prefill-config-files/?utm_medium=rss)", "link": "https://bsky.brid.gy/convert/web/at://did:plc:u7piwonv4s27ysugjaa6im2q/app.bsky.feed.post/3kzeuwzfkby2t%23bridgy-fed-create", "author_name": "fundor333", "author_photo": "https://avatars.webmention.io/shiitake.us-east.host.bsky.network/745ae7c92d33ea40ee0a0cc07825d49dcf5f0375c9b77cf4404889a238e66f93.jpg", "author_url": "https://bsky.app/profile/fundor333.com"}]}} \ No newline at end of file +{"source": [{"type": "entry", "author": {"type": "card", "name": "fundor333", "photo": "https://avatars.webmention.io/shiitake.us-east.host.bsky.network/745ae7c92d33ea40ee0a0cc07825d49dcf5f0375c9b77cf4404889a238e66f93.jpg", "url": "https://bsky.app/profile/fundor333.com"}, "url": "https://bsky.app/profile/did:plc:u7piwonv4s27ysugjaa6im2q/post/3kzeuwzfkby2t", "published": "2024-08-10T16:26:47+00:00", "wm-received": "2024-08-10T16:26:50Z", "wm-id": 1842721, "wm-source": "https://bsky.brid.gy/convert/web/at://did:plc:u7piwonv4s27ysugjaa6im2q/app.bsky.feed.post/3kzeuwzfkby2t%23bridgy-fed-create", "wm-target": "https://fundor333.com/social/2024/08/10/dont-prefill-config-files/?utm_medium=rss", "wm-protocol": "webmention", "content": {"html": "A short post about how to implement a config file in your app with future in head. It look like it is the git way to the config file (https://fundor333.com/social/2024/08/10/dont-prefill-config-files/?utm_medium=rss)", "text": "A short post about how to implement a config file in your app with future in head. It look like it is the git way to the config file (https://fundor333.com/social/2024/08/10/dont-prefill-config-files/?utm_medium=rss)"}, "mention-of": "https://fundor333.com/social/2024/08/10/dont-prefill-config-files/?utm_medium=rss", "wm-property": "mention-of", "wm-private": false}, {"type": "entry", "author": {"type": "card", "name": "Raya ???? | Vtuber | EN | Fx Twitch", "photo": "https://avatars.webmention.io/cdn.bsky.app/79df3042bff3b88e3d7660dbf661ebcfafe490e3e52e530653039d613fb66e5f.jpg", "url": "https://bsky.app/profile/hi01.bsky.social"}, "url": "https://bsky.app/profile/fundor333.bsky.social/post/3kzeuwzfkby2t#liked_by_did:plc:bpphohr6ngb62tc6j4tko2if", "published": null, "wm-received": "2024-08-16T15:15:01Z", "wm-id": 1843407, "wm-source": "https://brid.gy/like/bluesky/did:plc:u7piwonv4s27ysugjaa6im2q/at%253A%252F%252Fdid%253Aplc%253Au7piwonv4s27ysugjaa6im2q%252Fapp.bsky.feed.post%252F3kzeuwzfkby2t/did%253Aplc%253Abpphohr6ngb62tc6j4tko2if", "wm-target": "https://fundor333.com/social/2024/08/10/dont-prefill-config-files/", "wm-protocol": "webmention", "like-of": "https://fundor333.com/social/2024/08/10/dont-prefill-config-files/", "wm-property": "like-of", "wm-private": false}], "stats": {"like-of": 1, "bookmark-of": 0, "mention-of": 1, "repost-of": 0, "in-reply-to": 0, "comments": [{"content": "A short post about how to implement a config file in your app with future in head. It look like it is the git way to the config file (https://fundor333.com/social/2024/08/10/dont-prefill-config-files/?utm_medium=rss)", "link": "https://bsky.brid.gy/convert/web/at://did:plc:u7piwonv4s27ysugjaa6im2q/app.bsky.feed.post/3kzeuwzfkby2t%23bridgy-fed-create", "author_name": "fundor333", "author_photo": "https://avatars.webmention.io/shiitake.us-east.host.bsky.network/745ae7c92d33ea40ee0a0cc07825d49dcf5f0375c9b77cf4404889a238e66f93.jpg", "author_url": "https://bsky.app/profile/fundor333.com"}]}} \ No newline at end of file diff --git a/data/webmentions/fdcc21f237c4661d616cb7749bc9c522.json b/data/webmentions/fdcc21f237c4661d616cb7749bc9c522.json index 1126881f..c3b7f2b7 100644 --- a/data/webmentions/fdcc21f237c4661d616cb7749bc9c522.json +++ b/data/webmentions/fdcc21f237c4661d616cb7749bc9c522.json @@ -1 +1 @@ -{"source": [{"type": "entry", "author": {"type": "card", "name": "Juna Salviati", "photo": "https://avatars.webmention.io/pbs.twimg.com/db009297897afff07f3d2f4e2b0975db90fc93750fb726d947439bff65268c71.jpg", "url": "https://twitter.com/1littleendian"}, "url": "https://twitter.com/1littleendian/status/1571418211077263360", "published": "2022-09-18T08:37:51+00:00", "wm-received": "2022-09-18T10:17:19Z", "wm-id": 1521960, "wm-source": "https://brid.gy/comment/twitter/fundor333/1571209821579317249/1571418211077263360", "wm-target": "https://fundor333.com/post/2022/github-copilot-write-my-post/", "wm-protocol": "webmention", "content": {"html": "<Kubrick intensifies>\n\n", "text": ""}, "in-reply-to": "https://fundor333.com/post/2022/github-copilot-write-my-post/", "wm-property": "in-reply-to", "wm-private": false}, {"type": "entry", "author": {"type": "card", "name": "chringel.dev", "photo": "https://avatars.webmention.io/pbs.twimg.com/fe9de013c66a0cf94194afef099d4a6d11de39de0714f731f25094a68f0a467f.png", "url": "https://twitter.com/DeEgge"}, "url": "https://twitter.com/fundor333/status/1571209821579317249#favorited-by-367205669", "published": null, "wm-received": "2022-09-18T11:00:04Z", "wm-id": 1521995, "wm-source": "https://brid.gy/like/twitter/fundor333/1571209821579317249/367205669", "wm-target": "https://fundor333.com/post/2022/github-copilot-write-my-post/", "wm-protocol": "webmention", "like-of": "https://fundor333.com/post/2022/github-copilot-write-my-post/", "wm-property": "like-of", "wm-private": false}, {"type": "entry", "author": {"type": "card", "name": "Juna Salviati", "photo": "https://avatars.webmention.io/pbs.twimg.com/db009297897afff07f3d2f4e2b0975db90fc93750fb726d947439bff65268c71.jpg", "url": "https://twitter.com/1littleendian"}, "url": "https://twitter.com/fundor333/status/1571209821579317249#favorited-by-777766650", "published": null, "wm-received": "2022-09-18T10:17:19Z", "wm-id": 1521961, "wm-source": "https://brid.gy/like/twitter/fundor333/1571209821579317249/777766650", "wm-target": "https://fundor333.com/post/2022/github-copilot-write-my-post/", "wm-protocol": "webmention", "like-of": "https://fundor333.com/post/2022/github-copilot-write-my-post/", "wm-property": "like-of", "wm-private": false}, {"type": "entry", "author": {"type": "card", "name": "\ud83c\uddfa\ud83c\udde6\ud83c\udff3\ufe0f\u200d\ud83c\udf08\ud83d\udc0dFundor 333\ud83d\udc33\ud83d\udc68\u200d\ud83d\udcbb", "photo": "https://avatars.webmention.io/pbs.twimg.com/c3d085f0266cb157220a9e6312c26ccaeb56e5c4d2d501cf0d6426f05c36890e.jpg", "url": "https://twitter.com/fundor333"}, "url": "https://twitter.com/fundor333/status/1571761030824337409", "published": "2022-09-19T07:20:06+00:00", "wm-received": "2022-09-19T07:30:05Z", "wm-id": 1522347, "wm-source": "https://brid.gy/comment/twitter/fundor333/1571209821579317249/1571761030824337409", "wm-target": "https://fundor333.com/post/2022/github-copilot-write-my-post/", "wm-protocol": "webmention", "photo": ["https://pbs.twimg.com/media/FdAEUv1X0AEHAxf.jpg"], "in-reply-to": "https://fundor333.com/post/2022/github-copilot-write-my-post/", "wm-property": "in-reply-to", "wm-private": false}], "stats": {"like-of": 2, "bookmark-of": 0, "mention-of": 0, "repost-of": 0, "in-reply-to": 2, "comments": [{"content": "", "link": "https://brid.gy/comment/twitter/fundor333/1571209821579317249/1571418211077263360", "author_name": "Juna Salviati", "author_photo": "https://avatars.webmention.io/pbs.twimg.com/db009297897afff07f3d2f4e2b0975db90fc93750fb726d947439bff65268c71.jpg", "author_url": "https://twitter.com/1littleendian"}]}} \ No newline at end of file +{"source": [{"type": "entry", "author": {"type": "card", "name": "Juna Salviati", "photo": "https://avatars.webmention.io/pbs.twimg.com/db009297897afff07f3d2f4e2b0975db90fc93750fb726d947439bff65268c71.jpg", "url": "https://twitter.com/1littleendian"}, "url": "https://twitter.com/fundor333/status/1571209821579317249#favorited-by-777766650", "published": null, "wm-received": "2022-09-18T10:17:19Z", "wm-id": 1521961, "wm-source": "https://brid.gy/like/twitter/fundor333/1571209821579317249/777766650", "wm-target": "https://fundor333.com/post/2022/github-copilot-write-my-post/", "wm-protocol": "webmention", "like-of": "https://fundor333.com/post/2022/github-copilot-write-my-post/", "wm-property": "like-of", "wm-private": false}, {"type": "entry", "author": {"type": "card", "name": "Juna Salviati", "photo": "https://avatars.webmention.io/pbs.twimg.com/db009297897afff07f3d2f4e2b0975db90fc93750fb726d947439bff65268c71.jpg", "url": "https://twitter.com/1littleendian"}, "url": "https://twitter.com/1littleendian/status/1571418211077263360", "published": "2022-09-18T08:37:51+00:00", "wm-received": "2022-09-18T10:17:19Z", "wm-id": 1521960, "wm-source": "https://brid.gy/comment/twitter/fundor333/1571209821579317249/1571418211077263360", "wm-target": "https://fundor333.com/post/2022/github-copilot-write-my-post/", "wm-protocol": "webmention", "content": {"html": "<Kubrick intensifies>\n\n", "text": ""}, "in-reply-to": "https://fundor333.com/post/2022/github-copilot-write-my-post/", "wm-property": "in-reply-to", "wm-private": false}, {"type": "entry", "author": {"type": "card", "name": "chringel.dev", "photo": "https://avatars.webmention.io/pbs.twimg.com/fe9de013c66a0cf94194afef099d4a6d11de39de0714f731f25094a68f0a467f.png", "url": "https://twitter.com/DeEgge"}, "url": "https://twitter.com/fundor333/status/1571209821579317249#favorited-by-367205669", "published": null, "wm-received": "2022-09-18T11:00:04Z", "wm-id": 1521995, "wm-source": "https://brid.gy/like/twitter/fundor333/1571209821579317249/367205669", "wm-target": "https://fundor333.com/post/2022/github-copilot-write-my-post/", "wm-protocol": "webmention", "like-of": "https://fundor333.com/post/2022/github-copilot-write-my-post/", "wm-property": "like-of", "wm-private": false}, {"type": "entry", "author": {"type": "card", "name": "\ud83c\uddfa\ud83c\udde6\ud83c\udff3\ufe0f\u200d\ud83c\udf08\ud83d\udc0dFundor 333\ud83d\udc33\ud83d\udc68\u200d\ud83d\udcbb", "photo": "https://avatars.webmention.io/pbs.twimg.com/c3d085f0266cb157220a9e6312c26ccaeb56e5c4d2d501cf0d6426f05c36890e.jpg", "url": "https://twitter.com/fundor333"}, "url": "https://twitter.com/fundor333/status/1571761030824337409", "published": "2022-09-19T07:20:06+00:00", "wm-received": "2022-09-19T07:30:05Z", "wm-id": 1522347, "wm-source": "https://brid.gy/comment/twitter/fundor333/1571209821579317249/1571761030824337409", "wm-target": "https://fundor333.com/post/2022/github-copilot-write-my-post/", "wm-protocol": "webmention", "photo": ["https://pbs.twimg.com/media/FdAEUv1X0AEHAxf.jpg"], "in-reply-to": "https://fundor333.com/post/2022/github-copilot-write-my-post/", "wm-property": "in-reply-to", "wm-private": false}], "stats": {"like-of": 2, "bookmark-of": 0, "mention-of": 0, "repost-of": 0, "in-reply-to": 2, "comments": [{"content": "", "link": "https://brid.gy/comment/twitter/fundor333/1571209821579317249/1571418211077263360", "author_name": "Juna Salviati", "author_photo": "https://avatars.webmention.io/pbs.twimg.com/db009297897afff07f3d2f4e2b0975db90fc93750fb726d947439bff65268c71.jpg", "author_url": "https://twitter.com/1littleendian"}]}} \ No newline at end of file diff --git a/layouts/_default/rss.xml b/layouts/_default/rss.xml index b31d9cd8..0b5f207e 100644 --- a/layouts/_default/rss.xml +++ b/layouts/_default/rss.xml @@ -14,7 +14,7 @@ {{- $rssFeedDescription := .Site.Params.rssFeedDescription | default "summary" -}} {{- printf "" | safeHTML }} {{- printf "" | safeHTML }} - {{ if eq .Title .Site.Title }}{{ .Site.Title }}{{ else }}{{ with .Title }}{{.}} on {{ end }}{{ .Site.Title }}{{ end }} diff --git a/static/Characters/001.png b/static/Characters/001.png index 429a76da..9e7fd5ce 100755 Binary files a/static/Characters/001.png and b/static/Characters/001.png differ diff --git a/static/Characters/002.png b/static/Characters/002.png index 62a8435a..058fa3ec 100755 Binary files a/static/Characters/002.png and b/static/Characters/002.png differ diff --git a/static/Characters/003.png b/static/Characters/003.png index 0bd5edde..34c1154c 100755 Binary files a/static/Characters/003.png and b/static/Characters/003.png differ diff --git a/static/Characters/004.png b/static/Characters/004.png index 1aef6a6f..58df87dc 100755 Binary files a/static/Characters/004.png and b/static/Characters/004.png differ diff --git a/static/Characters/005.png b/static/Characters/005.png index 849f4cb5..bf8f2d98 100755 Binary files a/static/Characters/005.png and b/static/Characters/005.png differ diff --git a/static/Characters/006.png b/static/Characters/006.png index 8504f904..6530f08f 100755 Binary files a/static/Characters/006.png and b/static/Characters/006.png differ diff --git a/static/Characters/007.png b/static/Characters/007.png index 518f7c29..dc5dadda 100755 Binary files a/static/Characters/007.png and b/static/Characters/007.png differ diff --git a/static/Characters/008.png b/static/Characters/008.png index 5ffb4b48..31d30f56 100755 Binary files a/static/Characters/008.png and b/static/Characters/008.png differ diff --git a/static/Characters/009.png b/static/Characters/009.png index 88f3ec52..82c0ca77 100755 Binary files a/static/Characters/009.png and b/static/Characters/009.png differ diff --git a/static/Characters/010.png b/static/Characters/010.png index 385a6c37..88f3ec52 100755 Binary files a/static/Characters/010.png and b/static/Characters/010.png differ diff --git a/static/Characters/011.png b/static/Characters/011.png index 18e2076c..385a6c37 100755 Binary files a/static/Characters/011.png and b/static/Characters/011.png differ diff --git a/static/Characters/012.png b/static/Characters/012.png index edad787e..8504f904 100755 Binary files a/static/Characters/012.png and b/static/Characters/012.png differ diff --git a/static/Characters/013.png b/static/Characters/013.png index dc5dadda..86996c43 100755 Binary files a/static/Characters/013.png and b/static/Characters/013.png differ diff --git a/static/Characters/014.png b/static/Characters/014.png index 44d6a206..2fb118cc 100755 Binary files a/static/Characters/014.png and b/static/Characters/014.png differ diff --git a/static/Characters/015.png b/static/Characters/015.png index 0be2519f..0bd5edde 100755 Binary files a/static/Characters/015.png and b/static/Characters/015.png differ diff --git a/static/Characters/016.png b/static/Characters/016.png index fe5b3677..6c735293 100755 Binary files a/static/Characters/016.png and b/static/Characters/016.png differ diff --git a/static/Characters/017.png b/static/Characters/017.png index 53126291..0dc6e3c1 100755 Binary files a/static/Characters/017.png and b/static/Characters/017.png differ diff --git a/static/Characters/018.png b/static/Characters/018.png index 5125c489..f2b84c8a 100755 Binary files a/static/Characters/018.png and b/static/Characters/018.png differ diff --git a/static/Characters/019.png b/static/Characters/019.png index 9a564084..5ffb4b48 100755 Binary files a/static/Characters/019.png and b/static/Characters/019.png differ diff --git a/static/Characters/020.png b/static/Characters/020.png index 9e7fd5ce..23058e6a 100755 Binary files a/static/Characters/020.png and b/static/Characters/020.png differ diff --git a/static/Characters/021.png b/static/Characters/021.png index b3fc7597..fe5b3677 100755 Binary files a/static/Characters/021.png and b/static/Characters/021.png differ diff --git a/static/Characters/022.png b/static/Characters/022.png index 402bd7d6..b3fc7597 100755 Binary files a/static/Characters/022.png and b/static/Characters/022.png differ diff --git a/static/Characters/023.png b/static/Characters/023.png index de66d294..5125c489 100755 Binary files a/static/Characters/023.png and b/static/Characters/023.png differ diff --git a/static/Characters/024.png b/static/Characters/024.png index cc45e2ea..b2e4ab02 100755 Binary files a/static/Characters/024.png and b/static/Characters/024.png differ diff --git a/static/Characters/025.png b/static/Characters/025.png index 6c735293..a757b6dc 100755 Binary files a/static/Characters/025.png and b/static/Characters/025.png differ diff --git a/static/Characters/026.png b/static/Characters/026.png index 58f6d3c6..f6082100 100755 Binary files a/static/Characters/026.png and b/static/Characters/026.png differ diff --git a/static/Characters/027.png b/static/Characters/027.png index 7061a734..0be2519f 100755 Binary files a/static/Characters/027.png and b/static/Characters/027.png differ diff --git a/static/Characters/028.png b/static/Characters/028.png index bff37397..487dd5b8 100755 Binary files a/static/Characters/028.png and b/static/Characters/028.png differ diff --git a/static/Characters/029.png b/static/Characters/029.png index 60d80cec..7061a734 100755 Binary files a/static/Characters/029.png and b/static/Characters/029.png differ diff --git a/static/Characters/030.png b/static/Characters/030.png index 44f3ca17..3494591d 100755 Binary files a/static/Characters/030.png and b/static/Characters/030.png differ diff --git a/static/Characters/031.png b/static/Characters/031.png index c562bce5..402bd7d6 100755 Binary files a/static/Characters/031.png and b/static/Characters/031.png differ diff --git a/static/Characters/032.png b/static/Characters/032.png index d86d77bf..c5a6e5fd 100755 Binary files a/static/Characters/032.png and b/static/Characters/032.png differ diff --git a/static/Characters/033.png b/static/Characters/033.png index 6530f08f..518f7c29 100755 Binary files a/static/Characters/033.png and b/static/Characters/033.png differ diff --git a/static/Characters/034.png b/static/Characters/034.png index 45246bf0..7e722744 100755 Binary files a/static/Characters/034.png and b/static/Characters/034.png differ diff --git a/static/Characters/035.png b/static/Characters/035.png index 31cc50e8..74a4836f 100755 Binary files a/static/Characters/035.png and b/static/Characters/035.png differ diff --git a/static/Characters/036.png b/static/Characters/036.png index e2d95a4c..62a8435a 100755 Binary files a/static/Characters/036.png and b/static/Characters/036.png differ diff --git a/static/Characters/037.png b/static/Characters/037.png index 487dd5b8..f2158bfa 100755 Binary files a/static/Characters/037.png and b/static/Characters/037.png differ diff --git a/static/Characters/038.png b/static/Characters/038.png index 9bc703aa..cc45e2ea 100755 Binary files a/static/Characters/038.png and b/static/Characters/038.png differ diff --git a/static/Characters/039.png b/static/Characters/039.png index 0dc6e3c1..e2d95a4c 100755 Binary files a/static/Characters/039.png and b/static/Characters/039.png differ diff --git a/static/Characters/040.png b/static/Characters/040.png index f2b84c8a..f0d9c192 100755 Binary files a/static/Characters/040.png and b/static/Characters/040.png differ diff --git a/static/Characters/041.png b/static/Characters/041.png index b2e4ab02..58f6d3c6 100755 Binary files a/static/Characters/041.png and b/static/Characters/041.png differ diff --git a/static/Characters/042.png b/static/Characters/042.png index 23058e6a..26b6925c 100755 Binary files a/static/Characters/042.png and b/static/Characters/042.png differ diff --git a/static/Characters/043.png b/static/Characters/043.png index 5a3005f4..60d80cec 100755 Binary files a/static/Characters/043.png and b/static/Characters/043.png differ diff --git a/static/Characters/044.png b/static/Characters/044.png index 31d30f56..9bc703aa 100755 Binary files a/static/Characters/044.png and b/static/Characters/044.png differ diff --git a/static/Characters/045.png b/static/Characters/045.png index 74a4836f..1b532ec3 100755 Binary files a/static/Characters/045.png and b/static/Characters/045.png differ diff --git a/static/Characters/046.png b/static/Characters/046.png index 82c0ca77..991f58fe 100755 Binary files a/static/Characters/046.png and b/static/Characters/046.png differ diff --git a/static/Characters/047.png b/static/Characters/047.png index 3494591d..44f3ca17 100755 Binary files a/static/Characters/047.png and b/static/Characters/047.png differ diff --git a/static/Characters/048.png b/static/Characters/048.png index f0d9c192..667e2c34 100755 Binary files a/static/Characters/048.png and b/static/Characters/048.png differ diff --git a/static/Characters/049.png b/static/Characters/049.png index aea9512c..1aef6a6f 100755 Binary files a/static/Characters/049.png and b/static/Characters/049.png differ diff --git a/static/Characters/050.png b/static/Characters/050.png index 991f58fe..de66d294 100755 Binary files a/static/Characters/050.png and b/static/Characters/050.png differ diff --git a/static/Characters/051.png b/static/Characters/051.png index 2fb118cc..849f4cb5 100755 Binary files a/static/Characters/051.png and b/static/Characters/051.png differ diff --git a/static/Characters/052.png b/static/Characters/052.png index f2158bfa..bff37397 100755 Binary files a/static/Characters/052.png and b/static/Characters/052.png differ diff --git a/static/Characters/053.png b/static/Characters/053.png index c5a6e5fd..9a564084 100755 Binary files a/static/Characters/053.png and b/static/Characters/053.png differ diff --git a/static/Characters/054.png b/static/Characters/054.png index 34c1154c..18e2076c 100755 Binary files a/static/Characters/054.png and b/static/Characters/054.png differ diff --git a/static/Characters/055.png b/static/Characters/055.png index 1b532ec3..429a76da 100755 Binary files a/static/Characters/055.png and b/static/Characters/055.png differ diff --git a/static/Characters/056.png b/static/Characters/056.png index bf8f2d98..31cc50e8 100755 Binary files a/static/Characters/056.png and b/static/Characters/056.png differ diff --git a/static/Characters/057.png b/static/Characters/057.png index 58df87dc..d86d77bf 100755 Binary files a/static/Characters/057.png and b/static/Characters/057.png differ diff --git a/static/Characters/058.png b/static/Characters/058.png index 7e722744..e8f8f4d9 100755 Binary files a/static/Characters/058.png and b/static/Characters/058.png differ diff --git a/static/Characters/059.png b/static/Characters/059.png index 058fa3ec..aea9512c 100755 Binary files a/static/Characters/059.png and b/static/Characters/059.png differ diff --git a/static/Characters/060.png b/static/Characters/060.png index e8f8f4d9..53126291 100755 Binary files a/static/Characters/060.png and b/static/Characters/060.png differ diff --git a/static/Characters/061.png b/static/Characters/061.png index 528f941a..66844fb8 100644 Binary files a/static/Characters/061.png and b/static/Characters/061.png differ diff --git a/static/Characters/062.png b/static/Characters/062.png index d29251db..f405ede6 100644 Binary files a/static/Characters/062.png and b/static/Characters/062.png differ diff --git a/static/Characters/063.png b/static/Characters/063.png index a757b6dc..c562bce5 100644 Binary files a/static/Characters/063.png and b/static/Characters/063.png differ diff --git a/static/Characters/064.png b/static/Characters/064.png index f6082100..edad787e 100644 Binary files a/static/Characters/064.png and b/static/Characters/064.png differ diff --git a/static/Characters/065.png b/static/Characters/065.png index 667e2c34..528f941a 100644 Binary files a/static/Characters/065.png and b/static/Characters/065.png differ diff --git a/static/Characters/066.png b/static/Characters/066.png index 26b6925c..5a3005f4 100644 Binary files a/static/Characters/066.png and b/static/Characters/066.png differ diff --git a/static/Characters/067.png b/static/Characters/067.png index 66844fb8..d29251db 100644 Binary files a/static/Characters/067.png and b/static/Characters/067.png differ diff --git a/static/Characters/068.png b/static/Characters/068.png index 86996c43..45246bf0 100644 Binary files a/static/Characters/068.png and b/static/Characters/068.png differ diff --git a/static/Characters/069.png b/static/Characters/069.png index f405ede6..44d6a206 100644 Binary files a/static/Characters/069.png and b/static/Characters/069.png differ diff --git a/static/rss.xsl b/static/rss.xsl index e849463d..6d74d1f9 100644 --- a/static/rss.xsl +++ b/static/rss.xsl @@ -8,7 +8,7 @@ - +