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
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. Get help from the community, create a new issue, or join the chat.
- = ready for production use
- = ready for beta user testing
- = ready for alpha testing; use with caution
- numbers (e.g.
0.31
) = planned release
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 | |
Datatables | 0.28 |
Sheets | 0.29 |
Static content | |
Paragraph | |
Headings | |
Blockquote | |
Image | 0.30 |
List | |
Table | 0.30 |
Strong & emphasis | |
Link | |
Subscript & superscript | |
Code block | 0.30 |
Math (AsciiMath and Tex) | |
Discussions | 0.31 |
Reproducible content | |
Number input (range slider) | |
Select input (name value pairs) | |
Tabular data input | 0.30 |
Code cell | |
Output (value display) | |
Embedded functions | |
Statistics (sum , mean , variance , ...) | |
Data manipulation (filter , sort , aggregate , ...) | |
Data visualization (plot , title , theme , ...) | |
Contribute more... | |
Execution contexts | |
Bash | |
JavaScript | |
Julia | |
Jupyter kernels | 0.29 |
Node.js | |
Python | |
R | |
SQLite | |
Supported formats | |
HTML | |
JATS | 0.30 |
Markdown .md | |
RMarkdown .Rmd | |
Jupyter Notebook .ipynb | |
Microsoft Office .docx | |
Open/Libre Office .odt | |
Download
See the Getting Started page on the wiki.
Develop
Quick start:
git clone https://github.com/stencila/stencila.git
cd stencila
npm install
npm run start
And navigate to http://localhost:4000/?archive=kitchen-sink&storage=fs.
You can save your document changes by pressing CommandOrControl+S
.
Use external contexts during development:
Run the docker image first.
docker run -p 2100:2000 stencila/alpha
Now start the development environment and point STENCILA_PEERS
to the new host.
STENCILA_PEERS=http://localhost:2100 npm start
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
.
Builds done on Travis CI are archived at http://builds.stenci.la/stencila/. That site can be useful for user acceptance testing without requiring users to download Stencila Desktop. Just provide test users with a link to a work-in-progress user interface e.g http://builds.stenci.la/stencila/test-deploy-2017-08-13-54a67a6/examples/document/index.html?documentId=01-welcome-to-stencila.