mirror of
https://github.com/rabbibotton/clog.git
synced 2025-12-06 02:30:42 -08:00
Merge pull request #6 from iconofsin/patch-1
Typos and spelling fixes to README.md
This commit is contained in:
commit
923e965bb0
1 changed files with 31 additions and 32 deletions
63
README.md
63
README.md
|
|
@ -11,42 +11,42 @@ https://rabbibotton.github.io/clog/clog-manual.html
|
||||||
|
|
||||||
The Common Lisp Omnificient GUI, CLOG for short, uses web technology to
|
The Common Lisp Omnificient GUI, CLOG for short, uses web technology to
|
||||||
produce graphical user interfaces for applications locally or remotely.
|
produce graphical user interfaces for applications locally or remotely.
|
||||||
CLOG can take the place, or work along side, most cross platform GUI
|
CLOG can take the place, or work alongside, most cross-platform GUI
|
||||||
frameworks and website frameworks. The CLOG package starts up the
|
frameworks and website frameworks. The CLOG package starts up the
|
||||||
connectivity to the browser or other websocket client (often a browser
|
connectivity to the browser or other websocket client (often a browser
|
||||||
embedded in a native template application.)
|
embedded in a native template application.)
|
||||||
|
|
||||||
STATUS: CLOG is complete enough for most uses, there are a few loose
|
STATUS: CLOG is complete enough for most uses. While there are loose
|
||||||
ends (multimedia, client side storage, integrations with databases),
|
ends (multimedia, client-side storage, database integrations),
|
||||||
but CLOG is actually based on a framework I wrote for Ada, GNOGA, in
|
CLOG is actually based on GNOGA, a framework I wrote for Ada in
|
||||||
2013 and used in commercial production code for the last 6 years,
|
2013 and used in commercial production code for the last 6 years,
|
||||||
i.e. the techiniques it uses are solid and proven.
|
i.e. the techiniques CLOG uses are solid and proven.
|
||||||
|
|
||||||
Some of the things CLOG can be used for:
|
Some potential applications for CLOG:
|
||||||
|
|
||||||
* Cross platform GUIs and Reports
|
* Cross-platform GUIs and Reports
|
||||||
* Secure websites and complex interactive web applications
|
* Secure websites and complex interactive web applications
|
||||||
* Write mobile software
|
* Mobile software
|
||||||
* Write massive multiplayer online games
|
* Massive multiplayer online games
|
||||||
* Monitoring software for embedded systems
|
* Monitoring software for embedded systems
|
||||||
* A fun way to teaching programming and advanced multi-tasking
|
* A fun way to teach programming and advanced multi-tasking
|
||||||
parallel programming techniques. (CLOG is a parallel GUI)
|
parallel programming techniques. (CLOG is a parallel GUI)
|
||||||
* And the list goes on
|
* And the list goes on
|
||||||
|
|
||||||
The key to CLOG is the relationship it forms with a Browser window
|
The key to CLOG is the relationship it forms with a Browser window
|
||||||
or Browser control compiled to native code. CLOG uses websockets
|
or Browser control compiled to native code. CLOG uses websockets
|
||||||
for communications and the browser to render a GUI that maintanes
|
for communications and the browser to render a GUI that maintains
|
||||||
an active soft realtime connection. For most CLOG applications all
|
an active soft realtime connection. For most CLOG applications all
|
||||||
programming logic, events and decisions are done on the server
|
programming logic, events and decisions are done on the server
|
||||||
which can be local or remote over the web.
|
which can be local or remote over the web.
|
||||||
|
|
||||||
CLOG is developed on an M1 MacBook with ECL, it is tested fairly
|
CLOG is developed on an M1 MacBook with ECL, it is tested fairly
|
||||||
regulary with SCBL on Linux, Windows and Intel MacBook. It should
|
regulary with SCBL on Linux, Windows and Intel MacBook. It should
|
||||||
in theory work on any system QuickLisp and CLACK will load on to.
|
in theory work on any system Quicklisp and CLACK will load on to.
|
||||||
|
|
||||||
CLOG will be in QuickSlip in the next update, but a good idea,
|
CLOG will be in Quicklisp in the next update, but because I am still
|
||||||
since I am still adding code daily, is to cloan the github repo
|
adding code daily, it is currently preferable to clone the github repo
|
||||||
in to your ~/common-lisp directory:
|
into your ~/common-lisp directory:
|
||||||
|
|
||||||
```
|
```
|
||||||
cd ~/common-lisp
|
cd ~/common-lisp
|
||||||
|
|
@ -54,11 +54,11 @@ git clone https://github.com/rabbibotton/clog.git
|
||||||
```
|
```
|
||||||
|
|
||||||
To load this package and work through tutorials (assuming you
|
To load this package and work through tutorials (assuming you
|
||||||
have QuickSlip configured):
|
have Quicklisp configured):
|
||||||
|
|
||||||
1. cd to the CLOG dir (the dir should be one used by QuickLisp ex. ~/common-lisp/)
|
1. cd to the CLOG dir (the dir should be one used by Quicklisp ex. ~/common-lisp/)
|
||||||
2. Start emacs/slime or your common lisp "repl" in _that_ directory.
|
2. Start emacs/slime or your common lisp "repl" in _that_ directory.
|
||||||
3. In the REPL run:
|
3. In the REPL, run:
|
||||||
|
|
||||||
CL-USER> (ql:quickload :clog)
|
CL-USER> (ql:quickload :clog)
|
||||||
CL-USER> (load "~/common-lisp/clog/tutorial/01-tutorial.lisp")
|
CL-USER> (load "~/common-lisp/clog/tutorial/01-tutorial.lisp")
|
||||||
|
|
@ -87,9 +87,9 @@ Here is a sample CLOG app:
|
||||||
;; This application simply creates a CLOG-Element as a child to the
|
;; This application simply creates a CLOG-Element as a child to the
|
||||||
;; CLOG-body object in the browser window.
|
;; CLOG-body object in the browser window.
|
||||||
|
|
||||||
;; A CLOG-Element represents a block of HTML (we will see later ways to
|
;; A CLOG-Element represents a block of HTML (we will later see ways to
|
||||||
;; directly create buttons and all sorts of HTML elements in more lisp
|
;; directly create buttons and all sorts of HTML elements in more
|
||||||
;; like ways with no knowledge of HTML or javascript.
|
;; lisp-like ways with no knowledge of HTML or JavaScript.
|
||||||
(create-child body "<h1>Hello World! (click me!)</h1>")))
|
(create-child body "<h1>Hello World! (click me!)</h1>")))
|
||||||
|
|
||||||
(set-on-click hello-element ; Now we set a function to handle clicks
|
(set-on-click hello-element ; Now we set a function to handle clicks
|
||||||
|
|
@ -101,17 +101,17 @@ Here is a sample CLOG app:
|
||||||
; until no longer needed.
|
; until no longer needed.
|
||||||
|
|
||||||
;; To see all the events one can set and the many properties and styles that
|
;; To see all the events one can set and the many properties and styles that
|
||||||
;; exist, take a look through the CLOG manual or the file clog-element.lisp
|
;; exist, refer to the CLOG manual or the file clog-element.lisp
|
||||||
|
|
||||||
|
|
||||||
(defun start-tutorial () ; Define the function called start-tutorial
|
(defun start-tutorial () ; Define the function called start-tutorial
|
||||||
"Start turtorial." ; Optional docstring to describe function
|
"Start tutorial." ; Optional docstring to describe function
|
||||||
|
|
||||||
;; Initialize the CLOG system
|
;; Initialize the CLOG system
|
||||||
(initialize #'on-new-window)
|
(initialize #'on-new-window)
|
||||||
;; Set the function on-new-window to execute
|
;; Set the function on-new-window to execute
|
||||||
;; everytime a browser connection to our app.
|
;; every time a browser connection to our app.
|
||||||
;; #' tells common lisp to pass the function
|
;; #' tells Common Lisp to pass the function
|
||||||
;; to intialize and not to execute it.
|
;; to intialize and not to execute it.
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -120,8 +120,7 @@ Here is a sample CLOG app:
|
||||||
```
|
```
|
||||||
|
|
||||||
Work in progress:
|
Work in progress:
|
||||||
(Add an enhacement request if want to see some feature specificly not
|
(Add an enhancement request if you want to see a specific feature not yet covered.)
|
||||||
covered yet.)
|
|
||||||
|
|
||||||
Tutorial Summary
|
Tutorial Summary
|
||||||
|
|
||||||
|
|
@ -133,27 +132,27 @@ Tutorial Summary
|
||||||
- 06-tutorial.lisp - Tasking and events
|
- 06-tutorial.lisp - Tasking and events
|
||||||
- 07-tutorial.lisp - My first CLOG video game (and handling disconnects)
|
- 07-tutorial.lisp - My first CLOG video game (and handling disconnects)
|
||||||
- 08-tutorial.lisp - Mice Love Containers
|
- 08-tutorial.lisp - Mice Love Containers
|
||||||
- 09-tutorial.lisp - Tabs, pannels and forms
|
- 09-tutorial.lisp - Tabs, panels, and forms
|
||||||
- 10-tutorial.lisp - Canvas
|
- 10-tutorial.lisp - Canvas
|
||||||
- 11-tutorial.lisp - Attaching to existing HTML
|
- 11-tutorial.lisp - Attaching to existing HTML
|
||||||
- 12-tutorial.lisp - Running a website in CLOG (routing)
|
- 12-tutorial.lisp - Running a website in CLOG (routing)
|
||||||
- 13-tutorial/ - Flying Solo - A minimalist CLOG project
|
- 13-tutorial/ - Flying Solo - A minimalist CLOG project
|
||||||
- 14-tutorial.lisp - Local (persistent) and Session client side storage
|
- 14-tutorial.lisp - Local (persistent) and Session client-side storage
|
||||||
|
|
||||||
Demo Summary
|
Demo Summary
|
||||||
|
|
||||||
- 01-snake-game.lisp - Sparkey the Snake Game
|
- 01-snake-game.lisp - Sparkey the Snake Game
|
||||||
|
|
||||||
|
|
||||||
Enhancements being worked on now:
|
Enhancements underway:
|
||||||
|
|
||||||
- Multimedia - HTML 5 Audio and Video
|
- Multimedia - HTML 5 Audio and Video
|
||||||
|
|
||||||
- CLOG higher level containers and GUI widgets
|
- CLOG higher level containers and GUI widgets
|
||||||
|
|
||||||
- Database bindings and server side APIs
|
- Database bindings and server-side APIs
|
||||||
- Current CL packages
|
- Current CL packages
|
||||||
- Direct bidings to widgets ete.
|
- Direct bidings to widgets etc.
|
||||||
|
|
||||||
- CLOG Devtools
|
- CLOG Devtools
|
||||||
- Generate application scaffolding
|
- Generate application scaffolding
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue