Commit graph

94 commits

Author SHA1 Message Date
bc0a5d0578
chore: bump Vegvisir to 3.7.1 2026-04-09 12:56:33 +02:00
vlw
990bf289c1 fix: add missing request methods to /ping endpoint (#74)
I forgot to add all available request methods to the ACL table for the `/ping` endpoint in #71. This PR fixes that.

Reviewed-on: https://codeberg.org/vlw/vlw.se/pulls/74
Co-authored-by: vlw <victor@vlw.se>
Co-committed-by: vlw <victor@vlw.se>
2026-04-06 11:38:01 +02:00
57884d4a25 feat: add "quick links" icon buttons in header (#73)
In this PR we add icon buttons in the header to quickly access the my contact page, Forgejo-, and Codeberg profile. I drew a Forgejo and Codeberg logo that I'm not 100% satisfied with. The buttons have a `title` attribute now which explains what the buttons represent. However, I would like to reuse the tooltip hover effect from the contact and about page. These effects are now repeating themselves on both pages, so we should merge them into a partial that can be included on each page, or just load it with the shell element.

<video src="/attachments/12429d26-cbfa-4e63-8ecd-fb1d1d270932" title="Inspelning 2026-04-05 140702" controls></video>
_The `title` tooltip is not visible in the recording, but they're there._

![Skärmbild 2026-04-05 141509](/attachments/688338bd-538e-48b2-be6c-b0903386a7e7)

Reviewed-on: https://codeberg.org/vlw/vlw.se/pulls/73
2026-04-05 14:20:30 +02:00
fdce8405cd feat: add /ping public API endpoint (#71)
This PR adds a new public API endpoint `/ping` which is more of an endpoint for debugging. It returns all search parameters, JSON request body, and request headers.

Example response:
```json
{
  "ping": "pong",
  "GET": {
    "foo": "bar"
  },
  "POST": [],
  "HEADERS": {
    "Te": "trailers",
    "Priority": "u=0, i",
    "Sec-Fetch-User": "?1",
    "Sec-Fetch-Site": "none",
    "Sec-Fetch-Mode": "navigate",
    "Sec-Fetch-Dest": "document",
    "Upgrade-Insecure-Requests": "1",
    "Sec-Gpc": "1",
    "Accept-Encoding": "gzip, deflate, br, zstd",
    "Accept-Language": "en-US,en;q=0.5",
    "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:144.0) Gecko/20100101 Firefox/144.0",
    "Host": "local.vlw.se:44302",
    "Content-Length": "",
    "Content-Type": ""
  },
  "datetime": {
    "date": "2026-03-29 11:20:30.775397",
    "timezone_type": 3,
    "timezone": "UTC"
  }
}
```

Reviewed-on: https://codeberg.org/vlw/vlw.se/pulls/71
2026-04-05 12:18:37 +02:00
55a8234800 refactor: move CSS and JS assets to directory in project root (#72)
In this PR we move all of the CSS and JavaScript assets from the public assets directory to a new directory in the project root. The main reason for this is that I would like to believe this makes them easier to find. Since all CSS and JS is bundled with each page anyways there is no need to access these directly from a public directory. The main argument against this I think would be "transparency". We already run this site with `display_php_source=true` in Vegvisir (so page source code can be inspected by appending `.php` to the end of a url. But there is of course no reason to trust that it's the actual source code.

Reviewed-on: https://codeberg.org/vlw/vlw.se/pulls/72
2026-04-05 12:18:10 +02:00
eeaaeeecdd chore: bump Vegvisir to 3.7.0 (#69)
In this PR we add support for and bump Vegvisir to version 3.7.0

Reviewed-on: https://codeberg.org/vlw/vlw.se/pulls/69
2026-03-28 13:18:19 +01:00
f58d79ae77
feat: redesign of the navigation buttons in the header (#65) 2026-03-14 08:32:29 +01:00
aa884a10bf fix: remove broken loading spinner (#67)
In this PR we remove the loading spinner that we have between page loads. It might seem like a good thing to have, but the `vv-loading` attribute in the version of Vegvisir this site is running is broken and only displays the spinner for a few frames regardless if the page has been loaded or not. We really need #66. When that finally happens, I will design a better loading screen anyways.

Reviewed-on: https://codeberg.org/vlw/vlw.se/pulls/67
2026-03-14 08:29:57 +01:00
126e84b1eb chore: lock implicit package updates to patches only (#68)
Probably not a good idea to have this pull the latest major and minor without explicitly bumping the target version in composer.json.

Reviewed-on: https://codeberg.org/vlw/vlw.se/pulls/68
2026-03-14 08:29:44 +01:00
f03800653d fix(content): new PGP key link and fingerprint (#64)
Reviewed-on: https://codeberg.org/vlw/vlw.se/pulls/64
2026-02-28 17:50:39 +01:00
6da89cccf8 fix: add array for defining Forgejo languages to merge (#61)
Closes #53

Reviewed-on: https://codeberg.org/vlw/vlw.se/pulls/61
2026-01-18 10:26:02 +01:00
432f5218db content: hide languages that contribute a neglible amount from the about page (#62)
Closes #56

Reviewed-on: https://codeberg.org/vlw/vlw.se/pulls/62
2026-01-18 10:25:25 +01:00
1a3e2d57dd content: add new "3rd", "code-export-syntax", and "freshdesk-filtes" work (#63)
Reviewed-on: https://codeberg.org/vlw/vlw.se/pulls/63
2026-01-18 10:25:05 +01:00
7e01690936 feat: add main page navigation buttons to desktop header (#58)
![image](/attachments/0d1ea431-0714-4e7d-a88e-8d299247160e)

In this PR we add some simple main page navigation buttons that appear in the header on screen sizes that can accommodate them. The header looked pretty empty before on desktop screens, so this at least adds some functionality to that space.

Reviewed-on: https://codeberg.org/vlw/vlw.se/pulls/58
2025-11-08 19:13:10 +01:00
53995932f5 chore: bump Reflect to 2.9.0 and Vegvisir to 3.3.1 (#57)
Reviewed-on: https://codeberg.org/vlw/vlw.se/pulls/57
2025-11-08 19:12:53 +01:00
8f885e8ae5 feat(content): export static database data for version control and seeding (#54)
Let's start version controlling the "base" data in the databases. Tables with data that can be generated from this data is not exported.

Reviewed-on: https://codeberg.org/vlw/vlw.se/pulls/54
2025-11-08 19:12:33 +01:00
e8a81b789b chore: bump Vegvisir to 3.2.8 (#52)
Reviewed-on: https://codeberg.org/vlw/vlw.se/pulls/52
2025-09-11 12:31:53 +02:00
5e9317def5 fix: enable strict parameter checks for /coffee POST endpoint (#51)
This will prevent typos from slipping through, which is nice.

Reviewed-on: https://codeberg.org/vlw/vlw.se/pulls/51
2025-08-30 08:27:36 +02:00
8209ea5ecc fix: /coffee DELETE endpoint incorrectly configured and missing table reference (#50)
Fix class config and missing `from()` method for the `/coffee` DELETE endpoint

Reviewed-on: https://codeberg.org/vlw/vlw.se/pulls/50
2025-08-30 08:27:12 +02:00
85e8e00091 feat(api): create DateTimeImmutable from timestamp for coffee POST endpoint (#49)
This PR allows creation of coffee entities at a specific date from a Unix timestamp by passing an integer to `date_created` when making a POST request to the `/coffee` endpoint.

Reviewed-on: https://codeberg.org/vlw/vlw.se/pulls/49
2025-08-24 03:40:58 +02:00
vlw
d4d73e9278 feat: add install script (#48)
This PR adds an install script which will configure vlw.se along with Reflect and Vegvisir. The only step which is manual (maybe for now) is pointing the web and REST API server. This is mentioned at the end of the installation.

Reviewed-on: https://codeberg.org/vlw/vlw.se/pulls/48
Co-authored-by: vlw <victor@vlw.se>
Co-committed-by: vlw <victor@vlw.se>
2025-08-07 13:00:10 +02:00
fafa8c5852 fix: search minimum length offset and merge oversight (#47)
Fixed merge derp from #46 and minimum search query length offset

Reviewed-on: https://codeberg.org/vlw/vlw.se/pulls/47
2025-08-02 14:58:36 +02:00
vlw
03492df615 content: replace ISO 8601 with RFC 3339 on the /about page interests (#45)
I'm afraid my relationship with ISO 8601 has come to a quiet end. RFC 3339 is my new best friend.

![Screenshot 2025-06-22 at 12-12-43 RFC 3339 vs ISO 8601.png](/attachments/7a914db9-12b5-4df6-955b-2ff5924f64fb)
https://ijmacd.github.io/rfc3339-iso8601/

Reviewed-on: https://codeberg.org/vlw/vlw.se/pulls/45
Co-authored-by: vlw <victor@vlw.se>
Co-committed-by: vlw <victor@vlw.se>
2025-08-02 13:33:19 +02:00
37f2ac00c3
refactor: database models and views inc. bump to PHP 8.4 (#46) 2025-08-02 13:30:23 +02:00
d5cc7fa82c feat: add animated dashoffset to SVG spacers on index page (#44)
This PR adds a simple slow moving `dashoffset` animation to the SVG spacers on the `/index` page.

<video src="https://blob.vlw.se/01974ec8-1da9-74b3-9c8b-0ef06ce6cd16.mp4" controls></video>

Reviewed-on: https://codeberg.org/vlw/vlw.se/pulls/44
2025-06-12 10:33:50 +02:00
17bd93dca9 content: update about page texts and change forgejo link on work timeline (#42)
Reviewed-on: https://codeberg.org/vlw/vlw.se/pulls/42
2025-06-03 15:28:19 +02:00
6b5eee505a content: change the PGP text on the /contact page (#41)
Reviewed-on: https://codeberg.org/vlw/vlw.se/pulls/41
2025-06-03 15:27:45 +02:00
cd3139e778
chore: use Reflect built-in request validation (#37)
commit 15a1fb886a
Author: Victor Westerlund <victor@vlw.se>
Date:   Fri Apr 4 07:33:31 2025 +0200

    upstream(reflect): use Reflect built-in request validation
2025-04-19 13:13:28 +02:00
afe450a6d2 fix: WebKit variable font transition issue on index page (#38)
Closes #17

Also fixed this placeholder text contrast issue in Safari
![image](/attachments/e028f967-3d0f-41a8-b068-1bf067d61631)
to:
![image](/attachments/97b3e36f-277b-4646-b5fd-c45d53fd3ce7)

Reviewed-on: https://codeberg.org/vlw/vlw.se/pulls/38
2025-04-19 11:06:46 +00:00
b398354594 chore(upstream): add support for Vegvisir 3.2 (#39)
[Add support for Vegvisir 3.2.0](https://codeberg.org/vegvisir/vegvisir/releases/tag/3.2.0)

Reviewed-on: https://codeberg.org/vlw/vlw.se/pulls/39
2025-04-19 11:06:23 +00:00
62ddd25f38 fix: removed undeclared variable from search index endpoint (#36)
Reviewed-on: https://codeberg.org/vlw/vlw.se/pulls/36
2025-04-02 12:56:18 +00:00
fef10a8ea8 feat: add endpoint for updating runtime stats (#35)
Replacing all GET update params with a single update endpoint that calls POST on all endpoints that trigger runtime stats

Reviewed-on: https://codeberg.org/vlw/vlw.se/pulls/35
2025-04-02 12:55:42 +00:00
a6c74f5c4f feat: add web highlights section to work page (#34)
This PR adds a "web highlights" section to the work page.

Reviewed-on: https://codeberg.org/vlw/vlw.se/pulls/34
2025-03-29 07:34:54 +00:00
f60a27855d feat: add work references and remove default work timeline button (#33)
Added references to some new repos that I've created
- [vlw/big-black-coffee-button](https://codeberg.org/vlw/big-black-coffee-button)
- [vlw/href](https://codeberg.org/vlw/href)
- [vlw/curl](https://codeberg.org/vlw/curl)

I've also removed the 'read more' button that showed up in the work timeline for items that didn't have any actions defined. It's probably better to have no "read more" button at all than having it link to a "coming soon" page.

Reviewed-on: https://codeberg.org/vlw/vlw.se/pulls/33
2025-03-29 07:34:39 +00:00
c5c7aaa919 fix(content): change about-me page texts and fix interest anim origin (#32)
More changes to the about page texts and also made the "interests explosion" effect center on pointer position instead of center of span, which caused some glitchy looking behavior when the text wraps. Also added "digital archiving" to the interests list!

Reviewed-on: https://codeberg.org/vlw/vlw.se/pulls/32
2025-03-29 07:34:14 +00:00
f4279c0343 feat: add coffee stats endpoints and counter to about page (#28)
This PR refactors some texts on the about page (again), and also a adds two new endpoints for a database table that I have now made public that tracks the coffee cups I've had. The endpoint itself is not public now but I might make a page (something like `/about/coffee`) that presents it in a not-ugly way.

Reviewed-on: https://codeberg.org/vlw/vlw.se/pulls/28
2025-03-13 15:16:53 +00:00
vlw
f76962e2ac feat: version control database seeds (#29)
This PR replaces the database files from Release with VCS in git

Reviewed-on: https://codeberg.org/vlw/vlw.se/pulls/29
Co-authored-by: vlw <victor@vlw.se>
Co-committed-by: vlw <victor@vlw.se>
2025-03-13 15:16:31 +00:00
5c7c9d2d3a chore: clean up MORE missed references to battlestation (#31)
Apparently I didn't get em' all in #27

Reviewed-on: https://codeberg.org/vlw/vlw.se/pulls/31
2025-03-13 15:16:06 +00:00
041d175757 fix: rfc9116 compatible and signed security.txt (#26)
Reviewed-on: https://codeberg.org/vlw/vlw.se/pulls/26
2025-03-05 12:37:49 +00:00
vlw
0bb7a3a8be fix: allow index of everything in robots.txt (#25)
Reviewed-on: https://codeberg.org/vlw/vlw.se/pulls/25
Co-authored-by: vlw <victor@vlw.se>
Co-committed-by: vlw <victor@vlw.se>
2025-03-05 12:37:21 +00:00
0baa6f8d85 chore: clean up some missed references to battlestation (#27)
It looks like I missed a few references to the "battlestation" pages and API that I removed in #24

Reviewed-on: https://codeberg.org/vlw/vlw.se/pulls/27
2025-03-05 12:37:01 +00:00
4b71bbd10e fix(content): remove "battlestation" pages (#24)
Its time to retire the "battlestation" pages that showed some of the computers I've built using funny graphics. I don't feel like maintaining these pages, at least not on my main website. I might create a separate site for stuff like this and list it under the [playground pages](#19) when that gets merged.

I attached a video of what it looked like, and also its database for reference.

Reviewed-on: https://codeberg.org/vlw/vlw.se/pulls/24
2025-02-05 04:58:13 +00:00
56cf142e0d refactor: major refactor, design overhaul and merge of Reflect API and Vegvisir sources into the same root (#23)
The PR is a huge refactor of all Reflect and Vegvisir code. I've merged the API and "Front-end" codebases together into the same root, this will allow for both Reflect and Vegvisir to use the same resources. Not only that, but I've also added proper database modeling with actual OOP inheritance for database tables.

Reviewed-on: https://codeberg.org/vlw/vlw.se/pulls/23
2025-02-05 04:49:23 +00:00
2fa62991f9 feat: scroll page to top on Vegvisir navigations (#21)
Simple but effective

Reviewed-on: https://codeberg.org/vlw/vlw.se/pulls/21
2025-01-28 15:29:48 +00:00
359342c7f7 chore(content): rewording of the encryption text on the contact page (#18)
Reviewed-on: https://codeberg.org/vlw/vlw.se/pulls/18
2025-01-28 15:25:22 +00:00
e420f33d4a feat: new design for button.inline elements (#22)
Redesign of the buttons I use on the site here and there. This changes all: `button.inline` and `button.inline.solid`

I think the new buttons look more "cutesy" or "cozy" with my hand drawn little icons, soft gradients and shadows, and larger size.

# Old
![image](/attachments/9c1082aa-551f-43f8-9428-89c190178335)
![image](/attachments/0cdb44fd-6378-4b22-8493-a2f52e1dfe65)
![image](/attachments/736c44d6-3bf4-4f83-a48c-da40008b7aed)

# New
![image](/attachments/9f4de1d9-8b60-4b54-ba2f-8166eb1126c1)
![image](/attachments/c42a20e6-a8ae-4b27-bcfa-b064e365a7c7)
![image](/attachments/8105c00d-caf3-4a9e-8e2d-0140cbc44caa)

Reviewed-on: https://codeberg.org/vlw/vlw.se/pulls/22
2025-01-28 15:23:55 +00:00
e25b1b6689 feat: add language chart to about page (#14)
Replaces this section on the `/about` page:
![image](/attachments/67ac2f42-3784-4c69-9240-0a7961afb47d)
with:
![image](/attachments/fa073c9c-a016-4281-a3fb-30b7be95881f)

I will replace and fix the colors of the buttons after #15 is merged.

Reviewed-on: https://codeberg.org/vlw/vlw.se/pulls/14
2025-01-28 14:45:52 +00:00
3b51458dd4 feat: featured works on the /work landingpage and moved timeline (#16)
Reviewed-on: https://codeberg.org/vlw/vlw.se/pulls/16
2025-01-28 14:45:00 +00:00
vlw
ff7d4f5397 chore: bump supported Vegvisir version (#13)
Reviewed-on: https://codeberg.org/vlw/vlw.se/pulls/13
Co-authored-by: vlw <victor@vlw.se>
Co-committed-by: vlw <victor@vlw.se>
2024-11-18 21:26:46 +00:00
07e0046828 chore(content): fix pathname to Codeberg logo embed on /work (#12)
Reviewed-on: https://codeberg.org/vlw/vlw.se/pulls/12
Co-authored-by: Victor Westerlund <victor.vesterlund@gmail.com>
Co-committed-by: Victor Westerlund <victor.vesterlund@gmail.com>
2024-11-18 21:11:10 +00:00