Giter VIP home page Giter VIP logo

ambiance's Introduction

Ambiance

Ambiance is a simple, but fully hackable code editor. It uses HTML and it's friends for rendering and nodejs for everything else.

Motivation

I have being using vim as a primary editor for a long time & it's great! Although in a lot of cases it's being easier to start prototyping in jsfiddle or jsbin! It's just very often one needs small little hack to assist with a given task, but cost of doing is usually higher then the benefit. What if we could change that by dropping cost for quick hacks ?

More and more I find myself embedding web based code editors to empower myself with quick interactive loop when doing different experiments:

Wisp editor

wisp is a language with macros that compiles to human-readable JavaScript. It's compiler is written in wisp itself, in this process of writing wisp compiler in wisp, it was extremely useful to have a live view of compiled JS as wisp code was typed. So I hacked up a small interactive page with an embedded editor displaying JS code that's being typed will compile too. Not to say that everyone now can try wisp right in the browser to get a taste of it.

Prose

Prose is an experimental take on Literate programming, where you basically write markdown with a some code blocks that can by in arbitrary languages. Languages are identified via shebang in head of code block. Most interestingly compiler is compiled to js from readme.md file written in prose. Using any editor to do this was really painful so I cooked up codemirror mode and simple page, to write compiler in.

Solution

Ambiance is code editor that uses HTML and it's friends for rendering and nodejs for everything else. This makes it as hackable as web is! Not only that, editor is just bunch of little plugins, editor component is provided by codemirror plugin, (BTW there is no reason not to have ace plugin that could be installed to replace it), that command line interface is provided by gcli plugin and even code that reads and writes files to disk is a plugin. And plugins are just an npm packages, wanna create one ? You got all the goods from npm wanna share just publish to npm!

Screenshots

Try

There is several ways you can try this thing out, but be aware it's very unstable and far from being finished (any help is welcome BTW).

Download

If you're a mac user you can just download .dmg file.

Use node-webkit

Alternatively you can use node-webkit, to do that you'll need to first download a bulid.

Then download ambiance:

git clone https://github.com/Gozala/ambiance.git && cd ambiance
npm install

Finally ether run with node-webkit

nw .

Or make a bulid of your own.

Credits

All the credits got to an amazing open source projects without which this would not be possible:

nodejs, node-webkit, npm, codemirror, gcli

And to Svengraph who made beautiful icon with cc license that editor is using.

ambiance's People

Contributors

gozala avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ambiance's Issues

problems in startup and using gcli

Invoked on a snow leopard box, with a 10.6.x build of node webkit, and with latest github ambiance..the first two errors were on startup, the next on open ~/apyfile.py on the gcli

$ ./node-webkit.app/Contents/MacOS/node-webkit ambiance
[20784:0214/001903:ERROR:renderer_main.cc(179)] Running without renderer sandbox
[20783:0214/001903:INFO:CONSOLE(1)] "Uncaught TypeError: Illegal invocation", source: /Users/rahul/Downloads/Ambiance/ambiance/node_modules/gcli-ambiance-plugin/resource/gcli.js (1)
[20783:0214/001938:INFO:CONSOLE(1)] "Uncaught TypeError: Cannot call method 'selectChoice' of undefined", source: /Users/rahul/Downloads/Ambiance/ambiance/node_modules/gcli-ambiance-plugin/resource/gcli.js (1)
[20783:0214/002112:INFO:CONSOLE(1)] "Uncaught TypeError: Cannot call method 'selectChoice' of undefined", source: /Users/rahul/Downloads/Ambiance/ambiance/node_modules/gcli-ambiance-plugin/resource/gcli.js (1)
[20783:0214/002227:INFO:CONSOLE(1)] "Uncaught TypeError: Cannot call method 'selectChoice' of undefined", source: /Users/rahul/Downloads/Ambiance/ambiance/node_modules/gcli-ambiance-plugin/resource/gcli.js (1)
[20783:0214/002538:INFO:CONSOLE(1)] "Uncaught TypeError: Cannot call method 'selectChoice' of undefined", source: /Users/rahul/Downloads/Ambiance/ambiance/node_modules/gcli-ambiance-plugin/resource/gcli.js (1)

win7 install error

using node 64 (latest) msi for windows

npm install

npm http GET https://registry.npmjs.org/ansi-font/-/ansi-font-0.0.2.tgz
npm ERR! Error: version not found: 1.1.63 : npm/1.1.63
npm ERR! at RegClient. (C:\code\nodejs\node_modules\npm\node_modules\npm-registry-client\lib\request.js:269:14)
npm ERR! at Request.self.callback (C:\code\nodejs\node_modules\npm\node_modules\request\index.js:142:22)
npm ERR! at Request.EventEmitter.emit (events.js:98:17)
npm ERR! at Request. (C:\code\nodejs\node_modules\npm\node_modules\request\index.js:856:14)
npm ERR! at Request.EventEmitter.emit (events.js:117:20)
npm ERR! at IncomingMessage. (C:\code\nodejs\node_modules\npm\node_modules\request\index.js:808:12)
npm ERR! at IncomingMessage.EventEmitter.emit (events.js:117:20)
npm ERR! at _stream_readable.js:895:16
npm ERR! at process._tickCallback (node.js:415:13)
npm ERR! If you need help, you may report this log at:
npm ERR! http://github.com/isaacs/npm/issues
npm ERR! or email it to:
npm ERR! [email protected]

npm ERR! System Windows_NT 6.1.7601
npm ERR! command "C:\code\nodejs\node.exe" "C:\code\nodejs\node_modules\npm\bin\npm-cli.js" "install"
npm ERR! cwd c:\Users\Ransom\Documents\node.js\ambiance
npm ERR! node -v v0.10.5
npm ERR! npm -v 1.2.18
npm http 200 https://registry.npmjs.org/doc
npm http GET https://registry.npmjs.org/doc/-/doc-0.0.2.tgz
npm http 200 https://registry.npmjs.org/micro-promise/-/micro-promise-0.1.0.tgz
npm http 200 https://registry.npmjs.org/match-score/-/match-score-0.0.1.tgz
npm http 200 https://registry.npmjs.org/pattern-exp/-/pattern-exp-0.0.2.tgz
npm http 200 https://registry.npmjs.org/ansi-font/-/ansi-font-0.0.2.tgz
npm http 200 https://registry.npmjs.org/doc/-/doc-0.0.2.tgz
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! c:\Users\Ransom\Documents\node.js\ambiance\npm-debug.log
npm ERR! not ok code 0

nw .

will produce a blank grey window with no menu.

node -v
v0.10.5

npm -v
1.2.18

node-webkit-v0.5.1-win-ia32

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.