diff --git a/images/logos/AWS.png b/images/logos/AWS.png
new file mode 100644
index 0000000..a3e964f
--- /dev/null
+++ b/images/logos/AWS.png
Binary files differ
diff --git a/images/logos/AWS.svg b/images/logos/AWS.svg
new file mode 100644
index 0000000..39f9762
--- /dev/null
+++ b/images/logos/AWS.svg
@@ -0,0 +1,4 @@
+
\ No newline at end of file
diff --git a/images/logos/Arch-Linux.png b/images/logos/Arch-Linux.png
new file mode 100644
index 0000000..67af3de
--- /dev/null
+++ b/images/logos/Arch-Linux.png
Binary files differ
diff --git a/images/logos/Arch-Linux.svg b/images/logos/Arch-Linux.svg
new file mode 100644
index 0000000..8444974
--- /dev/null
+++ b/images/logos/Arch-Linux.svg
@@ -0,0 +1,50 @@
+
+
diff --git a/images/logos/Bash.png b/images/logos/Bash.png
new file mode 100644
index 0000000..bac5a75
--- /dev/null
+++ b/images/logos/Bash.png
Binary files differ
diff --git a/images/logos/Bash.svg b/images/logos/Bash.svg
new file mode 100644
index 0000000..4cbbc9e
--- /dev/null
+++ b/images/logos/Bash.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/images/logos/Bootstrap.png b/images/logos/Bootstrap.png
new file mode 100644
index 0000000..aad9a2d
--- /dev/null
+++ b/images/logos/Bootstrap.png
Binary files differ
diff --git a/images/logos/Bootstrap.svg b/images/logos/Bootstrap.svg
new file mode 100644
index 0000000..00af29d
--- /dev/null
+++ b/images/logos/Bootstrap.svg
@@ -0,0 +1 @@
+
diff --git "a/images/logos/C++-\050CPlusPlus\051.png" "b/images/logos/C++-\050CPlusPlus\051.png"
new file mode 100644
index 0000000..f5c65ba
--- /dev/null
+++ "b/images/logos/C++-\050CPlusPlus\051.png"
Binary files differ
diff --git "a/images/logos/C++-\050CPlusPlus\051.svg" "b/images/logos/C++-\050CPlusPlus\051.svg"
new file mode 100644
index 0000000..6cae222
--- /dev/null
+++ "b/images/logos/C++-\050CPlusPlus\051.svg"
@@ -0,0 +1,6 @@
+
diff --git a/images/logos/CSS3.png b/images/logos/CSS3.png
new file mode 100644
index 0000000..d1f601d
--- /dev/null
+++ b/images/logos/CSS3.png
Binary files differ
diff --git a/images/logos/CSS3.svg b/images/logos/CSS3.svg
new file mode 100644
index 0000000..ff5b6ce
--- /dev/null
+++ b/images/logos/CSS3.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/images/logos/Chrome.png b/images/logos/Chrome.png
new file mode 100644
index 0000000..79accf4
--- /dev/null
+++ b/images/logos/Chrome.png
Binary files differ
diff --git a/images/logos/Chrome.svg b/images/logos/Chrome.svg
new file mode 100644
index 0000000..076d2cf
--- /dev/null
+++ b/images/logos/Chrome.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/images/logos/Clojure.png b/images/logos/Clojure.png
new file mode 100644
index 0000000..52b63eb
--- /dev/null
+++ b/images/logos/Clojure.png
Binary files differ
diff --git a/images/logos/Clojure.svg b/images/logos/Clojure.svg
new file mode 100644
index 0000000..63abd2e
--- /dev/null
+++ b/images/logos/Clojure.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/images/logos/Docker.png b/images/logos/Docker.png
new file mode 100644
index 0000000..5b9ca9b
--- /dev/null
+++ b/images/logos/Docker.png
Binary files differ
diff --git a/images/logos/Docker.svg b/images/logos/Docker.svg
new file mode 100644
index 0000000..bbeaed2
--- /dev/null
+++ b/images/logos/Docker.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/images/logos/ESLint.png b/images/logos/ESLint.png
new file mode 100644
index 0000000..1f9d399
--- /dev/null
+++ b/images/logos/ESLint.png
Binary files differ
diff --git a/images/logos/ESLint.svg b/images/logos/ESLint.svg
new file mode 100644
index 0000000..7cd88dd
--- /dev/null
+++ b/images/logos/ESLint.svg
@@ -0,0 +1 @@
+
diff --git a/images/logos/Electron.png b/images/logos/Electron.png
new file mode 100644
index 0000000..7a42e99
--- /dev/null
+++ b/images/logos/Electron.png
Binary files differ
diff --git a/images/logos/Electron.svg b/images/logos/Electron.svg
new file mode 100644
index 0000000..af9a34d
--- /dev/null
+++ b/images/logos/Electron.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/images/logos/Fedora.png b/images/logos/Fedora.png
new file mode 100644
index 0000000..28ccce8
--- /dev/null
+++ b/images/logos/Fedora.png
Binary files differ
diff --git a/images/logos/Fedora.svg b/images/logos/Fedora.svg
new file mode 100644
index 0000000..bf30551
--- /dev/null
+++ b/images/logos/Fedora.svg
@@ -0,0 +1 @@
+
diff --git a/images/logos/Firebase.png b/images/logos/Firebase.png
new file mode 100644
index 0000000..cd13f36
--- /dev/null
+++ b/images/logos/Firebase.png
Binary files differ
diff --git a/images/logos/Firebase.svg b/images/logos/Firebase.svg
new file mode 100644
index 0000000..df8eeaa
--- /dev/null
+++ b/images/logos/Firebase.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/images/logos/Firefox.png b/images/logos/Firefox.png
new file mode 100644
index 0000000..c68980f
--- /dev/null
+++ b/images/logos/Firefox.png
Binary files differ
diff --git a/images/logos/Firefox.svg b/images/logos/Firefox.svg
new file mode 100644
index 0000000..92afad1
--- /dev/null
+++ b/images/logos/Firefox.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/images/logos/Flask.png b/images/logos/Flask.png
new file mode 100644
index 0000000..c148b10
--- /dev/null
+++ b/images/logos/Flask.png
Binary files differ
diff --git a/images/logos/Flask.svg b/images/logos/Flask.svg
new file mode 100644
index 0000000..9e5983c
--- /dev/null
+++ b/images/logos/Flask.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/images/logos/Git.png b/images/logos/Git.png
new file mode 100644
index 0000000..fac5eec
--- /dev/null
+++ b/images/logos/Git.png
Binary files differ
diff --git a/images/logos/Git.svg b/images/logos/Git.svg
new file mode 100644
index 0000000..93f25f9
--- /dev/null
+++ b/images/logos/Git.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/images/logos/GitHub.png b/images/logos/GitHub.png
new file mode 100644
index 0000000..be999cb
--- /dev/null
+++ b/images/logos/GitHub.png
Binary files differ
diff --git a/images/logos/GitHub.svg b/images/logos/GitHub.svg
new file mode 100644
index 0000000..4eca062
--- /dev/null
+++ b/images/logos/GitHub.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/images/logos/Grafana.png b/images/logos/Grafana.png
new file mode 100644
index 0000000..d63fa1b
--- /dev/null
+++ b/images/logos/Grafana.png
Binary files differ
diff --git a/images/logos/Grafana.svg b/images/logos/Grafana.svg
new file mode 100644
index 0000000..898f645
--- /dev/null
+++ b/images/logos/Grafana.svg
@@ -0,0 +1 @@
+
diff --git a/images/logos/HTML5.png b/images/logos/HTML5.png
new file mode 100644
index 0000000..104f2d6
--- /dev/null
+++ b/images/logos/HTML5.png
Binary files differ
diff --git a/images/logos/HTML5.svg b/images/logos/HTML5.svg
new file mode 100644
index 0000000..c2dda3a
--- /dev/null
+++ b/images/logos/HTML5.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/images/logos/Helm.png b/images/logos/Helm.png
new file mode 100644
index 0000000..04b2abc
--- /dev/null
+++ b/images/logos/Helm.png
Binary files differ
diff --git a/images/logos/Helm.svg b/images/logos/Helm.svg
new file mode 100644
index 0000000..d1ea4f0
--- /dev/null
+++ b/images/logos/Helm.svg
@@ -0,0 +1 @@
+
diff --git a/images/logos/Heroku.png b/images/logos/Heroku.png
new file mode 100644
index 0000000..b6c08dc
--- /dev/null
+++ b/images/logos/Heroku.png
Binary files differ
diff --git a/images/logos/Heroku.svg b/images/logos/Heroku.svg
new file mode 100644
index 0000000..a730f04
--- /dev/null
+++ b/images/logos/Heroku.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/images/logos/JSON.png b/images/logos/JSON.png
new file mode 100644
index 0000000..5d3602c
--- /dev/null
+++ b/images/logos/JSON.png
Binary files differ
diff --git a/images/logos/JSON.svg b/images/logos/JSON.svg
new file mode 100644
index 0000000..90bb4d3
--- /dev/null
+++ b/images/logos/JSON.svg
@@ -0,0 +1 @@
+
diff --git a/images/logos/Jasmine.png b/images/logos/Jasmine.png
new file mode 100644
index 0000000..d286d84
--- /dev/null
+++ b/images/logos/Jasmine.png
Binary files differ
diff --git a/images/logos/Jasmine.svg b/images/logos/Jasmine.svg
new file mode 100644
index 0000000..3304048
--- /dev/null
+++ b/images/logos/Jasmine.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/images/logos/Java.png b/images/logos/Java.png
new file mode 100644
index 0000000..2425a6a
--- /dev/null
+++ b/images/logos/Java.png
Binary files differ
diff --git a/images/logos/Java.svg b/images/logos/Java.svg
new file mode 100644
index 0000000..051bf25
--- /dev/null
+++ b/images/logos/Java.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/images/logos/JavaScript.png b/images/logos/JavaScript.png
new file mode 100644
index 0000000..a8fdba8
--- /dev/null
+++ b/images/logos/JavaScript.png
Binary files differ
diff --git a/images/logos/JavaScript.svg b/images/logos/JavaScript.svg
new file mode 100644
index 0000000..7975261
--- /dev/null
+++ b/images/logos/JavaScript.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/images/logos/Jenkins.png b/images/logos/Jenkins.png
new file mode 100644
index 0000000..946c542
--- /dev/null
+++ b/images/logos/Jenkins.png
Binary files differ
diff --git a/images/logos/Jenkins.svg b/images/logos/Jenkins.svg
new file mode 100644
index 0000000..2ccb4f3
--- /dev/null
+++ b/images/logos/Jenkins.svg
@@ -0,0 +1 @@
+
diff --git a/images/logos/Jest.png b/images/logos/Jest.png
new file mode 100644
index 0000000..67fc6f6
--- /dev/null
+++ b/images/logos/Jest.png
Binary files differ
diff --git a/images/logos/Jest.svg b/images/logos/Jest.svg
new file mode 100644
index 0000000..b782455
--- /dev/null
+++ b/images/logos/Jest.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/images/logos/Knex.js.png b/images/logos/Knex.js.png
new file mode 100644
index 0000000..a7006c7
--- /dev/null
+++ b/images/logos/Knex.js.png
Binary files differ
diff --git a/images/logos/Knex.js.svg b/images/logos/Knex.js.svg
new file mode 100644
index 0000000..b448b0b
--- /dev/null
+++ b/images/logos/Knex.js.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/images/logos/Kubernetes.png b/images/logos/Kubernetes.png
new file mode 100644
index 0000000..21ced85
--- /dev/null
+++ b/images/logos/Kubernetes.png
Binary files differ
diff --git a/images/logos/Kubernetes.svg b/images/logos/Kubernetes.svg
new file mode 100644
index 0000000..53a7c34
--- /dev/null
+++ b/images/logos/Kubernetes.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/images/logos/Markdown.png b/images/logos/Markdown.png
new file mode 100644
index 0000000..e490b88
--- /dev/null
+++ b/images/logos/Markdown.png
Binary files differ
diff --git a/images/logos/Markdown.svg b/images/logos/Markdown.svg
new file mode 100644
index 0000000..0d0a31f
--- /dev/null
+++ b/images/logos/Markdown.svg
@@ -0,0 +1 @@
+
diff --git a/images/logos/Material-UI.png b/images/logos/Material-UI.png
new file mode 100644
index 0000000..5869a5c
--- /dev/null
+++ b/images/logos/Material-UI.png
Binary files differ
diff --git a/images/logos/Material-UI.svg b/images/logos/Material-UI.svg
new file mode 100644
index 0000000..43ac31d
--- /dev/null
+++ b/images/logos/Material-UI.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/images/logos/MySQL.png b/images/logos/MySQL.png
new file mode 100644
index 0000000..cfda724
--- /dev/null
+++ b/images/logos/MySQL.png
Binary files differ
diff --git a/images/logos/MySQL.svg b/images/logos/MySQL.svg
new file mode 100644
index 0000000..3c79415
--- /dev/null
+++ b/images/logos/MySQL.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/images/logos/PHP.png b/images/logos/PHP.png
new file mode 100644
index 0000000..8f03d9a
--- /dev/null
+++ b/images/logos/PHP.png
Binary files differ
diff --git a/images/logos/PHP.svg b/images/logos/PHP.svg
new file mode 100644
index 0000000..32b7a5b
--- /dev/null
+++ b/images/logos/PHP.svg
@@ -0,0 +1,2 @@
+
+
diff --git a/images/logos/PostgresSQL.png b/images/logos/PostgresSQL.png
new file mode 100644
index 0000000..93d9af0
--- /dev/null
+++ b/images/logos/PostgresSQL.png
Binary files differ
diff --git a/images/logos/PostgresSQL.svg b/images/logos/PostgresSQL.svg
new file mode 100644
index 0000000..4656cb7
--- /dev/null
+++ b/images/logos/PostgresSQL.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/images/logos/Postman.png b/images/logos/Postman.png
new file mode 100644
index 0000000..2d7322d
--- /dev/null
+++ b/images/logos/Postman.png
Binary files differ
diff --git a/images/logos/Postman.svg b/images/logos/Postman.svg
new file mode 100644
index 0000000..0ba61b3
--- /dev/null
+++ b/images/logos/Postman.svg
@@ -0,0 +1,5 @@
+
diff --git a/images/logos/Python.png b/images/logos/Python.png
new file mode 100644
index 0000000..599160f
--- /dev/null
+++ b/images/logos/Python.png
Binary files differ
diff --git a/images/logos/Python.svg b/images/logos/Python.svg
new file mode 100644
index 0000000..e0e096a
--- /dev/null
+++ b/images/logos/Python.svg
@@ -0,0 +1 @@
+
diff --git a/images/logos/React.png b/images/logos/React.png
new file mode 100644
index 0000000..4734496
--- /dev/null
+++ b/images/logos/React.png
Binary files differ
diff --git a/images/logos/React.svg b/images/logos/React.svg
new file mode 100644
index 0000000..9af92b9
--- /dev/null
+++ b/images/logos/React.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/images/logos/Sequelize.png b/images/logos/Sequelize.png
new file mode 100644
index 0000000..63c19bd
--- /dev/null
+++ b/images/logos/Sequelize.png
Binary files differ
diff --git a/images/logos/Sequelize.svg b/images/logos/Sequelize.svg
new file mode 100644
index 0000000..c8376bb
--- /dev/null
+++ b/images/logos/Sequelize.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/images/logos/Slack.png b/images/logos/Slack.png
new file mode 100644
index 0000000..8b9476c
--- /dev/null
+++ b/images/logos/Slack.png
Binary files differ
diff --git a/images/logos/Slack.svg b/images/logos/Slack.svg
new file mode 100644
index 0000000..7339449
--- /dev/null
+++ b/images/logos/Slack.svg
@@ -0,0 +1 @@
+
diff --git a/images/logos/Tailwind-CSS.png b/images/logos/Tailwind-CSS.png
new file mode 100644
index 0000000..77eb776
--- /dev/null
+++ b/images/logos/Tailwind-CSS.png
Binary files differ
diff --git a/images/logos/Tailwind-CSS.svg b/images/logos/Tailwind-CSS.svg
new file mode 100644
index 0000000..83a13ff
--- /dev/null
+++ b/images/logos/Tailwind-CSS.svg
@@ -0,0 +1 @@
+
diff --git a/images/logos/Vim.png b/images/logos/Vim.png
new file mode 100644
index 0000000..36d4bc4
--- /dev/null
+++ b/images/logos/Vim.png
Binary files differ
diff --git a/images/logos/Vim.svg b/images/logos/Vim.svg
new file mode 100644
index 0000000..8cda94e
--- /dev/null
+++ b/images/logos/Vim.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/images/logos/XML.png b/images/logos/XML.png
new file mode 100644
index 0000000..2994a9d
--- /dev/null
+++ b/images/logos/XML.png
Binary files differ
diff --git a/images/logos/XML.svg b/images/logos/XML.svg
new file mode 100644
index 0000000..102fb6f
--- /dev/null
+++ b/images/logos/XML.svg
@@ -0,0 +1,6 @@
+
diff --git a/images/logos/YAML.png b/images/logos/YAML.png
new file mode 100644
index 0000000..fd8cc29
--- /dev/null
+++ b/images/logos/YAML.png
Binary files differ
diff --git a/images/logos/YAML.svg b/images/logos/YAML.svg
new file mode 100644
index 0000000..5661885
--- /dev/null
+++ b/images/logos/YAML.svg
@@ -0,0 +1,6 @@
+
\ No newline at end of file
diff --git a/images/logos/Yarn.png b/images/logos/Yarn.png
new file mode 100644
index 0000000..a843def
--- /dev/null
+++ b/images/logos/Yarn.png
Binary files differ
diff --git a/images/logos/Yarn.svg b/images/logos/Yarn.svg
new file mode 100644
index 0000000..6984905
--- /dev/null
+++ b/images/logos/Yarn.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/images/logos/jQuery.png b/images/logos/jQuery.png
new file mode 100644
index 0000000..c723752
--- /dev/null
+++ b/images/logos/jQuery.png
Binary files differ
diff --git a/images/logos/jQuery.svg b/images/logos/jQuery.svg
new file mode 100644
index 0000000..eeabdfb
--- /dev/null
+++ b/images/logos/jQuery.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/techStack.json b/techStack.json
index ae93413..67e3cda 100644
--- a/techStack.json
+++ b/techStack.json
@@ -1,5 +1,12 @@
[
{
+ "name": "Arch Linux",
+ "description": "Lightweight and flexible Linux distribution that tries to Keep It Simple.",
+ "png": "/media/logos/Arch-Linux.png",
+ "svg": "/media/logos/Arch-Linux.png",
+ "url": "https://archlinux.org/"
+ },
+ {
"name": "Authelia",
"description": "Authelia provides two-factor authentication and single sign-on for private routes on the blog, securing administrative access.",
"png": "/media/logos/Authelia.png",
@@ -7,6 +14,55 @@
"url": "https://www.authelia.com/"
},
{
+ "name": "AWS",
+ "description": "Comprehensive cloud computing platform provided by Amazon with a wide range of services.",
+ "png": "/media/logos/AWS.png",
+ "svg": "/media/logos/AWS.png",
+ "url": "https://aws.amazon.com/"
+ },
+ {
+ "name": "Bash",
+ "description": "Unix shell and command language used for scripting and command execution.",
+ "png": "/media/logos/Bash.png",
+ "svg": "/media/logos/Bash.png",
+ "url": "https://www.gnu.org/software/bash/"
+ },
+ {
+ "name": "Bootstrap",
+ "description": "Bootstrap is a popular open-source CSS framework directed at responsive, mobile-first front-end web development.",
+ "png": "/media/logos/Bootstrap.png",
+ "svg": "/media/logos/Bootstrap.svg",
+ "url": "https://getbootstrap.com/"
+ },
+ {
+ "name": "C++",
+ "description": "General-purpose programming language with low-level memory manipulation features.",
+ "png": "/media/logos/C++-(CPlusPlus).png",
+ "svg": "/media/logos/C++-(CPlusPlus).png",
+ "url": "https://isocpp.org/"
+ },
+ {
+ "name": "Chrome",
+ "description": "Google's cross-platform web browser based on the Chromium project.",
+ "png": "/media/logos/Chrome.png",
+ "svg": "/media/logos/Chrome.svg",
+ "url": "https://www.google.com/chrome/"
+ },
+ {
+ "name": "Clojure",
+ "description": "Dynamic, functional programming language targeting the JVM with emphasis on immutability.",
+ "png": "/media/logos/Clojure.png",
+ "svg": "/media/logos/Clojure.png",
+ "url": "https://clojure.org/"
+ },
+ {
+ "name": "CSS3",
+ "description": "Style sheet language used for describing the presentation of a document written in HTML or XML.",
+ "png": "/media/logos/CSS3.png",
+ "svg": "/media/logos/CSS3.svg",
+ "url": "https://www.w3.org/Style/CSS/"
+ },
+ {
"name": "Debian",
"description": "Debian is the base operating system that runs the server hosting the blog, offering stability and security.",
"png": "/media/logos/Debian.png",
@@ -14,6 +70,27 @@
"url": "https://www.debian.org/"
},
{
+ "name": "Docker",
+ "description": "Docker containerizes blog components for consistent deployment across environments.",
+ "png": "/media/logos/Docker.png",
+ "svg": "/media/logos/Docker.svg",
+ "url": "https://www.docker.com/"
+ },
+ {
+ "name": "Electron",
+ "description": "Framework for building cross-platform desktop applications using web technologies.",
+ "png": "/media/logos/Electron.png",
+ "svg": "/media/logos/Electron.svg",
+ "url": "https://www.electronjs.org/"
+ },
+ {
+ "name": "ESLint",
+ "description": "ESLint is a pluggable and configurable linter tool for identifying and fixing problems in JavaScript and TypeScript code.",
+ "png": "/media/logos/ESLint.png",
+ "svg": "/media/logos/ESLint.svg",
+ "url": "https://eslint.org/"
+ },
+ {
"name": "Express",
"description": "Express.js is the core HTTP server that powers the blog's routing, middleware, and response handling.",
"png": "/media/logos/Express.png",
@@ -21,6 +98,49 @@
"url": "https://expressjs.com/"
},
{
+ "name": "Fedora",
+ "description": "Community-driven Linux distribution sponsored by Red Hat, focusing on innovation and upstream contributions.",
+ "png": "/media/logos/Fedora.png",
+ "svg": "/media/logos/Fedora.png",
+ "url": "https://getfedora.org/"
+ },
+ {
+ "name": "Firefox",
+ "description": "Open-source web browser developed by Mozilla, focused on privacy and customization.",
+ "png": "/media/logos/Firefox.png",
+ "svg": "/media/logos/Firefox.svg",
+ "url": "https://www.mozilla.org/firefox/"
+ },
+ {
+ "name": "Flask",
+ "description": "A lightweight WSGI web application framework in Python, designed for quick development and flexible deployment.",
+ "png": "/media/logos/Flask.png",
+ "svg": "/media/logos/Flask.svg",
+ "url": "https://flask.palletsprojects.com/"
+ },
+ {
+ "name": "Git",
+ "description": "Distributed version control system designed to handle everything from small to very large projects.",
+ "png": "/media/logos/Git.png",
+ "svg": "/media/logos/Git.png",
+ "url": "https://git-scm.com/"
+ },
+ {
+ "name": "Github",
+ "description": "GitHub is used for version control, source code hosting, and collaboration on the blog engine and its related components.",
+ "png": "/media/logos/GitHub.png",
+ "svg": "/media/logos/GitHub.svg",
+ "url": "https://github.com/"
+ },
+ {
+ "name": "Grafana",
+ "description": "Open-source platform for monitoring and observability with support for multiple data sources.",
+ "png": "/media/logos/Grafana.png",
+ "svg": "/media/logos/Grafana.png",
+ "url": "https://grafana.com/"
+ },
+
+ {
"name": "Handlebars",
"description": "Handlebars is the templating engine used to render HTML pages for the blog dynamically on the server side.",
"png": "/media/logos/Handlebars.png",
@@ -28,6 +148,83 @@
"url": "https://handlebarsjs.com/"
},
{
+ "name": "Helm",
+ "description": "Helm is a package manager for Kubernetes that helps you define, install, and upgrade complex Kubernetes applications.",
+ "png": "/media/logos/Helm.png",
+ "svg": "/media/logos/Helm.svg",
+ "url": "https://helm.sh/"
+ },
+ {
+ "name": "Heroku",
+ "description": "Heroku is a cloud platform as a service (PaaS) supporting several programming languages, used to deploy, manage, and scale applications.",
+ "png": "/media/logos/Heroku.png",
+ "svg": "/media/logos/Heroku.svg",
+ "url": "https://www.heroku.com/"
+ },
+ {
+ "name": "HTML5",
+ "description": "Latest version of the Hypertext Markup Language, the standard language for creating web pages.",
+ "png": "/media/logos/HTML5.png",
+ "svg": "/media/logos/HTML5.png",
+ "url": "https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/HTML5"
+ },
+ {
+ "name": "Java",
+ "description": "General-purpose, object-oriented programming language designed to have as few implementation dependencies as possible.",
+ "png": "/media/logos/Java.png",
+ "svg": "/media/logos/Java.svg",
+ "url": "https://www.oracle.com/java/"
+ },
+ {
+ "name": "JavaScript",
+ "description": "JavaScript powers the client-side interactivity of the blog, including dynamic behaviors and navigation enhancements.",
+ "png": "/media/logos/JavaScript.png",
+ "svg": "/media/logos/JavaScript.svg",
+ "url": "https://developer.mozilla.org/en-US/docs/Web/JavaScript"
+ },
+ {
+ "name": "Jenkins",
+ "description": "Open-source automation server used for continuous integration and continuous delivery (CI/CD).",
+ "png": "/media/logos/Jenkins.png",
+ "svg": "/media/logos/Jenkins.svg",
+ "url": "https://www.jenkins.io/"
+ },
+ {
+ "name": "Jest",
+ "description": "Jest is a JavaScript testing framework maintained by Meta, designed to ensure correctness of any JavaScript codebase.",
+ "png": "/media/logos/Jest.png",
+ "svg": "/media/logos/Jest.svg",
+ "url": "https://jestjs.io/"
+ },
+ {
+ "name": "JSON",
+ "description": "JSON is used for internal configuration and structured data interchange between components of the blog engine.",
+ "png": "/media/logos/JSON.png",
+ "svg": "/media/logos/JSON.svg",
+ "url": "https://www.json.org/"
+ },
+ {
+ "name": "jQuery",
+ "description": "A fast, small, and feature-rich JavaScript library that simplifies HTML document traversal, event handling, and animation.",
+ "png": "/media/logos/jQuery.png",
+ "svg": "/media/logos/jQuery.svg",
+ "url": "https://jquery.com/"
+ },
+ {
+ "name": "Knex.js",
+ "description": "Knex.js is a SQL query builder for Node.js, supporting multiple database engines like PostgreSQL, MySQL, and SQLite3.",
+ "png": "/media/logos/Knex.js.png",
+ "svg": "/media/logos/Knex.js.svg",
+ "url": "https://knexjs.org/"
+ },
+ {
+ "name": "Kubernetes",
+ "description": "Open-source platform for automating deployment, scaling, and management of containerized applications.",
+ "png": "/media/logos/Kubernetes.png",
+ "svg": "/media/logos/Kubernetes.svg",
+ "url": "https://kubernetes.io/"
+ },
+ {
"name": "Linux",
"description": "Linux is the kernel layer supporting the Debian OS on which the blog stack operates.",
"png": "/media/logos/Linux.png",
@@ -35,6 +232,20 @@
"url": "https://www.kernel.org/"
},
{
+ "name": "Markdown",
+ "description": "Markdown is used as the primary format for authoring blog posts, allowing clean content separation from presentation logic.",
+ "png": "/media/logos/Markdown.png",
+ "svg": "/media/logos/Markdown.svg",
+ "url": "https://daringfireball.net/projects/markdown/"
+ },
+ {
+ "name": "Material UI",
+ "description": "Material UI is a React component library implementing Google's Material Design system.",
+ "png": "/media/logos/Material-UI.png",
+ "svg": "/media/logos/Material-UI.svg",
+ "url": "https://mui.com/"
+ },
+ {
"name": "Mocha",
"description": "Mocha is used to test backend logic and ensure the reliability of the blog's JavaScript codebase.",
"png": "/media/logos/Mocha.png",
@@ -42,6 +253,13 @@
"url": "https://mochajs.org/"
},
{
+ "name": "MySQL",
+ "description": "Advanced open-source relational database management system with extensibility and standards compliance.",
+ "png": "/media/logos/MySQL.png",
+ "svg": "/media/logos/MySQL.svg",
+ "url": "https://www.mysql.com/"
+ },
+ {
"name": "NGINX",
"description": "NGINX acts as a reverse proxy to serve the blog and handle HTTPS traffic termination.",
"png": "/media/logos/NGINX.png",
@@ -84,6 +302,34 @@
"url": "https://ohmyz.sh/"
},
{
+ "name": "PHP",
+ "description": "Server-side scripting language designed for web development and general-purpose programming.",
+ "png": "/media/logos/PHP.png",
+ "svg": "/media/logos/PHP.svg",
+ "url": "https://www.php.net/"
+ },
+ {
+ "name": "PostgreSQL",
+ "description": "Advanced open-source relational database management system with extensibility and standards compliance.",
+ "png": "/media/logos/PostgresSQL.png",
+ "svg": "/media/logos/PostgresSQL.svg",
+ "url": "https://www.postgresql.org/"
+ },
+ {
+ "name": "Postman",
+ "description": "API development and testing environment for building, testing, and documenting APIs.",
+ "png": "/media/logos/Postman.png",
+ "svg": "/media/logos/Postman.svg",
+ "url": "https://www.postman.com/"
+ },
+ {
+ "name": "Python",
+ "description": "High-level, interpreted programming language known for its readability and broad library support.",
+ "png": "/media/logos/Python.png",
+ "svg": "/media/logos/Python.svg",
+ "url": "https://www.python.org/"
+ },
+ {
"name": "Raspberry Pi",
"description": "Raspberry Pi is used as a self-hosted hardware platform for testing deployments of the blog on ARM architecture.",
"png": "/media/logos/Raspberry-Pi.png",
@@ -91,6 +337,20 @@
"url": "https://www.raspberrypi.com/"
},
{
+ "name": "React",
+ "description": "A JavaScript library for building user interfaces, maintained by Meta and a community of developers.",
+ "png": "/media/logos/React.png",
+ "svg": "/media/logos/React.svg",
+ "url": "https://reactjs.org"
+ },
+ {
+ "name": "Slack",
+ "description": "A messaging platform for teams that supports real-time communication, file sharing, and third-party integrations.",
+ "png": "/media/logos/Slack.png",
+ "svg": "/media/logos/Slack.svg",
+ "url": "https://slack.com/"
+ },
+ {
"name": "SQLite",
"description": "SQLite is the embedded database used to store blog content, metadata, and configuration data.",
"png": "/media/logos/SQLite.png",
@@ -98,6 +358,13 @@
"url": "https://www.sqlite.org/"
},
{
+ "name": "Sequelize",
+ "description": "Promise-based Node.js ORM for Postgres, MySQL, MariaDB, SQLite, and Microsoft SQL Server.",
+ "png": "/media/logos/Sequelize.png",
+ "svg": "/media/logos/Sequelize.png",
+ "url": "https://sequelize.org/"
+ },
+ {
"name": "SSH",
"description": "SSH provides secure access to the remote server that hosts and maintains the blog.",
"png": "/media/logos/SSH.png",
@@ -105,16 +372,51 @@
"url": "https://www.openssh.com/"
},
{
+ "name": "Tailwind",
+ "description": "Tailwind CSS is a utility-first CSS framework for rapidly building custom user interfaces.",
+ "png": "/media/logos/Tailwind-CSS.png",
+ "svg": "/media/logos/Tailwind-CSS.svg",
+ "url": "https://tailwindcss.com/"
+ },
+ {
"name": "Tmux",
"description": "Tmux is a terminal multiplexer that allows multiple terminal sessions to be accessed and controlled from a single window. It is used during development and maintenance of the blog engine to persist long-running processes like the Express.js server, run concurrent tools like Nodemon and Mocha, and manage SSH sessions without interruption.",
"svg": "/media/logos/tmux-logomark.svg",
"url": "https://github.com/tmux/tmux/wiki"
},
{
+ "name": "VIM",
+ "description": "Vim is one of the editors used for writing and maintaining the blog engine and related tooling, alongside Visual Studio Code.",
+ "png": "/media/logos/Vim.png",
+ "svg": "/media/logos/Vim.svg",
+ "url": "https://www.vim.org/"
+ },
+ {
"name": "Visual Studio",
"description": "Visual Studio is the integrated development environment used to build and debug the blog’s backend.",
"png": "/media/logos/Visual-Studio.png",
"svg": "/media/logos/Visual-Studio.svg",
"url": "https://visualstudio.microsoft.com/"
+ },
+ {
+ "name": "XML",
+ "description": "XML is used to generate the sitemap for the blog, enabling search engines to effectively index all published content.",
+ "png": "/media/logos/XML.png",
+ "svg": "/media/logos/XML.svg",
+ "url": "https://www.w3.org/XML/"
+ },
+ {
+ "name": "YAML",
+ "description": "YAML is used for site metadata and environment configuration, offering a more human-readable alternative to JSON where appropriate.",
+ "png": "/media/logos/YAML.png",
+ "svg": "/media/logos/YAML.svg",
+ "url": "https://yaml.org/"
+ },
+ {
+ "name": "Yarn",
+ "description": "Fast, reliable, and secure dependency management tool for JavaScript projects.",
+ "png": "/media/logos/Yarn.png",
+ "svg": "/media/logos/Yarn.png",
+ "url": "https://yarnpkg.com/"
}
]