reorg book

This commit is contained in:
Carson Gross 2022-11-19 10:15:56 -07:00
parent 49c8af2942
commit f36e4099dd
43 changed files with 62 additions and 153 deletions

1
.gitignore vendored
View File

@ -1,2 +1,3 @@
/.idea
/_site/
www/_site/

View File

@ -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]

View File

@ -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

View File

@ -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:

View File

@ -1,6 +1,6 @@
= Effective HTML
:chapter: 04
:chapter: 03
:url: ./effective-html/
[partintro]

View File

@ -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/

View File

@ -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

View File

@ -1,6 +1,6 @@
= Client Side Scripting
:chapter: 13
:chapter: 10
:url: ./client-side-scripting/
This chapter covers

View File

@ -1,6 +1,6 @@
= JSON Data APIs & Hypermedia Driven Applications
:chapter: 14
:chapter: 11
:url: ./json-data-apis/
This chapter covers

View File

@ -1,6 +1,6 @@
= Hyperview: A Mobile Hypermedia
:chapter: 10
:chapter: 12
:url: ./hyperview-a-mobile-hypermedia/
This chapter covers

View File

@ -1,6 +1,6 @@
= Building a Contacts App With Hyperview
:chapter: 11
:chapter: 13
:url: ./building-a-contacts-app-with-hyperview/
This chapter covers:

View File

@ -1,6 +1,6 @@
= Extending the Hyperview Client
:chapter: 12
:chapter: 14
:url: ./extending-the-hypermedia-client/
This chapter covers:

View File

@ -1,6 +1,6 @@
= Conclusion
:chapter: 16
:chapter: 15
:url: ./conclusion/
[partintro]

View 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]

View File

@ -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