Crawler Report for htmx.org

Summary

  • ⛔ Redirects - 19 redirects found.
  • ⛔ 4 page(s) with multiple <h1> headings.
  • ⛔ 2 page(s) without <h1> heading.
  • ⛔ Security - 220 pages(s) with critical finding(s).
  • ⚠️ The description 'htmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react' exceeds the allowed 10% duplicity. 100% of pages have this same description.
  • ⚠️ No WebP image found on the website.
  • ⚠️ No AVIF image found on the website.
  • ⚠️ 16 page(s) with skipped heading levels.
  • ⚠️ 108 page(s) without image alt attributes.
  • ⚠️ 108 page(s) without form labels.
  • ⚠️ 108 page(s) without aria labels.
  • ⚠️ 108 page(s) without role attributes.
  • ⏩ Loaded robots.txt for domain 'htmx.org': status code 200, size 71 B and took 77 ms.
  • ⏩ Loaded robots.txt for domain 'fonts.googleapis.com': status code 200, size 25 B and took 104 ms.
  • ⏩ 404 NOTICE - 2 non-existent page(s) found.
  • ⏩ DNS IPv6: domain htmx.org does not support IPv6 (DNS server: 10.255.255.254).
  • ✅ SSL/TLS certificate is valid until Nov 13 12:26:35 2024 GMT. Issued by C = US, O = Let's Encrypt, CN = E5. Subject is CN = *.htmx.org.
  • ✅ SSL/TLS certificate issued by 'C = US, O = Let's Encrypt, CN = E5'.
  • ✅ Performance OK - all non-media URLs are faster than 3 seconds.
  • ✅ HTTP headers - found 17 unique headers.
  • ✅ All 108 unique title(s) are within the allowed 10% duplicity. Highest duplicity title has 0%.
  • ✅ All pages support Brotli compression.
  • ✅ All pages have quoted attributes.
  • ✅ All pages have inline SVGs smaller than 5120 bytes.
  • ✅ All pages have inline SVGs with less than 5 duplicates.
  • ✅ All pages have valid or none inline SVGs.
  • ✅ All pages have DOM depth less than 30.
  • ✅ All pages have clickable (interactive) phone numbers.
  • ✅ All pages have valid HTML.
  • ✅ All pages have lang attribute.
  • ✅ DNS IPv4 OK: domain htmx.org resolved to 35.156.224.161, 3.72.140.173 (DNS server: 10.255.255.254).
  • 📌 Text report saved to '%path%/siteone-crawler/tmp/htmx.org.output.20240816-190328.txt' and took 1 ms.
  • 📌 JSON report saved to '%path%/siteone-crawler/tmp/htmx.org.output.20240816-190328.json' and took 4 ms.
  • 📌 HTML report saved to '%path%/siteone-crawler/tmp/htmx.org.report.20240816-190328.html' and took 27 ms.

Visited URLs

