Skip to main content

HTSQL extension for Sphinx

Project description

Overview

sphinxcontrib-htsql is an extension for embedding HTSQL queries in Sphinx documents.

You can see this extension in action at http://htsql.org/doc/overview.html#htsql-in-a-nutshell. For more examples, see demo directory in the source distribution.

This software is written by Kirill Simonov (Prometheus Research, LLC) and released under BSD license.

Usage

To enable this extension, add the following line to conf.py:

extensions.append('sphinxcontrib.htsql')

You also need to specify the address of the HTSQL service:

htsql_root = 'http://demo.htsql.org'

Now you can add HTSQL queries to any Sphinx document using htsql directive:

.. htsql:: /school?campus='old'

This directive executes the query and inserts a composite block consisting of the query string and the query output in tabular form.

If a query spans many lines, it could be written within the directive body:

.. htsql::

   /school.define(num_dept := count(department))
          {code, num_dept}?num_dept>3

If you want to display one query with the output of another query, use output option. It is useful for describing destructive operations, not-yet-implemented features or escaping rules. You need to quote whitespace and special characters manually:

.. htsql:: /school?campus='north'
   :output: /school?campus='south'

Normally, the htsql directive expects the query to be valid. Use error option to indicate that the query is invalid and you want to show the error message:

.. htsql:: /school{code, title}
   :error:

Normally, the query is rendered with a link leading to the HTSQL service. Use no-link option to disable this feature:

.. htsql:: /school?exists(department)
   :no-link:

Use no-output option to render the query, but not the output:

.. htsql:: /school[ns]
   :no-output:

Use no-input option to render the query output, but not the query itself:

.. htsql:: /school[ns]
   :no-input:

Normally, query output is rendered as a table. Use option raw to render the output unformatted:

.. htsql:: /school[ns]/:json
   :raw:

Use cut option to truncate the query output up to the given number of lines. This option works both with tabular and raw output:

.. htsql:: /school
   :cut: 3

Reference

Directives

htsql-root

Specifies the address of the HTSQL service.

This directive overrides the htsql_root configuration parameter for the rest of the current document.

This directive has no body and no options.

htsql

Inserts output of an HTSQL query.

The query could be specified as the parameter of the directive or (for multi-line queries) as the directive content.

This directive is rendered as a composite block with two entries:

  • A literal block with the query string and a link to the HTSQL service.

  • A table with the query output.

Options:

output

A query to use as a source for the output block.

error

Accept invalid queries and render the error message in the output block.

no-link

Do not link the query block to the HTSQL service.

no-input

Do not render the query block.

no-output

Do not render the output block.

raw

Render the output unformatted.

cut

Truncate the output to the given number of lines.

Configuration parameters

htsql_root

The address of HTSQL service.

CSS classes

htsql-io

Wraps the output of htsql directive.

htsql-input

Wraps the query block.

htsql-output

Wraps the output block.

htsql-link

Wraps a link to the HTSQL service.

htsql-arrow-link

Wraps an arrow symbol with a link to the HTSQL service.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sphinxcontrib-htsql-0.1.5.tar.gz (11.8 kB view hashes)

Uploaded Source

Built Distribution

sphinxcontrib_htsql-0.1.5-py2-none-any.whl (11.3 kB view hashes)

Uploaded Python 2

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page