2 ;V Insert javascript tags.V
3 (defmacro js-tag
(s . body
)
5 (princ "<script type=\"text/javascript\">" ,s
)
7 (princ "</script>" ,s
)))
9 ;V Easily insert parenscript.V
10 (defmacro ps-tag
(s . body
)
11 `(js-tag ,s
(princ (ps ,@body
) ,s
)))
13 (defmacro jsfile
(s file
)
15 (princ "<script type=\"text/javascript\" src=\"/jsfiles/" ,s
)
17 (princ ".js\"></script>" ,s
)))
20 ;V Get a variable out of memory.V
21 (defun web-recall-vrbl ()
22 (recall-vrbl (parameter "name"))
25 (defun calcupage-link (strm)
28 (:a
:href
"/calcupage-infix" "Calculate things")
29 " the regular way, or in "
30 (:a
:href
"/calcupage-prefix" "lisp style") "."))
35 (with-html-output-to-string
38 (:head
(:title
"Welcome to Lineal v0.1.6"))
44 document.option-form.action-menu.value
))
46 (:a
:href
"/input_matrix" "Create and edit")
47 " vectors and matrices" :br
48 (calcupage-link s
) :br
49 (unless (boundp 'lineal.devvars
::no-save-restore
)
51 (s) (:a
:href
"/save_restore" "Save/Restore") " Session" :br
))
53 (:a
:href
"/doc/index.html" "documentation")
54 " (you really should)" :br
55 (when (boundp 'lineal.devvars
::reload-page
)
57 (s) (:a
:href
"/reload" "Reload for changes") :br
))
58 :br
(:a
:href
"/COPYING.txt"
59 "This software is subject to the MIT License")))))))