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.
npm install @kenchan0130/markdown-to-atlassian-wiki-markup
# or
yarn add @kenchan0130/markdown-to-atlassian-wiki-markup
var markdownToAtlassianWikiMarkup = require("@kenchan0130/markdown-to-atlassian-wiki-markup").markdownToAtlassianWikiMarkup;
var wikiMarkup = markdownToAtlassianWikiMarkup("# Heading 1\n- list");
console.log(wikiMarkup);
/**
h1. Heading
* list
**/
import { markdownToAtlassianWikiMarkup } from "@kenchan0130/markdown-to-atlassian-wiki-markup";
const wikiMarkup = markdownToAtlassianWikiMarkup("# Heading 1\n- list");
console.log(wikiMarkup);
/**
h1. Heading
* list
**/
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: AtlassianSupportLanguage) => boolean function |
Show or not linenumbers of code block. |
codeBlock | collapse | boolean or (code: string, lang: AtlassianSupportLanguage) => boolean function |
Enable or not collapse of code block. |
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}
*/
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, 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: (
_code: string,
lang: AtlassianSupportLanguage
): boolean => lang !== AtlassianSupportLanguage.None,
// In this case, it makes code block collapsed when the code line number more than 10.
collapse: (
code: string,
_lang: AtlassianSupportLanguage
): 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}
*/
Markdown has various dialects.
This library uses marked. Therefore, it supports GitHub Flavored Markdown.
npm ci
npm run test
- Fork the project
- Create a descriptively named feature branch
- Add your feature
- Submit a pull request
npm version major|minor|patch
Run this with local master branch.
MIT