diff --git a/src/components/Academia.pug b/src/components/Academia.pug index 4e5d54b..5110810 100644 --- a/src/components/Academia.pug +++ b/src/components/Academia.pug @@ -41,6 +41,9 @@ section.bg-nls-black.text-white details.mb-4(open="") summary.rounded-sm.transition.underline-offset-2.mb-2.cursor-pointer.text-md.font-semibold.mb-2.cursor-pointer.text-nls-green( class="focus:outline-none focus:z-10 focus:ring-4 focus:ring-nls-green focus:bg-nls-green focus:text-black focus:no-underline" + data-umami-event="academia clicked" + data-umami-event-category="frontend technologies" + data-umami-event-label="collapsible" ) Frontend Technologies ul.list-disc.list-inside.text-gray-400 li @@ -49,7 +52,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="frontend technologies" + data-umami-event-label="JavaScript (ES6+)" ) JavaScript (ES6+) | , a.rounded-sm.text-nls-green.transition.underline-offset-2.underline( @@ -57,7 +62,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="frontend technologies" + data-umami-event-label="TypeScript" ) TypeScript li a.rounded-sm.text-nls-green.transition.underline-offset-2.underline( @@ -65,7 +72,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="frontend technologies" + data-umami-event-label="React" ) React | , a.rounded-sm.text-nls-green.transition.underline-offset-2.underline( @@ -73,7 +82,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="frontend technologies" + data-umami-event-label="Vue" ) Vue.js | , a.rounded-sm.text-nls-green.transition.underline-offset-2.underline( @@ -81,7 +92,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="frontend technologies" + data-umami-event-label="Svelte" ) Svelte li a.rounded-sm.text-nls-green.transition.underline-offset-2.underline( @@ -89,7 +102,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="frontend technologies" + data-umami-event-label="Angular" ) Angular | , a.rounded-sm.text-nls-green.transition.underline-offset-2.underline( @@ -97,7 +112,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="frontend technologies" + data-umami-event-label="Ember" ) Ember.js li a.rounded-sm.text-nls-green.transition.underline-offset-2.underline( @@ -105,7 +122,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="frontend technologies" + data-umami-event-label="jQuery" ) jQuery li Plain JS li @@ -114,7 +133,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="frontend technologies" + data-umami-event-label="HTML5" ) HTML5 | , a.rounded-sm.text-nls-green.transition.underline-offset-2.underline( @@ -122,7 +143,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="frontend technologies" + data-umami-event-label="CSS3" ) CSS3 | , a.rounded-sm.text-nls-green.transition.underline-offset-2.underline( @@ -130,7 +153,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="frontend technologies" + data-umami-event-label="Sass" ) Sass | , a.rounded-sm.text-nls-green.transition.underline-offset-2.underline( @@ -138,7 +163,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="frontend technologies" + data-umami-event-label="Less" ) Less li Responsive Web Design li @@ -147,7 +174,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="frontend technologies" + data-umami-event-label="Tailwindcss" ) Tailwindcss | , a.rounded-sm.text-nls-green.transition.underline-offset-2.underline( @@ -155,7 +184,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="frontend technologies" + data-umami-event-label="Ant" ) Ant Design | , a.rounded-sm.text-nls-green.transition.underline-offset-2.underline( @@ -163,7 +194,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="frontend technologies" + data-umami-event-label="Material" ) Material Design | , a.rounded-sm.text-nls-green.transition.underline-offset-2.underline( @@ -171,7 +204,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="frontend technologies" + data-umami-event-label="Bootstrap" ) Bootstrap li | Bundlers: @@ -180,7 +215,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="frontend technologies" + data-umami-event-label="Vite" ) Vite | , a.rounded-sm.text-nls-green.transition.underline-offset-2.underline( @@ -188,7 +225,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="frontend technologies" + data-umami-event-label="Webpack" ) Webpack | , a.rounded-sm.text-nls-green.transition.underline-offset-2.underline( @@ -196,7 +235,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="frontend technologies" + data-umami-event-label="Parcel" ) Parcel li | Visualization: @@ -205,7 +246,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="frontend technologies" + data-umami-event-label="Observable" ) Observable Plot | , a.rounded-sm.text-nls-green.transition.underline-offset-2.underline( @@ -213,7 +256,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="frontend technologies" + data-umami-event-label="D3" ) D3.js | , a.rounded-sm.text-nls-green.transition.underline-offset-2.underline( @@ -221,7 +266,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="frontend technologies" + data-umami-event-label="Particle" ) Particle.js | , a.rounded-sm.text-nls-green.transition.underline-offset-2.underline( @@ -229,7 +276,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="frontend technologies" + data-umami-event-label="Three" ) Three.js li a.rounded-sm.text-nls-green.transition.underline-offset-2.underline( @@ -237,7 +286,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="frontend technologies" + data-umami-event-label="NextJS" ) NextJS(React framework) li a.rounded-sm.text-nls-green.transition.underline-offset-2.underline( @@ -245,7 +296,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="frontend technologies" + data-umami-event-label="NuxtJS" ) NuxtJS(Vue framework) li a.rounded-sm.text-nls-green.transition.underline-offset-2.underline( @@ -253,7 +306,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="frontend technologies" + data-umami-event-label="SvelteKit" ) SvelteKit(Svelte framework) li a.rounded-sm.text-nls-green.transition.underline-offset-2.underline( @@ -261,7 +316,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="frontend technologies" + data-umami-event-label="Gatsby" ) Gatsby(Static site generator) li a.rounded-sm.text-nls-green.transition.underline-offset-2.underline( @@ -269,7 +326,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="frontend technologies" + data-umami-event-label="Storybook" ) Storybook(UI component explorer) li a.rounded-sm.text-nls-green.transition.underline-offset-2.underline( @@ -277,7 +336,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="frontend technologies" + data-umami-event-label="Jest" ) Jest(Testing framework) li a.rounded-sm.text-nls-green.transition.underline-offset-2.underline( @@ -285,7 +346,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="frontend technologies" + data-umami-event-label="Cypress" ) Cypress(E2E testing) li a.rounded-sm.text-nls-green.transition.underline-offset-2.underline( @@ -293,7 +356,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="frontend technologies" + data-umami-event-label="Playwright" ) Playwright(E2E testing) li a.rounded-sm.text-nls-green.transition.underline-offset-2.underline( @@ -301,7 +366,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="frontend technologies" + data-umami-event-label="Redux" ) Redux(State management) li a.rounded-sm.text-nls-green.transition.underline-offset-2.underline( @@ -309,7 +376,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="frontend technologies" + data-umami-event-label="MobX" ) MobX(State management) li a.rounded-sm.text-nls-green.transition.underline-offset-2.underline( @@ -317,7 +386,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="frontend technologies" + data-umami-event-label="Zustand" ) Zustand(State management) li a.rounded-sm.text-nls-green.transition.underline-offset-2.underline( @@ -325,7 +396,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="frontend technologies" + data-umami-event-label="Apollo" ) Apollo Client(GraphQL client) li a.rounded-sm.text-nls-green.transition.underline-offset-2.underline( @@ -333,7 +406,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="frontend technologies" + data-umami-event-label="Axios" ) Axios(HTTP client) li a.rounded-sm.text-nls-green.transition.underline-offset-2.underline( @@ -341,7 +416,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="frontend technologies" + data-umami-event-label="Lodash" ) Lodash(Utility library) li a.rounded-sm.text-nls-green.transition.underline-offset-2.underline( @@ -349,7 +426,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="frontend technologies" + data-umami-event-label="RxJS" ) RxJS(Reactive programming library) li a.rounded-sm.text-nls-green.transition.underline-offset-2.underline( @@ -357,7 +436,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="frontend technologies" + data-umami-event-label="WebGL" ) WebGL(3D graphics) // endregion // region DevOps @@ -365,6 +446,9 @@ section.bg-nls-black.text-white details.mb-4 summary.rounded-sm.transition.underline-offset-2.mb-2.cursor-pointer.text-md.font-semibold.mb-2.cursor-pointer.text-nls-blue( class="focus:outline-none focus:z-10 focus:ring-4 focus:ring-nls-blue focus:bg-nls-blue focus:text-black focus:no-underline" + data-umami-event="academia clicked" + data-umami-event-category="devops" + data-umami-event-label="collapsible" ) DevOps & Cloud ul.list-disc.list-inside.text-gray-400 li @@ -373,7 +457,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="devops" + data-umami-event-label="Docker" ) Docker | , a.text-nls-blue.transition.underline-offset-2.underline( @@ -381,7 +467,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="devops" + data-umami-event-label="Kubernetes" ) Kubernetes li a.text-nls-blue.transition.underline-offset-2.underline( @@ -389,7 +477,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="devops" + data-umami-event-label="Azure" ) Azure | , a.text-nls-blue.transition.underline-offset-2.underline( @@ -397,7 +487,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="devops" + data-umami-event-label="Google" ) Google Cloud li | CI/CD ( @@ -406,7 +498,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="devops" + data-umami-event-label="Jenkins" ) Jenkins | , a.text-nls-blue.transition.underline-offset-2.underline( @@ -414,7 +508,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="devops" + data-umami-event-label="GitLab" ) GitLab CI | , a.text-nls-blue.transition.underline-offset-2.underline( @@ -422,7 +518,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="devops" + data-umami-event-label="GitHub" ) GitHub Actions | ) li @@ -431,7 +529,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="devops" + data-umami-event-label="Terraform" ) Terraform li | Monitoring ( @@ -440,7 +540,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="devops" + data-umami-event-label="Prometheus" ) Prometheus | , a.text-nls-blue.transition.underline-offset-2.underline( @@ -448,7 +550,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="devops" + data-umami-event-label="Grafana" ) Grafana | ) li @@ -457,7 +561,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="devops" + data-umami-event-label="Apache" ) Apache | , a.text-nls-blue.transition.underline-offset-2.underline( @@ -465,7 +571,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="devops" + data-umami-event-label="Nginx" ) Nginx li | Message Queuing: @@ -474,7 +582,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="devops" + data-umami-event-label="Kafka" ) Kafka li a.text-nls-blue.transition.underline-offset-2.underline( @@ -482,7 +592,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="devops" + data-umami-event-label="Sonarqube" ) Sonarqube li a.text-nls-blue.transition.underline-offset-2.underline( @@ -490,7 +602,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="devops" + data-umami-event-label="Sentry" ) Sentry(Error tracking) li a.text-nls-blue.transition.underline-offset-2.underline( @@ -498,7 +612,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="devops" + data-umami-event-label="Lighthouse" ) Lighthouse(Performance, accessibility, and SEO auditing) li a.text-nls-blue.transition.underline-offset-2.underline( @@ -506,7 +622,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="devops" + data-umami-event-label="WebPageTest" ) WebPageTest(Performance testing) li a.text-nls-blue.transition.underline-offset-2.underline( @@ -514,7 +632,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="devops" + data-umami-event-label="Puppeteer" ) Puppeteer(Headless browser automation) li a.text-nls-blue.transition.underline-offset-2.underline( @@ -522,7 +642,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="devops" + data-umami-event-label="Selenium" ) Selenium(Browser automation) li a.text-nls-blue.transition.underline-offset-2.underline( @@ -530,7 +652,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="devops" + data-umami-event-label="Nx" ) Nx(Monorepo tooling) // endregion // region Backend @@ -538,6 +662,9 @@ section.bg-nls-black.text-white details.mb-4 summary.rounded-sm.transition.underline-offset-2.mb-2.cursor-pointer.text-md.font-semibold.mb-2.cursor-pointer.text-nls-violet( class="focus:outline-none focus:z-10 focus:ring-4 focus:ring-nls-violet focus:bg-nls-violet focus:text-black focus:no-underline" + data-umami-event="academia clicked" + data-umami-event-category="backend technologies" + data-umami-event-label="collapsible" ) Backend Technologies ul.list-disc.list-inside.text-gray-400 li @@ -546,7 +673,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="backend technologies" + data-umami-event-label="Node" ) Node.js | , a.text-nls-violet.transition.underline-offset-2.underline( @@ -554,7 +683,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="backend technologies" + data-umami-event-label="Express" ) Express.js li a.text-nls-violet.transition.underline-offset-2.underline( @@ -562,7 +693,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="backend technologies" + data-umami-event-label="PHP" ) PHP | , a.text-nls-violet.transition.underline-offset-2.underline( @@ -570,7 +703,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="backend technologies" + data-umami-event-label="Laravel" ) Laravel | , a.text-nls-violet.transition.underline-offset-2.underline( @@ -578,7 +713,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="backend technologies" + data-umami-event-label="Symfony" ) Symfony li a.text-nls-violet.transition.underline-offset-2.underline( @@ -586,7 +723,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="backend technologies" + data-umami-event-label="Java" ) Java | , a.text-nls-violet.transition.underline-offset-2.underline( @@ -594,7 +733,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="backend technologies" + data-umami-event-label="Spring" ) Spring Boot | , a.text-nls-violet.transition.underline-offset-2.underline( @@ -602,7 +743,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="backend technologies" + data-umami-event-label="Quarkus" ) Quarkus li a.text-nls-violet.transition.underline-offset-2.underline( @@ -610,7 +753,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="backend technologies" + data-umami-event-label="Python" ) Python | , a.text-nls-violet.transition.underline-offset-2.underline( @@ -618,7 +763,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="backend technologies" + data-umami-event-label="Django" ) Django | , a.text-nls-violet.transition.underline-offset-2.underline( @@ -626,7 +773,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="backend technologies" + data-umami-event-label="Flask" ) Flask | , a.text-nls-violet.transition.underline-offset-2.underline( @@ -634,7 +783,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="backend technologies" + data-umami-event-label="FastAPI" ) FastAPI li a.text-nls-violet.transition.underline-offset-2.underline( @@ -642,7 +793,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="backend technologies" + data-umami-event-label="Go" ) Go | , a.text-nls-violet.transition.underline-offset-2.underline( @@ -650,7 +803,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="backend technologies" + data-umami-event-label="Rust" ) Rust li a.text-nls-violet.transition.underline-offset-2.underline( @@ -658,7 +813,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="backend technologies" + data-umami-event-label="RESTful" ) RESTful APIs | , a.text-nls-violet.transition.underline-offset-2.underline( @@ -666,7 +823,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="backend technologies" + data-umami-event-label="GraphQL" ) GraphQL li a.text-nls-violet.transition.underline-offset-2.underline( @@ -674,7 +833,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="backend technologies" + data-umami-event-label="Hono" ) Hono li | Runtimes: @@ -683,7 +844,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="backend technologies" + data-umami-event-label="Bun" ) Bun | , a.text-nls-violet.transition.underline-offset-2.underline( @@ -691,7 +854,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="backend technologies" + data-umami-event-label="Deno" ) Deno li a.text-nls-violet.transition.underline-offset-2.underline( @@ -699,7 +864,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="backend technologies" + data-umami-event-label="NestJS" ) NestJS(Node.js framework) li a.text-nls-violet.transition.underline-offset-2.underline( @@ -707,7 +874,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="backend technologies" + data-umami-event-label="Fastify" ) Fastify(Node.js framework) li a.text-nls-violet.transition.underline-offset-2.underline( @@ -715,7 +884,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="backend technologies" + data-umami-event-label="TypeORM" ) TypeORM(ORM for TypeScript) li a.text-nls-violet.transition.underline-offset-2.underline( @@ -723,7 +894,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="backend technologies" + data-umami-event-label="Prisma" ) Prisma(Database toolkit) li a.text-nls-violet.transition.underline-offset-2.underline( @@ -731,7 +904,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="backend technologies" + data-umami-event-label="Knex" ) Knex.js(SQL query builder) // endregion // region Data @@ -739,6 +914,9 @@ section.bg-nls-black.text-white details.mb-4 summary.rounded-sm.transition.underline-offset-2.mb-2.cursor-pointer.text-md.font-semibold.mb-2.cursor-pointer.text-nls-purple( class="focus:outline-none focus:z-10 focus:ring-4 focus:ring-nls-purple focus:bg-nls-purple focus:text-black focus:no-underline" + data-umami-event="academia clicked" + data-umami-event-category="databases" + data-umami-event-label="collapsible" ) Database & Data ul.list-disc.list-inside.text-gray-400 li @@ -748,14 +926,18 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="databases" + data-umami-event-label="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" + data-umami-event="academia clicked" + data-umami-event-category="databases" + data-umami-event-label="PostgreSQL" ) PostgreSQL | ) li @@ -765,7 +947,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="databases" + data-umami-event-label="MongoDB" ) MongoDB | , a.text-nls-purple.transition.underline-offset-2.underline( @@ -773,7 +957,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="databases" + data-umami-event-label="Cassandra" ) Cassandra | , a.text-nls-purple.transition.underline-offset-2.underline( @@ -781,7 +967,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="databases" + data-umami-event-label="Redis" ) Redis | ) li @@ -790,7 +978,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="databases" + data-umami-event-label="Elasticsearch" ) Elasticsearch li Data Analysis & Visualization // endregion @@ -799,6 +989,9 @@ section.bg-nls-black.text-white details.mb-4 summary.rounded-sm.transition.underline-offset-2.mb-2.cursor-pointer.text-md.font-semibold.mb-2.cursor-pointer.text-nls-pink( class="focus:outline-none focus:z-10 focus:ring-4 focus:ring-nls-pink focus:bg-nls-pink focus:text-black focus:no-underline" + data-umami-event="academia clicked" + data-umami-event-category="cross-platform" + data-umami-event-label="collapsible" ) Cross-Platform Development ul.list-disc.list-inside.text-gray-400 li @@ -808,7 +1001,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="cross-platform" + data-umami-event-label="Electron" ) Electron | , a.text-nls-pink.transition.underline-offset-2.underline( @@ -816,7 +1011,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="cross-platform" + data-umami-event-label="Tauri" ) Tauri li | Mobile Apps: @@ -825,7 +1022,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="cross-platform" + data-umami-event-label="React" ) React Native | , a.text-nls-pink.transition.underline-offset-2.underline( @@ -833,7 +1032,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="cross-platform" + data-umami-event-label="Flutter" ) Flutter | , a.text-nls-pink.transition.underline-offset-2.underline( @@ -841,7 +1042,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="cross-platform" + data-umami-event-label="Cordova" ) Cordova li a.text-nls-pink.transition.underline-offset-2.underline( @@ -849,7 +1052,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="cross-platform" + data-umami-event-label="Progressive" ) Progressive Web Apps (PWAs) // endregion // region Best Practices @@ -857,6 +1062,9 @@ section.bg-nls-black.text-white details.mb-4 summary.rounded-sm.transition.underline-offset-2.mb-2.cursor-pointer.text-md.font-semibold.mb-2.cursor-pointer.text-nls-red( class="focus:outline-none focus:z-10 focus:ring-4 focus:ring-nls-red focus:bg-nls-red focus:text-black focus:no-underline" + data-umami-event="academia clicked" + data-umami-event-category="best practices" + data-umami-event-label="collapsible" ) Development Best Practices ul.list-disc.list-inside.text-gray-400 li @@ -865,7 +1073,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="best practices" + data-umami-event-label="Accessibility" ) Accessibility (a11y): WCAG | , a.text-nls-red.transition.underline-offset-2.underline( @@ -873,7 +1083,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="best practices" + data-umami-event-label="ARIA" ) ARIA li | Internationalization (i18n): @@ -882,7 +1094,9 @@ section.bg-nls-black.text-white class="hover:text-white hover:decoration-2", title="Internationalization framework", aria-label="Internationalization framework" - data-umami-event="i18next" + data-umami-event="academia clicked" + data-umami-event-category="best practices" + data-umami-event-label="i18next" ) i18next | , a.text-nls-red.transition.underline-offset-2.underline( @@ -890,7 +1104,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="best practices" + data-umami-event-label="Weblate" ) Weblate | , a.text-nls-red.transition.underline-offset-2.underline( @@ -898,7 +1114,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="best practices" + data-umami-event-label="Localize" ) Localize li Performance Optimization li SEO Best Practices @@ -908,7 +1126,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="best practices" + data-umami-event-label="Web" ) Web Security (OWASP) // endregion // region Tracking @@ -916,6 +1136,9 @@ section.bg-nls-black.text-white details.mb-4 summary.rounded-sm.transition.underline-offset-2.mb-2.cursor-pointer.text-md.font-semibold.mb-2.cursor-pointer.text-nls-orange( class="focus:outline-none focus:z-10 focus:ring-4 focus:ring-nls-orange focus:bg-nls-orange focus:text-black focus:no-underline" + data-umami-event="academia clicked" + data-umami-event-category="tracking" + data-umami-event-label="collapsible" ) Analytics & Tracking ul.list-disc.list-inside.text-gray-400 li @@ -924,7 +1147,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="tracking" + data-umami-event-label="Umami" ) Umami li a.text-nls-orange.transition.underline-offset-2.underline( @@ -932,7 +1157,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="tracking" + data-umami-event-label="Google" ) Google Analytics li a.text-nls-orange.transition.underline-offset-2.underline( @@ -940,7 +1167,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="tracking" + data-umami-event-label="Amplitude" ) Amplitude li a.text-nls-orange.transition.underline-offset-2.underline( @@ -948,7 +1177,9 @@ 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" + data-umami-event="academia clicked" + data-umami-event-category="tracking" + data-umami-event-label="Hotjar" ) Hotjar // endregion // endregion