UNPKG

@mdfriday/foundry

Version:

The core engine of MDFriday. Convert Markdown and shortcodes into fully themed static sites – Hugo-style, powered by TypeScript.

54 lines (53 loc) 2.06 kB
import { Item } from '@pkg/md/parser/item'; import { MarkdownRenderer, Shortcode } from "@internal/domain/markdown"; import { MediaType } from '@pkg/media/type'; export interface ContentReplacement { val: Uint8Array; source: Item; } export type ContentItem = Item | Shortcode | ContentReplacement; export declare const INTERNAL_SUMMARY_DIVIDER_BASE = "HUGOMORE42"; export declare const INTERNAL_SUMMARY_DIVIDER_PRE: NodeJS.NonSharedUint8Array; export declare class Content { private hasSummaryDivider; private summaryTruncated; private rawSource; private items; private renderer; constructor(source: Uint8Array, renderer: MarkdownRenderer); isEmpty(): boolean; setSummaryDivider(): void; getHasSummaryDivider(): boolean; setSummaryTruncated(): void; getTruncated(): boolean; addReplacement(val: Uint8Array, source: Item): void; addShortcode(shortcode: Shortcode): void; addItem(item: Item): void; addItems(...items: Item[]): void; rawContent(): string; pureContent(): string; pureContentWithoutPlaceholder(): string; renderedContent(shortcodeRenderer?: (shortcode: Shortcode) => string): string; renderedContentAsync(shortcodeRenderer?: (shortcode: Shortcode) => Promise<string> | string): Promise<string>; getItems(): ContentItem[]; getShortcodes(): Shortcode[]; getTextItems(): Item[]; getReplacements(): ContentReplacement[]; extractSummary(input: Uint8Array, mediaType: MediaType): { summary: string; truncated: boolean; }; private extractSummaryFromHTML; private containsCJK; private isProbablyHTMLToken; private stripHTML; private trimShortHTML; cleanDividerPlaceholders(htmlContent: string): string; getDividedSummary(htmlContent: string): string; getRenderedSummary(htmlContent?: string, maxLength?: number): Promise<string>; getWordCount(): number; getReadingTime(wordsPerMinute?: number): number; private isItem; private isShortcode; private isContentReplacement; }