Table of Contents of My Frontier Book

Prefacexv
I. Getting Acquainted1
  1. What Is Frontier?3
  A Day in the Life3
  Days in Other Lives8
  Tool of All Trades10
  2. Edit Windows13
  Window Types and Objects14
  Outlines14
  Wptexts19
  Tables19
  3. The Database25
  Main Window and Root Table27
  Direct Database Navigation27
  Searching the Database29
  Guide to the Database29
II. UserTalk Basics33
  4. What a UserTalk Script Is Like35
  First Principles35
  Scripts as Database Entries37
  Scripts as Outlines39
  Comments in Scripts44
  5. Handlers and Parameters47
  What Is an Eponymous Handler?47
  The Handler Rule48
  Stubs51
  Call Results52
  Line Evaluation53
  Parameters54
  6. Referring to Database Entries58
  How Variables and Database Entries Differ58
  Being Careful with the Database59
  Calculated Names60
  Partial References62
  with66
  7. The Scope of Variables and Handlers69
  local70
  Variable Scope73
  Handler Scope74
  with, again76
  Implicit Locals77
  Dynamic Scoping78
  Recursion81
  8. Addresses82
  Address Syntax82
  Name Construction85
  Address Parameters85
  Further Uses of Address Parameters88
  Addresses of Verbs88
  Being Careful with Address Parameters89
  9. Special Evaluation91
  Non-Evaluation91
  Pre-Evaluation92
  Constants93
  evaluate( )93
  10. Datatypes95
  Summary of the Datatypes97
  Coercion100
  String and Char Literals109
  11. Arrays112
  Array Notation112
  Array Verbs114
  Lists and Records; Strings and Binaries115
  12. Control Structures118
  Looping Constructs118
  Visit Constructs125
  Conditional Constructs128
  Errors131
  13. Running and Debugging Scripts135
  Compiling135
  Running a Script138
  Debug Mode140
  Runtime Errors143
  Desperation144
  Getting Help from DocServer144
  Getting Help from the Database145
III. Data Manipulation147
  14. Strings and Chars149
  Substrings149
  Case and Character Type151
  Find and Replace152
  Pad and Trim155
  Parsing155
  Formatted Numbers158
  HTML-Related Conversions158
  15. Math161
  16. Dates164
  17. Objects169
  Creation and Destruction170
  Information171
  Moving and Copying172
  Age and Dirtiness173
  18. Non-Scalars174
  The Target175
  Verb Types, Window Types, and Modes177
  Verbs Operating in Edit Windows178
  19. Datafiles188
  Utilities188
  Basic Verbs190
  Finding in Textfiles191
  20. Resources193
  Inspecting Resources193
  Resource Data194
  The Resource Chain196
  Resource Attributes197
  21. Yielding, Pausing, Threads, and Semaphores198
  Yielding and Pausing198
  Threads198
  Semaphores202
  22. Stacks205
  23. Extending the Language207
  Why XCMDs and UCMDs Exist208
  Importing and Glue209
IV. Interface211
  24. Windows213
  Manual Window Manipulation213
  Programmatic Window Manipulation216
  25. Dialogs223
  Dialog Types223
  Status Messages223
  Preconfigured Modal Dialogs224
  Resource-Based Dialogs226
  Card-Based Dialogs232
  Dialogs in Other Applications238
  26. Menus and Suites240
  Menu Categories241
  Modifying Menus241
  Where the Menubars Are242
  Menubar Edit Windows242
  Shared Menus246
  Modal Menus250
  Suites250
  Programmatic Menu Manipulation252
  27. Agents and Hooks255
  Agents255
  Hooks258
  User-Based Pseudo-Hooks260
  28. Pictures261
  PICTs and Frontier Pictures261
  Text in Pictures262
  Other Graphic Formats263
  29. Import/Export264
  Types of Exported Object264
  Packed Objects265
  Desktop Scripts268
  Droplets270
  Implementation of Exported Objects272
  Backing Up the Database273
  Clean Root277
  30. Multiple Databases279
  Manual Interface280
  Programmatic Interface280
V. Border Crossings283
  31. Driving the System285
  Frontier285
  System286
  File System290
  32. Driving Other Applications300
  How to Use This Chapter300
  Apple Events302
  Apple Event Suites311
  Object Model315
  Glue319
  33. AppleScript332
  AppleScript Scripts332
  OSAXen334
  Import/Export335
  34. Driving Frontier from Outside336
  OSA Scripting Applications337
  Standard Apple Events340
  Custom Apple Events344
  35. External Editors347
  The odbEditor Suite348
  Script Debugger349
  BBEdit and PageSpinner349
  Scalars350
  Other External Editors352
VI. Applied Frontier355
  36. ToDo List357
  37. Scheduler358
  Missed Tasks360
  Logging360
  Making a Task360
  38. TCP/IP362
  Server362
  Client368
  39. NetFrontier371
  Programming Example371
  Behind the Scenes373
  Further Exploration374
  40. CGIs375
  Configuring376
  Making a CGI Script377
  Testing378
  Macros379
  Form Example380
  Other Servables382
  Search Example383
  Security386
  Keep It Up386
  Further Explorations388
  41. Web Site Management389
  Architecture390
  Web Site Tables391
  Directives393
  Outline Renderers401
  Templates404
  Web Page Object Datatypes406
  Macros407
  Glossaries412
  Escape Character413
  Filters414
  Relative Links416
  Previewing and Releasing418
  Loading an Existing Site420
  Important Routines421
  Some Utility Scripts424
  BBEdit Front-End428
  42. Dynamic Web Sites431
  News Page431
  Classified Ads433
  Further Explorations437
VII. Reference439
  43. XCMDs and UCMDs441
  XCMDs442
  UCMDs446
  44. Operators449
  Operators Used in Boolean Expressions450
  45. Punctuation453
  46. Verbs455
  47. Apple Event Suites554
Index563

Back

This page prepared October 1, 2011 by Matt Neuburg, phd = matt at tidbits dot com, using RubyFrontier. RubyFrontier is a port, written in the Ruby language, of the Web-site-creation features of UserLand Frontier. Works just like Frontier, but written in Ruby!
Download RubyFrontier from GitHub.