# About YASHE

YASHE is a ShEx editor which started as a fork of YASQE (which is based on SPARQL)
`var yashe = YASHE(document.getElementById("showcase"));`
(or, if you would like to instantiate YASHE from an existing text area, use `var yashe = YASHE.fromTextArea(document.getElementById('textAreaItem'));`

# Features

YASHE features:

- Completely client-side
- ShEx syntax highlighting and error checking
- Light and Dark modes
- Extremely customizable: All functions and handlers from the CodeMirror library are accessible
- Persistent values (optional): your query is stored for easier reuse between browser sessions
- Prefix definition autocompletion (using prefix.cc)
- Prefix and ShEx keywords autocompletion
- Wikidata property and entity autocompletion (using the MediaWiki API)
- Information tooltip when hovering over wikidata properties and entities (using the MediaWiki API)
- Handy keyboard shortcuts
- Integrated buttons that alows to:

- Upload ShEx files
- Download the editor content as a ShEx file
- Copy the editor content to the clipboard
- Delete all the editor content
- Change between light and dark mode
- FullScreen Mode (F11 shortcut too!)

# Download the latest release

We provide the following options to download YASHE and use it in your own projects:

###

The YASHE files are hosted via JsDelivr. This CDN is the easiest way to include YASHE in your website.

CSS
``
JS
``

###

Visit the GitHub repository to download the YASHE .css and .js files (find them in the `dist` directory).

Download latest release from GitHub

###

YASHE is registered as a node package as well, so you'll be able to use the node package manager to keep your version of YASHE up to date.

Show NPM Package

# Used by

- ShexAuthor ShEx Visualization Tool
- RDFShape Validate RDF data tool

# Thanks!

A big thanks goes out to:

- Laurens Rietveld for his great work on the YASQE library
- Maxime Lefrançois for his tips at the beginning of the project and for his work on the YATE library in which I could be inspired

A big thanks transitively goes out to:

- The people behind the MediaWiki API which I use for autocompleting Wikidata entities and properties.
- Marijn Haverbeke for his great work on the CodeMirror library syntax highlighting library
- Richard Cyganiak for his simple but effective Prefix.cc service, which I use for autocompleting prefixes.