【已解决】Mermaid ER 图 实体别名语法不支持

mermaid er图 实体别名语法不支持

当前 Obsidian 的版本为1.4.16

按照 Mermaid 中文网 的说明 (https://mermaid.nodejs.cn/syntax/entityRelationshipDiagram.html),应该可以方括号语法为实体指定别名

但obsidian中不受支持

这样写

  ```mermaid
  erDiagram
  p[Person] {
  }
  ```

显示

Error parsing Mermaid diagram!

Parse error on line 2:
erDiagramp[Person] {}
----------^
Expecting 'EOF', 'SPACE', 'NEWLINE', ':', 'BLOCK_START', 'title', 'acc_title', 'acc_descr', 'acc_descr_multiline_value', 'ALPHANUM', 'ENTITY_NAME', 'ZERO_OR_ONE', 'ZERO_OR_MORE', 'ONE_OR_MORE', 'ONLY_ONE', 'MD_PARENT', 'open_directive', got '['

我使用的是最新的1.5.3版本,没问题

erDiagram
p[Person]{
  string firstName
  string lastName
}
a["Customer Account"]{
  string email
}
p ||--o| a: has

image

利用调用远程的最新mermaid服务,渲染出来的结果有点儿差异

image

const { default: {mermaidAPI} } = await import('https://cdn.jsdelivr.net/npm/mermaid/dist/mermaid.esm.min.mjs')

mermaidAPI.initialize({ startOnLoad: false });

let el = dv.el("div", null);
const graphDefinition = `
erDiagram
p[Person]{
  string firstName
  string lastName
}
a["Customer Account"]{
  string email
}
p ||--o| a: has
`
const {svg} = await mermaidAPI.render("graphDiv", graphDefinition);
el.innerHTML = svg;

1.5.3 支持了,感谢 :kissing: