mirror of
https://github.com/bigskysoftware/hypermedia-systems.git
synced 2025-11-29 00:05:26 -05:00
reorg book
This commit is contained in:
parent
49c8af2942
commit
f36e4099dd
1
.gitignore
vendored
1
.gitignore
vendored
@ -1,2 +1,3 @@
|
||||
/.idea
|
||||
/_site/
|
||||
www/_site/
|
||||
|
||||
@ -1,36 +0,0 @@
|
||||
|
||||
= Building Hypermedia Systems
|
||||
Adam Stepinski, Carson Gross, Deniz Akşimşek
|
||||
:doctype: book
|
||||
:toc: macro
|
||||
:toclevels: 3
|
||||
:toc-title:
|
||||
:imagesdir: /images
|
||||
:sectnums:
|
||||
:sectnumlevels: 2
|
||||
:showtitle:
|
||||
:url: ./hypermedia-systems/
|
||||
|
||||
.Contents
|
||||
[%collapsible]
|
||||
====
|
||||
toc::[]
|
||||
====
|
||||
|
||||
[introduction]
|
||||
include::book/INTRO_HypermediaSystems.adoc[leveloffset=1]
|
||||
include::book/CH01_ReintroducingHypermedia.adoc[leveloffset=1]
|
||||
include::book/CH02_RestHATEOASAndAllThat.adoc[leveloffset=1]
|
||||
include::book/CH03_BuildingASimpleWebApplication.adoc[leveloffset=1]
|
||||
include::book/CH04_ExtendingHTMLAsHypermedia.adoc[leveloffset=1]
|
||||
include::book/CH05_htmxInAction.adoc[leveloffset=1]
|
||||
include::book/CH06_MorehtmxPatterns.adoc[leveloffset=1]
|
||||
include::book/CH07_ADynamicArchiveUIWithhtmx.adoc[leveloffset=1]
|
||||
include::book/CH08_Deephtmx.adoc[leveloffset=1]
|
||||
include::book/CH09_HyperviewAMobileHypermedia.adoc[leveloffset=1]
|
||||
include::book/CH10_BuildingAContactsAppWithHyperview.adoc[leveloffset=1]
|
||||
include::book/CH11_ExtendingTheHyperviewClient.adoc[leveloffset=1]
|
||||
include::book/CH12_ScriptingInAHypermediaApplication.adoc[leveloffset=1]
|
||||
include::book/CH13_JSONDataAPIs.adoc[leveloffset=1]
|
||||
include::book/CH14_OtherHypermediaOrientedLibraries.adoc[leveloffset=1]
|
||||
include::book/CH15_Conclusion.adoc[leveloffset=1]
|
||||
@ -1,7 +1,7 @@
|
||||
|
||||
= Reintroducing Hypermedia
|
||||
= Hypermedia: A Reintroduction
|
||||
:chapter: 01
|
||||
:url: ./reintroducing-hypermedia/
|
||||
:url: ./hypermedia-reintroduction/
|
||||
|
||||
Hypermedia is a universal technology today, nearly as common as electricity. Billions of people use a hypermedia-based
|
||||
systems every day, mainly by interacting with the _HyperText Markup Language (HTML)_ being exchanged via the _HyperText Transfer
|
||||
@ -1,7 +1,7 @@
|
||||
|
||||
= Hypermedia Systems: An Overview
|
||||
= Components Of A Hypermedia System
|
||||
:chapter: 02
|
||||
:url: ./hypermedia-systems-an-overview/
|
||||
:url: ./hypermedia-components/
|
||||
|
||||
A _hypermedia system_ consists of a number of facets that come together to make the entire distributed system work,
|
||||
including:
|
||||
@ -1,6 +1,6 @@
|
||||
|
||||
= Effective HTML
|
||||
:chapter: 04
|
||||
:chapter: 03
|
||||
:url: ./effective-html/
|
||||
|
||||
[partintro]
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
|
||||
= Building A Simple Web 1.0 Application
|
||||
= Building A Simple Web 1.0 Application With Flask
|
||||
:chapter: 04
|
||||
:url: ./building-a-simple-web-1-0-application/
|
||||
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
|
||||
= A Dynamic Archive UI With htmx
|
||||
= A Dynamic Archive UI
|
||||
:chapter: 08
|
||||
:url: ./a-dynamic-archive-ui-with-htmx/
|
||||
:url: ./a-dynamic-archive-ui/
|
||||
|
||||
This chapter covers
|
||||
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
|
||||
= Client Side Scripting
|
||||
:chapter: 13
|
||||
:chapter: 10
|
||||
:url: ./client-side-scripting/
|
||||
|
||||
This chapter covers
|
||||
@ -1,6 +1,6 @@
|
||||
|
||||
= JSON Data APIs & Hypermedia Driven Applications
|
||||
:chapter: 14
|
||||
:chapter: 11
|
||||
:url: ./json-data-apis/
|
||||
|
||||
This chapter covers
|
||||
@ -1,6 +1,6 @@
|
||||
|
||||
= Hyperview: A Mobile Hypermedia
|
||||
:chapter: 10
|
||||
:chapter: 12
|
||||
:url: ./hyperview-a-mobile-hypermedia/
|
||||
|
||||
This chapter covers
|
||||
@ -1,6 +1,6 @@
|
||||
|
||||
= Building a Contacts App With Hyperview
|
||||
:chapter: 11
|
||||
:chapter: 13
|
||||
:url: ./building-a-contacts-app-with-hyperview/
|
||||
|
||||
This chapter covers:
|
||||
@ -1,6 +1,6 @@
|
||||
|
||||
= Extending the Hyperview Client
|
||||
:chapter: 12
|
||||
:chapter: 14
|
||||
:url: ./extending-the-hypermedia-client/
|
||||
|
||||
This chapter covers:
|
||||
@ -1,6 +1,6 @@
|
||||
|
||||
= Conclusion
|
||||
:chapter: 16
|
||||
:chapter: 15
|
||||
:url: ./conclusion/
|
||||
|
||||
[partintro]
|
||||
47
book/HypermediaSystems.adoc
Normal file
47
book/HypermediaSystems.adoc
Normal file
@ -0,0 +1,47 @@
|
||||
|
||||
= Hypermedia Systems
|
||||
Adam Stepinski, Carson Gross, Deniz Akşimşek
|
||||
:doctype: book
|
||||
:toc: macro
|
||||
:toclevels: 3
|
||||
:toc-title:
|
||||
:imagesdir: /images
|
||||
:sectnums:
|
||||
:sectnumlevels: 2
|
||||
:showtitle:
|
||||
:url: ./hypermedia-systems/
|
||||
|
||||
.Contents
|
||||
[%collapsible]
|
||||
====
|
||||
toc::[]
|
||||
====
|
||||
|
||||
= Hypermedia
|
||||
|
||||
[introduction]
|
||||
include::CH00_Introduction.adoc[leveloffset=1]
|
||||
include::CH01_HypermediaAReintroduction.adoc[leveloffset=1]
|
||||
include::CH02_ComponentsOfAHypermediaSystem.adoc[leveloffset=1]
|
||||
include::CH03_EffectiveHtml.adoc[leveloffset=1]
|
||||
include::CH04_BuildingASimpleWebApplication.adoc[leveloffset=1]
|
||||
|
||||
= htmx
|
||||
|
||||
include::CH05_ExtendingHTMLAsHypermedia.adoc[leveloffset=1]
|
||||
include::CH06_htmxInAction.adoc[leveloffset=1]
|
||||
include::CH07_MorehtmxPatterns.adoc[leveloffset=1]
|
||||
include::CH08_ADynamicArchiveUIWithhtmx.adoc[leveloffset=1]
|
||||
include::CH09_Deephtmx.adoc[leveloffset=1]
|
||||
include::CH10_ScriptingInAHypermediaApplication.adoc[leveloffset=1]
|
||||
include::CH11_JSONDataAPIs.adoc[leveloffset=1]
|
||||
|
||||
= Hyperview
|
||||
|
||||
include::CH12_HyperviewAMobileHypermedia.adoc[leveloffset=1]
|
||||
include::CH13_BuildingAContactsAppWithHyperview.adoc[leveloffset=1]
|
||||
include::CH14_ExtendingTheHyperviewClient.adoc[leveloffset=1]
|
||||
|
||||
= Conclusion
|
||||
|
||||
include::CH15_Conclusion.adoc[leveloffset=1]
|
||||
@ -1,103 +0,0 @@
|
||||
== Outline
|
||||
|
||||
|
||||
. Section 1: A Reintroduction To Hypermedia
|
||||
[arabic]
|
||||
.. What Is Hypermedia
|
||||
... So, What Is Hypermedia?
|
||||
... Why Use Hypermedia?
|
||||
... REST
|
||||
... When Should You Use Hypermedia?
|
||||
... When Shouldn't You Use Hypermedia?
|
||||
... Summary
|
||||
.. A Review of Chapter of Roy Fielding's Dissertation On The Web
|
||||
.. A Brief, Mostly Wrong History Of The Web
|
||||
.. A Simple Web 1.0-style Application
|
||||
... A Simple Contact Management Web Application
|
||||
... A Brief Introduction to Flask & Our First Route
|
||||
... Contact.App Functionality
|
||||
... Summary
|
||||
. Section 2: Building A Hypermedia-Driven Application With htmx
|
||||
[arabic,start=5]
|
||||
.. Extending HTML As Hypermedia
|
||||
... The Shortcomings of "Plain" HTML
|
||||
... Extending HTML as a Hypermedia with htmx
|
||||
... Triggering HTTP Requests
|
||||
... Targeting Other Elements
|
||||
... Swap Styles
|
||||
... Using Other Events
|
||||
... Passing Request Parameters
|
||||
... History Support
|
||||
... Summary
|
||||
.. Putting htmx Into Action
|
||||
... Installing htmx
|
||||
... Adding AJAX Navigation
|
||||
... Deleting Contacts
|
||||
... Next Steps: Validating Emails
|
||||
... Another Improvement: Paging
|
||||
... Summary
|
||||
.. Advanced htmx Patterns
|
||||
... Active Search
|
||||
... Lazy Loading
|
||||
... Inline Delete
|
||||
... Bulk Delete
|
||||
... Summary
|
||||
.. Creating A Dynamic Download UI
|
||||
... A Dynamic Archive UI
|
||||
... Polling
|
||||
... Smoothing Things Out: More On The htmx Swap Model
|
||||
... Dismissing The Download UI
|
||||
... Auto-Download
|
||||
... Summary
|
||||
.. Developing With htmx
|
||||
... Getting Deeper Into htmx
|
||||
... htmx Attributes
|
||||
... Events
|
||||
... HTTP Requests & Responses
|
||||
... Updating Other Content
|
||||
... Debugging
|
||||
... Security Considerations
|
||||
... Configuring
|
||||
... Summary
|
||||
.. Client Side Scripting
|
||||
... Scripting in Hypermedia-Driven Applications
|
||||
... Scripting languages for the Web
|
||||
... Using off-the-shelf components
|
||||
... Events and the DOM
|
||||
... Adding a Keyboard Shortcut for Focusing the Search Input With VanillaJS
|
||||
... Adding Support for Re-Ordering Contacts (No Scripting Needed!)
|
||||
... Adding Support for a Drop-Down with AlpineJS
|
||||
... Adding a Nicer Confirmation for Deleting Contacts With _hyperscript
|
||||
... Being Pragmatic
|
||||
... Summary
|
||||
.. Data APIs & Hypermedia Driven Applications
|
||||
... Data APIs
|
||||
... Hypermedia APIs & Data APIs
|
||||
... Adding a JSON Data API To Contact.app
|
||||
... Summary
|
||||
. Section 3: Building A Mobile Hypermedia-Driven Application With HyperView
|
||||
[arabic,start=12]
|
||||
.. Hyperview: A Mobile Hypermedia
|
||||
... State of Mobile App Development
|
||||
... Hypermedia for Mobile Apps
|
||||
... Introduction to HXML
|
||||
... Summary
|
||||
.. Building a Contacts App with Hyperview
|
||||
... Creating a mobile app
|
||||
... A Searchable List of Contacts
|
||||
... Editing a Contact
|
||||
... Deleting a Contact
|
||||
... Adding a New Contact
|
||||
... One Backend, Multiple Hypermedia formats
|
||||
... Summary
|
||||
.. Extending The Hyperview Client
|
||||
... Adding Phone Calls and Email
|
||||
... Adding Toast Messages
|
||||
... Swipe gesture on Contacts
|
||||
... Conclusion
|
||||
. Section 4: Conclusion
|
||||
[arabic, start=15]
|
||||
.. Hypermedia: The New/Old Way
|
||||
... Hypermedia Reconsidered
|
||||
... Pausing, And Reflecting
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user