node package manager

stencila

Stencila

Stencila is a platform for creating, collaborating on, and sharing data driven content. Content that is transparent and reproducible, like RMarkdown and Jupyter Notebooks. Content that can be versioned and composed just like we do with open source software using tools like CRAN and NPM. And above all, content that is accessible to non-coders, like Google Docs and Microsoft Office.

Roadmap

Below, ticks indicate a feature is in the latest release. Numbers (e.g. 0.27) indicate the release a feature is planned for. We generally only plan one or two releases ahead. We aim to release every 1-2 months, towards a 1.0 release in early 2018. Checkout the current release milestones.

Feature Ready
Documents
Sheets
Slides
Static content
Paragraph
Headings
Blockquote
Image
List
Table
Strong & emphasis
Link
Subscript & superscript
Code block
Math (AsciiMath and Tex)
Discussions
Reproducible content
Number input (range slider)
Select input (name value pairs)
File input (CSV etc)
Code cell
Output (value display)
Execution contexts
JavaScript
Node.js
R
Python
Julia
Jupyter kernels 0.27
Functions
Statistics (sum, mean, variance, ...) 0.27
Data manipulation (filter, sort, aggregate, ...) 0.27
Data visualization (plot, title, theme, ...)
Contribute more...
Formats
HTML
JATS
Markdown
RMarkdown 0.27
Jupyter Notebook
Microsoft Office
Open/Libre Office

Download

Application or package Ready
Stencila Desktop
Stencila for Python
Stencila for R
Stencila for Node.js

Stencila is still at an early beta stage: there are likely to be missing features, bugs and API changes. But we would ❤️ to get your suggestions and 🐛 reports. Create a new issue, add to existing issues or chat with members of the community.

Develop

NPM Build status Code coverage Dependency status

Quick start:

git clone https://github.com/stencila/stencila.git
cd stencila
npm install
npm run start

Now you can access the different interfaces in the browser:

Most development tasks can be run via npm or make shortcuts:

Task npm make
Install and setup dependencies npm install make setup
Run the development server npm start make run
Check code for lint npm run lint make lint
Run tests npm test make test
Run tests in the browser npm run test-browser make test-browser
Run tests with coverage npm run cover make cover
Build bundles npm build make build
Build documentation npm run docs make docs
Run documentation server npm run docs-serve make docs-serve
Clean make clean

To contribute, get in touch, checkout the platform-wide, cross-repository kanban board, or just send us a pull request! Please read our contributor code of conduct.

API documentation is at http://stencila.github.io/stencila/. These are published using Github Pages, so to update them after making changes: run make docs, commit the updates and do a git push.