This is a python library for working with CNXML content, which includes the CNXML and COLLXML formats.
This library requires Python >=3.5.
Install using:
pip install -e "."
Use the tox to run the tests:
tox
If tox is not installed, run the following:
pip install tox
Edit/Validate files using atom.io
- Install https://atom.io
- Get the cnxml RNG Schema files
- Download the most recent version from https://github.com/Connexions/cnxml/releases (click the "zip" link)
- It should be in your Download foler
- Move it to ~/.neb/
- Unzip the file
- It should have created a folder named something like cnxml-2.0.0 (with /cnxml/xml/cnxml/schema/rng/0.7/cnxml-jing.rng in it)
- Rename the folder to be something you are unlikely to accidentally delete (like cnxml-validation)
- Remember the name for later when you are editing ~/.atom/config.cson
- Download the most recent version from https://github.com/Connexions/cnxml/releases (click the "zip" link)
- Start up Atom
- Install the linter-autocomplete-jing package
- Type <kbd>⌘</kbd>+<kbd>,</kbd> (for Mac) to open Settings (or click Atom, Preferences... in the menu bar)
- Click Install in the left-hand-side
- Enter linter-autocomplete-jing and click Install
- Alternative: run apm install linter-autocomplete-jing from the commandline
- Edit ~/.atom/config.cson by clicking Atom, Config in the menu bar and add the following lines (at the bottom of this document)
- Restart Atom
- Open an unzipped complete-zip. (I run atom ~/Downloads/col1234_complete From a terminal)
- Verify by opening an index.cnxml file and typing in <figure> somewhere in the file. If it is a valid location then it should auto-add id="" for you
Changes to `~/.atom/config.cson`:
"*":
core:
customFileTypes:
# Add this to the bottom of the customFileTypes area.
# Note: Indentation is important!
"text.xml": [
"index.cnxml"
]
# And then this to the bottom of the file
# 1. Make sure "linter-autocomplete-jing" only occurs once in this file!
# 1. make sure it is indented by 2 spaces just like it is in this example.
"linter-autocomplete-jing":
displaySchemaWarnings: true
rules: [
{
priority: 1
test:
pathRegex: ".cnxml$"
outcome:
schemaProps: [
{
lang: "rng"
path: "~/.neb/cnxml-validation/cnxml/xml/cnxml/schema/rng/0.7/cnxml-jing.rng"
}
]
}
]
This software is subject to the provisions of the GNU Affero General Public License Version 3.0 (AGPL). See license.txt for details. Copyright (c) 2016 Rice University