diff --git a/src/components/Academia.pug b/src/components/Academia.pug index 279d5c5..4e5d54b 100644 --- a/src/components/Academia.pug +++ b/src/components/Academia.pug @@ -49,6 +49,7 @@ section.bg-nls-black.text-white class="focus:outline-none focus:z-10 focus:ring-4 focus:ring-nls-green focus:bg-nls-green focus:text-black hover:text-white focus:no-underline hover:decoration-2", title="A high-level, interpreted programming language", aria-label="A high-level, interpreted programming language" + data-umami-event="JavaScript" ) JavaScript (ES6+) | , a.rounded-sm.text-nls-green.transition.underline-offset-2.underline( @@ -56,6 +57,7 @@ section.bg-nls-black.text-white class="focus:outline-none focus:z-10 focus:ring-4 focus:ring-nls-green focus:bg-nls-green focus:text-black hover:text-white focus:no-underline hover:decoration-2", title="A typed superset of JavaScript that compiles to plain JavaScript", aria-label="A typed superset of JavaScript that compiles to plain JavaScript" + data-umami-event="TypeScript" ) TypeScript li a.rounded-sm.text-nls-green.transition.underline-offset-2.underline( @@ -63,6 +65,7 @@ section.bg-nls-black.text-white class="focus:outline-none focus:z-10 focus:ring-4 focus:ring-nls-green focus:bg-nls-green focus:text-black hover:text-white focus:no-underline hover:decoration-2", title="A JavaScript library for building user interfaces", aria-label="A JavaScript library for building user interfaces" + data-umami-event="React" ) React | , a.rounded-sm.text-nls-green.transition.underline-offset-2.underline( @@ -70,6 +73,7 @@ section.bg-nls-black.text-white class="focus:outline-none focus:z-10 focus:ring-4 focus:ring-nls-green focus:bg-nls-green focus:text-black hover:text-white focus:no-underline hover:decoration-2", title="A progressive framework for building user interfaces", aria-label="A progressive framework for building user interfaces" + data-umami-event="Vue" ) Vue.js | , a.rounded-sm.text-nls-green.transition.underline-offset-2.underline( @@ -77,6 +81,7 @@ section.bg-nls-black.text-white class="focus:outline-none focus:z-10 focus:ring-4 focus:ring-nls-green focus:bg-nls-green focus:text-black hover:text-white focus:no-underline hover:decoration-2", title="A radical new approach to building user interfaces", aria-label="A radical new approach to building user interfaces" + data-umami-event="Svelte" ) Svelte li a.rounded-sm.text-nls-green.transition.underline-offset-2.underline( @@ -84,6 +89,7 @@ section.bg-nls-black.text-white class="focus:outline-none focus:z-10 focus:ring-4 focus:ring-nls-green focus:bg-nls-green focus:text-black hover:text-white focus:no-underline hover:decoration-2", title="A platform for building mobile and desktop web applications", aria-label="A platform for building mobile and desktop web applications" + data-umami-event="Angular" ) Angular | , a.rounded-sm.text-nls-green.transition.underline-offset-2.underline( @@ -91,6 +97,7 @@ section.bg-nls-black.text-white class="focus:outline-none focus:z-10 focus:ring-4 focus:ring-nls-green focus:bg-nls-green focus:text-black hover:text-white focus:no-underline hover:decoration-2", title="A framework for ambitious web developers", aria-label="A framework for ambitious web developers" + data-umami-event="Ember" ) Ember.js li a.rounded-sm.text-nls-green.transition.underline-offset-2.underline( @@ -98,6 +105,7 @@ section.bg-nls-black.text-white class="focus:outline-none focus:z-10 focus:ring-4 focus:ring-nls-green focus:bg-nls-green focus:text-black hover:text-white focus:no-underline hover:decoration-2", title="A fast, small, and feature-rich JavaScript library", aria-label="A fast, small, and feature-rich JavaScript library" + data-umami-event="jQuery" ) jQuery li Plain JS li @@ -106,6 +114,7 @@ section.bg-nls-black.text-white class="focus:outline-none focus:z-10 focus:ring-4 focus:ring-nls-green focus:bg-nls-green focus:text-black hover:text-white focus:no-underline hover:decoration-2", title="The standard markup language for documents designed to be displayed in a web browser", aria-label="The standard markup language for documents designed to be displayed in a web browser" + data-umami-event="HTML5" ) HTML5 | , a.rounded-sm.text-nls-green.transition.underline-offset-2.underline( @@ -113,6 +122,7 @@ section.bg-nls-black.text-white class="focus:outline-none focus:z-10 focus:ring-4 focus:ring-nls-green focus:bg-nls-green focus:text-black hover:text-white focus:no-underline hover:decoration-2", title="A stylesheet language used to describe the presentation of a document written in HTML or XML", aria-label="A stylesheet language used to describe the presentation of a document written in HTML or XML" + data-umami-event="CSS3" ) CSS3 | , a.rounded-sm.text-nls-green.transition.underline-offset-2.underline( @@ -120,6 +130,7 @@ section.bg-nls-black.text-white class="focus:outline-none focus:z-10 focus:ring-4 focus:ring-nls-green focus:bg-nls-green focus:text-black hover:text-white focus:no-underline hover:decoration-2", title="A preprocessor scripting language that is interpreted or compiled into CSS", aria-label="A preprocessor scripting language that is interpreted or compiled into CSS" + data-umami-event="Sass" ) Sass | , a.rounded-sm.text-nls-green.transition.underline-offset-2.underline( @@ -127,6 +138,7 @@ section.bg-nls-black.text-white class="focus:outline-none focus:z-10 focus:ring-4 focus:ring-nls-green focus:bg-nls-green focus:text-black hover:text-white focus:no-underline hover:decoration-2", title="A backwards-compatible language extension for CSS", aria-label="A backwards-compatible language extension for CSS" + data-umami-event="Less" ) Less li Responsive Web Design li @@ -135,6 +147,7 @@ section.bg-nls-black.text-white class="focus:outline-none focus:z-10 focus:ring-4 focus:ring-nls-green focus:bg-nls-green focus:text-black hover:text-white focus:no-underline hover:decoration-2", title="A utility-first CSS framework for rapidly building custom designs", aria-label="A utility-first CSS framework for rapidly building custom designs" + data-umami-event="Tailwindcss" ) Tailwindcss | , a.rounded-sm.text-nls-green.transition.underline-offset-2.underline( @@ -142,6 +155,7 @@ section.bg-nls-black.text-white class="focus:outline-none focus:z-10 focus:ring-4 focus:ring-nls-green focus:bg-nls-green focus:text-black hover:text-white focus:no-underline hover:decoration-2", title="A design system for enterprise-level products", aria-label="A design system for enterprise-level products" + data-umami-event="Ant" ) Ant Design | , a.rounded-sm.text-nls-green.transition.underline-offset-2.underline( @@ -149,6 +163,7 @@ section.bg-nls-black.text-white class="focus:outline-none focus:z-10 focus:ring-4 focus:ring-nls-green focus:bg-nls-green focus:text-black hover:text-white focus:no-underline hover:decoration-2", title="A design system created by Google", aria-label="A design system created by Google" + data-umami-event="Material" ) Material Design | , a.rounded-sm.text-nls-green.transition.underline-offset-2.underline( @@ -156,6 +171,7 @@ section.bg-nls-black.text-white class="focus:outline-none focus:z-10 focus:ring-4 focus:ring-nls-green focus:bg-nls-green focus:text-black hover:text-white focus:no-underline hover:decoration-2", title="The world's most popular front-end open source toolkit", aria-label="The world's most popular front-end open source toolkit" + data-umami-event="Bootstrap" ) Bootstrap li | Bundlers: @@ -164,6 +180,7 @@ section.bg-nls-black.text-white class="focus:outline-none focus:z-10 focus:ring-4 focus:ring-nls-green focus:bg-nls-green focus:text-black hover:text-white focus:no-underline hover:decoration-2", title="Next Generation Frontend Tooling", aria-label="Next Generation Frontend Tooling" + data-umami-event="Vite" ) Vite | , a.rounded-sm.text-nls-green.transition.underline-offset-2.underline( @@ -171,6 +188,7 @@ section.bg-nls-black.text-white class="focus:outline-none focus:z-10 focus:ring-4 focus:ring-nls-green focus:bg-nls-green focus:text-black hover:text-white focus:no-underline hover:decoration-2", title="A static module bundler for modern JavaScript applications", aria-label="A static module bundler for modern JavaScript applications" + data-umami-event="Webpack" ) Webpack | , a.rounded-sm.text-nls-green.transition.underline-offset-2.underline( @@ -178,6 +196,7 @@ section.bg-nls-black.text-white class="focus:outline-none focus:z-10 focus:ring-4 focus:ring-nls-green focus:bg-nls-green focus:text-black hover:text-white focus:no-underline hover:decoration-2", title="Blazing fast, zero configuration web application bundler", aria-label="Blazing fast, zero configuration web application bundler" + data-umami-event="Parcel" ) Parcel li | Visualization: @@ -186,6 +205,7 @@ section.bg-nls-black.text-white class="focus:outline-none focus:z-10 focus:ring-4 focus:ring-nls-green focus:bg-nls-green focus:text-black hover:text-white focus:no-underline hover:decoration-2", title="A javaScript library for exploratory data visualization", aria-label="A javaScript library for exploratory data visualization" + data-umami-event="Observable" ) Observable Plot | , a.rounded-sm.text-nls-green.transition.underline-offset-2.underline( @@ -193,6 +213,7 @@ section.bg-nls-black.text-white class="focus:outline-none focus:z-10 focus:ring-4 focus:ring-nls-green focus:bg-nls-green focus:text-black hover:text-white focus:no-underline hover:decoration-2", title="A JavaScript library for manipulating documents based on data", aria-label="A JavaScript library for manipulating documents based on data" + data-umami-event="D3" ) D3.js | , a.rounded-sm.text-nls-green.transition.underline-offset-2.underline( @@ -200,6 +221,7 @@ section.bg-nls-black.text-white class="focus:outline-none focus:z-10 focus:ring-4 focus:ring-nls-green focus:bg-nls-green focus:text-black hover:text-white focus:no-underline hover:decoration-2", title="A lightweight JavaScript library for creating particles", aria-label="A lightweight JavaScript library for creating particles" + data-umami-event="Particle" ) Particle.js | , a.rounded-sm.text-nls-green.transition.underline-offset-2.underline( @@ -207,6 +229,7 @@ section.bg-nls-black.text-white class="focus:outline-none focus:z-10 focus:ring-4 focus:ring-nls-green focus:bg-nls-green focus:text-black hover:text-white focus:no-underline hover:decoration-2", title="A cross-browser JavaScript library and API used to create and display animated 3D computer graphics", aria-label="A cross-browser JavaScript library and API used to create and display animated 3D computer graphics" + data-umami-event="Three" ) Three.js li a.rounded-sm.text-nls-green.transition.underline-offset-2.underline( @@ -214,6 +237,7 @@ section.bg-nls-black.text-white class="focus:outline-none focus:z-10 focus:ring-4 focus:ring-nls-green focus:bg-nls-green focus:text-black hover:text-white focus:no-underline hover:decoration-2", title="The React Framework for Production", aria-label="The React Framework for Production" + data-umami-event="NextJS" ) NextJS(React framework) li a.rounded-sm.text-nls-green.transition.underline-offset-2.underline( @@ -221,6 +245,7 @@ section.bg-nls-black.text-white class="focus:outline-none focus:z-10 focus:ring-4 focus:ring-nls-green focus:bg-nls-green focus:text-black hover:text-white focus:no-underline hover:decoration-2", title="The Intuitive Vue Framework", aria-label="The Intuitive Vue Framework" + data-umami-event="NuxtJS" ) NuxtJS(Vue framework) li a.rounded-sm.text-nls-green.transition.underline-offset-2.underline( @@ -228,6 +253,7 @@ section.bg-nls-black.text-white class="focus:outline-none focus:z-10 focus:ring-4 focus:ring-nls-green focus:bg-nls-green focus:text-black hover:text-white focus:no-underline hover:decoration-2", title="The fastest way to build Svelte apps", aria-label="The fastest way to build Svelte apps" + data-umami-event="SvelteKit" ) SvelteKit(Svelte framework) li a.rounded-sm.text-nls-green.transition.underline-offset-2.underline( @@ -235,6 +261,7 @@ section.bg-nls-black.text-white class="focus:outline-none focus:z-10 focus:ring-4 focus:ring-nls-green focus:bg-nls-green focus:text-black hover:text-white focus:no-underline hover:decoration-2", title="A React-based open source framework for creating websites and apps", aria-label="A React-based open source framework for creating websites and apps" + data-umami-event="Gatsby" ) Gatsby(Static site generator) li a.rounded-sm.text-nls-green.transition.underline-offset-2.underline( @@ -242,6 +269,7 @@ section.bg-nls-black.text-white class="focus:outline-none focus:z-10 focus:ring-4 focus:ring-nls-green focus:bg-nls-green focus:text-black hover:text-white focus:no-underline hover:decoration-2", title="A tool for building UI components and pages in isolation", aria-label="A tool for building UI components and pages in isolation" + data-umami-event="Storybook" ) Storybook(UI component explorer) li a.rounded-sm.text-nls-green.transition.underline-offset-2.underline( @@ -249,6 +277,7 @@ section.bg-nls-black.text-white class="focus:outline-none focus:z-10 focus:ring-4 focus:ring-nls-green focus:bg-nls-green focus:text-black hover:text-white focus:no-underline hover:decoration-2", title="A delightful JavaScript Testing Framework with a focus on simplicity", aria-label="A delightful JavaScript Testing Framework with a focus on simplicity" + data-umami-event="Jest" ) Jest(Testing framework) li a.rounded-sm.text-nls-green.transition.underline-offset-2.underline( @@ -256,6 +285,7 @@ section.bg-nls-black.text-white class="focus:outline-none focus:z-10 focus:ring-4 focus:ring-nls-green focus:bg-nls-green focus:text-black hover:text-white focus:no-underline hover:decoration-2", title="Fast, easy and reliable testing for anything that runs in a browser", aria-label="Fast, easy and reliable testing for anything that runs in a browser" + data-umami-event="Cypress" ) Cypress(E2E testing) li a.rounded-sm.text-nls-green.transition.underline-offset-2.underline( @@ -263,6 +293,7 @@ section.bg-nls-black.text-white class="focus:outline-none focus:z-10 focus:ring-4 focus:ring-nls-green focus:bg-nls-green focus:text-black hover:text-white focus:no-underline hover:decoration-2", title="Reliable end-to-end testing for modern web apps", aria-label="Reliable end-to-end testing for modern web apps" + data-umami-event="Playwright" ) Playwright(E2E testing) li a.rounded-sm.text-nls-green.transition.underline-offset-2.underline( @@ -270,6 +301,7 @@ section.bg-nls-black.text-white class="focus:outline-none focus:z-10 focus:ring-4 focus:ring-nls-green focus:bg-nls-green focus:text-black hover:text-white focus:no-underline hover:decoration-2", title="A Predictable State Container for JS Apps", aria-label="A Predictable State Container for JS Apps" + data-umami-event="Redux" ) Redux(State management) li a.rounded-sm.text-nls-green.transition.underline-offset-2.underline( @@ -277,6 +309,7 @@ section.bg-nls-black.text-white class="focus:outline-none focus:z-10 focus:ring-4 focus:ring-nls-green focus:bg-nls-green focus:text-black hover:text-white focus:no-underline hover:decoration-2", title="Simple, scalable state management", aria-label="Simple, scalable state management" + data-umami-event="MobX" ) MobX(State management) li a.rounded-sm.text-nls-green.transition.underline-offset-2.underline( @@ -284,6 +317,7 @@ section.bg-nls-black.text-white class="focus:outline-none focus:z-10 focus:ring-4 focus:ring-nls-green focus:bg-nls-green focus:text-black hover:text-white focus:no-underline hover:decoration-2", title="A small, fast and scalable bearbones state-management solution", aria-label="A small, fast and scalable bearbones state-management solution" + data-umami-event="Zustand" ) Zustand(State management) li a.rounded-sm.text-nls-green.transition.underline-offset-2.underline( @@ -291,6 +325,7 @@ section.bg-nls-black.text-white class="focus:outline-none focus:z-10 focus:ring-4 focus:ring-nls-green focus:bg-nls-green focus:text-black hover:text-white focus:no-underline hover:decoration-2", title="A complete state management library for JavaScript apps", aria-label="A complete state management library for JavaScript apps" + data-umami-event="Apollo" ) Apollo Client(GraphQL client) li a.rounded-sm.text-nls-green.transition.underline-offset-2.underline( @@ -298,6 +333,7 @@ section.bg-nls-black.text-white class="focus:outline-none focus:z-10 focus:ring-4 focus:ring-nls-green focus:bg-nls-green focus:text-black hover:text-white focus:no-underline hover:decoration-2", title="Promise based HTTP client for the browser and node.js", aria-label="Promise based HTTP client for the browser and node.js" + data-umami-event="Axios" ) Axios(HTTP client) li a.rounded-sm.text-nls-green.transition.underline-offset-2.underline( @@ -305,6 +341,7 @@ section.bg-nls-black.text-white class="focus:outline-none focus:z-10 focus:ring-4 focus:ring-nls-green focus:bg-nls-green focus:text-black hover:text-white focus:no-underline hover:decoration-2", title="A modern JavaScript utility library delivering modularity, performance & extras", aria-label="A modern JavaScript utility library delivering modularity, performance & extras" + data-umami-event="Lodash" ) Lodash(Utility library) li a.rounded-sm.text-nls-green.transition.underline-offset-2.underline( @@ -312,6 +349,7 @@ section.bg-nls-black.text-white class="focus:outline-none focus:z-10 focus:ring-4 focus:ring-nls-green focus:bg-nls-green focus:text-black hover:text-white focus:no-underline hover:decoration-2", title="A library for reactive programming using Observables", aria-label="A library for reactive programming using Observables" + data-umami-event="RxJS" ) RxJS(Reactive programming library) li a.rounded-sm.text-nls-green.transition.underline-offset-2.underline( @@ -319,6 +357,7 @@ section.bg-nls-black.text-white class="focus:outline-none focus:z-10 focus:ring-4 focus:ring-nls-green focus:bg-nls-green focus:text-black hover:text-white focus:no-underline hover:decoration-2", title="A JavaScript API for rendering interactive 2D and 3D graphics", aria-label="A JavaScript API for rendering interactive 2D and 3D graphics" + data-umami-event="WebGL" ) WebGL(3D graphics) // endregion // region DevOps @@ -334,6 +373,7 @@ section.bg-nls-black.text-white class="hover:text-white hover:decoration-2", title="A platform for developing, shipping, and running applications", aria-label="A platform for developing, shipping, and running applications" + data-umami-event="Docker" ) Docker | , a.text-nls-blue.transition.underline-offset-2.underline( @@ -341,6 +381,7 @@ section.bg-nls-black.text-white class="hover:text-white hover:decoration-2", title="An open-source system for automating deployment, scaling, and management of containerized applications", aria-label="An open-source system for automating deployment, scaling, and management of containerized applications" + data-umami-event="Kubernetes" ) Kubernetes li a.text-nls-blue.transition.underline-offset-2.underline( @@ -348,6 +389,7 @@ section.bg-nls-black.text-white class="hover:text-white hover:decoration-2", title="Microsoft's cloud computing platform", aria-label="Microsoft's cloud computing platform" + data-umami-event="Azure" ) Azure | , a.text-nls-blue.transition.underline-offset-2.underline( @@ -355,6 +397,7 @@ section.bg-nls-black.text-white class="hover:text-white hover:decoration-2", title="Google's suite of cloud computing services", aria-label="Google's suite of cloud computing services" + data-umami-event="Google" ) Google Cloud li | CI/CD ( @@ -363,6 +406,7 @@ section.bg-nls-black.text-white class="hover:text-white hover:decoration-2", title="An open source automation server", aria-label="An open source automation server" + data-umami-event="Jenkins" ) Jenkins | , a.text-nls-blue.transition.underline-offset-2.underline( @@ -370,6 +414,7 @@ section.bg-nls-black.text-white class="hover:text-white hover:decoration-2", title="GitLab's built-in Continuous Integration", aria-label="GitLab's built-in Continuous Integration" + data-umami-event="GitLab" ) GitLab CI | , a.text-nls-blue.transition.underline-offset-2.underline( @@ -377,6 +422,7 @@ section.bg-nls-black.text-white class="hover:text-white hover:decoration-2", title="Automate your workflow from idea to production", aria-label="Automate your workflow from idea to production" + data-umami-event="GitHub" ) GitHub Actions | ) li @@ -385,6 +431,7 @@ section.bg-nls-black.text-white class="hover:text-white hover:decoration-2", title="An open-source infrastructure as code software tool", aria-label="An open-source infrastructure as code software tool" + data-umami-event="Terraform" ) Terraform li | Monitoring ( @@ -393,6 +440,7 @@ section.bg-nls-black.text-white class="hover:text-white hover:decoration-2", title="An open-source monitoring system with a dimensional data model", aria-label="An open-source monitoring system with a dimensional data model" + data-umami-event="Prometheus" ) Prometheus | , a.text-nls-blue.transition.underline-offset-2.underline( @@ -400,6 +448,7 @@ section.bg-nls-black.text-white class="hover:text-white hover:decoration-2", title="An open-source platform for monitoring and observability", aria-label="An open-source platform for monitoring and observability" + data-umami-event="Grafana" ) Grafana | ) li @@ -408,6 +457,7 @@ section.bg-nls-black.text-white class="hover:text-white hover:decoration-2", title="A robust, commercial-grade, featureful, and freely-available source code implementation of an HTTP (Web) server", aria-label="A robust, commercial-grade, featureful, and freely-available source code implementation of an HTTP (Web) server" + data-umami-event="Apache" ) Apache | , a.text-nls-blue.transition.underline-offset-2.underline( @@ -415,6 +465,7 @@ section.bg-nls-black.text-white class="hover:text-white hover:decoration-2", title="A web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache", aria-label="A web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache" + data-umami-event="Nginx" ) Nginx li | Message Queuing: @@ -423,6 +474,7 @@ section.bg-nls-black.text-white class="hover:text-white hover:decoration-2", title="A distributed streaming platform", aria-label="A distributed streaming platform" + data-umami-event="Kafka" ) Kafka li a.text-nls-blue.transition.underline-offset-2.underline( @@ -430,6 +482,7 @@ section.bg-nls-black.text-white class="hover:text-white hover:decoration-2", title="An open-source platform for continuous inspection of code quality", aria-label="An open-source platform for continuous inspection of code quality" + data-umami-event="Sonarqube" ) Sonarqube li a.text-nls-blue.transition.underline-offset-2.underline( @@ -437,6 +490,7 @@ section.bg-nls-black.text-white class="hover:text-white hover:decoration-2", title="Application monitoring and error tracking software", aria-label="Application monitoring and error tracking software" + data-umami-event="Sentry" ) Sentry(Error tracking) li a.text-nls-blue.transition.underline-offset-2.underline( @@ -444,6 +498,7 @@ section.bg-nls-black.text-white class="hover:text-white hover:decoration-2", title="An open-source, automated tool for improving the quality of web pages", aria-label="An open-source, automated tool for improving the quality of web pages" + data-umami-event="Lighthouse" ) Lighthouse(Performance, accessibility, and SEO auditing) li a.text-nls-blue.transition.underline-offset-2.underline( @@ -451,6 +506,7 @@ section.bg-nls-black.text-white class="hover:text-white hover:decoration-2", title="Website performance and optimization test", aria-label="Website performance and optimization test" + data-umami-event="WebPageTest" ) WebPageTest(Performance testing) li a.text-nls-blue.transition.underline-offset-2.underline( @@ -458,6 +514,7 @@ section.bg-nls-black.text-white class="hover:text-white hover:decoration-2", title="A Node library which provides a high-level API to control Chrome or Chromium over the DevTools Protocol", aria-label="A Node library which provides a high-level API to control Chrome or Chromium over the DevTools Protocol" + data-umami-event="Puppeteer" ) Puppeteer(Headless browser automation) li a.text-nls-blue.transition.underline-offset-2.underline( @@ -465,6 +522,7 @@ section.bg-nls-black.text-white class="hover:text-white hover:decoration-2", title="A portable framework for testing web applications", aria-label="A portable framework for testing web applications" + data-umami-event="Selenium" ) Selenium(Browser automation) li a.text-nls-blue.transition.underline-offset-2.underline( @@ -472,6 +530,7 @@ section.bg-nls-black.text-white class="hover:text-white hover:decoration-2", title="Smart, Fast and Extensible Build System", aria-label="Smart, Fast and Extensible Build System" + data-umami-event="Nx" ) Nx(Monorepo tooling) // endregion // region Backend @@ -487,6 +546,7 @@ section.bg-nls-black.text-white class="hover:text-white hover:decoration-2", title="A JavaScript runtime built on Chrome's V8 JavaScript engine", aria-label="A JavaScript runtime built on Chrome's V8 JavaScript engine" + data-umami-event="Node" ) Node.js | , a.text-nls-violet.transition.underline-offset-2.underline( @@ -494,6 +554,7 @@ section.bg-nls-black.text-white class="hover:text-white hover:decoration-2", title="Fast, unopinionated, minimalist web framework for Node.js", aria-label="Fast, unopinionated, minimalist web framework for Node.js" + data-umami-event="Express" ) Express.js li a.text-nls-violet.transition.underline-offset-2.underline( @@ -501,6 +562,7 @@ section.bg-nls-black.text-white class="hover:text-white hover:decoration-2", title="A popular general-purpose scripting language", aria-label="A popular general-purpose scripting language" + data-umami-event="PHP" ) PHP | , a.text-nls-violet.transition.underline-offset-2.underline( @@ -508,6 +570,7 @@ section.bg-nls-black.text-white class="hover:text-white hover:decoration-2", title="A web application framework with expressive, elegant syntax", aria-label="A web application framework with expressive, elegant syntax" + data-umami-event="Laravel" ) Laravel | , a.text-nls-violet.transition.underline-offset-2.underline( @@ -515,6 +578,7 @@ section.bg-nls-black.text-white class="hover:text-white hover:decoration-2", title="A set of reusable PHP components", aria-label="A set of reusable PHP components" + data-umami-event="Symfony" ) Symfony li a.text-nls-violet.transition.underline-offset-2.underline( @@ -522,6 +586,7 @@ section.bg-nls-black.text-white class="hover:text-white hover:decoration-2", title="A general-purpose programming language", aria-label="A general-purpose programming language" + data-umami-event="Java" ) Java | , a.text-nls-violet.transition.underline-offset-2.underline( @@ -529,6 +594,7 @@ section.bg-nls-black.text-white class="hover:text-white hover:decoration-2", title="An extension of the Spring framework", aria-label="An extension of the Spring framework" + data-umami-event="Spring" ) Spring Boot | , a.text-nls-violet.transition.underline-offset-2.underline( @@ -536,6 +602,7 @@ section.bg-nls-black.text-white class="hover:text-white hover:decoration-2", title="A Kubernetes Native Java stack", aria-label="A Kubernetes Native Java stack" + data-umami-event="Quarkus" ) Quarkus li a.text-nls-violet.transition.underline-offset-2.underline( @@ -543,6 +610,7 @@ section.bg-nls-black.text-white class="hover:text-white hover:decoration-2", title="A programming language that lets you work quickly and integrate systems more effectively", aria-label="A programming language that lets you work quickly and integrate systems more effectively" + data-umami-event="Python" ) Python | , a.text-nls-violet.transition.underline-offset-2.underline( @@ -550,6 +618,7 @@ section.bg-nls-black.text-white class="hover:text-white hover:decoration-2", title="A high-level Python Web framework", aria-label="A high-level Python Web framework" + data-umami-event="Django" ) Django | , a.text-nls-violet.transition.underline-offset-2.underline( @@ -557,6 +626,7 @@ section.bg-nls-black.text-white class="hover:text-white hover:decoration-2", title="A lightweight WSGI web application framework", aria-label="A lightweight WSGI web application framework" + data-umami-event="Flask" ) Flask | , a.text-nls-violet.transition.underline-offset-2.underline( @@ -564,6 +634,7 @@ section.bg-nls-black.text-white class="hover:text-white hover:decoration-2", title="A modern, fast (high-performance), web framework for building APIs with Python 3.6+", aria-label="A modern, fast (high-performance), web framework for building APIs with Python 3.6+" + data-umami-event="FastAPI" ) FastAPI li a.text-nls-violet.transition.underline-offset-2.underline( @@ -571,6 +642,7 @@ section.bg-nls-black.text-white class="hover:text-white hover:decoration-2", title="An open source programming language that makes it easy to build simple, reliable, and efficient software", aria-label="An open source programming language that makes it easy to build simple, reliable, and efficient software" + data-umami-event="Go" ) Go | , a.text-nls-violet.transition.underline-offset-2.underline( @@ -578,6 +650,7 @@ section.bg-nls-black.text-white class="hover:text-white hover:decoration-2", title="A language empowering everyone to build reliable and efficient software", aria-label="A language empowering everyone to build reliable and efficient software" + data-umami-event="Rust" ) Rust li a.text-nls-violet.transition.underline-offset-2.underline( @@ -585,6 +658,7 @@ section.bg-nls-black.text-white class="hover:text-white hover:decoration-2", title="Representational State Transfer", aria-label="Representational State Transfer" + data-umami-event="RESTful" ) RESTful APIs | , a.text-nls-violet.transition.underline-offset-2.underline( @@ -592,6 +666,7 @@ section.bg-nls-black.text-white class="hover:text-white hover:decoration-2", title="A query language for your API", aria-label="A query language for your API" + data-umami-event="GraphQL" ) GraphQL li a.text-nls-violet.transition.underline-offset-2.underline( @@ -599,6 +674,7 @@ section.bg-nls-black.text-white class="hover:text-white hover:decoration-2", title="Ultrafast web framework for the Edges", aria-label="Ultrafast web framework for the Edges" + data-umami-event="Hono" ) Hono li | Runtimes: @@ -607,6 +683,7 @@ section.bg-nls-black.text-white class="hover:text-white hover:decoration-2", title="A fast all-in-one JavaScript runtime", aria-label="A fast all-in-one JavaScript runtime" + data-umami-event="Bun" ) Bun | , a.text-nls-violet.transition.underline-offset-2.underline( @@ -614,6 +691,7 @@ section.bg-nls-black.text-white class="hover:text-white hover:decoration-2", title="A secure runtime for JavaScript and TypeScript", aria-label="A secure runtime for JavaScript and TypeScript" + data-umami-event="Deno" ) Deno li a.text-nls-violet.transition.underline-offset-2.underline( @@ -621,6 +699,7 @@ section.bg-nls-black.text-white class="hover:text-white hover:decoration-2", title="A progressive Node.js framework for building efficient and scalable server-side applications", aria-label="A progressive Node.js framework for building efficient and scalable server-side applications" + data-umami-event="NestJS" ) NestJS(Node.js framework) li a.text-nls-violet.transition.underline-offset-2.underline( @@ -628,6 +707,7 @@ section.bg-nls-black.text-white class="hover:text-white hover:decoration-2", title="Fast and low overhead web framework, for Node.js", aria-label="Fast and low overhead web framework, for Node.js" + data-umami-event="Fastify" ) Fastify(Node.js framework) li a.text-nls-violet.transition.underline-offset-2.underline( @@ -635,6 +715,7 @@ section.bg-nls-black.text-white class="hover:text-white hover:decoration-2", title="ORM for TypeScript and JavaScript", aria-label="ORM for TypeScript and JavaScript" + data-umami-event="TypeORM" ) TypeORM(ORM for TypeScript) li a.text-nls-violet.transition.underline-offset-2.underline( @@ -642,6 +723,7 @@ section.bg-nls-black.text-white class="hover:text-white hover:decoration-2", title="Next-generation Node.js and TypeScript ORM", aria-label="Next-generation Node.js and TypeScript ORM" + data-umami-event="Prisma" ) Prisma(Database toolkit) li a.text-nls-violet.transition.underline-offset-2.underline( @@ -649,6 +731,7 @@ section.bg-nls-black.text-white class="hover:text-white hover:decoration-2", title="A SQL query builder for JavaScript", aria-label="A SQL query builder for JavaScript" + data-umami-event="Knex" ) Knex.js(SQL query builder) // endregion // region Data @@ -665,12 +748,14 @@ section.bg-nls-black.text-white class="hover:text-white hover:decoration-2", title="The world's most popular open source database", aria-label="The world's most popular open source database" + data-umami-event="MySQL" ) MySQL, a.text-nls-purple.transition.underline-offset-2.underline( href="https://www.postgresql.org/", class="hover:text-white hover:decoration-2", title="The world's most advanced open source database", aria-label="The world's most advanced open source database" + data-umami-event="PostgreSQL" ) PostgreSQL | ) li @@ -680,6 +765,7 @@ section.bg-nls-black.text-white class="hover:text-white hover:decoration-2", title="A general purpose, document-based, distributed database", aria-label="A general purpose, document-based, distributed database" + data-umami-event="MongoDB" ) MongoDB | , a.text-nls-purple.transition.underline-offset-2.underline( @@ -687,6 +773,7 @@ section.bg-nls-black.text-white class="hover:text-white hover:decoration-2", title="A free and open-source, distributed, wide column store, NoSQL database management system", aria-label="A free and open-source, distributed, wide column store, NoSQL database management system" + data-umami-event="Cassandra" ) Cassandra | , a.text-nls-purple.transition.underline-offset-2.underline( @@ -694,6 +781,7 @@ section.bg-nls-black.text-white class="hover:text-white hover:decoration-2", title="An open source, in-memory data structure store", aria-label="An open source, in-memory data structure store" + data-umami-event="Redis" ) Redis | ) li @@ -702,6 +790,7 @@ section.bg-nls-black.text-white class="hover:text-white hover:decoration-2", title="A distributed, RESTful search and analytics engine", aria-label="A distributed, RESTful search and analytics engine" + data-umami-event="Elasticsearch" ) Elasticsearch li Data Analysis & Visualization // endregion @@ -719,6 +808,7 @@ section.bg-nls-black.text-white class="hover:text-white hover:decoration-2", title="Build cross-platform desktop apps with JavaScript, HTML, and CSS", aria-label="Build cross-platform desktop apps with JavaScript, HTML, and CSS" + data-umami-event="Electron" ) Electron | , a.text-nls-pink.transition.underline-offset-2.underline( @@ -726,6 +816,7 @@ section.bg-nls-black.text-white class="hover:text-white hover:decoration-2", title="Build smaller, faster, and more secure desktop applications with a web frontend", aria-label="Build smaller, faster, and more secure desktop applications with a web frontend" + data-umami-event="Tauri" ) Tauri li | Mobile Apps: @@ -734,6 +825,7 @@ section.bg-nls-black.text-white class="hover:text-white hover:decoration-2", title="A framework for building native apps using React", aria-label="A framework for building native apps using React" + data-umami-event="React" ) React Native | , a.text-nls-pink.transition.underline-offset-2.underline( @@ -741,6 +833,7 @@ section.bg-nls-black.text-white class="hover:text-white hover:decoration-2", title="Google's UI toolkit for building natively compiled applications", aria-label="Google's UI toolkit for building natively compiled applications" + data-umami-event="Flutter" ) Flutter | , a.text-nls-pink.transition.underline-offset-2.underline( @@ -748,6 +841,7 @@ section.bg-nls-black.text-white class="hover:text-white hover:decoration-2", title="Mobile apps with HTML, CSS & JS", aria-label="Mobile apps with HTML, CSS & JS" + data-umami-event="Cordova" ) Cordova li a.text-nls-pink.transition.underline-offset-2.underline( @@ -755,6 +849,7 @@ section.bg-nls-black.text-white class="hover:text-white hover:decoration-2", title="Websites that took all the right vitamins", aria-label="Websites that took all the right vitamins" + data-umami-event="Progressive" ) Progressive Web Apps (PWAs) // endregion // region Best Practices @@ -770,6 +865,7 @@ section.bg-nls-black.text-white class="hover:text-white hover:decoration-2", title="Web Content Accessibility Guidelines", aria-label="Web Content Accessibility Guidelines" + data-umami-event="Accessibility" ) Accessibility (a11y): WCAG | , a.text-nls-red.transition.underline-offset-2.underline( @@ -777,6 +873,7 @@ section.bg-nls-black.text-white class="hover:text-white hover:decoration-2", title="Accessible Rich Internet Applications", aria-label="Accessible Rich Internet Applications" + data-umami-event="ARIA" ) ARIA li | Internationalization (i18n): @@ -785,6 +882,7 @@ section.bg-nls-black.text-white class="hover:text-white hover:decoration-2", title="Internationalization framework", aria-label="Internationalization framework" + data-umami-event="i18next" ) i18next | , a.text-nls-red.transition.underline-offset-2.underline( @@ -792,6 +890,7 @@ section.bg-nls-black.text-white class="hover:text-white hover:decoration-2", title="Web-based continuous localization system", aria-label="Web-based continuous localization system" + data-umami-event="Weblate" ) Weblate | , a.text-nls-red.transition.underline-offset-2.underline( @@ -799,6 +898,7 @@ section.bg-nls-black.text-white class="hover:text-white hover:decoration-2", title="Translation management platform", aria-label="Translation management platform" + data-umami-event="Localize" ) Localize li Performance Optimization li SEO Best Practices @@ -808,6 +908,7 @@ section.bg-nls-black.text-white class="hover:text-white hover:decoration-2", title="Open Web Application Security Project", aria-label="Open Web Application Security Project" + data-umami-event="Web" ) Web Security (OWASP) // endregion // region Tracking @@ -823,6 +924,7 @@ section.bg-nls-black.text-white class="hover:text-white hover:decoration-2", title="Simple, fast, privacy-focused alternative to Google Analytics", aria-label="Simple, fast, privacy-focused alternative to Google Analytics" + data-umami-event="Umami" ) Umami li a.text-nls-orange.transition.underline-offset-2.underline( @@ -830,6 +932,7 @@ section.bg-nls-black.text-white class="hover:text-white hover:decoration-2", title="Web analytics service offered by Google", aria-label="Web analytics service offered by Google" + data-umami-event="Google" ) Google Analytics li a.text-nls-orange.transition.underline-offset-2.underline( @@ -837,6 +940,7 @@ section.bg-nls-black.text-white class="hover:text-white hover:decoration-2", title="Product analytics platform", aria-label="Product analytics platform" + data-umami-event="Amplitude" ) Amplitude li a.text-nls-orange.transition.underline-offset-2.underline( @@ -844,6 +948,7 @@ section.bg-nls-black.text-white class="hover:text-white hover:decoration-2", title="Behavior analytics and user feedback platform", aria-label="Behavior analytics and user feedback platform" + data-umami-event="Hotjar" ) Hotjar // endregion // endregion