0.4.0 • Published 14 days ago

@datawhale/wst-render v0.4.0

Weekly downloads
-
License
LGPL-3.0-or-later
Repository
-
Last release
14 days ago

wst-render

  • directives中的所有组件,必须存在一个子组件作为入口,满足名字与其对应的文件字母保持严格一致。例如,multiple-choice中的MultipleChoice。
  • 为什么不在TreeRender中使用truncate,即directives的渲染权力不交给组件内部?因为每个组件内部可能有内联元素组件,比如Paragraph,这样的话就必须在所有存在内联元素的地方手动写出渲染组件(比如加粗等),以及使用for循环,看上去丑陋。这样的话,就必须暴露directive组件所有的子组件,从而保证所有在TreeRender中的渲染元素都能找到对应的渲染组件。
  • 使用provider和inject时,需要注意组件嵌套的问题,比如一个multipleChoice里面嵌套了另一个multipleChoice,这样的话可能导致处理逻辑的混乱。两个方案:在parser的后处理器中添加检测逻辑,不允许这样的情况发生;重新设计组件方案。
  • 把所有能够写清楚结构节点的Type都写清楚,比如AdmonitionNode中,第一个元素一定是AdmonitionTitleNode节点,第二个元素一定是Paragraph;并把type全部分散到对应组件文件夹下管理。