Found 240 row(s).
URLStatusTypeTime (s)SizeCF-Cache-StatusTitle
/200 HTML110 ms19 kB</> htmx - high power tools for html
/img/Github_Logo.png200 Image101 ms13 kB
/img/ohne-makler.svg200 Image79 ms 2 kB
/examples/200 HTML72 ms 9 kB&lt;/&gt; htmx ~ Examples
/examples/value-select/200 HTML75 ms 12 kB&lt;/&gt; htmx ~ Examples ~ Cascading Selects
/%20https:/deepsource.com404 HTML194 ms68 B404 Not Found
/examples/modal-bootstrap/200 HTML193 ms13 kB&lt;/&gt; htmx ~ Examples ~ Modal Dialogs in Bootstrap
/img/wuw.png200 Image108 ms70 kB
/js/demo.js200 JS61 ms 2 kB
/examples/edit-row/200 HTML189 ms19 kB&lt;/&gt; htmx ~ Examples ~ Edit Row
/img/butter-cms.svg200 Image80 ms 2 kB
/img/commspace.svg200 Image65 ms 2 kB
/img/das-filter.svg200 Image64 ms 835 B
/img/bars.svg200 Image73 ms 279 B
/essays/200 HTML75 ms 12 kB&lt;/&gt; htmx ~ Essays
/img/logo-craft-cms.svg200 Image74 ms 1 kB
/examples/async-auth/200 HTML284 ms9 kB&lt;/&gt; htmx ~ Examples ~ Async Authentication
/essays/mvc/200 HTML73 ms 22 kB&lt;/&gt; htmx ~ Model/View/Controller (MVC)
/img/memes/drakearchitecture.png200 Image177 ms675 kB
/essays/hateoas/200 HTML190 ms22 kB&lt;/&gt; htmx ~ HATEOAS
/img/memes/extinction.png200 Image214 ms2 MB
https://fonts.googleapis.com/css2?family=Lexend+Zetta:wght@900&display=swap&text=HATEOAS200 CSS80 ms 258 B
/img/memes/dontknowwhatclientsideroutingis.png200 Image176 ms410 kB
/img/ins-follow-pro.png200 Image79 ms 2 kB
/examples/sortable/200 HTML74 ms 16 kB&lt;/&gt; htmx ~ Examples ~ Sortable
/server-examples/200 HTML65 ms 19 kB&lt;/&gt; htmx ~ Server-Side Examples
/essays/web-security-basics-with-htmx/200 HTML74 ms 40 kB&lt;/&gt; htmx ~ Web Security Basics (with htmx)
https://fonts.googleapis.com/css2?family=Source+Serif+Pro:ital,wght…0;0,700;1,400;1,700&display=swap200 CSS79 ms 1 kB
https://fonts.googleapis.com/css2?family=Lexend+Zetta:wght@900&display=swap200 CSS87 ms 231 B
/essays/a-real-world-react-to-htmx-port/200 HTML260 ms10 kB&lt;/&gt; htmx ~ A Real World React -> htmx Port
https://fonts.gstatic.com/s/sourceserifpro/v17/neIXzD-0qpwxpaWvjeD0X88SAOeasc8bhSg.woff200 Font117 ms72 kB
https://fonts.gstatic.com/s/sourceserifpro/v17/neIXzD-0qpwxpaWvjeD0X88SAOeasasahSg.woff200 Font93 ms 72 kB
/essays/hypermedia-clients/200 HTML73 ms 21 kB&lt;/&gt; htmx ~ Hypermedia Clients
/migration-guide-hotwire-turbo/200 HTML74 ms 12 kB&lt;/&gt; htmx ~ Hotwire / Turbo ➡️ htmx Migration Guide
/examples/modal-custom/200 HTML81 ms 18 kB&lt;/&gt; htmx ~ Examples ~ Custom Modal Dialogs
/examples/web-components/200 HTML202 ms10 kB&lt;/&gt; htmx ~ Examples ~ Web Components
/attributes/hx-select-oob/200 HTML82 ms 8 kB&lt;/&gt; htmx ~ hx-select-oob Attribute
https://unpkg.com/htmx.org302 Redirect80 ms 97 BHIT
/essays/does-hypermedia-scale/200 HTML74 ms 16 kB&lt;/&gt; htmx ~ Does Hypermedia Scale?
/js/class-tools.js200 JS70 ms 771 B
/examples/file-upload/200 HTML73 ms 10 kB&lt;/&gt; htmx ~ Examples ~ File Upload
https://fonts.gstatic.com/s/sourceserifpro/v17/neIQzD-0qpwxpaWvjeD0X88SAOeaiXA.woff200 Font106 ms70 kB
/img/memes/normal.png200 Image243 ms600 kB
/img/memes/htmlvsjson.png200 Image233 ms546 kB
/img/commspace-dark.svg200 Image75 ms 2 kB
/img/memes/javascripthistory.png200 Image181 ms417 kB
/events/200 HTML82 ms 42 kB&lt;/&gt; htmx ~ Events
/essays/complexity-budget/200 HTML77 ms 10 kB&lt;/&gt; htmx ~ Complexity Budget
/img/v7n-logo.png200 Image70 ms 5 kB
/attributes/hx-post/200 HTML254 ms6 kB&lt;/&gt; htmx ~ hx-post Attribute
/img/kawaii.png200 Image104 ms52 kB
/essays/spa-alternative/200 HTML241 ms12 kB&lt;/&gt; htmx ~ SPA Alternative
/essays/two-approaches-to-decoupling/200 HTML259 ms22 kB&lt;/&gt; htmx ~ Two Approaches To Decoupling
/essays/is-htmx-another-javascript-framework/200 HTML74 ms 17 kB&lt;/&gt; htmx ~ Is htmx Just Another JavaScript Framework?
/img/memes/hydration.png200 Image516 ms503 kB
/essays/hypermedia-on-whatever-youd-like/200 HTML81 ms 15 kB&lt;/&gt; htmx ~ Hypermedia On Whatever you'd Like
/img/memes/dbtohtml.png200 Image161 ms374 kB
/discord301 Redirect77 ms 117 B
/essays/a-response-to-rich-harris/200 HTML69 ms 22 kB&lt;/&gt; htmx ~ A Response To &quot;Have Single-Page Apps Ruined the Web?&quot;
/img/howl-channels.png200 Image276 ms31 kB
/attributes/hx-preserve/200 HTML71 ms 5 kB&lt;/&gt; htmx ~ hx-preserve Attribute
/attributes/hx-push-url/200 HTML262 ms7 kB&lt;/&gt; htmx ~ hx-push-url Attribute
/examples/progress-bar/200 HTML76 ms 21 kB&lt;/&gt; htmx ~ Examples ~ Progress Bar
/examples/bulk-update/200 HTML81 ms 14 kB&lt;/&gt; htmx ~ Examples ~ Bulk Update
/img/pullapprove-logo-dark.svg200 Image75 ms 3 kB
https://fonts.gstatic.com/s/sourceserifpro/v17/neIVzD-0qpwxpaWvjeD0X88SAOeauXEGGS6qwg.woff200 Font127 ms71 kB
/examples/confirm/200 HTML269 ms11 kB&lt;/&gt; htmx ~ Examples ~ A Customized Confirmation UI
/img/language-trends-so.png200 Image405 ms91 kB
/essays/locality-of-behaviour/200 HTML65 ms 12 kB&lt;/&gt; htmx ~ Locality of Behaviour (LoB)
/attributes/hx-confirm/200 HTML264 ms6 kB&lt;/&gt; htmx ~ hx-confirm Attribute
https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/js/bootstrap.bundle.min.js200 JS52 ms 24 kB
/essays/splitting-your-apis/200 HTML71 ms 12 kB</> htmx ~ Splitting Your Data & Application APIs: Going Further
/img/memes/fullstack.jpg200 Image115 ms64 kB
/attributes/hx-swap-oob/200 HTML75 ms 9 kB&lt;/&gt; htmx ~ hx-swap-oob Attribute
https://unpkg.com/htmx.org@1.9.12302 Redirect29 ms 131 BHIT
/essays/hateoas301 Redirect76 ms 97 B
/essays/interviews/henning-koch/200 HTML76 ms 9 kB&lt;/&gt; htmx ~ An interview with Henning Koch, Creator of Unpoly
/img/ui-bakery-dark.svg200 Image69 ms 1 kB
https://cdn.jsdelivr.net/npm/sortablejs@latest/Sortable.min.js200 JS40 ms 15 kB
/js/preload.js200 JS74 ms 2 kB
/img/memes/original.png200 Image148 ms242 kB
/examples/file-upload-input/200 HTML68 ms 8 kB&lt;/&gt; htmx ~ Examples ~ Preserving File Inputs after Form Errors
/essays/hypermedia-apis-vs-data-apis/200 HTML361 ms16 kB&lt;/&gt; htmx ~ Hypermedia APIs vs. Data APIs
/img/transloadit-logo-dark.svg200 Image74 ms 1 kB
/essays/no-build-step/200 HTML72 ms 19 kB&lt;/&gt; htmx ~ Why htmx Does Not Have a Build Step
https://fonts.gstatic.com/s/lexendzetta/v28/ll8uK2KYXje7CdOFnEWcU8synQbuVYjYB3BCy3_B0z0.woff200 Font108 ms34 kB
/img/BroadbandMapLogo2LineLightMode.png200 Image87 ms 20 kB
/essays/10-tips-for-ssr-hda-apps/200 HTML2.9 s 17 kB&lt;/&gt; htmx ~ 10 Tips For Building SSR/HDA applications
/img/what_if.png200 Image172 ms428 kB
/examples/keyboard-shortcuts/200 HTML75 ms 8 kB&lt;/&gt; htmx ~ Examples ~ Keyboard Shortcuts
/examples/tabs-hateoas/200 HTML276 ms16 kB&lt;/&gt; htmx ~ Examples ~ Tabs (Using HATEOAS)
https://fonts.gstatic.com/s/sourceserifpro/v17/neIWzD-0qpwxpaWvjeD0X88SAOeauXE-pg.woff200 Font106 ms68 kB
/examples/click-to-edit/200 HTML72 ms 14 kB&lt;/&gt; htmx ~ Examples ~ Click to Edit
/img/creating-client.png200 Image631 ms542 kB
/img/memes/restapi.png200 Image196 ms535 kB
/headers/hx-push-url/200 HTML255 ms5 kB&lt;/&gt; htmx ~ HX-Push-Url Response Header
/examples/update-other-content/200 HTML272 ms28 kB&lt;/&gt; htmx ~ Examples ~ Updating Other Content
/essays/htmx-sucks/200 HTML223 ms23 kB&lt;/&gt; htmx ~ htmx sucks
/examples301 Redirect197 ms85 B
https://unpkg.com/sinon@9.0.2/pkg/sinon.js200 JS146 ms2 MBHIT
/img/deco.cx-logo-outline.png200 Image117 ms46 kB
/headers/hx-trigger/200 HTML274 ms10 kB&lt;/&gt; htmx ~ HX-Trigger Response Headers
/img/pullapprove-logo.svg200 Image79 ms 3 kB
/js/_hyperscript.js200 JS94 ms 28 kB
/img/blackhost-logo.svg200 Image64 ms 1 kB
/attributes/hx-on/200 HTML84 ms 12 kB&lt;/&gt; htmx ~ hx-on Attribute
/img/memes/nocap.png200 Image142 ms167 kB
/reference301 Redirect71 ms 87 B
/img/memes/aye.png200 Image202 ms1019 kB
/attributes/hx-disable/200 HTML70 ms 5 kB&lt;/&gt; htmx ~ hx-disable Attribute
/img/codereviewbot.svg200 Image75 ms 6 kB
/examples/dialogs/200 HTML197 ms9 kB&lt;/&gt; htmx ~ Examples ~ Dialogs
/essays/another-real-world-react-to-htmx-port/200 HTML71 ms 8 kB&lt;/&gt; htmx ~ Another Real World React -> htmx Port
/attributes/hx-target/200 HTML77 ms 8 kB&lt;/&gt; htmx ~ hx-target Attribute
/examples/active-search/200 HTML73 ms 25 kB&lt;/&gt; htmx ~ Examples ~ Active Search
/essays/template-fragments/200 HTML70 ms 19 kB&lt;/&gt; htmx ~ Template Fragments
/api/200 HTML283 ms50 kB&lt;/&gt; htmx ~ Javascript API
/img/open_united_before_after_htmx.png200 Image400 ms164 kB
/examples/inline-validation/200 HTML71 ms 16 kB&lt;/&gt; htmx ~ Examples ~ Inline Validation
/img/memes/bellcurve.png200 Image247 ms665 kB
/img/createdwith.jpeg200 Image94 ms 29 kB
/img/rxdb.svg200 Image70 ms 5 kB
/img/language-trends-github.png200 Image288 ms34 kB
/attributes/hx-include/200 HTML255 ms9 kB&lt;/&gt; htmx ~ hx-include Attribute
https://discord.gg/Z6gPqAd301 Redirect55 ms 133 B
/img/ads_top.png200 Image103 ms45 kB
/examples/animations/200 HTML279 ms26 kB&lt;/&gt; htmx ~ Examples ~ Animations
/img/jetbrains.svg200 Image82 ms 2 kB
/img/memes/feelbad.png200 Image163 ms358 kB
/img/memes/bellcurve2.png200 Image256 ms591 kB
https://unpkg.com/htmx.org@1.9.12/dist/htmx.min.js200 JS42 ms 47 kBHIT
/docs/200 HTML92 ms 152 kB&lt;/&gt; htmx ~ Documentation
/migration-guide-intercooler/200 HTML67 ms 35 kB&lt;/&gt; htmx ~ intercooler.js &rarr; htmx Migration Guide
/attributes/hx-history301 Redirect79 ms 111 B
/attributes/hx-history/200 HTML266 ms6 kB&lt;/&gt; htmx ~ hx-history Attribute
/attributes/hx-validate/200 HTML254 ms5 kB&lt;/&gt; htmx ~ hx-validate Attribute
/headers/hx-location/200 HTML247 ms6 kB&lt;/&gt; htmx ~ HX-Location Response Header
/attributes/hx-vals/200 HTML83 ms 8 kB&lt;/&gt; htmx ~ hx-vals Attribute
/attributes/hx-get/200 HTML73 ms 6 kB&lt;/&gt; htmx ~ hx-get Attribute
/headers/hx-replace-url/200 HTML75 ms 5 kB&lt;/&gt; htmx ~ HX-Replace-Url Response Header
/attributes/hx-indicator/200 HTML209 ms11 kB&lt;/&gt; htmx ~ hx-indicator Attribute
/essays/locality-of-behaviour301 Redirect82 ms 125 B
/attributes/hx-disabled-elt/200 HTML74 ms 8 kB&lt;/&gt; htmx ~ hx-disabled-elt Attribute
/attributes/hx-replace-url/200 HTML76 ms 7 kB&lt;/&gt; htmx ~ hx-replace-url Attribute
/attributes/hx-vars/200 HTML201 ms6 kB&lt;/&gt; htmx ~ hx-vars Attribute
/attributes/hx-disinherit/200 HTML73 ms 10 kB&lt;/&gt; htmx ~ hx-disinherit Attribute
/attributes/hx-ext/200 HTML67 ms 6 kB&lt;/&gt; htmx ~ hx-ext Attribute
/attributes/hx-patch/200 HTML318 ms6 kB&lt;/&gt; htmx ~ hx-patch Attribute
/migration-guide-htmx-1/200 HTML197 ms10 kB&lt;/&gt; htmx ~ htmx 1.x &rarr; htmx 2.x Migration Guide
/attributes/hx-on301 Redirect252 ms101 B
/attributes/hx-inherit/200 HTML70 ms 7 kB&lt;/&gt; htmx ~ hx-inherit Attribute
/attributes/hx-disable301 Redirect250 ms111 B
/examples/animations301 Redirect217 ms107 B
/attributes/hx-params/200 HTML190 ms6 kB&lt;/&gt; htmx ~ hx-params Attribute
/events301 Redirect244 ms81 B
/img/memes/justusehtml.png200 Image152 ms378 kB
/attributes/hx-encoding/200 HTML270 ms5 kB&lt;/&gt; htmx ~ hx-encoding Attribute
/img/llc-org.svg200 Image79 ms 3 kB
/img/bss_bars.png200 Image72 ms 9 kB
/attributes/hx-boost/200 HTML77 ms 9 kB&lt;/&gt; htmx ~ hx-boost Attribute
/essays/why-tend-not-to-use-content-negotiation/200 HTML67 ms 17 kB&lt;/&gt; htmx ~ Why I Tend Not To Use Content Negotiation
/examples/click-to-load/200 HTML66 ms 10 kB&lt;/&gt; htmx ~ Examples ~ Click to Load
/essays/rest-copypasta/200 HTML89 ms 9 kB&lt;/&gt; htmx ~ REST Copypasta
/img/memes/frontenddevs.png200 Image192 ms760 kB
/essays/rest-explained/200 HTML78 ms 25 kB&lt;/&gt; htmx ~ REST - Explained For Beginners
/attributes/hx-boost301 Redirect309 ms107 B
/attributes/hx-select/200 HTML73 ms 6 kB&lt;/&gt; htmx ~ hx-select Attribute
/img/js-devs-be-thinking.png200 Image372 ms205 kB
/talk/200 HTML74 ms 18 kB&lt;/&gt; htmx ~ htmx Talk
/examples/tabs-javascript/200 HTML79 ms 14 kB&lt;/&gt; htmx ~ Examples ~ Tabs (Using JavaScript)
/atom.xml200 XML132 ms140 kB
https://discord.com/invite/Z6gPqAd200 HTML472 ms10 kBHIT
/examples/delete-row/200 HTML279 ms13 kB&lt;/&gt; htmx ~ Examples ~ Delete Row
/img/codereviewbot-dark.svg200 Image72 ms 6 kB
/essays/hypermedia-driven-applications/200 HTML248 ms16 kB&lt;/&gt; htmx ~ Hypermedia-Driven Applications
/attributes/hx-sync/200 HTML299 ms13 kB&lt;/&gt; htmx ~ hx-sync Attribute
/img/vps-server-logo.svg200 Image73 ms 3 kB
/img/das-filter-dark.svg200 Image86 ms 808 B
/img/memes/istudiedhtml.png200 Image204 ms914 kB
/attributes/hx-history-elt/200 HTML82 ms 6 kB&lt;/&gt; htmx ~ hx-history-elt Attribute
/img/hydra-hosting-dark.svg200 Image73 ms 3 kB
/img/v7n-logo-dark.png200 Image77 ms 6 kB
/js/htmx.js200 JS86 ms 33 kB
/attributes/hx-request/200 HTML77 ms 6 kB&lt;/&gt; htmx ~ hx-request Attribute
/%20https:/transloadit.com?utm_source=htmx&utm_medium=referral&utm_…sponsorship&utm_content=website/404 HTML186 ms68 B404 Not Found
/img/memes/whowillwin.png200 Image170 ms264 kB
/essays/hypermedia-driven-applications301 Redirect84 ms 143 B
/img/memes/20yearold.png200 Image127 ms85 kB
/img/BroadbandMapLogo2LineDarkMode.png200 Image92 ms 16 kB
/img/codacy.svg200 Image67 ms 1 kB
/css/site.css200 CSS77 ms 2 kB
/attributes/hx-swap/200 HTML73 ms 17 kB&lt;/&gt; htmx ~ hx-swap Attribute
/examples/modal-uikit/200 HTML192 ms17 kB&lt;/&gt; htmx ~ Examples ~ Modal Dialogs with UIKit
/img/topo.svg200 Image112 ms38 kB
/img/deepsource.svg200 Image68 ms 2 kB
/img/logo-craft-cms-dark.svg200 Image73 ms 1 kB
/essays/hypermedia-friendly-scripting/200 HTML69 ms 23 kB&lt;/&gt; htmx ~ Hypermedia-Friendly Scripting
/img/memes/htmxanddjango.png200 Image182 ms807 kB
/essays/right-click-view-source/200 HTML79 ms 17 kB&lt;/&gt; htmx ~ The #ViewSource Affordance
/img/memes/viewsource.png200 Image155 ms193 kB
/img/sekun-doggo.jpg200 Image97 ms 14 kB
/img/logos-transloadit-default.svg200 Image68 ms 2 kB
/img/memes/uarealldoingitwrong.png200 Image146 ms311 kB
/img/ui-bakery.svg200 Image73 ms 1 kB
/img/google-2023.png200 Image435 ms639 kB
/img/ads_bottom.png200 Image107 ms47 kB
/img/ablogcms_logo.svg200 Image65 ms 1 kB
/img/google-2000.png200 Image540 ms191 kB
/examples/infinite-scroll/200 HTML71 ms 10 kB&lt;/&gt; htmx ~ Examples ~ Infinite Scroll
/webring/200 HTML270 ms10 kB&lt;/&gt; htmx ~ htmx webring
/img/hydra-hosting.svg200 Image87 ms 5 kB
/img/memes/ie11enjoyer.png200 Image153 ms322 kB
/essays/how-did-rest-come-to-mean-the-opposite-of-rest/200 HTML65 ms 32 kB&lt;/&gt; htmx ~ How Did REST Come To Mean The Opposite of REST?
/img/navigator.gif200 Image421 ms333 kB
/img/js-the-good-parts.jpeg200 Image543 ms246 kB
/img/you-are-wrong.png200 Image202 ms618 kB
/img/rmm.png200 Image117 ms48 kB
/img/tap-the-sign.png200 Image227 ms544 kB
/attributes/hx-trigger/200 HTML90 ms 18 kB&lt;/&gt; htmx ~ hx-trigger Attribute
/img/punished-fielding.png200 Image180 ms407 kB
/reference/200 HTML80 ms 34 kB&lt;/&gt; htmx ~ Reference
/attributes/hx-swap301 Redirect69 ms 105 B
/attributes/hx-headers/200 HTML66 ms 6 kB&lt;/&gt; htmx ~ hx-headers Attribute
/essays/hypermedia-friendly-scripting301 Redirect75 ms 141 B
/essays/view-transitions/200 HTML79 ms 21 kB&lt;/&gt; htmx ~ Examples ~ View Transitions
https://cdn.jsdelivr.net/npm/sweetalert2@11200 JS36 ms 75 kB
/img/vps-server-logo-dark.svg200 Image77 ms 3 kB
/essays/when-to-use-hypermedia/200 HTML68 ms 22 kB&lt;/&gt; htmx ~ When Should You Use Hypermedia?
/img/memes/drakememes.png200 Image168 ms392 kB
/attributes/hx-delete/200 HTML72 ms 6 kB&lt;/&gt; htmx ~ hx-delete Attribute
/examples/lazy-load/200 HTML70 ms 9 kB&lt;/&gt; htmx ~ Examples ~ Lazy Loading
/attributes/hx-put/200 HTML72 ms 6 kB&lt;/&gt; htmx ~ hx-put Attribute
/img/tokyo.png200 Image85 ms 34 kB
https://buttons.github.io/buttons.js200 JS103 ms7 kB
/attributes/hx-prompt/200 HTML63 ms 5 kB&lt;/&gt; htmx ~ hx-prompt Attribute
/img/nesting-example.png200 Image363 ms154 kB
/img/hypermedia-systems.png200 Image141 ms114 kB
https://unpkg.com/hyperscript.org302 Redirect544 ms111 BEXPIRED
https://unpkg.com/hyperscript.org@0.9.12302 Redirect35 ms 161 BHIT
https://unpkg.com/hyperscript.org@0.9.12/dist/_hyperscript.min.js200 JS74 ms 98 kBHIT
No rows found, please edit your search term.

Best practices

Found 10 row(s).
Analysis nameOKNoticeWarningCritical
Large inline SVGs (> 5120 B)1000
Invalid inline SVGs1000
Duplicate inline SVGs (> 5 and > 1024 B)1000
DOM depth (> 30)110000
Heading structure1971 20 4
Title uniqueness (> 10%)108000
Description uniqueness (> 10%)001 0
Brotli support108000
WebP support001 0
AVIF support001 0
No rows found, please edit your search term.

Large inline SVGs

No problems found.


Duplicate inline SVGs

No problems found.


Invalid inline SVGs

No problems found.


Missing quotes on attributes

No problems found.


DOM depth

No problems found.


Heading structure

SeverityOccursDetailAffected URLs (max 5)
critical5Multiple <h1> headings found.URL 1, URL 2, URL 3, URL 4
critical2No <h1> tag found in the HTML content.URL 1, URL 2
warning71Heading structure is skipping levels: found an <h5> after an <h3>.URL 1, URL 2, URL 3
warning12Heading structure is skipping levels: found an <h3> after an <h1>.URL 1, URL 2, URL 3, URL 4, URL 5
warning3Heading structure is skipping levels: found an <h4> after an <h2>.URL 1, URL 2
warning2Heading structure is skipping levels: found an <h2> without a previous higher heading.URL 1, URL 2
warning1Heading structure is skipping levels: found an <h5> after an <h2>./essays/template-fragments/
notice1No headings found in the HTML content.https://discord.com/invite/Z6gPqAd

