0.2.1 • Published 1 year ago

@diplodoc/file-extension v0.2.1

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

Diplodoc file extension

NPM version

This is an extension of the Diplodoc platform, which allows adding links to files in the documentation.

The extension contains some parts:

Quickstart

Attach the plugin to the transformer:

import * as fileExtension from '@diplodoc/file-extension';
import transform from '@diplodoc/transform';

const {result} = await transform(
  `
Download here: {% file src="path/to/file" name='readme.md' %}
`,
  {
    plugins: [fileExtension.transform({bundle: false})],
  },
);

Prepared styles

It is necessary to add styles for file links on your page. You can add assets files which were generated by the MarkdownIt transform plugin.

<html>
  <head>
    <!-- Read more about '_assets/file-extension.css' in 'Transform plugin' section -->
    <link rel="stylesheet" href="_assets/file-extension.css" />
  </head>
  <body>
    ${result.html}
  </body>
</html>

Or you can just include styles source code in your bundle.

import '@diplodoc/cut-extension/runtime/styles.css';

MarkdownIt transform plugin

Plugin for @diplodoc/transform package.

Options:

  • runtime.style - name on runtime css file which will be exposed in results style section. (Default: _assets/file-extension.css)

  • bundle - boolean flag to enable/disable copying of bundled runtime to target directory. Where target directore is <transformer output option>/<plugin runtime option> Default: true

  • extraAttrs – array of additional attributes in format [name, value], that will be added to file links\ Default: undefined

  • directiveSyntax – enables new directive syntax. \ Available values: 'disabled' | 'enabled' | 'only'\ Default: 'disabled'

File markup

{% file src="path/to/file" name='readme.md' %}

==>

<a href="path/to/file" download="readme.md" class="yfm-file"><span class="yfm-file__icon"></span>readme.md</a>

Supported attributes:

NameRequiredDescription
srcyesURL of the file. Will be mapped to href attribute
nameyesName of the file. Will be mapped to download attribute
lang-Language of the file content. Will be mapped to hreflang attribute
referrerpolicy-referrerpolicy attribute
rel-rel attribute
target-target attribute
type-type attribute

Note: other attributes will be ignored

Directive syntax

Also you can use inline directive syntax for file links. For more information see here: diplodoc-platform/directive.

To enable directive syntax pass directiveSyntax: 'enabled' to options. Or you can disabled old syntax and use only directive syntax: directiveSyntax: 'only'.

:file[<file-name>](file-url)

<!-- Example: -->

:file[readme.md](path/to/readme/md){type=text/plain}

Supported attributes:

NameDescription
hreflanganchor hreflang attribute
referrerpolicyanchor referrerpolicy attribute
relanchor rel attribute
targetanchor target attribute
typeanchor type attribute

Note: other attributes will be ignored

CSS public variables

  • --yfm-file-icon – sets custom file icon image
  • --yfm-file-icon-color – sets custom file icon color
0.2.1

1 year ago

0.2.0

1 year ago

0.1.0

1 year ago