mirror of
https://github.com/bigskysoftware/hypermedia-systems.git
synced 2025-07-20 00:01:58 -04:00
Compare commits
No commits in common. "af33d17f2e064b5a88cf0cef8d6bc4d8f216bae0" and "30e5bdc6287ea2e82e9c74e840d5a4e02121b32a" have entirely different histories.
af33d17f2e
...
30e5bdc628
492
book/INDEX.adoc
492
book/INDEX.adoc
@ -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
|
||||||
|
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user