Compare commits

..

No commits in common. "af33d17f2e064b5a88cf0cef8d6bc4d8f216bae0" and "30e5bdc6287ea2e82e9c74e840d5a4e02121b32a" have entirely different histories.

View File

@ -70,7 +70,7 @@ event, submit (see hx-trigger, submit)
* HDA (see Hypermedia-Driven Application) * HDA (see Hypermedia-Driven Application)
* Hotwire 84 * Hotwire 84
* HOWL stack 41 * HOWL stack 41
* HTML HTML
** <details> 155 ** <details> 155
** 2.0 16, 25 ** 2.0 16, 25
** history of 16 ** history of 16
@ -96,11 +96,7 @@ event, submit (see hx-trigger, submit)
** htmx:afterRequest 182 ** htmx:afterRequest 182
** htmx:beforeSwap 187 ** htmx:beforeSwap 187
** htmx:configRequest 182 ** htmx:configRequest 182
*** detail.parameters 183
*** detail.target 183
*** detail.verb 183
** htmx:load 182 ** htmx:load 182
* htmx patterns * htmx patterns
** active search 128 ** active search 128
** boosting 102 ** boosting 102
@ -113,79 +109,20 @@ event, submit (see hx-trigger, submit)
** inline delete 144 ** inline delete 144
** inline validation 115, 118 ** inline validation 115, 118
** integration using events 226 ** integration using events 226
** HX-Request 39
** keyboard shortcut 93 ** keyboard shortcut 93
** lazy loading 139 ** lazy loading 139
** pagination 120-122 ** pagination 120-122
** request indicator 137, 143 ** request indicator 137, 143
** server-triggered events 189 ** server-triggered events 189
* htmx-indicator 138, 143 * htmx-indicator 138, 143
* htmx-swapping 150 * htmx-swapping 150
* htmx attributes 85, 176 * htmx attributes 85, 176
** attribute inheritance 104 ** attribute inheritance 104
** hx-boost 102-107 * htmx:configRequest
*** disabling 173 ** detail.parameters 183
** hx-confirm 112, 152 ** detail.target 183
** hx-delete 85, 90, 107, 145 ** detail.verb 183
** hx-disable 180, 193 HTTP
** hx-get 85, 124
** hx-include 95, 152
** hx-indicator 138, 143
** hx-patch 85
** hx-post 85
** hx-preserve 179
** hx-push-url 98, 111, 136, 179
** hx-put, about 85
** hx-select, example 124
** hx-swap 88, 170, 150, 176
*** afterbegin 88
*** afterend 88
*** beforebegin 88
*** beforeend 88
*** delay 150
*** delete 88
*** focus-scroll 176
*** innerHTML 88
*** none 89
*** outerHTML 88, 124, 146
*** scroll 176
*** settle 176
*** show 176
** hx-swap-oob 188
** hx-sync 180
** hx-target 87, 110,129, 176
** hx-trigger 90, 93, 177
*** defaults 90, 177
*** change
*** changed 120, 177
*** consume 178
*** delay 119, 128, 177
*** event filters 91, 178
*** from: 93, 178
*** intersect 179
*** keyup 92, 128
*** load 142
*** multiple events 92
*** once 177
*** queue 178
*** revealed 125, 144
*** synthetic events 125, 179
*** target 178
*** throttle 178
** hx-vals 96-97
*** js: prefix 97
*** JSON 97
* htmx response headers
** HX-Location 186
** HX-Push-Url 186
** HX-Refresh 186
** HX-Retarget 186
** HX-Trigger 185
* HTTP
** cookies 239 ** cookies 239
** methods 36, 81 ** methods 36, 81
*** DELETE 36 *** DELETE 36
@ -193,7 +130,6 @@ event, submit (see hx-trigger, submit)
*** PATCH 36 *** PATCH 36
*** POST 19, 36, 72, 82 *** POST 19, 36, 72, 82
*** PUT 37 *** PUT 37
** response caching 39 ** response caching 39
** response codes 38, 109, 186 ** response codes 38, 109, 186
** response headers ** response headers
@ -201,191 +137,235 @@ event, submit (see hx-trigger, submit)
*** Content-Disposition 169 *** Content-Disposition 169
*** Vary 40, 136 *** Vary 40, 136
* hx- (see htmx attributes) hx-boost 102-107
hx-boost, disabling 173
* HXML 248 hx-confirm 112, 152
** Hello World! 252 hx-delete 85, 90, 107, 145
** styling 258 hx-disable 180, 193
** custom elements hx-get 85, 124
hx-include 95, 152
** <body> 253 hx-indicator 138, 143
** <date-field> hx-patch 85
** <doc> hx-post 85
** <form> 296 hx-preserve 179
** <header> 253 hx-push-url 98, 111, 136, 179
** <image> 255-6 hx-put, about 85
** <item> 253-4 HX-Request 39
** <list> 253-4, 287 hx-select, example 124
** <screen> 252-3 hx-swap 150, 176
** <section-list> 255 hx-swap-oob 188
** <section-title> hx-swap 88, 170, 176
** <section> 255, hx-swap, afterbegin 88
** <select-multiple> 257 hx-swap, afterend 88
** <select-single> 257 hx-swap, beforebegin 88
** <styles> 253 hx-swap, beforeend 88
** <switch> 257 hx-swap, delay 150
** <text-field> 257 hx-swap, delete 88
** <text> 253 hx-swap, focus-scroll 176
** <view> 253 hx-swap, innerHTML 88
hx-swap, none 89
* Hyperview Actions hx-swap, outerHTML 88, 124, 146
** action=alert 305 hx-swap, scroll 176
** action=append 266, 304 hx-swap, settle 176
** action=back 264 hx-swap, show 176
** action=close 264 hx-sync 180
** action=hide 270 hx-target, about 87, 176
** action=navigate 264 hx-target, example 87, 110, 129
** action=new 264 hx-trigger, about 90, 93, 177
** action=prepend 266 hx-trigger, change
** action=push 264-5, 294 hx-trigger, changed 120, 177
** action=reload 264-5, 295 hx-trigger, consume 178
** action=replace-inner 266, 287, 291 hx-trigger, delay 119, 128, 177
** action=replace 266 hx-trigger, element defaults 90, 177
** action=select-all 271 hx-trigger, event filters 91, 178
** action=set-value 271 hx-trigger, from: 93, 178
** action=show 270 hx-trigger, intersect 179
** action=toggle 270 hx-trigger, keyup 92, 128
hx-trigger, load 142
* Hyperview Behaviors hx-trigger, multiple events 92
** <behavior> 262-3 hx-trigger, once 177
** behaviors 262 hx-trigger, queue 178
** behavior actions 263 hx-trigger, revealed 125, 144
** multiple behaviors 275 hx-trigger, synthetic events 125, 179
hx-trigger, target 178
** navigation actions 264 hx-trigger, throttle 178
** trigger=change 287 hx-vals, about 96
** trigger=load 274, 298 hx-vals, example 97
** trigger=longPress 273 hx-vals, js: prefix 97
** trigger=on-event 301-2 hx-vals, JSON 97
** trigger=press 273 HXML 248
** trigger=refresh 274, 290 HXML, <behavior> 262-3
** trigger=visible 274, 289 HXML, <body> 253
** update actions 266 HXML, <date-field>
HXML, <doc>
* hyperlink (see anchor tag) 14, 17, 81 HXML, <form> 296
HXML, <header> 253
* hypermedia 14 HXML, <image> 255-6
** advantages 24 HXML, <item> 253-4
** client 7, 41, 249 HXML, <list> 253-4, 287
** control 14 HXML, <screen> 252-3
** for mobile 246 HXML, <section-list> 255
** history 15 HXML, <section-title>
** limitations of 30, 189, 251, 334 HXML, <section> 255,
** servers 40 HXML, <select-multiple> 257
** system 14 HXML, <select-single> 257
** when to use 29 HXML, <styles> 253
HXML, <switch> 257
* Hypermedia-Driven Application (HDA) 9, 27-29 HXML, <text-field> 257
HXML, <text> 253
HXML, <view> 253
* hyperscript 218 HXML, action=alert 305
** about 219-20 HXML, action=append 266, 304
** installing 219 HXML, action=back 264
** array property access 222 HXML, action=close 264
** async transparency 222 HXML, action=hide 270
** CSS syntax 222 HXML, action=navigate 264
** event filter 221 HXML, action=new 264
** event listener 221 HXML, action=prepend 266
** event support 222 HXML, action=push 264-5, 294
** filter expression 220 HXML, action=reload 264-5, 295
** from 221 HXML, action=replace-inner 266, 287, 291
** keyboard shortcut 221 HXML, action=replace 266
HXML, action=select-all 271
* hypertext (see hyperlink) HXML, action=set-value 271
HXML, action=show 270
* Hyperview 248 HXML, action=toggle 270
** alert 271 HXML, behavior actions 263
** behaviors 261 HXML, behaviors 262
** client 249 HXML, custom elements
** confirmation 305 HXML, Hello World! 252
** custom actions 272 HXML, multiple behaviors 275
** custom elements 259 HXML, navigation actions 264
** deployment 308 HXML, styling
** email 316-19 HXML, trigger=change 287
** entry point URL 280-1 HXML, trigger=load 274, 298
** events 301 HXML, trigger=longPress 273
** images HXML, trigger=on-event 301-2
** infinite scroll 288 HXML, trigger=press 273
** inputs 256-8 HXML, trigger=refresh 274, 290
** installing 280 HXML, trigger=visible 274, 289
** messages 319-323 HXML, update actions 266
** phone calls 316-19 hyperlink 17, 81
** post requests 269-70 hypermedia 14
** pull-to-refresh 290 hypermedia client 249
** redirects 299 hypermedia control 14
** search 281, 286 hypermedia system 14
** share 271 Hypermedia-Driven Application 9, 27-29
** styling 258 hypermedia, advantages 24
** swipe gesture 324-333 Hypermedia, client 7, 41
** XML namespaces hypermedia, for mobile 246
Hypermedia, history 15
* input values 153 hypermedia, limitations 30, 189, 251, 334
* Islands of interactivity 334 Hypermedia, servers 40
* JavaScript 22, 198 hypermedia, when to use 29
** Fatigue 24, 338 hyperscript 218
** library, integrate via events 225 hyperscript, array property access 222
** limitations of 'on*' 204 hyperscript, async transparency 222
* Jinja2 59 hyperscript, CSS syntax 222
* jQuery soup 202 hyperscript, event filter 221
* JSON 21 hyperscript, event listener 221
* JSON API 22, 229 hyperscript, event support 222
** vs. HTML 231-3 hyperscript, filter expression 220
** API churn 24, 47 hyperscript, from 221
** Data API 22, 229, 233 hyperscript, installing 219
** endpoint 234 hyperscript, keyboard shortcut 221
* Locality of Behavior (LoB) 203 hyperscript, syntax 219-20
* localStorage 182 hypertext 14
* Markdown 174 Hyperview 248
* Microformats 241 Hyperview, alert 271
* modals 126 Hyperview, behaviors 261
* Model-View-Controller (MVC) 240-1 Hyperview, client 249
* Multi-Page Application (MPA) 26 Hyperview, confirmation 305
* opacity 150 Hyperview, custom actions 272
* polling 163, 167 Hyperview, custom elements 259
* Post/Redirect/Get (PRG) 67, 73 Hyperview, deployment 308
* progress bar 164-5 Hyperview, email 316-19
* progressive enhancement 105, 112 Hyperview, entry point URL 280-1
* Python 54 Hyperview, events 301
* query parameters 58, 93, 121, 289 Hyperview, images
* query strings 58 Hyperview, infinite scroll 288
* React 23 Hyperview, inputs 256-8
* reactivity 23, 215 Hyperview, installing 280
* relative CSS selectors 96, 116-117 Hyperview, messages 319-323
** closest 96, 116, 124 Hyperview, phone calls 316-19
** find 96, 116 Hyperview, post requests 269-70
** next 96, 116 Hyperview, pull-to-refresh 290
** previous 96, 116 Hyperview, redirects 299
** this 96, 116 Hyperview, search 281, 286
Hyperview, share 271
* REST 8, 42, 233, 309 Hyperview, styling 258
** API 233 Hyperview, swipe gesture 324-333
** constraints 42-58 Hyperview, XML namespaces
input values 153
* RSJS guidelines 204 Islands of interactivity 334
* scripting, hypermedia friendly 196 JavaScript 22, 198
* search 94 Javascript Fatigue 24, 338
* security 192 JavaScript library, integrate via events 225
* Separation of Concerns (SoC) 201 JavaScript, on* 204
* Single Page Application (SPA) 22, 25 Jinja2 59
** API Churn 24 jQuery soup 202
** complexity 24, 199 JSON 21
** UX advantage 24 JSON API 22, 229
* SweetAlert2 224 JSON API, vs. HTML 231-3
* templating 59, 133, 277 JSON, API churn 24, 47
* thick client application 23 JSON, Data API 22, 229, 233
* tight coupling 22 JSON, endpoint 234
* transclusion (see htmx swap model) 83, 86 Locality of Behavior (LoB) 203
* Transitional applications 26 localStorage 182
* Uniform Resource Locator (URL) 34 Markdown 174
* Unpoly 84 Microformats 241
* updateUI method 22 modals 126
* validation 113, 117, 120 Model-View-Controller (MVC) 240-1
** server-side vs. client-side 114-115 Multi-Page Application (MPA) 26
* Vue.js 23 opacity 150
* W3C 16 polling 163, 167
* web browser (see hypermedia client) 7, 41, 62 Post/Redirect/Get (PRG) 67, 73
* Web Components 222-224 progress bar 164-5
* web stack 53 progressive enhancement 105, 112
* web, 1.0 20 Python 54
query parameters 58, 93, 121, 289
query strings 58
React 23
reactivity 23, 215
relative CSS selectors, about 96, 116-117
relative CSS selectors, closest 96, 116, 124
relative CSS selectors, find 96, 116
relative CSS selectors, next 96, 116
relative CSS selectors, previous 96, 116
relative CSS selectors, this 96, 116
response header, HX-Location 186
response header, HX-Push-Url 186
response header, HX-Refresh 186
response header, HX-Retarget 186
response header, HX-Trigger 185
REST 8, 42, 233, 309
REST API 233
REST, constraints 42-58
RSJS guidelines 204
scripting, hypermedia friendly 196
search 94
security 192
Separation of Concerns (SoC) 201
Single Page Application (SPA) 22, 25
Single Page Application (SPA), API Churn 24
Single Page Application (SPA), complexity 24, 199
Single Page Application (SPA), UX advantage 24
SweetAlert2 224
templating 59, 133, 277
thick client application 23
tight coupling 22
transclusion 83, 86
Transitional applications 26
Uniform Resource Locator (URL) 34
Unpoly 84
updateUI method 22
validation 113, 117, 120
validation, server-side vs. client-side 114-115
Vue.js 23
W3C 16
web browser (see hypermedia client) 7, 41, 62
Web Components 222-224
web stack 53
web, 1.0 20