← Home

🔗

⌘K
ðŸĪ–
Claude Code AI Tools
ðŸĪ—
Hugging Face AI Tools
ðŸĶœ
LangChain AI Tools
🧠
Keras AI Tools
ðŸĶ™
Ollama AI Tools
🐍
Python Programming Languages
ðŸŸĻ
JavaScript Programming Languages
🔷
TypeScript Programming Languages
⚛ïļ
React Programming Languages
ðŸđ
Go Programming Languages
ðŸĶ€
Rust Programming Languages
📊
MATLAB Programming Languages
🗄ïļ
SQL Programming Languages
⚙ïļ
C/C++ Programming Languages
☕
Java Programming Languages
ðŸŸĢ
C# Programming Languages
🍎
Swift Programming Languages
🟠
Kotlin Programming Languages
â–ē
Next.js Programming Languages
💚
Vue.js Programming Languages
ðŸ”Ĩ
Svelte Programming Languages
ðŸŽĻ
Tailwind CSS Programming Languages
💚
Node.js Programming Languages
🌐
HTML Programming Languages
ðŸŽĻ
CSS/SCSS Programming Languages
🐘
PHP Programming Languages
💎
Ruby Programming Languages
ðŸ”ī
Scala Programming Languages
📊
R Programming Languages
ðŸŽŊ
Dart Programming Languages
💧
Elixir Programming Languages
🌙
Lua Programming Languages
🐊
Perl Programming Languages
🅰ïļ
Angular Programming Languages
🚂
Express.js Programming Languages
ðŸą
NestJS Programming Languages
ðŸ›Īïļ
Ruby on Rails Programming Languages
◾ïļ
GraphQL Programming Languages
🟊
Haskell Programming Languages
💚
Nuxt.js Programming Languages
🔷
SolidJS Programming Languages
⚡
htmx Programming Languages
ðŸ’ŧ
VS Code Development Tools
🧠
PyCharm Development Tools
📓
Jupyter Development Tools
🧠
IntelliJ IDEA Development Tools
💚
Neovim Development Tools
ðŸ”Ū
Emacs Development Tools
🔀
Git DevOps & CLI
ðŸģ
Docker DevOps & CLI
â˜ļïļ
Kubernetes DevOps & CLI
☁ïļ
AWS CLI DevOps & CLI
🔄
GitHub Actions DevOps & CLI
🐧
Linux Commands DevOps & CLI
ðŸ’ŧ
Bash Scripting DevOps & CLI
🌐
Nginx DevOps & CLI
📝
Vim DevOps & CLI
ðŸ”Ļ
Makefile DevOps & CLI
🧊
Pytest DevOps & CLI
🊟
Windows DevOps & CLI
ðŸ“Ķ
Package Managers DevOps & CLI
🍎
macOS DevOps & CLI
🏗ïļ
Terraform DevOps & CLI
🔧
Ansible DevOps & CLI
⎈
Helm DevOps & CLI
ðŸ”Ļ
Jenkins DevOps & CLI
ðŸ”Ĩ
Prometheus DevOps & CLI
📊
Grafana DevOps & CLI
ðŸ’ŧ
Zsh DevOps & CLI
🐟
Fish Shell DevOps & CLI
💙
PowerShell DevOps & CLI
🔄
Argo CD DevOps & CLI
🔀
Traefik DevOps & CLI
☁ïļ
Azure CLI DevOps & CLI
☁ïļ
Google Cloud CLI DevOps & CLI
📟
tmux DevOps & CLI
🔧
jq DevOps & CLI
✂ïļ
sed DevOps & CLI
📊
awk DevOps & CLI
🌊
Apache Airflow DevOps & CLI
ðŸ”Ē
NumPy Databases & Data
🐞
Pandas Databases & Data
ðŸ”Ĩ
PyTorch Databases & Data
🧠
TensorFlow Databases & Data
📈
Matplotlib Databases & Data
🐘
PostgreSQL Databases & Data
🐎
MySQL Databases & Data
🍃
MongoDB Databases & Data
ðŸ”ī
Redis Databases & Data
🔍
Elasticsearch Databases & Data
ðŸĪ–
Scikit-learn Databases & Data
👁ïļ
OpenCV Databases & Data
⚡
Apache Spark Databases & Data
ðŸŠķ
SQLite Databases & Data
⚡
Supabase Databases & Data
ðŸ”ĩ
Neo4j Databases & Data
ðŸ“Ļ
Apache Kafka Databases & Data
🐰
RabbitMQ Databases & Data
ðŸ”Ī
Regex Utilities
📝
Markdown Utilities
📄
LaTeX Utilities
🔐
SSH & GPG Utilities
🌐
curl & HTTP Utilities
📜
reStructuredText Utilities
🚀
Postman Utilities
🎎
FFmpeg Utilities
🖞ïļ
ImageMagick Utilities
🔍
ripgrep Utilities
🔍
fzf Utilities
📗
Microsoft Excel Office Applications
📘
Microsoft Word Office Applications
📙
Microsoft PowerPoint Office Applications
📝
Hancom Hangul Hancom Office
ðŸ“―ïļ
Hancom Hanshow Hancom Office
📊
Hancom Hancell Hancom Office
📄
Google Docs Google Workspace
📊
Google Sheets Google Workspace
ðŸ“―ïļ
Google Slides Google Workspace
🔌
Cadence Virtuoso EDA & Hardware
⚙ïļ
Synopsys EDA EDA & Hardware
💎
Verilog & VHDL EDA & Hardware
⚡
LTSpice EDA & Hardware
🔧
KiCad EDA & Hardware
📝
Notion Productivity
💎
Obsidian Productivity
💎
Slack Productivity
ðŸŽŪ
Discord Productivity
ðŸŽĻ
Figma Design Tools
📘
Confluence Atlassian
📋
Jira Atlassian
🃏
Jest Testing
⚡
Vitest Testing
🎭
Playwright Testing
ðŸŒē
Cypress Testing
🌐
Selenium Testing
💙
Flutter Mobile Development
ðŸ“ą
React Native Mobile Development
🍎
SwiftUI Mobile Development
ðŸ“ą
Expo Mobile Development
🐍
Django Web Frameworks
⚡
FastAPI Web Frameworks
ðŸŒķïļ
Flask Web Frameworks
🍃
Spring Boot Web Frameworks
ðŸļ
Gin Web Frameworks
⚡
Vite Build Tools
ðŸ“Ķ
Webpack Build Tools
⚡
esbuild Build Tools
🐘
Gradle Build Tools
ðŸŠķ
Maven Build Tools
🔧
CMake Build Tools
ðŸŽŪ
Unity Game Development
ðŸĪ–
Godot Game Development
🔌
Arduino Embedded & IoT
🔍
Nmap Security
🐕
Datadog Monitoring
📖
Swagger/OpenAPI Documentation
No results found
EN KO

