Giter Club home page Giter Club logo

ethercalc's Introduction

EtherCalc

Installation

npm i -g ethercalc
ethercalc

Or install with our Docker image, which comes with built-in Redis server and webworker-threads support:

# Runs at port 6967 (default)
docker run -v /var/lib/redis:/redis:rw audreyt/ethercalc

# Runs at another port, for example 8080
docker run -p 8080:6967 -v /var/lib/redis:/redis:rw audreyt/ethercalc

Note the use of -v flag to store the Redis database on /var/lib/redis in the host server. In Docker versions 0.4.x, the flag was called -b instead.

REST API

Note that POST endpoints accept only application/json requests, and will reject regular form posts.

GET /_/page

Fetch the page as a serialization in SocialCalc save format.

PUT /_/page

Replaces the page with a serialization in SocialCalc save format.

POST /_

Takes a JSON structure with room and snapshot fields.

Replaces the page with a serialization in Socialtext save format.

POST /_/page

Takes a JSON structure with a command field (either as a string or an array of strings).

Runs one or more commands specified in the command field.

GET /_/page/cells

Returns a JSON representation of all defined cells in the page.

GET /_/page/cells/A1

Returns a JSON representation of a single cell in the page.

GET /_/page/html

Returns a HTML rendering of the page. (GET /page.html also works.)

GET /_/page/csv

Returns a CSV rendering of the page. (GET /page.csv also works.)

Flags

Using SSL: --keyfile / --certfile

openssl genrsa -out ethercalc-key.pem 1024
openssl req -new -key ethercalc-key.pem -out certrequest.csr
openssl x509 -req -in certrequest.csr -signkey ethercalc-key.pem -out ethercalc-cert.pem
ethercalc --keyfile ethercalc-key.pem --certfile ethercalc-cert.pem

Prefers polling over Websocket: --polling

Useful when running behind a proxy without WebSocket support.

Enable Cross-Origin Resource Sharing: --cors

Useful when setting up EtherCalc as a public REST API server.

URL Prefix: --basepath /path/prefix

Useful when running under an URL rewriter.

Access Control: --key secret

Offers read-write vs. read-only modes. See issues #1 and #4 for details on setting this up.

Disable server-side WebWorkers: --vm

Runs a single-thread background loop with vm.createContext instead of webworker-threads.

Useful for running custom functions in server side that requires full VM access.

Licensing

Common Public Attribution License (Socialtext Inc.)

  • socialcalcspreadsheetcontrol.js
  • socialcalctableeditor.js
  • images/*

Artistic License 2.0 (Socialtext Inc.)

  • formatnumber2.js
  • formula1.js
  • socialcalc-3.js
  • socialcalcconstants.js
  • socialcalcpopup.js

MIT License (John Resig, The Dojo Foundation)

  • static/jquery.js

CC0 Public Domain (唐鳳)

  • src/*.ls

ethercalc's People

Contributors

audreyt avatar clkao avatar gkz avatar infojunkie avatar mscherer avatar uho avatar

Watchers

 avatar James Cloos avatar

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.