Non-clickable phone numbers

No problems found.


Title uniqueness

No problems found.


Description uniqueness

No problems found.

Accessibility

Analysis nameOKNoticeWarningCritical
Missing image alt attributes50045 0
Missing form labels005 0
Missing aria labels5460932 12
Missing roles002 0
Missing html lang attribute1000

Valid HTML

No problems found.


Missing image alt attributes

SeverityOccursDetailAffected URLs (max 5)
warning146<img ***>URL 1, URL 2, URL 3, URL 4, URL 5
warning4<img class="htmx-indicator" ***>URL 1, URL 2, URL 3, URL 4
warning2<img id="ind" class="htmx-indicator" ***>/examples/inline-validation/
warning1<img class="dark-hidden" ***>/
warning1<img class="dark-visible" ***>/

Missing form labels

SeverityOccursDetailAffected URLs (max 5)
warning108<input name="q" class="search-box" ***>URL 1, URL 2, URL 3, URL 4, URL 5
warning2<input class="uk-input" ***>/examples/modal-uikit/
warning1<input name="email" ***>/examples/inline-validation/
warning1<input name="name">/examples/animations/

Missing aria labels

Found 33 row(s).
SeverityOccursDetailAffected URLs (max 5)
critical108<input name="q" ***>URL 1, URL 2, URL 3, URL 4, URL 5
critical108<input name="q" class="search-box" ***>URL 1, URL 2, URL 3, URL 4, URL 5
critical2<input class="uk-input" ***>/examples/modal-uikit/
critical1<select id="models" name="model">/examples/value-select/
critical1<input name="item" ***>/examples/sortable/
critical1<input id="lastName" name="lastName" ***>/examples/click-to-edit/
critical1<input id="email" name="email" ***>/examples/click-to-edit/
critical1<input class="form-control" name="firstName" id="firstName" ***>/examples/inline-validation/
critical1<input class="form-control" name="lastName" id="lastName" ***>/examples/inline-validation/
critical1<input name="email" ***>/examples/inline-validation/
critical1<input name="name">/examples/animations/
warning2668<a ***>URL 1, URL 2, URL 3, URL 4, URL 5
warning108<a class="logo light" ***>URL 1, URL 2, URL 3, URL 4, URL 5
warning19<a id="request-info-toggler" ***>URL 1, URL 2, URL 3, URL 4, URL 5
warning9<button ***>URL 1, URL 2, URL 3
warning5<button class="btn primary" ***>URL 1, URL 2, URL 3, URL 4
warning4<button class="selected" ***>URL 1, URL 2
warning4<button>/essays/rest-copypasta/
warning3<a class="nav-link" ***>/webring/
warning1<a name="book">/
warning1<button class="btn btn-secondary" ***>/examples/modal-bootstrap/
warning1<button class="btn danger">/examples/modal-custom/
warning1<button id="restart-btn" class="btn primary" ***>/examples/progress-bar/
warning1<button class="btn danger" ***>/examples/click-to-edit/
warning1<button class="fade-me-out" ***>/examples/animations/
warning1<button id="fade-me-in" class="btn primary" ***>/examples/animations/
warning1<button class="btn primary">/examples/animations/
warning1<a name="hx-on">/docs/
warning1<button class="btn" ***>/attributes/hx-indicator/
warning1<button class="uk-button uk-button-primary" ***>/examples/modal-uikit/
warning1<button class="uk-button uk-button-default" ***>/examples/modal-uikit/
warning1<a id="show-sites" ***>/webring/
warning1<a id="return-to-webring" ***>/webring/
No rows found, please edit your search term.

Missing roles

SeverityOccursDetailAffected URLs (max 5)
warning108<footer>URL 1, URL 2, URL 3, URL 4, URL 5
warning1<aside>/essays/hypermedia-apis-vs-data-apis/

Missing html lang attribute

No problems found.

Security

HeaderOKNoticeWarningCriticalRecommendation
X-XSS-Protection000110X-XSS-Protection header is not set. It enables browser's built-in defenses against XSS attacks.
Content-Security-Policy000110Content-Security-Policy header is not set. It restricts resources the page can load and prevents XSS attacks.
X-Frame-Options001100X-Frame-Options header is not set. It prevents clickjacking attacks when set to 'deny' or 'sameorigin.
X-Content-Type-Options001100X-Content-Type-Options header is not set. It stops MIME type sniffing and mitigates content type attacks.
Referrer-Policy001100Referrer-Policy header is not set. It controls referrer header sharing and enhances privacy and security.
Feature-Policy001100Feature-Policy header is not set. It allows enabling/disabling browser APIs and features for security. Not important if Permissions-Policy is set.
Permissions-Policy001100Permissions-Policy header is not set. It allows enabling/disabling browser APIs and features for security.
Server011000Server header is set to 'Netlify'. It is better not to reveal used technologies.
Strict-Transport-Security110000

Security headers

SeverityOccursDetailAffected URLs (max 5)
critical110X-XSS-Protection header is not set. It enables browser's built-in defenses against XSS attacks.URL 1, URL 2, URL 3, URL 4, URL 5
critical110Content-Security-Policy header is not set. It restricts resources the page can load and prevents XSS attacks.URL 1, URL 2, URL 3, URL 4, URL 5
warning110X-Frame-Options header is not set. It prevents clickjacking attacks when set to 'deny' or 'sameorigin.URL 1, URL 2, URL 3, URL 4, URL 5
warning110X-Content-Type-Options header is not set. It stops MIME type sniffing and mitigates content type attacks.URL 1, URL 2, URL 3, URL 4, URL 5
warning110Referrer-Policy header is not set. It controls referrer header sharing and enhances privacy and security.URL 1, URL 2, URL 3, URL 4, URL 5
warning110Feature-Policy header is not set. It allows enabling/disabling browser APIs and features for security. Not important if Permissions-Policy is set.URL 1, URL 2, URL 3, URL 4, URL 5
warning110Permissions-Policy header is not set. It allows enabling/disabling browser APIs and features for security.URL 1, URL 2, URL 3, URL 4, URL 5
notice110Server header is set to 'Netlify'. It is better not to reveal used technologies.URL 1, URL 2, URL 3, URL 4, URL 5

TOP non-unique titles

Nothing to report.


TOP non-unique descriptions

Count 🔽Description
108htmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react

SEO metadata

Found 108 row(s).
URL 🔼IndexingTitleH1DescriptionKeywords
/Allowed</> htmx - high power tools for htmlMissing H1htmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/api/Allowed</> htmx ~ Javascript APIJavascript APIhtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/attributes/hx-boost/Allowed</> htmx ~ hx-boost Attributehx-boosthtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/attributes/hx-confirm/Allowed</> htmx ~ hx-confirm Attributehx-confirmhtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/attributes/hx-delete/Allowed</> htmx ~ hx-delete Attributehx-deletehtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/attributes/hx-disable/Allowed</> htmx ~ hx-disable Attributehx-disablehtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/attributes/hx-disabled-elt/Allowed</> htmx ~ hx-disabled-elt Attributehx-disabled-elthtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/attributes/hx-disinherit/Allowed</> htmx ~ hx-disinherit Attributehx-disinherithtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/attributes/hx-encoding/Allowed</> htmx ~ hx-encoding Attributehx-encodinghtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/attributes/hx-ext/Allowed</> htmx ~ hx-ext Attributehx-exthtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/attributes/hx-get/Allowed</> htmx ~ hx-get Attributehx-gethtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/attributes/hx-headers/Allowed</> htmx ~ hx-headers Attributehx-headershtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/attributes/hx-history-elt/Allowed</> htmx ~ hx-history-elt Attributehx-history-elthtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/attributes/hx-history/Allowed</> htmx ~ hx-history Attributehx-historyhtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/attributes/hx-include/Allowed</> htmx ~ hx-include Attributehx-includehtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/attributes/hx-indicator/Allowed</> htmx ~ hx-indicator Attributehx-indicatorhtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/attributes/hx-inherit/Allowed</> htmx ~ hx-inherit Attributehx-inherithtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/attributes/hx-on/Allowed</> htmx ~ hx-on Attributehx-onhtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/attributes/hx-params/Allowed</> htmx ~ hx-params Attributehx-paramshtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/attributes/hx-patch/Allowed</> htmx ~ hx-patch Attributehx-patchhtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/attributes/hx-post/Allowed</> htmx ~ hx-post Attributehx-posthtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/attributes/hx-preserve/Allowed</> htmx ~ hx-preserve Attributehx-preservehtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/attributes/hx-prompt/Allowed</> htmx ~ hx-prompt Attributehx-prompthtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/attributes/hx-push-url/Allowed</> htmx ~ hx-push-url Attributehx-push-urlhtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/attributes/hx-put/Allowed</> htmx ~ hx-put Attributehx-puthtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/attributes/hx-replace-url/Allowed</> htmx ~ hx-replace-url Attributehx-replace-urlhtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/attributes/hx-request/Allowed</> htmx ~ hx-request Attributehx-requesthtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/attributes/hx-select-oob/Allowed</> htmx ~ hx-select-oob Attributehx-select-oobhtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/attributes/hx-select/Allowed</> htmx ~ hx-select Attributehx-selecthtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/attributes/hx-swap-oob/Allowed</> htmx ~ hx-swap-oob Attributehx-swap-oobhtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/attributes/hx-swap/Allowed</> htmx ~ hx-swap Attributehx-swaphtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/attributes/hx-sync/Allowed</> htmx ~ hx-sync Attributehx-synchtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/attributes/hx-target/Allowed</> htmx ~ hx-target Attributehx-targethtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/attributes/hx-trigger/Allowed</> htmx ~ hx-trigger Attributehx-triggerhtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/attributes/hx-validate/Allowed</> htmx ~ hx-validate Attributehx-validatehtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/attributes/hx-vals/Allowed</> htmx ~ hx-vals Attributehx-valshtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/attributes/hx-vars/Allowed</> htmx ~ hx-vars Attributehx-varshtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/docs/Allowed</> htmx ~ DocumentationDocumentationhtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/essays/Allowed</> htmx ~ EssaysEssayshtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/essays/10-tips-for-ssr-hda-apps/Allowed</> htmx ~ 10 Tips For Building SSR/HDA applications10 Tips For Building SSR/HDA applicationshtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/essays/a-real-world-react-to-htmx-port/Allowed</> htmx ~ A Real World React -> htmx PortA Real World React -&gt; htmx Porthtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/essays/a-response-to-rich-harris/Allowed</> htmx ~ A Response To "Have Single-Page Apps Ruined the Web?"A Response To "Have Single-Page Apps Ruined the Web?"htmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/essays/another-real-world-react-to-htmx-port/Allowed</> htmx ~ Another Real World React -> htmx PortAnother Real World React -&gt; htmx Porthtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/essays/complexity-budget/Allowed</> htmx ~ Complexity BudgetComplexity Budgethtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/essays/does-hypermedia-scale/Allowed</> htmx ~ Does Hypermedia Scale?Does Hypermedia Scale?htmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/essays/hateoas/Allowed</> htmx ~ HATEOASHATEOAShtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/essays/how-did-rest-come-to-mean-the-opposite-of-rest/Allowed</> htmx ~ How Did REST Come To Mean The Opposite of REST?How Did REST Come To Mean The Opposite of REST?htmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/essays/htmx-sucks/Allowed</> htmx ~ htmx suckshtmx suckshtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/essays/hypermedia-apis-vs-data-apis/Allowed</> htmx ~ Hypermedia APIs vs. Data APIsHypermedia APIs vs. Data APIshtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/essays/hypermedia-clients/Allowed</> htmx ~ Hypermedia ClientsHypermedia Clientshtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/essays/hypermedia-driven-applications/Allowed</> htmx ~ Hypermedia-Driven ApplicationsHypermedia-Driven Applicationshtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/essays/hypermedia-friendly-scripting/Allowed</> htmx ~ Hypermedia-Friendly ScriptingHypermedia-Friendly Scriptinghtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/essays/hypermedia-on-whatever-youd-like/Allowed</> htmx ~ Hypermedia On Whatever you'd LikeHypermedia On Whatever you'd Likehtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/essays/interviews/henning-koch/Allowed</> htmx ~ An interview with Henning Koch, Creator of UnpolyAn interview with Henning Koch, Creator of Unpolyhtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/essays/is-htmx-another-javascript-framework/Allowed</> htmx ~ Is htmx Just Another JavaScript Framework?Is htmx Just Another JavaScript Framework?htmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/essays/locality-of-behaviour/Allowed</> htmx ~ Locality of Behaviour (LoB)Locality of Behaviour (LoB)htmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/essays/mvc/Allowed</> htmx ~ Model/View/Controller (MVC)Model/View/Controller (MVC)htmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/essays/no-build-step/Allowed</> htmx ~ Why htmx Does Not Have a Build StepWhy htmx Does Not Have a Build Stephtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/essays/rest-copypasta/Allowed</> htmx ~ REST CopypastaMissing H1htmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/essays/rest-explained/Allowed</> htmx ~ REST - Explained For BeginnersREST - Explained For Beginnershtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/essays/right-click-view-source/Allowed</> htmx ~ The #ViewSource AffordanceThe #ViewSource Affordancehtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/essays/spa-alternative/Allowed</> htmx ~ SPA AlternativeSPA Alternativehtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/essays/splitting-your-apis/Allowed</> htmx ~ Splitting Your Data & Application APIs: Going FurtherSplitting Your Data &amp; Application APIs: Going Furtherhtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/essays/template-fragments/Allowed</> htmx ~ Template FragmentsTemplate Fragmentshtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/essays/two-approaches-to-decoupling/Allowed</> htmx ~ Two Approaches To DecouplingTwo Approaches To Decouplinghtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/essays/view-transitions/Allowed</> htmx ~ Examples ~ View TransitionsView Transitionshtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/essays/web-security-basics-with-htmx/Allowed</> htmx ~ Web Security Basics (with htmx)Web Security Basics (with htmx)htmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/essays/when-to-use-hypermedia/Allowed</> htmx ~ When Should You Use Hypermedia?When Should You Use Hypermedia?htmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/essays/why-tend-not-to-use-content-negotiation/Allowed</> htmx ~ Why I Tend Not To Use Content NegotiationWhy I Tend Not To Use Content Negotiationhtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/events/Allowed</> htmx ~ EventsEventshtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/examples/Allowed</> htmx ~ ExamplesExampleshtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/examples/active-search/Allowed</> htmx ~ Examples ~ Active SearchActive Searchhtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/examples/animations/Allowed</> htmx ~ Examples ~ AnimationsAnimationshtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/examples/async-auth/Allowed</> htmx ~ Examples ~ Async AuthenticationAsync Authenticationhtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/examples/bulk-update/Allowed</> htmx ~ Examples ~ Bulk UpdateBulk Updatehtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/examples/click-to-edit/Allowed</> htmx ~ Examples ~ Click to EditClick to Edithtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/examples/click-to-load/Allowed</> htmx ~ Examples ~ Click to LoadClick to Loadhtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/examples/confirm/Allowed</> htmx ~ Examples ~ A Customized Confirmation UIA Customized Confirmation UIhtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/examples/delete-row/Allowed</> htmx ~ Examples ~ Delete RowDelete Rowhtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/examples/dialogs/Allowed</> htmx ~ Examples ~ DialogsDialogshtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/examples/edit-row/Allowed</> htmx ~ Examples ~ Edit RowEdit Rowhtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/examples/file-upload-input/Allowed</> htmx ~ Examples ~ Preserving File Inputs after Form ErrorsPreserving File Inputs after Form Errorshtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/examples/file-upload/Allowed</> htmx ~ Examples ~ File UploadFile Uploadhtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/examples/infinite-scroll/Allowed</> htmx ~ Examples ~ Infinite ScrollInfinite Scrollhtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/examples/inline-validation/Allowed</> htmx ~ Examples ~ Inline ValidationInline Validationhtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/examples/keyboard-shortcuts/Allowed</> htmx ~ Examples ~ Keyboard ShortcutsKeyboard Shortcutshtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/examples/lazy-load/Allowed</> htmx ~ Examples ~ Lazy LoadingLazy Loadinghtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/examples/modal-bootstrap/Allowed</> htmx ~ Examples ~ Modal Dialogs in BootstrapModal Dialogs in Bootstraphtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/examples/modal-custom/Allowed</> htmx ~ Examples ~ Custom Modal DialogsCustom Modal Dialogshtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/examples/modal-uikit/Allowed</> htmx ~ Examples ~ Modal Dialogs with UIKitModal Dialogs with UIKithtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/examples/progress-bar/Allowed</> htmx ~ Examples ~ Progress BarProgress Barhtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/examples/sortable/Allowed</> htmx ~ Examples ~ SortableSortablehtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/examples/tabs-hateoas/Allowed</> htmx ~ Examples ~ Tabs (Using HATEOAS)Tabs (Using HATEOAS)htmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/examples/tabs-javascript/Allowed</> htmx ~ Examples ~ Tabs (Using JavaScript)Tabs (Using JavaScript)htmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/examples/update-other-content/Allowed</> htmx ~ Examples ~ Updating Other ContentUpdating Other Contenthtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/examples/value-select/Allowed</> htmx ~ Examples ~ Cascading SelectsCascading Selectshtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/examples/web-components/Allowed</> htmx ~ Examples ~ Web ComponentsWeb Componentshtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/headers/hx-location/Allowed</> htmx ~ HX-Location Response HeaderHX-Location Response Headerhtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/headers/hx-push-url/Allowed</> htmx ~ HX-Push-Url Response HeaderHX-Push-Url Response Headerhtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/headers/hx-replace-url/Allowed</> htmx ~ HX-Replace-Url Response HeaderHX-Replace-Url Response Headerhtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/headers/hx-trigger/Allowed</> htmx ~ HX-Trigger Response HeadersHX-Trigger Response Headershtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/migration-guide-hotwire-turbo/Allowed</> htmx ~ Hotwire / Turbo ➡️ htmx Migration GuideHotwire / Turbo ➡️ htmx Migration Guidehtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/migration-guide-htmx-1/Allowed</> htmx ~ htmx 1.x → htmx 2.x Migration Guidehtmx 1.x → htmx 2.x Migration Guidehtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/migration-guide-intercooler/Allowed</> htmx ~ intercooler.js → htmx Migration Guideintercooler.js → htmx Migration Guidehtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/reference/Allowed</> htmx ~ ReferenceReferencehtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/server-examples/Allowed</> htmx ~ Server-Side ExamplesServer-Side Exampleshtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/talk/Allowed</> htmx ~ htmx Talkhtmx Talkhtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
/webring/Allowed</> htmx ~ htmx webringhtmx webringhtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext htmx is small (~14k min.gz’d), dependency-free, extendable, IE11 compatible & has reduced code base sizes by 67% when compared with react
No rows found, please edit your search term.

