Skip to main content

Define your own hooks for docums, without having to create a new package.

Project description

docums-simple-hooks

Define your own hooks for docums, without having to create a new package.

Setup

Install the plugin using pip:

pip install docums-simple-hooks

Next, add a python module to either the docs/ directory or the root docums directory. Then, add the plugin and hooks definition to your docums.yml:

plugins:
  - search
  - docums-simple-hooks:
      hooks:
        hook-name: "your.module:hook_function"

If you have no plugins entry in your config file yet, you'll likely also want to add the search plugin. Docums enables it by default if there is no plugins entry set.

More information about plugins in the Docums documentation.

Usage

You can use this plugin to create simple hooks for docums without having to create a separate plugin package.

Just define a function and register it as a hook in the docums.yml. The function shall have the same API as the desired hook. To see available hooks and their API, see the events chapter in the docums documentation.

Example

Let's say you want to copy the README.md file to docs/index.md. To do that, create a new file, e.g.: docs/hooks.py, and put the following function there:

import shutil

def copy_readme(*args, **kwargs):
    shutil.copy("README.md", "docs/index.md")

Now, register the hook in your docums.yml:

plugins:
  - docums-simple-hooks:
      hooks:
        on_pre_build: "docs.hooks:copy_readme"

That's all - the copy_readme() function will run every time, before building the documentation.

Disabling the plugin

You can use the enabled option to optionally disable this plugin. A possible use case is local development where you might want faster build times. It's recommended to use this option with an environment variable together with a default fallback (introduced in docums v1.2.0, see docs). Example:

plugins:
  - docums-simple-hooks:
      enabled: !ENV [ENABLE_DOCUMS_SIMPLE_HOOKS, True]
      hooks:
        on_pre_build: "docs.hooks:copy_readme"

Which enables you to disable the plugin locally using:

export ENABLE_DOCUMS_SIMPLE_HOOKS=false
docums serve

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

docums-simple-hooks-0.1.5.tar.gz (4.2 kB view details)

Uploaded Source

File details

Details for the file docums-simple-hooks-0.1.5.tar.gz.

File metadata

  • Download URL: docums-simple-hooks-0.1.5.tar.gz
  • Upload date:
  • Size: 4.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.4

File hashes

Hashes for docums-simple-hooks-0.1.5.tar.gz
Algorithm Hash digest
SHA256 3dd85100cbcd19d55da4c7eca6ce618d2b670342a068542b175f6bfd3a3892c5
MD5 84dd5c622f352a9c81eba6f82ee897f1
BLAKE2b-256 b19c5d3fb8ee9de46dcb7430f3f2127237edb4ef61a54fa808cbb305895f138a

See more details on using hashes here.

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