A word processor for structured content.
Integral Merge pull request #1025 from substance/import-csl-json
Fixing CSL/JSON importing glitches.
Latest commit b7872a4 Nov 17, 2018

README.md

Texture Build Status

Texture is a toolset designed for the production of scientific content. It uses the Dar Format, which defines a stricter form of the JATS Archiving and Interchange Tag Set ("green" v. 1.1) XML standard.

Texture User Interface

Roadmap

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

  • ✓ = ready for production use
  • Beta = ready for beta user testing

We generally only plan one or two releases ahead, and aim ship regularly.

Feature Ready
General editing Beta
Copy & Paste (from Word, etc.) Beta
Find and Replace Beta
Auto-numbered labels (xref, fig, etc. )
Reference editing (element-citation)
Authors and Affiliations
Dar Storage
Article Record (issue, fpage, etc.)
Translations                          
Group authors
Realtime Collaborative Editing
Supported Content
Paragraph
Heading
Inline Formula
Display Formula 2.0
Definition List 2.0
List
Blockquote
Figure
Table
Bold & Italic
Ext-Link
Subscript & Superscript

Install

You need Node 8.x installed on your system.

Clone the repository.

$ git clone https://github.com/substance/texture.git

Navigate to the source directory.

$ cd texture

Install via npm.

$ npm install

Start the dev server.

$ npm start

And navigate to http://localhost:4000.

You can save your document changes by pressing CommandOrControl+S.

To test with your own JATS-documents, just replace the contents of data/kitchen-sink/manuscript.xml.

Texture Desktop

We also offer Texture wrapped in an Electron application.

$ npm run app

To package the application for distribution do the following:

$ npm run release

Running tests

Running tests in NodeJS (like it is done on TravisCI):

npm test

Debugging NodeJS tests:

node make test-nodejs && node --inspect-brk --require esm test/index.js

Then open chrome://inspect. It should show a Remove Target for the test script. Clicking on inspect opens a new window with Chrome Developer Tools.

Running a some NodeJS tests:

TEST="Model" npm test

The environment variable TEST is used as a filter to select test that have that pattern in their name.

Running tests in the browser:

node make test-browser -w -s

Then open localhost:4000/test.

License

Texture is open source (MIT license), 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.

Credits

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

The following people make Texture possible (in random order):

  • Alex Garnett (leadership, concept)
  • Juan Pablo Alperin (leadership, concept)
  • Alex Smecher (concept, dev)
  • Tanja Niemann (leadership)
  • Melissa Harrison (requirements)
  • Giuliano Maciocci (requirements, concept)
  • Naomi Penfold (leadership)
  • Nick Duffield (design)
  • Davin Baragiotta (concept, dev)
  • David Cormier (dev)
  • Sophy Ouch (design)
  • Philipp Zumstein (dev)
  • Fabio Batalha Cunha dos Santos (leadership, concept)
  • James Gilbert (UX, requirements)
  • Luciano Gabriel Panepucci (UX)
  • Michael Aufreiter (dev)
  • Oliver Buchtala (dev)
  • Daniel Beilinson (dev)