markdown怎样输入表格的表头?

就是表格的<caption>...</caption>部分怎么输入啊?

阅读 15.7k
3 个回答

Markdown是没有表头的哦,如果要用表头就用HTML咯。正常的Markdown render,都可以渲染HTML。

得知原来Markdown是没有表头的,我自己修改了一下Marked.js函数,给它加了一个表头功能。
具体来说,

第87到90行改成这样:

block.tables = merge({}, block.gfm, {
  nptable: /^ *(\S.*\|.*)\n *([-:]+ *\|[-| :]*)\n((?:.*\|.*(?:\n|$))*)\n*/,
  table: /^ *([^\n]*?)\n?\|(.+)\n *\|( *[-:]+[-| :]*)\n((?: *\|.*(?:\n|$))*)\n*/
});

第376行到382行改成这样:

  item = {
    type: 'table',
    caption : cap[1],
    header: cap[2].replace(/^ *| *\| *$/g, '').split(/ *\| */),
    align: cap[3].replace(/^ *|\| *$/g, '').split(/ *\| */),
    cells: cap[4].replace(/(?: *\| *)?\n$/, '').split('\n')
  };

第885行加入这么一段内容:

if(this.token.caption) body+='<caption>'+this.token.caption+'</caption>';

搞定了。

以后遇到表格前一行文字,自动视为caption。当然,如果不作这点改动的话,md文件中这段表格前的文字会被视为p的,而不是caption

新手上路,请多包涵

感觉没有十全十美的,直接敲html代码!

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进