OpenGraph metadata

No URLs with OpenGraph data (og:* or twitter:* meta tags).


Heading structure

Found 108 row(s).
Heading structureCountErrors 🔽URL
  • <h1> Events
    • <h3> #Event - htmx:abort [#htmx:abort]
    • <h3> #Event - htmx:afterOnLoad [#htmx:afterOnLoad]
    • <h3> #Event - htmx:afterProcessNode [#htmx:afterProcessNode]
    • <h3> #Event - htmx:afterRequest [#htmx:afterRequest]
    • <h3> #Event - htmx:afterSettle [#htmx:afterSettle]
    • <h3> #Event - htmx:afterSwap [#htmx:afterSwap]
    • <h3> #Event - htmx:beforeCleanupElement [#htmx:beforeCleanupElement]
    • <h3> #Event - htmx:beforeOnLoad [#htmx:beforeOnLoad]
    • <h3> #Event - htmx:beforeProcessNode [#htmx:beforeProcessNode]
    • <h3> #Event - htmx:beforeRequest [#htmx:beforeRequest]
    • <h3> #Event - htmx:beforeSend [#htmx:beforeSend]
    • <h3> #Event - htmx:beforeSwap [#htmx:beforeSwap]
    • <h3> #Event - htmx:beforeTransition [#htmx:beforeTransition]
    • <h3> #Event - htmx:configRequest [#htmx:configRequest]
    • <h3> #Event - htmx:confirm [#htmx:confirm]
    • <h3> #Event - htmx:historyCacheError [#htmx:historyCacheError]
    • <h3> #Event - htmx:historyCacheMiss [#htmx:historyCacheMiss]
    • <h3> #Event - htmx:historyCacheMissError [#htmx:historyCacheMissError]
    • <h3> #Event - htmx:historyCacheMissLoad [#htmx:historyCacheMissLoad]
    • <h3> #Event - htmx:historyRestore [#htmx:historyRestore]
    • <h3> #Event - htmx:beforeHistorySave [#htmx:beforeHistorySave]
    • <h3> #Event - htmx:load [#htmx:load]
    • <h3> #Event - htmx:noSSESourceError [#htmx:noSSESourceError]
    • <h3> #Event - htmx:oobAfterSwap [#htmx:oobAfterSwap]
    • <h3> #Event - htmx:oobBeforeSwap [#htmx:oobBeforeSwap]
    • <h3> #Event - htmx:oobErrorNoTarget [#htmx:oobErrorNoTarget]
    • <h3> #Event - htmx:onLoadError [#htmx:onLoadError]
    • <h3> #Event - htmx:prompt [#htmx:prompt]
    • <h3> #Event - htmx:beforeHistoryUpdate [#htmx:beforeHistoryUpdate]
    • <h3> #Event - htmx:pushedIntoHistory [#htmx:pushedIntoHistory]
    • <h3> #Event - htmx:replacedInHistory [#htmx:replacedInHistory]
    • <h3> #Event - htmx:responseError [#htmx:responseError]
    • <h3> #Event - htmx:sendError [#htmx:sendError]
    • <h3> #Event - htmx:sseError [#htmx:sseError]
    • <h3> #Event - htmx:swapError [#htmx:swapError]
    • <h3> #Event - htmx:targetError [#htmx:targetError]
    • <h3> #Event - htmx:timeout [#htmx:timeout]
    • <h3> #Event - htmx:trigger [#htmx:trigger]
    • <h3> #Event - htmx:validateUrl [#htmx:validateUrl]
    • <h3> #Event - htmx:validation:validate [#htmx:validation:validate]
    • <h3> #Event - htmx:validation:failed [#htmx:validation:failed]
    • <h3> #Event - htmx:validation:halted [#htmx:validation:halted]
    • <h3> #Event - htmx:xhr:abort [#htmx:xhr:abort]
    • <h3> #Event - htmx:xhr:loadstart [#htmx:xhr:loadstart]
    • <h3> #Event - htmx:xhr:loadend [#htmx:xhr:loadend]
    • <h3> #Event - htmx:xhr:progress [#htmx:xhr:progress]
    • <h2> haiku
4846/events/
  • <h1> Javascript API
    • <h3> #Method - htmx.addClass() [#addClass]
    • <h3> #Method - htmx.ajax() [#ajax]
    • <h3> #Method - htmx.closest() [#closest]
    • <h3> #Property - htmx.config [#config]
    • <h3> #Property - htmx.createEventSource [#createEventSource]
    • <h3> #Property - htmx.createWebSocket [#createWebSocket]
    • <h3> #Method - htmx.defineExtension() [#defineExtension]
    • <h3> #Method - htmx.find() [#find]
    • <h3> #Method - htmx.findAll() [#findAll]
    • <h3> #Method - htmx.logAll() [#logAll]
    • <h3> #Method - htmx.logNone() [#logNone]
    • <h3> #Property - htmx.logger [#logger]
    • <h3> #Method - htmx.off() [#off]
    • <h3> #Method - htmx.on() [#on]
    • <h3> #Method - htmx.onLoad() [#onLoad]
    • <h3> #Method - htmx.parseInterval() [#parseInterval]
    • <h3> #Method - htmx.process() [#process]
    • <h3> #Method - htmx.remove() [#remove]
    • <h3> #Method - htmx.removeClass() [#removeClass]
    • <h3> #Method - htmx.removeExtension() [#removeExtension]
    • <h3> #Method - htmx.swap() [#swap]
    • <h3> #Method - htmx.takeClass() [#takeClass]
    • <h3> #Method - htmx.toggleClass() [#toggleClass]
    • <h3> #Method - htmx.trigger() [#trigger]
    • <h3> #Method - htmx.values() [#values]
    • <h2> haiku
2725/api/
  • <h1> 10 Tips For Building SSR/HDA applications
    • <h3> #Tip 1: Maximize Your Server-Side Strengths [#tip-1-maximize-your-server-side-strengths]
    • <h3> #Tip 2: Factor Your Application On The Server [#tip-2-factor-your-application-on-the-server]
    • <h3> #Tip 3: Specialize Your API End Points [#tip-3-specialize-your-api-end-points]
    • <h3> #Tip 4: Aggressively Refactor Your API End Points [#tip-4-aggressively-refactor-your-api-end-points]
    • <h3> #Tip 5: Take Advantage of Direct Access To The Data Store [#tip-5-take-advantage-of-direct-access-to-the-data-store]
    • <h3> #Tip 6: Avoid Modals [#tip-6-avoid-modals]
    • <h3> #Tip 7: Accept “Good Enough” UX [#tip-7-accept-good-enough-ux]
    • <h3> #Tip 8: When Necessary, Create “Islands of Interactivity” [#tip-8-when-necessary-create-islands-of-interactivity]
    • <h3> #Tip 9: Don’t Be Afraid To Script! [#tip-9-don-t-be-afraid-to-script]
    • <h3> #Tip 10: Be Pragmatic [#tip-10-be-pragmatic]
    • <h2> #Conclusion [#conclusion]
    • <h2> haiku
1310/essays/10-tips-for-ssr-hda-apps/
  • <h2> introduction
  • <h2> motivation
  • <h2> quick start
  • <h2> book
  • <h2> sponsors
  • <h2> haiku
