uniorg-rehype
TypeScript icon, indicating that this package has built-in type declarations

1.1.1 • Public • Published

uniorg-rehype

uniorg plugin to mutate uniorg to rehype.

Note: uniorg-rehype doesn't deal with HTML inside the Org (#+begin_export html). You'll need rehype-raw if you're planning on doing that.

Install

npm install uniorg-rehype

Use

var unified = require('unified')
var createStream = require('unified-stream')
var uniorgParse = require('uniorg-parse')
var uniorg2rehype = require('uniorg-rehype')
var html = require('rehype-stringify')

var processor = unified().use(uniorgParse).use(uniorg2rehype).use(html)

process.stdin.pipe(createStream(processor)).pipe(process.stdout)

API

processor().use(uniorg2rehype[, options])

uniorg plugin to mutate to rehype.

orgToHast(uniorg[, options])

Convert uniorg AST into hast.

import { parse } from 'uniorg-parse/lib/parser';
import { orgToHast } from 'uniorg-rehype/lib/org-to-hast';

orgToHast(parse(`* headline`));

options

imageFilenameExtensions

Filename extensions that should be considered as images. This is used to decide whether a link should be rendered as an <a> or and <img>.

useSections

Whether to wrap all org sections into <section>. Defaults to false.

footnotesSection

Renderer function for footnotes. Roughly corresponds to org-html-footnotes-section.

handlers

Allow overriding rendering for any uniorg type. Each handler receives the node of the corresponding type and should return valid hast tree.

For example:

import { h } from 'hastscript';
const processor = unified()
  .use(uniorgParse)
  .use(uniorg2rehype, {
    handlers: {
      'comment': (org) => {
        return h('div.comment', [{ type: 'text', value: org.value }]);
      },
    },
  });

License

GNU General Public License v3.0 or later

Package Sidebar

Install

npm i uniorg-rehype

Weekly Downloads

58

Version

1.1.1

License

GPL-3.0-or-later

Unpacked Size

73.8 kB

Total Files

12

Last publish

Collaborators

  • rasendubi
  • thomasfkjorna