On Sat, Jan 11, 2014 at 4:29 PM, Eric Schulte <schulte.e...@gmail.com> wrote: >> >> The "Hello world" example worked splendidly for me out of the box. I'm >> having a bit of difficulty with serving up a file via this example: >> http://eschulte.github.io/emacs-web-server/File-Server.html#File-Server >> >> Perhaps I don't understand how the function is supposed to work... It >> says that the docroot is the current working directory in the example, >> so I cd'd to a directory with an .html file in it, started `emacs -Q` >> from the command line, ran `M-x load-file RET ~/.emacs`, and then >> evaluated the code from the example in the *scratch* buffer. I'm >> getting the 404 error. Should I be modifying that code somehow? >> > > Since the value of the default-directory variable may not be easy to > predict, you're probably better off changing > > (docroot default-directory) > > to > > (docroot "/full/path/to/directory/of/org/files") > > I only used default-directory in the example because I couldn't think of > a good static path which would probably exist on most people's systems.
Hmmm. Still having trouble. I tried: (lexical-let ((docroot "/home/jwhendy/Desktop/e-web-server-test")) (ws-start (list (cons (cons :GET ".*") (lambda (request) (with-slots (process headers) request (let ((path (substring (cdr (assoc :GET headers)) 1))) (if (ws-in-directory-p docroot path) (ws-send-file process (expand-file-name path docroot)) (ws-send-404 process))))))) 9003)) That directory contains just two .org files. When I open localhost:9003, it downloads a file called `download`, containing the following: HTTP/1.1 500 Internal Server Error Content-type: text/plain Caught Error: (error "IO error reading /home/jwhendy/Desktop/e-web-server-test: Is a directory") So, I then tried with the first line like so (trailing slash): (lexical-let ((docroot "/home/jwhendy/Desktop/e-web-server-test/")) Then I'm back to the 404 error. Sorry if I'm being dense and didn't follow something else implied. I noticed the tutorial mentioned mime-types. Do I need to set something with xdg-mime for .org files or do anything else other than simply doing (require 'web-server)? Since the hello world example worked, I'm assuming the setup is at least partially sound. I did wonder why I get no completions for `M-x ws-TAB`. Should emacs be aware of ws-* functions? Or is that not how one would run them (e.g. M-x something is actually a command, not a function and my nomenclature is incorrect)? Thanks, John > >> >> >> Thanks and great work -- this is really neat! > > Thanks, and please do let me know if anything else doesn't work as > expected. > > Best, > >> >> John >> >> >>> Best, >>> >>> Footnotes: >>> [1] https://github.com/eschulte/emacs-web-server >>> >>> [2] http://eschulte.github.io/emacs-web-server/tutorials/#sec-1 >>> >>> [3] >>> http://eschulte.github.io/emacs-web-server/Org_002dmode-Export.html#Org_002dmode-Export >>> >>> [4] >>> https://github.com/eschulte/emacs-web-server/blob/master/examples/013-org-export-service.el >>> >>> [5] >>> https://github.com/eschulte/emacs-web-server/blob/master/examples/011-org-agenda.el >>> >>> [6] https://github.com/eschulte/org-ehtml >>> >>> [7] http://eschulte.github.io/emacs-web-server/benchmark/ >>> >>> -- >>> Eric Schulte >>> https://cs.unm.edu/~eschulte >>> PGP: 0x614CA05D >>> > > -- > Eric Schulte > https://cs.unm.edu/~eschulte > PGP: 0x614CA05D