-
Notifications
You must be signed in to change notification settings - Fork 85
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #53 from substance/devel
First Alpha release
- Loading branch information
Showing
252 changed files
with
6,222 additions
and
1,818 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,127 @@ | ||
module.exports = { | ||
"env": { | ||
"browser": true, | ||
"commonjs": true, | ||
"node": true | ||
}, | ||
"extends": "eslint:recommended", | ||
"globals": { | ||
"QUnit": true | ||
}, | ||
"rules": { | ||
// 0 - off, 1 - warning, 2 - error | ||
"indent": ["error", 2, { "SwitchCase": 1 }], | ||
"semi": [2, "always"], | ||
"comma-dangle": [2, "only-multiline"], | ||
"no-cond-assign": 2, | ||
"no-console": [2, { allow: ["warn", "info", "error", "assert"] }], | ||
"no-constant-condition": 2, | ||
"no-control-regex": 2, | ||
"no-debugger": 2, | ||
"no-dupe-args": 2, | ||
"no-dupe-keys": 2, | ||
"no-duplicate-case": 2, | ||
"no-empty": 1, | ||
"no-empty-character-class": 2, | ||
"no-ex-assign": 2, | ||
"no-extra-boolean-cast": 2, | ||
"no-extra-parens": 0, | ||
"no-extra-semi": 2, | ||
"no-func-assign": 2, | ||
"no-inner-declarations": 2, | ||
"no-invalid-regexp": 2, | ||
"no-irregular-whitespace": 2, | ||
"no-negated-in-lhs": 2, | ||
"no-obj-calls": 2, | ||
// turned of as we want to be able to use this.hasOwnProperty() for instance | ||
"no-prototype-builtins": 0, | ||
"no-regex-spaces": 2, | ||
"no-sparse-arrays": 0, | ||
"no-unexpected-multiline": 2, | ||
"no-unreachable": 2, | ||
"no-unsafe-finally": 2, | ||
"use-isnan": 2, | ||
"valid-jsdoc": 0, | ||
"valid-typeof": 2, | ||
"strict": [2, "safe"], | ||
|
||
// Best practices | ||
"accessor-pairs": 0, | ||
"array-callback-return": 2, | ||
"block-scoped-var": 2, | ||
"complexity": [0, 10], | ||
"consistent-return": 0, | ||
"curly": [2, "multi-line"], | ||
"default-case": 2, | ||
"dot-location": [2, 'property'], | ||
"dot-notation": 0, | ||
"eqeqeq": 2, | ||
"guard-for-in": 2, | ||
"no-alert": 2, | ||
"no-caller": 2, | ||
"no-case-declarations": 2, | ||
"no-div-regex": 2, | ||
"no-else-return": 0, | ||
"no-empty-function": 0, | ||
// if you want to check for undefined or null use lodash/isNil | ||
"no-eq-null": 2, | ||
"no-eval": 2, | ||
"no-extend-native": 2, | ||
"no-extra-bind": 2, | ||
"no-extra-label": 2, | ||
"no-fallthrough": 2, | ||
"no-floating-decimal": 2, | ||
"no-implicit-coercion": 2, | ||
"no-implicit-globals": 2, | ||
"no-implied-eval": 2, | ||
"no-invalid-this": 2, | ||
"no-iterator": 2, | ||
"no-labels": 2, | ||
"no-lone-blocks": 0, | ||
"no-loop-func": 2, | ||
"no-magic-numbers": 0, | ||
"no-multi-spaces": 2, | ||
"no-multi-str": 0, | ||
"no-native-reassign": 2, | ||
"no-new": 0, | ||
"no-new-func": 0, | ||
"no-new-wrappers": 2, | ||
"no-octal": 2, | ||
"no-octal-escape": 2, | ||
"no-param-reassign": 0, | ||
"no-proto": 2, | ||
"no-redeclare": 2, | ||
"no-return-assign": 2, | ||
"no-script-url": 2, | ||
"no-self-assign": 2, | ||
"no-self-compare": 2, | ||
"no-sequences": 2, | ||
"no-throw-literal": 2, | ||
"no-unmodified-loop-condition": 2, | ||
"no-unused-expressions": 2, | ||
"no-unused-labels": 2, | ||
"no-useless-call": 2, | ||
"no-useless-concat": 2, | ||
"no-useless-escape": 2, | ||
"no-void": 2, | ||
"no-warning-comments": 0, | ||
"no-with": 2, | ||
"radix": 2, | ||
"vars-on-top": 0, | ||
"wrap-iife": 2, | ||
"yoda": 0, | ||
// variables | ||
"init-declarations": 0, | ||
"no-catch-shadow": 2, | ||
"no-delete-var": 2, | ||
"no-label-var": 2, | ||
"no-restricted-globals": 2, | ||
"no-shadow": 0, | ||
"no-shadow-restricted-names": 2, | ||
"no-undef": 2, | ||
"no-undef-init": 2, | ||
"no-undefined": 0, | ||
"no-unused-vars": 2, | ||
"no-use-before-define": [2, { "functions": false }] | ||
} | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
language: node_js | ||
cache: | ||
directories: | ||
- node_modules | ||
node_js: | ||
- "4" | ||
before_script: | ||
- 'npm install' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,87 @@ | ||
# Implement a new JATS element | ||
|
||
Each JATS element is realized as a [package](https://github.com/substance/scientist/tree/devel/packages/jats/caption), containing a node definition, a converter and a component for rendering / editing. | ||
|
||
## Choose the right node type | ||
|
||
When you add support for a new element, you have to choose a Substance node type. Use this check list to find out what kind of element it is. | ||
|
||
### Text | ||
|
||
- Does the element contain annotated text? | ||
|
||
Example elements: `<p>`, `<title>` | ||
|
||
### Annotation | ||
|
||
- Is the element used for formatting, highlighting? | ||
- Can the cursor move inside the element, changing its text? | ||
|
||
Example elements: `<bold>`, `<ext-link>` | ||
|
||
### Inline | ||
|
||
- Does the element behave like a single text character in the text flow? | ||
- Is the element content generated (e.g. a label)? | ||
- Is the element content a graphic? | ||
- Is the content of the node immutable to text editing and can only be deleted as a whole? | ||
|
||
Example elements: `<xref>` | ||
|
||
### Container | ||
|
||
- Does the element define a sequence of nodes? | ||
- Can the order of the nodes be changed by the user? | ||
|
||
Example elements: `<body>`, `<front>`, `<back>`, `<sec>` | ||
|
||
### DocumentNode | ||
|
||
- Does your element not fit into any of the previous types? | ||
|
||
Example elements: `<fig>`, `<ref-list>` | ||
|
||
|
||
## Define a new node class | ||
|
||
Use the following examples as a reference implementation. | ||
|
||
- [Paragraph](https://github.com/substance/scientist/blob/devel/packages/jats/paragraph/Paragraph.js) (Text Node) | ||
- [ExtLink](https://github.com/substance/scientist/blob/devel/packages/jats/ext-link/ExtLink.js) (Annotation Node) | ||
- [XRef](https://github.com/substance/scientist/blob/devel/packages/jats/xref/XRef.js) (Inline Node) | ||
- [Body](https://github.com/substance/scientist/blob/devel/packages/jats/body/Body.js) (Container Node) | ||
- [Figure](https://github.com/substance/scientist/blob/devel/packages/jats/figure/Figure.js) (Document Node) | ||
|
||
|
||
## Define a converter | ||
|
||
A converter is need to map from JATS XML to Substance document nodes. | ||
|
||
- [Paragraph Converter](https://github.com/substance/scientist/blob/devel/packages/jats/paragraph/ParagraphConverter.js) (Text Node) | ||
- [ExtLink Converter](https://github.com/substance/scientist/blob/devel/packages/jats/ext-link/ExtLinkConverter.js) (Annotation Node) | ||
- [XRef Converter](https://github.com/substance/scientist/blob/devel/packages/jats/xref/XRefConverter.js) (Inline Node) | ||
- [Body Converter](https://github.com/substance/scientist/blob/devel/packages/jats/body/BodyConverter.js) (Container Node) | ||
- [Figure Converter](https://github.com/substance/scientist/blob/devel/packages/jats/figure/FigureConverter.js) (Document Node) | ||
|
||
|
||
## Write a converter test | ||
|
||
It's important you test your converter throughly. The following examples can be used as a reference. | ||
|
||
|
||
- [Paragraph Test](https://github.com/substance/scientist/blob/devel/test/jats/paragraph.test.js) (Text Node) | ||
- [ExtLink Test](https://github.com/substance/scientist/blob/devel/test/jats/ext-link.test.js) (Annotation Node) | ||
- [XRef Test](https://github.com/substance/scientist/blob/devel/test/jats/xref-link.test.js) (Inline Node) | ||
- [Body Test](https://github.com/substance/scientist/blob/devel/test/jats/body-link.test.js) (Container Node) | ||
- [Figure Test](https://github.com/substance/scientist/blob/devel/test/jats/figure.test.js) (Document Node) | ||
|
||
|
||
## Defining a component | ||
|
||
In order to make the content editable, you have to define components for each JATS element. | ||
|
||
- [Paragraph Component](https://github.com/substance/scientist/blob/devel/packages/jats/paragraph/Paragraph.js) (Text Node) | ||
- [ExtLink Component](https://github.com/substance/scientist/blob/devel/packages/jats/ext-link/ExtLink.js) (Annotation Node) | ||
- [XRef Component](https://github.com/substance/scientist/blob/devel/packages/jats/xref/XRef.js) (Inline Node) | ||
- [Body Component](https://github.com/substance/scientist/blob/devel/packages/jats/body/Body.js) (Container Node) | ||
- [Figure Component](https://github.com/substance/scientist/blob/devel/packages/jats/figure/Figure.js) (Document Node) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
File renamed without changes.
File renamed without changes.
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
This is not functional yet. We just wanted to preserve an earlier working implementation using substance/ui/ResponsiveApplication. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
'use strict'; | ||
|
||
module.exports = { | ||
examples: ['jats-editor', 'science-writer'] | ||
}; |
Large diffs are not rendered by default.
Oops, something went wrong.
Oops, something went wrong.