summaryrefslogtreecommitdiffstats
path: root/doc/_templates/demo.html
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-04 11:33:32 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-04 11:33:32 +0000
commit1f403ad2197fc7442409f434ee574f3e6b46fb73 (patch)
tree0299c6dd11d5edfa918a29b6456bc1875f1d288c /doc/_templates/demo.html
parentInitial commit. (diff)
downloadpygments-upstream.tar.xz
pygments-upstream.zip
Adding upstream version 2.14.0+dfsg.upstream/2.14.0+dfsgupstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r--doc/_templates/demo.html97
1 files changed, 97 insertions, 0 deletions
diff --git a/doc/_templates/demo.html b/doc/_templates/demo.html
new file mode 100644
index 0000000..8e2a7c6
--- /dev/null
+++ b/doc/_templates/demo.html
@@ -0,0 +1,97 @@
+{% extends "layout.html" %}
+{% set sidebars = sidebars + ["demo_sidebar.html"] %}
+
+{% block extrahead %}
+{{ super() }}
+<link rel="stylesheet" type="text/css" href="{{ pathto("_static/demo.css", 1) }}">
+{% endblock %}
+
+{% block htmltitle %}<title>Demo{{ titlesuffix }}</title>{% endblock %}
+
+{% block body %}
+{{ body }}
+
+<h1>Try out Pygments!</h1>
+
+<noscript>
+ <h2>This website requires JavaScript (and WebAssembly)</h2>
+
+ You can also try out pygments locally by running <code>pip install pygments</code>.
+ Then you can use <a href="{{pathto('docs/cmdline')}}">the command-line interface</a>.
+</noscript>
+
+<div id="try">
+ <p>
+ <label>Language
+ <select id="lang" autofocus>
+ <option value="">guess the language</option>
+ {% for name, info, _, _ in lexers %}
+ <option value="{{info.0}}">{{name}}</option>
+ {% endfor %}
+ </select>
+ </label>
+ <span id=guessed-lexer></span>
+ </p>
+ <p>
+ <label>
+ Enter some code:
+ <textarea id="code" rows="1" cols="60" spellcheck="false"></textarea>
+ </label>
+ </p>
+ <p>
+ <label>
+ Alternatively you can upload a file:
+ <input type="file" id="file">
+ </label>
+ <button id="reset-file">Reset</button>
+ </p>
+ <div id="format-settings">
+ <label>
+ Formatter
+ <select id=formatter>
+ <option value=html>HTML</option>
+ <option value=tokens>tokens</option>
+ </select>
+ </label>
+ <label>Style
+ <select id="style">
+ <optgroup label="Good contrast">
+ {% for style in styles_aa %}
+ <option data-wcag=aa>{{style.name}}</option>
+ {% endfor %}
+ </optgroup>
+ <optgroup label="Suboptimal contrast">
+ {% for style in styles_sub_aa %}
+ <option>{{style.name}}</option>
+ {% endfor %}
+ </optgroup>
+ </select>
+ </label>
+ <span id=contrast-warning hidden>style may have poor contrast</span>
+ </div>
+ </form>
+</div>
+
+<div id="loading" hidden>
+ <img src="{{ pathto("_static/spinner.gif", 1) }}" width="20">
+ <span id="loading-text">loading Python...</span>
+</div>
+
+<style id=css-style></style>
+
+<div id="hlcode"></div>
+
+<div id="code-header" hidden>
+ <div class=flex-grow-1></div>
+ <button onclick="download_code()">Download</button>
+ <a id="copylink" role="button">Copy link</a>
+ <span hidden id="uri-too-long">(Copy link unavailable because code too long)</span>
+</div>
+
+<p>The highlighting here is performed in-browser using
+ a WebAssembly translation of the latest Pygments master branch, courtesy of
+ <a href="https://github.com/iodide-project/pyodide">Pyodide</a>.</p>
+<p>Your content is neither sent over the web nor stored anywhere.</p>
+
+<script type="text/javascript" src="{{ pathto("_static/demo.js", 1) }}"></script>
+{% endblock %}