diff --git a/.gitea/workflows/bump.yml b/.gitea/workflows/bump.yml new file mode 100644 index 0000000..bf75051 --- /dev/null +++ b/.gitea/workflows/bump.yml @@ -0,0 +1,43 @@ +name: Bump Dependencies + +on: + push: + branches: + - main + schedule: + - cron: "0 0 * * *" + - cron: "0 12 * * *" + +jobs: + update-dependencies: + runs-on: ubuntu-latest + + steps: + - name: Checkout Repo + uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Setup Bun + run: | + curl -fsSL https://bun.sh/install | bash + echo 'export PATH="$HOME/.bun/bin:$PATH"' >> $HOME/.bashrc + source $HOME/.bashrc + bun --version + + - name: Install Dependencies + run: bun install + + - name: Update Dependencies + run: bun update + + - name: Build App + run: bun run build + + - name: Commit and Push + run: | + git config --global user.name "LibreCloud Actions Bot" + git config --global user.email "git@pontusmail.org" + git add package.json bun.lockb + git commit -m "chore: bump dependencies" || exit 0 + git push origin main diff --git a/README.md b/README.md index 8440a03..82161eb 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,7 @@ # aidxnCC [![License: Unlicense](https://img.shields.io/badge/license-Unlicense-blue.svg)](http://unlicense.org/) +[![Build Status](https://git.pontusmail.org/aidan/aidxnCC/actions/workflows/bump.yml/badge.svg)](https://git.pontusmail.org/aidan/aidxnCC/actions/?workflow=bump.yml) aidxnCC is the third version of my personal website. @@ -24,10 +25,9 @@ You will need some environment variables set to properly self-host aidxnCC. They | Environment Variable | Description | Example | |----------------------|-------------|---------| -| `BRAINZ_USER_AGENT` | User agent used to make requests to MusicBrainz (should include your contact info) | `aidxnCC/1.0 ( aidan@p0ntus.com )` | -| `LISTENBRAINZ_TOKEN` | Your ListenBrainz user token (get this in [settings](https://listenbrainz.org/settings/)) | `0e0x0a0m-0p0l-0e0t-0o0k-0e0n00000000` | +| `BRAINZ_USER_AGENT` | User agent used to make requests to MusicBrainz (should include your contact info) | `aidxnCC/1.0 ( aidan@p0ntus.com )` | +| `LISTENBRAINZ_TOKEN` | Your ListenBrainz user token (get this in [settings](https://listenbrainz.org/settings/)) | `0e0x0a0m-0p0l-0e0t-0o0k-0e0n00000000` | ## To-Do - [ ] Dockerize for easier deployment -- [ ] Improve speed of fetching now playing diff --git a/components/pages/About.tsx b/components/pages/About.tsx index eb151a1..2a6773b 100644 --- a/components/pages/About.tsx +++ b/components/pages/About.tsx @@ -19,19 +19,31 @@ export default function About() {

- Hey there! I'm Aidan, a web developer and student, and this is my website. I'm passionate about web development (although I'm not great with design) and I love building things with Node.js and Express. + Hey there! I'm Aidan, a web developer and student, and this is my website. I'm passionate about web development (although I'm not great with design), especially with Next.js and APIs! I enjoy working with both backend and frontend.

-

Academics

+

Projects

- In terms of my academic background, I am currently pursuing a degree in computer science at SNHU. I really enjoy learning, though it depends on the subject. I am mostly self-taught when it comes to programming. I prefer this style of learning, especially with programming, as it lets me learn faster and apply creativity much more. + I have worked on countless projects over the past five years, for the most part. I have been learning to program in Python since I was seven and have evolved from there. I got into web development due to my uncle, who taught my how to write my first lines of HTML. +

+

+ Recently, I have been involved in developing several projects, especially with Node.js, my new favorite language as of a year ago. My biggest project is LibreCloud, a free service provider for individuals. +

+

+ In terms of system administration, I have developed my skills over the past three years of learning Linux for fun. I currently operate three servers running in the cloud, which run out of Germany and the United States.

Hobbies

When I'm not programming, I can typically be found installing another Linux distro on my laptop or flashing a new ROM to my phone. I am also a passionate writer and I like to write creatively in my free time.

+

+ I consider maintaining my technology as a hobby as well, as I devote a lot of time to it. I currently run Gentoo Linux on my Thinkpad T470s, which does not use a single bin package. I am very proud of this laptop, despite it's constant need for compiling updates. +

I am almost always active on my Gitea instance and GitHub and make daily contributions to several of my repositories. I am a big fan of open source software and public domain software (which most of my repos are licensed under). In fact, the website you're currently on is free and open source. It's even under the public domain!

+

+ My Google Pixel 7 Pro (cheetah) runs LineageOS 22.1, and has been one of my favorite additions to my life. It is proudly rooted with KernelSU-Next. It has suffered one drop to it's back on a tile floor. +

My Gitea/GitHub Contributions

