| <!DOCTYPE html> |
| <html prefix="og: http://ogp.me/ns#"> |
| <head> |
| <meta charset="utf-8"> |
| <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" /> |
| <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1"> |
| <title>Apache Annotator (incubating)</title> |
| <meta property="og:title" content="Apache Annotator" /> |
| <meta property="og:type" content="website" /> |
| <meta property="og:url" content="https://annotator.apache.org/" /> |
| <meta property="og:image:url" content="https://annotator.apache.org/images/annotator-logo.svg" /> |
| <meta property="og:image:alt" content="Apache Annotator (incubating) logo" /> |
| <link rel="apple-touch-icon" sizes="180x180" href="/images/apple-touch-icon.png"> |
| <link rel="icon" type="image/png" sizes="32x32" href="/images/favicon-32x32.png"> |
| <link rel="icon" type="image/png" sizes="16x16" href="/images/favicon-16x16.png"> |
| <link rel="manifest" href="/site.webmanifest"> |
| <link rel="mask-icon" href="/images/safari-pinned-tab.svg" color="#5bbad5"> |
| <meta name="msapplication-TileColor" content="#da532c"> |
| <meta name="theme-color" content="#ffffff"> |
| <link rel="alternate" title="DOAP" href="doap.rdf" type="application/rdf+xml" /> |
| <link rel="stylesheet" href="//semantic-ui.com/dist/semantic.min.css" /> |
| </head> |
| <body> |
| <div class="ui borderless stackable top attached main menu"> |
| <div class="ui container"> |
| <a class="item" href="/" style="color: rgba(0,0,0,.87);"> |
| <img class="ui small image" src="/images/annotator-logo.svg" alt="Apache Annotator (incubating)" /> |
| </a> |
| <div class="right menu"> |
| <a class="item" href="/demo/"><span class="ui positive button">Demo!</span></a> |
| <a class="item" rel="external" href="https://www.npmjs.com/package/apache-annotator">NPM</a> |
| <a class="item" rel="external" href="https://github.com/apache?q=annotator#org-repositories">Code</a> |
| <a class="item" rel="external" href="https://github.com/apache/incubator-annotator/issues">Issues</a> |
| <a class="active item" href="/docs/">Docs</a> |
| <a class="item" rel="external" href="https://mail-archives.apache.org/mod_mbox/incubator-annotator-dev/">Mailing List</a> |
| </div> |
| </div> |
| </div> |
| <div class="ui basic segment container"> |
| <link rel="stylesheet" href="../assets/css/main.css"> |
| <script async src="../assets/js/search.js" id="search-script"></script> |
| <aside> |
| <style> |
| #tsd-search { |
| position: relative; |
| } |
| #tsd-search input { |
| border: 1px solid grey; |
| border-radius: 2px; |
| padding: 0.2em; |
| } |
| #tsd-search .results { |
| z-index: 1; |
| position: absolute; |
| } |
| </style> |
| <div id="tsd-search" data-index="../assets/js/search.json" data-base=".."> |
| <div> |
| <label for="tsd-search-field" class="tsd-widget search no-caption">Search</label> |
| <input id="tsd-search-field" type="text" /> |
| </div> |
| <ul class="results"> |
| <li class="state loading">Preparing search index...</li> |
| <li class="state failure">The search index is not available</li> |
| </ul> |
| </div> |
| </aside> |
| <header style="margin: 2em 0;" id="typedoc-title"> |
| <style> |
| #typedoc-title h1 { |
| margin-top: 0; |
| } |
| </style> |
| <ul class="tsd-breadcrumb"> |
| <li> |
| <a href="../index.html">apache-annotator</a> |
| </li> |
| <li> |
| <a href="dom.html">dom</a> |
| </li> |
| </ul> |
| <h1>Module dom</h1> |
| </header> |
| <main> |
| <div class="row"> |
| <div class="col-8 col-content"> |
| <section class="tsd-panel-group tsd-index-group"> |
| <h2>Index</h2> |
| <section class="tsd-panel tsd-index-panel"> |
| <div class="tsd-index-content"> |
| <section class="tsd-index-section "> |
| <h3>Functions</h3> |
| <ul class="tsd-index-list"> |
| <li class="tsd-kind-function tsd-parent-kind-module"><a href="dom.html#createcssselectormatcher" class="tsd-kind-icon">create<wbr>Css<wbr>Selector<wbr>Matcher</a></li> |
| <li class="tsd-kind-function tsd-parent-kind-module"><a href="dom.html#createtextpositionselectormatcher" class="tsd-kind-icon">create<wbr>Text<wbr>Position<wbr>Selector<wbr>Matcher</a></li> |
| <li class="tsd-kind-function tsd-parent-kind-module"><a href="dom.html#createtextquoteselectormatcher" class="tsd-kind-icon">create<wbr>Text<wbr>Quote<wbr>Selector<wbr>Matcher</a></li> |
| <li class="tsd-kind-function tsd-parent-kind-module"><a href="dom.html#describetextposition" class="tsd-kind-icon">describe<wbr>Text<wbr>Position</a></li> |
| <li class="tsd-kind-function tsd-parent-kind-module"><a href="dom.html#describetextquote" class="tsd-kind-icon">describe<wbr>Text<wbr>Quote</a></li> |
| <li class="tsd-kind-function tsd-parent-kind-module"><a href="dom.html#highlightrange" class="tsd-kind-icon">highlight<wbr>Range</a></li> |
| <li class="tsd-kind-function tsd-parent-kind-module"><a href="dom.html#makecreaterangeselectormatcher" class="tsd-kind-icon">make<wbr>Create<wbr>Range<wbr>Selector<wbr>Matcher</a></li> |
| </ul> |
| </section> |
| </div> |
| </section> |
| </section> |
| <section class="tsd-panel-group tsd-member-group "> |
| <h2>Functions</h2> |
| <section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-module"> |
| <a name="createcssselectormatcher" class="tsd-anchor"></a> |
| <h3>create<wbr>Css<wbr>Selector<wbr>Matcher</h3> |
| <ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module"> |
| <li class="tsd-signature tsd-kind-icon">create<wbr>Css<wbr>Selector<wbr>Matcher<span class="tsd-signature-symbol">(</span>selector<span class="tsd-signature-symbol">: </span><a href="../interfaces/selector.cssselector.html" class="tsd-signature-type" data-tsd-kind="Interface">CssSelector</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="../interfaces/selector.matcher.html" class="tsd-signature-type" data-tsd-kind="Interface">Matcher</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">Range</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">Range</span><span class="tsd-signature-symbol">></span></li> |
| </ul> |
| <ul class="tsd-descriptions"> |
| <li class="tsd-description"> |
| <aside class="tsd-sources"> |
| </aside> |
| <div class="tsd-comment tsd-typography"> |
| <div class="lead"> |
| <p>Find the elements corresponding to the given <a href="../interfaces/selector.cssselector.html">CssSelector</a>.</p> |
| </div> |
| <p>The given CssSelector returns all elements within <code>scope</code> that it matches. |
| However, the selector is evaluated relative to the Document as a whole. |
| <em>(XXX is this intentional, a mistake, or compromise?)</em></p> |
| <p>The function is curried, taking first the selector and then the scope.</p> |
| <p>As there may be multiple matches for a given selector, the matcher will |
| return an (async) generator that produces each match in the order they are |
| found in the text.</p> |
| <p>Each matching element is returned as a <a href="https://developer.mozilla.org/en-US/docs/Web/API/Range" class="external">Range</a> surrounding that element. This in order to make its output reusable |
| as the scope for any subsequents selectors that <a href="../interfaces/selector.selector-1.html#refinedby">refine</a> this CssSelector.</p> |
| </div> |
| <h4 class="tsd-parameters-title">Parameters</h4> |
| <ul class="tsd-parameters"> |
| <li> |
| <h5>selector: <a href="../interfaces/selector.cssselector.html" class="tsd-signature-type" data-tsd-kind="Interface">CssSelector</a></h5> |
| <div class="tsd-comment tsd-typography"> |
| <p>The <a href="../interfaces/selector.cssselector.html">CssSelector</a> to be |
| anchored</p> |
| </div> |
| </li> |
| </ul> |
| <h4 class="tsd-returns-title">Returns <a href="../interfaces/selector.matcher.html" class="tsd-signature-type" data-tsd-kind="Interface">Matcher</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">Range</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">Range</span><span class="tsd-signature-symbol">></span></h4> |
| <p>A <a href="../interfaces/selector.matcher.html">Matcher</a> function that applies |
| <code>selector</code> to a given <a href="https://developer.mozilla.org/en-US/docs/Web/API/Range" class="external">Range</a></p> |
| </li> |
| </ul> |
| </section> |
| <section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-module"> |
| <a name="createtextpositionselectormatcher" class="tsd-anchor"></a> |
| <h3>create<wbr>Text<wbr>Position<wbr>Selector<wbr>Matcher</h3> |
| <ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module"> |
| <li class="tsd-signature tsd-kind-icon">create<wbr>Text<wbr>Position<wbr>Selector<wbr>Matcher<span class="tsd-signature-symbol">(</span>selector<span class="tsd-signature-symbol">: </span><a href="../interfaces/selector.textpositionselector.html" class="tsd-signature-type" data-tsd-kind="Interface">TextPositionSelector</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="../interfaces/selector.matcher.html" class="tsd-signature-type" data-tsd-kind="Interface">Matcher</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">Range</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">Range</span><span class="tsd-signature-symbol">></span></li> |
| </ul> |
| <ul class="tsd-descriptions"> |
| <li class="tsd-description"> |
| <aside class="tsd-sources"> |
| </aside> |
| <div class="tsd-comment tsd-typography"> |
| <div class="lead"> |
| <p>Find the range of text corresponding to the given <a href="../interfaces/selector.textpositionselector.html">TextPositionSelector</a>.</p> |
| </div> |
| <p>The start and end positions are measured relative to the first text character |
| in the given scope.</p> |
| <p>The function is curried, taking first the selector and then the scope.</p> |
| <p>Its end result is an (async) generator producing a single <a href="https://developer.mozilla.org/en-US/docs/Web/API/Range" class="external">Range</a> to represent the match. (unlike a <a href="../interfaces/selector.textquoteselector.html">TextQuoteSelector</a>, a TextPositionSelector cannot have |
| multiple matches).</p> |
| <dl class="tsd-comment-tags"> |
| <dt>example</dt> |
| <dd><pre><code><span style="color: #0000FF">const</span><span style="color: #000000"> </span><span style="color: #0070C1">selector</span><span style="color: #000000"> = { </span><span style="color: #001080">type:</span><span style="color: #000000"> </span><span style="color: #A31515">'TextPositionSelector'</span><span style="color: #000000">, </span><span style="color: #001080">start:</span><span style="color: #000000"> </span><span style="color: #098658">702</span><span style="color: #000000">, </span><span style="color: #001080">end:</span><span style="color: #000000"> </span><span style="color: #098658">736</span><span style="color: #000000"> };</span> |
| |
| <span style="color: #008000">// Search in the whole document.</span> |
| <span style="color: #0000FF">const</span><span style="color: #000000"> </span><span style="color: #0070C1">scope</span><span style="color: #000000"> = </span><span style="color: #001080">document</span><span style="color: #000000">.</span><span style="color: #795E26">createRange</span><span style="color: #000000">();</span> |
| <span style="color: #001080">scope</span><span style="color: #000000">.</span><span style="color: #795E26">selectNodeContents</span><span style="color: #000000">(</span><span style="color: #001080">document</span><span style="color: #000000">);</span> |
| |
| <span style="color: #0000FF">const</span><span style="color: #000000"> </span><span style="color: #0070C1">matches</span><span style="color: #000000"> = </span><span style="color: #795E26">textQuoteSelectorMatcher</span><span style="color: #000000">(</span><span style="color: #001080">selector</span><span style="color: #000000">)(</span><span style="color: #001080">scope</span><span style="color: #000000">);</span> |
| <span style="color: #0000FF">const</span><span style="color: #000000"> </span><span style="color: #0070C1">match</span><span style="color: #000000"> = (</span><span style="color: #AF00DB">await</span><span style="color: #000000"> </span><span style="color: #001080">matches</span><span style="color: #000000">.</span><span style="color: #795E26">next</span><span style="color: #000000">()).</span><span style="color: #001080">value</span><span style="color: #000000">;</span> |
| |
| <span style="color: #008000">// ⇒ Range { startContainer: #text, startOffset: 64, endContainer: #text,</span> |
| <span style="color: #008000">// endOffset: 98, … }</span> |
| </code></pre> |
| </dd> |
| </dl> |
| </div> |
| <h4 class="tsd-parameters-title">Parameters</h4> |
| <ul class="tsd-parameters"> |
| <li> |
| <h5>selector: <a href="../interfaces/selector.textpositionselector.html" class="tsd-signature-type" data-tsd-kind="Interface">TextPositionSelector</a></h5> |
| <div class="tsd-comment tsd-typography"> |
| <p>The <a href="../interfaces/selector.textpositionselector.html">TextPositionSelector</a> |
| to be anchored</p> |
| </div> |
| </li> |
| </ul> |
| <h4 class="tsd-returns-title">Returns <a href="../interfaces/selector.matcher.html" class="tsd-signature-type" data-tsd-kind="Interface">Matcher</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">Range</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">Range</span><span class="tsd-signature-symbol">></span></h4> |
| <p>A <a href="../interfaces/selector.matcher.html">Matcher</a> function that applies |
| <code>selector</code> to a given <a href="https://developer.mozilla.org/en-US/docs/Web/API/Range" class="external">Range</a></p> |
| </li> |
| </ul> |
| </section> |
| <section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-module"> |
| <a name="createtextquoteselectormatcher" class="tsd-anchor"></a> |
| <h3>create<wbr>Text<wbr>Quote<wbr>Selector<wbr>Matcher</h3> |
| <ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module"> |
| <li class="tsd-signature tsd-kind-icon">create<wbr>Text<wbr>Quote<wbr>Selector<wbr>Matcher<span class="tsd-signature-symbol">(</span>selector<span class="tsd-signature-symbol">: </span><a href="../interfaces/selector.textquoteselector.html" class="tsd-signature-type" data-tsd-kind="Interface">TextQuoteSelector</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="../interfaces/selector.matcher.html" class="tsd-signature-type" data-tsd-kind="Interface">Matcher</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">Range</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">Range</span><span class="tsd-signature-symbol">></span></li> |
| </ul> |
| <ul class="tsd-descriptions"> |
| <li class="tsd-description"> |
| <aside class="tsd-sources"> |
| </aside> |
| <div class="tsd-comment tsd-typography"> |
| <div class="lead"> |
| <p>Find occurrences in a text matching the given <a href="../interfaces/selector.textquoteselector.html">TextQuoteSelector</a>.</p> |
| </div> |
| <p>This performs an exact search for the selector’s quote (including prefix and |
| suffix) within the text contained in the given scope (a <a href="https://developer.mozilla.org/en-US/docs/Web/API/Range" class="external">Range</a>).</p> |
| <p>Note the match is based on strict character-by-character equivalence, i.e. |
| it is sensitive to whitespace, capitalisation, etc.</p> |
| <p>The function is curried, taking first the selector and then the scope.</p> |
| <p>As there may be multiple matches for a given selector (when its prefix and |
| suffix attributes are not sufficient to disambiguate it), the matcher will |
| return an (async) generator that produces each match in the order they are |
| found in the text.</p> |
| <dl class="tsd-comment-tags"> |
| <dt>example</dt> |
| <dd><pre><code><span style="color: #008000">// Find the word ‘banana’.</span> |
| <span style="color: #0000FF">const</span><span style="color: #000000"> </span><span style="color: #0070C1">selector</span><span style="color: #000000"> = { </span><span style="color: #001080">type:</span><span style="color: #000000"> </span><span style="color: #A31515">'TextQuoteSelector'</span><span style="color: #000000">, </span><span style="color: #001080">exact:</span><span style="color: #000000"> </span><span style="color: #A31515">'banana'</span><span style="color: #000000"> };</span> |
| |
| <span style="color: #008000">// Search in the document body.</span> |
| <span style="color: #0000FF">const</span><span style="color: #000000"> </span><span style="color: #0070C1">scope</span><span style="color: #000000"> = </span><span style="color: #001080">document</span><span style="color: #000000">.</span><span style="color: #795E26">createRange</span><span style="color: #000000">();</span> |
| <span style="color: #001080">scope</span><span style="color: #000000">.</span><span style="color: #795E26">selectNodeContents</span><span style="color: #000000">(</span><span style="color: #001080">document</span><span style="color: #000000">.</span><span style="color: #001080">body</span><span style="color: #000000">);</span> |
| |
| <span style="color: #008000">// Read all matches.</span> |
| <span style="color: #0000FF">const</span><span style="color: #000000"> </span><span style="color: #0070C1">matches</span><span style="color: #000000"> = </span><span style="color: #795E26">textQuoteSelectorMatcher</span><span style="color: #000000">(</span><span style="color: #001080">selector</span><span style="color: #000000">)(</span><span style="color: #001080">scope</span><span style="color: #000000">);</span> |
| <span style="color: #AF00DB">for</span><span style="color: #000000"> </span><span style="color: #AF00DB">await</span><span style="color: #000000"> (</span><span style="color: #001080">match</span><span style="color: #000000"> </span><span style="color: #0000FF">of</span><span style="color: #000000"> </span><span style="color: #001080">matches</span><span style="color: #000000">) </span><span style="color: #001080">console</span><span style="color: #000000">.</span><span style="color: #795E26">log</span><span style="color: #000000">(</span><span style="color: #001080">match</span><span style="color: #000000">);</span> |
| <span style="color: #008000">// ⇒ Range { startContainer: #text, startOffset: 187, endContainer: #text,</span> |
| <span style="color: #008000">// endOffset: 193, … }</span> |
| <span style="color: #008000">// ⇒ Range { startContainer: #text, startOffset: 631, endContainer: #text,</span> |
| <span style="color: #008000">// endOffset: 637, … }</span> |
| </code></pre> |
| </dd> |
| </dl> |
| </div> |
| <h4 class="tsd-parameters-title">Parameters</h4> |
| <ul class="tsd-parameters"> |
| <li> |
| <h5>selector: <a href="../interfaces/selector.textquoteselector.html" class="tsd-signature-type" data-tsd-kind="Interface">TextQuoteSelector</a></h5> |
| <div class="tsd-comment tsd-typography"> |
| <p>The <a href="../interfaces/selector.textquoteselector.html">TextQuoteSelector</a> |
| to be anchored</p> |
| </div> |
| </li> |
| </ul> |
| <h4 class="tsd-returns-title">Returns <a href="../interfaces/selector.matcher.html" class="tsd-signature-type" data-tsd-kind="Interface">Matcher</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">Range</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">Range</span><span class="tsd-signature-symbol">></span></h4> |
| <p>a <a href="../interfaces/selector.matcher.html">Matcher</a> function that applies |
| <code>selector</code> to a given <a href="https://developer.mozilla.org/en-US/docs/Web/API/Range" class="external">Range</a></p> |
| </li> |
| </ul> |
| </section> |
| <section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-module"> |
| <a name="describetextposition" class="tsd-anchor"></a> |
| <h3>describe<wbr>Text<wbr>Position</h3> |
| <ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module"> |
| <li class="tsd-signature tsd-kind-icon">describe<wbr>Text<wbr>Position<span class="tsd-signature-symbol">(</span>range<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Range</span>, maybeScope<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">Range</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><a href="../interfaces/selector.textpositionselector.html" class="tsd-signature-type" data-tsd-kind="Interface">TextPositionSelector</a><span class="tsd-signature-symbol">></span></li> |
| </ul> |
| <ul class="tsd-descriptions"> |
| <li class="tsd-description"> |
| <aside class="tsd-sources"> |
| </aside> |
| <div class="tsd-comment tsd-typography"> |
| <div class="lead"> |
| <p>Returns a <a href="../interfaces/selector.textpositionselector.html">TextPositionSelector</a> that points |
| at the target text within the given scope.</p> |
| </div> |
| <p>When no scope is given, the position is described relative to the document |
| as a whole. Note this means all the characters in all Text nodes are counted |
| to determine the target’s position, including those in the <code><head></code> and |
| whitespace, hence even a minor modification could make the selector point to |
| a different text than its original target.</p> |
| <dl class="tsd-comment-tags"> |
| <dt>example</dt> |
| <dd><pre><code><span style="color: #0000FF">const</span><span style="color: #000000"> </span><span style="color: #0070C1">target</span><span style="color: #000000"> = </span><span style="color: #001080">window</span><span style="color: #000000">.</span><span style="color: #795E26">getSelection</span><span style="color: #000000">().</span><span style="color: #795E26">getRangeAt</span><span style="color: #000000">(</span><span style="color: #098658">0</span><span style="color: #000000">);</span> |
| <span style="color: #0000FF">const</span><span style="color: #000000"> </span><span style="color: #0070C1">selector</span><span style="color: #000000"> = </span><span style="color: #AF00DB">await</span><span style="color: #000000"> </span><span style="color: #795E26">describeTextPosition</span><span style="color: #000000">(</span><span style="color: #001080">target</span><span style="color: #000000">);</span> |
| <span style="color: #001080">console</span><span style="color: #000000">.</span><span style="color: #795E26">log</span><span style="color: #000000">(</span><span style="color: #001080">selector</span><span style="color: #000000">);</span> |
| <span style="color: #008000">// {</span> |
| <span style="color: #008000">// type: 'TextPositionSelector',</span> |
| <span style="color: #008000">// start: 702,</span> |
| <span style="color: #008000">// end: 736</span> |
| <span style="color: #008000">// }</span> |
| </code></pre> |
| </dd> |
| </dl> |
| </div> |
| <h4 class="tsd-parameters-title">Parameters</h4> |
| <ul class="tsd-parameters"> |
| <li> |
| <h5>range: <span class="tsd-signature-type">Range</span></h5> |
| <div class="tsd-comment tsd-typography"> |
| <p>The range of characters that the selector should describe</p> |
| </div> |
| </li> |
| <li> |
| <h5><span class="tsd-flag ts-flagOptional">Optional</span> maybeScope: <span class="tsd-signature-type">Range</span></h5> |
| <div class="tsd-comment tsd-typography"> |
| <p>A <a href="https://developer.mozilla.org/en-US/docs/Web/API/Range" class="external">Range</a> that serves as the ‘document’ for purposes of finding occurrences |
| and determining prefix and suffix. Defaults to span the full Document |
| containing the range.</p> |
| </div> |
| </li> |
| </ul> |
| <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><a href="../interfaces/selector.textpositionselector.html" class="tsd-signature-type" data-tsd-kind="Interface">TextPositionSelector</a><span class="tsd-signature-symbol">></span></h4> |
| <p>The selector describing the <code>range</code> relative to <code>scope</code></p> |
| </li> |
| </ul> |
| </section> |
| <section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-module"> |
| <a name="describetextquote" class="tsd-anchor"></a> |
| <h3>describe<wbr>Text<wbr>Quote</h3> |
| <ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module"> |
| <li class="tsd-signature tsd-kind-icon">describe<wbr>Text<wbr>Quote<span class="tsd-signature-symbol">(</span>range<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Range</span>, maybeScope<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">Range</span>, options<span class="tsd-signature-symbol">?: </span><a href="../interfaces/selector.describetextquoteoptions.html" class="tsd-signature-type" data-tsd-kind="Interface">DescribeTextQuoteOptions</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><a href="../interfaces/selector.textquoteselector.html" class="tsd-signature-type" data-tsd-kind="Interface">TextQuoteSelector</a><span class="tsd-signature-symbol">></span></li> |
| </ul> |
| <ul class="tsd-descriptions"> |
| <li class="tsd-description"> |
| <aside class="tsd-sources"> |
| </aside> |
| <div class="tsd-comment tsd-typography"> |
| <div class="lead"> |
| <p>Create a <a href="../interfaces/selector.textquoteselector.html">TextQuoteSelector</a> that |
| unambiguously describes the given range.</p> |
| </div> |
| <p>The selector will contain the <em>exact</em> target quote, and in case this quote |
| appears multiple times in the text, sufficient context around the quote will |
| be included in the selector’s <em>prefix</em> and <em>suffix</em> attributes to |
| disambiguate. By default, more prefix and suffix are included than strictly |
| required; both in order to be robust against slight modifications, and in an |
| attempt to not end halfway a word (mainly for the sake of human readability).</p> |
| <dl class="tsd-comment-tags"> |
| <dt>example</dt> |
| <dd><pre><code><span style="color: #0000FF">const</span><span style="color: #000000"> </span><span style="color: #0070C1">target</span><span style="color: #000000"> = </span><span style="color: #001080">window</span><span style="color: #000000">.</span><span style="color: #795E26">getSelection</span><span style="color: #000000">().</span><span style="color: #795E26">getRangeAt</span><span style="color: #000000">(</span><span style="color: #098658">0</span><span style="color: #000000">);</span> |
| <span style="color: #0000FF">const</span><span style="color: #000000"> </span><span style="color: #0070C1">selector</span><span style="color: #000000"> = </span><span style="color: #AF00DB">await</span><span style="color: #000000"> </span><span style="color: #795E26">describeTextQuote</span><span style="color: #000000">(</span><span style="color: #001080">target</span><span style="color: #000000">);</span> |
| <span style="color: #001080">console</span><span style="color: #000000">.</span><span style="color: #795E26">log</span><span style="color: #000000">(</span><span style="color: #001080">selector</span><span style="color: #000000">);</span> |
| <span style="color: #008000">// {</span> |
| <span style="color: #008000">// type: 'TextQuoteSelector',</span> |
| <span style="color: #008000">// exact: 'ipsum',</span> |
| <span style="color: #008000">// prefix: 'Lorem ',</span> |
| <span style="color: #008000">// suffix: ' dolor'</span> |
| <span style="color: #008000">// }</span> |
| </code></pre> |
| </dd> |
| </dl> |
| </div> |
| <h4 class="tsd-parameters-title">Parameters</h4> |
| <ul class="tsd-parameters"> |
| <li> |
| <h5>range: <span class="tsd-signature-type">Range</span></h5> |
| <div class="tsd-comment tsd-typography"> |
| <p>The <a href="https://developer.mozilla.org/en-US/docs/Web/API/Range" class="external">Range</a> whose text content will be described</p> |
| </div> |
| </li> |
| <li> |
| <h5><span class="tsd-flag ts-flagOptional">Optional</span> maybeScope: <span class="tsd-signature-type">Range</span></h5> |
| <div class="tsd-comment tsd-typography"> |
| <p>A <a href="https://developer.mozilla.org/en-US/docs/Web/API/Range" class="external">Range</a> that serves as the ‘document’ for purposes of finding occurrences |
| and determining prefix and suffix. Defaults to span the full Document |
| containing the range.</p> |
| </div> |
| </li> |
| <li> |
| <h5><span class="tsd-flag ts-flagOptional">Optional</span> options: <a href="../interfaces/selector.describetextquoteoptions.html" class="tsd-signature-type" data-tsd-kind="Interface">DescribeTextQuoteOptions</a></h5> |
| <div class="tsd-comment tsd-typography"> |
| <p>Options to fine-tune the function’s behaviour.</p> |
| </div> |
| </li> |
| </ul> |
| <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><a href="../interfaces/selector.textquoteselector.html" class="tsd-signature-type" data-tsd-kind="Interface">TextQuoteSelector</a><span class="tsd-signature-symbol">></span></h4> |
| <p>The selector unambiguously describing the <code>range</code> in <code>scope</code>.</p> |
| </li> |
| </ul> |
| </section> |
| <section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-module"> |
| <a name="highlightrange" class="tsd-anchor"></a> |
| <h3>highlight<wbr>Range</h3> |
| <ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module"> |
| <li class="tsd-signature tsd-kind-icon">highlight<wbr>Range<span class="tsd-signature-symbol">(</span>range<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Range</span>, tagName<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">string</span>, attributes<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> => </span><span class="tsd-signature-type">void</span></li> |
| </ul> |
| <ul class="tsd-descriptions"> |
| <li class="tsd-description"> |
| <aside class="tsd-sources"> |
| </aside> |
| <div class="tsd-comment tsd-typography"> |
| <div class="lead"> |
| <p>Wrap each text node in a given DOM Range with a <code><mark></code> or other element.</p> |
| </div> |
| <p>If the Range start and/or ends within a Text node, that node will be split |
| in order to only wrap the contained part in the mark element.</p> |
| <p>The highlight can be removed again by calling the function that cleans up the |
| wrapper elements. Note that this might not perfectly restore the DOM to its |
| previous state: text nodes that were split are not merged again. One could |
| consider running <code>range.commonAncestorContainer.normalize()</code> afterwards to |
| join all adjacent text nodes.</p> |
| </div> |
| <h4 class="tsd-parameters-title">Parameters</h4> |
| <ul class="tsd-parameters"> |
| <li> |
| <h5>range: <span class="tsd-signature-type">Range</span></h5> |
| <div class="tsd-comment tsd-typography"> |
| <p>A DOM Range object. Note that as highlighting modifies the |
| DOM, the range may be unusable afterwards.</p> |
| </div> |
| </li> |
| <li> |
| <h5><span class="tsd-flag ts-flagOptional">Optional</span> tagName: <span class="tsd-signature-type">string</span></h5> |
| <div class="tsd-comment tsd-typography"> |
| <p>The element used to wrap text nodes. Defaults to 'mark'.</p> |
| </div> |
| </li> |
| <li> |
| <h5><span class="tsd-flag ts-flagOptional">Optional</span> attributes: <span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">></span></h5> |
| <div class="tsd-comment tsd-typography"> |
| <p>An object defining any attributes to be set on the |
| wrapper elements</p> |
| </div> |
| </li> |
| </ul> |
| <h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> => </span><span class="tsd-signature-type">void</span></h4> |
| <p>A function that removes the created highlight.</p> |
| <ul class="tsd-parameters"> |
| <li class="tsd-parameter-signature"> |
| <ul class="tsd-signatures tsd-kind-type-literal"> |
| <li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li> |
| </ul> |
| <ul class="tsd-descriptions"> |
| <li class="tsd-description"> |
| <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| </section> |
| <section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-module"> |
| <a name="makecreaterangeselectormatcher" class="tsd-anchor"></a> |
| <h3>make<wbr>Create<wbr>Range<wbr>Selector<wbr>Matcher</h3> |
| <ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module"> |
| <li class="tsd-signature tsd-kind-icon">make<wbr>Create<wbr>Range<wbr>Selector<wbr>Matcher<span class="tsd-signature-symbol">(</span>createMatcher<span class="tsd-signature-symbol">: </span><T><span class="tsd-signature-symbol">(</span>selector<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">T</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> => </span><a href="../interfaces/selector.matcher.html" class="tsd-signature-type" data-tsd-kind="Interface">Matcher</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">Range</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">Range</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span>selector<span class="tsd-signature-symbol">: </span><a href="../interfaces/selector.rangeselector.html" class="tsd-signature-type" data-tsd-kind="Interface">RangeSelector</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> => </span><a href="../interfaces/selector.matcher.html" class="tsd-signature-type" data-tsd-kind="Interface">Matcher</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">Range</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">Range</span><span class="tsd-signature-symbol">></span></li> |
| </ul> |
| <ul class="tsd-descriptions"> |
| <li class="tsd-description"> |
| <aside class="tsd-sources"> |
| </aside> |
| <div class="tsd-comment tsd-typography"> |
| <div class="lead"> |
| <p>Find the range(s) corresponding to the given <a href="../interfaces/selector.rangeselector.html">RangeSelector</a>.</p> |
| </div> |
| <p>As a RangeSelector itself nests two further selectors, one needs to pass a |
| <code>createMatcher</code> function that will be used to process those nested selectors.</p> |
| <p>The function is curried, taking first the <code>createMatcher</code> function, then the |
| selector, and then the scope.</p> |
| <p>As there may be multiple matches for a given selector, the matcher will |
| return an (async) generator that produces each match in the order they are |
| found in the text. If both its nested selectors produce multiple matches, the |
| RangeSelector matches each possible pair among those in which the order of |
| start and end are respected. <em>(Note this behaviour is a rather free |
| interpretation — the Web Annotation Data Model spec is silent about multiple |
| matches for RangeSelectors)</em></p> |
| <dl class="tsd-comment-tags"> |
| <dt>example</dt> |
| <dd><p>By using a matcher for <a href="../interfaces/selector.textquoteselector.html">TextQuoteSelector</a>s, one |
| could create a matcher for text quotes with ellipsis to select a phrase |
| “ipsum … amet,”:</p> |
| <pre><code><span style="color: #0000FF">const</span><span style="color: #000000"> </span><span style="color: #0070C1">selector</span><span style="color: #000000"> = {</span> |
| <span style="color: #000000"> </span><span style="color: #001080">type:</span><span style="color: #000000"> </span><span style="color: #A31515">'RangeSelector'</span><span style="color: #000000">,</span> |
| <span style="color: #000000"> </span><span style="color: #001080">startSelector:</span><span style="color: #000000"> {</span> |
| <span style="color: #000000"> </span><span style="color: #001080">type:</span><span style="color: #000000"> </span><span style="color: #A31515">'TextQuoteSelector'</span><span style="color: #000000">,</span> |
| <span style="color: #000000"> </span><span style="color: #001080">exact:</span><span style="color: #000000"> </span><span style="color: #A31515">'ipsum '</span><span style="color: #000000">,</span> |
| <span style="color: #000000"> },</span> |
| <span style="color: #000000"> </span><span style="color: #001080">endSelector:</span><span style="color: #000000"> {</span> |
| <span style="color: #000000"> </span><span style="color: #001080">type:</span><span style="color: #000000"> </span><span style="color: #A31515">'TextQuoteSelector'</span><span style="color: #000000">,</span> |
| <span style="color: #000000"> </span><span style="color: #008000">// Because the end of a RangeSelector is *exclusive*, we’ll present the</span> |
| <span style="color: #000000"> </span><span style="color: #008000">// latter part of the quote as the *prefix* so it will part of the match.</span> |
| <span style="color: #000000"> </span><span style="color: #001080">exact:</span><span style="color: #000000"> </span><span style="color: #A31515">''</span><span style="color: #000000">,</span> |
| <span style="color: #000000"> </span><span style="color: #001080">prefix:</span><span style="color: #000000"> </span><span style="color: #A31515">' amet,'</span><span style="color: #000000">,</span> |
| <span style="color: #000000"> }</span> |
| <span style="color: #000000">}}</span> |
| <span style="color: #0000FF">const</span><span style="color: #000000"> </span><span style="color: #0070C1">createRangeSelectorMatcher</span><span style="color: #000000"> = </span><span style="color: #795E26">makeCreateRangeSelectorMatcher</span><span style="color: #000000">(</span><span style="color: #001080">createTextQuoteMatcher</span><span style="color: #000000">);</span> |
| <span style="color: #0000FF">const</span><span style="color: #000000"> </span><span style="color: #0070C1">match</span><span style="color: #000000"> = </span><span style="color: #795E26">createRangeSelectorMatcher</span><span style="color: #000000">(</span><span style="color: #001080">selector</span><span style="color: #000000">)(</span><span style="color: #001080">document</span><span style="color: #000000">.</span><span style="color: #001080">body</span><span style="color: #000000">);</span> |
| <span style="color: #001080">console</span><span style="color: #000000">.</span><span style="color: #795E26">log</span><span style="color: #000000">(</span><span style="color: #001080">match</span><span style="color: #000000">)</span> |
| <span style="color: #008000">// ⇒ Range { startContainer: #text, startOffset: 6, endContainer: #text,</span> |
| <span style="color: #008000">// endOffset: 27, … }</span> |
| </code></pre> |
| </dd> |
| <dt>example</dt> |
| <dd><p>To support RangeSelectors that might themselves contain RangeSelectors, |
| recursion can be created by supplying the resulting matcher creator function |
| as the <code>createMatcher</code> parameter:</p> |
| <pre><code><span style="color: #0000FF">const</span><span style="color: #000000"> </span><span style="color: #795E26">createWhicheverMatcher</span><span style="color: #000000"> = (</span><span style="color: #001080">selector</span><span style="color: #000000">) </span><span style="color: #0000FF">=></span><span style="color: #000000"> {</span> |
| <span style="color: #000000"> </span><span style="color: #0000FF">const</span><span style="color: #000000"> </span><span style="color: #0070C1">innerCreateMatcher</span><span style="color: #000000"> = {</span> |
| <span style="color: #000000"> </span><span style="color: #001080">TextQuoteSelector:</span><span style="color: #000000"> </span><span style="color: #001080">createTextQuoteSelectorMatcher</span><span style="color: #000000">,</span> |
| <span style="color: #000000"> </span><span style="color: #001080">TextPositionSelector:</span><span style="color: #000000"> </span><span style="color: #001080">createTextPositionSelectorMatcher</span><span style="color: #000000">,</span> |
| <span style="color: #000000"> </span><span style="color: #001080">RangeSelector:</span><span style="color: #000000"> </span><span style="color: #795E26">makeCreateRangeSelectorMatcher</span><span style="color: #000000">(</span><span style="color: #001080">createWhicheverMatcher</span><span style="color: #000000">),</span> |
| <span style="color: #000000"> }[</span><span style="color: #001080">selector</span><span style="color: #000000">.</span><span style="color: #001080">type</span><span style="color: #000000">];</span> |
| <span style="color: #000000"> </span><span style="color: #AF00DB">return</span><span style="color: #000000"> </span><span style="color: #795E26">innerCreateMatcher</span><span style="color: #000000">(</span><span style="color: #001080">selector</span><span style="color: #000000">);</span> |
| <span style="color: #000000">});</span> |
| </code></pre> |
| </dd> |
| </dl> |
| </div> |
| <h4 class="tsd-parameters-title">Parameters</h4> |
| <ul class="tsd-parameters"> |
| <li> |
| <h5>createMatcher: <T><span class="tsd-signature-symbol">(</span>selector<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">T</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> => </span><a href="../interfaces/selector.matcher.html" class="tsd-signature-type" data-tsd-kind="Interface">Matcher</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">Range</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">Range</span><span class="tsd-signature-symbol">></span></h5> |
| <div class="tsd-comment tsd-typography"> |
| <p>The function used to process nested selectors.</p> |
| </div> |
| <ul class="tsd-parameters"> |
| <li class="tsd-parameter-signature"> |
| <ul class="tsd-signatures tsd-kind-type-literal tsd-has-type-parameter"> |
| <li class="tsd-signature tsd-kind-icon"><T><span class="tsd-signature-symbol">(</span>selector<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">T</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="../interfaces/selector.matcher.html" class="tsd-signature-type" data-tsd-kind="Interface">Matcher</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">Range</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">Range</span><span class="tsd-signature-symbol">></span></li> |
| </ul> |
| <ul class="tsd-descriptions"> |
| <li class="tsd-description"> |
| <h4 class="tsd-type-parameters-title">Type parameters</h4> |
| <ul class="tsd-type-parameters"> |
| <li> |
| <h4>T<span class="tsd-signature-symbol">: </span><a href="../interfaces/selector.selector-1.html" class="tsd-signature-type" data-tsd-kind="Interface">Selector</a></h4> |
| </li> |
| </ul> |
| <h4 class="tsd-parameters-title">Parameters</h4> |
| <ul class="tsd-parameters"> |
| <li> |
| <h5>selector: <span class="tsd-signature-type">T</span></h5> |
| </li> |
| </ul> |
| <h4 class="tsd-returns-title">Returns <a href="../interfaces/selector.matcher.html" class="tsd-signature-type" data-tsd-kind="Interface">Matcher</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">Range</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">Range</span><span class="tsd-signature-symbol">></span></h4> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| <h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">(</span>selector<span class="tsd-signature-symbol">: </span><a href="../interfaces/selector.rangeselector.html" class="tsd-signature-type" data-tsd-kind="Interface">RangeSelector</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> => </span><a href="../interfaces/selector.matcher.html" class="tsd-signature-type" data-tsd-kind="Interface">Matcher</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">Range</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">Range</span><span class="tsd-signature-symbol">></span></h4> |
| <p>A function that, given a RangeSelector, creates a <a href="../interfaces/selector.matcher.html">Matcher</a> function that applies it to a given <a href="https://developer.mozilla.org/en-US/docs/Web/API/Range" class="external">Range</a></p> |
| <ul class="tsd-parameters"> |
| <li class="tsd-parameter-signature"> |
| <ul class="tsd-signatures tsd-kind-type-literal"> |
| <li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span>selector<span class="tsd-signature-symbol">: </span><a href="../interfaces/selector.rangeselector.html" class="tsd-signature-type" data-tsd-kind="Interface">RangeSelector</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="../interfaces/selector.matcher.html" class="tsd-signature-type" data-tsd-kind="Interface">Matcher</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">Range</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">Range</span><span class="tsd-signature-symbol">></span></li> |
| </ul> |
| <ul class="tsd-descriptions"> |
| <li class="tsd-description"> |
| <h4 class="tsd-parameters-title">Parameters</h4> |
| <ul class="tsd-parameters"> |
| <li> |
| <h5>selector: <a href="../interfaces/selector.rangeselector.html" class="tsd-signature-type" data-tsd-kind="Interface">RangeSelector</a></h5> |
| </li> |
| </ul> |
| <h4 class="tsd-returns-title">Returns <a href="../interfaces/selector.matcher.html" class="tsd-signature-type" data-tsd-kind="Interface">Matcher</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">Range</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">Range</span><span class="tsd-signature-symbol">></span></h4> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| </section> |
| </section> |
| </div> |
| <div class="col-4 col-menu menu-sticky-wrap menu-highlight"> |
| <nav class="tsd-navigation primary"> |
| <ul> |
| <li class=" "> |
| <a href="../index.html">Exports</a> |
| </li> |
| <li class="current tsd-kind-module"> |
| <a href="dom.html">dom</a> |
| </li> |
| <li class=" tsd-kind-module"> |
| <a href="selector.html">selector</a> |
| </li> |
| </ul> |
| </nav> |
| <nav class="tsd-navigation secondary menu-sticky"> |
| <ul class="before-current"> |
| <li class=" tsd-kind-function tsd-parent-kind-module"> |
| <a href="dom.html#createcssselectormatcher" class="tsd-kind-icon">create<wbr>Css<wbr>Selector<wbr>Matcher</a> |
| </li> |
| <li class=" tsd-kind-function tsd-parent-kind-module"> |
| <a href="dom.html#createtextpositionselectormatcher" class="tsd-kind-icon">create<wbr>Text<wbr>Position<wbr>Selector<wbr>Matcher</a> |
| </li> |
| <li class=" tsd-kind-function tsd-parent-kind-module"> |
| <a href="dom.html#createtextquoteselectormatcher" class="tsd-kind-icon">create<wbr>Text<wbr>Quote<wbr>Selector<wbr>Matcher</a> |
| </li> |
| <li class=" tsd-kind-function tsd-parent-kind-module"> |
| <a href="dom.html#describetextposition" class="tsd-kind-icon">describe<wbr>Text<wbr>Position</a> |
| </li> |
| <li class=" tsd-kind-function tsd-parent-kind-module"> |
| <a href="dom.html#describetextquote" class="tsd-kind-icon">describe<wbr>Text<wbr>Quote</a> |
| </li> |
| <li class=" tsd-kind-function tsd-parent-kind-module"> |
| <a href="dom.html#highlightrange" class="tsd-kind-icon">highlight<wbr>Range</a> |
| </li> |
| <li class=" tsd-kind-function tsd-parent-kind-module"> |
| <a href="dom.html#makecreaterangeselectormatcher" class="tsd-kind-icon">make<wbr>Create<wbr>Range<wbr>Selector<wbr>Matcher</a> |
| </li> |
| </ul> |
| </nav> |
| </div> |
| </div> |
| </main> |
| <script src="../assets/js/main.js"></script> |
| </div> |
| <footer class="ui bottom attached segment"> |
| <div class="ui container"> |
| <div class="ui equal height divided stackable grid"> |
| <div class="four wide column"> |
| <a class="ui left floated medium image" href="https://apache.org/" target="_blank"> |
| <img src="https://incubator.apache.org/images/incubator_feather_egg_logo_sm.png" alt="logo of the Apache Incubator" /> |
| </a> |
| <p> |
| <em>Copyright © 2016-2018 The Apache Software Foundation, Licensed under |
| the <a href="https://www.apache.org/licenses/LICENSE-2.0" rel="license external">Apache License, Version 2.0</a>. |
| | |
| <a rel="external" href="https://www.apache.org/foundation/policies/privacy">Privacy Policy</a> |
| </em> |
| </p> |
| </div> |
| <div class="nine wide column"> |
| <p> |
| <em>Apache Annotator is an effort undergoing incubation at <a target="_blank" href="https://apache.org/">The Apache Software Foundation (ASF)</a> sponsored by the Apache Incubator PMC. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF.</em></p> |
| <p><em>Apache®, the names of Apache projects, and the feather logo are either <a rel="external" href="https://www.apache.org/foundation/marks/list/">registered trademarks or trademarks</a> of the Apache Software Foundation in the United States and/or other countries.</em></p> |
| </div> |
| <div class="three wide column"> |
| <h4 class="header">The <abbr title="Apache Software Foundation">ASF</abbr></h4> |
| <div class="ui link list"> |
| <a class="item" rel="external" href="https://incubator.apache.org/">Apache Incubator</a> |
| <a class="item" rel="external" href="https://www.apache.org/">About the ASF</a> |
| <a class="item" rel="external" href="https://www.apache.org/events/current-event">Events</a> |
| <a class="item" rel="external" href="https://www.apache.org/foundation/thanks.html">Thanks</a> |
| <a class="item" rel="external" href="https://www.apache.org/foundation/sponsorship.html">Become a Sponsor</a> |
| <a class="item" rel="external" href="https://www.apache.org/security/">Security</a> |
| <a class="item" rel="external" href="https://www.apache.org/licenses/">License</a> |
| </div> |
| </div> |
| </div> |
| </div> |
| </footer> |
| </body> |
| </html> |