@kenchan0130/markdown-to-atlassian-wiki-markup
v6.0.0
Published
Convert markdown to atlassian wiki markup
Downloads
1,644
Maintainers
Readme
@kenchan0130/markdown-to-atlassian-wiki-markup
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: 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. |
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, 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}
*/
About Markdown
Markdown has various dialects.
This library uses marked. Therefore, it supports GitHub Flavored Markdown.
Development
Test
npm ci
npm run test
Contributing
- Fork the project
- Create a descriptively named feature branch
- Add your feature
- Submit a pull request
Release
npm version major|minor|patch
Run this with local master branch.
License
MIT