diff --git a/components/pages/Contact.tsx b/components/pages/Contact.tsx index 64c3a14..9e85d26 100644 --- a/components/pages/Contact.tsx +++ b/components/pages/Contact.tsx @@ -1,5 +1,5 @@ import { faPhone, faEnvelope } from '@fortawesome/free-solid-svg-icons' -import { faGithub, faTelegram } from '@fortawesome/free-brands-svg-icons' +import { faGithub, faTelegram, faBluesky } from '@fortawesome/free-brands-svg-icons' import { Phone } from 'lucide-react' import ContactButton from '../objects/ContactButton' @@ -15,6 +15,7 @@ export default function Contact() {
+
diff --git a/components/pages/Domains.tsx b/components/pages/Domains.tsx index 9e0cc0c..66d5e1f 100644 --- a/components/pages/Domains.tsx +++ b/components/pages/Domains.tsx @@ -1,19 +1,35 @@ -import { Link } from 'lucide-react' -import domains from '@/public/data/domains.json' +import { Link } from "lucide-react" +import { FontAwesomeIcon } from "@fortawesome/react-fontawesome" +import { faBan } from "@fortawesome/free-solid-svg-icons" +import domains from "@/public/data/domains.json" export default function About() { return ( -
-
+
+
-

+

My Domains

-
+
+ + + These domains are not for sale. + + + All requests to buy them will be declined. + +
+
{domains.map(domain => (
-

{domain.domain}

+

+ {domain.domain} +

{domain.usage}

))} diff --git a/components/pages/Manifesto.tsx b/components/pages/Manifesto.tsx index 03fe814..9681089 100644 --- a/components/pages/Manifesto.tsx +++ b/components/pages/Manifesto.tsx @@ -10,13 +10,13 @@ export default function About() { Internet Manifesto
-

+

1. Empathy and Understanding

We live in a distant world. People I meet are from all over, which can be hard to understand for others. I aim to utilize my ability to connect by understanding and getting interested in people's lives. I pledge to:

-
    +
    • Listen deeply and genuinely
    • Suspend judgment and seek to understand
    • Recognize the humanity in every digital interaction
    • @@ -27,11 +27,11 @@ export default function About() {

      Information should be free and accessible to all. I will:

      -
        -
      • Make all of my work free and accessible to all (e.g. public domain Wikipedia contributions)
      • -
      • Creating and sharing content for others benefit
      • -
      • Supporting open-source principles
      • -
      • Creating extensive documentation on all of my projects
      • +
          +
        • Make all of my work free and accessible to all
        • +
        • Create and share content for others' benefit
        • +
        • Support open-source principles
        • +
        • Create extensive documentation on all of my projects

        3. Genuine Human Connection @@ -43,17 +43,17 @@ export default function About() { 4. Privacy & Self-Hosted Services

        - In terms of my personal (some public) services, I commit to never selling, viewing or share personal information with third parties or myself. I will: + In terms of my personal (some public) services, I commit to never selling, viewing or sharing personal information with third parties or myself. I will:

        -
          +
          • Respect user data as a fundamental human right
          • Not implement tracking and/or monetization in my services
          • -
              +
              • I pledge to not implement tracking or systems in which a user can be individualized or categorized
            • Ensure user data is never used for profit
            • Focus my services on being free and open
            • -
            • Suggest/support technologies that help privacy
            • +
            • Suggest and support privacy-focused software

            I Commit diff --git a/package.json b/package.json index 83eb3e3..9a329a5 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,7 @@ "@fortawesome/react-fontawesome": "^0.2.2", "geist": "^1.3.1", "lucide-react": "^0.469.0", - "next": "^15.2.0-canary.63", + "next": "^15.2.0-canary.64", "react": "^19.0.0", "react-dom": "^19.0.0", "react-fast-marquee": "^1.6.5", diff --git a/public/data/domains.json b/public/data/domains.json index 832e498..c29b608 100644 --- a/public/data/domains.json +++ b/public/data/domains.json @@ -7,7 +7,7 @@ { "id": 2, "domain": "aidxn.fun", - "usage": "My alternative homepage (v2)" + "usage": "My alternative homepage (Version 2)" }, { "id": 3, @@ -21,8 +21,8 @@ }, { "id": 5, - "domain": "pontusmail.org", - "usage": "My personal email service, free to the public" + "domain": "androidintegrity.org", + "usage": "A team project to improve Play Integrity" }, { "id": 6, @@ -41,32 +41,32 @@ }, { "id": 9, - "domain": "androidintegrity.org", - "usage": "A collaborative project to improve Google's Play Integrity" - }, - { - "id": 10, "domain": "modules.lol", "usage": "An 'app store' of Magisk modules and FOSS Android apps" }, + { + "id": 10, + "domain": "dontbeevil.lol", + "usage": "A Google meme domain used for p0ntus mail" + }, { "id": 11, "domain": "wikitools.cloud", - "usage": "A collection of tools made by me for Wikipedia" + "usage": "Tools I've made for Wikipedia" }, { "id": 12, - "domain": "dontbeevil.lol", - "usage": "A joke domain used for p0ntus mail" - }, - { - "id": 13, "domain": "dont-be-evil.lol", "usage": "Another joke domain on p0ntus mail" }, + { + "id": 13, + "domain": "pontusmail.org", + "usage": "A core email domain for LibreCloud/p0ntus Mail" + }, { "id": 14, "domain": "strongintegrity.life", - "usage": "An Android-targeted joke domain for p0ntus mail" + "usage": "A Play Integrity meme domain used for p0ntus mail" } ]