diff --git a/packages/markdown-common/lib/tocommonmarkrules.js b/packages/markdown-common/lib/tocommonmarkrules.js index b56a2334..c9f8fac2 100644 --- a/packages/markdown-common/lib/tocommonmarkrules.js +++ b/packages/markdown-common/lib/tocommonmarkrules.js @@ -243,6 +243,23 @@ const listItemCloseRule = { close: true, }; +const romanListOpenRule = { + tag: `${CommonMarkModel.NAMESPACE}.List`, + leaf: false, + open: true, + close: false, + enter: (node,token,callback) => { + node.type = 'roman'; + node.tight = 'true'; // XXX Default but can be overridden when closing the list tag + }, +}; +const romanListCloseRule = { + tag: `${CommonMarkModel.NAMESPACE}.List`, + leaf: false, + open: false, + close: true, +}; + const tableOpenRule = { tag: `${CommonMarkModel.NAMESPACE}.Table`, leaf: false, @@ -361,6 +378,9 @@ rules.blocks.bullet_list_open = bulletListOpenRule; rules.blocks.bullet_list_close = bulletListCloseRule; rules.blocks.ordered_list_open = orderedListOpenRule; rules.blocks.ordered_list_close = orderedListCloseRule; +rules.blocks.roman_list_open = romanListOpenRule; +rules.blocks.roman_list_close = romanListCloseRule; +rules.blocks.roma_list = romanListOpenRule; rules.blocks.list_item_open = listItemOpenRule; rules.blocks.list_item_close = listItemCloseRule; rules.blocks.table_open = tableOpenRule; diff --git a/packages/markdown-html/src/ToHtmlStringVisitor.js b/packages/markdown-html/src/ToHtmlStringVisitor.js index b05dc143..7ae40115 100644 --- a/packages/markdown-html/src/ToHtmlStringVisitor.js +++ b/packages/markdown-html/src/ToHtmlStringVisitor.js @@ -185,6 +185,8 @@ class ToHtmlStringVisitor { const { delimiter, start, tight} = thing; if(thing.type === 'ordered') { parameters.result += `
    `; + }else if(this.type === 'roman'){ + parameters.result += `
      `; } else { parameters.result += `