Headless WordPress: What It Is, Pros and Cons, and How to Start
Headless WordPress explained: using WordPress as a content API with a Next.js, Astro or Nuxt front end. How the REST API and WPGraphQL work, the real pros and cons, and when it's worth it.
https://markodenic.com/headless-wordpress/
Headless WordPress explained: using WordPress as a content API with a Next.js, Astro or Nuxt front end. How the REST API and WPGraphQL work, the real pros and cons, and when it's worth it.
https://markodenic.com/headless-wordpress/
Marko Denic - Web Developer
Headless WordPress: What It Is, Pros and Cons, and How to Start - Marko Denic
Headless WordPress explained: using WordPress as a content API with a Next.js, Astro or Nuxt front end. How the REST API and WPGraphQL work, the real pros and cons, and when it's worth it.
π₯2
CSS radial-gradient(): Syntax and Examples
How CSS radial-gradient() works: circle vs ellipse, size keywords, position, color stops, repeating gradients, and copy-paste examples for glows, spotlights, dot patterns and vignettes.
https://markodenic.com/radial-gradient-css/
How CSS radial-gradient() works: circle vs ellipse, size keywords, position, color stops, repeating gradients, and copy-paste examples for glows, spotlights, dot patterns and vignettes.
https://markodenic.com/radial-gradient-css/
Marko Denic - Web Developer
CSS radial-gradient(): Syntax and Examples - Marko Denic
How CSS radial-gradient() works: circle vs ellipse, size keywords, position, color stops, repeating gradients, and copy-paste examples for glows, spotlights, dot patterns and vignettes.
β€1
npm uninstall: How to Remove (and Update) npm Packages
How to uninstall npm packages: local, dev and global packages, several at once, everything in node_modules, finding unused dependencies, plus how to update all packages and the yarn and pnpm equivalents.
https://markodenic.com/npm-uninstall-package/
How to uninstall npm packages: local, dev and global packages, several at once, everything in node_modules, finding unused dependencies, plus how to update all packages and the yarn and pnpm equivalents.
https://markodenic.com/npm-uninstall-package/
Marko Denic - Web Developer
npm uninstall: How to Remove (and Update) npm Packages - Marko Denic
How to uninstall npm packages: local, dev and global packages, several at once, everything in node_modules, finding unused dependencies, plus how to update all packages and the yarn and pnpm equivalents.
β€2
window.opener and target="_blank": The Tabnabbing Risk Explained
What window.opener is, how reverse tabnabbing attacks used target="_blank" links, why rel="noopener" fixes it, what browsers do by default today, and how popups like OAuth logins should communicate instead.
https://markodenic.com/window-opener/
What window.opener is, how reverse tabnabbing attacks used target="_blank" links, why rel="noopener" fixes it, what browsers do by default today, and how popups like OAuth logins should communicate instead.
https://markodenic.com/window-opener/
Marko Denic - Web Developer
window.opener and target=β_blankβ: The Tabnabbing Risk Explained - Marko Denic
What window.opener is, how reverse tabnabbing attacks used target="_blank" links, why rel="noopener" fixes it, what browsers do by default today, and how popups like OAuth logins should communicate instead.
How to Check and Update Your Node Version (Windows, Mac, Linux)
Check your Node.js version with node -v, then update it with nvm, fnm, winget, Homebrew or apt. Plus which version to run in late 2026 and how to pin it per project.
https://markodenic.com/check-node-version/
Check your Node.js version with node -v, then update it with nvm, fnm, winget, Homebrew or apt. Plus which version to run in late 2026 and how to pin it per project.
https://markodenic.com/check-node-version/
Marko Denic - Web Developer
How to Check and Update Your Node Version (Windows, Mac, Linux) - Marko Denic
Check your Node.js version with node -v, then update it with nvm, fnm, winget, Homebrew or apt. Plus which version to run in late 2026 and how to pin it per project.
Gitignore Generator
Free .gitignore generator. Pick your stack (Node.js, Next.js, Laravel, WordPress, Python, Go and 35+ more), combine templates, add your own rules, then copy or download the file.
https://markodenic.com/tools/gitignore-generator/
Free .gitignore generator. Pick your stack (Node.js, Next.js, Laravel, WordPress, Python, Go and 35+ more), combine templates, add your own rules, then copy or download the file.
https://markodenic.com/tools/gitignore-generator/
Marko Denic - Web Developer
Gitignore Generator - Marko Denic
Free .gitignore generator. Pick your stack (Node.js, Next.js, Laravel, WordPress, Python, Go and 35+ more), combine templates, add your own rules, then copy or download the file.
π₯1
301 Redirects in .htaccess: Copy-Paste Examples
Every 301 redirect you'll need in .htaccess: single pages, folders, whole domains, HTTP to HTTPS, www to non-www, trailing slashes and regex patterns, plus testing them and doing it right in WordPress.
https://markodenic.com/htaccess-301-redirect/
Every 301 redirect you'll need in .htaccess: single pages, folders, whole domains, HTTP to HTTPS, www to non-www, trailing slashes and regex patterns, plus testing them and doing it right in WordPress.
https://markodenic.com/htaccess-301-redirect/
Marko Denic - Web Developer
301 Redirects in .htaccess: Copy-Paste Examples - Marko Denic
Every 301 redirect you'll need in .htaccess: single pages, folders, whole domains, HTTP to HTTPS, www to non-www, trailing slashes and regex patterns, plus testing them and doing it right in WordPress.
β€2
Neon Text Effect in CSS (Glowing Text)
Create glowing neon text with CSS text-shadow: a classic neon sign, a flickering neon animation and different neon colors. Copy-paste code.
https://markodenic.com/snippets/css/neon-text/
Create glowing neon text with CSS text-shadow: a classic neon sign, a flickering neon animation and different neon colors. Copy-paste code.
https://markodenic.com/snippets/css/neon-text/
Marko Denic - Web Developer
Neon Text Effect in CSS (Glowing Text) | Marko Denic
Create glowing neon text with CSS text-shadow: a classic neon sign, a flickering neon animation and different neon colors. Copy-paste code.
π₯1
How to Comment in HTML (Single-Line, Multi-Line and Shortcuts)
How to write comments in HTML with <!-- -->: single-line and multi-line comments, commenting out code, the keyboard shortcut, what you cannot put inside a comment, and comments in JSX, Vue and PHP.
https://markodenic.com/html-comments/
How to write comments in HTML with <!-- -->: single-line and multi-line comments, commenting out code, the keyboard shortcut, what you cannot put inside a comment, and comments in JSX, Vue and PHP.
https://markodenic.com/html-comments/
Marko Denic - Web Developer
How to Comment in HTML (Single-Line, Multi-Line and Shortcuts) - Marko Denic
How to write comments in HTML with <!-- -->: single-line and multi-line comments, commenting out code, the keyboard shortcut, what you cannot put inside a comment, and comments in JSX, Vue and PHP.
β€1π₯1
CSS Hamburger Menu: Icon, Animation and Accessible Toggle
Build a hamburger menu with CSS: the three-line icon, the animation to an X, a CSS-only toggle, the accessible button version with a few lines of JavaScript, and showing it only on mobile.
https://markodenic.com/css-hamburger-menu/
Build a hamburger menu with CSS: the three-line icon, the animation to an X, a CSS-only toggle, the accessible button version with a few lines of JavaScript, and showing it only on mobile.
https://markodenic.com/css-hamburger-menu/
Marko Denic - Web Developer
CSS Hamburger Menu: Icon, Animation and Accessible Toggle - Marko Denic
Build a hamburger menu with CSS: the three-line icon, the animation to an X, a CSS-only toggle, the accessible button version with a few lines of JavaScript, and showing it only on mobile.
How to Convert a String to a Number in JavaScript
Convert a string to a number in JavaScript with Number(), parseInt(), parseFloat() and unary plus. Which one to use, a comparison table of edge cases, and how to validate, handle BigInt and money.
https://markodenic.com/javascript-string-to-number/
Convert a string to a number in JavaScript with Number(), parseInt(), parseFloat() and unary plus. Which one to use, a comparison table of edge cases, and how to validate, handle BigInt and money.
https://markodenic.com/javascript-string-to-number/
Marko Denic - Web Developer
How to Convert a String to a Number in JavaScript - Marko Denic
Convert a string to a number in JavaScript with Number(), parseInt(), parseFloat() and unary plus. Which one to use, a comparison table of edge cases, and how to validate, handle BigInt and money.
π₯2
HTML blockquote: How to Quote Text (and Style It with CSS)
How to use the HTML blockquote element correctly: the cite attribute, attribution with figure and figcaption, inline quotes with q, and three ways to style a blockquote with CSS.
https://markodenic.com/html-blockquote/
How to use the HTML blockquote element correctly: the cite attribute, attribution with figure and figcaption, inline quotes with q, and three ways to style a blockquote with CSS.
https://markodenic.com/html-blockquote/
Marko Denic - Web Developer
HTML blockquote: How to Quote Text (and Style It with CSS) - Marko Denic
How to use the HTML blockquote element correctly: the cite attribute, attribution with figure and figcaption, inline quotes with q, and three ways to style a blockquote with CSS.
Flip an Image with CSS (Horizontally and Vertically)
Flip or mirror an image with CSS: horizontally with scaleX(-1), vertically with scaleY(-1), on hover, and the 3D card flip. One-line copy-paste code.
https://markodenic.com/snippets/css/flip-image/
Flip or mirror an image with CSS: horizontally with scaleX(-1), vertically with scaleY(-1), on hover, and the 3D card flip. One-line copy-paste code.
https://markodenic.com/snippets/css/flip-image/
Marko Denic - Web Developer
Flip an Image with CSS (Horizontally and Vertically) | Marko Denic
Flip or mirror an image with CSS: horizontally with scaleX(-1), vertically with scaleY(-1), on hover, and the 3D card flip. One-line copy-paste code.
π₯2
CSS scrollbar-gutter: Stop Layout Shift When the Scrollbar Appears
Stop your layout from jumping sideways when the scrollbar appears. One line of CSS, scrollbar-gutter: stable, reserves the space ahead of time.
https://markodenic.com/snippets/css/scrollbar-gutter/
Stop your layout from jumping sideways when the scrollbar appears. One line of CSS, scrollbar-gutter: stable, reserves the space ahead of time.
https://markodenic.com/snippets/css/scrollbar-gutter/
Marko Denic - Web Developer
CSS scrollbar-gutter: Stop Layout Shift When the Scrollbar Appears | Marko Denic
Stop your layout from jumping sideways when the scrollbar appears. One line of CSS, scrollbar-gutter: stable, reserves the space ahead of time.
π1
JavaScript typeof Operator: Every Result and Its Quirks
How typeof works in JavaScript: the 8 possible results, the famous quirks (typeof null, arrays, NaN), checking for undefined safely, and the right way to test for arrays, null and objects.
https://markodenic.com/javascript-typeof/
How typeof works in JavaScript: the 8 possible results, the famous quirks (typeof null, arrays, NaN), checking for undefined safely, and the right way to test for arrays, null and objects.
https://markodenic.com/javascript-typeof/
Marko Denic - Web Developer
JavaScript typeof Operator: Every Result and Its Quirks - Marko Denic
How typeof works in JavaScript: the 8 possible results, the famous quirks (typeof null, arrays, NaN), checking for undefined safely, and the right way to test for arrays, null and objects.
π₯1
How to Serve Markdown to AI Agents (and Why)
Serve clean Markdown to AI agents with .md URLs and Accept: text/markdown content negotiation. Tested Node code, plus the caching trap to avoid.
https://markodenic.com/serve-markdown-to-ai-agents/
Serve clean Markdown to AI agents with .md URLs and Accept: text/markdown content negotiation. Tested Node code, plus the caching trap to avoid.
https://markodenic.com/serve-markdown-to-ai-agents/
Marko Denic - Web Developer
How to Serve Markdown to AI Agents (and Why) - Marko Denic
Serve clean Markdown to AI agents with .md URLs and Accept: text/markdown content negotiation. Tested Node code, plus the caching trap to avoid.
π₯1
Striped Backgrounds in CSS (Horizontal, Vertical, Diagonal)
Create striped backgrounds with pure CSS gradients: horizontal, vertical and diagonal stripes, pinstripes, zebra-striped tables and an animated striped progress bar. Copy-paste examples.
https://markodenic.com/css-striped-background/
Create striped backgrounds with pure CSS gradients: horizontal, vertical and diagonal stripes, pinstripes, zebra-striped tables and an animated striped progress bar. Copy-paste examples.
https://markodenic.com/css-striped-background/
Marko Denic - Web Developer
Striped Backgrounds in CSS (Horizontal, Vertical, Diagonal) - Marko Denic
Create striped backgrounds with pure CSS gradients: horizontal, vertical and diagonal stripes, pinstripes, zebra-striped tables and an animated striped progress bar. Copy-paste examples.
β€1
How to Add a Seasonal Theme to Your Website (Halloween Example)
Add a Halloween or holiday theme that turns itself on and off by date: a server-side date check, a CSS variable palette swap, decorations that stay out of the way, and reduced-motion support. With a live demo.
https://markodenic.com/seasonal-website-theme/
Add a Halloween or holiday theme that turns itself on and off by date: a server-side date check, a CSS variable palette swap, decorations that stay out of the way, and reduced-motion support. With a live demo.
https://markodenic.com/seasonal-website-theme/
Marko Denic - Web Developer
How to Add a Seasonal Theme to Your Website (Halloween Example) - Marko Denic
Add a Halloween or holiday theme that turns itself on and off by date: a server-side date check, a CSS variable palette swap, decorations that stay out of the way, and reduced-motion support. With a live demo.
π₯1
How to Make Text Italic in HTML (i vs em vs CSS)
Make text italic in HTML: when to use em, when to use i, the other tags that render in italics, the CSS font-style property, and how to remove italics. With examples.
https://markodenic.com/html-italics/
Make text italic in HTML: when to use em, when to use i, the other tags that render in italics, the CSS font-style property, and how to remove italics. With examples.
https://markodenic.com/html-italics/
Marko Denic - Web Developer
How to Make Text Italic in HTML (i vs em vs CSS) - Marko Denic
Make text italic in HTML: when to use em, when to use i, the other tags that render in italics, the CSS font-style property, and how to remove italics. With examples.
β€2
CSS Blur: Blur Text, Images and Backgrounds
Everything you can blur with CSS: images and elements with filter: blur(), frosted glass with backdrop-filter, blurred text and spoilers, and blurred background images without blurry edges.
https://markodenic.com/css-blur/
Everything you can blur with CSS: images and elements with filter: blur(), frosted glass with backdrop-filter, blurred text and spoilers, and blurred background images without blurry edges.
https://markodenic.com/css-blur/
Marko Denic - Web Developer
CSS Blur: Blur Text, Images and Backgrounds - Marko Denic
Everything you can blur with CSS: images and elements with filter: blur(), frosted glass with backdrop-filter, blurred text and spoilers, and blurred background images without blurry edges.
JavaScript Modulo (%): Remainder Operator Explained
How the % operator works in JavaScript: remainders, even and odd checks, why negative numbers give negative results, a true modulo function, and practical uses like wrapping indexes and time formatting.
https://markodenic.com/javascript-modulo/
How the % operator works in JavaScript: remainders, even and odd checks, why negative numbers give negative results, a true modulo function, and practical uses like wrapping indexes and time formatting.
https://markodenic.com/javascript-modulo/
Marko Denic - Web Developer
JavaScript Modulo (%): Remainder Operator Explained - Marko Denic
How the % operator works in JavaScript: remainders, even and odd checks, why negative numbers give negative results, a true modulo function, and practical uses like wrapping indexes and time formatting.
π₯2