tags:

views:

137

answers:

3

Has anyone written any libraries for elisp to do CGI programming? I threw together a quick first script. However, I'm only a long-time emacs user and I've never really programmed it. When I saw that I could write scripts (--script) in emacs instead of bash, I thought that I would give it a shot.

#!/usr/bin/emacs --script

(princ "Content-type: text/html; charset=utf-8\n\n")

(progn (princ "<html>\n")
       (princ "<body>\n")
       (princ "<h1 style='text-align: center'>Elisp CGI Programming</h1>"))

(progn (princ "<table style='border:1px solid'>")
       (princ "<tr><th>One</th><th>Two</th></tr>")
       (princ "<tr><th>A</th><th>B</th></tr>")
       (princ "</table>")
       (princ "</body>")
       (princ "</html>")
)
+2  A: 

I've not written any CGI scripts, but have used xmlgen to generate xml. It'd likely be easier than what you had up there - as it's easy to generate lists in Emacs and have them automatically converted to xml/html.

This code generates the same string:

(require 'xmlgen)
(princ  "Content-type: text/html; charset=utf-8\n\n")
(princ (xmlgen '(html (body (h1 :style "text-align: center" "Elisp CGI Programming")
                      (table :style "border: 1px solid"
                             (tr (th "One")
                                 (th "Two"))
                             (tr (th "A")
                                 (th "B")))))))
Trey Jackson
And you just answered my question here: http://stackoverflow.com/questions/797442/is-there-an-emacs-lisp-library-for-generating-html
Török Gábor
+2  A: 

One way to do it is, use the httpd server in Emacs HttpServer and send request to emacs using proxy.

Hamza Yerlikaya
+3  A: 

This might help you out, a simple cgi library for emacs

http://www.emacswiki.org/emacs/cgi.el

Jonathan Arkell