2009-10-07 24 views
5

Elisp için CGI programlaması yapmak için herhangi bir kütüphane yazdı mı? Hızlı bir ilk senaryo yazdım. Ancak, ben sadece uzun süreli bir emacs kullanıcısıyım ve hiç programlamamıştım. Bash yerine emaclarda betikler (- script) yazabileceğimi gördüğümde, bir çekim yapacağımı düşündüm.CGI Programlama?

 
#!/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>") 
) 

cevap

3

Ben herhangi bir CGI komut yazılmaz, ama xml oluşturmak için xmlgen kullandık. Emacs'de listelerin oluşturulması ve otomatik olarak xml/html'ye dönüştürülmesinin kolay olması gibi, orada olmanızdan daha kolay olabilir. , Öyle yapmak Emacs HttpServer httpd sunucusu kullanmak ve proxy kullanarak emacs isteği göndermek için

(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"))))))) 
+0

Ve sadece burada soruma cevap için basit cgi kitaplığı size yardımcı olabilir: http://stackoverflow.com/questions/797442/is-there-an- emacs-lisp kitaplığı için getirici-html –

2

Tek yönlü:

Bu kod aynı dizeyi oluşturur.