Sphinx getthecode extension
Project description
This plugin implements an enhanced literalinclude directive for the Sphinx Documentation Generator.
For a demo, look at Pyterate.
Authored by Fabrice Salvaire.
Source code is hosted at https://github.com/FabriceSalvaire/sphinx-getthecode
Installation
Using pip:
pip install sphinxcontrib-getthecode
Else clone the Git repository:
git clone git@github.com:FabriceSalvaire/sphinx-getthecode
then install the plugin using:
python setup.py install
Usage
To load the plugin, you have to add it in your conf.py file.
extensions = [
...
'sphinxcontrib.getthecode',
]
Directives
This plugin implements a directive getthecode which is equivalent to the literalinclude directive, but it adds a header before the pre element. This header contains the file name and a link to download the file.
.. getthecode:: example.py
:language: python3
:hidden: ### optional, add a class highlight-hidden
:notebook: ### optional, if a example.ipynb is available
will result in:
<div class="getthecode">
<div class="getthecode-header">
<ul>
<li class="getthecode-filename">example.py</li>
<li class="getthecode-filename-link">
<a href="../example.py" download="example.py" type="text/x-python" target="_blank" rel="noreferrer noopener">
<span> example.py </span>
</a>
</li>
<li class="getthecode-notebook-link">
<a href="../example.ipynb" download="example.ipynb" type="application/x-ipynb+json" target="_blank" rel="noreferrer noopener">
<span> example.ipynb </span>
</a>
</li>
<!-- Added by javascript -->
<li class="show-code-button" title="Show/Hide the code">
<i class="fa fa-eye" aria-hidden="true"></i>
<i class="fa fa-eye-slash" aria-hidden="true" style="display: none;"></i>
</li>
</ul>
</div>
<div class="highlight-python3 highlight-hidden" style="display: none;">
<div class="highlight">
<pre> </pre>
</div>
</div>
</div>
You can find in the static directory an example of CSS stylesheet and a Javascript code to show/hide the code.
You can customise the HTML code using the getthecode_header_template configuration variable that contains a Jinja2 template, by default set to:
<div class="getthecode-header">
<ul>
<li class="getthecode-filename">{{ filename }}</li>
<li class="getthecode-filename-link">
<a href="{{ url }}" download={{ filename }} type="text/x-python" target="_blank" rel="noreferrer noopener"><span>
{{ filename }}
</span></a>
</li>
{% if notebook_url %}
<li class="getthecode-notebook-link">
<a href="{{ notebook_url }}" download={{ notebook_filename }} type="application/x-ipynb+json" target="_blank" rel="noreferrer noopener"><span>
{{ notebook_filename }}
</span></a>
</li>
{% endif %}
</ul>
</div>
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file sphinxcontrib-getthecode-1.2.1.tar.gz
.
File metadata
- Download URL: sphinxcontrib-getthecode-1.2.1.tar.gz
- Upload date:
- Size: 22.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.3.0 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.8.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3a1d6ae9e6886a93111fb7dd5ccbd050c4bb32b3e1e8b122d74f9176e28cdce5 |
|
MD5 | e2c999ba2a039022a64dfe3b31bc806a |
|
BLAKE2b-256 | cb7c8c1c5243d4552d44d477131f5718d62f308607e1bafdc474173bc58dccef |
File details
Details for the file sphinxcontrib_getthecode-1.2.1-py2.py3-none-any.whl
.
File metadata
- Download URL: sphinxcontrib_getthecode-1.2.1-py2.py3-none-any.whl
- Upload date:
- Size: 19.2 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.3.0 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.8.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2e95ae39ff6f333eb1a1861386b2bb3c39249c37db334b2861acb31d09bc7b53 |
|
MD5 | 64e84cbc7a986816834edc5f5f739b0b |
|
BLAKE2b-256 | 7a19d764ae0d5935b87b112d7287497a3f32eb1ebad39d678801296929536ae0 |