mfm-marked-extension
Version:
An MFM (Misskey-Flavored Markup) extension for marked
168 lines (167 loc) • 5.36 kB
TypeScript
/**
* Token parser namespace for MFM Fn
*/
export declare namespace mfmFnToken {
/**
* Parse the MFM animation using speed and delay as its parameters
* @param _class MFM animation class to be rendered. Can be extended with CSS.
* @param raw RAW internal value
* @param isLinear If the animation should be linear, let it `true`. Otherwise `false`.
* @param style Animation parameters be set. \
* Only `speed` and `delay` are parsed in here, so you should parse externally if you want others be accepted.
* @param additionalOptions Additional CSS style options will be in here.
* @param additionalAnimationParam Additional CSS animation parameters be set here.
*/
function parseSpeedDelay(_class: string, raw: string, isLinear: boolean, style?: {
[index: string]: string | boolean;
}, additionalOptions?: string, additionalAnimationParam?: string): string;
/**
* MFM $[tada]
* @param raw Internal raw value.
* @param style Animation parameters.
*/
function tada(raw: string, style?: {
[index: string]: string | boolean;
}): string;
/**
* MFM $[jelly]
* @param raw Internal raw value.
* @param style Animation parameters.
*/
function jelly(raw: string, style?: {
[index: string]: string | boolean;
}): string;
/**
* MFM $[twitch]
* @param raw Internal raw value.
* @param style Animation parameters.
*/
function twitch(raw: string, style?: {
[index: string]: string | boolean;
}): string;
/**
* MFM $[shake]
* @param raw Internal raw value.
* @param style Animation parameters.
*/
function shake(raw: string, style?: {
[index: string]: string | boolean;
}): string;
/**
* MFM $[spin]
* @param raw Internal raw value.
* @param style Animation parameters.
*/
function spin(raw: string, style?: {
[index: string]: string | boolean;
}): string;
/**
* MFM $[jump]
* @param raw Internal raw value.
* @param style Animation parameters.
*/
function jump(raw: string, style?: {
[index: string]: string | boolean;
}): string;
/**
* MFM $[bounce]
* @param raw Internal raw value.
* @param style Animation parameters.
*/
function bounce(raw: string, style?: {
[index: string]: string | boolean;
}): string;
/**
* MFM $[rainbow]
* @param raw Internal raw value.
* @param style Animation parameters.
*/
function rainbow(raw: string, style?: {
[index: string]: string | boolean;
}): string;
/**
* MFM $[flip]
* @param raw Internal raw value.
* @param style Animation parameters.
*/
function flip(raw: string, style?: {
[index: string]: string | boolean;
}): string;
/**
* MFM $[x2], $[x3], $[x4]
* @param raw Internal raw value.
* @param times set this in {2..4}
*/
function xN(raw: string, times: number): string;
/**
* MFM $[scale]
* @param raw Internal raw value.
* @param style Scale value. Should be `string`, but should be able to parse into Number.
* ```ts
* { x: string, y: string }
* ```
* Floats are accepted. Must be in between -5 and 5.
*/
function scale(raw: string, style?: {
[index: string]: string | boolean;
}): string;
/**
* MFM $[fg] and $[bg]
* @param raw Internal raw value.
* @param isFg `true` if $[fg], `false` if $[bg]
* @param style Color set. Value must be in CSS. \
* Casting `rgb()` or `rgba()` is accepted in this function, but doesn't in actual MFM.
* ```ts
* { color: string }
* ```
*/
function color(raw: string, isFg: boolean, style?: {
[index: string]: string | boolean;
}): string;
/**
* MFM $[border]
* @param raw Internal raw value.
* @param style CSS Border style value set. If `noclip`, additional `overflow: clip;` is accepted.
* ```ts
* { width: string, color: string, style: string, radius: string, noclip: boolean }
* // border: width color style radius;
* ```
*/
function border(raw: string, style?: {
[index: string]: string | boolean;
}): string;
/**
* MFM $[blur]
* @param raw Internal raw value.
*/
function blur(raw: string): string;
/**
* MFM $[rotate]
* @param raw Internal raw value.
* @param style Transform options. `deg` should be string, but the value must be number. \
* Float-style is accepted.
* ```ts
* { deg: string }
* ```
*/
function rotate(raw: string, style?: {
[index: string]: string | boolean;
}): string;
/**
* MFM $[ruby]
* @param rbMain Main content that be ruby-ed
* @param rbRt Content of ruby, the RubyText(`<rt>`)
*/
function ruby(rbMain: string, rbRt: string): string;
}
/**
* Token parser namespace for MFM mention
*/
export declare namespace mfmMentionToken {
/**
* MFM `@mention`. Since outta instance, instance URI should be provided.
* @param account Account name of the fediverse ID.
* @param instance Instance URI of the fediverse.
*/
function mentionFediverse(account: string, instance: string): string;
}