What powers this website
When I started this website on 03 February 2024, it was a small project, with one php file for rendering markdown files.
This website is made in Visual Studio Code, with plain HTML, CSS, and a little bit of JavaScript (for opening the external URL's in a new tab, and add some utm tags to it, and to support comments on the blogposts).
The "backend" is written in PHP.
Page: Home
The home page is the page where the visitor (you) lands on, it shows a small introduction, my latest blog post, my latest mastodon post, a random app, and my latest github action.
Page: Blog
The blog page is the part which takes care of the blogposts, it reads the blogposts from a folder and parses them, the post format is yyyymmdd_post-title.md
if a post must remain hidden it contains a ~
in the filename.
Page: Apps
The apps page is a page where I show my apps, it reads the apps from a json file and display them, if there is a bundle identifier defined, fetch data from the AppStore (such as the name, price, description, last update, versionnumber and screenshots).
example of an app:
"Calendo": {
"name": "Calendo",
"bundle_id": "nl.wesleydegroot.Calendo",
"description": "Calendo: Your Simple and Smart Calendar\n\nStay organized and on top of your schedule with Calendo,\nthe ultimate calendar app designed for simplicity and efficiency.\nWhether you're managing personal appointments, work meetings,\nor family events, Calendo makes it easy to keep track of everything in one place.\n\nKey Features:\n - Easy Event Management: Quickly add, edit, and delete events with a few taps.\n - Scrollable month views: No more hassle of switching screens.\n - Offline Access: Access your calendar even without an internet connection, because it uses your system calendar!\n\nWhy Choose Calendo?\n - User-Friendly Interface: Designed with simplicity in mind, Calendo is easy to navigate and use.\n - Reliable and Secure: We don't gather your calendar data.\n",
"tags": [
"iOS"
],
"category": "Productivity,Utility",
"url": {
"AppStore": "https:\/\/apps.apple.com\/us\/app\/calendo\/id6651862759",
"Issue tracker": "https:\/\/github.com\/0xWDG\/calendo-issues"
},
"screenshots": [
"\/assets/screenshots\/Calendo_welcome.png",
"\/assets/screenshots\/Calendo_calendar.png",
"\/assets/screenshots\/Calendo_details.png"
]
}
Page: Projects
The projects page is a page where I show my projects, it reads the projects from a json file and fetch information from the GitHub API (amount of stars, forks, last update, and description).
[
"AuroraEditor/AuroraEditor",
"0xWDG/Admob-SwiftUI",
"0xWDG/Apple-Music-to-Discord",
"0xWDG/build-documentation",
"0xWDG/CachedAsyncImage",
"0xWDG/Colors",
"0xWDG/DynamicUI",
"0xWDG/FilePicker",
"0xWDG/GameControllerKit",
"0xWDG/iCloudStorage",
"0xWDG/ImagePicker",
"0xWDG/Inspect",
"0xWDG/NetworkMonitor",
"0xWDG/OnboardingKit",
"0xWDG/OSLogViewer",
"0xWDG/PHPFramework",
"0xWDG/PreventScreenshot",
"0xWDG/SecureStorage",
"0xWDG/SimpleNetworking",
"0xWDG/SwiftCronParser",
"0xWDG/SwiftExtras",
"0xWDG/tvOS.js",
"0xWDG/XCUITestHelper"
]
Item: Sitemap
This is a php file that generates a sitemap.xml file, containing all the pages, blogposts, apps, and projects.
Item: RSS
This is a php file that generates a rss.xml file, containing all blogposts.
Item: GitHub API.
This is used for my GitHub profile profile, it gives a random blogpost, latest blogpost, a random app, and a random project for the README.md file.
Item: Social media API.
This script post to Bluesky, Mastodon and Threads, it uses an AI to summarize the blogpost.
Extra: Mastodon instance
This website is also running a (not yet working) Mastodon instance, I want to use this to post my blogposts to it.
Fun pages
I've made some funny pages for some HTTP status codes, such as
- 401 (Unauthorized)
- 402 (Payment Required)
- 403 (Forbidden)
- 404 (Page not found)
- 451 (Unavailable For Legal Reasons)
Read more
- Difference between map, flatMap, compactMap • 4 minutes reading time.
- Localizing In Xcode • 3 minutes reading time.
- SwiftUI ViewModifiers • 6 minutes reading time.
Share
Share Bluesky Mastodon Twitter LinkedIn Facebook