Basics

Installation

Include htmx
<!-- CDN -->
<script src="https://unpkg.com/htmx.org@1.9.10"></script>

<!-- NPM -->
npm install htmx.org

<!-- ESM -->
import htmx from 'htmx.org';

Core Attributes

HTTP requests
<!-- GET request -->
<button hx-get="/api/data">Load Data</button>

<!-- POST request -->
<form hx-post="/api/submit">
  <input name="email" type="email">
  <button type="submit">Submit</button>
</form>

<!-- PUT request -->
<button hx-put="/api/item/1">Update</button>

<!-- PATCH request -->
<button hx-patch="/api/item/1">Patch</button>

<!-- DELETE request -->
<button hx-delete="/api/item/1">Delete</button>

Targeting

Target & Swap

hx-target
<!-- Target by ID -->
<button hx-get="/data" hx-target="#result">Load</button>
<div id="result"></div>

<!-- Target selectors -->
hx-target="this"              <!-- Current element -->
hx-target="closest div"       <!-- Closest ancestor -->
hx-target="next .item"        <!-- Next sibling -->
hx-target="previous .item"    <!-- Previous sibling -->
hx-target="find .child"       <!-- Child element -->
hx-swap
<!-- Swap strategies -->
hx-swap="innerHTML"      <!-- Replace inner HTML (default) -->
hx-swap="outerHTML"      <!-- Replace entire element -->
hx-swap="beforebegin"    <!-- Insert before element -->
hx-swap="afterbegin"     <!-- Insert at start of element -->
hx-swap="beforeend"      <!-- Insert at end of element -->
hx-swap="afterend"       <!-- Insert after element -->
hx-swap="delete"         <!-- Delete element -->
hx-swap="none"           <!-- No swap -->

