1.0.0-alpha.3 • Public • Published

Texture Build Status

Texture is a toolset for the production of scientific content. It has first-class support for JATS, the de facto standard for archiving and interchange of scientific open-access contents with XML. Texture User Interface


Texture is still at an early alpha stage: there are likely to be missing features, bugs and API changes. But we would ❤️ to get your suggestions and 🐛 reports.

  • prod = ready for production use
  • beta = ready for beta user testing
  • alpha = ready for alpha testing; use with caution
  • Planned for release (e.g. Alpha 4)

We generally only plan one or two releases ahead. We aim to do quaterly releases, towards a 1.0 release in 2018. Please see our more detailed document.

Feature Ready
General editing beta
Copy & Paste (from Word, etc.) beta
Find and Replace alpha
Auto-numbered labels (xref, fig, etc. ) beta
Reference editing (element-citation) alpha
Authors and Affiliations alpha
Article Record (issue, fpage, etc.) alpha
Translations alpha
Supported Content
Article Title prod
Abstract prod
Paragraph prod
Headings prod
Image alpha
Figure alpha
List Alpha 4
Table alpha
Bold & Italic prod
Ext-Link prod
Subscript & Superscript prod
Blockquote beta
JATS4R -> TextureJATS alpha
TextureJATS -> JATS4R alpha
JATS -> JATS4R alpha
Testsuite for transformations Alpha 4
Virtual Filesystem for XML + assets Alpha 4
Archive File Format (based on .tar.gz) Beta 1
Desktop app for OSX, Windows, Linux Beta 1


const { Texture } = window.texture = Texture.mount({
  documentId: 'some-doc-id',
  readXML: function(documentId, cb) {
    // fetch an XML string to be read by the editor
  writeXML: function(documentId, xml, cb) {
    // write the XML string to a store
}, document.body)

See our examples for a complete integration scenarios. The best way to start is downloading the zip file from the latest release.


Clone the repository.

$ git clone

Navigate to the source directory.

cd texture

At the moment, the default branch provides the develop version. To get the latest stable version switch to the master branch.

$ git checkout master

Install via npm.

$ npm install

Start the dev server.

$ npm run start

And navigate to http://localhost:4000.


Texture is open source, and you are legally free to use it commercially. If you are using Texture to make profit, we expect that you help fund its development and maintenance.


Texture is developed by the Substance Consortium formed by the Public Knowledge Project (PKP), the Collaborative Knowledge Foundation (CoKo), SciELO and Érudit.

The following people make Texture possible:

  • Alex Garnett (leadership, concept)
  • Juan Pablo Alperin (leadership, concept)
  • Alex Smecher (concept, dev)
  • Kristen Ratan (leadership)
  • Adam Hyde (leadership)
  • Jure Triglav (concept, dev)
  • Tanja Niemann (leadership)
  • Davin Baragiotta (concept, dev)
  • David Cormier (dev)
  • Sophy Ouch (design)
  • Fabio Batalha Cunha dos Santos (leadership, concept)
  • Michael Aufreiter (dev)
  • Oliver Buchtala (dev)




Package Sidebar


npm i substance-texture

Weekly Downloads






Last publish


  • michael
  • oliver