joaotavora / emacs-livereload

A livereload server running on Emacs
GNU General Public License v3.0
7 stars 4 forks source link

Howto run this #1

Open lifeisfoo opened 8 years ago

lifeisfoo commented 8 years ago

Hi @joaotavora, I'm trying to use this but when it's load this error is shown:

eval-buffer: Symbol's function definition is void: cl-defgeneric 

I think that it's related to joaotavora/eslack/issues/1.

Thank you for sharing this code.

lifeisfoo commented 8 years ago

I've also tried installing the cl-generic 0.2 package from ELPA (that should be the backporting), but another error is thrown:

eieio--defmethod: Unknown class type (eql :hello) in method parameters

I'm using emacs 24.5.1

joaotavora commented 8 years ago

I must confess I haven't looked at this in ages. I don't remember too well what it does frankly, or if it even worked.

I think the idea is to warn, via websocket, the livereload server, that a certain file has changed.

Then perhaps write rules in emacs lisp linking certain files to their livereloadable targets, so that when source.scss is edited and saved, target.css is automatically created/modified and livereload notified of that change.

Are you interested in this?

lifeisfoo commented 8 years ago

I'm trying to setup a working environment for html/sass development.

After years of grunt/gulp/&friends use, it's very annoying to see continuous breaking changes even for simple tasks. So I'm looking for a way to avoid them and use directly emacs. I've found some emacs mode to do this, but the emacs-liverelod is, from my point of view the most promising:

A nice solution could be to use a local http server to serve project files (e.g. direclty from emacs with httpd, like impatient mode does, or with an external process like python simplehttpserver) and to use a livereload connection to send "file update" events to the page, like your mode does.

Yes, there are even other solutions like mozrepl, but they depend on the browser and have limitations.

joaotavora commented 8 years ago

After years of grunt/gulp/&friends use, it's very annoying to see continuous breaking changes even for simple tasks. So I'm looking for a way to avoid them and use directly emacs. I've found some emacs mode to do this, but the emacs-liverelod is, from my point of view the most promising:

Yeah, that was more or less my reasoning, too.

But I haven't been doing much web development lately, and I don't remember if emacs-livereload is in a workable state. I encourage you to hack on it, otherwise, it will take a while. (well, if you're really interested and serious about it, I am available for contract work, or perhaps I can set up some kind of gratipay).

lifeisfoo commented 8 years ago

I'll definitively try to hack on it when I've some time, since I'm already developing some elisp/clisp. Thank you again for sharing your work.

joaotavora commented 8 years ago

Man I'm reading my own docstrings I wrote a sh*tload of doc. Thanks, me from 2 years ago! It might not be so far from working after all.

joaotavora commented 8 years ago

Actually, that's 1 year ago.Time passes strangely when doing lots of stuff.

stapelberg commented 7 years ago

I got this to work for .asciidoc files. My configuration converts them to html using asciidoctor, then notifies browsers which have file:// opened. Tested with the Chrome LiveReload extension.

joaotavora commented 7 years ago

Fantastic! I wonder if you want to take over livereload.el, you seem to have understood its workings more that I have. A readme.md even if just briefly describing your own particular experience would be splendid!

stapelberg commented 7 years ago

Sure, I can send a README and do some best-effort maintenance. Do you prefer a Pull Request, or do you just want to invite me as a collaborator?

Note that this is my first elisp module, so I have no idea what I’m doing :).

joaotavora commented 7 years ago

"best-effort" :-) yeah that's pretty much it... I just made you a collaborator, commit away or you can still send the pull request anyway if you have doubts.

PetersonLian commented 3 years ago

Need README file.