From 7bde16e2efbc0a701033ec9355f8155fc8a33d77 Mon Sep 17 00:00:00 2001
From: David Botton
Date: Mon, 6 May 2024 16:55:56 -0400
Subject: [PATCH] doc update
---
README.md | 37 ++++++-----
doc/clog-manual.html | 155 +++++++++++++++++++++++++++++++------------
2 files changed, 132 insertions(+), 60 deletions(-)
diff --git a/README.md b/README.md
index 8ebbc81..d424ba1 100644
--- a/README.md
+++ b/README.md
@@ -6,8 +6,6 @@
- [Learn to program Common Lisp and CLOG here - LEARN.md](LEARN.md)
-- [Video of CLOG Builder in action](https://youtu.be/CgTJMxsz3EY)
-
---

@@ -21,16 +19,19 @@ embedded in a native application.)
- [CLOG - Reference Manual](https://rabbibotton.github.io/clog/clog-manual.html)
-STATUS: CLOG and CLOG Builder 2.0 released.
+STATUS: CLOG and CLOG Builder 2.0 released. CLOG API Stable 4 years
-CLOG is actually based on GNOGA, a framework I wrote for Ada in 2013
-and used in commercial production code for the last 10+ years. CLOG
-itself is already used in commerical products, corporate websites,
-and other opensource projects.
+The CLOG Builder is in 100% portable Common Lisp using the CLOG Framework.
+
+CLOG tech was invented (first in Ada) and has been running in commercial
+production code and productss since 2013 and in Common Lisp since 2022. CLOG
+is used in commerical products, websites, and other opensource projects.
CLOG is being actively extended, however the core API is stable and proven,
-the CLOG Builder is rich in features. Check the github discussion boards for
-the latest on the project.
+the CLOG Builder is rich in features and is a full featured IDE for Common Lisp
+and web development and includes a GUI Builder for the CLOG Framework.
+
+Check the github discussion boards for the latest on the project and support.
Consider sponsoring work on CLOG at https://github.com/sponsors/rabbibotton
@@ -69,10 +70,12 @@ https://github.com/rabbibotton/clog-win64-ez/releases/tag/v1.0a
Unzip, double click setup.bat and then drag the resulting builder.exe to your
application bar or double click. Update regularly by running update.bat
If you change directories you need to run make.bat or update.bat
+You can also run frame.bat to produce a version of builder that does not use
+the browser.
-CLOG is in QuickLisp (ql:quickload :clog), however one should
-add the UltraLisp distribution as QuickLisp is updated very
-infrequenty (see below).
+CLOG v1 is in QuickLisp (ql:quickload :clog), therefore one should
+add the UltraLisp distribution to use CLOG v2
+(alternatively use git or https://github.com/ocicl/ocicl)
To add UltraLisp to QuickLisp:
@@ -81,27 +84,30 @@ To add UltraLisp to QuickLisp:
:prompt nil)
```
-You still need to often update the UltraLisp and QuickLisp distros with:
+You still need to update often the UltraLisp and QuickLisp distros with:
```
(ql:update-all-dists)
```
+If using the CLOG Builder Options -> Update CLOG Builder will do this for you.
+
To get started load CLOG and then can load and run the builder:
```
-(ql:quickload :clog)
(ql:quickload :clog/tools)
(clog-tools:clog-builder)
```
+You can also just run from the command line run-builder or run-builder.bat
+
To use the git versions CLOG, place git clone into ~/common-lisp or
a findable source directory, i.e.
[ ``(push #P"path/to/dir/of/projects" ql:*local-project-directories*)`` ]
For git (you also need the clog builder plugins clog-ace and clog-terminal
-for the builder):
+for the builder or use the UltraLisp versions):
```
cd ~/common-lisp
@@ -170,7 +176,6 @@ CL-USER> (clog:open-manual)
Work your way through the tutorials. You will see how quick and easy it is
to be a CLOGer.
-



diff --git a/doc/clog-manual.html b/doc/clog-manual.html
index aef9958..96d272d 100644
--- a/doc/clog-manual.html
+++ b/doc/clog-manual.html
@@ -46,24 +46,25 @@
10 CLOG Data
11 CLOG DBI
12 CLOG Panels
-13 CLOG Style Blocks
-14 CLOG Form Objects
-15 CLOG Canvas Objects
-16 CLOG WebGL Objects
-17 CLOG Multimedia Objects
-18 CLOG Auth Objects
-19 CLOG GUI Objects
-20 CLOG Web Objects
-21 CLOG Web DBI
-22 CLOG Web Site Themes
-23 CLOG Body Objects
-24 CLOG Window Objects
-25 CLOG Document Objects
-26 CLOG Location Objects
-27 CLOG Navigator Objects
-28 CLOG jQuery Objects
-29 CLOG Helper Functions
-30 CLOG Framework internals and extensions
+13 CLOG Tree
+14 CLOG Style Blocks
+15 CLOG Form Objects
+16 CLOG Canvas Objects
+17 CLOG WebGL Objects
+18 CLOG Multimedia Objects
+19 CLOG Auth Objects
+20 CLOG GUI Objects
+21 CLOG Web Objects
+22 CLOG Web DBI
+23 CLOG Web Site Themes
+24 CLOG Body Objects
+25 CLOG Window Objects
+26 CLOG Document Objects
+27 CLOG Location Objects
+28 CLOG Navigator Objects
+29 CLOG jQuery Objects
+30 CLOG Helper Functions
+31 CLOG Framework internals and extensions
[in package CLOG]
The Common Lisp Omnificient GUI, CLOG for short, uses web technology to
@@ -1194,7 +1195,8 @@ possible tag and keywords.
Create a new CLOG-ELEMENT or sub-type of CLOG-TYPE from HTML
as child of CLOG-OBJ and if :AUTO-PLACE (default t) place-inside-bottom-of
-CLOG-OBJ. If HTML-ID is nil one will be generated.
+CLOG-OBJ, you can also set auto-place to :bottom or :top. If HTML-ID is nil one
+will be generated.
@@ -3667,7 +3669,7 @@ the column and the clog-table-column object.
- ← ↑ → ↺
+ ← ↑ → ↺
CLOG-Panel - CLOG Panels
@@ -3791,10 +3793,62 @@ if :HTML-ID "myid" then the HTML-ID for cent
Recalculate layout based on size of outer panel content
+
+
+ ← ↑ → ↺
+
+CLOG-Tree - CLOG Trees
+
+
+
+
+
+
+- [generic-function] CREATE-CLOG-TREE OBJ &KEY CONTENT INDENT-LEVEL NODE-HTML FILL-FUNCTION VISIBLE CLASS HTML-ID AUTO-PLACE
+
+
+
+
+[generic-function] TREE-ROOT CLOG-TREE
+
+Accessor for clog-tree root, create clog-tree-items
+on the tree-root or other clog-tree's.
+
+
+
+
+[generic-function] INDENT-LEVEL CLOG-TREE
+
+Accessor for clog-tree root, create clog-tree-items
+on the tree-root or other clog-tree's.
+
+
+
+
+
+
+
+- [generic-function] CREATE-CLOG-TREE-ITEM OBJ &KEY CONTENT INDENT-LEVEL NODE-HTML ON-CLICK CLASS HTML-ID AUTO-PLACE
+
+
+
+
- ← ↑ → ↺
-
+ ← ↑ → ↺
+
CLOG-Style-Block - CLOG Style Blocks
@@ -3827,7 +3881,7 @@ selector. For example:
← ↑ → ↺
-
+
CLOG-Form-Data
@@ -4410,7 +4464,7 @@ optionally fill in with contents of data-list.
← ↑ → ↺
-
+
CLOG-Canvas - Class for CLOG canvas objects
@@ -5092,7 +5146,7 @@ sy sz ox oy oz
← ↑ → ↺
-
+
[in package CLOG-WEBGL]
CLOG-WebGL - Class for CLOG WebGL objects
@@ -6100,7 +6154,7 @@ in WebGL 2 also:
← ↑ → ↺
-
+
CLOG-Multimedia - Base Class for CLOG multimedia objects
@@ -6454,7 +6508,7 @@ is nil unbind the event.
← ↑ → ↺
-
+
[in package CLOG-AUTH]
CLOG-AUTH - Authentication
@@ -6497,7 +6551,7 @@ is nil unbind the event.
← ↑ → ↺
-
+
[in package CLOG-GUI]
CLOG-GUI - Desktop GUI abstraction for CLOG
@@ -6505,12 +6559,18 @@ is nil unbind the event.
[function] CLOG-GUI-INITIALIZE CLOG-BODY &KEY (BODY-LEFT-OFFSET 0) (BODY-RIGHT-OFFSET 0) (USE-CLOG-DEBUGGER NIL) (STANDARD-OUTPUT NIL) (PARENT-DESKTOP-OBJ NIL) (W3-CSS-URL "/css/w3.css") (JQUERY-UI-CSS "/css/jquery-ui.css") (JQUERY-UI "/js/jquery-ui.js")
-Initializes clog-gui and installs a clog-gui object on connection.
-If W3-CSS-URL has not been loaded before is installed unless is nil.
-BODY-LEFT-OFFSET and BODY-RIGHT-OFFSET limit width on maximize. If
-use-clog-debugger then a graphical debugger is set for all events.
+
Initializes clog-gui and installs a clog-gui object on the connection body.
+If W3-CSS-URL has not been loaded before it is installed unless set to nil.
+clog-gui uses jQueryUI and its default css file to provide client side
+movement when needed, if client side movement is not used it is possible
+to pass nil to the initilization function for both the jquery-ui-js and
+jquery-ui-css options and there is no need to deliver the jQueryUI it with your
+application. BODY-LEFT-OFFSET and BODY-RIGHT-OFFSET limit width on maximize.
parent-desktop-obj is used if this window is a popup or otherwise a
slave of another clog-gui page.
+If use-clog-debugger then a graphical debugger is set for all events. If
+standard-output is set standard-output for every event is redirected
+to it.
NOTE: use-clog-debugger should not be set for security issues
on non-secure environments.
@@ -6684,7 +6744,7 @@ The on-window-change clog-obj received is the new window
-[generic-function] CREATE-GUI-WINDOW CLOG-OBJ &KEY TITLE CONTENT LEFT TOP WIDTH HEIGHT MAXIMIZE HAS-PINNER KEEP-ON-TOP WINDOW-PARAM HIDDEN CLIENT-MOVEMENT BORDER-CLASS TITLE-CLASS HTML-ID
+[generic-function] CREATE-GUI-WINDOW CLOG-OBJ &KEY TITLE CONTENT LEFT TOP WIDTH HEIGHT MAXIMIZE HIDE-TITLE-BAR DRAG-CLIENT-AREA HAS-PINNER KEEP-ON-TOP WINDOW-PARAM HIDDEN CLIENT-MOVEMENT NO-SIZER BORDER-CLASS TITLE-CLASS HTML-ID
Create a clog-gui-window. If client-movement is t then
use jquery-ui to move/resize and will not work on mobile and touch events
@@ -6774,6 +6834,13 @@ it is removed.
Toggle CLOG-GUI-WINDOW as maximize window.
+
+
+
@@ -7063,7 +7130,7 @@ make-two-way-stream to provide a query-io using a clog-gui instead of c
← ↑ → ↺
-
+
[in package CLOG-WEB]
CLOG-WEB - Web page abstraction for CLOG
@@ -7657,7 +7724,7 @@ and no-script body information for search engines with DESCRIPTION.
← ↑ → ↺
-
+
[in package CLOG-WEB-DBI]
Authentication
@@ -7729,7 +7796,7 @@ optional WHERE and ORDER-BY sql.
← ↑ → ↺
-
+
[in package CLOG-WEB]
Theme helpers
@@ -7767,7 +7834,7 @@ Page properties:
← ↑ → ↺
-
+
CLOG-Body - CLOG Body Objects
@@ -7824,7 +7891,7 @@ replace the browser contents with HTML.
← ↑ → ↺
-
+
CLOG Popups
@@ -8225,7 +8292,7 @@ on-storage event is fired for changes to :local storage keys.
← ↑ → ↺
-
+
CLOG-Document - CLOG Document Objects
@@ -8403,7 +8470,7 @@ The handler should be installed on the document before calling load-script.<
← ↑ → ↺
-
+
Clog-Location - CLOG Location Objects
@@ -8503,7 +8570,7 @@ that will be saved in session histoy and back button will return to it.
← ↑ → ↺
-
+
CLOG-Navigator - CLOG Navigator Objects
@@ -8559,7 +8626,7 @@ that will be saved in session histoy and back button will return to it.
← ↑ → ↺
-
+
CLOG-jQuery - Base class for CLOG jQuery Objects
@@ -8610,7 +8677,7 @@ result or DEFAULT-ANSWER on time out.
← ↑ → ↺
-
+
Tutorial and demo helpers
@@ -8700,7 +8767,7 @@ set (logging to browser console) in the default debug.html boot-file.
← ↑ ↺
-
+
* Introduction to Internals *
This section on internals is not intended for general use of CLOG. It is
for those looking to maint or extend CLOG, or those creating plugins.