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
Stencila is still at an early beta stage: there are likely to be missing features, bugs and API changes. But we would :heart: to get your suggestions and :bug: reports. Create a new issue, add to existing issues or chat with members of the community.
Develop
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
.