Skip to main content

image

image

PyPI

PyPI - License

klink - A Simple & Clean Sphinx Theme

Klink is a simple and clean theme for creating Sphinx docs. It is heavily inspired by the beautiful jrnl theme. It also supports embedding IPython Notebooks which can be mighty useful.

For a live demo, please visit our docs.

Options

Here are the theme options. They should be added to the html_theme_options in your conf.py file.

  • github
    The github address of the project. The format is name/project (pmorissette/klink).

  • logo
    The logo file. Assumed to be in the _static dir. Default is logo.png. The logo should be 150x150.

  • analytics_id
    Your Google Analytics id (usually starts with UA-...)

IPython Notebook Integration

With the klink helper function convert_notebooks(), all notebooks will be converted to .rst so that they can be included in your docs. This includes all output including images. It’s a very convenient way to create Python docs!

All you have to do is create notebooks within your source directory (same directory as your conf.py file). Then, you add a call to klink.convert_notebooks() in your conf.py. You can also mix in Markdown cells or Raw NBConvert cells in your workbook. These will be converted to rst as well.

If you use the Raw NBConvert type cells, add a blank line at the start. There seems to be a bug in the rst conversion and if the cell does not begin with a blank line, you may run into some issues.

Using a Raw NBConvert cell with rst text inside is convenient, especially if you want to have links to other parts of your Sphinx docs.

Installation

Assuming you have pip installed:

$ pip install klink

That's it.

Usage

In your docs' conf.py file, add the following:

html_theme = 'klink'
html_theme_options = {
    'github': 'yourname/yourrepo',
    'analytics_id': 'UA-your-number-here',
    'logo': 'logo.png'
}

Klink also comes with a useful helper function that allows you to integrate an IPython Notebook into a .rst file. It basically converts the Notebook to .rst and copies the static data (images, etc) to your _static dir.

If you have IPython Notebooks that you would like to integrate, use the following code to your conf.py:

import klink

klink.convert_notebooks()

Once the conversion is done, you will have a .rst file with the same name as each one of your notebooks.

NOTE: Place your notebooks in your docs' source dir.

Now all you have to do is use the include command to insert them into your docs.

Customization

Obviously, some of you will want to customize the theme. The easiest way to achieve this is to clone the repo into your _themes folder (create it if it does not exist in your docs' source dir). To change the style, I recommend editing the LESS files themselves. You will also need lessc to convert from less to css. See the css command in the Makefile for an example.

You may also want to explore the option of using git subtree. Here is a good intro tutorial.

You will also need to change your conf.py file. The following settings should work:

html_theme = 'klink'
html_theme_path = ['_themes']
html_theme_options = {
    'github': 'yourname/yourrepo',
    'analytics_id': 'UA-your-number-here',
    'logo': 'logo.png'
}

Development

See How to develop Klink for setup, checks, documentation builds, and template updates.

Download files

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

Source Distribution

klink-0.1.12.tar.gz (800.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

klink-0.1.12-py3-none-any.whl (802.0 kB view details)

Uploaded Python 3

Release history Release notifications | RSS feed

This release

0.1.12 This release

2 files

0.1.10

1 file

0.1.9

1 file

0.1.8

1 file

0.1.7

1 file

0.1.6

1 file

0.1.5

1 file

0.1.4

1 file

0.1.3

1 file

0.1.2

1 file

0.1.1

1 file

0.1.0

1 file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page