Miss any of our Open RFC calls?Watch the recordings here! »

@kenchan0130/markdown-to-atlassian-wiki-markup

3.0.7 • Public • Published

@kenchan0130/markdown-to-atlassian-wiki-markup

NPM version Build status dep dev dep snyk MIT

Convert markdown to atlassian wiki markup

If you want to use this on your command line, you can use markdown-to-atlassian-wiki-markup-cli.

Installation

npm install @kenchan0130/markdown-to-atlassian-wiki-markup
# or 
yarn add @kenchan0130/markdown-to-atlassian-wiki-markup

Usage

Usage JavaScript

var markdownToAtlassianWikiMarkup = require("@kenchan0130/markdown-to-atlassian-wiki-markup").markdownToAtlassianWikiMarkup;
 
var wikiMarkup = markdownToAtlassianWikiMarkup("# Heading 1\n- list");
console.log(wikiMarkup);
/**
h1. Heading
 
* list
 
**/

Usage TypeScript

import { markdownToAtlassianWikiMarkup } from "@kenchan0130/markdown-to-atlassian-wiki-markup";
 
const wikiMarkup = markdownToAtlassianWikiMarkup("# Heading 1\n- list");
console.log(wikiMarkup);
/**
h1. Heading
 
* list
 
**/

Options

You can use MarkdownToAtlassianWikiMarkupOptions. It has following properties.

namespace key type description
codeBlock theme CodeBlockTheme or string Theme of code block.
See also: https://confluence.atlassian.com/doc/code-block-macro-139390.html
codeBlock showLineNumbers boolean or (code: string, lang: AtlassianSupportLanguageValues) => boolean function Show or not linenumbers of code block.
codeBlock collapse boolean or (code: string, lang: AtlassianSupportLanguageValues) => boolean function Enable or not collapse of code block.

Options JavaScript Example

var markdownToAtlassianWikiMarkup = require("@kenchan0130/markdown-to-atlassian-wiki-markup").markdownToAtlassianWikiMarkup;
 
var options = {
  codeBlock: {
    theme: "DJango",
    showLineNumbers: true,
    collapse: true
  }
};
var wikiMarkup = markdownToAtlassianWikiMarkup(`
\`\`\`javascript
console.log("This is JavaScript.");
\`\`\`
`, options);
console.log(wikiMarkup);
/*
 
{code:collapse=true|language=javascript|linenumbers=true|theme=DJango}
console.log("This is JavaScript.");
{code}
 
*/
var markdownToAtlassianWikiMarkup = require("@kenchan0130/markdown-to-atlassian-wiki-markup").markdownToAtlassianWikiMarkup;
 
const options = {
  codeBlock: {
    theme: "DJango",
    // In this case, it does not display line numbers when the code lang is none.
    showLineNumbers: function(_code, lang) { return lang !== "none"; },
    // In this case, it makes code block collapsed when the code line number more than 10.
    collapse: function(code) { return code.split("\n").length > 10; },
  }
});
var wikiMarkup = markdownToAtlassianWikiMarkup(```
\`\`\`typescript
console.log("This is TypeScript.");
\`\`\`
```, options);
console.log(wikiMarkup);
/*
 
{code:collapse=false|language=none|linenumbers=false|theme=DJango}
console.log("This is TypeScript.");
{code}
 
*/

Options TypeScript Example

import { AtlassianSupportLanguage, CodeBlockTheme, markdownToAtlassianWikiMarkup, MarkdownToAtlassianWikiMarkupOptions } from "@kenchan0130/markdown-to-atlassian-wiki-markup";
 
const options = {
  codeBlock: {
    theme: CodeBlockTheme.DJango,
    showLineNumbers: true,
    collapse: true
  }
};
const wikiMarkup = markdownToAtlassianWikiMarkup(`
\`\`\`javascript
console.log("This is JavaScript.");
\`\`\`
`, options);
console.log(wikiMarkup);
/*
 
{code:collapse=true|language=javascript|linenumbers=true|theme=DJango}
console.log("This is JavaScript.");
{code}
 
*/
import { AtlassianSupportLanguage, AtlassianSupportLanguageValues, CodeBlockTheme, markdownToAtlassianWikiMarkup, MarkdownToAtlassianWikiMarkupOptions } from "@kenchan0130/markdown-to-atlassian-wiki-markup";
 
const options = {
  codeBlock: {
    theme: CodeBlockTheme.DJango,
    // In this case, it does not display line numbers when the code lang is none.
    showLineNumbers: (
      _codestring,
      langAtlassianSupportLanguageValues
    )boolean => lang !== AtlassianSupportLanguage.None,
    // In this case, it makes code block collapsed when the code line number more than 10.
    collapse: (
      codestring,
      _langAtlassianSupportLanguageValues
    )boolean => code.split("\n").length > 10,
  }
});
const wikiMarkup = markdownToAtlassianWikiMarkup(```
\`\`\`typescript
console.log("This is TypeScript.");
\`\`\`
```, options);
console.log(wikiMarkup);
/*
 
{code:collapse=false|language=none|linenumbers=false|theme=DJango}
console.log("This is TypeScript.");
{code}
 
*/

About Markdown

Markdown has various dialects.

This library uses marked. Therefore, it supports GitHub Flavored Markdown.

Development

Test

npm ci
npm run test

Contributing

  1. Fork the project
  2. Create a descriptively named feature branch
  3. Add your feature
  4. Submit a pull request

Release

npm version major|minor|patch

Run this with local master branch.

License

MIT

Install

npm i @kenchan0130/markdown-to-atlassian-wiki-markup

DownloadsWeekly Downloads

100

Version

3.0.7

License

MIT

Unpacked Size

70.5 kB

Total Files

18

Last publish

Collaborators

  • avatar