Comments (5)
Any plans for this?
from rainbow.
I'm not sure exactly what is required to add node support. I am thinking it should just work because you can call:
Rainbow.color('var foo = true;', 'javascript', function(highlighted_code) {
console.log(highlighted_code);
});
And that should not require access to the DOM.
I don't have a node environment set up at the moment, but I can look into it at some point.
from rainbow.
@ccampbell it mostly does work today, although a few painful workarounds are required. These changes would make Rainbow would be more friendly in Node:
- instead of
window["Rainbow"] = ...
, use simplyRainbow = ...
(they're equivalent in a browser). - don't assume the presence of window, in particular when running window.addEventListener. Don't add event listeners if window doesn't exist.
- Provide a synchronous API (see #43).
- If you had a version of this project packaged using the commonJS module format, that would also be nice, but the three fixes above would allow most people interesting in using Rainbow on the server to get up-and-running with much less confusion.
For reference, this is what you'll need to do to run Rainbow using d8 (the V8 debug console):
window = this;
window.attachEvent = function() {};
window.setTimeout = function(block, timeout) { return block(); };
load("./rainbow.js");
load("./language/generic.js");
load("./language/javascript.js");
Rainbow.color('var foo = true;', 'javascript', function(highlighted_code) { print(highlighted_code); });
And this is what you'll need to do to run it using node:
window = this;
window.attachEvent = function() {};
window.setTimeout = function(block, timeout) { return block(); };
require("./rainbow.js");
require("./language/generic.js");
require("./language/javascript.js");
Rainbow.color('var foo = true;', 'javascript', function(highlighted_code) { console.log(highlighted_code); });
from rainbow.
I suggest this pull request to review :
#79
from rainbow.
Support for node.js and Rainbow.colorSync
was added in version 2.0 which finally was released.
npm install rainbow-code
var rainbow = require('rainbow-code');
var highlightedCode = rainbow.colorSync('var finally = true;', 'javascript');
from rainbow.
Related Issues (20)
- Support for Iro
- Rainbow.color does not work HOT 2
- Temporary disabling rainbow
- Doesn't highlight in standard conventional ways
- Update [email protected] to 0.7.17^ HOT 5
- States are rendered as attributes - HTML HOT 4
- Language support for YAML/YML HOT 1
- Support for rollup >= 0.56.x?
- Javascript Highlighter seems to not work as expected HOT 5
- Your library encourages unescaped HTML by supporting it in many cases. HOT 46
- TypeError: can't redefine non-configurable property "toQueryString"
- installation Symfony Encore
- Syntax highlighter flashes
- Add support for OCaml
- Support for typescript
- Return code
- Syntax highlighting problem
- add `overflow: auto;` in all `pre `
- Copy to Clipboard Integration HOT 1
- How to retrigger rainbow for dynamic code HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rainbow.