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