Skip to main content

Figma integration preprocessor for Foliant.

Project description

BindFigma

BindFigma is a preprocessor that downloads and optionally resizes design layout images from Figma, and binds these images with the documentation project.

The preprocessor uses Figma REST API to get URLs of images to download. To use the preprocessor, you should get an access token for it via your Figma account.

If you need to resize downloaded images, you should install ImageMagick.

Installation

$ pip install foliantcontrib.bindfigma

Config

To enable the preprocessor, add bindfigma to preprocessors section in the project config:

preprocessors:
    - bindfigma

The preprocessor has a number of options with the following default values:

preprocessors:
    - bindfigma:
        cache_dir: !path .bindfigmacache
        api_caching: disabled
        convert_path: convert
        caption: ''
        hyperlinks: true
        multi_delimeter: '\n\n'
        resize: null
        access_token: null
        file_key: null
        ids: null
        scale: null
        format: null
        svg_include_id: null
        svg_simplify_stroke: null
        use_absolute_bounds: null
        version: null

Some values of options specified in the project config may be overridden by tag attributes, see below.

cache_dir : Directory to store cached API responses, downloaded and resized images.

api_caching : API responses caching mode. Available values: disabled—switch off unconditionally; enabled—switch on unconditionally; env—switch on only if the FOLIANT_FIGMA_CACHING environment variable is set, otherwise switch off. If this mode is switched on, the preprocessor caches Figma API responses locally and uses cached data instead of performing API request. In this case, Figma node updating without changing API URL may not take effect.

convert_path : Path to convert binary, a part of ImageMagick. If resizing is not needed, ImageMagick will not be used.

caption : Caption of images. The {{image_id}} placeholder in the caption will be replaced with Figma node ID.

hyperlinks : Flag that tells the preprocessor to wrap image references into hyperlinks to related Figma URLs.

multi_delimeter : String that should separate multiple image references.

resize : Width of resulting images in pixels. If not specified, resizing is not performed.

access_token : Access token that you can generate in your Figma account.

file_key : ID of the Figma file.

ids : One or more IDs of nodes in the Figma file. May be specified as a list or as a comma-separated string.

scale, format, svg_include_id, svg_simplify_stroke, use_absolute_bounds, version : Query parameters to use in Figma API requests, see descriptions in Figma API documentation.

Usage

To insert a design layout image from Figma into your documentation, use <<figma>...</figma> tags in Markdown source:

Here’s an image from Figma:

<<figma caption="An optional caption" resize="300" file_key="ABC" ids="node1,node2,node3"></figma>

You may use tag attributes to override the values of the project config options with the same names. All the options excepting cache_dir, api_caching and convert_path may be overridden in this way.

BindFigma preprocessor will replace such statements with local image references. If ids refers to more than one image, a set of image references will be generated. Multiple image references will be separated with the string specified as multi_delimeter.

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

foliantcontrib.bindfigma-1.0.3.tar.gz (5.9 kB view details)

Uploaded Source

Built Distribution

foliantcontrib.bindfigma-1.0.3-py3-none-any.whl (7.0 kB view details)

Uploaded Python 3

File details

Details for the file foliantcontrib.bindfigma-1.0.3.tar.gz.

File metadata

  • Download URL: foliantcontrib.bindfigma-1.0.3.tar.gz
  • Upload date:
  • Size: 5.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.11.1 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.6.8

File hashes

Hashes for foliantcontrib.bindfigma-1.0.3.tar.gz
Algorithm Hash digest
SHA256 82e95a5f09e92ffe05698bff2ebab1d82adb7dc607501c821cc73b4b37838992
MD5 f311639f4f8c402b1018fa15a5405481
BLAKE2b-256 c3a83438c6220c83fc07f335721dc85b4c40e13926c838113379096ca87af795

See more details on using hashes here.

File details

Details for the file foliantcontrib.bindfigma-1.0.3-py3-none-any.whl.

File metadata

  • Download URL: foliantcontrib.bindfigma-1.0.3-py3-none-any.whl
  • Upload date:
  • Size: 7.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.11.1 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.6.8

File hashes

Hashes for foliantcontrib.bindfigma-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 f81d869058e050b84dfc6eb34a4cf69ddde879c0fca340ceb37fa90c3fa5b6bf
MD5 aedc8465a3749cacec1b46c86d3f5db7
BLAKE2b-256 f953b099da3203752326d9cef80a6ed48ebbfeba5e4d104b225ca5bfab06306e

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