Needful Program Management

    stream-sac

    2.2.1 • Public • Published

    stream-sac

    Stream related functions

    Installation

    npm i stream-sac

    Usage

    The source code is the documentation.

    concatAsStream.js

    import {
        concatAsStream,
    } from "stream-sac/source/concatAsStream.js";

    streamifyStringFunction.js

    import {
        streamifyStringFunction,
    } from "stream-sac/source/streamifyStringFunction.js";

    HtmlMinifier.js

    The input should be valid. Optional pass jsMinifier and cssMinifier to minify inline.

    import {
        HtmlMinifier,
    } from "stream-sac/source/html/HtmlMinifier.js";
    
    const htmlStream = new HtmlMinifier({
        jsMinifier: (x) => x,
        cssMinifier: (y) => y,
    });

    MarkdownParser.js

    The input should be valid.

    import {
        MarkdownParser,
    } from "stream-sac/source/markdown/MarkdownParserNode.js";
    
    const markdownStream = new MarkdownParser({
        // all optional
        languagePrefix: `language-`,
        highlight: function (str, lang) {
            // import hljs to get code highlighting
            if (lang && hljs.getLanguage(lang)) {
                try {
                return hljs.highlight(lang, str).value;
                } catch (__) {}
            }
        
            return ``;
        },
        // for example to resize images on the fly
        mediaHook: function (src, alt) {
            return `<img alt="${alt}" src="${src}">`;
        },
        // for example to disable all external links 
        linkHrefHook: function (src) {
            if (!src.startsWith("https://example.com")) {
                return "#";
            }
            return src;
        }
    });

    Deno and Web

    createMarkdownParserStream takes the same options as above, however it is a function that returns a web transform stream. It expects data to be strings, so TextDecoderStream may have to be used

    import { createMarkdownParserStream } from "stream-sac/built/MarkdownParserWeb.es.js"
    // or
    import { createMarkdownParserStream } from "https://unpkg.com/stream-sac/built/MarkdownParserWeb.es.js";

    Complete Example for Deno

    About

    Logo

    Put logo here

    Changelog

    Changelog

    License

    CC0

    Related

    Install

    npm i stream-sac

    DownloadsWeekly Downloads

    75

    Version

    2.2.1

    License

    CC0-1.0

    Unpacked Size

    148 kB

    Total Files

    12

    Last publish

    Collaborators

    • grossacasacs