Reputation:
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>") )
Upvotes: 5
Views: 712
Reputation: 10814
This might help you out, a simple cgi library for emacs
http://www.emacswiki.org/emacs/cgi.el
Upvotes: 3
Reputation: 49339
One way to do it is, use the httpd server in Emacs HttpServer and send request to emacs using proxy.
Upvotes: 2
Reputation: 74480
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")))))))
Upvotes: 3