From aa334ce37c95a2d760da4ddca94229bc01d65e73 Mon Sep 17 00:00:00 2001 From: Seth Cottle Date: Tue, 23 May 2023 20:55:01 -0400 Subject: [PATCH 01/90] Update README.md Updates Vercel deploy link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5e3a05ff..1b7420bd 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ No need for gulp, npm, or anything else to make LittleLink work—it uses the ba [![Deploy to Netlify](https://cdn.cottle.cloud/littlelink/button-deploy-netlify.svg)](https://app.netlify.com/start/deploy?repository=https://github.com/sethcottle/littlelink) -[![Deploy to Vercel](https://cdn.cottle.cloud/littlelink/button-deploy-vercel.svg)](https://vercel.com/new/git/external?repository-url=https%3A%2F%2Fgithub.com%2Fsethcottle%2Flittlelink&project-name=littlelink&repository-name=littlelink&demo-title=LittleLink%20Demo&demo-description=Imported%20from%20GitHub.) +[![Deploy to Vercel](https://cdn.cottle.cloud/littlelink/button-deploy-vercel.svg)](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Fsethcottle%2Flittlelink&project-name=littlelink&repository-name=littlelink) [![Deploy to Amplify](https://cdn.cottle.cloud/littlelink/button-deploy-amplify.svg)](https://console.aws.amazon.com/amplify/home#/deploy?repo=https://github.com/sethcottle/littlelink) From 8eaa45c2708d827ef12fa74dc9525b5eb7cb8387 Mon Sep 17 00:00:00 2001 From: Seth Cottle Date: Mon, 12 Jun 2023 11:25:26 -0400 Subject: [PATCH 02/90] Added GoFundMe --- css/brands.css | 10 ++++++++++ images/icons/gofundme.svg | 6 ++++++ index.html | 3 +++ 3 files changed, 19 insertions(+) create mode 100644 images/icons/gofundme.svg diff --git a/css/brands.css b/css/brands.css index a73b54ec..b078cd7a 100644 --- a/css/brands.css +++ b/css/brands.css @@ -378,6 +378,16 @@ button:hover, filter: brightness(90%); } +/* GoFundMe */ +.button.button-gofundme { + color: #ffffff; + background-color: #02A95C; +} +.button.button-gofundme:hover, +.button.button-gofundme:focus { + filter: brightness(90%); +} + /* Goodreads */ .button.button-goodreads { color: #333333; diff --git a/images/icons/gofundme.svg b/images/icons/gofundme.svg new file mode 100644 index 00000000..1db8fb83 --- /dev/null +++ b/images/icons/gofundme.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/index.html b/index.html index 0dca551c..df1105f5 100644 --- a/index.html +++ b/index.html @@ -181,6 +181,9 @@ GitLab
+ + GoFundMe
+ Goodreads
From b40c337a9e479c03b8aca02af34afd53ecd9c530 Mon Sep 17 00:00:00 2001 From: Seth Cottle Date: Mon, 12 Jun 2023 11:26:18 -0400 Subject: [PATCH 03/90] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 1b7420bd..ef834c71 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,11 @@ ![Logo](https://cdn.cottle.cloud/littlelink/littlelink.gif) # LittleLink -The DIY self-hosted LinkTree alternative. LittleLink has more than 60 branded button styles you can easily use, with more being added by our community all the time. +The DIY self-hosted LinkTree alternative. LittleLink has more than 100 branded button styles you can easily use, with more being added by our community all the time. ![Theme](https://cdn.cottle.cloud/littlelink/themesupport.gif) -LittleLink has more than 60 branded button styles you can use (with even more being added by our community). You'll also find a light and dark theme ready to go. Not a fan of the default colors? Update `skeleton-light.css` or `skeleton-dark.css` to the HEX values of your choosing. You can also set your CSS to `skeleton-auto.css`, which will use the system theme of the device you visit on. +LittleLink has more than 100 branded button styles you can use (with even more being added by our community). You'll also find a light and dark theme ready to go. Not a fan of the default colors? Update `skeleton-light.css` or `skeleton-dark.css` to the HEX values of your choosing. You can also set your CSS to `skeleton-auto.css`, which will use the system theme of the device you visit on. ![Performance](https://cdn.cottle.cloud/littlelink/Lighthouse.svg) From 5fe2d9b33288b01646cf7bfc6ccfa6511f0ddb8f Mon Sep 17 00:00:00 2001 From: Fatih Yavuz Date: Fri, 16 Jun 2023 18:31:02 +0200 Subject: [PATCH 04/90] add supporter links.dev to README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ef834c71..f1218170 100644 --- a/README.md +++ b/README.md @@ -47,6 +47,7 @@ Duplicate the [LittleLink Template on Figma Community](https://www.figma.com/com You can support LittleLink by [buying me a beer](https://www.buymeacoffee.com/seth). You can also have your name or your company added to this section and the supporters page of the [LittleLink.io](https://littlelink.io) website. #### 🏢 Business Supporters +[links.dev](https://github.com/fatih-yavuz/links.dev) [Add Your Company Name](https://www.buymeacoffee.com/seth/e/50574) #### ✨ Individual Supporters From 683e1c1aa427a6c072fed94a3c1ba2cb4d5021a4 Mon Sep 17 00:00:00 2001 From: Fatih Yavuz Date: Fri, 16 Jun 2023 18:31:37 +0200 Subject: [PATCH 05/90] Update README.md --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index f1218170..caa7087e 100644 --- a/README.md +++ b/README.md @@ -47,7 +47,8 @@ Duplicate the [LittleLink Template on Figma Community](https://www.figma.com/com You can support LittleLink by [buying me a beer](https://www.buymeacoffee.com/seth). You can also have your name or your company added to this section and the supporters page of the [LittleLink.io](https://littlelink.io) website. #### 🏢 Business Supporters -[links.dev](https://github.com/fatih-yavuz/links.dev) +**[links.dev](https://github.com/fatih-yavuz/links.dev)** + [Add Your Company Name](https://www.buymeacoffee.com/seth/e/50574) #### ✨ Individual Supporters From be78b6bd4d2366b32010e1972cefd0e89cd24643 Mon Sep 17 00:00:00 2001 From: artificial <59352535+artificialbutter@users.noreply.github.com> Date: Wed, 28 Jun 2023 18:17:07 -0700 Subject: [PATCH 06/90] Add NGL --- css/brands.css | 10 ++++++++++ images/icons/ngl.svg | 1 + index.html | 5 ++++- 3 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 images/icons/ngl.svg diff --git a/css/brands.css b/css/brands.css index b078cd7a..61f7e20c 100644 --- a/css/brands.css +++ b/css/brands.css @@ -579,6 +579,16 @@ button:hover, filter: brightness(90%); } +/* NGL */ +.button.button-ngl { + color: #ffffff; + background-image: linear-gradient(45deg, #ed1581 0%, #ff8614 100%); +} +.button.button-ngl:hover, +.button.button-ngl:focus { + filter: brightness(90%); +} + /* Notion */ .button.button-notion { color: #000000; diff --git a/images/icons/ngl.svg b/images/icons/ngl.svg new file mode 100644 index 00000000..3c215b47 --- /dev/null +++ b/images/icons/ngl.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/index.html b/index.html index df1105f5..9c4dbe7f 100644 --- a/index.html +++ b/index.html @@ -237,7 +237,10 @@ Medium
- + + + NGL
+ Notion
From 5dabc02f2df044d2b5aaf65d885545a0f4104575 Mon Sep 17 00:00:00 2001 From: soypato Date: Thu, 29 Jun 2023 04:10:17 -0300 Subject: [PATCH 07/90] add kick in social nw. list --- css/brands.css | 8 ++++++++ images/icons/kick.svg | 23 +++++++++++++++++++++++ index.html | 3 +++ 3 files changed, 34 insertions(+) create mode 100644 images/icons/kick.svg diff --git a/css/brands.css b/css/brands.css index b078cd7a..a5788f3e 100644 --- a/css/brands.css +++ b/css/brands.css @@ -474,6 +474,14 @@ button:hover, filter: brightness(90%); } +.button.button-kick { + background-color:#3d951b; + color: #fff +} +.button.button-kick:hover { + filter: brightness(90%); +} + /* Kickstarter */ .button.button-kickstarter { color: #ffffff; diff --git a/images/icons/kick.svg b/images/icons/kick.svg new file mode 100644 index 00000000..8a8589f2 --- /dev/null +++ b/images/icons/kick.svg @@ -0,0 +1,23 @@ + + Kick_logo-svg + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/index.html b/index.html index df1105f5..ce909409 100644 --- a/index.html +++ b/index.html @@ -208,6 +208,9 @@ Instagram
+ + Kick
+ Kickstarter
From fd3efdc367bccd89605f92c25cee729da4d93dc2 Mon Sep 17 00:00:00 2001 From: soypato Date: Thu, 29 Jun 2023 14:32:03 -0300 Subject: [PATCH 08/90] fix Kick - colors - based in Branding Guidelines --- css/brands.css | 16 ++++++++++++++-- images/icons/kick-alt.svg | 27 +++++++++++++++++++++++++++ index.html | 3 +++ 3 files changed, 44 insertions(+), 2 deletions(-) create mode 100644 images/icons/kick-alt.svg diff --git a/css/brands.css b/css/brands.css index a5788f3e..a2611b01 100644 --- a/css/brands.css +++ b/css/brands.css @@ -474,14 +474,26 @@ button:hover, filter: brightness(90%); } +/* Kick */ .button.button-kick { - background-color:#3d951b; - color: #fff + background-color:#000000; + color: #ffffff; + border: 1px solid #ffffff; } .button.button-kick:hover { filter: brightness(90%); } +/* Kick Alt */ +.button.button-kick-alt { + background-color:#01e701; + color: #000; +} +.button.button-kick-alt:hover { + filter: brightness(90%); +} + + /* Kickstarter */ .button.button-kickstarter { color: #ffffff; diff --git a/images/icons/kick-alt.svg b/images/icons/kick-alt.svg new file mode 100644 index 00000000..7fa31aef --- /dev/null +++ b/images/icons/kick-alt.svg @@ -0,0 +1,27 @@ + + kick-svg + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/index.html b/index.html index ce909409..4f5d2be0 100644 --- a/index.html +++ b/index.html @@ -211,6 +211,9 @@ Kick
+ + Kick
+ Kickstarter
From 2ddac4d2c5e5b024cba7c12c1e317c89c845e923 Mon Sep 17 00:00:00 2001 From: soypato Date: Thu, 29 Jun 2023 14:32:03 -0300 Subject: [PATCH 09/90] Fix Kick - colors - based in Branding Guidelines --- css/brands.css | 16 ++++++++++++++-- images/icons/kick-alt.svg | 27 +++++++++++++++++++++++++++ index.html | 3 +++ 3 files changed, 44 insertions(+), 2 deletions(-) create mode 100644 images/icons/kick-alt.svg diff --git a/css/brands.css b/css/brands.css index a5788f3e..a2611b01 100644 --- a/css/brands.css +++ b/css/brands.css @@ -474,14 +474,26 @@ button:hover, filter: brightness(90%); } +/* Kick */ .button.button-kick { - background-color:#3d951b; - color: #fff + background-color:#000000; + color: #ffffff; + border: 1px solid #ffffff; } .button.button-kick:hover { filter: brightness(90%); } +/* Kick Alt */ +.button.button-kick-alt { + background-color:#01e701; + color: #000; +} +.button.button-kick-alt:hover { + filter: brightness(90%); +} + + /* Kickstarter */ .button.button-kickstarter { color: #ffffff; diff --git a/images/icons/kick-alt.svg b/images/icons/kick-alt.svg new file mode 100644 index 00000000..e21eb883 --- /dev/null +++ b/images/icons/kick-alt.svg @@ -0,0 +1,27 @@ + + kick-svg + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/index.html b/index.html index ce909409..4f5d2be0 100644 --- a/index.html +++ b/index.html @@ -211,6 +211,9 @@ Kick
+ + Kick
+ Kickstarter
From 4cbc3699c3888d8d37d58ad5ba71a3575602f689 Mon Sep 17 00:00:00 2001 From: artificial <59352535+artificialbutter@users.noreply.github.com> Date: Thu, 29 Jun 2023 14:51:05 -0700 Subject: [PATCH 10/90] Use "official" gradient --- css/brands.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/css/brands.css b/css/brands.css index 65a0ab17..b195ab10 100644 --- a/css/brands.css +++ b/css/brands.css @@ -602,7 +602,7 @@ button:hover, /* NGL */ .button.button-ngl { color: #ffffff; - background-image: linear-gradient(45deg, #ed1581 0%, #ff8614 100%); + background-image: linear-gradient(-45deg, #ff8d10, #ec1187); } .button.button-ngl:hover, .button.button-ngl:focus { From e648b49856dbf451dea0860520015a897a47e05c Mon Sep 17 00:00:00 2001 From: Seth Cottle Date: Thu, 6 Jul 2023 15:23:43 -0400 Subject: [PATCH 11/90] Added Threads Also updated Untappd branding to be more accessible. --- css/brands.css | 13 ++++++++++++- images/icons/threads.svg | 3 +++ images/icons/untappd.svg | 3 ++- index.html | 3 +++ 4 files changed, 20 insertions(+), 2 deletions(-) create mode 100644 images/icons/threads.svg diff --git a/css/brands.css b/css/brands.css index b195ab10..0903dd3d 100644 --- a/css/brands.css +++ b/css/brands.css @@ -848,6 +848,17 @@ button:hover, filter: brightness(90%); } +/* Threads */ +.button.button-threads { + color: #FFFFFF; + background-color: #000000; + border: 1px solid #FFFFFF; +} +.button.button-threads:hover, +.button.button-threads:focus { + filter: brightness(90%); +} + /* Threema */ .button.button-threema { color: #000000; @@ -923,7 +934,7 @@ button:hover, /* Untappd */ .button.button-untappd { - color: #ffffff; + color: #000000; background-color: #ffc000; } .button.button-untappd:hover, diff --git a/images/icons/threads.svg b/images/icons/threads.svg new file mode 100644 index 00000000..c6fc44b2 --- /dev/null +++ b/images/icons/threads.svg @@ -0,0 +1,3 @@ + + + diff --git a/images/icons/untappd.svg b/images/icons/untappd.svg index e289a554..f1106a9d 100644 --- a/images/icons/untappd.svg +++ b/images/icons/untappd.svg @@ -1,3 +1,4 @@ - + + diff --git a/index.html b/index.html index 93efc26d..d04431d6 100644 --- a/index.html +++ b/index.html @@ -316,6 +316,9 @@ Telegram
+ + Threads
+ Threema
From 9ea8125fef2c9f931e212cb8edd2968b8dd5e0de Mon Sep 17 00:00:00 2001 From: Seth Cottle Date: Thu, 6 Jul 2023 15:40:52 -0400 Subject: [PATCH 12/90] Created FUNDING.yml --- .github/FUNDING.yml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 .github/FUNDING.yml diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 00000000..fb7b1386 --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1,6 @@ +# These are supported funding model platforms + +github: sethcottle +patreon: sethcottle +ko_fi: sethcottle +custom: [https://buymeacoffee.com/seth, https://paypal.me/sethcottle] From 57e61be9cd7af16c09242f903236605014d9bf41 Mon Sep 17 00:00:00 2001 From: Seth Cottle Date: Thu, 6 Jul 2023 16:04:37 -0400 Subject: [PATCH 13/90] Update README.md --- README.md | 43 ++++++++++++++++++++++++++++++++----------- 1 file changed, 32 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index caa7087e..2a165364 100644 --- a/README.md +++ b/README.md @@ -31,32 +31,52 @@ Looking for more niche services to add to your copy of LittleLink? Check out [Li #### 🎨 Figma Duplicate the [LittleLink Template on Figma Community](https://www.figma.com/community/file/846568099968305613) to help plan out and design your LittleLink page. -#### 🐋 Docker -[Techno Tim](https://github.com/timothystewart6) is building [LittleLink-Server](https://github.com/techno-tim/littlelink-server). Check out [his video](https://youtu.be/42SqfI_AjXU)! +[![Figma Community](https://cdn.cottle.cloud/littlelink/button-figma-community.svg)](https://www.figma.com/community/file/846568099968305613) -[Drew](https://github.com/davisdre) is building a [super simple Docker implementation of LittleLink](https://github.com/davisdre/littlelink). +#### 🐋 Docker +• [Techno Tim](https://github.com/timothystewart6) is building [LittleLink-Server](https://github.com/techno-tim/littlelink-server). Check out [his video](https://youtu.be/42SqfI_AjXU)! + +• [Drew](https://github.com/davisdre) is building a [super simple Docker implementation of LittleLink](https://github.com/davisdre/littlelink). #### 🗃️ Misc -[Khashayar](https://github.com/khashayarzavosh) is building [LittleLink Admin](https://github.com/khashayarzavosh/admin-littlelink) which lets you host your own admin portal to manage LittleLink! +• [Khashayar](https://github.com/khashayarzavosh) is building [LittleLink Admin](https://github.com/khashayarzavosh/admin-littlelink) which lets you host your own admin portal to manage LittleLink! -[Julian](https://github.com/JulianPrieber) is building [LittleLink Custom](https://github.com/JulianPrieber/littlelink-custom) which approaches the admin portal with an easy-to-use "plug-and-play" mentality! +• [Julian](https://github.com/JulianPrieber) is building [LittleLink Custom](https://github.com/JulianPrieber/littlelink-custom) which approaches the admin portal with an easy-to-use "plug-and-play" mentality! --- ### 💖 Supporters -You can support LittleLink by [buying me a beer](https://www.buymeacoffee.com/seth). You can also have your name or your company added to this section and the supporters page of the [LittleLink.io](https://littlelink.io) website. +You can support LittleLink by [buying me a coffee](https://www.buymeacoffee.com/seth). You can also have your name or your company added to this section and the supporters page of the [LittleLink.io](https://littlelink.io) website. #### 🏢 Business Supporters -**[links.dev](https://github.com/fatih-yavuz/links.dev)** +• **[links.dev](https://github.com/fatih-yavuz/links.dev)** -[Add Your Company Name](https://www.buymeacoffee.com/seth/e/50574) +[![Add Your Company Name](https://cdn.cottle.cloud/littlelink/button-buy-me-a-coffee-company.svg)](https://www.buymeacoffee.com/seth/e/50574) #### ✨ Individual Supporters -**[Drew Davis](https://connect.davisdre.me)** +• **[Drew Davis](https://connect.davisdre.me)** -**[Robotter112](https://robotter112.de/)** +• **[Robotter112](https://robotter112.de/)** -[Add Your Name](https://www.buymeacoffee.com/seth/e/50573) +[![Buy Me A Coffee](https://cdn.cottle.cloud/littlelink/button-buy-me-a-coffee-individual.svg)](https://www.buymeacoffee.com/seth/e/50573) + +#### 🐙 GitHub Sponsors +• **[Your Name Here](https://github.com/sponsors/sethcottle)** + +[![GitHub Sponsors](https://cdn.cottle.cloud/littlelink/button-github-sponsors.svg)](https://github.com/sponsors/sethcottle) + +#### ❤️ Patreon Members +• **[Your Name Here](https://www.patreon.com/sethcottle)** + +[![Patreon](https://cdn.cottle.cloud/littlelink/button-patreon.svg)](https://www.patreon.com/sethcottle) + + +#### 🥰 More Ways to Support LittleLink +[![Buy Me A Coffee](https://cdn.cottle.cloud/littlelink/button-buy-me-a-coffee.svg)](https://www.buymeacoffee.com/seth/) + +[![Ko-Fi](https://cdn.cottle.cloud/littlelink/button-ko-fi.svg)](https://ko-fi.com/sethcottle) + +[![PayPal](https://cdn.cottle.cloud/littlelink/button-paypal.svg)](https://paypal.me/sethcottle/) --- @@ -68,3 +88,4 @@ To help build a more privacy focused product, we recommend using [Fathom Analyti ###### ** Analytics in this dashboard start May 03, 2022. View this [Google Sheets file](https://docs.google.com/spreadsheets/d/1GL4SroAdH-OZphBVR5z-BoSukHIEVJfao25q_e9-Ii8/edit?usp=sharing) with the generic unique pageview data from Google Analytics. +[![PayPal](https://cdn.cottle.cloud/littlelink/button-fathom-analytics.svg)](https://usefathom.com/ref/EQVZMV) From 093aaa0a29a8c6f27166a1cbacdc9a85257cbb06 Mon Sep 17 00:00:00 2001 From: Seth Cottle Date: Mon, 31 Jul 2023 10:36:04 -0400 Subject: [PATCH 14/90] Added "X" :thumbsdown: --- css/brands.css | 13 ++++++++++++- images/icons/x.svg | 3 +++ index.html | 5 ++++- 3 files changed, 19 insertions(+), 2 deletions(-) create mode 100644 images/icons/x.svg diff --git a/css/brands.css b/css/brands.css index 0903dd3d..2296d2a8 100644 --- a/css/brands.css +++ b/css/brands.css @@ -911,7 +911,7 @@ button:hover, filter: brightness(90%); } -/* Twitter */ +/* Twitter (archiving soon, see 'X') */ .button.button-twit { color: #ffffff; background-color: #1da1f2; @@ -1025,6 +1025,17 @@ button:hover, filter: brightness(90%); } +/* X */ +.button.button-x { + color: #FFFFFF; + background-color: #000000; + border: 1px solid #FFFFFF; +} +.button.button-x:hover, +.button.button-x:focus { + filter: brightness(90%); +} + /* Xing */ .button.button-xing { color: #ffffff; diff --git a/images/icons/x.svg b/images/icons/x.svg new file mode 100644 index 00000000..a239dff6 --- /dev/null +++ b/images/icons/x.svg @@ -0,0 +1,3 @@ + + + diff --git a/index.html b/index.html index d04431d6..97715703 100644 --- a/index.html +++ b/index.html @@ -334,7 +334,7 @@ Twitch
- + Twitter
@@ -364,6 +364,9 @@ WordPress
+ + Follow on X
+ Xing
From f09bb478ee8e4c238c9a485257af09b38fcc9c10 Mon Sep 17 00:00:00 2001 From: Trevor Sacks Date: Wed, 23 Aug 2023 12:35:47 -0400 Subject: [PATCH 15/90] Update vrchat.svg Adding a background element to the VRChat svg icon, to fix an issue where the hover effect causes the icon to vanish. --- images/icons/vrchat.svg | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/images/icons/vrchat.svg b/images/icons/vrchat.svg index bee2f374..1d1d5b65 100644 --- a/images/icons/vrchat.svg +++ b/images/icons/vrchat.svg @@ -1,12 +1,2 @@ - - - - - - - - - - - - + + From fda2ba721dc1b2770a12d0c53107b4851b7b0689 Mon Sep 17 00:00:00 2001 From: Jothi Prasath Date: Mon, 11 Sep 2023 18:58:54 +0530 Subject: [PATCH 16/90] added trakt --- css/brands.css | 11 +++++++++++ images/icons/trakt.svg | 21 +++++++++++++++++++++ index.html | 3 +++ 3 files changed, 35 insertions(+) create mode 100644 images/icons/trakt.svg diff --git a/css/brands.css b/css/brands.css index 2296d2a8..9e301184 100644 --- a/css/brands.css +++ b/css/brands.css @@ -546,6 +546,17 @@ button:hover, filter: brightness(90%); } +/* Trakt */ +.button.button-trakt { + color: #ffffff; + background-color: #000000; + border: 1px solid #FFFFFF; +} +.button.button-trakt:hover, +.button.button-trakt:focus { + filter: brightness(90%); +} + /* Line */ .button.button-line { color: #FFFFFF; diff --git a/images/icons/trakt.svg b/images/icons/trakt.svg new file mode 100644 index 00000000..4398c68f --- /dev/null +++ b/images/icons/trakt.svg @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + diff --git a/index.html b/index.html index 97715703..06622591 100644 --- a/index.html +++ b/index.html @@ -228,6 +228,9 @@ Letterboxd
+ + + Trakt
Line
From 5d8ef86b23394d851c251755d08d25c3aec913c6 Mon Sep 17 00:00:00 2001 From: Luka tv Date: Thu, 21 Sep 2023 19:43:10 +0200 Subject: [PATCH 17/90] Made a dark Steam button Didn't like the light one so I made it dark that resembles the steam logo --- css/brands.css | 10 ++++++++++ index.html | 3 +++ 2 files changed, 13 insertions(+) diff --git a/css/brands.css b/css/brands.css index 2296d2a8..0c94c537 100644 --- a/css/brands.css +++ b/css/brands.css @@ -808,6 +808,16 @@ button:hover, filter: brightness(90%); } +/* Steam Dark */ +.button.button-steam-dark { + color: #ffffff; + background-image: linear-gradient(90deg, #09172a, #072a57, #0c5085); +} +.button.button-steam-dark:hover, +.button.button-steam-dark:focus { + filter: brightness(90%); +} + /* Steam */ .button.button-steam { color: #ffffff; diff --git a/index.html b/index.html index 97715703..f72cc7d1 100644 --- a/index.html +++ b/index.html @@ -304,6 +304,9 @@ Buy with Square
+ + Steam
+ Steam
From c041270a2c692620467531e75f30cefc47a73fed Mon Sep 17 00:00:00 2001 From: Seth Cottle Date: Thu, 30 Nov 2023 09:45:59 -0500 Subject: [PATCH 18/90] Brand Updates Updated Trakt to reflect more accurate branding and to use the SVG provided by them. Also placed corrected its alphabetical ordering for easier wayfinding. Updated Patreon to reflect their new branding guidelines. Updated Reddit to reflect their new branding guidelines. Added Partiful. --- css/brands.css | 40 ++++++++------ images/icons/partiful.svg | 4 ++ images/icons/patreon.svg | 6 +-- images/icons/reddit.svg | 107 +++++++++++++++++++++++++++++++++++--- images/icons/trakt.svg | 34 +++++------- index.html | 9 ++-- 6 files changed, 151 insertions(+), 49 deletions(-) create mode 100644 images/icons/partiful.svg diff --git a/css/brands.css b/css/brands.css index b22b988a..dd7c0623 100644 --- a/css/brands.css +++ b/css/brands.css @@ -546,17 +546,6 @@ button:hover, filter: brightness(90%); } -/* Trakt */ -.button.button-trakt { - color: #ffffff; - background-color: #000000; - border: 1px solid #FFFFFF; -} -.button.button-trakt:hover, -.button.button-trakt:focus { - filter: brightness(90%); -} - /* Line */ .button.button-line { color: #FFFFFF; @@ -641,10 +630,22 @@ button:hover, filter: brightness(90%); } +/* Partiful */ +.button.button-partiful { + color: #ffffff; + background-color: #000000; + border: 1px solid #FFFFFF; +} +.button.button-patreon:hover, +.button.button-patreon:focus { + filter: brightness(90%); +} + /* Patreon */ .button.button-patreon { color: #ffffff; - background-color: #ff424d; + background-color: #000000; + border: 1px solid #FFFFFF; } .button.button-patreon:hover, .button.button-patreon:focus { @@ -717,9 +718,8 @@ button:hover, /* Reddit */ .button.button-reddit { - color: #000000; - background-color: #d7dfe2; - border: 1px solid #212121; + color: #FFFFFF; + background-color: #FF4500; } .button.button-reddit:hover, .button.button-reddit:focus { @@ -901,6 +901,16 @@ button:hover, filter: brightness(90%); } +/* Trakt */ +.button.button-trakt { + color: #ffffff; + background-color: #ED1C24; +} +.button.button-trakt:hover, +.button.button-trakt:focus { + filter: brightness(90%); +} + /* Trello */ .button.button-trello { color: #ffffff; diff --git a/images/icons/partiful.svg b/images/icons/partiful.svg new file mode 100644 index 00000000..83d5a9e5 --- /dev/null +++ b/images/icons/partiful.svg @@ -0,0 +1,4 @@ + + + + diff --git a/images/icons/patreon.svg b/images/icons/patreon.svg index 7bb28b79..31828a2c 100644 --- a/images/icons/patreon.svg +++ b/images/icons/patreon.svg @@ -1,9 +1,9 @@ - - + + - + diff --git a/images/icons/reddit.svg b/images/icons/reddit.svg index 685c4ab6..8b652612 100644 --- a/images/icons/reddit.svg +++ b/images/icons/reddit.svg @@ -1,11 +1,104 @@ - - - - + + + + + + + + + + + + + + + + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/images/icons/trakt.svg b/images/icons/trakt.svg index 4398c68f..5cda61e3 100644 --- a/images/icons/trakt.svg +++ b/images/icons/trakt.svg @@ -1,21 +1,13 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + diff --git a/index.html b/index.html index 9f48f9d0..3fb593f0 100644 --- a/index.html +++ b/index.html @@ -228,9 +228,6 @@ Letterboxd
- - - Trakt
Line
@@ -256,6 +253,9 @@ OnlyFans (18+)
+ + Partiful
+ Patreon
@@ -331,6 +331,9 @@ TikTok
+ + Trakt
+ Trello
From 4b494b4b3a5836a22d82afe431e4fff565ba4ddb Mon Sep 17 00:00:00 2001 From: Seth Cottle Date: Thu, 30 Nov 2023 09:53:05 -0500 Subject: [PATCH 19/90] Fixed Partiful --- css/brands.css | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/css/brands.css b/css/brands.css index dd7c0623..8e170f23 100644 --- a/css/brands.css +++ b/css/brands.css @@ -556,7 +556,6 @@ button:hover, filter: brightness(90%); } - /* LinkedIn */ .button.button-linked { color: #ffffff; @@ -636,8 +635,8 @@ button:hover, background-color: #000000; border: 1px solid #FFFFFF; } -.button.button-patreon:hover, -.button.button-patreon:focus { +.button.button-partiful:hover, +.button.button-partiful:focus { filter: brightness(90%); } From 710de6a5af12ed2eff8596d7a72a8a3626224b22 Mon Sep 17 00:00:00 2001 From: Simon Haas <22013217+SimonHaas@users.noreply.github.com> Date: Fri, 15 Dec 2023 12:02:05 +0000 Subject: [PATCH 20/90] devcontainer with live server --- .devcontainer/devcontainer.json | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 .devcontainer/devcontainer.json diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 00000000..feab4a32 --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,28 @@ +// For format details, see https://aka.ms/devcontainer.json. For config options, see the +// README at: https://github.com/devcontainers/templates/tree/main/src/alpine +{ + "name": "Alpine", + // Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile + "image": "mcr.microsoft.com/devcontainers/base:alpine", + + // Features to add to the dev container. More info: https://containers.dev/features. + // "features": {}, + + // Use 'forwardPorts' to make a list of ports inside the container available locally. + // "forwardPorts": [], + + // Use 'postCreateCommand' to run commands after the container is created. + // "postCreateCommand": "uname -a", + + "customizations": { + // Configure properties specific to VS Code. + "vscode": { + "extensions": [ + "ritwickdey.liveserver" + ] + } + } + + // Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root. + // "remoteUser": "root" +} From 067fca908b77a4fa40155b83f4bc319362087343 Mon Sep 17 00:00:00 2001 From: HLEndman Date: Wed, 27 Dec 2023 21:26:47 +0800 Subject: [PATCH 21/90] Add 'QQ' by Tencent --- images/icons/qq.svg | 1 + index.html | 3 +++ 2 files changed, 4 insertions(+) create mode 100644 images/icons/qq.svg diff --git a/images/icons/qq.svg b/images/icons/qq.svg new file mode 100644 index 00000000..15945d1b --- /dev/null +++ b/images/icons/qq.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/index.html b/index.html index 3fb593f0..ea9f7d0a 100644 --- a/index.html +++ b/index.html @@ -271,6 +271,9 @@ Product Hunt
+ + QQ
+ Read.cv
From 4d7dcfb99bf88706b2d0fa83fab16391e22f4eb9 Mon Sep 17 00:00:00 2001 From: HLEndman Date: Thu, 28 Dec 2023 19:41:02 +0800 Subject: [PATCH 22/90] fix colour error --- css/brands.css | 11 ++ index 2.html | 456 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 467 insertions(+) create mode 100644 index 2.html diff --git a/css/brands.css b/css/brands.css index 8e170f23..5025e2c2 100644 --- a/css/brands.css +++ b/css/brands.css @@ -693,6 +693,17 @@ button:hover, filter: brightness(90%); } +/* QQ */ +.button.button-qq { + color: #000000; + background-color: #FFFFFF; + border: 3px solid #4D94FF; +} +.button.button-qq:hover, +.button.button-qq:focus { + filter: brightness(90%); +} + /* Read.cv */ .button.button-read-cv { color: #FFFFFF; diff --git a/index 2.html b/index 2.html new file mode 100644 index 00000000..3fb593f0 --- /dev/null +++ b/index 2.html @@ -0,0 +1,456 @@ + + + + + + + + LittleLink + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ + + + + + + +

LittleLink

+ + +

An open source DIY Linktree alternative.

+ + + + + LittleLink
+ + + Amazon Wishlist
+ + + Listen on Amazon Music
+ + + Apple App Store
+ + + Listen on Apple Music
+ + + Listen on Apple Music
+ + + Listen on Apple Podcasts
+ + + Listen on Apple Podcasts
+ + + Bandcamp
+ + + Behance
+ + + Bluesky
+ + + Buy Me A Coffee
+ + + Schedule with Cal.com
+ + + Schedule with Calendly
+ + + Cash App
+ + + Clubhouse
+ + + Dev.to
+ + + Discord
+ + + Dribbble
+ + + Shop on Etsy
+ + + Find us on Facebook
+ + + Chat on Messenger
+ + + Figma Community
+ + + Fiverr Gig
+ + + Flickr
+ + + GitHub
+ + + GitLab
+ + + GoFundMe
+ + + Goodreads
+ + + View in Google Drive
+ + + Google Play Store
+ + + Listen on Google Podcasts
+ + + Google Scholar
+ + + Guilded
+ + + Hashnode
+ + + Instagram
+ + + Kick
+ + + Kick
+ + + Kickstarter
+ + + Kit
+ + + Ko-fi
+ + + Last.fm
+ + + Letterboxd
+ + + Line
+ + + LinkedIn
+ + + Mailchimp
+ + + Mastodon
+ + + Medium
+ + + NGL
+ + + Notion
+ + + OnlyFans (18+)
+ + + Partiful
+ + + Patreon
+ + + PayPal
+ + + Pinterest
+ + + Post.news
+ + + Product Hunt
+ + + Read.cv
+ + + Redbubble
+ + + Reddit
+ + + Buy with Shop
+ + + Signal
+ + + Skoob
+ + + Join Slack
+ + + Snapchat
+ + + SoundCloud
+ + + Listen on Spotify
+ + + Listen on Spotify
+ + + Buy with Square
+ + + Steam
+ + + Steam
+ + + Strava
+ + + Substack
+ + + Telegram
+ + + Threads
+ + + Threema
+ + + TikTok
+ + + Trakt
+ + + Trello
+ + + Tumblr
+ + + Twitch
+ + + Twitter
+ + + Unsplash
+ + + Untappd
+ + + Upwork
+ + + Venmo
+ + + Vimeo
+ + + VRChat
+ + + VSCO
+ + + WhatsApp
+ + + WordPress
+ + + Follow on X
+ + + Xing
+ + + YouTube
+ + + Listen on YouTube Music
+ + + Join Zoom Webinar
+ + + Read our blog
+ + + Event RSVP
+ + + Download File
+ + + View the code
+ + + Homelab Setup
+ + + Email Us
+ + + Email Us
+ + + Visit Homepage
+ + + Get Directions
+ + + Call Us
+ + + Leave us a review
+ + + RSS Subscribe
+ + + Visit Our Shop
+ + + 10% Discount
+ + + Send us a message
+ + + Visit Website
+ +
+ +

Privacy Policy | Build your own by forking LittleLink.

+ +
+
+
+ + + + + From 6c393aec179dfd6b69a997add486c38393319f94 Mon Sep 17 00:00:00 2001 From: HLEndman Date: Thu, 28 Dec 2023 19:43:09 +0800 Subject: [PATCH 23/90] fix error --- index 2.html | 456 --------------------------------------------------- 1 file changed, 456 deletions(-) delete mode 100644 index 2.html diff --git a/index 2.html b/index 2.html deleted file mode 100644 index 3fb593f0..00000000 --- a/index 2.html +++ /dev/null @@ -1,456 +0,0 @@ - - - - - - - - LittleLink - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
- - - - - - - -

LittleLink

- - -

An open source DIY Linktree alternative.

- - - - - LittleLink
- - - Amazon Wishlist
- - - Listen on Amazon Music
- - - Apple App Store
- - - Listen on Apple Music
- - - Listen on Apple Music
- - - Listen on Apple Podcasts
- - - Listen on Apple Podcasts
- - - Bandcamp
- - - Behance
- - - Bluesky
- - - Buy Me A Coffee
- - - Schedule with Cal.com
- - - Schedule with Calendly
- - - Cash App
- - - Clubhouse
- - - Dev.to
- - - Discord
- - - Dribbble
- - - Shop on Etsy
- - - Find us on Facebook
- - - Chat on Messenger
- - - Figma Community
- - - Fiverr Gig
- - - Flickr
- - - GitHub
- - - GitLab
- - - GoFundMe
- - - Goodreads
- - - View in Google Drive
- - - Google Play Store
- - - Listen on Google Podcasts
- - - Google Scholar
- - - Guilded
- - - Hashnode
- - - Instagram
- - - Kick
- - - Kick
- - - Kickstarter
- - - Kit
- - - Ko-fi
- - - Last.fm
- - - Letterboxd
- - - Line
- - - LinkedIn
- - - Mailchimp
- - - Mastodon
- - - Medium
- - - NGL
- - - Notion
- - - OnlyFans (18+)
- - - Partiful
- - - Patreon
- - - PayPal
- - - Pinterest
- - - Post.news
- - - Product Hunt
- - - Read.cv
- - - Redbubble
- - - Reddit
- - - Buy with Shop
- - - Signal
- - - Skoob
- - - Join Slack
- - - Snapchat
- - - SoundCloud
- - - Listen on Spotify
- - - Listen on Spotify
- - - Buy with Square
- - - Steam
- - - Steam
- - - Strava
- - - Substack
- - - Telegram
- - - Threads
- - - Threema
- - - TikTok
- - - Trakt
- - - Trello
- - - Tumblr
- - - Twitch
- - - Twitter
- - - Unsplash
- - - Untappd
- - - Upwork
- - - Venmo
- - - Vimeo
- - - VRChat
- - - VSCO
- - - WhatsApp
- - - WordPress
- - - Follow on X
- - - Xing
- - - YouTube
- - - Listen on YouTube Music
- - - Join Zoom Webinar
- - - Read our blog
- - - Event RSVP
- - - Download File
- - - View the code
- - - Homelab Setup
- - - Email Us
- - - Email Us
- - - Visit Homepage
- - - Get Directions
- - - Call Us
- - - Leave us a review
- - - RSS Subscribe
- - - Visit Our Shop
- - - 10% Discount
- - - Send us a message
- - - Visit Website
- -
- -

Privacy Policy | Build your own by forking LittleLink.

- -
-
-
- - - - - From 8367641d19fc1729712e2c3fdf6312a971286773 Mon Sep 17 00:00:00 2001 From: HLEndman Date: Wed, 10 Jan 2024 17:59:35 +0800 Subject: [PATCH 24/90] Add Discogs --- .idea/.gitignore | 8 ++++++ .idea/inspectionProfiles/Project_Default.xml | 10 +++++++ .../inspectionProfiles/profiles_settings.xml | 6 +++++ .idea/littlelink.iml | 8 ++++++ .idea/misc.xml | 4 +++ .idea/modules.xml | 8 ++++++ .idea/vcs.xml | 6 +++++ css/brands.css | 11 ++++++++ images/icons/discogs.svg | 27 +++++++++++++++++++ index.html | 3 +++ 10 files changed, 91 insertions(+) create mode 100644 .idea/.gitignore create mode 100644 .idea/inspectionProfiles/Project_Default.xml create mode 100644 .idea/inspectionProfiles/profiles_settings.xml create mode 100644 .idea/littlelink.iml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/vcs.xml create mode 100644 images/icons/discogs.svg diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 00000000..13566b81 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml new file mode 100644 index 00000000..50f85a47 --- /dev/null +++ b/.idea/inspectionProfiles/Project_Default.xml @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml new file mode 100644 index 00000000..105ce2da --- /dev/null +++ b/.idea/inspectionProfiles/profiles_settings.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/.idea/littlelink.iml b/.idea/littlelink.iml new file mode 100644 index 00000000..d0876a78 --- /dev/null +++ b/.idea/littlelink.iml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 00000000..d56657ad --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 00000000..ac56cf05 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 00000000..35eb1ddf --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/css/brands.css b/css/brands.css index 5025e2c2..a5de82c8 100644 --- a/css/brands.css +++ b/css/brands.css @@ -266,6 +266,17 @@ button:hover, filter: brightness(90%); } +/* Discogs */ +.button.button-discogs { + color: #000000; + background-color: #FFFFFF; + border: 1px solid #000000 +} +.button.button-discogs:hover, +.button.button-discogs:focus { + filter: brightness(90%); +} + /* Discord */ .button.button-discord { color: #ffffff; diff --git a/images/icons/discogs.svg b/images/icons/discogs.svg new file mode 100644 index 00000000..2e516565 --- /dev/null +++ b/images/icons/discogs.svg @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/index.html b/index.html index ea9f7d0a..0d9250c2 100644 --- a/index.html +++ b/index.html @@ -151,6 +151,9 @@ Dev.to
+ + Discogs
+ Discord
From 7d7791785978af227c66e5a1676e1674600ca603 Mon Sep 17 00:00:00 2001 From: HLEndman Date: Wed, 10 Jan 2024 18:20:43 +0800 Subject: [PATCH 25/90] add a alt version of discogs --- .gitignore | 1 + .idea/.gitignore | 8 ------ .idea/inspectionProfiles/Project_Default.xml | 10 ------- .../inspectionProfiles/profiles_settings.xml | 6 ----- .idea/littlelink.iml | 8 ------ .idea/misc.xml | 4 --- .idea/modules.xml | 8 ------ .idea/vcs.xml | 6 ----- css/brands.css | 11 ++++++++ images/icons/discogs_alt.svg | 27 +++++++++++++++++++ index.html | 3 +++ 11 files changed, 42 insertions(+), 50 deletions(-) delete mode 100644 .idea/.gitignore delete mode 100644 .idea/inspectionProfiles/Project_Default.xml delete mode 100644 .idea/inspectionProfiles/profiles_settings.xml delete mode 100644 .idea/littlelink.iml delete mode 100644 .idea/misc.xml delete mode 100644 .idea/modules.xml delete mode 100644 .idea/vcs.xml create mode 100644 images/icons/discogs_alt.svg diff --git a/.gitignore b/.gitignore index e43b0f98..4befed30 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ .DS_Store +.idea diff --git a/.idea/.gitignore b/.idea/.gitignore deleted file mode 100644 index 13566b81..00000000 --- a/.idea/.gitignore +++ /dev/null @@ -1,8 +0,0 @@ -# Default ignored files -/shelf/ -/workspace.xml -# Editor-based HTTP Client requests -/httpRequests/ -# Datasource local storage ignored files -/dataSources/ -/dataSources.local.xml diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml deleted file mode 100644 index 50f85a47..00000000 --- a/.idea/inspectionProfiles/Project_Default.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - \ No newline at end of file diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml deleted file mode 100644 index 105ce2da..00000000 --- a/.idea/inspectionProfiles/profiles_settings.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - \ No newline at end of file diff --git a/.idea/littlelink.iml b/.idea/littlelink.iml deleted file mode 100644 index d0876a78..00000000 --- a/.idea/littlelink.iml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml deleted file mode 100644 index d56657ad..00000000 --- a/.idea/misc.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml deleted file mode 100644 index ac56cf05..00000000 --- a/.idea/modules.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml deleted file mode 100644 index 35eb1ddf..00000000 --- a/.idea/vcs.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/css/brands.css b/css/brands.css index a5de82c8..4759febc 100644 --- a/css/brands.css +++ b/css/brands.css @@ -277,6 +277,17 @@ button:hover, filter: brightness(90%); } +/* Discogs_alt */ +.button.button-discogs_alt { + color: #FFFFFF; + background-color: #000000; + border: 1px solid #FFFFFF +} +.button.button-discogs:hover, +.button.button-discogs:focus { + filter: brightness(90%); +} + /* Discord */ .button.button-discord { color: #ffffff; diff --git a/images/icons/discogs_alt.svg b/images/icons/discogs_alt.svg new file mode 100644 index 00000000..fc36ae63 --- /dev/null +++ b/images/icons/discogs_alt.svg @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/index.html b/index.html index 0d9250c2..c4b90040 100644 --- a/index.html +++ b/index.html @@ -154,6 +154,9 @@ Discogs
+ + Discogs
+ Discord
From 94c32d2cd69c1373e8e375dab5bd54c397c2b375 Mon Sep 17 00:00:00 2001 From: Lbr Date: Tue, 13 Feb 2024 11:04:02 +0100 Subject: [PATCH 26/90] Adding Bereal I would like to add BeReal as a very popular site mostly in EU. --- css/brands.css | 10 ++++++++++ images/icons/bereal.ico | Bin 0 -> 4286 bytes images/icons/revolut.svg | 1 + index.html | 4 +++- 4 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 images/icons/bereal.ico create mode 100644 images/icons/revolut.svg diff --git a/css/brands.css b/css/brands.css index 8e170f23..d683b1f2 100644 --- a/css/brands.css +++ b/css/brands.css @@ -1097,3 +1097,13 @@ button:hover, filter: brightness(90%); } +/* BeReal */ +.button.button-bereal { + color: #ffffff; + background-color: #000000; +} +.button.button-bereal:hover, +.button.button-bereal:focus { + filter: brightness(90%); +} + diff --git a/images/icons/bereal.ico b/images/icons/bereal.ico new file mode 100644 index 0000000000000000000000000000000000000000..84b53c17c426122517b69ac939608ec1f6297507 GIT binary patch literal 4286 zcmeHLJ8pz95S`R%A|j>UG9^by#T~c;N1)n*h7)iBinJVn18@L(dU{&NkBG<`#x@`4 zqljG%i^sEm^WKb&c8MPJ`*tH->HUf5g@|6YX&1d|gCDQEo_l`$wArCAQ531mE)D)t z4`f-UrfKrpIF738I#pGbN|I#N$3;;n$$VV5;`1Dlhq*Sec?^7JjC6k#A6Ru=f2|)9 zziFCTXK;i8r|6}AId}tzRgVFsa}qwsu#L;IJf%HyIf4%zLSUc4 zU-muMbMIK;GuXcUU?mYQ5K Q*Kef%*aOS|0KfJ50U7GAM*si- literal 0 HcmV?d00001 diff --git a/images/icons/revolut.svg b/images/icons/revolut.svg new file mode 100644 index 00000000..77f23b53 --- /dev/null +++ b/images/icons/revolut.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/index.html b/index.html index 3fb593f0..a6b621eb 100644 --- a/index.html +++ b/index.html @@ -130,6 +130,9 @@ Behance
+ + BeReal
+ Bluesky
@@ -435,7 +438,6 @@ Visit Website
-
Reddit
+ + Revolut
+ Buy with Shop
From 015af70be10f7bd418ea097374be1e8fc6dabf60 Mon Sep 17 00:00:00 2001 From: Lbr Date: Wed, 21 Feb 2024 23:12:45 +0100 Subject: [PATCH 28/90] BeReal and Revolut fixes Added border around Bereal, adjusted color and switched Revolut logo for the latest version --- css/brands.css | 3 ++- images/icons/revolut.svg | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/css/brands.css b/css/brands.css index ea3a6cf8..e204a7a3 100644 --- a/css/brands.css +++ b/css/brands.css @@ -195,7 +195,8 @@ button:hover, /* BeReal */ .button.button-bereal { color: #ffffff; - background-color: #000000; + background-color: #121212; + border: 1px solid #ffffff; } .button.button-bereal:hover, .button.button-bereal:focus { diff --git a/images/icons/revolut.svg b/images/icons/revolut.svg index 77f23b53..c40ea8da 100644 --- a/images/icons/revolut.svg +++ b/images/icons/revolut.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From bdfe3198c29378187b580cd8edbeb2f76797d059 Mon Sep 17 00:00:00 2001 From: Lbr Date: Sat, 24 Feb 2024 00:25:10 +0100 Subject: [PATCH 29/90] Final touches Small fix and logo changes --- css/brands.css | 4 ++-- images/icons/bereal.ico | Bin 4286 -> 0 bytes images/icons/bereal.svg | 16 ++++++++++++++++ images/icons/revolut.svg | 5 ++++- index.html | 2 +- 5 files changed, 23 insertions(+), 4 deletions(-) delete mode 100644 images/icons/bereal.ico create mode 100644 images/icons/bereal.svg diff --git a/css/brands.css b/css/brands.css index e204a7a3..77519c01 100644 --- a/css/brands.css +++ b/css/brands.css @@ -195,7 +195,7 @@ button:hover, /* BeReal */ .button.button-bereal { color: #ffffff; - background-color: #121212; + background-color: #000000; border: 1px solid #ffffff; } .button.button-bereal:hover, @@ -740,7 +740,7 @@ button:hover, .button.button-revolut { color: #000000; background-color: #ffffff; - border: 2px solid black; + border: 1px solid black; } .button.button-rev:hover, .button.button-rev:focus { diff --git a/images/icons/bereal.ico b/images/icons/bereal.ico deleted file mode 100644 index 84b53c17c426122517b69ac939608ec1f6297507..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmeHLJ8pz95S`R%A|j>UG9^by#T~c;N1)n*h7)iBinJVn18@L(dU{&NkBG<`#x@`4 zqljG%i^sEm^WKb&c8MPJ`*tH->HUf5g@|6YX&1d|gCDQEo_l`$wArCAQ531mE)D)t z4`f-UrfKrpIF738I#pGbN|I#N$3;;n$$VV5;`1Dlhq*Sec?^7JjC6k#A6Ru=f2|)9 zziFCTXK;i8r|6}AId}tzRgVFsa}qwsu#L;IJf%HyIf4%zLSUc4 zU-muMbMIK;GuXcUU?mYQ5K Q*Kef%*aOS|0KfJ50U7GAM*si- diff --git a/images/icons/bereal.svg b/images/icons/bereal.svg new file mode 100644 index 00000000..2d22bf40 --- /dev/null +++ b/images/icons/bereal.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/images/icons/revolut.svg b/images/icons/revolut.svg index c40ea8da..8619d4b1 100644 --- a/images/icons/revolut.svg +++ b/images/icons/revolut.svg @@ -1 +1,4 @@ - \ No newline at end of file + + + + diff --git a/index.html b/index.html index d287701c..7ecc4f3a 100644 --- a/index.html +++ b/index.html @@ -131,7 +131,7 @@ Behance
- BeReal
+ BeReal
Bluesky
From deff9bea0fd1498c7124fea43dd2583e37d859b1 Mon Sep 17 00:00:00 2001 From: ITRR <65588483+ImaTimekeeperReadingRaptor@users.noreply.github.com> Date: Sat, 24 Feb 2024 16:44:28 -0800 Subject: [PATCH 30/90] Update index.html --- index.html | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/index.html b/index.html index 0b02672d..2a98a1c7 100644 --- a/index.html +++ b/index.html @@ -136,6 +136,10 @@ Bluesky
+ + Bluesky Alt
+ + Buy Me A Coffee
From 241ed8c9e6bb89241a1f2089c09157e213c7d310 Mon Sep 17 00:00:00 2001 From: ITRR <65588483+ImaTimekeeperReadingRaptor@users.noreply.github.com> Date: Sat, 24 Feb 2024 16:45:14 -0800 Subject: [PATCH 31/90] Update index.html --- index.html | 1 - 1 file changed, 1 deletion(-) diff --git a/index.html b/index.html index 2a98a1c7..a0c1c40f 100644 --- a/index.html +++ b/index.html @@ -139,7 +139,6 @@ Bluesky Alt
- Buy Me A Coffee
From 5a32dfed19dc63e336afcd4db2e7bc768377a22e Mon Sep 17 00:00:00 2001 From: ITRR <65588483+ImaTimekeeperReadingRaptor@users.noreply.github.com> Date: Sat, 24 Feb 2024 16:47:04 -0800 Subject: [PATCH 32/90] Update brands.css --- css/brands.css | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/css/brands.css b/css/brands.css index 59f6cb73..128f65da 100644 --- a/css/brands.css +++ b/css/brands.css @@ -205,15 +205,25 @@ button:hover, /* Bluesky */ .button.button-bluesky { - color: #000000; - background-color: #F3F9FF; - border: 1px solid #212121; + color: #FFFFFF; + background-color: #1185FE; } + .button.button-bluesky:hover, .button.button-bluesky:focus { filter: brightness(90%); } +/* Bluesky Alt */ +.button.button-bluesky-alt { + color: #000000; + background-color: #FFFFFF; +} +.button.button-bluesky-alt:hover, +.button.button-bluesky-alt:focus { + filter: brightness(90%); +} + /* Buy Me a Coffee */ .button.button-coffee { color: #000000; From 18d913b499c229c513b9610b0d8b9cbed51647df Mon Sep 17 00:00:00 2001 From: ITRR <65588483+ImaTimekeeperReadingRaptor@users.noreply.github.com> Date: Sat, 24 Feb 2024 18:48:29 -0600 Subject: [PATCH 33/90] bluesky.svg and bluesky-alt.svg Changed the Bluesky svg to their new logo, and added an alt --- images/icons/bluesky-alt.svg | 38 +++++++++++++++++++++++++++ images/icons/bluesky.svg | 50 ++++++++++++++++++++++++++---------- 2 files changed, 75 insertions(+), 13 deletions(-) create mode 100644 images/icons/bluesky-alt.svg diff --git a/images/icons/bluesky-alt.svg b/images/icons/bluesky-alt.svg new file mode 100644 index 00000000..9e04bb07 --- /dev/null +++ b/images/icons/bluesky-alt.svg @@ -0,0 +1,38 @@ + + + + + + diff --git a/images/icons/bluesky.svg b/images/icons/bluesky.svg index c21441ed..8eba5b0d 100644 --- a/images/icons/bluesky.svg +++ b/images/icons/bluesky.svg @@ -1,14 +1,38 @@ - - - - - - - - - - - - - + + + + + From a2160ebe7916615d54a349b5d1f0c72324b893bc Mon Sep 17 00:00:00 2001 From: ITRR <65588483+ImaTimekeeperReadingRaptor@users.noreply.github.com> Date: Sat, 24 Feb 2024 17:03:50 -0800 Subject: [PATCH 34/90] Update index.html --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index a0c1c40f..0394e47e 100644 --- a/index.html +++ b/index.html @@ -137,7 +137,7 @@ Bluesky
- Bluesky Alt
+ Bluesky
Buy Me A Coffee
From 87b38d22241287323a172fe1ecf9cda9e3d7b5d2 Mon Sep 17 00:00:00 2001 From: ITRR <65588483+ImaTimekeeperReadingRaptor@users.noreply.github.com> Date: Mon, 26 Feb 2024 11:06:50 -0600 Subject: [PATCH 35/90] Fix: Border to Bluesky Alt button for light mode accessibility --- css/brands.css | 1 + 1 file changed, 1 insertion(+) diff --git a/css/brands.css b/css/brands.css index 128f65da..3e2eeea8 100644 --- a/css/brands.css +++ b/css/brands.css @@ -218,6 +218,7 @@ button:hover, .button.button-bluesky-alt { color: #000000; background-color: #FFFFFF; + border: 1px solid #000000; } .button.button-bluesky-alt:hover, .button.button-bluesky-alt:focus { From 18d46bd04d17866846edc7ef4951c39e48e624cb Mon Sep 17 00:00:00 2001 From: Seth Cottle Date: Mon, 4 Mar 2024 10:41:31 -0500 Subject: [PATCH 36/90] Stack Overflow + Tweaks Added Stack Overflow, renamed Steam Dark to Steam Alt to match the defined pattern we're already using for alternate buttons. Added stroke for accessibility. --- css/brands.css | 24 ++++++++++++++++++------ images/icons/stack-overflow.svg | 11 +++++++++++ index.html | 7 +++++-- 3 files changed, 34 insertions(+), 8 deletions(-) create mode 100644 images/icons/stack-overflow.svg diff --git a/css/brands.css b/css/brands.css index 3e2eeea8..3bc142c4 100644 --- a/css/brands.css +++ b/css/brands.css @@ -884,13 +884,14 @@ button:hover, filter: brightness(90%); } -/* Steam Dark */ -.button.button-steam-dark { - color: #ffffff; - background-image: linear-gradient(90deg, #09172a, #072a57, #0c5085); +/* Stack Overflow */ +.button.button-stack-overflow { + color: #000000; + background-color: #FFFFFF; + border: 1px solid #000000; } -.button.button-steam-dark:hover, -.button.button-steam-dark:focus { +.button.button-stack-overflow:hover, +.button.button-stack-overflow:focus { filter: brightness(90%); } @@ -904,6 +905,17 @@ button:hover, filter: brightness(90%); } +/* Steam Alt */ +.button.button-steam-alt { + color: #ffffff; + background-image: linear-gradient(90deg, #09172a, #072a57, #0c5085); + border: 1px solid #FFFFFF; +} +.button.button-steam-alt:hover, +.button.button-steam-alt:focus { + filter: brightness(90%); +} + /* Strava */ .button.button-strava { color: #ffffff; diff --git a/images/icons/stack-overflow.svg b/images/icons/stack-overflow.svg new file mode 100644 index 00000000..e548a790 --- /dev/null +++ b/images/icons/stack-overflow.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/index.html b/index.html index 0394e47e..35c2bc85 100644 --- a/index.html +++ b/index.html @@ -325,12 +325,15 @@ Buy with Square
- - Steam
+ + Stack Overflow
Steam
+ + Steam
+ Strava
From df1f9e607543ff42bcba3c9c59e711435759d490 Mon Sep 17 00:00:00 2001 From: Seth Cottle Date: Wed, 6 Mar 2024 12:04:16 -0500 Subject: [PATCH 37/90] Added Microsoft Store --- css/brands.css | 11 +++++++++++ images/icons/microsoft.svg | 6 ++++++ index.html | 3 +++ 3 files changed, 20 insertions(+) create mode 100644 images/icons/microsoft.svg diff --git a/css/brands.css b/css/brands.css index 3bc142c4..c1d4c4fd 100644 --- a/css/brands.css +++ b/css/brands.css @@ -642,6 +642,17 @@ button:hover, filter: brightness(90%); } +/* Microsoft */ +.button.button-microsoft { + color: #ffffff; + background-color: #000000; + border: 1px solid #FFFFFF; +} +.button.button-microsoft:hover, +.button.button-microsoft:focus { + filter: brightness(90%); +} + /* NGL */ .button.button-ngl { color: #ffffff; diff --git a/images/icons/microsoft.svg b/images/icons/microsoft.svg new file mode 100644 index 00000000..8e7945c7 --- /dev/null +++ b/images/icons/microsoft.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/index.html b/index.html index 35c2bc85..294a3fb2 100644 --- a/index.html +++ b/index.html @@ -255,6 +255,9 @@ Medium
+ + + Get it from Microsoft
NGL
From 94ddcd2685f4c5197492b00a8b583d89a00e736b Mon Sep 17 00:00:00 2001 From: Seth Cottle Date: Wed, 6 Mar 2024 22:59:49 -0500 Subject: [PATCH 38/90] General Updates Added the `aria-hidden="true"` to `img` to avoid having the icon be read by screen readers. Screen readers should now read as a simplified `[brand] button` (i.e. `LittleLink button`). Alt text is making a return with this as well. I've removed Twitter, since it looks like X branding is sticking around. Renamed `discogs_alt` to `discogs-alt` to align with how other alt versions are added. --- css/brands.css | 39 +-- .../{discogs_alt.svg => discogs-alt.svg} | 0 images/icons/twitter.svg | 10 - index.html | 246 +++++++++--------- 4 files changed, 126 insertions(+), 169 deletions(-) rename images/icons/{discogs_alt.svg => discogs-alt.svg} (100%) delete mode 100644 images/icons/twitter.svg diff --git a/css/brands.css b/css/brands.css index c1d4c4fd..90f0e7de 100644 --- a/css/brands.css +++ b/css/brands.css @@ -299,14 +299,14 @@ button:hover, filter: brightness(90%); } -/* Discogs_alt */ -.button.button-discogs_alt { +/* Discogs Alt */ +.button.button-discogs-alt { color: #FFFFFF; background-color: #000000; border: 1px solid #FFFFFF } -.button.button-discogs:hover, -.button.button-discogs:focus { +.button.button-discogs-alt:hover, +.button.button-discogs-alt:focus { filter: brightness(90%); } @@ -465,17 +465,6 @@ button:hover, filter: brightness(90%); } -/* Google Podcasts */ -.button.button-google-podcasts { - color: #000000; - background-color: #FFFFFF; - border: 1px solid #212121; -} -.button.button-google-podcasts:hover, -.button.button-google-podcasts:focus { - filter: brightness(90%); -} - /* Google Scholar */ .button.button-google-scholar { color: #000000; @@ -537,7 +526,6 @@ button:hover, filter: brightness(90%); } - /* Kickstarter */ .button.button-kickstarter { color: #ffffff; @@ -752,7 +740,7 @@ button:hover, .button.button-qq { color: #000000; background-color: #FFFFFF; - border: 3px solid #4D94FF; + border: 1px solid #000000; } .button.button-qq:hover, .button.button-qq:focus { @@ -843,7 +831,6 @@ button:hover, filter: brightness(90%); } - /* Snapchat */ .button.button-snapchat { color: #000000; @@ -1030,16 +1017,6 @@ button:hover, filter: brightness(90%); } -/* Twitter (archiving soon, see 'X') */ -.button.button-twit { - color: #ffffff; - background-color: #1da1f2; -} -.button.button-twit:hover, -.button.button-twit:focus { - filter: brightness(90%); -} - /* Unsplash */ .button.button-unsplash { color: #000000; @@ -1184,8 +1161,4 @@ button:hover, .button.button-zoom:hover, .button.button-zoom:focus { filter: brightness(90%); -} - - - - +} \ No newline at end of file diff --git a/images/icons/discogs_alt.svg b/images/icons/discogs-alt.svg similarity index 100% rename from images/icons/discogs_alt.svg rename to images/icons/discogs-alt.svg diff --git a/images/icons/twitter.svg b/images/icons/twitter.svg deleted file mode 100644 index 53dcd7aa..00000000 --- a/images/icons/twitter.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/index.html b/index.html index 294a3fb2..385e8f97 100644 --- a/index.html +++ b/index.html @@ -69,7 +69,7 @@

LittleLink

-

An open source DIY Linktree alternative.

+

An open source DIY Linktree alternative.

- LittleLink
+ LittleLink
- Amazon Wishlist
+ Amazon Wishlist
- Listen on Amazon Music
+ Listen on Amazon Music
- Apple App Store
+ Apple App Store
- Listen on Apple Music
+ Listen on Apple Music
- Listen on Apple Music
+ Listen on Apple Music
- Listen on Apple Podcasts
+ Listen on Apple Podcasts
- Listen on Apple Podcasts
+ Listen on Apple Podcasts
- Bandcamp
+ Bandcamp
- Behance
+ Behance
- BeReal
+ BeReal
- Bluesky
+ Bluesky
- Bluesky
+ Bluesky
- Buy Me A Coffee
+ Buy Me A Coffee
- Schedule with Cal.com
+ Schedule with Cal.com
- Schedule with Calendly
+ Schedule with Calendly
- Cash App
+ Cash App
- Clubhouse
+ Clubhouse
- Dev.to
+ Dev.to
- Discogs
+ Discogs
- - Discogs
+ + Discogs
- Discord
+ Discord
- Dribbble
+ Dribbble
- Shop on Etsy
+ Shop on Etsy
- Find us on Facebook
+ Find us on Facebook
- Chat on Messenger
+ Chat on Messenger
- Figma Community
+ Figma Community
- Fiverr Gig
+ Fiverr Gig
- Flickr
+ Flickr
- GitHub
+ GitHub
- GitLab
+ GitLab
- GoFundMe
+ GoFundMe
- Goodreads
+ Goodreads
- View in Google Drive
+ View in Google Drive
- Google Play Store
- - - Listen on Google Podcasts
+ Google Play Store
- Google Scholar
+ Google Scholar
- Guilded
+ Guilded
- Hashnode
+ Hashnode
- Instagram
+ Instagram
- Kick
+ Kick
- Kick
+ Kick
- Kickstarter
+ Kickstarter
- Kit
+ Kit
- Ko-fi
+ Ko-fi
- Last.fm
+ Last.fm
- Letterboxd
+ Letterboxd
- Line
+ Line
- LinkedIn
+ LinkedIn
- Mailchimp
+ Mailchimp
- Mastodon
+ Mastodon
- Medium
+ Medium
- Get it from Microsoft
+ Get it from Microsoft
- NGL
+ NGL
- Notion
+ Notion
- OnlyFans (18+)
+ OnlyFans (18+)
- Partiful
+ Partiful
- Patreon
+ Patreon
- PayPal
+ PayPal
- Pinterest
+ Pinterest
- Post.news
+ Post.news
- Product Hunt
+ Product Hunt
- QQ
+ QQ
- Read.cv
+ Read.cv
- Redbubble
+ Redbubble
- Reddit
+ Reddit
- Revolut
+ Revolut
- Buy with Shop
+ Buy with Shop
- Signal
+ Signal
- Skoob
+ Skoob
- Join Slack
+ Join Slack
- Snapchat
+ Snapchat
- SoundCloud
+ SoundCloud
- Listen on Spotify
+ Listen on Spotify
- Listen on Spotify
+ Listen on Spotify
- Buy with Square
+ Buy with Square
- Stack Overflow
+ Stack Overflow
- Steam
+ Steam
- Steam
+ Steam
- Strava
+ Strava
- Substack
+ Substack
- Telegram
+ Telegram
- Threads
+ Threads
- Threema
+ Threema
- TikTok
+ TikTok
- Trakt
+ Trakt
- Trello
+ Trello
- Tumblr
+ Tumblr
- Twitch
- - - Twitter
+ Twitch
- Unsplash
+ Unsplash
- Untappd
+ Untappd
- Upwork
+ Upwork
- Venmo
+ Venmo
- Vimeo
+ Vimeo
- VRChat
+ VRChat
- VSCO
+ VSCO
- WhatsApp
+ WhatsApp
- WordPress
+ WordPress
- Follow on X
+ Follow on X
- Xing
+ Xing
- YouTube
+ YouTube
- Listen on YouTube Music
+ Listen on YouTube Music
- Join Zoom Webinar
+ Join Zoom Webinar
- Read our blog
+ Read our blog
- Event RSVP
+ Event RSVP
- Download File
+ Download File
- View the code
+ View the code
- Homelab Setup
+ Homelab Setup
- Email Us
+ Email Us
- Email Us
+ Email Us
- Visit Homepage
+ Visit Homepage
- Get Directions
+ Get Directions
- Call Us
+ Call Us
- Leave us a review
+ Leave us a review
- RSS Subscribe
+ RSS Subscribe
- Visit Our Shop
+ Visit Our Shop
- 10% Discount
+ 10% Discount
- Send us a message
+ Send us a message
- Visit Website
+ Visit Website

+ @@ -129,10 +137,7 @@ Behance
- - - BeReal
- + Bluesky
@@ -151,9 +156,6 @@ Cash App
- - Clubhouse
- Dev.to
@@ -208,9 +210,6 @@ Google Scholar
- - Guilded
- Hashnode
@@ -265,9 +264,6 @@ OnlyFans (18+)
- - Partiful
- Patreon
@@ -277,15 +273,9 @@ Pinterest
- - Post.news
- Product Hunt
- - QQ
- Read.cv
@@ -304,9 +294,6 @@ Signal
- - Skoob
- Join Slack
@@ -379,9 +366,6 @@ Vimeo
- - VRChat
- VSCO
@@ -394,9 +378,6 @@ Follow on X
- - Xing
- YouTube
From 174cc57907e3c20d6a3dabb28e711cf886303857 Mon Sep 17 00:00:00 2001 From: Seth Cottle Date: Tue, 23 Jul 2024 10:41:54 -0400 Subject: [PATCH 46/90] Optimized Image File Size Saved 46 KB out of 303 KB. 17.1% per file on average. --- images/icons/amazon-music.svg | 18 +---- images/icons/amazon.svg | 14 +--- images/icons/apple-music-alt.svg | 11 +-- images/icons/apple-music.svg | 16 +--- images/icons/apple-podcasts-alt.svg | 15 +--- images/icons/apple-podcasts.svg | 19 +---- images/icons/apple.svg | 11 +-- images/icons/artstation.svg | 6 +- images/icons/bandcamp.svg | 5 +- images/icons/behance.svg | 11 +-- images/icons/blog.svg | 11 +-- images/icons/bluesky-alt.svg | 39 +--------- images/icons/bluesky.svg | 39 +--------- images/icons/buy-me-a-coffee.svg | 12 +-- images/icons/cal.svg | 6 +- images/icons/calendly.svg | 13 +--- images/icons/cash-app-btc.svg | 21 +----- images/icons/cash-app-dollar.svg | 21 +----- images/icons/cash-app-pound.svg | 21 +----- images/icons/dev-to.svg | 4 +- images/icons/discogs-alt.svg | 28 +------ images/icons/discogs.svg | 28 +------ images/icons/discord.svg | 4 +- images/icons/dribbble.svg | 12 +-- images/icons/email-alt.svg | 11 +-- images/icons/email.svg | 11 +-- images/icons/etsy.svg | 11 +-- images/icons/facebook.svg | 11 +-- images/icons/figma.svg | 8 +- images/icons/flickr.svg | 18 +---- images/icons/generic-blog.svg | 11 +-- images/icons/generic-calendar.svg | 4 +- images/icons/generic-cloud.svg | 4 +- images/icons/generic-code.svg | 11 +-- images/icons/generic-computer.svg | 4 +- images/icons/generic-email-alt.svg | 11 +-- images/icons/generic-email.svg | 4 +- images/icons/generic-homepage.svg | 4 +- images/icons/generic-map.svg | 4 +- images/icons/generic-phone.svg | 11 +-- images/icons/generic-review.svg | 4 +- images/icons/generic-rss.svg | 11 +-- images/icons/generic-shopping-bag.svg | 4 +- images/icons/generic-shopping-tag.svg | 11 +-- images/icons/generic-sms.svg | 4 +- images/icons/generic-website.svg | 11 +-- images/icons/github.svg | 11 +-- images/icons/gitlab.svg | 10 +-- images/icons/gofundme.svg | 7 +- images/icons/goodreads.svg | 12 +-- images/icons/google-drive.svg | 16 +--- images/icons/google-play.svg | 7 +- images/icons/google-podcasts.svg | 20 +---- images/icons/google-scholar.svg | 14 +--- images/icons/hashnode.svg | 24 +----- images/icons/instagram.svg | 11 +-- images/icons/kick-alt.svg | 28 +------ images/icons/kick.svg | 24 +----- images/icons/kickstarter.svg | 16 +--- images/icons/kit.svg | 11 +-- images/icons/ko-fi.svg | 6 +- images/icons/last-fm.svg | 4 +- images/icons/letterboxd.svg | 8 +- images/icons/line.svg | 4 +- images/icons/linkedin.svg | 11 +-- images/icons/littlelink.svg | 17 +---- images/icons/mailchimp.svg | 11 +-- images/icons/mastodon.svg | 16 +--- images/icons/medium.svg | 6 +- images/icons/messenger.svg | 11 +-- images/icons/microsoft.svg | 7 +- images/icons/ngl.svg | 2 +- images/icons/notion.svg | 15 +--- images/icons/onlyfans.svg | 5 +- images/icons/patreon.svg | 11 +-- images/icons/paypal.svg | 6 +- images/icons/pinterest.svg | 12 +-- images/icons/product-hunt.svg | 12 +-- images/icons/read-cv.svg | 11 +-- images/icons/redbubble.svg | 11 +-- images/icons/reddit.svg | 105 +------------------------- images/icons/revolut.svg | 5 +- images/icons/shop.svg | 11 +-- images/icons/signal.svg | 11 +-- images/icons/slack.svg | 11 +-- images/icons/snapchat.svg | 12 +-- images/icons/soundcloud.svg | 4 +- images/icons/spotify-alt.svg | 11 +-- images/icons/spotify.svg | 11 +-- images/icons/square.svg | 12 +-- images/icons/stack-overflow.svg | 12 +-- images/icons/steam.svg | 11 +-- images/icons/strava.svg | 4 +- images/icons/telegram.svg | 11 +-- images/icons/threads.svg | 4 +- images/icons/threema.svg | 11 +-- images/icons/tiktok.svg | 13 +--- images/icons/trakt.svg | 14 +--- images/icons/trello.svg | 20 +---- images/icons/tumblr.svg | 4 +- images/icons/twitch.svg | 6 +- images/icons/unsplash.svg | 11 +-- images/icons/untappd.svg | 5 +- images/icons/upwork.svg | 4 +- images/icons/venmo.svg | 4 +- images/icons/vimeo.svg | 4 +- images/icons/vrchat.svg | 3 +- images/icons/vsco.svg | 11 +-- images/icons/whatsapp.svg | 22 +----- images/icons/wordpress.svg | 11 +-- images/icons/x.svg | 4 +- images/icons/youtube-music.svg | 13 +--- images/icons/youtube.svg | 5 +- images/icons/zoom.svg | 4 +- images/littlelink.png | Bin 2991 -> 2710 bytes images/littlelink.svg | 12 +-- images/littlelink@2x.png | Bin 8812 -> 7665 bytes 117 files changed, 115 insertions(+), 1266 deletions(-) diff --git a/images/icons/amazon-music.svg b/images/icons/amazon-music.svg index 1d74ad06..5e392e33 100644 --- a/images/icons/amazon-music.svg +++ b/images/icons/amazon-music.svg @@ -1,17 +1 @@ - - - - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/images/icons/amazon.svg b/images/icons/amazon.svg index 4dfc77f8..0f30b215 100644 --- a/images/icons/amazon.svg +++ b/images/icons/amazon.svg @@ -1,13 +1 @@ - - - - - - - - - - - - - + \ No newline at end of file diff --git a/images/icons/apple-music-alt.svg b/images/icons/apple-music-alt.svg index b5bff105..152598fa 100644 --- a/images/icons/apple-music-alt.svg +++ b/images/icons/apple-music-alt.svg @@ -1,10 +1 @@ - - - - - - - - - - + \ No newline at end of file diff --git a/images/icons/apple-music.svg b/images/icons/apple-music.svg index 846eb200..c4a5a6b2 100644 --- a/images/icons/apple-music.svg +++ b/images/icons/apple-music.svg @@ -1,15 +1 @@ - - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/images/icons/apple-podcasts-alt.svg b/images/icons/apple-podcasts-alt.svg index b029a7e8..de30ad88 100644 --- a/images/icons/apple-podcasts-alt.svg +++ b/images/icons/apple-podcasts-alt.svg @@ -1,14 +1 @@ - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/images/icons/apple-podcasts.svg b/images/icons/apple-podcasts.svg index 2e4d203c..9d8e414f 100644 --- a/images/icons/apple-podcasts.svg +++ b/images/icons/apple-podcasts.svg @@ -1,18 +1 @@ - - - - - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/images/icons/apple.svg b/images/icons/apple.svg index fe122330..6eb6a008 100644 --- a/images/icons/apple.svg +++ b/images/icons/apple.svg @@ -1,10 +1 @@ - - - - - - - - - - + \ No newline at end of file diff --git a/images/icons/artstation.svg b/images/icons/artstation.svg index 849010fc..e8fd6b6a 100644 --- a/images/icons/artstation.svg +++ b/images/icons/artstation.svg @@ -1,5 +1 @@ - - - - - + \ No newline at end of file diff --git a/images/icons/bandcamp.svg b/images/icons/bandcamp.svg index 7dce88b4..c68ce86f 100644 --- a/images/icons/bandcamp.svg +++ b/images/icons/bandcamp.svg @@ -1,4 +1 @@ - - - - + \ No newline at end of file diff --git a/images/icons/behance.svg b/images/icons/behance.svg index e1b92f65..00116cab 100644 --- a/images/icons/behance.svg +++ b/images/icons/behance.svg @@ -1,10 +1 @@ - - - - - - - - - - + \ No newline at end of file diff --git a/images/icons/blog.svg b/images/icons/blog.svg index 063390fa..ac23f7f0 100644 --- a/images/icons/blog.svg +++ b/images/icons/blog.svg @@ -1,10 +1 @@ - - - - - - - - - - + \ No newline at end of file diff --git a/images/icons/bluesky-alt.svg b/images/icons/bluesky-alt.svg index 9e04bb07..716e8737 100644 --- a/images/icons/bluesky-alt.svg +++ b/images/icons/bluesky-alt.svg @@ -1,38 +1 @@ - - - - - - + \ No newline at end of file diff --git a/images/icons/bluesky.svg b/images/icons/bluesky.svg index 8eba5b0d..8742cd76 100644 --- a/images/icons/bluesky.svg +++ b/images/icons/bluesky.svg @@ -1,38 +1 @@ - - - - - - + \ No newline at end of file diff --git a/images/icons/buy-me-a-coffee.svg b/images/icons/buy-me-a-coffee.svg index 1a6e5009..a273355b 100644 --- a/images/icons/buy-me-a-coffee.svg +++ b/images/icons/buy-me-a-coffee.svg @@ -1,11 +1 @@ - - - - - - - - - - - + \ No newline at end of file diff --git a/images/icons/cal.svg b/images/icons/cal.svg index 1af57fdf..cec7ea5c 100644 --- a/images/icons/cal.svg +++ b/images/icons/cal.svg @@ -1,5 +1 @@ - - - - - + \ No newline at end of file diff --git a/images/icons/calendly.svg b/images/icons/calendly.svg index acb104e9..a56807c7 100644 --- a/images/icons/calendly.svg +++ b/images/icons/calendly.svg @@ -1,12 +1 @@ - - - - - - - - - - - - + \ No newline at end of file diff --git a/images/icons/cash-app-btc.svg b/images/icons/cash-app-btc.svg index 81c78b64..0c282232 100644 --- a/images/icons/cash-app-btc.svg +++ b/images/icons/cash-app-btc.svg @@ -1,20 +1 @@ - - - - - - - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/images/icons/cash-app-dollar.svg b/images/icons/cash-app-dollar.svg index 276416ca..1e9ef1a9 100644 --- a/images/icons/cash-app-dollar.svg +++ b/images/icons/cash-app-dollar.svg @@ -1,20 +1 @@ - - - - - - - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/images/icons/cash-app-pound.svg b/images/icons/cash-app-pound.svg index 6220f75b..84edc5bb 100644 --- a/images/icons/cash-app-pound.svg +++ b/images/icons/cash-app-pound.svg @@ -1,20 +1 @@ - - - - - - - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/images/icons/dev-to.svg b/images/icons/dev-to.svg index 4e9896fe..2d25a8eb 100644 --- a/images/icons/dev-to.svg +++ b/images/icons/dev-to.svg @@ -1,3 +1 @@ - - - + \ No newline at end of file diff --git a/images/icons/discogs-alt.svg b/images/icons/discogs-alt.svg index fc36ae63..f91e5c1e 100644 --- a/images/icons/discogs-alt.svg +++ b/images/icons/discogs-alt.svg @@ -1,27 +1 @@ - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + \ No newline at end of file diff --git a/images/icons/discogs.svg b/images/icons/discogs.svg index 2e516565..08d99aa9 100644 --- a/images/icons/discogs.svg +++ b/images/icons/discogs.svg @@ -1,27 +1 @@ - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + \ No newline at end of file diff --git a/images/icons/discord.svg b/images/icons/discord.svg index 0d23b23f..1677aa27 100644 --- a/images/icons/discord.svg +++ b/images/icons/discord.svg @@ -1,3 +1 @@ - - - + \ No newline at end of file diff --git a/images/icons/dribbble.svg b/images/icons/dribbble.svg index 4d36ccf6..f73d21f6 100644 --- a/images/icons/dribbble.svg +++ b/images/icons/dribbble.svg @@ -1,11 +1 @@ - - - - - - - - - - - + \ No newline at end of file diff --git a/images/icons/email-alt.svg b/images/icons/email-alt.svg index 80facf0b..2cd5c518 100644 --- a/images/icons/email-alt.svg +++ b/images/icons/email-alt.svg @@ -1,10 +1 @@ - - - - - - - - - - + \ No newline at end of file diff --git a/images/icons/email.svg b/images/icons/email.svg index b494f4eb..b00cab14 100644 --- a/images/icons/email.svg +++ b/images/icons/email.svg @@ -1,10 +1 @@ - - - - - - - - - - + \ No newline at end of file diff --git a/images/icons/etsy.svg b/images/icons/etsy.svg index 9be5ae0f..bd82581c 100644 --- a/images/icons/etsy.svg +++ b/images/icons/etsy.svg @@ -1,10 +1 @@ - - - - - - - - - - + \ No newline at end of file diff --git a/images/icons/facebook.svg b/images/icons/facebook.svg index 583ffe2b..337ac701 100644 --- a/images/icons/facebook.svg +++ b/images/icons/facebook.svg @@ -1,10 +1 @@ - - - - - - - - - - + \ No newline at end of file diff --git a/images/icons/figma.svg b/images/icons/figma.svg index 297e4486..60b2398e 100644 --- a/images/icons/figma.svg +++ b/images/icons/figma.svg @@ -1,7 +1 @@ - - - - - - - + \ No newline at end of file diff --git a/images/icons/flickr.svg b/images/icons/flickr.svg index d3898a1a..79a005ea 100644 --- a/images/icons/flickr.svg +++ b/images/icons/flickr.svg @@ -1,17 +1 @@ - - - - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/images/icons/generic-blog.svg b/images/icons/generic-blog.svg index c9a9ae5f..d107c7b9 100644 --- a/images/icons/generic-blog.svg +++ b/images/icons/generic-blog.svg @@ -1,10 +1 @@ - - - - - - - - - - + \ No newline at end of file diff --git a/images/icons/generic-calendar.svg b/images/icons/generic-calendar.svg index 49dfe191..90a70c9a 100644 --- a/images/icons/generic-calendar.svg +++ b/images/icons/generic-calendar.svg @@ -1,3 +1 @@ - - - + \ No newline at end of file diff --git a/images/icons/generic-cloud.svg b/images/icons/generic-cloud.svg index a879a3e1..d8e2a657 100644 --- a/images/icons/generic-cloud.svg +++ b/images/icons/generic-cloud.svg @@ -1,3 +1 @@ - - - + \ No newline at end of file diff --git a/images/icons/generic-code.svg b/images/icons/generic-code.svg index b8d9479d..4d7999b1 100644 --- a/images/icons/generic-code.svg +++ b/images/icons/generic-code.svg @@ -1,10 +1 @@ - - - - - - - - - - + \ No newline at end of file diff --git a/images/icons/generic-computer.svg b/images/icons/generic-computer.svg index 5d582f4b..c19b60c5 100644 --- a/images/icons/generic-computer.svg +++ b/images/icons/generic-computer.svg @@ -1,3 +1 @@ - - - + \ No newline at end of file diff --git a/images/icons/generic-email-alt.svg b/images/icons/generic-email-alt.svg index d3e6a061..84c2a466 100644 --- a/images/icons/generic-email-alt.svg +++ b/images/icons/generic-email-alt.svg @@ -1,10 +1 @@ - - - - - - - - - - + \ No newline at end of file diff --git a/images/icons/generic-email.svg b/images/icons/generic-email.svg index dd44d150..b77761cc 100644 --- a/images/icons/generic-email.svg +++ b/images/icons/generic-email.svg @@ -1,3 +1 @@ - - - + \ No newline at end of file diff --git a/images/icons/generic-homepage.svg b/images/icons/generic-homepage.svg index dd471256..82343d1f 100644 --- a/images/icons/generic-homepage.svg +++ b/images/icons/generic-homepage.svg @@ -1,3 +1 @@ - - - + \ No newline at end of file diff --git a/images/icons/generic-map.svg b/images/icons/generic-map.svg index d8f8e849..fa89872a 100644 --- a/images/icons/generic-map.svg +++ b/images/icons/generic-map.svg @@ -1,3 +1 @@ - - - + \ No newline at end of file diff --git a/images/icons/generic-phone.svg b/images/icons/generic-phone.svg index e83096bf..13af93de 100644 --- a/images/icons/generic-phone.svg +++ b/images/icons/generic-phone.svg @@ -1,10 +1 @@ - - - - - - - - - - + \ No newline at end of file diff --git a/images/icons/generic-review.svg b/images/icons/generic-review.svg index 8b93dc91..22e09aef 100644 --- a/images/icons/generic-review.svg +++ b/images/icons/generic-review.svg @@ -1,3 +1 @@ - - - + \ No newline at end of file diff --git a/images/icons/generic-rss.svg b/images/icons/generic-rss.svg index e4be1652..989ebe92 100644 --- a/images/icons/generic-rss.svg +++ b/images/icons/generic-rss.svg @@ -1,10 +1 @@ - - - - - - - - - - + \ No newline at end of file diff --git a/images/icons/generic-shopping-bag.svg b/images/icons/generic-shopping-bag.svg index 4c74f568..4e22ed55 100644 --- a/images/icons/generic-shopping-bag.svg +++ b/images/icons/generic-shopping-bag.svg @@ -1,3 +1 @@ - - - + \ No newline at end of file diff --git a/images/icons/generic-shopping-tag.svg b/images/icons/generic-shopping-tag.svg index 8774852c..15bdb68d 100644 --- a/images/icons/generic-shopping-tag.svg +++ b/images/icons/generic-shopping-tag.svg @@ -1,10 +1 @@ - - - - - - - - - - + \ No newline at end of file diff --git a/images/icons/generic-sms.svg b/images/icons/generic-sms.svg index 5d750216..3d4adf42 100644 --- a/images/icons/generic-sms.svg +++ b/images/icons/generic-sms.svg @@ -1,3 +1 @@ - - - + \ No newline at end of file diff --git a/images/icons/generic-website.svg b/images/icons/generic-website.svg index 919574e3..a3623c92 100644 --- a/images/icons/generic-website.svg +++ b/images/icons/generic-website.svg @@ -1,10 +1 @@ - - - - - - - - - - + \ No newline at end of file diff --git a/images/icons/github.svg b/images/icons/github.svg index 6994757d..bfdc3594 100644 --- a/images/icons/github.svg +++ b/images/icons/github.svg @@ -1,10 +1 @@ - - - - - - - - - - + \ No newline at end of file diff --git a/images/icons/gitlab.svg b/images/icons/gitlab.svg index 816f2747..e17e1464 100644 --- a/images/icons/gitlab.svg +++ b/images/icons/gitlab.svg @@ -1,9 +1 @@ - - - - - - - - - + \ No newline at end of file diff --git a/images/icons/gofundme.svg b/images/icons/gofundme.svg index 1db8fb83..0944d4b0 100644 --- a/images/icons/gofundme.svg +++ b/images/icons/gofundme.svg @@ -1,6 +1 @@ - - - - - - + \ No newline at end of file diff --git a/images/icons/goodreads.svg b/images/icons/goodreads.svg index 50c45f97..7edf57a8 100644 --- a/images/icons/goodreads.svg +++ b/images/icons/goodreads.svg @@ -1,11 +1 @@ - - - - - - - - - - - + \ No newline at end of file diff --git a/images/icons/google-drive.svg b/images/icons/google-drive.svg index 4aff9866..56620e2d 100644 --- a/images/icons/google-drive.svg +++ b/images/icons/google-drive.svg @@ -1,15 +1 @@ - - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/images/icons/google-play.svg b/images/icons/google-play.svg index b72aea58..010d6208 100644 --- a/images/icons/google-play.svg +++ b/images/icons/google-play.svg @@ -1,6 +1 @@ - - - - - - + \ No newline at end of file diff --git a/images/icons/google-podcasts.svg b/images/icons/google-podcasts.svg index 792b51f2..e5962117 100644 --- a/images/icons/google-podcasts.svg +++ b/images/icons/google-podcasts.svg @@ -1,19 +1 @@ - - - - - - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/images/icons/google-scholar.svg b/images/icons/google-scholar.svg index 929e0e60..59120820 100644 --- a/images/icons/google-scholar.svg +++ b/images/icons/google-scholar.svg @@ -1,13 +1 @@ - - - - - - - - - - - - - + \ No newline at end of file diff --git a/images/icons/hashnode.svg b/images/icons/hashnode.svg index 46063763..4e42d84f 100644 --- a/images/icons/hashnode.svg +++ b/images/icons/hashnode.svg @@ -1,23 +1 @@ - - - - - - - - - - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/images/icons/instagram.svg b/images/icons/instagram.svg index 2e7eead6..841d3e89 100644 --- a/images/icons/instagram.svg +++ b/images/icons/instagram.svg @@ -1,10 +1 @@ - - - - - - - - - - + \ No newline at end of file diff --git a/images/icons/kick-alt.svg b/images/icons/kick-alt.svg index e21eb883..f9dd757f 100644 --- a/images/icons/kick-alt.svg +++ b/images/icons/kick-alt.svg @@ -1,27 +1 @@ - - kick-svg - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + \ No newline at end of file diff --git a/images/icons/kick.svg b/images/icons/kick.svg index 8a8589f2..d4568b62 100644 --- a/images/icons/kick.svg +++ b/images/icons/kick.svg @@ -1,23 +1 @@ - - Kick_logo-svg - - - - - - - - - - - - - - - - - - - \ No newline at end of file + \ No newline at end of file diff --git a/images/icons/kickstarter.svg b/images/icons/kickstarter.svg index 2b0c4e7f..71ce32fe 100644 --- a/images/icons/kickstarter.svg +++ b/images/icons/kickstarter.svg @@ -1,15 +1 @@ - - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/images/icons/kit.svg b/images/icons/kit.svg index 8708a3ad..a972f9a5 100644 --- a/images/icons/kit.svg +++ b/images/icons/kit.svg @@ -1,10 +1 @@ - - - - - - - - - - + \ No newline at end of file diff --git a/images/icons/ko-fi.svg b/images/icons/ko-fi.svg index eea0dbd5..8bcd6858 100644 --- a/images/icons/ko-fi.svg +++ b/images/icons/ko-fi.svg @@ -1,5 +1 @@ - - - - - + \ No newline at end of file diff --git a/images/icons/last-fm.svg b/images/icons/last-fm.svg index 468b66b9..503b94db 100644 --- a/images/icons/last-fm.svg +++ b/images/icons/last-fm.svg @@ -1,3 +1 @@ - - - + \ No newline at end of file diff --git a/images/icons/letterboxd.svg b/images/icons/letterboxd.svg index 27efec7b..d6c518d0 100644 --- a/images/icons/letterboxd.svg +++ b/images/icons/letterboxd.svg @@ -1,7 +1 @@ - - - - - - - + \ No newline at end of file diff --git a/images/icons/line.svg b/images/icons/line.svg index 059a13d0..11f9b43e 100644 --- a/images/icons/line.svg +++ b/images/icons/line.svg @@ -1,3 +1 @@ - - - + \ No newline at end of file diff --git a/images/icons/linkedin.svg b/images/icons/linkedin.svg index 88029891..e323d7ea 100644 --- a/images/icons/linkedin.svg +++ b/images/icons/linkedin.svg @@ -1,10 +1 @@ - - - - - - - - - - + \ No newline at end of file diff --git a/images/icons/littlelink.svg b/images/icons/littlelink.svg index bf7b92cc..3a5a0073 100644 --- a/images/icons/littlelink.svg +++ b/images/icons/littlelink.svg @@ -1,16 +1 @@ - - - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/images/icons/mailchimp.svg b/images/icons/mailchimp.svg index f40e31fe..89f12b5a 100644 --- a/images/icons/mailchimp.svg +++ b/images/icons/mailchimp.svg @@ -1,10 +1 @@ - - - - - - - - - - + \ No newline at end of file diff --git a/images/icons/mastodon.svg b/images/icons/mastodon.svg index c8769921..c71fe889 100644 --- a/images/icons/mastodon.svg +++ b/images/icons/mastodon.svg @@ -1,15 +1 @@ - - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/images/icons/medium.svg b/images/icons/medium.svg index dbe8d4f6..e8ea6473 100644 --- a/images/icons/medium.svg +++ b/images/icons/medium.svg @@ -1,5 +1 @@ - - - - - + \ No newline at end of file diff --git a/images/icons/messenger.svg b/images/icons/messenger.svg index 82a7a7ff..c638a64f 100644 --- a/images/icons/messenger.svg +++ b/images/icons/messenger.svg @@ -1,10 +1 @@ - - - - - - - - - - + \ No newline at end of file diff --git a/images/icons/microsoft.svg b/images/icons/microsoft.svg index 8e7945c7..a50ed2da 100644 --- a/images/icons/microsoft.svg +++ b/images/icons/microsoft.svg @@ -1,6 +1 @@ - - - - - - + \ No newline at end of file diff --git a/images/icons/ngl.svg b/images/icons/ngl.svg index 3c215b47..b91d77ce 100644 --- a/images/icons/ngl.svg +++ b/images/icons/ngl.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/images/icons/notion.svg b/images/icons/notion.svg index ceaf7af8..fb878e02 100644 --- a/images/icons/notion.svg +++ b/images/icons/notion.svg @@ -1,14 +1 @@ - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/images/icons/onlyfans.svg b/images/icons/onlyfans.svg index 69830769..82288e3b 100644 --- a/images/icons/onlyfans.svg +++ b/images/icons/onlyfans.svg @@ -1,4 +1 @@ - - - - + \ No newline at end of file diff --git a/images/icons/patreon.svg b/images/icons/patreon.svg index 31828a2c..46abf0f8 100644 --- a/images/icons/patreon.svg +++ b/images/icons/patreon.svg @@ -1,10 +1 @@ - - - - - - - - - - + \ No newline at end of file diff --git a/images/icons/paypal.svg b/images/icons/paypal.svg index 56c459b3..08034264 100644 --- a/images/icons/paypal.svg +++ b/images/icons/paypal.svg @@ -1,5 +1 @@ - - - - - + \ No newline at end of file diff --git a/images/icons/pinterest.svg b/images/icons/pinterest.svg index 16607c94..76af8b44 100644 --- a/images/icons/pinterest.svg +++ b/images/icons/pinterest.svg @@ -1,11 +1 @@ - - - - - - - - - - - + \ No newline at end of file diff --git a/images/icons/product-hunt.svg b/images/icons/product-hunt.svg index 9b152973..9b578cf9 100644 --- a/images/icons/product-hunt.svg +++ b/images/icons/product-hunt.svg @@ -1,11 +1 @@ - - - - - - - - - - - + \ No newline at end of file diff --git a/images/icons/read-cv.svg b/images/icons/read-cv.svg index bdbf13b8..1d9863c5 100644 --- a/images/icons/read-cv.svg +++ b/images/icons/read-cv.svg @@ -1,10 +1 @@ - - - - - - - - - - + \ No newline at end of file diff --git a/images/icons/redbubble.svg b/images/icons/redbubble.svg index 142feee1..6d50d58e 100644 --- a/images/icons/redbubble.svg +++ b/images/icons/redbubble.svg @@ -1,10 +1 @@ - - - - - - - - - - + \ No newline at end of file diff --git a/images/icons/reddit.svg b/images/icons/reddit.svg index 8b652612..42728fef 100644 --- a/images/icons/reddit.svg +++ b/images/icons/reddit.svg @@ -1,104 +1 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/images/icons/revolut.svg b/images/icons/revolut.svg index 8619d4b1..c962f4f3 100644 --- a/images/icons/revolut.svg +++ b/images/icons/revolut.svg @@ -1,4 +1 @@ - - - - + \ No newline at end of file diff --git a/images/icons/shop.svg b/images/icons/shop.svg index 7164626b..fcb1541e 100644 --- a/images/icons/shop.svg +++ b/images/icons/shop.svg @@ -1,10 +1 @@ - - - - - - - - - - + \ No newline at end of file diff --git a/images/icons/signal.svg b/images/icons/signal.svg index 0ee0526e..38059c41 100644 --- a/images/icons/signal.svg +++ b/images/icons/signal.svg @@ -1,10 +1 @@ - - - - - - - - - - + \ No newline at end of file diff --git a/images/icons/slack.svg b/images/icons/slack.svg index bbbf65cd..44f8fbf7 100644 --- a/images/icons/slack.svg +++ b/images/icons/slack.svg @@ -1,10 +1 @@ - - - - - - - - - - + \ No newline at end of file diff --git a/images/icons/snapchat.svg b/images/icons/snapchat.svg index a788af5e..224170b2 100644 --- a/images/icons/snapchat.svg +++ b/images/icons/snapchat.svg @@ -1,11 +1 @@ - - - - - - - - - - - + \ No newline at end of file diff --git a/images/icons/soundcloud.svg b/images/icons/soundcloud.svg index 5cdfc00e..2598ed5d 100644 --- a/images/icons/soundcloud.svg +++ b/images/icons/soundcloud.svg @@ -1,3 +1 @@ - - - + \ No newline at end of file diff --git a/images/icons/spotify-alt.svg b/images/icons/spotify-alt.svg index 1eb2109c..f51ee41a 100644 --- a/images/icons/spotify-alt.svg +++ b/images/icons/spotify-alt.svg @@ -1,10 +1 @@ - - - - - - - - - - + \ No newline at end of file diff --git a/images/icons/spotify.svg b/images/icons/spotify.svg index 8e3860a3..0e5b39ca 100644 --- a/images/icons/spotify.svg +++ b/images/icons/spotify.svg @@ -1,10 +1 @@ - - - - - - - - - - + \ No newline at end of file diff --git a/images/icons/square.svg b/images/icons/square.svg index 46bb4da7..52c42f09 100644 --- a/images/icons/square.svg +++ b/images/icons/square.svg @@ -1,11 +1 @@ - - - - - - - - - - - + \ No newline at end of file diff --git a/images/icons/stack-overflow.svg b/images/icons/stack-overflow.svg index e548a790..282f0382 100644 --- a/images/icons/stack-overflow.svg +++ b/images/icons/stack-overflow.svg @@ -1,11 +1 @@ - - - - - - - - - - - + \ No newline at end of file diff --git a/images/icons/steam.svg b/images/icons/steam.svg index 6af65ae6..4da4e0bc 100644 --- a/images/icons/steam.svg +++ b/images/icons/steam.svg @@ -1,10 +1 @@ - - - - - - - - - - + \ No newline at end of file diff --git a/images/icons/strava.svg b/images/icons/strava.svg index a9f20fba..4befe827 100644 --- a/images/icons/strava.svg +++ b/images/icons/strava.svg @@ -1,3 +1 @@ - - - + \ No newline at end of file diff --git a/images/icons/telegram.svg b/images/icons/telegram.svg index 9df81e67..88b40997 100644 --- a/images/icons/telegram.svg +++ b/images/icons/telegram.svg @@ -1,10 +1 @@ - - - - - - - - - - + \ No newline at end of file diff --git a/images/icons/threads.svg b/images/icons/threads.svg index c6fc44b2..d0dab5bb 100644 --- a/images/icons/threads.svg +++ b/images/icons/threads.svg @@ -1,3 +1 @@ - - - + \ No newline at end of file diff --git a/images/icons/threema.svg b/images/icons/threema.svg index 3f07b71a..6a6503d6 100644 --- a/images/icons/threema.svg +++ b/images/icons/threema.svg @@ -1,10 +1 @@ - - - - - - - - - - + \ No newline at end of file diff --git a/images/icons/tiktok.svg b/images/icons/tiktok.svg index 50f5acfe..080162cc 100644 --- a/images/icons/tiktok.svg +++ b/images/icons/tiktok.svg @@ -1,12 +1 @@ - - - - - - - - - - - - + \ No newline at end of file diff --git a/images/icons/trakt.svg b/images/icons/trakt.svg index 5cda61e3..de82e765 100644 --- a/images/icons/trakt.svg +++ b/images/icons/trakt.svg @@ -1,13 +1 @@ - - - - - - - - - - - - - + \ No newline at end of file diff --git a/images/icons/trello.svg b/images/icons/trello.svg index a55874c8..9bae6e29 100644 --- a/images/icons/trello.svg +++ b/images/icons/trello.svg @@ -1,19 +1 @@ - - - - - - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/images/icons/tumblr.svg b/images/icons/tumblr.svg index 6b14955e..d0e93f2b 100644 --- a/images/icons/tumblr.svg +++ b/images/icons/tumblr.svg @@ -1,3 +1 @@ - - - + \ No newline at end of file diff --git a/images/icons/twitch.svg b/images/icons/twitch.svg index afe7e8e0..7ddd8111 100644 --- a/images/icons/twitch.svg +++ b/images/icons/twitch.svg @@ -1,5 +1 @@ - - - - - + \ No newline at end of file diff --git a/images/icons/unsplash.svg b/images/icons/unsplash.svg index 2051ee1f..b9c608cd 100755 --- a/images/icons/unsplash.svg +++ b/images/icons/unsplash.svg @@ -1,10 +1 @@ - - - - - - - - - - + \ No newline at end of file diff --git a/images/icons/untappd.svg b/images/icons/untappd.svg index f1106a9d..5042594c 100644 --- a/images/icons/untappd.svg +++ b/images/icons/untappd.svg @@ -1,4 +1 @@ - - - - + \ No newline at end of file diff --git a/images/icons/upwork.svg b/images/icons/upwork.svg index cb9fb98b..2356fc95 100644 --- a/images/icons/upwork.svg +++ b/images/icons/upwork.svg @@ -1,3 +1 @@ - - - + \ No newline at end of file diff --git a/images/icons/venmo.svg b/images/icons/venmo.svg index c38ea3c8..324eb840 100644 --- a/images/icons/venmo.svg +++ b/images/icons/venmo.svg @@ -1,3 +1 @@ - - - + \ No newline at end of file diff --git a/images/icons/vimeo.svg b/images/icons/vimeo.svg index 26c20f1d..ad2a3ae3 100644 --- a/images/icons/vimeo.svg +++ b/images/icons/vimeo.svg @@ -1,3 +1 @@ - - - + \ No newline at end of file diff --git a/images/icons/vrchat.svg b/images/icons/vrchat.svg index 1d1d5b65..4d90ffe2 100644 --- a/images/icons/vrchat.svg +++ b/images/icons/vrchat.svg @@ -1,2 +1 @@ - - + \ No newline at end of file diff --git a/images/icons/vsco.svg b/images/icons/vsco.svg index c91f124d..9059e2c6 100644 --- a/images/icons/vsco.svg +++ b/images/icons/vsco.svg @@ -1,10 +1 @@ - - - - - - - - - - + \ No newline at end of file diff --git a/images/icons/whatsapp.svg b/images/icons/whatsapp.svg index 6d1318ed..979145bf 100644 --- a/images/icons/whatsapp.svg +++ b/images/icons/whatsapp.svg @@ -1,21 +1 @@ - - - - - - - - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/images/icons/wordpress.svg b/images/icons/wordpress.svg index 446906e4..dddc9ccd 100644 --- a/images/icons/wordpress.svg +++ b/images/icons/wordpress.svg @@ -1,10 +1 @@ - - - - - - - - - - + \ No newline at end of file diff --git a/images/icons/x.svg b/images/icons/x.svg index a239dff6..393e68b1 100644 --- a/images/icons/x.svg +++ b/images/icons/x.svg @@ -1,3 +1 @@ - - - + \ No newline at end of file diff --git a/images/icons/youtube-music.svg b/images/icons/youtube-music.svg index 93a80732..ba8cc895 100644 --- a/images/icons/youtube-music.svg +++ b/images/icons/youtube-music.svg @@ -1,12 +1 @@ - - - - - - - - - - - - + \ No newline at end of file diff --git a/images/icons/youtube.svg b/images/icons/youtube.svg index 4f35613b..bdfcb3e7 100644 --- a/images/icons/youtube.svg +++ b/images/icons/youtube.svg @@ -1,4 +1 @@ - - - - + \ No newline at end of file diff --git a/images/icons/zoom.svg b/images/icons/zoom.svg index c26618e9..7b864f04 100644 --- a/images/icons/zoom.svg +++ b/images/icons/zoom.svg @@ -1,3 +1 @@ - - - + \ No newline at end of file diff --git a/images/littlelink.png b/images/littlelink.png index e1b3314a00a865589e32e4b09aa3d736ca490bdf..b38bd437cce32d5c883071af4648261a38530f98 100644 GIT binary patch delta 2703 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 JPDHLkV1f3+BrbCk^ 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 - - - - - - - - - - + \ No newline at end of file diff --git a/images/littlelink@2x.png b/images/littlelink@2x.png index e61ba11c86d82770f68184c8e88659477f8f2620..48629a38402eb1ea596997c3a5c50c040c451b9b 100644 GIT binary patch literal 7665 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͘kLu-7JlX{A(6-Qy1upZ8Jw@aE1&DC_tC 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 iC+_*-jrI0000 Date: Wed, 13 Nov 2024 01:04:11 -0500 Subject: [PATCH 47/90] v3 --- .gitignore | 1 + LICENSE.md | 2 +- README.md | 14 +- VERSION.md | 42 ++ css/brands.css | 1231 +++++++++++++---------------------- css/normalize.css | 427 ------------ css/reset.css | 91 +++ css/skeleton-auto.css | 279 -------- css/skeleton-dark.css | 261 -------- css/skeleton-light.css | 261 -------- css/style.css | 382 +++++++++++ images/avatar.png | Bin 0 -> 18823 bytes images/avatar@2x.png | Bin 0 -> 38576 bytes images/icons/ko-fi.svg | 21 +- images/icons/littlelink.svg | 12 +- images/icons/medium.svg | 13 +- images/littlelink.png | Bin 2710 -> 0 bytes images/littlelink.svg | 1 - images/littlelink@2x.png | Bin 7665 -> 0 bytes index.html | 609 ++++++++--------- privacy.html | 224 +++---- 21 files changed, 1355 insertions(+), 2516 deletions(-) create mode 100644 VERSION.md delete mode 100644 css/normalize.css create mode 100644 css/reset.css delete mode 100644 css/skeleton-auto.css delete mode 100644 css/skeleton-dark.css delete mode 100644 css/skeleton-light.css create mode 100644 css/style.css create mode 100644 images/avatar.png create mode 100644 images/avatar@2x.png delete mode 100644 images/littlelink.png delete mode 100644 images/littlelink.svg delete mode 100644 images/littlelink@2x.png diff --git a/.gitignore b/.gitignore index 4befed30..a036416d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ .DS_Store .idea +.devcontainer \ No newline at end of file diff --git a/LICENSE.md b/LICENSE.md index 03231cc6..bfe6bc4e 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -1,5 +1,5 @@ MIT License -Copyright 2019-2021 Seth Cottle +Copyright 2019-2024 Seth Cottle Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: diff --git a/README.md b/README.md index a2b84a04..e7a24459 100644 --- a/README.md +++ b/README.md @@ -1,25 +1,25 @@ -![Logo](https://cdn.cottle.cloud/littlelink/littlelink.gif) +![Logo](https://cdn.cottle.cloud/GitHub/LittleLink/littlelink.gif) # LittleLink The DIY self-hosted LinkTree alternative. LittleLink has more than 100 branded button styles you can easily use, with more regularly added by our community in this repo and in [LittleLink Extended](https://github.com/sethcottle/littlelink-extended). --- ### 🌞 Themes and Accessibility -LittleLink offers both `light` and `dark` themes right out of the box. If the default color schemes don't match your preference, you can easily customize them by updating the values in `skeleton-light.css` or `skeleton-dark.css`. For those who prefer an automatic adjustment, setting your CSS to `skeleton-auto.css` enables the theme to adapt based on the device's system settings. To enhance visual accessibility in both `light` and `dark` modes, buttons lacking sufficient contrast with the background are outlined with an inverse stroke to ensure visibility. While LittleLink emphasizes accessibility, it's important to acknowledge that not all brands incorporated into LittleLink achieve this standard. Branded buttons that come into LittleLink always retain the original essence of the brand and some branded buttons might fall short of optimal accessibility in terms of contrast. +LittleLink offers `auto`, `light`, and `dark` themes right out of the box. If the default color schemes don't match your preference, you can easily customize them by updating the values in `style.css`. You can set any of the themes right in `index.html`. To enhance visual accessibility in both `light` and `dark` modes, buttons lacking sufficient contrast with the background are outlined with an inverse stroke to ensure visibility. While LittleLink emphasizes accessibility, it's important to acknowledge that not all brands incorporated into LittleLink achieve this standard. Branded buttons that come into LittleLink always retain the original essence of the brand and some branded buttons might fall short of optimal accessibility in terms of contrast. -![Theme](https://cdn.cottle.cloud/littlelink/themesupport.gif) +![Theme](https://cdn.cottle.cloud/GitHub/LittleLink/ThemeSupport.gif) --- ### 🥇 Performance -![Performance](https://cdn.cottle.cloud/littlelink/PerformanceBlock.svg) +![Performance](https://cdn.cottle.cloud/GitHub/LittleLink/ranking.gif) -LittleLink epitomizes simplicity and minimalism. When evaluating the [LittleLink sample page](https://littlelink.io/sample/seth) (which mirrors a typical LittleLink setup for an individual) through tools such as [Google PageSpeed Insights](https://pagespeed.web.dev/analysis/https-littlelink-io-sample-seth/17ex80ryq4?form_factor=mobile), showcases LittleLink's excellence with 100/100 in Performance, Accessibility, Best Practices, and SEO. My initial vision for LittleLink was to craft it from the fundamentals. I chose [Skeleton](http://getskeleton.com/) as the foundation, enabling me to create something minimal and quick, removing the unnecessary bloat you would get from using a large framework for a page that requires nothing more than simplicity. +LittleLink epitomizes simplicity and minimalism. When evaluating the [LittleLink sample page](https://littlelink.io/sample/seth) (which mirrors a typical LittleLink setup for an individual) through tools such as [Google PageSpeed Insights](https://pagespeed.web.dev/analysis/https-littlelink-io-sample-seth/17ex80ryq4?form_factor=mobile), showcases LittleLink's excellence with 100/100 in Performance, Accessibility, Best Practices, and SEO. My initial vision for LittleLink was to craft it from the fundamentals. LittleLink leverages it's own vanilla `css` to remove the unnecessary bloat you would get from using a large framework for a page that requires nothing more than simplicity. --- ### ☁️ Deploy -![Publish](https://cdn.cottle.cloud/littlelink/Deployment.svg) +![Publish](https://cdn.cottle.cloud/GitHub/LittleLink/test/css/deploy.gif) No need for gulp, npm, or anything else to make LittleLink work—it uses the bare essentials. You can automatically fork and deploy LittleLink with [Vercel](https://vercel.com/), [Netlify](https://www.netlify.com/), or [Amplify](https://aws.amazon.com/amplify) using the button below. LittleLink is also easy to host through [GitHub Pages](https://pages.github.com/) or on your home lab server, CDN, or other frontend hosting services. To edit, all you need is a little basic HTML knowledge to add a link to the exisiting buttons or you can create your own. See our [adding custom buttons to your own fork wiki](https://github.com/sethcottle/littlelink/wiki/Adding-custom-buttons-to-your-own-fork). It's simple, promise. 🤞 @@ -56,7 +56,7 @@ Duplicate the [LittleLink Template on Figma Community](https://www.figma.com/com #### 🗃️ Misc • [Khashayar](https://github.com/khashayarzavosh) is building [LittleLink Admin](https://github.com/khashayarzavosh/admin-littlelink) which lets you host your own admin portal to manage LittleLink! -• [Julian](https://github.com/JulianPrieber) is building [LittleLink Custom](https://github.com/JulianPrieber/littlelink-custom) which approaches the admin portal with an easy-to-use "plug-and-play" mentality! +• [Julian](https://github.com/JulianPrieber) is building [LinkStack](https://github.com/LinkStackOrg/LinkStack), which is a fork of [Khashayar](https://github.com/khashayarzavosh)'s [LittleLink Admin](https://github.com/khashayarzavosh/admin-littlelink). --- diff --git a/VERSION.md b/VERSION.md new file mode 100644 index 00000000..7b929990 --- /dev/null +++ b/VERSION.md @@ -0,0 +1,42 @@ +# LittleLink Version History + +## Current Version: v3.0.0 + +### v3.0.0 - 11/13/2024 +A complete modernization of LittleLink focusing on accessibility, maintainability, and more modern web standards. + +#### Major Changes +- Complete rebuild of CSS architecture + - Moved away from Skeleton CSS dependency to custom, purpose-built CSS + - Improved maintainability with modular CSS structure + - Enhanced dark mode and auto themeing implementation + - Enhanced `brands.css` + +- Accessibility Improvements + - Improved keyboard navigation throughout + - Enhanced screen reader compatibility + - Better focus management and visible focus states + - Proper ARIA labels and semantic HTML structure + +- HTML Modernization + - Rebuilt `index.html` + - Rebuilt `privacy.html` + - Optimized meta tags and SEO structure + +#### Developer Experience +- Better documented codebase +- Simplified customization process +- Improved maintainability +- More consistent standards +- Added VERSION.md so you know what version of LittleLink you downloaded + +#### Brand Changes +- Updated PayPal button color +- Updated Discord button color +- Updated YouTube to us their Almost Black +- Updated Ko-fi button color and updated their logo +- Updated Medium logo + +--- +For the complete history of changes, please visit: +https://github.com/sethcottle/littlelink/releases \ No newline at end of file diff --git a/css/brands.css b/css/brands.css index 0f04e300..a3118aaa 100644 --- a/css/brands.css +++ b/css/brands.css @@ -1,1079 +1,722 @@ /* -* littlelink.io -* Skeleton V2.0.4 -* Copyright 2014, Dave Gamache -* www.getskeleton.com -* Free to use under the MIT license. +* LittleLink Button Styles +* https://littlelink.io +* Free to use under the MIT license * http://www.opensource.org/licenses/mit-license.php -* 12/29/2014 */ -/* -* Built using on: -* Skeleton V2.0.4 -* Copyright 2014, Dave Gamache -* www.getskeleton.com -* Free to use under the MIT license. -* http://www.opensource.org/licenses/mit-license.php -* 12/29/2014 -*/ - -/* Table of contents -–––––––––––––––––––––––––––––––––––––––––––––––––– - -- Buttons -- Brand Styles - -*/ - -/* Buttons +/* Brand Button Base Styles –––––––––––––––––––––––––––––––––––––––––––––––––– */ - -.button, -button { - display: inline-block; - text-decoration: none; - height: 100%; - text-align: center; - vertical-align: middle; - font-size: 18px; - width: 300px; - font-weight: 700; - line-height: 20px; - padding: 14px 12px 12px 12px; - letter-spacing: 0.1px; - white-space: wrap; - outline: none; - border-radius: 8px; - cursor: pointer; - -} -button:hover, -.button:focus { - color: #212121; - border-color: #888; - outline: #7AB8FF solid 3px -} -.button.button-primary { - color: #fff; - filter: brightness(90%); -} -.button.button-primary:hover, -.button.button-primary:focus { - color: #fff; - filter: brightness(90%); +/* Only include brand-specific button styling here */ +.button,button { + color:var(--button-text,#000000); + background-color:var(--button-background,transparent); + border:var(--button-border,none); + transition:filter 0.2s ease,transform 0.2s ease; } -/* Brand Icons +/* Global Button Hover Effect –––––––––––––––––––––––––––––––––––––––––––––––––– */ +.button:hover,button:hover { + filter:brightness(90%); + transform:translateY(-1px); +} +/* Button Icons +–––––––––––––––––––––––––––––––––––––––––––––––––– */ .icon { - padding: 0px 8px 3.5px 0px; - vertical-align: middle; - width: 20px; - height: 20px; + filter:var(--icon-filter,none); } -/* Brand Styles +/* Brand-Specific Styles –––––––––––––––––––––––––––––––––––––––––––––––––– */ -/* Default (this is great for your own brand color!) */ +/* Default */ .button.button-default { - color: #ffffff; - background-color: #2457F5; -} -.button.button-default:hover, -.button.button-default:focus { - filter: brightness(90%); + --button-text:#ffffff; + --button-background:#2457F5; + --button-border:1px solid #ffffff; } /* Amazon */ -.button.button-amazon { - color: #000000; - background-color: #FFFFFF; - border: 1px solid #212121; -} -.button.button-amazon:hover, -.button.button-amazon:focus { - filter: brightness(90%); +.button-amazon { + --button-text:#000000; + --button-background:#FFFFFF; + --button-border:1px solid #212121; } /* Amazon Music */ -.button.button-amazon-music { - color: #000000; - background-color: #25D1DA; -} -.button.button-amazon-music:hover, -.button.button-amazon-music:focus { - filter: brightness(90%); +.button-amazon-music { + --button-text:#000000; + --button-background:#25D1DA; } /* Apple App Store */ -.button.button-appstore { - color: #FFFFFF; - background-color: #000000; - border: 1px solid #FFFFFF; -} -.button.button-appstore:hover, -.button.button-appstore:focus { - filter: brightness(90%); +.button-appstore { + --button-text:#FFFFFF; + --button-background:#000000; + --button-border:1px solid #FFFFFF; } /* Apple Music */ -.button.button-apple-music { - color: #ffffff; - background-color: #000000; - border: 1px solid #FFFFFF; -} -.button.button-apple-music:hover, -.button.button-apple-music:focus { - filter: brightness(90%); +.button-apple-music { + --button-text:#ffffff; + --button-background:#000000; + --button-border:1px solid #FFFFFF; } /* Apple Music Alt */ -.button.button-apple-music-alt { - color: #ffffff; - background-image: linear-gradient(to bottom, #FB5C74, #FA233B); -} -.button.button-apple-music-alt:hover, -.button.button-apple-music-alt:focus { - filter: brightness(90%); +.button-apple-music-alt { + --button-text:#ffffff; + background-image:linear-gradient(to bottom,#FB5C74,#FA233B); } /* Apple Podcasts */ -.button.button-apple-podcasts { - color: #ffffff; - background-color: #000000; - border: 1px solid #FFFFFF; -} -.button.button-apple-podcasts:hover, -.button.button-apple-podcasts:focus { - filter: brightness(90%); +.button-apple-podcasts { + --button-text:#ffffff; + --button-background:#000000; + --button-border:1px solid #FFFFFF; } /* Apple Podcasts Alt */ -.button.button-apple-podcasts-alt { - color: #ffffff; - background-image: linear-gradient(to bottom, #F452FF, #832BC1); -} -.button.button-apple-podcasts-alt:hover, -.button.button-apple-podcasts-alt:focus { - filter: brightness(90%); -} - -/* ArtStation */ -.button.button-artstation { - color: #ffffff; - background-color: #18181C; - border: 1px solid #FFFFFF; -} -.button.button-artstation:hover, -.button.button-artstation:focus { - filter: brightness(90%); +.button-apple-podcasts-alt { + --button-text:#ffffff; + background-image:linear-gradient(to bottom,#F452FF,#832BC1); } /* Bandcamp */ -.button.button-bandcamp { - color: #ffffff; - background-color: #1d9fc3; -} -.button.button-bandcamp:hover, -.button.button-bandcamp:focus { - filter: brightness(90%); +.button-bandcamp { + --button-text:#ffffff; + --button-background:#1d9fc3; } /* Behance */ -.button.button-behance { - color: #ffffff; - background-color: #0057FF; -} -.button.button-behance:hover, -.button.button-behance:focus { - filter: brightness(90%); +.button-behance { + --button-text:#ffffff; + --button-background:#0057FF; + --button-border:1px solid #FFFFFF; } /* Bluesky */ -.button.button-bluesky { - color: #FFFFFF; - background-color: #1185FE; -} - -.button.button-bluesky:hover, -.button.button-bluesky:focus { - filter: brightness(90%); +.button-bluesky { + --button-text:#FFFFFF; + --button-background:#1185FE; } /* Bluesky Alt */ -.button.button-bluesky-alt { - color: #000000; - background-color: #FFFFFF; - border: 1px solid #000000; -} -.button.button-bluesky-alt:hover, -.button.button-bluesky-alt:focus { - filter: brightness(90%); +.button-bluesky-alt { + --button-text:#000000; + --button-background:#FFFFFF; + --button-border:1px solid #000000; } /* Buy Me a Coffee */ -.button.button-coffee { - color: #000000; - background-color: #ffdd00; -} -.button.button-coffee:hover, -.button.button-coffee:focus { - filter: brightness(90%); +.button-coffee { + --button-text:#000000; + --button-background:#ffdd00; } /* Cal.com */ -.button.button-cal { - color: #FFFFFF; - background-color: #292929; - border: 1px solid #FFFFFF; -} -.button.button-cal:hover, -.button.button-cal:focus { - filter: brightness(90%); +.button-cal { + --button-text:#FFFFFF; + --button-background:#292929; + --button-border:1px solid #FFFFFF; } /* Calendly */ -.button.button-calendly { - color: #FFFFFF; - background-color: #006BFF; -} -.button.button-calendly:hover, -.button.button-calendly:focus { - filter: brightness(90%); +.button-calendly { + --button-text:#FFFFFF; + --button-background:#006BFF; } /* Cash App */ -.button.button-cash-app { - color: #ffffff; - background-image: linear-gradient(to bottom, #00d64b, #00c244); -} -.button.button-cash-app:hover, -.button.button-cash-app:focus { - filter: brightness(90%); +.button-cash-app { + --button-text:#ffffff; + background-image:linear-gradient(to bottom,#00d64b,#00c244); } /* dev.to */ -.button.button-dev-to { - color: #000000; - background-color: #f5f5f5; - border: 1px solid #212121; -} -.button.button-dev-to:hover, -.button.button-dev-to:focus { - filter: brightness(90%); +.button-dev-to { + --button-text:#000000; + --button-background:#f5f5f5; + --button-border:1px solid #212121; } /* Discogs */ -.button.button-discogs { - color: #000000; - background-color: #FFFFFF; - border: 1px solid #000000 -} -.button.button-discogs:hover, -.button.button-discogs:focus { - filter: brightness(90%); +.button-discogs { + --button-text:#000000; + --button-background:#FFFFFF; + --button-border:1px solid #000000; } /* Discogs Alt */ -.button.button-discogs-alt { - color: #FFFFFF; - background-color: #000000; - border: 1px solid #FFFFFF -} -.button.button-discogs-alt:hover, -.button.button-discogs-alt:focus { - filter: brightness(90%); +.button-discogs-alt { + --button-text:#FFFFFF; + --button-background:#000000; + --button-border:1px solid #FFFFFF; } /* Discord */ -.button.button-discord { - color: #ffffff; - background-color: #161CBB; -} -.button.button-discord:hover, -.button.button-discord:focus { - filter: brightness(90%); +.button-discord { + --button-text:#ffffff; + --button-background:#5865F2; } /* Dribbble */ -.button.button-dribbble { - color: #000000; - background-color: #FFFFFF; - border: 1px solid #212121; -} -.button.button-dribbble:hover, -.button.button-dribbble:focus { - filter: brightness(90%); +.button-dribbble { + --button-text:#000000; + --button-background:#FFFFFF; + --button-border:1px solid #212121; } /* Etsy */ -.button.button-etsy { - color: #ffffff; - background-color: #F45800; -} -.button.button-etsy:hover, -.button.button-etsy:focus { - filter: brightness(90%); +.button-etsy { + --button-text:#ffffff; + --button-background:#F45800; } /* Facebook */ -.button.button-faceb { - color: #ffffff; - background-color: #1877f2; -} -.button.button-faceb:hover, -.button.button-faceb:focus { - filter: brightness(90%); +.button-faceb { + --button-text:#ffffff; + --button-background:#1877f2; } /* Facebook Messenger */ -.button.button-messenger { - color: #ffffff; - background-image: linear-gradient( - 25deg, - #0099ff, - #5f5dff, - #a033ff, - #c740cc, - #ff5280, - #ff7061 - ); -} -.button.button-messenger:hover, -.button.button-messenger:focus { - filter: brightness(90%); +.button-messenger { + --button-text:#ffffff; + background-image:linear-gradient(25deg,#0099ff,#5f5dff,#a033ff,#c740cc,#ff5280,#ff7061); } /* Figma */ -.button.button-figma { - color: #ffffff; - background-color: #000000; - border: 1px solid #FFFFFF; -} -.button.button-figma:hover, -.button.button-figma:focus { - filter: brightness(90%); +.button-figma { + --button-text:#ffffff; + --button-background:#000000; + --button-border:1px solid #FFFFFF; } /* Fiverr */ -.button.button-fiverr { - color: #ffffff; - background-color: #1DBF73; -} -.button.button-fiverr:hover, -.button.button-fiverr:focus { - filter: brightness(90%); +.button-fiverr { + --button-text:#ffffff; + --button-background:#1DBF73; } /* Flickr */ -.button.button-flickr { - color: #ffffff; - background-color: #000000; - border: 1px solid #FFFFFF; -} -.button.button-flickr:hover, -.button.button-flickr:focus { - filter: brightness(90%); +.button-flickr { + --button-text:#ffffff; + --button-background:#000000; + --button-border:1px solid #FFFFFF; } /* GitHub */ -.button.button-github { - color: #ffffff; - background-color: #000000; - border: 1px solid #FFFFFF; -} -.button.button-github:hover, -.button.button-github:focus { - filter: brightness(90%); +.button-github { + --button-text:#ffffff; + --button-background:#000000; + --button-border:1px solid #FFFFFF; } /* GitLab */ -.button.button-gitlab { - color: #ffffff; - background-color: #6151b2; -} -.button.button-gitlab:hover, -.button.button-gitlab:focus { - filter: brightness(90%); +.button-gitlab { + --button-text:#ffffff; + --button-background:#6151b2; } /* GoFundMe */ -.button.button-gofundme { - color: #ffffff; - background-color: #02A95C; -} -.button.button-gofundme:hover, -.button.button-gofundme:focus { - filter: brightness(90%); +.button-gofundme { + --button-text:#ffffff; + --button-background:#02A95C; } /* Goodreads */ -.button.button-goodreads { - color: #333333; - background-color: #f3f1e6; - border: 1px solid #212121; -} -.button.button-goodreads:hover, -.button.button-goodreads:focus { - filter: brightness(90%); +.button-goodreads { + --button-text:#333333; + --button-background:#f3f1e6; + --button-border:1px solid #212121; } /* Google Black */ -.button.button-google-black { - color: #FFFFFF; - background-color: #000000; - border: 1px solid #FFFFFF; -} -.button.button-google-black:hover, -.button.button-google-black:focus { - filter: brightness(90%); +.button-google-black { + --button-text:#FFFFFF; + --button-background:#000000; + --button-border:1px solid #FFFFFF; } /* Google Play Store */ -.button.button-playstore { - color: #FFFFFF; - background-color: #000000; - border: 1px solid #FFFFFF; -} -.button.button-playstore:hover, -.button.button-playstore:focus { - filter: brightness(90%); +.button-playstore { + --button-text:#FFFFFF; + --button-background:#000000; + --button-border:1px solid #FFFFFF; } /* Google Scholar */ -.button.button-google-scholar { - color: #000000; - background-color: #FFFFFF; - border: 1px solid #212121; -} -.button.button-google-scholar:hover, -.button.button-google-scholar:focus { - filter: brightness(90%); +.button-google-scholar { + --button-text:#000000; + --button-background:#FFFFFF; + --button-border:1px solid #212121; } /* Hashnode */ -.button.button-hashnode { - color: #000000; - background-color: #ffffff; - border: 1px solid #212121; -} -.button.button-hashnode:hover, -.button.button-hashnode:focus { - filter: brightness(90%); +.button-hashnode { + --button-text:#000000; + --button-background:#ffffff; + --button-border:1px solid #212121; } /* Instagram */ -.button.button-instagram { - color: #ffffff; - background-image: linear-gradient(-135deg, #1400c8, #b900b4, #f50000); -} -.button.button-instagram:hover, -.button.button-instagram:focus { - filter: brightness(90%); +.button-instagram { + --button-text:#ffffff; + background-image:linear-gradient(-135deg,#1400c8,#b900b4,#f50000); } /* Kick */ -.button.button-kick { - background-color:#000000; - color: #ffffff; - border: 1px solid #ffffff; -} -.button.button-kick:hover { - filter: brightness(90%); +.button-kick { + --button-text:#ffffff; + --button-background:#000000; + --button-border:1px solid #ffffff; } /* Kick Alt */ -.button.button-kick-alt { - background-color:#01e701; - color: #000; -} -.button.button-kick-alt:hover { - filter: brightness(90%); +.button-kick-alt { + --button-text:#000000; + --button-background:#01e701; } /* Kickstarter */ -.button.button-kickstarter { - color: #ffffff; - background-color: #05ce78; -} -.button.button-kickstarter:hover, -.button.button-kickstarter:focus { - filter: brightness(90%); +.button-kickstarter { + --button-text:#ffffff; + --button-background:#05ce78; } /* Kit */ -.button.button-kit { - color: #ffffff; - background-color: #000000; - border: 1px solid #FFFFFF; -} -.button.button-kit:hover, -.button.button-kit:focus { - filter: brightness(90%); +.button-kit { + --button-text:#ffffff; + --button-background:#000000; + --button-border:1px solid #FFFFFF; } /* Ko-fi */ -.button.button-ko-fi { - color: #ffffff; - background-color: #13C3FF; -} -.button.button-ko-fi:hover, -.button.button-ko-fi:focus { - filter: brightness(90%); +.button-ko-fi { + --button-text:#ffffff; + --button-background:#000000; + --button-border:1px solid #FFFFFF; } /* Last.fm */ -.button.button-last-fm { - color: #ffffff; - background-color: #D51007; -} -.button.button-last-fm:hover, -.button.button-last-fm:focus { - filter: brightness(90%); +.button-last-fm { + --button-text:#ffffff; + --button-background:#D51007; } /* Letterboxd */ -.button.button-letterboxd { - color: #ffffff; - background-color: #2c3440; - border: 1px solid #FFFFFF; -} -.button.button-letterboxd:hover, -.button.button-letterboxd:focus { - filter: brightness(90%); +.button-letterboxd { + --button-text:#ffffff; + --button-background:#2c3440; + --button-border:1px solid #FFFFFF; } /* Line */ -.button.button-line { - color: #FFFFFF; - background-color: #06C755; -} -.button.button-line:hover, -.button.button-line:focus { - filter: brightness(90%); +.button-line { + --button-text:#FFFFFF; + --button-background:#06C755; } /* LinkedIn */ -.button.button-linked { - color: #ffffff; - background-color: #2867b2; -} -.button.button-linked:hover, -.button.button-linked:focus { - filter: brightness(90%); +.button-linked { + --button-text:#ffffff; + --button-background:#2867b2; } /* Mailchimp */ -.button.button-mailchimp { - color: #000000; - background-color: #FFE01B; -} -.button.button-mailchimp:hover, -.button.button-mailchimp:focus { - filter: brightness(90%); +.button-mailchimp { + --button-text:#000000; + --button-background:#FFE01B; } /* Mastodon */ -.button.button-mastodon { - color: #ffffff; - background-color: #17063B; - border: 1px solid #FFFFFF; -} -.button.button-mastodon:hover, -.button.button-mastodon:focus { - filter: brightness(90%); +.button-mastodon { + --button-text:#ffffff; + --button-background:#17063B; + --button-border:1px solid #FFFFFF; } /* Medium */ -.button.button-medium { - color: #ffffff; - background-color: #000000; - border: 1px solid #FFFFFF; -} -.button.button-medium:hover, -.button.button-medium:focus { - filter: brightness(90%); +.button-medium { + --button-text:#ffffff; + --button-background:#000000; + --button-border:1px solid #FFFFFF; } /* Microsoft */ -.button.button-microsoft { - color: #ffffff; - background-color: #000000; - border: 1px solid #FFFFFF; -} -.button.button-microsoft:hover, -.button.button-microsoft:focus { - filter: brightness(90%); -} - -/* NGL */ -.button.button-ngl { - color: #ffffff; - background-image: linear-gradient(-45deg, #ff8d10, #ec1187); -} -.button.button-ngl:hover, -.button.button-ngl:focus { - filter: brightness(90%); +.button-microsoft { + --button-text:#ffffff; + --button-background:#000000; + --button-border:1px solid #FFFFFF; } /* Notion */ -.button.button-notion { - color: #000000; - border: 1px solid #212121; - background-color: #ffffff; -} -.button.button-notion:hover, -.button.button-notion:focus { - filter: brightness(90%); +.button-notion { + --button-text:#000000; + --button-background:#ffffff; + --button-border:1px solid #212121; } /* OnlyFans */ -.button.button-onlyfans { - color: #ffffff; - background-color: #00AEEF; -} -.button.button-onlyfans:hover, -.button.button-onlyfans:focus { - filter: brightness(90%); +.button-onlyfans { + --button-text:#ffffff; + --button-background:#00AEEF; } /* Patreon */ -.button.button-patreon { - color: #ffffff; - background-color: #000000; - border: 1px solid #FFFFFF; -} -.button.button-patreon:hover, -.button.button-patreon:focus { - filter: brightness(90%); +.button-patreon { + --button-text:#ffffff; + --button-background:#000000; + --button-border:1px solid #FFFFFF; } /* PayPal */ -.button.button-paypal { - color: #ffffff; - background-color: #003087; -} -.button.button-paypal:hover, -.button.button-paypal:focus { - filter: brightness(90%); +.button-paypal { + --button-text:#ffffff; + --button-background:#002991; + --button-border:1px solid #FFFFFF; } /* Pinterest */ -.button.button-pinterest { - color: #000000; - background-color: #ffe2eb; - border: 1px solid #212121; -} -.button.button-pinterest:hover, -.button.button-pinterest:focus { - filter: brightness(90%); -} - -/* Post.news */ -.button.button-post-news { - color: #ffffff; - background-color: #678BFF; -} -.button.button-post-news:hover, -.button.button-post-news:focus { - filter: brightness(90%); +.button-pinterest { + --button-text:#000000; + --button-background:#ffe2eb; + --button-border:1px solid #212121; } /* Product Hunt */ -.button.button-product-hunt { - color: #000000; - background-color: #ffffff; - border: 1px solid #212121; -} -.button.button-producthunt:hover, -.button.button-producthunt:focus { - filter: brightness(90%); +.button-product-hunt { + --button-text:#000000; + --button-background:#ffffff; + --button-border:1px solid #212121; } /* Read.cv */ -.button.button-read-cv { - color: #FFFFFF; - background-color: #000000; - border: 1px solid #FFFFFF; -} -.button.button-read-cv:hover, -.button.button-read-cv:focus { - filter: brightness(90%); +.button-read-cv { + --button-text:#FFFFFF; + --button-background:#000000; + --button-border:1px solid #FFFFFF; } /* Redbubble */ -.button.button-redbubble { - color: #e41321; - background-color: #ffffff; - border: 1px solid #212121; -} -.button.button-redbubble:hover, -.button.button-redbubble:focus { - filter: brightness(90%); +.button-redbubble { + --button-text:#e41321; + --button-background:#ffffff; + --button-border:1px solid #212121; } /* Reddit */ -.button.button-reddit { - color: #FFFFFF; - background-color: #FF4500; -} -.button.button-reddit:hover, -.button.button-reddit:focus { - filter: brightness(90%); +.button-reddit { + --button-text:#FFFFFF; + --button-background:#FF4500; } /* Revolut */ -.button.button-revolut { - color: #000000; - background-color: #ffffff; - border: 1px solid black; -} -.button.button-revolut:hover, -.button.button-revolut:focus { - filter: brightness(90%); +.button-revolut { + --button-text:#000000; + --button-background:#ffffff; + --button-border:1px solid black; } /* Shop */ -.button.button-shop { - color: #ffffff; - background-color: #5A31F4; -} -.button.button-shop:hover, -.button.button-shop:focus { - filter: brightness(90%); +.button-shop { + --button-text:#ffffff; + --button-background:#5A31F4; } /* Signal */ -.button.button-signal { - color: #ffffff; - background-color: #3a76f0; -} -.button.button-signal:hover, -.button.button-signal:focus { - filter: brightness(90%); +.button-signal { + --button-text:#ffffff; + --button-background:#3a76f0; } /* Slack */ -.button.button-slack { - color: #000000; - background-color: #FFFFFF; - border: 1px solid #212121; -} -.button.button-slack:hover, -.button.button-slack:focus { - filter: brightness(90%); +.button-slack { + --button-text:#000000; + --button-background:#FFFFFF; + --button-border:1px solid #212121; } /* Snapchat */ -.button.button-snapchat { - color: #000000; - background-color: #fffc00; -} -.button.button-snapchat:hover, -.button.button-snapchat:focus { - filter: brightness(90%); +.button-snapchat { + --button-text:#000000; + --button-background:#fffc00; } /* SoundCloud */ -.button.button-soundcloud { - color: #ffffff; - background-color: #ff5500; -} -.button.button-soundcloud:hover, -.button.button-soundcloud:focus { - filter: brightness(90%); +.button-soundcloud { + --button-text:#ffffff; + --button-background:#ff5500; } /* Spotify */ -.button.button-spotify { - color: #191414; - background-color: #1db954; -} -.button.button-spotify:hover, -.button.button-spotify:focus { - filter: brightness(90%); +.button-spotify { + --button-text:#191414; + --button-background:#1db954; } /* Spotify Alt */ -.button.button-spotify-alt { - color: #FFFFFF; - background-color: #191414; - border: 1px solid #FFFFFF; -} -.button.button-spotify-alt:hover, -.button.button-spotify-alt:focus { - filter: brightness(90%); +.button-spotify-alt { + --button-text:#FFFFFF; + --button-background:#191414; + --button-border:1px solid #FFFFFF; } /* Square */ -.button.button-square { - color: #FFFFFF; - background-color: #006AFF; -} -.button.button-square:hover, -.button.button-square:focus { - filter: brightness(90%); +.button-square { + --button-text:#FFFFFF; + --button-background:#006AFF; } /* Stack Overflow */ -.button.button-stack-overflow { - color: #000000; - background-color: #FFFFFF; - border: 1px solid #000000; -} -.button.button-stack-overflow:hover, -.button.button-stack-overflow:focus { - filter: brightness(90%); +.button-stack-overflow { + --button-text:#000000; + --button-background:#FFFFFF; + --button-border:1px solid #000000; } /* Steam */ -.button.button-steam { - color: #ffffff; - background-image: linear-gradient(90deg, #08BBFF, #2B75FF); -} -.button.button-steam:hover, -.button.button-steam:focus { - filter: brightness(90%); +.button-steam { + --button-text:#ffffff; + background-image:linear-gradient(90deg,#08BBFF,#2B75FF); } /* Steam Alt */ -.button.button-steam-alt { - color: #ffffff; - background-image: linear-gradient(90deg, #09172a, #072a57, #0c5085); - border: 1px solid #FFFFFF; -} -.button.button-steam-alt:hover, -.button.button-steam-alt:focus { - filter: brightness(90%); +.button-steam-alt { + --button-text:#ffffff; + background-image:linear-gradient(90deg,#09172a,#072a57,#0c5085); + --button-border:1px solid #FFFFFF; } /* Strava */ -.button.button-strava { - color: #ffffff; - background-color: #fc5200; -} -.button.button-strava:hover, -.button.button-strava:focus { - filter: brightness(90%); +.button-strava { + --button-text:#ffffff; + --button-background:#fc5200; } /* Substack */ -.button.button-substack { - color: #ffffff; - background-color: #FF6719; -} -.button.button-substack:hover, -.button.button-substack:focus { - filter: brightness(90%); +.button-substack { + --button-text:#ffffff; + --button-background:#FF6719; } /* Telegram */ -.button.button-telegram { - color: #ffffff; - background-color: #3faee8; -} -.button.button-telegram:hover, -.button.button-telegram:focus { - filter: brightness(90%); +.button-telegram { + --button-text:#ffffff; + --button-background:#3faee8; } /* Threads */ -.button.button-threads { - color: #FFFFFF; - background-color: #000000; - border: 1px solid #FFFFFF; -} -.button.button-threads:hover, -.button.button-threads:focus { - filter: brightness(90%); +.button-threads { + --button-text:#FFFFFF; + --button-background:#000000; + --button-border:1px solid #FFFFFF; } /* Threema */ -.button.button-threema { - color: #000000; - background-color: #3fe669; -} -.button.button-threema:hover, -.button.button-threema:focus { - filter: brightness(90%); +.button-threema { + --button-text:#000000; + --button-background:#3fe669; } /* TikTok */ -.button.button-tiktok { - color: #ffffff; - background-color: #000000; - border: 1px solid #FFFFFF; -} -.button.button-tiktok:hover, -.button.button-tiktok:focus { - filter: brightness(90%); +.button-tiktok { + --button-text:#ffffff; + --button-background:#000000; + --button-border:1px solid #FFFFFF; } /* Trakt */ -.button.button-trakt { - color: #ffffff; - background-color: #ED1C24; -} -.button.button-trakt:hover, -.button.button-trakt:focus { - filter: brightness(90%); +.button-trakt { + --button-text:#ffffff; + --button-background:#ED1C24; } /* Trello */ -.button.button-trello { - color: #ffffff; - background-color: #0065ff; -} -.button.button-trello:hover, -.button.button-trello:focus { - filter: brightness(90%); +.button-trello { + --button-text:#ffffff; + --button-background:#0065ff; } /* Tumblr */ -.button.button-tumb { - color: #ffffff; - background-color: #131313; - border: 1px solid #FFFFFF; -} -.button.button-tumb:hover, -.button.button-tumb:focus { - filter: brightness(90%); +.button-tumb { + --button-text:#ffffff; + --button-background:#131313; + --button-border:1px solid #FFFFFF; } /* Twitch */ -.button.button-twitch { - color: #ffffff; - background-color: #9146ff; -} -.button.button-twitch:hover, -.button.button-twitch:focus { - filter: brightness(90%); +.button-twitch { + --button-text:#ffffff; + --button-background:#9146ff; } /* Unsplash */ -.button.button-unsplash { - color: #000000; - background-color: #ffffff; - border: 1px solid #212121; -} -.button.button-unsplash:hover, -.button.button-unsplash:focus { - filter: brightness(90%); +.button-unsplash { + --button-text:#000000; + --button-background:#ffffff; + --button-border:1px solid #212121; } /* Untappd */ -.button.button-untappd { - color: #000000; - background-color: #ffc000; -} -.button.button-untappd:hover, -.button.button-untappd:focus { - filter: brightness(90%); +.button-untappd { + --button-text:#000000; + --button-background:#ffc000; } /* Upwork */ -.button.button-upwork { - color: #FFFFFF; - background-color: #14A800; -} -.button.button-upwork:hover, -.button.button-upwork:focus { - filter: brightness(90%); +.button-upwork { + --button-text:#FFFFFF; + --button-background:#14A800; } /* Venmo */ -.button.button-venmo { - color: #ffffff; - background-color: #008CFF; -} -.button.button-venmo:hover, -.button.button-venmo:focus { - filter: brightness(90%); +.button-venmo { + --button-text:#ffffff; + --button-background:#008CFF; } /* Vimeo */ -.button.button-vimeo { - color: #ffffff; - background-color: #1ab7ea; -} -.button.button-vimeo:hover, -.button.button-vimeo:focus { - filter: brightness(90%); +.button-vimeo { + --button-text:#ffffff; + --button-background:#1ab7ea; } /* VSCO */ -.button.button-vsco { - color: #FFFFFF; - background-color: #000000; - border: 1px solid #FFFFFF; -} -.button.button-vsco:hover, -.button.button-vsco:focus { - filter: brightness(90%); -} - -/* Website */ -.button.button-web { - color: #ffffff; - background-color: #000000; - border: 1px solid #FFFFFF; -} -.button.button-web:hover, -.button.button-web:focus { - filter: brightness(90%); +.button-vsco { + --button-text:#FFFFFF; + --button-background:#000000; + --button-border:1px solid #FFFFFF; } /* WhatsApp */ -.button.button-whatsapp { - color: #ffffff; - background-color: #455a64; -} -.button.button-whatsapp:hover, -.button.button-whatsapp:focus { - filter: brightness(90%); +.button-whatsapp { + --button-text:#ffffff; + --button-background:#455a64; } -/* Wordpress */ -.button.button-wordpress { - color: #ffffff; - background-color: #21759b; -} -.button.button-wordpress:hover, -.button.button-wordpress:focus { - filter: brightness(90%); +/* WordPress */ +.button-wordpress { + --button-text:#ffffff; + --button-background:#21759b; } /* X */ -.button.button-x { - color: #FFFFFF; - background-color: #000000; - border: 1px solid #FFFFFF; -} -.button.button-x:hover, -.button.button-x:focus { - filter: brightness(90%); +.button-x { + --button-text:#FFFFFF; + --button-background:#000000; + --button-border:1px solid #FFFFFF; } /* YouTube */ -.button.button-yt { - color: #ffffff; - background-color: #000000; - border: 1px solid #FFFFFF; -} -.button.button-yt:hover, -.button.button-yt:focus { - filter: brightness(90%); +.button-yt { + --button-text:#ffffff; + --button-background:#282828; + --button-border:1px solid #FFFFFF; } /* Zoom */ -.button.button-zoom { - color: #ffffff; - background-color: #0B5CFF; +.button-zoom { + --button-text:#ffffff; + --button-background:#0B5CFF; + --button-border:1px solid #FFFFFF; +} + +/* Generic Buttons */ +.button-default { + --button-text:#ffffff; + --button-background:#000000; + --button-border:1px solid #FFFFFF; +} + +.button-blog { + --button-text:#ffffff; + --button-background:#000000; + --button-border:1px solid #FFFFFF; +} + +.button-calendar { + --button-text:#ffffff; + --button-background:#000000; + --button-border:1px solid #FFFFFF; +} + +.button-cloud { + --button-text:#ffffff; + --button-background:#000000; + --button-border:1px solid #FFFFFF; +} + +.button-code { + --button-text:#ffffff; + --button-background:#000000; + --button-border:1px solid #FFFFFF; +} + +.button-computer { + --button-text:#ffffff; + --button-background:#000000; + --button-border:1px solid #FFFFFF; +} + +.button-email { + --button-text:#ffffff; + --button-background:#000000; + --button-border:1px solid #FFFFFF; +} + +.button-homepage { + --button-text:#ffffff; + --button-background:#000000; + --button-border:1px solid #FFFFFF; +} + +.button-map { + --button-text:#ffffff; + --button-background:#000000; + --button-border:1px solid #FFFFFF; +} + +.button-phone { + --button-text:#ffffff; + --button-background:#000000; + --button-border:1px solid #FFFFFF; +} + +.button-review { + --button-text:#ffffff; + --button-background:#000000; + --button-border:1px solid #FFFFFF; +} + +.button-rss { + --button-text:#ffffff; + --button-background:#000000; + --button-border:1px solid #FFFFFF; +} + +.button-shopping-bag { + --button-text:#ffffff; + --button-background:#000000; + --button-border:1px solid #FFFFFF; +} + +.button-shopping-tag { + --button-text:#ffffff; + --button-background:#000000; + --button-border:1px solid #FFFFFF; +} + +.button-sms { + --button-text:#ffffff; + --button-background:#000000; + --button-border:1px solid #FFFFFF; +} + +.button-website { + --button-text:#ffffff; + --button-background:#000000; + --button-border:1px solid #FFFFFF; } -.button.button-zoom:hover, -.button.button-zoom:focus { - filter: brightness(90%); -} \ No newline at end of file diff --git a/css/normalize.css b/css/normalize.css deleted file mode 100644 index 458eea1e..00000000 --- a/css/normalize.css +++ /dev/null @@ -1,427 +0,0 @@ -/*! normalize.css v3.0.2 | MIT License | git.io/normalize */ - -/** - * 1. Set default font family to sans-serif. - * 2. Prevent iOS text size adjust after orientation change, without disabling - * user zoom. - */ - -html { - font-family: sans-serif; /* 1 */ - -ms-text-size-adjust: 100%; /* 2 */ - -webkit-text-size-adjust: 100%; /* 2 */ -} - -/** - * Remove default margin. - */ - -body { - margin: 0; -} - -/* HTML5 display definitions - ========================================================================== */ - -/** - * Correct `block` display not defined for any HTML5 element in IE 8/9. - * Correct `block` display not defined for `details` or `summary` in IE 10/11 - * and Firefox. - * Correct `block` display not defined for `main` in IE 11. - */ - -article, -aside, -details, -figcaption, -figure, -footer, -header, -hgroup, -main, -menu, -nav, -section, -summary { - display: block; -} - -/** - * 1. Correct `inline-block` display not defined in IE 8/9. - * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. - */ - -audio, -canvas, -progress, -video { - display: inline-block; /* 1 */ - vertical-align: baseline; /* 2 */ -} - -/** - * Prevent modern browsers from displaying `audio` without controls. - * Remove excess height in iOS 5 devices. - */ - -audio:not([controls]) { - display: none; - height: 0; -} - -/** - * Address `[hidden]` styling not present in IE 8/9/10. - * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22. - */ - -[hidden], -template { - display: none; -} - -/* Links - ========================================================================== */ - -/** - * Remove the gray background color from active links in IE 10. - */ - -a { - background-color: transparent; -} - -/** - * Improve readability when focused and also mouse hovered in all browsers. - */ - -a:active, -a:hover { - outline: 0; -} - -/* Text-level semantics - ========================================================================== */ - -/** - * Address styling not present in IE 8/9/10/11, Safari, and Chrome. - */ - -abbr[title] { - border-bottom: 1px dotted; -} - -/** - * Address style set to `bolder` in Firefox 4+, Safari, and Chrome. - */ - -b, -strong { - font-weight: bold; -} - -/** - * Address styling not present in Safari and Chrome. - */ - -dfn { - font-style: italic; -} - -/** - * Address variable `h1` font-size and margin within `section` and `article` - * contexts in Firefox 4+, Safari, and Chrome. - */ - -h1 { - font-size: 2em; - margin: 0.67em 0; -} - -/** - * Address styling not present in IE 8/9. - */ - -mark { - background: #ff0; - color: #000; -} - -/** - * Address inconsistent and variable font size in all browsers. - */ - -small { - font-size: 80%; -} - -/** - * Prevent `sub` and `sup` affecting `line-height` in all browsers. - */ - -sub, -sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; -} - -sup { - top: -0.5em; -} - -sub { - bottom: -0.25em; -} - -/* Embedded content - ========================================================================== */ - -/** - * Remove border when inside `a` element in IE 8/9/10. - */ - -img { - border: 0; -} - -/** - * Correct overflow not hidden in IE 9/10/11. - */ - -svg:not(:root) { - overflow: hidden; -} - -/* Grouping content - ========================================================================== */ - -/** - * Address margin not present in IE 8/9 and Safari. - */ - -figure { - margin: 1em 40px; -} - -/** - * Address differences between Firefox and other browsers. - */ - -hr { - -moz-box-sizing: content-box; - box-sizing: content-box; - height: 0; -} - -/** - * Contain overflow in all browsers. - */ - -pre { - overflow: auto; -} - -/** - * Address odd `em`-unit font size rendering in all browsers. - */ - -code, -kbd, -pre, -samp { - font-family: monospace, monospace; - font-size: 1em; -} - -/* Forms - ========================================================================== */ - -/** - * Known limitation: by default, Chrome and Safari on OS X allow very limited - * styling of `select`, unless a `border` property is set. - */ - -/** - * 1. Correct color not being inherited. - * Known issue: affects color of disabled elements. - * 2. Correct font properties not being inherited. - * 3. Address margins set differently in Firefox 4+, Safari, and Chrome. - */ - -button, -input, -optgroup, -select, -textarea { - color: inherit; /* 1 */ - font: inherit; /* 2 */ - margin: 0; /* 3 */ -} - -/** - * Address `overflow` set to `hidden` in IE 8/9/10/11. - */ - -button { - overflow: visible; -} - -/** - * Address inconsistent `text-transform` inheritance for `button` and `select`. - * All other form control elements do not inherit `text-transform` values. - * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera. - * Correct `select` style inheritance in Firefox. - */ - -button, -select { - text-transform: none; -} - -/** - * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` - * and `video` controls. - * 2. Correct inability to style clickable `input` types in iOS. - * 3. Improve usability and consistency of cursor style between image-type - * `input` and others. - */ - -button, -html input[type="button"], /* 1 */ -input[type="reset"], -input[type="submit"] { - -webkit-appearance: button; /* 2 */ - cursor: pointer; /* 3 */ -} - -/** - * Re-set default cursor for disabled elements. - */ - -button[disabled], -html input[disabled] { - cursor: default; -} - -/** - * Remove inner padding and border in Firefox 4+. - */ - -button::-moz-focus-inner, -input::-moz-focus-inner { - border: 0; - padding: 0; -} - -/** - * Address Firefox 4+ setting `line-height` on `input` using `!important` in - * the UA stylesheet. - */ - -input { - line-height: normal; -} - -/** - * It's recommended that you don't attempt to style these elements. - * Firefox's implementation doesn't respect box-sizing, padding, or width. - * - * 1. Address box sizing set to `content-box` in IE 8/9/10. - * 2. Remove excess padding in IE 8/9/10. - */ - -input[type="checkbox"], -input[type="radio"] { - box-sizing: border-box; /* 1 */ - padding: 0; /* 2 */ -} - -/** - * Fix the cursor style for Chrome's increment/decrement buttons. For certain - * `font-size` values of the `input`, it causes the cursor style of the - * decrement button to change from `default` to `text`. - */ - -input[type="number"]::-webkit-inner-spin-button, -input[type="number"]::-webkit-outer-spin-button { - height: auto; -} - -/** - * 1. Address `appearance` set to `searchfield` in Safari and Chrome. - * 2. Address `box-sizing` set to `border-box` in Safari and Chrome - * (include `-moz` to future-proof). - */ - -input[type="search"] { - -webkit-appearance: textfield; /* 1 */ - -moz-box-sizing: content-box; - -webkit-box-sizing: content-box; /* 2 */ - box-sizing: content-box; -} - -/** - * Remove inner padding and search cancel button in Safari and Chrome on OS X. - * Safari (but not Chrome) clips the cancel button when the search input has - * padding (and `textfield` appearance). - */ - -input[type="search"]::-webkit-search-cancel-button, -input[type="search"]::-webkit-search-decoration { - -webkit-appearance: none; -} - -/** - * Define consistent border, margin, and padding. - */ - -fieldset { - border: 1px solid #c0c0c0; - margin: 0 2px; - padding: 0.35em 0.625em 0.75em; -} - -/** - * 1. Correct `color` not being inherited in IE 8/9/10/11. - * 2. Remove padding so people aren't caught out if they zero out fieldsets. - */ - -legend { - border: 0; /* 1 */ - padding: 0; /* 2 */ -} - -/** - * Remove default vertical scrollbar in IE 8/9/10/11. - */ - -textarea { - overflow: auto; -} - -/** - * Don't inherit the `font-weight` (applied by a rule above). - * NOTE: the default cannot safely be changed in Chrome and Safari on OS X. - */ - -optgroup { - font-weight: bold; -} - -/* Tables - ========================================================================== */ - -/** - * Remove most spacing between table cells. - */ - -table { - border-collapse: collapse; - border-spacing: 0; -} - -td, -th { - padding: 0; -} diff --git a/css/reset.css b/css/reset.css new file mode 100644 index 00000000..d158daf5 --- /dev/null +++ b/css/reset.css @@ -0,0 +1,91 @@ +/* +* LittleLink Reset +* A minimal CSS reset for LittleLink +*/ + +/* Box sizing rules */ +*, +*::before, +*::after { + box-sizing: border-box; +} + +/* Remove default margin */ +body, +h1, +h2, +h3, +h4, +p, +figure, +blockquote, +dl, +dd { + margin: 0; +} + +/* Remove list styles on ul, ol elements */ +ul, +ol { + list-style: none; + margin: 0; + padding: 0; +} + +/* Set core root defaults */ +html:focus-within { + scroll-behavior: smooth; +} + +/* Set core body defaults */ +body { + min-height: 100vh; + text-rendering: optimizeSpeed; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +/* Make images easier to work with */ +img, +picture { + max-width: 100%; + display: block; +} + +/* Inherit fonts for inputs and buttons */ +input, +button, +textarea, +select { + font: inherit; +} + +/* Remove all animations and transitions for people that prefer not to see them */ +@media (prefers-reduced-motion: reduce) { + html:focus-within { + scroll-behavior: auto; + } + *, + *::before, + *::after { + animation-duration: 0.01ms !important; + animation-iteration-count: 1 !important; + transition-duration: 0.01ms !important; + scroll-behavior: auto !important; + } +} + +/* Modern focus styles */ +:focus:not(:focus-visible) { + outline: none; +} + +:focus-visible { + outline: 2px solid #2457F5; + outline-offset: 2px; +} + +/* Remove touch callout on iOS */ +a { + -webkit-touch-callout: none; +} \ No newline at end of file diff --git a/css/skeleton-auto.css b/css/skeleton-auto.css deleted file mode 100644 index 56f49cbe..00000000 --- a/css/skeleton-auto.css +++ /dev/null @@ -1,279 +0,0 @@ -/* -* littlelink V1 -* https://littlelink.com -* Free to use under the MIT license. -* http://www.opensource.org/licenses/mit-license.php -* 12/21/2019 -* -* Built using: -* -* Skeleton V2.0.4 -* Copyright 2014, Dave Gamache -* www.getskeleton.com -* Free to use under the MIT license. -* http://www.opensource.org/licenses/mit-license.php -* 12/29/2014 -*/ - -/* Table of contents -–––––––––––––––––––––––––––––––––––––––––––––––––– -- Grid -- Base Styles -- Typography -- Links -- Code -- Spacing -- Utilities -* -* You'll find the button css in css/brands.css. -* -*/ - -/* Grid -–––––––––––––––––––––––––––––––––––––––––––––––––– */ -.container { - position: relative; - width: 100%; - max-width: 600px; - text-align: center; - margin: 0 auto; - padding: 0 20px; - box-sizing: border-box; -} -.container-left { - position: relative; - width: 100%; - max-width: 600px; - text-align: left; - margin: 0 auto; - padding: 0 20px; - box-sizing: border-box; -} -.column { - position: center; - width: 100%; - float: center; - box-sizing: border-box; -} - -/* For devices larger than 400px */ -@media (min-width: 400px) { - .container { - width: 85%; - padding: 0; - } -} - -/* For devices larger than 550px */ -@media (min-width: 550px) { - .container { - width: 80%; - } - .column, - .columns { - margin-left: 0; - } - .column:first-child, - .columns:first-child { - margin-left: 0; - } -} - -/* Base Styles -–––––––––––––––––––––––––––––––––––––––––––––––––– */ -/* NOTE -html is set to 62.5% so that all the REM measurements throughout Skeleton -are based on 10px sizing. So basically 1.5rem = 15px :) */ - -html { - font-size: 100%; - color-scheme: light dark; -} -body { - font-size: 18px; - line-height: 24px; - font-weight: 400; - font-family: "Open Sans", "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, - sans-serif; -} - -/* Typography -–––––––––––––––––––––––––––––––––––––––––––––––––– */ -h1 { - margin-top: 0; - margin-bottom: 16px; - font-weight: 800; -} -h1 { - font-size: 24px; - line-height: 64px; - letter-spacing: 0; -} - -/* Larger than phablet */ -@media (min-width: 550px) { - h1 { - font-size: 48px; - line-height: 96px; - } -} - -p { - margin-top: 0; -} - -/* Links -–––––––––––––––––––––––––––––––––––––––––––––––––– */ -a { - color: #2457F5; -} -a:hover { - color: #083BDA; -} -a:focus { - outline: #7AB8FF solid 2px; - border-radius: 2px; -} - -/* Link Color Dark Theme */ -@media (prefers-color-scheme: dark) { - a { - color: #4899F7; -} -a:hover { - color: #7AB8FF; -} -a:focus { - outline: #7AB8FF solid 2px; - border-radius: 2px; -} -} - -/* Code -–––––––––––––––––––––––––––––––––––––––––––––––––– */ -code { - padding: 0.2rem 0.5rem; - margin: 0 0.2rem; - font-size: 90%; - white-space: nowrap; - background: #f1f1f1; - border: 1px solid #e1e1e1; - border-radius: 4px; -} -pre > code { - display: block; - padding: 1rem 1.5rem; - white-space: pre; -} - -/* Spacing -–––––––––––––––––––––––––––––––––––––––––––––––––– */ -button, -.button { - margin-bottom: 1rem; -} -input, -textarea, -select, -fieldset { - margin-bottom: 1.5rem; -} -pre, -blockquote, -dl, -figure, -p, -ol { - margin-bottom: 2.5rem; -} - -/* Utilities -–––––––––––––––––––––––––––––––––––––––––––––––––– */ -.u-full-width { - width: 100%; - box-sizing: border-box; -} -.u-max-full-width { - max-width: 100%; - box-sizing: border-box; -} -.u-pull-right { - float: right; -} -.u-pull-left { - float: left; -} - -/* Misc -–––––––––––––––––––––––––––––––––––––––––––––––––– */ -hr { - margin-top: 3rem; - margin-bottom: 3.5rem; - border-width: 0; - border-top: 1px solid #e1e1e1; -} -/* Radius values: - -10%-40%: Squircles -50% (default): True circle -*/ -.avatar { - width: 128px; - height: 128px; - object-fit: cover; - background-position: center; - border-radius: 50%; -} - -/* open-sans-regular - vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic */ -@font-face { - font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */ - font-family: 'Open Sans'; - font-style: normal; - font-weight: 400; - src: url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-regular.eot'); /* IE9 Compat Modes */ - src: url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ - url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-regular.woff2') format('woff2'), /* Super Modern Browsers */ - url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-regular.woff') format('woff'), /* Modern Browsers */ - url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-regular.ttf') format('truetype'), /* Safari, Android, iOS */ - url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-regular.svg#OpenSans') format('svg'); /* Legacy iOS */ -} -/* open-sans-600 - vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic */ -@font-face { - font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */ - font-family: 'Open Sans'; - font-style: normal; - font-weight: 600; - src: url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-600.eot'); /* IE9 Compat Modes */ - src: url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-600.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ - url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-600.woff2') format('woff2'), /* Super Modern Browsers */ - url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-600.woff') format('woff'), /* Modern Browsers */ - url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-600.ttf') format('truetype'), /* Safari, Android, iOS */ - url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-600.svg#OpenSans') format('svg'); /* Legacy iOS */ -} -/* open-sans-700 - vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic */ -@font-face { - font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */ - font-family: 'Open Sans'; - font-style: normal; - font-weight: 700; - src: url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-700.eot'); /* IE9 Compat Modes */ - src: url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ - url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-700.woff2') format('woff2'), /* Super Modern Browsers */ - url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-700.woff') format('woff'), /* Modern Browsers */ - url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-700.ttf') format('truetype'), /* Safari, Android, iOS */ - url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-700.svg#OpenSans') format('svg'); /* Legacy iOS */ -} -/* open-sans-800 - vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic */ -@font-face { - font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */ - font-family: 'Open Sans'; - font-style: normal; - font-weight: 800; - src: url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-800.eot'); /* IE9 Compat Modes */ - src: url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-800.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ - url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-800.woff2') format('woff2'), /* Super Modern Browsers */ - url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-800.woff') format('woff'), /* Modern Browsers */ - url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-800.ttf') format('truetype'), /* Safari, Android, iOS */ - url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-800.svg#OpenSans') format('svg'); /* Legacy iOS */ -} \ No newline at end of file diff --git a/css/skeleton-dark.css b/css/skeleton-dark.css deleted file mode 100644 index f2f57f8c..00000000 --- a/css/skeleton-dark.css +++ /dev/null @@ -1,261 +0,0 @@ -/* -* littlelink V1 -* https://littlelink.com -* Free to use under the MIT license. -* http://www.opensource.org/licenses/mit-license.php -* 12/21/2019 -* -* Built using: -* -* Skeleton V2.0.4 -* Copyright 2014, Dave Gamache -* www.getskeleton.com -* Free to use under the MIT license. -* http://www.opensource.org/licenses/mit-license.php -* 12/29/2014 -*/ - -/* Table of contents -–––––––––––––––––––––––––––––––––––––––––––––––––– -- Grid -- Base Styles -- Typography -- Links -- Code -- Spacing -- Utilities -* -* You'll find the button css in css/brands.css. -* -*/ - -/* Grid -–––––––––––––––––––––––––––––––––––––––––––––––––– */ -.container { - position: relative; - width: 100%; - max-width: 600px; - text-align: center; - margin: 0 auto; - padding: 0 20px; - box-sizing: border-box; -} -.container-left { - position: relative; - width: 100%; - max-width: 600px; - text-align: left; - margin: 0 auto; - padding: 0 20px; - box-sizing: border-box; -} -.column { - position: center; - width: 100%; - float: center; - box-sizing: border-box; -} - -/* For devices larger than 400px */ -@media (min-width: 400px) { - .container { - width: 85%; - padding: 0; - } -} - -/* For devices larger than 550px */ -@media (min-width: 550px) { - .container { - width: 80%; - } - .column, - .columns { - margin-left: 0; - } - .column:first-child, - .columns:first-child { - margin-left: 0; - } -} - -/* Base Styles -–––––––––––––––––––––––––––––––––––––––––––––––––– */ -/* NOTE -html is set to 62.5% so that all the REM measurements throughout Skeleton -are based on 10px sizing. So basically 1.5rem = 15px :) */ - -html { - font-size: 100%; - color-scheme: dark; -} -body { - font-size: 18px; - line-height: 24px; - font-weight: 400; - font-family: "Open Sans", "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, - sans-serif; -} - -/* Typography -–––––––––––––––––––––––––––––––––––––––––––––––––– */ -h1 { - margin-top: 0; - margin-bottom: 16px; - font-weight: 800; -} -h1 { - font-size: 24px; - line-height: 64px; - letter-spacing: 0; -} - -/* Larger than phablet */ -@media (min-width: 550px) { - h1 { - font-size: 48px; - line-height: 96px; - } -} - -p { - margin-top: 0; -} - -/* Links -–––––––––––––––––––––––––––––––––––––––––––––––––– */ -a { - color: #4899F7; -} -a:hover { - color: #7AB8FF; -} - -/* Code -–––––––––––––––––––––––––––––––––––––––––––––––––– */ -code { - padding: 0.2rem 0.5rem; - margin: 0 0.2rem; - font-size: 90%; - white-space: nowrap; - background: #f1f1f1; - border: 1px solid #e1e1e1; - border-radius: 4px; -} -pre > code { - display: block; - padding: 1rem 1.5rem; - white-space: pre; -} - -/* Spacing -–––––––––––––––––––––––––––––––––––––––––––––––––– */ -button, -.button { - margin-bottom: 1rem; -} -input, -textarea, -select, -fieldset { - margin-bottom: 1.5rem; -} -pre, -blockquote, -dl, -figure, -p, -ol { - margin-bottom: 2.5rem; -} - -/* Utilities -–––––––––––––––––––––––––––––––––––––––––––––––––– */ -.u-full-width { - width: 100%; - box-sizing: border-box; -} -.u-max-full-width { - max-width: 100%; - box-sizing: border-box; -} -.u-pull-right { - float: right; -} -.u-pull-left { - float: left; -} - -/* Misc -–––––––––––––––––––––––––––––––––––––––––––––––––– */ -hr { - margin-top: 3rem; - margin-bottom: 3.5rem; - border-width: 0; - border-top: 1px solid #e1e1e1; -} -/* Radius values: - -10%-40%: Squircles -50% (default): True circle -*/ -.avatar { - width: 128px; - height: 128px; - object-fit: cover; - background-position: center; - border-radius: 50%; -} - -/* open-sans-regular - vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic */ -@font-face { - font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */ - font-family: 'Open Sans'; - font-style: normal; - font-weight: 400; - src: url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-regular.eot'); /* IE9 Compat Modes */ - src: url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ - url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-regular.woff2') format('woff2'), /* Super Modern Browsers */ - url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-regular.woff') format('woff'), /* Modern Browsers */ - url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-regular.ttf') format('truetype'), /* Safari, Android, iOS */ - url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-regular.svg#OpenSans') format('svg'); /* Legacy iOS */ -} -/* open-sans-600 - vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic */ -@font-face { - font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */ - font-family: 'Open Sans'; - font-style: normal; - font-weight: 600; - src: url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-600.eot'); /* IE9 Compat Modes */ - src: url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-600.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ - url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-600.woff2') format('woff2'), /* Super Modern Browsers */ - url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-600.woff') format('woff'), /* Modern Browsers */ - url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-600.ttf') format('truetype'), /* Safari, Android, iOS */ - url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-600.svg#OpenSans') format('svg'); /* Legacy iOS */ -} -/* open-sans-700 - vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic */ -@font-face { - font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */ - font-family: 'Open Sans'; - font-style: normal; - font-weight: 700; - src: url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-700.eot'); /* IE9 Compat Modes */ - src: url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ - url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-700.woff2') format('woff2'), /* Super Modern Browsers */ - url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-700.woff') format('woff'), /* Modern Browsers */ - url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-700.ttf') format('truetype'), /* Safari, Android, iOS */ - url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-700.svg#OpenSans') format('svg'); /* Legacy iOS */ -} -/* open-sans-800 - vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic */ -@font-face { - font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */ - font-family: 'Open Sans'; - font-style: normal; - font-weight: 800; - src: url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-800.eot'); /* IE9 Compat Modes */ - src: url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-800.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ - url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-800.woff2') format('woff2'), /* Super Modern Browsers */ - url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-800.woff') format('woff'), /* Modern Browsers */ - url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-800.ttf') format('truetype'), /* Safari, Android, iOS */ - url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-800.svg#OpenSans') format('svg'); /* Legacy iOS */ -} \ No newline at end of file diff --git a/css/skeleton-light.css b/css/skeleton-light.css deleted file mode 100644 index d33a65d0..00000000 --- a/css/skeleton-light.css +++ /dev/null @@ -1,261 +0,0 @@ -/* -* littlelink V1 -* https://littlelink.com -* Free to use under the MIT license. -* http://www.opensource.org/licenses/mit-license.php -* 12/21/2019 -* -* Built using: -* -* Skeleton V2.0.4 -* Copyright 2014, Dave Gamache -* www.getskeleton.com -* Free to use under the MIT license. -* http://www.opensource.org/licenses/mit-license.php -* 12/29/2014 -*/ - -/* Table of contents -–––––––––––––––––––––––––––––––––––––––––––––––––– -- Grid -- Base Styles -- Typography -- Links -- Code -- Spacing -- Utilities -* -* You'll find the button css in css/brands.css. -* -*/ - -/* Grid -–––––––––––––––––––––––––––––––––––––––––––––––––– */ -.container { - position: relative; - width: 100%; - max-width: 600px; - text-align: center; - margin: 0 auto; - padding: 0 20px; - box-sizing: border-box; -} -.container-left { - position: relative; - width: 100%; - max-width: 600px; - text-align: left; - margin: 0 auto; - padding: 0 20px; - box-sizing: border-box; -} -.column { - position: center; - width: 100%; - float: center; - box-sizing: border-box; -} - -/* For devices larger than 400px */ -@media (min-width: 400px) { - .container { - width: 85%; - padding: 0; - } -} - -/* For devices larger than 550px */ -@media (min-width: 550px) { - .container { - width: 80%; - } - .column, - .columns { - margin-left: 0; - } - .column:first-child, - .columns:first-child { - margin-left: 0; - } -} - -/* Base Styles -–––––––––––––––––––––––––––––––––––––––––––––––––– */ -/* NOTE -html is set to 62.5% so that all the REM measurements throughout Skeleton -are based on 10px sizing. So basically 1.5rem = 15px :) */ - -html { - font-size: 100%; - color-scheme: light; -} -body { - font-size: 18px; - line-height: 24px; - font-weight: 400; - font-family: "Open Sans", "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, - sans-serif; -} - -/* Typography -–––––––––––––––––––––––––––––––––––––––––––––––––– */ -h1 { - margin-top: 0; - margin-bottom: 16px; - font-weight: 800; -} -h1 { - font-size: 24px; - line-height: 64px; - letter-spacing: 0; -} - -/* Larger than phablet */ -@media (min-width: 550px) { - h1 { - font-size: 48px; - line-height: 96px; - } -} - -p { - margin-top: 0; -} - -/* Links -–––––––––––––––––––––––––––––––––––––––––––––––––– */ -a { - color: #2457F5; -} -a:hover { - color: #083BDA; -} - -/* Code -–––––––––––––––––––––––––––––––––––––––––––––––––– */ -code { - padding: 0.2rem 0.5rem; - margin: 0 0.2rem; - font-size: 90%; - white-space: nowrap; - background: #f1f1f1; - border: 1px solid #e1e1e1; - border-radius: 4px; -} -pre > code { - display: block; - padding: 1rem 1.5rem; - white-space: pre; -} - -/* Spacing -–––––––––––––––––––––––––––––––––––––––––––––––––– */ -button, -.button { - margin-bottom: 1rem; -} -input, -textarea, -select, -fieldset { - margin-bottom: 1.5rem; -} -pre, -blockquote, -dl, -figure, -p, -ol { - margin-bottom: 2.5rem; -} - -/* Utilities -–––––––––––––––––––––––––––––––––––––––––––––––––– */ -.u-full-width { - width: 100%; - box-sizing: border-box; -} -.u-max-full-width { - max-width: 100%; - box-sizing: border-box; -} -.u-pull-right { - float: right; -} -.u-pull-left { - float: left; -} - -/* Misc -–––––––––––––––––––––––––––––––––––––––––––––––––– */ -hr { - margin-top: 3rem; - margin-bottom: 3.5rem; - border-width: 0; - border-top: 1px solid #e1e1e1; -} -/* Radius values: - -10%-40%: Squircles -50% (default): True circle -*/ -.avatar { - width: 128px; - height: 128px; - object-fit: cover; - background-position: center; - border-radius: 50%; -} - -/* open-sans-regular - vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic */ -@font-face { - font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */ - font-family: 'Open Sans'; - font-style: normal; - font-weight: 400; - src: url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-regular.eot'); /* IE9 Compat Modes */ - src: url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ - url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-regular.woff2') format('woff2'), /* Super Modern Browsers */ - url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-regular.woff') format('woff'), /* Modern Browsers */ - url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-regular.ttf') format('truetype'), /* Safari, Android, iOS */ - url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-regular.svg#OpenSans') format('svg'); /* Legacy iOS */ -} -/* open-sans-600 - vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic */ -@font-face { - font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */ - font-family: 'Open Sans'; - font-style: normal; - font-weight: 600; - src: url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-600.eot'); /* IE9 Compat Modes */ - src: url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-600.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ - url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-600.woff2') format('woff2'), /* Super Modern Browsers */ - url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-600.woff') format('woff'), /* Modern Browsers */ - url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-600.ttf') format('truetype'), /* Safari, Android, iOS */ - url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-600.svg#OpenSans') format('svg'); /* Legacy iOS */ -} -/* open-sans-700 - vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic */ -@font-face { - font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */ - font-family: 'Open Sans'; - font-style: normal; - font-weight: 700; - src: url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-700.eot'); /* IE9 Compat Modes */ - src: url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ - url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-700.woff2') format('woff2'), /* Super Modern Browsers */ - url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-700.woff') format('woff'), /* Modern Browsers */ - url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-700.ttf') format('truetype'), /* Safari, Android, iOS */ - url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-700.svg#OpenSans') format('svg'); /* Legacy iOS */ -} -/* open-sans-800 - vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic */ -@font-face { - font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */ - font-family: 'Open Sans'; - font-style: normal; - font-weight: 800; - src: url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-800.eot'); /* IE9 Compat Modes */ - src: url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-800.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ - url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-800.woff2') format('woff2'), /* Super Modern Browsers */ - url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-800.woff') format('woff'), /* Modern Browsers */ - url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-800.ttf') format('truetype'), /* Safari, Android, iOS */ - url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-800.svg#OpenSans') format('svg'); /* Legacy iOS */ -} \ No newline at end of file diff --git a/css/style.css b/css/style.css new file mode 100644 index 00000000..906fa625 --- /dev/null +++ b/css/style.css @@ -0,0 +1,382 @@ +/* +* LittleLink +* https://littlelink.io +* Free to use under the MIT license +* http://www.opensource.org/licenses/mit-license.php +*/ + +/* Base Typography Settings +–––––––––––––––––––––––––––––––––––––––––––––––––– */ +:root { + font-size:16px; +} + +/* Grid + –––––––––––––––––––––––––––––––––––––––––––––––––– */ + .container { + position:relative; + width:100%; + max-width:37.5rem; /* 600px */ + text-align:center; + margin:0 auto; + padding:3rem 1.25rem 0 1.25rem; + box-sizing:border-box; +} +.container-left { + position:relative; + width:100%; + max-width:37.5rem; + text-align:left; + margin:0 auto; + padding:0 1.25rem; + box-sizing:border-box; +} +.container-left p { + margin-bottom: 1rem; /* 16px space between paragraphs */ + } +.column { + position:center; + width:100%; + float:center; + box-sizing:border-box; +} +/* For devices larger than 400px */ + @media (min-width:25rem) { /* 400px */ + .container { + width:85%; + padding-left:0; + padding-right:0; +} +}/* For devices larger than 550px */ + @media (min-width:34.375rem) { /* 550px */ + .container { + width:80%; +} +.column,.columns { + margin-left:0; +} +.column:first-child,.columns:first-child { + margin-left:0; +} +} + +/* Base Styles + –––––––––––––––––––––––––––––––––––––––––––––––––– */ + body { + margin:0; + padding:0; + background-color:#ffffff; + color:#1a1a1a; + font-family:"Open Sans",system-ui; + font-size:1.125rem; /* 18px */ + font-weight:400; + line-height:1.6; +} + +/* Typography + –––––––––––––––––––––––––––––––––––––––––––––––––– */ + h1 { + margin:0 0 0.5rem 0; + font-size:3rem; /* 48px */ + font-weight:800; + line-height:1; + letter-spacing:0; + word-wrap:break-word; + overflow-wrap:break-word; + hyphens:auto; /* Delete this to remove automatic hyphen on line break */ +} +.container p { + margin:0 0 2rem 0; +} + +/* Base Typography Settings +–––––––––––––––––––––––––––––––––––––––––––––––––– */ +/* Base size - 16px browser default */ +:root { + font-size:16px; /* Using a 1.25 modular scale for typography */ + --scale-0:1rem; /* 16px */ + --scale-1:1.25rem; /* 20px */ + --scale-2:1.563rem; /* 25px */ + --scale-3:1.953rem; /* 31px */ + --scale-4:2.441rem; /* 39px */ + --scale-5:3.052rem; /* 49px */ + + /* Spacing units */ + --spacing-xs:0.5rem; /* 8px */ + --spacing-s:1rem; /* 16px */ + --spacing-m:1.5rem; /* 24px */ + --spacing-l:2rem; /* 32px */ + --spacing-xl:3rem; /* 48px */ + --spacing-xxl:4rem; /* 64px */ +} + +/* Avatar */ +.avatar { + width: 8rem; /* 128px */ + height: 8rem; + border-radius: 50%; + object-fit: cover; + background-position: center; + margin-bottom: var(--spacing-l); + margin-left: auto; + margin-right: auto; + display: block; + } + +/* Typography Scale */ +h1 { + margin:0 0 var(--spacing-m) 0; + font-size:var(--scale-5); /* ~49px */ + font-weight:800; + line-height:1.1; + letter-spacing:-0.02em; + word-wrap:break-word; + overflow-wrap:break-word; +} +body { + font-size:var(--scale-1); /* 20px */ + line-height:1.6; +} +.container p { + margin:0 0 var(--spacing-xl) 0; + font-size:var(--scale-1); + line-height:1.6; +} + +/* Container spacing */ +.container { + padding:var(--spacing-xl) var(--spacing-m) 0 var(--spacing-m); + text-align:center; +} + +/* Footer */ +footer { + margin:var(--spacing-xxl) 0; /* 4rem (64px) top and bottom */ + font-size:var(--scale-0); +} + +/* Responsive adjustments */ +@media (max-width:34.375rem) { /* 550px */ + h1 { + font-size:var(--scale-4); +} +body { + font-size:var(--scale-0); +} +.container p { + font-size:var(--scale-0); +} +.avatar { + margin-bottom:var(--spacing-m); +} +footer { + margin:var(--spacing-xl) 0; /* 3rem (48px) top and bottom */ +} +} + +/* Links + –––––––––––––––––––––––––––––––––––––––––––––––––– */ + a { + color:#2457F5; + text-decoration:underline; +} +a:hover { + color:#083BDA; +} + +/* Buttons +–––––––––––––––––––––––––––––––––––––––––––––––––– */ +.button,button { + display:inline-flex; + align-items:center; + justify-content:center; + width:18.75rem; /* 300px */ + min-height:3rem; /* 48px */ + padding:0.75rem 1rem; /* 12px ; 16px */ + font-size:1.125rem; /* 18px */ + font-weight:700; + text-decoration:none; + white-space:normal; + background-color:var(--button-background,transparent); + color:var(--button-text,#000000); + border:var(--button-border,none); + border-radius:0.5rem; + cursor:pointer; + box-sizing:border-box; + hyphens:auto; /* Delete this to remove automatic hyphen on line break */ + margin-bottom:1rem; + text-align:center; + line-height:1.3; +} + +/* Icons +–––––––––––––––––––––––––––––––––––––––––––––––––– */ +.icon { + width:1.25rem; + height:1.25rem; + margin-right:0.5rem; + flex-shrink:0; +} + +/* Avatar + –––––––––––––––––––––––––––––––––––––––––––––––––– */ +.avatar { + width: 8rem; /* 128px */ + height: 8rem; + object-fit: cover; + background-position: center; + margin-bottom: var(--spacing-l); + } + + /* Modifier for no avatar rounding */ + .avatar--none { + border-radius: 0%; + } + + /* Modifier for rounded avatar */ + .avatar--rounded { + border-radius: 50%; + } + + /* Modifier for slightly rounded corners */ + .avatar--soft { + border-radius: 0.5rem; /* 8px rounded corners */ + } + +/* Theme System + –––––––––––––––––––––––––––––––––––––––––––––––––– */ +/* Light theme is default above */ + +/* Dark theme */ +:root.theme-dark { + color-scheme:dark; +} +:root.theme-dark :focus-visible { + outline: 2px solid #4899F7; + outline-offset: 2px; + } +:root.theme-dark body { + background-color:#121212; + color:#ffffff; +} +:root.theme-dark a:not(.button) { + color:#4899F7; +} +:root.theme-dark a:not(.button):hover { + color:#7AB8FF; +} + +/* Auto theme */ +:root.theme-auto { + color-scheme:light dark; +} +@media (prefers-color-scheme:dark) { + :root.theme-auto body { + background-color:#121212; + color:#ffffff; +} +:root.theme-auto :focus-visible { + outline: 2px solid #4899F7; + outline-offset: 2px; + } +:root.theme-auto a:not(.button) { + color:#4899F7; +} +:root.theme-auto a:not(.button):hover { + color:#7AB8FF; +} +} + +/* Button Text Color Override + –––––––––––––––––––––––––––––––––––––––––––––––––– */ + .button:hover,button:hover { + color:var(--button-text); +} + +/* Responsive Typography + –––––––––––––––––––––––––––––––––––––––––––––––––– */ + @media (max-width:34.375rem) { /* 550px */ + h1 { + font-size:2rem; /* 32px */ + } + body { + font-size:1rem; /* 16px */ + } +} + +/* Privacy Page Styles + –––––––––––––––––––––––––––––––––––––––––––––––––– */ +nav { + margin:var(--spacing-l) 0; + text-align:left; +} +section { + margin:var(--spacing-xl) 0; + text-align:left; +} +h2 { + font-size:var(--scale-3); + font-weight:700; + margin-bottom:var(--spacing-m); +} +h3 { + font-size:var(--scale-2); + font-weight:600; + margin:var(--spacing-l) 0 var(--spacing-s) 0; +} +ul { + list-style:none; + padding:0; + margin:0 0 var(--spacing-m) 0; +} +ul li { + margin-bottom:var(--spacing-xs); +} + +/* Privacy page specific responsive adjustments */ + @media (max-width:34.375rem) { + h2 { + font-size:var(--scale-2); + } + h3 { + font-size:var(--scale-1); + } + section { + margin:var(--spacing-l) 0; + } +} + +/* Font Face Definitions + –––––––––––––––––––––––––––––––––––––––––––––––––– */ +@font-face { + font-display:swap; + font-family:'Open Sans'; + font-style:normal; + font-weight:400; + src:url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-regular.eot'); + src:url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-regular.eot?#iefix') format('embedded-opentype'),url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-regular.woff2') format('woff2'),url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-regular.woff') format('woff'),url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-regular.ttf') format('truetype'),url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-regular.svg#OpenSans') format('svg'); +} +@font-face { + font-display:swap; + font-family:'Open Sans'; + font-style:normal; + font-weight:600; + src:url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-600.eot'); + src:url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-600.eot?#iefix') format('embedded-opentype'),url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-600.woff2') format('woff2'),url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-600.woff') format('woff'),url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-600.ttf') format('truetype'),url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-600.svg#OpenSans') format('svg'); +} +@font-face { + font-display:swap; + font-family:'Open Sans'; + font-style:normal; + font-weight:700; + src:url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-700.eot'); + src:url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-700.eot?#iefix') format('embedded-opentype'),url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-700.woff2') format('woff2'),url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-700.woff') format('woff'),url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-700.ttf') format('truetype'),url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-700.svg#OpenSans') format('svg'); +} +@font-face { + font-display:swap; + font-family:'Open Sans'; + font-style:normal; + font-weight:800; + src:url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-800.eot'); + src:url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-800.eot?#iefix') format('embedded-opentype'),url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-800.woff2') format('woff2'),url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-800.woff') format('woff'),url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-800.ttf') format('truetype'),url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-800.svg#OpenSans') format('svg'); +} diff --git a/images/avatar.png b/images/avatar.png new file mode 100644 index 0000000000000000000000000000000000000000..b88ecad64446cc2999d67cf28e7d54c4e5d5410e GIT binary patch literal 18823 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 O00002P&BBup5qtb=1dhTl_P9JE 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 \ No newline at end of file + + + + + + + + + + + + + + + + + + + + diff --git a/images/icons/littlelink.svg b/images/icons/littlelink.svg index 3a5a0073..55e0bc86 100644 --- a/images/icons/littlelink.svg +++ b/images/icons/littlelink.svg @@ -1 +1,11 @@ - \ No newline at end of file + + + + + + + + + + + diff --git a/images/icons/medium.svg b/images/icons/medium.svg index e8ea6473..0ae1ff41 100644 --- a/images/icons/medium.svg +++ b/images/icons/medium.svg @@ -1 +1,12 @@ - \ No newline at end of file + + + + + + + + + + + + diff --git a/images/littlelink.png b/images/littlelink.png deleted file mode 100644 index b38bd437cce32d5c883071af4648261a38530f98..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2710 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 QA^-pY07*qoM6N<$f>7fqPXGV_ diff --git a/images/littlelink.svg b/images/littlelink.svg deleted file mode 100644 index 2f2d4869..00000000 --- a/images/littlelink.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/images/littlelink@2x.png b/images/littlelink@2x.png deleted file mode 100644 index 48629a38402eb1ea596997c3a5c50c040c451b9b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7665 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͘kLu-7JlX{A(6-Qy1upZ8Jw@aE1&DC_tC zzTwOdZs6b6YuBq<$rnO5YQsb??27PzYa1uO^Wyy0kPg5@@wl&YMw#mVQukU*ujshJ>b#zv?ObE&N;;Xz;boc&x?_&@Pm+xqnH+_0C?(k;5w zq1g}RWrPG(py3!wO&H8o%uj-78|FHq0Q2I^`cDl!ofM55VecTO)`|01c!E(!$aUY6Yl0Woslfsus0)vsN(Iqmy zoOYgYIh2dEEdzf8%Ftg+q%>xr8KPdl629gcJLafT&xF$gDF<1r@BEYBwINBCe{uNE z8zMmq+0n6OP{~5ON@{RG<%?$*&at+o0pJJts}S`YAVBAc`ZG??;7z9we$6v?glqHW z=1Akt-!-)Jofl~zFRCF-pm%p`!n_d0%5u8qgbt&X4+p`H6`ew7?f;%lFENytZPW_VJ{tKs}jfXo_IpEehCM1yhHJw#u*a^)+RZ(*o* z-xpp9v25F1oIr{s?O`%s2O^oc9r){imD2}TP{If?cWnOd34b&@kf3HjF$rD@pn~pM zwvwFXY-PE#A_Qtc@>O<}aFFF1+DVgBA#z)G&(5N4Lqt1j-yD6@FKxl=W|i>&celG` zc6Njhu(=2uc4>msFJWvl&;EwUf-?lFLcXrFZ3`wV_oV zmoZPUICJZjkZ1>P$RspCwHY|)iJWAVu}(tvrnEL3c=nPRU=!bPc31#wQO^~aA21@A zn<`(PG+owuQ`L@KRi58~72!Sxr@wDgKl!`2ObL!~zk37G2eh=A>2x>o|6h`omW$yK zN;2+1IN7cER)U~741YLmZ*TpP{6(Q?z!A19gAemYu9ZTQQ+E)pZwO>3b0@Dt9L>?K zP=blIi-ZK1pvonwn69sUm6_B-Nfw{ef^vmunsgMuNnrW)+8>Ss9Bx|-csSu!=019L z8rkKp762w>?U(u2W9sLf{P2DFptlN$x+>29?#=mbHuVxSV*0m($e9IhJ~+v(BQtec z=G*jb+&-+Iy|5-}ZBl+DHyP&ELTv9E%iTil^q27cK?pl+8|5 zL*2ToDg>P+=Xc=L_pG7>n;mmIqKuq9(F2V3G_^k3@O$n=AsUJkitAQ)O9>M+8I5+o z&@c!M6n`x4Hez>r!=y4mq`!!j_}@5sy2z-_wJ_)Rc}WTQ$=}&tfz{ktN?bChV5T;> zd*_3>V>~F*|4z^aDz^J}xXWd~fuJnF#kYbB4B!I)^$)lo)H;0hjD(VuYmiI~!UUY5 zna`!oR4&$^S#CGNN}L=|f|YP%HlLv6XUN<;oweePP7rj-`6L8y#3jC;lp=y+l;)I0 zWDYAIM$-dm!hj}>KU(9L&bM+ao-9S*CUsLXm#6kPNvo=F-g6+k1YnC#z2fe zhUqs4c;L$b{x6i4CG$W*H#UWw#+kQZ_C4;BJLTlFvZwGWCyFev?bP>d;=3Q%x{e5U z(`8I<8H0p`0;43XmL0F(epw6i7(qrL zn=1w*{!Q9XD-nTGN|XK=9@l-QKaL*UErg<+aZ`7)Pg|Dm=Aek2Rn{Qdk1hR&5tE*j zb0>M<$Grl%4!!Q;S0KGxFG>Wu!ndiNW63JaN469wqX^BpgC{UAlAW+cLz6+ zKhgx*6dm9Hq9%Mvnw{is)aE8c7%*Ihuu*NE6E#Y`Y)s!MvPK3o=*^;Wv>nbcc7I;7 zWLtWZgDmgo=gb{@nqyzMqn6i>PWQ{;1v}x7JBKT+Bd;@j$#!cmVt>qE*dqsQIU_hf z6XcXfjf4G!-kfSNM`)ISFOvLsNuDL*^4GowfyOYqNzWVBimdPIktJSpAMnbnk1{;2 zZzUEVF9~EO$U5P+?-Tj;>rCx(!J_( zBz$AV$*(nxPWdE&LrGO2JCo$hco-JuocY!~GYna;S||cTTq7~{XGt=rqWGZMjzr;PLORf!Ge0Gf9nn5jB3Or-K1K`otc4YUTYI5 ztxNpU3&X}J_;swXc$-haO6$-e+%^n*-wohNg12?-tI-P4>lOVnugxdg0XeP{>ZGS2z zkx*dl5)1hBOxT-tH - - - + - - - LittleLink - - + - - - - - - - - - - - + + + + + + LittleLink + + + + + + + + + + + + + + + + + - - - - - + - -
-
-
+
+
- + LittleLink - This page has been built with every pre-designed button available in LittleLink by default. You can rearrange and delete as needed. + +

+
LittleLink
+

- You can add your own brand or others brands you may need in the `css/brands.css` file. + +

An open source DIY Linktree alternative.

- You can add custom icons to `images/icons/...`. It is recommended to use a 24x24 .SVG. + +
+ + + +
- diff --git a/privacy.html b/privacy.html index bbf642bc..0650cb58 100644 --- a/privacy.html +++ b/privacy.html @@ -1,164 +1,86 @@ - + + + + + - + + - - - LittleLink Privacy Policy - - + + Privacy Policy | LittleLink + - - - - + + + - - - - - - - + + + + + + - + - -
-
-
-

- ⬅️ Back to main page -

- - - - -

🔒 Privacy Overview

- - -

- Personal Data collected for the following purposes and using the - following services: -
-
- - 🧮 Analytics -
- The services contained in this section enable the Owner to monitor - and analyze web traffic and can be used to keep track of User - behavior. -
-
- - 1.) Example LLC.
- Personal Data: - various types of Data as specified in the privacy policy of the - service
- Privacy Policy -

- - - -

- 📦 Displaying Content From External Platforms -
- This type of service allows you to view content hosted on external - platforms directly from the pages of this website and interact with - them.

- This type of service might still collect web traffic data for the - pages where the service is installed, even when Users do not use it. -
-
- - 1.) Example LLC
- Personal Data: - Usage Data; various types of Data as specified in the privacy - policy of the service -
- Privacy Policy -

- - - -

- 📁 Hosting and Backend Infrastructure -
- This type of service has the purpose of hosting Data and files that - enable this website to exist. -
-
- Some services among those listed below, if any, may work through - geographically distributed servers, making it difficult to determine - the actual location where the Personal Data are stored. -
-
- - 1.) Example LLC.
- Personal Data: - various types of Data as specified in the privacy policy of the - service -
- Privacy Policy -

- -
-
- - -
-

Build your own by forking LittleLink.

-
-
+
+
+ + +

Privacy Overview

+ +
+

Analytics

+

The services contained in this section enable the Owner to monitor and analyze web traffic and can be used to keep track of User behavior.

+ +

Example LLC

+
    +
  • Personal Data: various types of Data as specified in the privacy policy of the service
  • +
  • Privacy Policy
  • +
+
+ +
+

External Content

+

This type of service allows you to view content hosted on external platforms directly from the pages of this website and interact with them.

+

This type of service might still collect web traffic data for the pages where the service is installed, even when Users do not use it.

+ +

Example LLC

+
    +
  • Personal Data: Usage Data; various types of Data as specified in the privacy policy of the service
  • +
  • Privacy Policy
  • +
+
+ +
+

Hosting and Infrastructure

+

This type of service has the purpose of hosting Data and files that enable this website to exist.

+

Some services among those listed below, if any, may work through geographically distributed servers, making it difficult to determine the actual location where the Personal Data are stored.

+ +

Example LLC

+
    +
  • Personal Data: various types of Data as specified in the privacy policy of the service
  • +
  • Privacy Policy
  • +
+
+ +
- - + + \ No newline at end of file From b66840a5bc47c4bb0ad1e50803437e81f56e131b Mon Sep 17 00:00:00 2001 From: Seth Cottle Date: Wed, 13 Nov 2024 01:10:17 -0500 Subject: [PATCH 48/90] Update README.md --- README.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/README.md b/README.md index e7a24459..91c316fc 100644 --- a/README.md +++ b/README.md @@ -54,8 +54,6 @@ Duplicate the [LittleLink Template on Figma Community](https://www.figma.com/com • [Drew](https://github.com/davisdre) is building a [super simple Docker implementation of LittleLink](https://github.com/davisdre/littlelink). #### 🗃️ Misc -• [Khashayar](https://github.com/khashayarzavosh) is building [LittleLink Admin](https://github.com/khashayarzavosh/admin-littlelink) which lets you host your own admin portal to manage LittleLink! - • [Julian](https://github.com/JulianPrieber) is building [LinkStack](https://github.com/LinkStackOrg/LinkStack), which is a fork of [Khashayar](https://github.com/khashayarzavosh)'s [LittleLink Admin](https://github.com/khashayarzavosh/admin-littlelink). --- From 39a493747bb0e196dff1ddd7c972bb64c53ae594 Mon Sep 17 00:00:00 2001 From: Seth Cottle Date: Wed, 13 Nov 2024 01:13:43 -0500 Subject: [PATCH 49/90] Update VERSION.md --- VERSION.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/VERSION.md b/VERSION.md index 7b929990..76e9e26b 100644 --- a/VERSION.md +++ b/VERSION.md @@ -9,7 +9,7 @@ A complete modernization of LittleLink focusing on accessibility, maintainabilit - Complete rebuild of CSS architecture - Moved away from Skeleton CSS dependency to custom, purpose-built CSS - Improved maintainability with modular CSS structure - - Enhanced dark mode and auto themeing implementation + - Enhanced dark mode and auto theming implementation - Enhanced `brands.css` - Accessibility Improvements @@ -39,4 +39,4 @@ A complete modernization of LittleLink focusing on accessibility, maintainabilit --- For the complete history of changes, please visit: -https://github.com/sethcottle/littlelink/releases \ No newline at end of file +https://github.com/sethcottle/littlelink/releases From 29f8833176d81355ea52f0240934c88835522ceb Mon Sep 17 00:00:00 2001 From: Seth Cottle Date: Wed, 13 Nov 2024 11:51:51 -0500 Subject: [PATCH 50/90] Updates! --- VERSION.md | 10 +- css/brands.css | 135 +--------------------- css/style.css | 2 +- images/icons/redbubble.svg | 1 - images/icons/revolut.svg | 1 - images/icons/untappd.svg | 1 - images/icons/upwork.svg | 1 - index.html | 221 +++++++++++++++++-------------------- 8 files changed, 116 insertions(+), 256 deletions(-) delete mode 100644 images/icons/redbubble.svg delete mode 100644 images/icons/revolut.svg delete mode 100644 images/icons/untappd.svg delete mode 100644 images/icons/upwork.svg diff --git a/VERSION.md b/VERSION.md index 7b929990..f99928d2 100644 --- a/VERSION.md +++ b/VERSION.md @@ -33,9 +33,17 @@ A complete modernization of LittleLink focusing on accessibility, maintainabilit #### Brand Changes - Updated PayPal button color - Updated Discord button color -- Updated YouTube to us their Almost Black +- Updated YouTube button color +- Updated Pinterest button color - Updated Ko-fi button color and updated their logo - Updated Medium logo +- Updated WordPress button color +- Moved NGL to LittleLink Extended +- Moved Redbubble to LittleLink Extended +- Moved Revolut to LittleLink Extended +- Moved Trakt to LittleLink Extended +- Moved Untapped to LittleLink Extended +- Moved Upwork to LittleLink Extended --- For the complete history of changes, please visit: diff --git a/css/brands.css b/css/brands.css index a3118aaa..d3955484 100644 --- a/css/brands.css +++ b/css/brands.css @@ -382,7 +382,7 @@ /* Pinterest */ .button-pinterest { --button-text:#000000; - --button-background:#ffe2eb; + --button-background:#ffffff; --button-border:1px solid #212121; } @@ -400,26 +400,12 @@ --button-border:1px solid #FFFFFF; } -/* Redbubble */ -.button-redbubble { - --button-text:#e41321; - --button-background:#ffffff; - --button-border:1px solid #212121; -} - /* Reddit */ .button-reddit { --button-text:#FFFFFF; --button-background:#FF4500; } -/* Revolut */ -.button-revolut { - --button-text:#000000; - --button-background:#ffffff; - --button-border:1px solid black; -} - /* Shop */ .button-shop { --button-text:#ffffff; @@ -528,12 +514,6 @@ --button-border:1px solid #FFFFFF; } -/* Trakt */ -.button-trakt { - --button-text:#ffffff; - --button-background:#ED1C24; -} - /* Trello */ .button-trello { --button-text:#ffffff; @@ -560,18 +540,6 @@ --button-border:1px solid #212121; } -/* Untappd */ -.button-untappd { - --button-text:#000000; - --button-background:#ffc000; -} - -/* Upwork */ -.button-upwork { - --button-text:#FFFFFF; - --button-background:#14A800; -} - /* Venmo */ .button-venmo { --button-text:#ffffff; @@ -600,7 +568,7 @@ /* WordPress */ .button-wordpress { --button-text:#ffffff; - --button-background:#21759b; + --button-background:#3858E9; } /* X */ @@ -622,101 +590,4 @@ --button-text:#ffffff; --button-background:#0B5CFF; --button-border:1px solid #FFFFFF; -} - -/* Generic Buttons */ -.button-default { - --button-text:#ffffff; - --button-background:#000000; - --button-border:1px solid #FFFFFF; -} - -.button-blog { - --button-text:#ffffff; - --button-background:#000000; - --button-border:1px solid #FFFFFF; -} - -.button-calendar { - --button-text:#ffffff; - --button-background:#000000; - --button-border:1px solid #FFFFFF; -} - -.button-cloud { - --button-text:#ffffff; - --button-background:#000000; - --button-border:1px solid #FFFFFF; -} - -.button-code { - --button-text:#ffffff; - --button-background:#000000; - --button-border:1px solid #FFFFFF; -} - -.button-computer { - --button-text:#ffffff; - --button-background:#000000; - --button-border:1px solid #FFFFFF; -} - -.button-email { - --button-text:#ffffff; - --button-background:#000000; - --button-border:1px solid #FFFFFF; -} - -.button-homepage { - --button-text:#ffffff; - --button-background:#000000; - --button-border:1px solid #FFFFFF; -} - -.button-map { - --button-text:#ffffff; - --button-background:#000000; - --button-border:1px solid #FFFFFF; -} - -.button-phone { - --button-text:#ffffff; - --button-background:#000000; - --button-border:1px solid #FFFFFF; -} - -.button-review { - --button-text:#ffffff; - --button-background:#000000; - --button-border:1px solid #FFFFFF; -} - -.button-rss { - --button-text:#ffffff; - --button-background:#000000; - --button-border:1px solid #FFFFFF; -} - -.button-shopping-bag { - --button-text:#ffffff; - --button-background:#000000; - --button-border:1px solid #FFFFFF; -} - -.button-shopping-tag { - --button-text:#ffffff; - --button-background:#000000; - --button-border:1px solid #FFFFFF; -} - -.button-sms { - --button-text:#ffffff; - --button-background:#000000; - --button-border:1px solid #FFFFFF; -} - -.button-website { - --button-text:#ffffff; - --button-background:#000000; - --button-border:1px solid #FFFFFF; -} +} \ No newline at end of file diff --git a/css/style.css b/css/style.css index 906fa625..afb4ce46 100644 --- a/css/style.css +++ b/css/style.css @@ -191,7 +191,7 @@ a:hover { align-items:center; justify-content:center; width:18.75rem; /* 300px */ - min-height:3rem; /* 48px */ + min-height:3rem; /* 48px */ padding:0.75rem 1rem; /* 12px ; 16px */ font-size:1.125rem; /* 18px */ font-weight:700; diff --git a/images/icons/redbubble.svg b/images/icons/redbubble.svg deleted file mode 100644 index 6d50d58e..00000000 --- a/images/icons/redbubble.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/images/icons/revolut.svg b/images/icons/revolut.svg deleted file mode 100644 index c962f4f3..00000000 --- a/images/icons/revolut.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/images/icons/untappd.svg b/images/icons/untappd.svg deleted file mode 100644 index 5042594c..00000000 --- a/images/icons/untappd.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/images/icons/upwork.svg b/images/icons/upwork.svg deleted file mode 100644 index 2356fc95..00000000 --- a/images/icons/upwork.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/index.html b/index.html index 264072ca..18f20bcb 100644 --- a/index.html +++ b/index.html @@ -63,328 +63,313 @@ From 44aa76a2ce742893244fe98037ae6787d8cee0c7 Mon Sep 17 00:00:00 2001 From: Seth Cottle Date: Wed, 13 Nov 2024 15:45:27 -0500 Subject: [PATCH 51/90] v3.0.1 --- images/icons/trakt.svg | 1 - privacy.html | 2 -- 2 files changed, 3 deletions(-) delete mode 100644 images/icons/trakt.svg diff --git a/images/icons/trakt.svg b/images/icons/trakt.svg deleted file mode 100644 index de82e765..00000000 --- a/images/icons/trakt.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/privacy.html b/privacy.html index 0650cb58..f21e6674 100644 --- a/privacy.html +++ b/privacy.html @@ -27,8 +27,6 @@ - - From 33d3e002b984ffcedd278650cbcfcff2101580d6 Mon Sep 17 00:00:00 2001 From: Seth Cottle Date: Wed, 13 Nov 2024 15:47:19 -0500 Subject: [PATCH 52/90] Update VERSION.md --- VERSION.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/VERSION.md b/VERSION.md index a2f3123f..75e2009c 100644 --- a/VERSION.md +++ b/VERSION.md @@ -1,6 +1,10 @@ # LittleLink Version History -## Current Version: v3.0.0 +## Current Version: v3.0.1 + +### v3.0.1 - 11/13/2024 +- Removed Trakt logo from `images/icons` since this now lives in LittleLink Extended +- Favicon update for `privacy.html` ### v3.0.0 - 11/13/2024 A complete modernization of LittleLink focusing on accessibility, maintainability, and more modern web standards. From c48c752a26f96fe7e3668399d4425fbfdc78194b Mon Sep 17 00:00:00 2001 From: Nick Mudry Date: Sun, 15 Dec 2024 15:10:35 -0500 Subject: [PATCH 53/90] Adding Obsidian CSS and SVG --- css/brands.css | 7 ++++++ images/icons/obsidian.svg | 51 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 58 insertions(+) create mode 100644 images/icons/obsidian.svg diff --git a/css/brands.css b/css/brands.css index d3955484..168423de 100644 --- a/css/brands.css +++ b/css/brands.css @@ -359,6 +359,13 @@ --button-border:1px solid #212121; } +/* Obsidian */ +.button.button-obsidian { + --button-text:#ffffff; + --button-background:#262626; + --button-border:1px solid #ffffff; +} + /* OnlyFans */ .button-onlyfans { --button-text:#ffffff; diff --git a/images/icons/obsidian.svg b/images/icons/obsidian.svg new file mode 100644 index 00000000..679a19b4 --- /dev/null +++ b/images/icons/obsidian.svg @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file From 568b2f6c0e321899767010b0aabf31c99b88c66e Mon Sep 17 00:00:00 2001 From: Seth Cottle Date: Fri, 20 Dec 2024 13:12:03 -0500 Subject: [PATCH 54/90] Add Obsidian to index.html --- index.html | 3 +++ 1 file changed, 3 insertions(+) diff --git a/index.html b/index.html index 18f20bcb..52d5664f 100644 --- a/index.html +++ b/index.html @@ -211,6 +211,9 @@ Notion + + + Obsidian OnlyFans (18+) From 15f86144614575826c0bca8ade34b04c1ab61752 Mon Sep 17 00:00:00 2001 From: Seth Cottle Date: Fri, 20 Dec 2024 13:14:55 -0500 Subject: [PATCH 55/90] Version Bump --- VERSION.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/VERSION.md b/VERSION.md index 75e2009c..4e8e8f3d 100644 --- a/VERSION.md +++ b/VERSION.md @@ -1,6 +1,9 @@ # LittleLink Version History -## Current Version: v3.0.1 +## Current Version: v3.0.2 + +### v3.0.2 - 12/20/2024 +- Added Obsidian as a brand ### v3.0.1 - 11/13/2024 - Removed Trakt logo from `images/icons` since this now lives in LittleLink Extended From 905791e1c7363281a7cc15f209f52a319753aae6 Mon Sep 17 00:00:00 2001 From: rosahaj <141790572+rosahaj@users.noreply.github.com> Date: Sun, 22 Dec 2024 05:43:38 +0100 Subject: [PATCH 56/90] Fix accessibility issues --- index.html | 4 ++-- privacy.html | 34 +++++++++++++++++----------------- 2 files changed, 19 insertions(+), 19 deletions(-) diff --git a/index.html b/index.html index 52d5664f..d617c101 100644 --- a/index.html +++ b/index.html @@ -52,12 +52,12 @@ LittleLink -

+

LittleLink

-

An open source DIY Linktree alternative.

+

An open source DIY Linktree alternative.