66/
  • <h1> hx-trigger
    • <h3> Standard Events [#standard-events]
    • <h3> Non-standard Events [#non-standard-events]
    • <h3> Triggering via the HX-Trigger header [#triggering-via-the-hx-trigger-header]
    • <h3> Polling [#polling]
    • <h3> Multiple Triggers [#multiple-triggers]
    • <h3> Via JavaScript [#via-javascript]
    • <h2> Notes [#notes]
    • <h2> haiku
96/attributes/hx-trigger/
  • <h1> Essays
    • <h3> #Hypermedia and REST [#hypermedia-and-rest]
    • <h3> #Why Hypermedia? Why Multi-Page Applications? [#why-hypermedia-why-multi-page-applications]
    • <h3> #Building Hypermedia Applications [#building-hypermedia-applications]
    • <h3> #Complexity Very Very Bad [#complexity-very-very-bad]
    • <h3> #Hypermedia History [#hypermedia-history]
    • <h2> #Banners [#banners]
    • <h2> #Memes [#memes]
    • <h2> haiku
95/essays/
  • <h1> Animations
    • <h3> #Basic CSS Animations [#basic]
    • <h3> #Color Throb [#color-throb]
    • <h3> #Smooth Progress Bar [#smooth-progress-bar]
    • <h2> #Swap Transitions [#swapping]
      • <h3> #Fade Out On Swap [#fade-out-on-swap]
    • <h2> #Settling Transitions [#settling]
      • <h3> #Fade In On Addition [#fade-in-on-addition]
    • <h2> #Request In Flight Animation [#request]
    • <h2> #Using the htmx class-tools Extension [#using-the-htmx-class-tools-extension]
      • <h3> #Using the View Transition API [#view-transitions]
  • <h1> Initial Content
    • <h2> #Conclusion [#conclusion]
    • <h2> haiku
145/examples/animations/
  • <h2> #REST copy-pastas [#rest-copy-pastas]
  • <h2> #Ackshually… [#ackshually]
  • <h2> #l໐, t໐ thē ¢໐ຖtrคrฯ [#l0-t0-the-c-0thtrkhr]
  • <h2> haiku
44/essays/rest-copypasta/
  • <h1> Why htmx Does Not Have a Build Step
    • <h2> #Write Once, Run Forever [#write-once-run-forever]
    • <h2> #Developer Experience [#developer-experience]
    • <h2> #Enforced Clarity [#enforced-clarity]
  • <h1> #Costs [#costs]
    • <h2> #No static types [#no-static-types]
    • <h2> #No ES6 [#no-es6]
    • <h2> #No modules in core [#no-modules-in-core]
  • <h1> #Final Thoughts [#final-thoughts]
    • <h2> haiku
103/essays/no-build-step/
  • <h1> hx-on
    • <h3> hx-on (deprecated) [#hx-on-deprecated]
    • <h3> Symbols [#symbols]
    • <h3> Notes [#notes]
    • <h2> haiku
53/attributes/hx-on/
  • <h1> Custom Modal Dialogs
    • <h2> #High Level Plan [#high-level-plan]
    • <h2> #Main Page HTML [#main-page-html]
    • <h2> #Modal HTML Fragment [#modal-html-fragment]
    • <h2> #Custom Stylesheet [#custom-stylesheet]
  • <h1> Modal Dialog
    • <h2> haiku
72/examples/modal-custom/
  • <h1> HX-Trigger Response Headers
    • <h3> Targetting Other Elements [#targetting-other-elements]
    • <h3> Multiple Triggers [#multiple-triggers]
    • <h2> haiku
42/headers/hx-trigger/
  • <h1> View Transitions
    • <h2> #CSS Transitions [#css-transitions]
    • <h2> #The View Transition API [#the-view-transition-api]
    • <h2> #A Practical Example [#a-practical-example]
      • <h3> #The CSS [#the-css]
      • <h3> #The HTML [#the-html]
    • <h2> #Demo [#demo]
  • <h1> Initial Content
    • <h2> #Conclusion [#conclusion]
    • <h2> haiku
102/essays/view-transitions/
  • <h1> hx-swap-oob
    • <h3> Troublesome Tables [#troublesome-tables]
    • <h2> Nested OOB Swaps [#nested-oob-swaps]
    • <h2> Notes [#notes]
    • <h2> haiku
51/attributes/hx-swap-oob/
  • <h1> Another Real World React -&gt; htmx Port
    • <h3> #Before/After Source Code [#before-after-source-code]
    • <h2> #Executive Summary [#executive-summary]
    • <h2> #Analysis [#analysis]
    • <h2> haiku
51/essays/another-real-world-react-to-htmx-port/
  • <h1> hx-get
    • <h3> Notes [#notes]
    • <h2> haiku
31/attributes/hx-get/
  • <h1> hx-swap
    • <h3> Modifiers [#modifiers]
    • <h2> Notes [#notes]
    • <h2> haiku
41/attributes/hx-swap/
  • <h1> Examples
    • <h2> #Server-side Integration Examples [#server-side-integration-examples]
    • <h2> #UI Examples [#ui-examples]
    • <h2> #Migrating from Hotwire / Turbo ? [#migrating-from-hotwire-turbo]
    • <h2> haiku
50/examples/
  • <h1> Cascading Selects
    • <h2> 🔗Demo
    • <h2> haiku
30/examples/value-select/
  • <h1> Modal Dialogs in Bootstrap
    • <h2> 🔗Demo
    • <h2> haiku
30/examples/modal-bootstrap/
  • <h1> Edit Row
    • <h2> 🔗Demo
    • <h2> haiku
30/examples/edit-row/
  • <h1> Async Authentication
    • <h2> haiku
20/examples/async-auth/
  • <h1> Model/View/Controller (MVC)
    • <h2> #An MVC Intro [#an-mvc-intro]
      • <h3> #Fat Model/Skinny Controller [#fat-model-skinny-controller]
    • <h2> #An MVC-Style Web Application [#an-mvc-style-web-application]
      • <h3> #Creating A JSON Data API Controller [#creating-a-json-data-api-controller]
      • <h3> #But You Are Duplicating Code! [#but-you-are-duplicating-code]
    • <h2> #MVC Frameworks [#mvc-frameworks]
    • <h2> #Conclusion [#conclusion]
    • <h2> haiku
90/essays/mvc/
  • <h1> HATEOAS
    • <h2> #Preface: HATEOAS — An Alternative Explanation [#preface-hateoas-an-alternative-explanation]
    • <h2> #Example [#example]
    • <h2> #Origins [#origins]
    • <h2> #HATEOAS and JSON [#hateoas-and-json]
    • <h2> haiku
60/essays/hateoas/
  • <h1> Sortable
    • <h2> 🔗Demo
    • <h2> haiku
30/examples/sortable/
  • <h1> Server-Side Examples
    • <h2> #General Resources [#general-resources]
    • <h2> #JavaScript [#javascript]
      • <h3> #Node.js [#node-js]
      • <h3> #hapi [#hapi]
    • <h2> #Python [#python]
      • <h3> #Django [#django]
      • <h3> #FastAPI [#fastapi]
      • <h3> #Flask [#flask]
      • <h3> #py4web [#py4web]
    • <h2> #Java [#java]
      • <h3> #Spring Boot [#spring-boot]
      • <h3> #Quarkus [#quarkus]
    • <h2> #ColdFusion (CFML - a JVM Language) [#coldfusion-cfml-a-jvm-language]
      • <h3> #CFWheels Framework [#cfwheels-framework]
    • <h2> #C# [#c]
      • <h3> #ASP.NET Core [#asp-net-core]
    • <h2> #Prolog [#prolog]
    • <h2> #Lisp [#lisp]
    • <h2> #Clojure [#clojure]
    • <h2> #Ruby [#ruby]
      • <h3> #Rails [#rails]
      • <h3> #Sinatra [#sinatra]
    • <h2> #Rust [#rust]
    • <h2> #Scala [#scala]
      • <h3> #http4s [#http4s]
    • <h2> #Kotlin [#kotlin]
      • <h3> #Ktor [#ktor]
      • <h3> #Http4k [#http4k]
    • <h2> #Julia [#julia]
    • <h2> #OCaml [#ocaml]
    • <h2> #PHP [#php]
      • <h3> #CodeIgniter 4 [#codeigniter-4]
      • <h3> #Laravel [#laravel]
      • <h3> #Symfony [#symfony]
    • <h2> #Elixir [#elixir]
      • <h3> #Phoenix [#phoenix]
      • <h3> #Bandit with Plug Application [#bandit-with-plug-application]
    • <h2> #F# [#f]
      • <h3> #Giraffe [#giraffe]
    • <h2> #Go [#go]
      • <h3> #templ [#templ]
      • <h3> #elem-go [#elem-go]
    • <h2> #Delphi [#delphi]
      • <h3> #DelphiMVCFramework [#delphimvcframework]
    • <h2> haiku
460/server-examples/
  • <h1> Web Security Basics (with htmx)
    • <h2> #Who is guide this for? [#who-is-guide-this-for]
    • <h2> #The Golden Rules [#the-golden-rules]
    • <h2> #Understanding the Rules [#understanding-the-rules]
      • <h3> #Only call routes you control [#only-call-routes-you-control]
      • <h3> #Always use an auto-escaping template engine [#always-use-an-auto-escaping-template-engine]
      • <h3> #Only serve user-generated content inside HTML tags [#only-serve-user-generated-content-inside-html-tags]
    • <h2> #Secure your cookies [#secure-your-cookies]
    • <h2> #Breaking the rules [#breaking-the-rules]
      • <h3> #Calling untrusted APIs [#calling-untrusted-apis]
      • <h3> #Custom HTML controls [#custom-html-controls]
      • <h3> #Non-cookie authentication [#non-cookie-authentication]
    • <h2> #Bonus: Content Security Policy [#bonus-content-security-policy]
    • <h2> #Is this a step back? [#is-this-a-step-back]
    • <h2> haiku
150/essays/web-security-basics-with-htmx/
  • <h1> A Real World React -&gt; htmx Port
    • <h2> #Video [#video]
    • <h2> #Executive Summary [#executive-summary]
    • <h2> #Analysis [#analysis]
      • <h3> #Dev Team Makeup [#dev-team-makeup]
    • <h2> #Slides [#slides]
    • <h2> haiku
70/essays/a-real-world-react-to-htmx-port/
  • <h1> Hypermedia Clients
    • <h2> #Hypermedia Clients &amp; Presentation Information [#hypermedia-clients-presentation-information]
      • <h3> #Pushing Our JSON API Further [#pushing-our-json-api-further]
      • <h3> #“Inefficient” Representations [#inefficient-representations]
    • <h2> #Building Hypermedia Clients [#building-hypermedia-clients]
      • <h3> #Hyperview [#hyperview]
    • <h2> #Conclusion [#conclusion]
    • <h2> haiku
80/essays/hypermedia-clients/
  • <h1> Hotwire / Turbo ➡️ htmx Migration Guide
    • <h2> #Turbo Drive [#turbo-drive]
    • <h2> #Turbo Frames [#turbo-frames]
    • <h2> #Turbo Streams [#turbo-streams]
    • <h2> #Events [#events]
    • <h2> #Stimulus [#stimulus]
    • <h2> haiku
70/migration-guide-hotwire-turbo/
  • <h1> Web Components
    • <h2> 🔗Demo
    • <h2> haiku
30/examples/web-components/
  • <h1> hx-select-oob
    • <h2> Notes [#notes]
    • <h2> haiku
30/attributes/hx-select-oob/
  • <h1> Does Hypermedia Scale?
    • <h2> #Scaling [#scaling]
    • <h2> #Scaling Nodes In General [#scaling-nodes-in-general]
    • <h2> #Scaling Application Performance [#scaling-application-performance]
    • <h2> #Scaling With # Of Features [#scaling-with-of-features]
    • <h2> #Scaling With Complexity Of Features [#scaling-with-complexity-of-features]
    • <h2> #Scaling The Team [#scaling-the-team]
    • <h2> #Conclusion [#conclusion]
    • <h2> haiku
90/essays/does-hypermedia-scale/
  • <h1> File Upload
    • <h2> haiku
20/examples/file-upload/
  • <h1> Complexity Budget
    • <h2> #Complexity Growth [#complexity-growth]
    • <h2> #Spending Your Complexity Budget Wisely [#spending-your-complexity-budget-wisely]
    • <h2> #A Final Note [#a-final-note]
    • <h2> haiku
50/essays/complexity-budget/
  • <h1> hx-post
    • <h2> Notes [#notes]
    • <h2> haiku
30/attributes/hx-post/
  • <h1> SPA Alternative
    • <h2> #An Alternative [#an-alternative]
      • <h3> #HTML-Centric Development [#html-centric-development]
      • <h3> #HTML: The Bad Parts [#html-the-bad-parts]
    • <h2> #Being Brave, Technically [#being-brave-technically]
    • <h2> haiku
60/essays/spa-alternative/
  • <h1> Two Approaches To Decoupling
    • <h2> #Coupling [#coupling]
    • <h2> #JSON Data APIs - Application Level Decoupling [#json-data-apis-application-level-decoupling]
      • <h3> #Decoupling Via A JSON API In Practice [#decoupling-via-a-json-api-in-practice]
    • <h2> #Hypermedia - Network Architecture Decoupling [#hypermedia-network-architecture-decoupling]
      • <h3> #REST &amp; The Uniform Interface [#rest-the-uniform-interface]
      • <h3> #Decoupling Via Hypermedia In Practice [#decoupling-via-hypermedia-in-practice]
      • <h3> #But That’s A Terrible (Data) API! [#but-that-s-a-terrible-data-api]
    • <h2> #Conclusion [#conclusion]
    • <h2> haiku
100/essays/two-approaches-to-decoupling/
  • <h1> Is htmx Just Another JavaScript Framework?
    • <h2> #The difference between a library and a framework [#the-difference-between-a-library-and-a-framework]
    • <h2> #htmx is (usually) a framework [#htmx-is-usually-a-framework]
    • <h2> #htmx is for writing HTML [#htmx-is-for-writing-html]
    • <h2> haiku
50/essays/is-htmx-another-javascript-framework/
  • <h1> Hypermedia On Whatever you'd Like
    • <h2> #Feeling The JavaScript Pressure [#feeling-the-javascript-pressure]
    • <h2> #Hypermedia: Our Only Hope [#hypermedia-our-only-hope]
    • <h2> #An Open Web for Everyone [#an-open-web-for-everyone]
    • <h2> #But, Is it An Anti-JavaScript Resistance? [#but-is-it-an-anti-javascript-resistance]
    • <h2> #Turning The Ship Around [#turning-the-ship-around]
    • <h2> haiku
70/essays/hypermedia-on-whatever-youd-like/
  • <h1> A Response To "Have Single-Page Apps Ruined the Web?"
    • <h2> #Problems with SPAs [#problems-with-spas]
    • <h2> #Problems with MPAs [#problems-with-mpas]
      • <h3> #“You Can’t Keep A Video Running On Navigations” [#you-can-t-keep-a-video-running-on-navigations]
      • <h3> #“Back Button &amp; Infinite Scroll Don’t Work” [#back-button-infinite-scroll-don-t-work]
      • <h3> #“What about Nice Navigation Transitions?” [#what-about-nice-navigation-transitions]
      • <h3> #“Multipage Apps Load Javascript Libraries Every Request” [#multipage-apps-load-javascript-libraries-every-request]
      • <h3> #“MPAs Have Network Latency Issues” [#mpas-have-network-latency-issues]
      • <h3> #“GitHub Has UI Bugs” [#github-has-ui-bugs]
    • <h2> #Transitional Applications [#transitional-applications]
    • <h2> #The Elephant In The Room: Complexity [#the-elephant-in-the-room-complexity]
    • <h2> #Javascript: The Resistance [#javascript-the-resistance]
    • <h2> haiku
130/essays/a-response-to-rich-harris/
  • <h1> hx-preserve
    • <h2> Notes [#notes]
    • <h2> haiku
30/attributes/hx-preserve/
  • <h1> hx-push-url
    • <h2> Notes [#notes]
    • <h2> haiku
30/attributes/hx-push-url/
  • <h1> Progress Bar
    • <h2> 🔗Demo
      • <h3> ${job.complete ? "Complete" : "Running"} [#pblabel]
    • <h2> haiku
40/examples/progress-bar/
  • <h1> Bulk Update
    • <h2> 🔗Demo
    • <h2> haiku
30/examples/bulk-update/
  • <h1> A Customized Confirmation UI
    • <h2> #Using on click+custom event [#using-on-click-custom-event]
    • <h2> #Vanilla JS, hx-confirm [#vanilla-js-hx-confirm]
    • <h2> haiku
40/examples/confirm/
  • <h1> Locality of Behaviour (LoB)
    • <h2> #The LoB Principle [#the-lob-principle]
    • <h2> #Discussion [#discussion]
      • <h3> #Surfacing Behaviour vs. Inlining Implementation [#surfacing-behaviour-vs-inlining-implementation]
      • <h3> #Conflict With Other Development Principles [#conflict-with-other-development-principles]
    • <h2> #Conclusion [#conclusion]
    • <h2> haiku
70/essays/locality-of-behaviour/
  • <h1> hx-confirm
    • <h2> Event details [#event-details]
    • <h2> Notes [#notes]
    • <h2> haiku
40/attributes/hx-confirm/
  • <h1> Splitting Your Data &amp; Application APIs: Going Further
    • <h2> #The Problem [#the-problem]
    • <h2> #Right about What’s Wrong [#right-about-what-s-wrong]
    • <h2> #Wrong about What’s Right [#wrong-about-what-s-right]
    • <h2> #In Conclusion [#in-conclusion]
    • <h2> haiku
60/essays/splitting-your-apis/
  • <h1> An interview with Henning Koch, Creator of Unpoly
    • <h2> haiku
20/essays/interviews/henning-koch/
  • <h1> Preserving File Inputs after Form Errors
    • <h2> haiku
20/examples/file-upload-input/
  • <h1> Hypermedia APIs vs. Data APIs
    • <h2> #APIs Today [#apis-today]
    • <h2> #Designing a Hypermedia API [#designing-a-hypermedia-api]
    • <h2> #API Churn [#api-churn]
    • <h2> #Conclusion [#conclusion]
    • <h2> haiku
60/essays/hypermedia-apis-vs-data-apis/
  • <h1> Keyboard Shortcuts
    • <h2> 🔗Demo
    • <h2> haiku
30/examples/keyboard-shortcuts/
  • <h1> Tabs (Using HATEOAS)
    • <h2> #Example Code (Main Page) [#example-code-main-page]
    • <h2> #Example Code (Each Tab) [#example-code-each-tab]
    • <h2> 🔗Demo
    • <h2> haiku
50/examples/tabs-hateoas/
  • <h1> Click to Edit
    • <h2> 🔗Demo
    • <h2> haiku
30/examples/click-to-edit/
  • <h1> HX-Push-Url Response Header
    • <h2> haiku
20/headers/hx-push-url/
  • <h1> Updating Other Content
    • <h2> #Solution 1: Expand the Target [#expand]
    • <h2> #Solution 2: Out of Band Responses [#oob]
    • <h2> #Solution 3: Triggering Events [#events]
    • <h2> #Solution 4: Using the Path Dependencies Extension [#path-deps]
    • <h2> #Which should I use? [#which-should-i-use]
    • <h2> haiku
70/examples/update-other-content/
  • <h1> htmx sucks
    • <h2> #The Code Is Crap [#the-code-is-crap]
    • <h2> #No Build Tools [#no-build-tools]
    • <h2> #No Typescript [#no-typescript]
    • <h2> #Antiquated Technology [#antiquated-technology]
    • <h2> #No Components [#no-components]
    • <h2> #No Front-End/Back-End Split [#no-front-end-back-end-split]
    • <h2> #Back-End Engineers Make Garbage UIs [#back-end-engineers-make-garbage-uis]
    • <h2> #XSS Vulnerabilities [#xss-vulnerabilities]
    • <h2> #No Jobs [#no-jobs]
    • <h2> #No One To Hire [#no-one-to-hire]
    • <h2> #Duplicating (Or More!) Your APIs [#duplicating-or-more-your-apis]
    • <h2> #It Won’t Scale [#it-won-t-scale]
    • <h2> #The Creator Is Unhinged [#the-creator-is-unhinged]
    • <h2> #Conclusion [#conclusion]
    • <h2> haiku
160/essays/htmx-sucks/
  • <h1> hx-disable
    • <h2> Notes [#notes]
    • <h2> haiku
30/attributes/hx-disable/
  • <h1> Dialogs
    • <h2> 🔗Demo
    • <h2> haiku
30/examples/dialogs/
  • <h1> hx-target
    • <h2> Notes [#notes]
    • <h2> haiku
30/attributes/hx-target/
  • <h1> Active Search
    • <h2> 🔗Demo
    • <h2> haiku
30/examples/active-search/
  • <h1> Template Fragments
    • <h2> #Motivation [#motivation]
      • <h3> #Template Fragments To The Rescue [#template-fragments-to-the-rescue]
    • <h2> #Known Template Fragment Implementations [#known-template-fragment-implementations]
    • <h2> haiku
50/essays/template-fragments/
  • <h1> Inline Validation
    • <h2> 🔗Demo
    • <h2> haiku
30/examples/inline-validation/
  • <h1> hx-include
    • <h2> Notes [#notes]
    • <h2> haiku
30/attributes/hx-include/
  • <h1> Documentation
    • <h2> #htmx in a Nutshell [#introduction]
    • <h2> #1.x to 2.x Migration Guide [#1-x-to-2-x-migration-guide]
    • <h2> #Installing [#installing]
      • <h3> #Via A CDN (e.g. unpkg.com) [#via-a-cdn-e-g-unpkg-com]
      • <h3> #Download a copy [#download-a-copy]
      • <h3> #npm [#npm]
      • <h3> #Webpack [#webpack]
    • <h2> #AJAX [#ajax]
      • <h3> #Triggering Requests [#triggers]
      • <h3> #Request Indicators [#indicators]
      • <h3> #Targets [#targets]
      • <h3> #Swapping [#swapping]
      • <h3> #Synchronization [#synchronization]
      • <h3> #CSS Transitions [#css_transitions]
      • <h3> #Out of Band Swaps [#oob_swaps]
      • <h3> #Parameters [#parameters]
      • <h3> #Confirming Requests [#confirming]
    • <h2> #Attribute Inheritance [#inheritance]
    • <h2> #Boosting [#boosting]
      • <h3> #Progressive Enhancement [#progressive_enhancement]
    • <h2> #Web Sockets &amp; SSE [#websockets-and-sse]
    • <h2> #History Support [#history]
      • <h3> #Specifying History Snapshot Element [#specifying-history-snapshot-element]
      • <h3> #Undoing DOM Mutations By 3rd Party Libraries [#undoing-dom-mutations-by-3rd-party-libraries]
      • <h3> #Disabling History Snapshots [#disabling-history-snapshots]
    • <h2> #Requests &amp; Responses [#requests]
      • <h3> #Configuring Response Handling [#response-handling]
      • <h3> #CORS [#cors]
      • <h3> #Request Headers [#request-headers]
      • <h3> #Response Headers [#response-headers]
      • <h3> #Request Order of Operations [#request-operations]
    • <h2> #Validation [#validation]
      • <h3> #Validation Example [#validation-example]
    • <h2> #Animations [#animations]
    • <h2> #Extensions [#extensions]
    • <h2> #Events &amp; Logging [#events]
      • <h3> #Initialize A 3rd Party Library With Events [#init_3rd_party_with_events]
      • <h3> #Configure a Request With Events [#config_request_with_events]
      • <h3> #Modifying Swapping Behavior With Events [#modifying_swapping_behavior_with_events]
      • <h3> #Event Naming [#event_naming]
      • <h3> #Logging [#logging]
    • <h2> #Debugging [#debugging]
      • <h3> #Creating Demos [#creating-demos]
    • <h2> #Scripting [#scripting]
      • <h3> #The hx-on* Attributes [#the-hx-on-attributes]
      • <h3> #3rd Party Javascript [#3rd-party]
    • <h2> #Caching [#caching]
    • <h2> #Security [#security]
      • <h3> #Rule 1: Escape All User Content [#rule-1-escape-all-user-content]
      • <h3> #htmx Security Tools [#htmx-security-tools]
      • <h3> #CSP Options [#csp-options]
    • <h2> #Configuring htmx [#config]
    • <h2> #Conclusion [#conclusion]
    • <h2> haiku
550/docs/
  • <h1> intercooler.js → htmx Migration Guide
    • <h2> #Before you begin [#before-you-begin]
    • <h2> #Migration Information [#migration-information]
    • <h2> haiku
40/migration-guide-intercooler/
  • <h1> hx-history
    • <h2> Notes [#notes]
    • <h2> haiku
30/attributes/hx-history/
  • <h1> hx-validate
    • <h2> Notes [#notes]
    • <h2> haiku
30/attributes/hx-validate/
  • <h1> HX-Location Response Header
    • <h2> haiku
20/headers/hx-location/
  • <h1> hx-vals
    • <h2> Security Considerations [#security-considerations]
    • <h2> Notes [#notes]
    • <h2> haiku
40/attributes/hx-vals/
  • <h1> HX-Replace-Url Response Header
    • <h2> haiku
20/headers/hx-replace-url/
  • <h1> hx-indicator
    • <h2> Demo [#demo]
    • <h2> Notes [#notes]
    • <h2> haiku
40/attributes/hx-indicator/
  • <h1> hx-disabled-elt
    • <h2> Notes [#notes]
    • <h2> haiku
30/attributes/hx-disabled-elt/
  • <h1> hx-replace-url
    • <h2> Notes [#notes]
    • <h2> haiku
30/attributes/hx-replace-url/
  • <h1> hx-vars
    • <h2> Security Considerations [#security-considerations]
    • <h2> Notes [#notes]
    • <h2> haiku
40/attributes/hx-vars/
  • <h1> hx-disinherit
    • <h2> Notes [#notes]
    • <h2> haiku
30/attributes/hx-disinherit/
  • <h1> hx-ext
    • <h2> Notes [#notes]
    • <h2> haiku
30/attributes/hx-ext/
  • <h1> hx-patch
    • <h2> Notes [#notes]
    • <h2> haiku
30/attributes/hx-patch/
  • <h1> htmx 1.x → htmx 2.x Migration Guide
    • <h2> #Upgrade Music [#upgrade-music]
    • <h2> haiku
30/migration-guide-htmx-1/
  • <h1> hx-inherit
    • <h2> Notes [#notes]
    • <h2> haiku
30/attributes/hx-inherit/
  • <h1> hx-params
    • <h2> Notes [#notes]
    • <h2> haiku
30/attributes/hx-params/
  • <h1> hx-encoding
    • <h2> Notes [#notes]
    • <h2> haiku
30/attributes/hx-encoding/
  • <h1> hx-boost
    • <h2> Notes [#notes]
    • <h2> haiku
30/attributes/hx-boost/
  • <h1> Why I Tend Not To Use Content Negotiation
    • <h2> #What Is Content Negotiation? [#what-is-content-negotiation]
    • <h2> #Using Content Negotiation In APIs [#using-content-negotiation-in-apis]
    • <h2> #So What’s The Problem? [#so-what-s-the-problem]
    • <h2> #So What’s The Alternative? [#so-what-s-the-alternative]
    • <h2> haiku
60/essays/why-tend-not-to-use-content-negotiation/
  • <h1> Click to Load
    • <h2> 🔗Demo
    • <h2> haiku
30/examples/click-to-load/
  • <h1> REST - Explained For Beginners
    • <h2> #Overview [#overview]
    • <h2> #Section 5.1 Deriving Rest [#section-5-1-deriving-rest]
      • <h3> #Client Server [#client-server]
      • <h3> #Stateless [#stateless]
      • <h3> #Cache [#cache]
      • <h3> #Uniform Interface [#uniform-interface]
      • <h3> #Layered System [#layered-system]
      • <h3> #Code-On-Demand [#code-on-demand]
    • <h2> #Section 5.2 - REST Architectural Elements [#section-5-2-rest-architectural-elements]
    • <h2> #Section 5.2.1 - Resources and Resource Identifiers [#section-5-2-1-resources-and-resource-identifiers]
    • <h2> #Section 5.2.1 - Representations [#section-5-2-1-representations]
    • <h2> #Section 5.3 - REST Architectural Views [#section-5-3-rest-architectural-views]
    • <h2> #Sections 5.4 &amp; 5.5 - Related Work &amp; Summary [#sections-5-4-5-5-related-work-summary]
    • <h2> #Summary [#summary]
    • <h2> haiku
160/essays/rest-explained/
  • <h1> hx-select
    • <h2> Notes [#notes]
    • <h2> haiku
30/attributes/hx-select/
  • <h1> htmx Talk
    • <h2> #Feature Requests &amp; Bug Reports [#feature-requests-bug-reports]
    • <h2> #Social [#social]
    • <h2> #GitHub Stars [#github-stars]
    • <h2> #Webring [#webring]
    • <h2> #Training [#training]
    • <h2> #Atom Feed (Announcements &amp; Essays) [#atom-feed-announcements-essays]
    • <h2> 🔗Announcements [#announcements]
    • <h2> 🔗Essays [#essays]
    • <h2> 🔗Podcasts [#podcasts]
    • <h2> haiku
110/talk/
  • <h1> Tabs (Using JavaScript)
    • <h2> #Example Code [#example-code]
    • <h2> 🔗Demo
    • <h2> haiku
40/examples/tabs-javascript/
  • <h1> Delete Row
    • <h2> 🔗Demo
    • <h2> haiku
30/examples/delete-row/
  • <h1> Hypermedia-Driven Applications
    • <h2> #Genesis [#genesis]
    • <h2> #The Hypermedia-Driven Application Architecture [#the-hypermedia-driven-application-architecture]
    • <h2> #An Example HDA fragment [#an-example-hda-fragment]
    • <h2> #Scripting In An HDA [#scripting-in-an-hda]
    • <h2> #HDA-style libraries [#hda-style-libraries]
    • <h2> #Conclusion [#conclusion]
    • <h2> haiku
80/essays/hypermedia-driven-applications/
  • <h1> hx-sync
    • <h2> Notes [#notes]
    • <h2> haiku
30/attributes/hx-sync/
  • <h1> hx-history-elt
    • <h2> Notes [#notes]
    • <h2> haiku
30/attributes/hx-history-elt/
  • <h1> hx-request
    • <h2> Notes [#notes]
    • <h2> haiku
30/attributes/hx-request/
  • <h1> Modal Dialogs with UIKit
    • <h2> 🔗Demo
    • <h2> haiku
30/examples/modal-uikit/
  • <h1> Hypermedia-Friendly Scripting
    • <h2> #Scripting &amp; The Web [#scripting_and_the_web]
    • <h2> #The Prime Directive [#prime_directive]
    • <h2> #State [#state]
    • <h2> #Events [#events]
    • <h2> #Islands [#islands]
    • <h2> #Inline Scripts [#inline]
    • <h2> #Pragmatism [#pragmatism]
    • <h2> haiku
90/essays/hypermedia-friendly-scripting/
  • <h1> The #ViewSource Affordance
    • <h2> #Open Culture &amp; The Web [#open-culture-the-web]
      • <h3> #Right-Click-View-Source As Culture [#right-click-view-source-as-culture]
    • <h2> #Digital Enclosure vs. Technical Enclosure [#digital-enclosure-vs-technical-enclosure]
      • <h3> #Technical Enclosure [#technical-enclosure]
      • <h3> #Google in 2000 [#google-in-2000]
      • <h3> #Google in 2023 [#google-in-2023]
    • <h2> #Right-Click-View-Source Extremism [#right-click-view-source-extremism]
    • <h2> #Prioritizing #ViewSource [#prioritizing-viewsource]
    • <h2> haiku
100/essays/right-click-view-source/
  • <h1> Infinite Scroll
    • <h2> 🔗Demo
    • <h2> haiku
30/examples/infinite-scroll/
  • <h1> htmx webring
    • <h2> haiku
20/webring/
  • <h1> How Did REST Come To Mean The Opposite of REST?
    • <h2> #Tapping The Sign [#tapping-the-sign]
    • <h2> #Where Did REST Come From? [#where-did-rest-come-from]
      • <h3> #The Crux of REST: The Uniform Interface &amp; HATEOAS [#the-crux-of-rest-the-uniform-interface-hateoas]
      • <h3> #Inventor: RESTful APIs Must Be Hypermedia Driven [#inventor-restful-apis-must-be-hypermedia-driven]
      • <h3> #Industry: Lol, No, RESTful APIs Are JSON [#industry-lol-no-restful-apis-are-json]
    • <h2> #How “REST” came to mean “RESTless” [#how-rest-came-to-mean-restless]
      • <h3> #Maybe REST can work for Web Services? [#maybe-rest-can-work-for-web-services]
      • <h3> #Formalizing REST APIs [#formalizing-rest-apis]
      • <h3> #“REST” Wins, Kinda… [#rest-wins-kinda]
      • <h3> #The REST Wars [#the-rest-wars]
      • <h3> #The State of REST Today [#the-state-of-rest-today]
    • <h2> #OK, What Can We Do About This Situation? [#ok-what-can-we-do-about-this-situation]
    • <h2> haiku
140/essays/how-did-rest-come-to-mean-the-opposite-of-rest/
  • <h1> Reference
    • <h2> #Contents [#contents]
    • <h2> #Core Attribute Reference [#attributes]
    • <h2> #Additional Attribute Reference [#attributes-additional]
    • <h2> #CSS Class Reference [#classes]
    • <h2> #HTTP Header Reference [#headers]
      • <h3> #Request Headers Reference [#request_headers]
      • <h3> #Response Headers Reference [#response_headers]
    • <h2> #Event Reference [#events]
    • <h2> #JavaScript API Reference [#api]
    • <h2> #Configuration Reference [#config]
    • <h2> haiku
120/reference/
  • <h1> hx-headers
    • <h2> Security Considerations [#security-considerations]
    • <h2> Notes [#notes]
    • <h2> haiku
40/attributes/hx-headers/
  • <h1> When Should You Use Hypermedia?
    • <h2> #Transitional Applications &amp; Hypermedia [#transitional-applications-hypermedia]
    • <h2> #Hypermedia: A Good Fit If… [#hypermedia-a-good-fit-if]
      • <h3> #…If your UI is mostly text &amp; images [#if-your-ui-is-mostly-text-images]
      • <h3> #…If your UI is CRUD-y [#if-your-ui-is-crud-y]
      • <h3> #…If your UI is “nested”, with updates mostly taking place within well-defined blocks [#if-your-ui-is-nested-with-updates-mostly-taking-place-within-well-defined-blocks]
      • <h3> #…If you need “deep links” &amp; good first-render performance [#if-you-need-deep-links-good-first-render-performance]
    • <h2> #Hypermedia: Not A Good Fit If… [#hypermedia-not-a-good-fit-if]
      • <h3> #…If your UI has many, dynamic interdependencies [#if-your-ui-has-many-dynamic-interdependencies]
      • <h3> #…If you require offline functionality [#if-you-require-offline-functionality]
      • <h3> #…If your UI state is updated extremely frequently [#if-your-ui-state-is-updated-extremely-frequently]
      • <h3> #…If your team is not on board [#if-your-team-is-not-on-board]
    • <h2> #Conclusion [#conclusion]
    • <h2> haiku
140/essays/when-to-use-hypermedia/
  • <h1> hx-delete
    • <h2> Notes [#notes]
    • <h2> haiku
30/attributes/hx-delete/
  • <h1> Lazy Loading
    • <h2> 🔗Demo
    • <h2> haiku
30/examples/lazy-load/
  • <h1> hx-put
    • <h2> Notes [#notes]
    • <h2> haiku
30/attributes/hx-put/
  • <h1> hx-prompt
    • <h2> Notes [#notes]
    • <h2> haiku
30/attributes/hx-prompt/
No rows found, please edit your search term.

Content types

Content typeURLs 🔽Total sizeTotal timeAvg timeStatus 20xStatus 30xStatus 40x
HTML1112 MB18 s162 ms 109 02
Image8718 MB14 s164 ms 87 00
Redirect192 kB2.8 s149 ms 019 0
JS123 MB878 ms73 ms 12 00
Font6387 kB657 ms109 ms 6 00
CSS44 kB322 ms80 ms 4 00
XML1140 kB132 ms132 ms 1 00

Content types (MIME types)

Found 13 row(s).
Content typeURLs 🔽Total sizeTotal timeAvg timeStatus 20xStatus 30xStatus 40x
text/html; charset=UTF-81082 MB17 s159 ms 108 00
image/png5317 MB11 s205 ms 53 00
image/svg+xml29103 kB2.2 s75 ms 29 00
text/html2012 kB3.3 s165 ms 1 19 0
application/javascript; charset=utf-873 MB493 ms70 ms 7 00
font/woff6387 kB657 ms109 ms 6 00
application/javascript; charset=UTF-8565 kB385 ms77 ms 5 00
image/jpeg4354 kB849 ms212 ms 4 00
text/css; charset=utf-832 kB245 ms82 ms 3 00
text/html; charset=utf-82136 B380 ms190 ms 002
application/xml1140 kB132 ms132 ms 1 00
text/css; charset=UTF-812 kB77 ms77 ms 1 00
image/gif1333 kB421 ms421 ms 1 00
No rows found, please edit your search term.

Source domains

DomainTotalsHTMLImageJSCSSFontXMLRedirect
htmx.org218 / 20MB / 34s110 / 2MB / 18s87 / 18MB / 14s5 / 65kB / 385ms1 / 2kB / 77ms1 / 140kB / 132ms14 / 1kB / 2.1s
unpkg.com7 / 3MB / 949ms3 / 3MB / 262ms4 / 500B / 687ms
fonts.gstatic.com6 / 387kB / 657ms6 / 387kB / 657ms
fonts.googleapis.com3 / 2kB / 245ms3 / 2kB / 245ms
cdn.jsdelivr.net3 / 115kB / 128ms3 / 115kB / 128ms
discord.gg1 / 133B / 55ms1 / 133B / 55ms
discord.com1 / 10kB / 472ms1 / 10kB / 472ms
buttons.github.io1 / 7kB / 103ms1 / 7kB / 103ms

HTTP headers

Found 17 row(s).
Header 🔼OccursUniqueValues previewMin valueMax value
Accept-Ranges2151bytes
Age218-[ignored generic values]0 sec(s)10.6 hour(s)
Cache-Control2181public,max-age=0,must-revalidate
Cache-Status2182"Netlify Edge"; hit (161) / "Netlify Edge"; fwd=miss (57)
Connection2181close
Content-Encoding1441br
Content-Length177-[ignored generic values]42 B2 MB
Content-Type21810[see values below]
Date218-[ignored generic values]2024-08-162024-08-16
Etag217-[ignored generic values]
Location1414[see values below]
Netlify-Vary11query
Server2181Netlify
Strict-Transport-Security2181max-age=31536000
Transfer-Encoding411chunked
Vary1441Accept-Encoding
X-Nf-Request-Id21820+[see values below]
No rows found, please edit your search term.

HTTP header values

Found 55 row(s).
HeaderOccursValue
Accept-Ranges215bytes
Cache-Control218public,max-age=0,must-revalidate
Cache-Status161"Netlify Edge"; hit
Cache-Status57"Netlify Edge"; fwd=miss
Connection218close
Content-Encoding144br
Content-Type108text/html; charset=UTF-8
Content-Type53image/png
Content-Type29image/svg+xml
Content-Type14text/html
Content-Type5application/javascript; charset=UTF-8
Content-Type4image/jpeg
Content-Type2text/html; charset=utf-8
Content-Type1application/xml
Content-Type1text/css; charset=UTF-8
Content-Type1image/gif
Location1https://discord.gg/Z6gPqAd
Location1/essays/hateoas/
Location1/examples/
Location1/reference/
Location1/attributes/hx-history/
Location1/essays/locality-of-behaviour/
Location1/attributes/hx-on/
Location1/attributes/hx-disable/
Location1/examples/animations/
Location1/events/
Location1/attributes/hx-boost/
Location1/essays/hypermedia-driven-applications/
Location1/attributes/hx-swap/
Location1/essays/hypermedia-friendly-scripting/
Netlify-Vary1query
Server218Netlify
Strict-Transport-Security218max-age=31536000
Transfer-Encoding41chunked
Vary144Accept-Encoding
X-Nf-Request-Id101J5E95JZ1HZJAKFK60SZ6ZYQ1
X-Nf-Request-Id101J5E95K3TX7BQMMEB0XQQ1SBQ
X-Nf-Request-Id101J5E95K5PB45FRNH3M7Y5WDVD
X-Nf-Request-Id101J5E95K752CACJSSXDCZ3PJXA
X-Nf-Request-Id101J5E95KC0D8ZP4AFT5PQJH0WJ
X-Nf-Request-Id101J5E95K8YSGC97S2JXRKS9C4P
X-Nf-Request-Id101J5E95KACB8RT7S5NBXPR17CR
X-Nf-Request-Id101J5E95KFWYSJ4CVV9YFWZ91MR
X-Nf-Request-Id101J5E95KH6V71MBQ4JJP5KTS4M
X-Nf-Request-Id101J5E95KE93DPA4Q2C8SC9CYG3
X-Nf-Request-Id101J5E95KKKT4ZVF2RG8A7NNS9J
X-Nf-Request-Id101J5E95KMQFP0V8W123NMY40GR
X-Nf-Request-Id101J5E95KQV81K0BRXBPYZHZ2QT
X-Nf-Request-Id101J5E95KSRYCBDAE1M6H1BFAG9
X-Nf-Request-Id101J5E95KVAXRBEKEJREPZTK2PN
X-Nf-Request-Id101J5E95KWX3RQRA2MW72J18J2M
X-Nf-Request-Id101J5E95KPH321GCYC16K5TFD1Q
X-Nf-Request-Id101J5E95KYD1AHW8PQ4S66AD26C
X-Nf-Request-Id101J5E95M1J74ZEPC2RNG3XQBW1
X-Nf-Request-Id101J5E95M01VRV0MG9JQA0DF4AR
No rows found, please edit your search term.

DNS info

DNS resolving tree
htmx.org
  IPv4: 35.156.224.161
  IPv4: 3.72.140.173
DNS server: 10.255.255.254

SSL/TLS info

InfoText
IssuerC = US, O = Let's Encrypt, CN = E5
SubjectCN = *.htmx.org
Valid fromAug 15 12:26:36 2024 GMT (VALID already 1.3 day(s))
Valid toNov 13 12:26:35 2024 GMT (VALID still for 88.7 day(s))
Supported protocolsTLSv1.2, TLSv1.3
RAW certificate outputCertificate:
    Data:
        Version: 3 (0x2)
        Serial Number:
            03:82:f6:77:7d:17:a8:56:58:89:89:28:d0:4a:f0:13:30:82
        Signature Algorithm: ecdsa-with-SHA384
        Issuer: C = US, O = Let's Encrypt, CN = E5
        Validity
            Not Before: Aug 15 12:26:36 2024 GMT
            Not After : Nov 13 12:26:35 2024 GMT
        Subject: CN = *.htmx.org
        Subject Public Key Info:
            Public Key Algorithm: id-ecPublicKey
                Public-Key: (256 bit)
                pub:
                    04:f8:dc:24:c7:b8:3a:97:86:3b:e7:f1:95:18:6b:
                    8e:13:40:c8:d0:55:6d:6b:6c:05:23:0e:29:94:67:
                    6c:4b:96:90:f7:f7:2d:66:85:bc:d8:45:56:17:b2:
                    b3:29:0e:48:9e:1e:19:ea:4a:a5:0c:c4:a3:20:ed:
                    a9:1c:e7:98:39
                ASN1 OID: prime256v1
                NIST CURVE: P-256
        X509v3 extensions:
            X509v3 Key Usage: critical
                Digital Signature
            X509v3 Extended Key Usage: 
                TLS Web Server Authentication, TLS Web Client Authentication
            X509v3 Basic Constraints: critical
                CA:FALSE
            X509v3 Subject Key Identifier: 
                BE:2A:B0:78:BC:55:74:FA:44:59:CA:F5:D1:E8:B0:C3:DF:D4:8A:CC
            X509v3 Authority Key Identifier: 
                9F:2B:5F:CF:3C:21:4F:9D:04:B7:ED:2B:2C:C4:C6:70:8B:D2:D7:0D
            Authority Information Access: 
                OCSP - URI:http://e5.o.lencr.org
                CA Issuers - URI:http://e5.i.lencr.org/
            X509v3 Subject Alternative Name: 
                DNS:*.htmx.org, DNS:htmx.org
            X509v3 Certificate Policies: 
                Policy: 2.23.140.1.2.1
            CT Precertificate SCTs: 
                Signed Certificate Timestamp:
                    Version   : v1 (0x0)
                    Log ID    : 19:98:10:71:09:F0:D6:52:2E:30:80:D2:9E:3F:64:BB:
                                83:6E:28:CC:F9:0F:52:8E:EE:DF:CE:4A:3F:16:B4:CA
                    Timestamp : Aug 15 13:25:06.663 2024 GMT
                    Extensions: none
                    Signature : ecdsa-with-SHA256
                                30:46:02:21:00:DF:81:2C:D4:BD:75:3B:4B:0F:58:4D:
                                96:E4:1A:74:1F:75:BF:95:73:4C:13:19:84:09:74:64:
                                07:D0:C8:3F:75:02:21:00:B2:3E:7D:A0:D8:CB:E7:F3:
                                44:8E:00:CC:1A:DC:5E:D9:69:79:FC:CC:A4:D1:E3:3D:
                                C5:DE:91:35:A2:B2:4B:70
                Signed Certificate Timestamp:
                    Version   : v1 (0x0)
                    Log ID    : 76:FF:88:3F:0A:B6:FB:95:51:C2:61:CC:F5:87:BA:34:
                                B4:A4:CD:BB:29:DC:68:42:0A:9F:E6:67:4C:5A:3A:74
                    Timestamp : Aug 15 13:25:06.710 2024 GMT
                    Extensions: none
                    Signature : ecdsa-with-SHA256
                                30:45:02:20:07:FF:74:E7:AC:DE:36:33:34:B8:01:7B:
                                05:6E:58:4B:62:42:57:58:67:EA:ED:FF:C9:40:76:0F:
                                37:43:75:5C:02:21:00:9B:5F:B2:5B:9D:DA:8D:3A:E5:
                                7A:07:79:64:54:AF:BE:0A:AD:15:79:48:FB:25:DB:A0:
                                E6:12:78:86:63:88:A5
    Signature Algorithm: ecdsa-with-SHA384
    Signature Value:
        30:65:02:30:13:d8:73:28:0b:73:ae:c5:d7:29:53:c8:b8:23:
        b5:8f:d6:aa:5a:5f:34:69:ab:50:4a:15:ab:6d:5d:5f:26:fa:
        9c:18:bb:bb:0a:cc:8c:9f:40:10:60:51:29:ed:6d:92:02:31:
        00:f6:06:75:28:78:16:c5:83:c5:fb:25:d8:17:62:44:22:fb:
        84:f5:4e:62:d5:ff:e8:01:86:20:ec:3b:f8:5f:ed:e4:13:fb:
        3a:c1:2b:c0:ee:73:c0:2e:7b:9a:6b:e4:22
RAW protocols outputdepth=2 C = US, O = Internet Security Research Group, CN = ISRG Root X1
verify return:1
depth=1 C = US, O = Let's Encrypt, CN = E5
verify return:1
depth=0 CN = *.htmx.org
verify return:1
CONNECTED(00000005)
---
Certificate chain
 0 s:CN = *.htmx.org
   i:C = US, O = Let's Encrypt, CN = E5
   a:PKEY: id-ecPublicKey, 256 (bit); sigalg: ecdsa-with-SHA384
   v:NotBefore: Aug 15 12:26:36 2024 GMT; NotAfter: Nov 13 12:26:35 2024 GMT
 1 s:C = US, O = Let's Encrypt, CN = E5
   i:C = US, O = Internet Security Research Group, CN = ISRG Root X1
   a:PKEY: id-ecPublicKey, 384 (bit); sigalg: RSA-SHA256
   v:NotBefore: Mar 13 00:00:00 2024 GMT; NotAfter: Mar 12 23:59:59 2027 GMT
---
Server certificate
-----BEGIN CERTIFICATE-----
MIIDgDCCAwagAwIBAgISA4L2d30XqFZYiYko0ErwEzCCMAoGCCqGSM49BAMDMDIx
CzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MQswCQYDVQQDEwJF
NTAeFw0yNDA4MTUxMjI2MzZaFw0yNDExMTMxMjI2MzVaMBUxEzARBgNVBAMMCiou
aHRteC5vcmcwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAT43CTHuDqXhjvn8ZUY
a44TQMjQVW1rbAUjDimUZ2xLlpD39y1mhbzYRVYXsrMpDkieHhnqSqUMxKMg7akc
55g5o4ICFzCCAhMwDgYDVR0PAQH/BAQDAgeAMB0GA1UdJQQWMBQGCCsGAQUFBwMB
BggrBgEFBQcDAjAMBgNVHRMBAf8EAjAAMB0GA1UdDgQWBBS+KrB4vFV0+kRZyvXR
6LDD39SKzDAfBgNVHSMEGDAWgBSfK1/PPCFPnQS37SssxMZwi9LXDTBVBggrBgEF
BQcBAQRJMEcwIQYIKwYBBQUHMAGGFWh0dHA6Ly9lNS5vLmxlbmNyLm9yZzAiBggr
BgEFBQcwAoYWaHR0cDovL2U1LmkubGVuY3Iub3JnLzAfBgNVHREEGDAWggoqLmh0
bXgub3JngghodG14Lm9yZzATBgNVHSAEDDAKMAgGBmeBDAECATCCAQUGCisGAQQB
1nkCBAIEgfYEgfMA8QB3ABmYEHEJ8NZSLjCA0p4/ZLuDbijM+Q9Sju7fzko/FrTK
AAABkVY2oecAAAQDAEgwRgIhAN+BLNS9dTtLD1hNluQadB91v5VzTBMZhAl0ZAfQ
yD91AiEAsj59oNjL5/NEjgDMGtxe2Wl5/Myk0eM9xd6RNaKyS3AAdgB2/4g/Crb7
lVHCYcz1h7o0tKTNuyncaEIKn+ZnTFo6dAAAAZFWNqIWAAAEAwBHMEUCIAf/dOes
3jYzNLgBewVuWEtiQldYZ+rt/8lAdg83Q3VcAiEAm1+yW53ajTrlegd5ZFSvvgqt
FXlI+yXboOYSeIZjiKUwCgYIKoZIzj0EAwMDaAAwZQIwE9hzKAtzrsXXKVPIuCO1
j9aqWl80aatQShWrbV1fJvqcGLu7CsyMn0AQYFEp7W2SAjEA9gZ1KHgWxYPF+yXY
F2JEIvuE9U5i1f/oAYYg7Dv4X+3kE/s6wSvA7nPALnuaa+Qi
-----END CERTIFICATE-----
subject=CN = *.htmx.org
issuer=C = US, O = Let's Encrypt, CN = E5
---
No client certificate CA names sent
Peer signing digest: SHA256
Peer signature type: ECDSA
Server Temp Key: X25519, 253 bits
---
SSL handshake has read 2376 bytes and written 306 bytes
Verification: OK
---
New, TLSv1.3, Cipher is TLS_AES_128_GCM_SHA256
Server public key is 256 bit
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
Early data was not sent
Verify return code: 0 (ok)
---
DONE
---
Post-Handshake New Session Ticket arrived:
SSL-Session:
    Protocol  : TLSv1.3
    Cipher    : TLS_AES_128_GCM_SHA256
    Session-ID: EC4A80537479E6CBC83AC3554726D60C0620091F9652BC359789AE0F28917CC2
    Session-ID-ctx: 
    Resumption PSK: 21F895C71A2C537546F6D091AA2B75F77B2C44BC6A5C45B2A66ECBB80B2C14E3
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    TLS session ticket lifetime hint: 604800 (seconds)
    TLS session ticket:
    0000 - 5f 87 ac 98 ac 72 46 fb-89 de 0b f1 d3 8e 99 5c   _....rF........\
    0010 - 28 b5 a2 bc ae dd 25 86-e6 e9 8c 0b 35 67 38 3b   (.....%.....5g8;
    0020 - 53 bd d1 f3 44 a6 33 47-99 a3 22 1d 19 25 ba b0   S...D.3G.."..%..
    0030 - 9b e4 2b 76 e0 1d ff fb-23 8d 74 e7 dc b5 59 7a   ..+v....#.t...Yz
    0040 - 08 ea 9d e4 4f 7d 92 e2-0f 73 96 78 af 3c 64 0c   ....O}...s.x.     0050 - 13 7b 9e 3d 8e 46 d6 2d-b0 df fe b2 82 c2 59 07   .{.=.F.-......Y.
    0060 - e6 1a 4d a4 51 99 1d ac-5d                        ..M.Q...]

    Start Time: 1723835026
    Timeout   : 7200 (sec)
    Verify return code: 0 (ok)
    Extended master secret: no
    Max Early Data: 0
---
read R BLOCK

Crawler stats

Basic stats
Total execution time18 s
Total URLs240
Total size23 MB
Requests - total time37 s
Requests - avg time155 ms
Requests - min time29 ms
Requests - max time2.9 s
Requests by status200 : 219
301 : 15
302 : 4
404 : 2

Analysis stats

Found 20 row(s).
Class::methodExec time 🔽Exec count
SslTlsAnalyzer::getTLSandSSLCertificateInfo506 ms 1
Manager::parseDOMDocument71 ms 111
AccessibilityAnalyzer::checkMissingAriaLabels27 ms 108
BestPracticeAnalyzer::checkMaxDOMDepth18 ms 111
BestPracticeAnalyzer::checkHeadingStructure14 ms 111
AccessibilityAnalyzer::checkMissingRoles14 ms 108
BestPracticeAnalyzer::checkNonClickablePhoneNumbers14 ms 111
AccessibilityAnalyzer::checkMissingLabels8 ms 108
BestPracticeAnalyzer::checkInlineSvg7 ms 111
BestPracticeAnalyzer::checkMissingQuotesOnAttributes3 ms 111
AccessibilityAnalyzer::checkImageAltAttributes1 ms 108
AccessibilityAnalyzer::checkMissingLang1 ms 108
SeoAndOpenGraphAnalyzer::analyzeHeadings0 ms 1
SeoAndOpenGraphAnalyzer::analyzeSeo0 ms 1
BestPracticeAnalyzer::checkTitleUniqueness0 ms 1
BestPracticeAnalyzer::checkMetaDescriptionUniqueness0 ms 1
BestPracticeAnalyzer::checkBrotliSupport0 ms 1
SeoAndOpenGraphAnalyzer::analyzeOpenGraph0 ms 1
BestPracticeAnalyzer::checkWebpSupport0 ms 1
BestPracticeAnalyzer::checkAvifSupport0 ms 1
No rows found, please edit your search term.

Content processor stats

Found 12 row(s).
Class::methodExec time 🔽Exec count
HtmlProcessor::findUrls17 ms 124
AstroProcessor::findUrls3 ms 122
NextJsProcessor::applyContentChangesBeforeUrlParsing2 ms 127
JavaScriptProcessor::findUrls1 ms 122
CssProcessor::findUrls1 ms 114
AstroProcessor::applyContentChangesBeforeUrlParsing0 ms 123
NextJsProcessor::findUrls0 ms 126
HtmlProcessor::applyContentChangesBeforeUrlParsing0 ms 130
SvelteProcessor::findUrls0 ms 110
CssProcessor::applyContentChangesBeforeUrlParsing0 ms 115
SvelteProcessor::applyContentChangesBeforeUrlParsing0 ms 111
JavaScriptProcessor::applyContentChangesBeforeUrlParsing0 ms 123
No rows found, please edit your search term.

Crawler info

Version 1.0.7.20231222
Executed At 2024-08-16 19:03:28
Commandsrc/crawler.php \
  --workers=3 \
  --max-reqs-per-sec=20 \
  --upload \
  --upload-retention=forever \
  --max-visited-urls=1000 \
  --allowed-domain-for-external-files=* \
  --extra-columns=CF-Cache-Status,Title(50) \
  --url=https://htmx.org/
User-Agent Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/24.0.0.0 Safari/537.36 siteone-crawler/1.0.7.20231222