<!-- With modifiers -->
hx-swap="innerHTML swap:1s"      <!-- Wait 1s before swap -->
hx-swap="innerHTML settle:500ms" <!-- Settle delay -->
hx-swap="innerHTML scroll:top"   <!-- Scroll to top after swap -->

Triggers

hx-trigger

Event triggers
<!-- Default: click for buttons, submit for forms -->
<button hx-get="/api">Click me</button>

<!-- Custom events -->
hx-trigger="click"           <!-- On click -->
hx-trigger="mouseenter"      <!-- On hover -->
hx-trigger="keyup"           <!-- On keyup -->
hx-trigger="load"            <!-- On element load -->
hx-trigger="revealed"        <!-- When scrolled into view -->
hx-trigger="intersect"       <!-- Intersection observer -->

<!-- Modifiers -->
hx-trigger="click once"              <!-- Only once -->
hx-trigger="keyup changed delay:500ms" <!-- Debounce -->
hx-trigger="keyup throttle:500ms"     <!-- Throttle -->
hx-trigger="click from:body"         <!-- Event from body -->
hx-trigger="every 2s"                <!-- Polling -->
Form triggers
<!-- Search as you type -->
<input type="search"
       name="q"
       hx-get="/search"
       hx-trigger="keyup changed delay:300ms"
       hx-target="#results">
<div id="results"></div>

<!-- Infinite scroll -->
<div hx-get="/items?page=2"
     hx-trigger="revealed"
     hx-swap="afterend">
  Loading more...
</div>

Forms

Form Handling

Form submission
<!-- Basic form -->
<form hx-post="/api/users" hx-target="#message">
  <input name="name" required>
  <input name="email" type="email" required>
  <button type="submit">Create User</button>
</form>
<div id="message"></div>

<!-- Include extra values -->
<form hx-post="/submit" hx-vals='{"extra": "data"}'>
  ...
</form>

<!-- Include values from other elements -->
<form hx-post="/submit" hx-include="[name='csrf']">
  ...
</form>
<input type="hidden" name="csrf" value="token123">

Indicators

Loading States

Request indicator
<!-- Loading indicator -->
<button hx-get="/slow-request" hx-indicator="#spinner">
  Load Data
</button>
<span id="spinner" class="htmx-indicator">Loading...</span>

<style>
.htmx-indicator {
  display: none;
}
.htmx-request .htmx-indicator {
  display: inline;
}
.htmx-request.htmx-indicator {
  display: inline;
}
</style>

<!-- Disable button during request -->
<button hx-get="/api" hx-disabled-elt="this">
  Click me
</button>

Headers & Validation

Request Configuration

Headers
<!-- Add custom headers -->
<button hx-get="/api"
        hx-headers='{"X-Custom-Header": "value"}'>
  Load
</button>

<!-- Confirm before request -->
<button hx-delete="/item/1"
        hx-confirm="Are you sure?">
  Delete
</button>

<!-- Validation -->
<form hx-post="/submit"
      hx-validate="true">
  <input name="email" type="email" required>
  <button type="submit">Submit</button>
</form>
Response headers
<!-- Server can control htmx via headers -->
HX-Redirect: /new-page       <!-- Redirect -->
HX-Refresh: true             <!-- Refresh page -->
HX-Retarget: #other          <!-- Change target -->
HX-Reswap: outerHTML         <!-- Change swap -->
HX-Trigger: myEvent          <!-- Trigger event -->
HX-Push-Url: /new-url        <!-- Push to history -->

Events

JavaScript Events

Event handling
// Listen to htmx events
document.body.addEventListener("htmx:beforeRequest", (e) => {
  console.log("Request starting", e.detail);
});

document.body.addEventListener("htmx:afterSwap", (e) => {
  console.log("Content swapped", e.detail);
});

document.body.addEventListener("htmx:responseError", (e) => {
  console.log("Error", e.detail.xhr.status);
});

// Key events:
// htmx:configRequest - Before request is configured
// htmx:beforeRequest - Before request is sent
// htmx:afterRequest - After request completes
// htmx:beforeSwap - Before content is swapped
// htmx:afterSwap - After content is swapped
// htmx:afterSettle - After settling is complete