diff --git a/src/components/DefElement.vue b/src/components/DefElement.vue index cd11441a9f3f348c7605006e186e5962a3315c62..3483ee7f964619f08b9ef7d3fd2d24a0dc8aa3be 100644 --- a/src/components/DefElement.vue +++ b/src/components/DefElement.vue @@ -2,13 +2,12 @@ <li :is="tag" :class="body.type_"><!-- --><span :is="item.tag || 'span'" v-for="(item, index) in assemble_text" :class="item.type" - :key="index"><!-- + :key="index" + v-bind="item.props"><!-- -->{{item.html}}<!-- --><router-link v-if="item.type == 'article_ref'" :to="item.ref" @click.native="article_link_click(item)"><!-- --><span class="homograph" :key="index">{{item.lemmas[0].hgno ? String.fromCharCode(0x215f + item.lemmas[0].hgno) + ' ' : ''}}</span>{{item.lemmas[0].lemma}} {{item.definition_order ? ` (${item.definition_order})` : ''}}<!-- --></router-link><!-- - --><sup v-if="item.type == 'subscript'">{{item.text}}</sup><!-- - --><sup v-if="item.type == 'superscript'">{{item.text}}</sup><!-- --></span></li> </template> @@ -42,6 +41,7 @@ export default { else if (item.type_ == 'pronunciation') return {type: item.type_, html: item.string} else if (item.type_ == 'superscript') return {type: item.type_, html: item.text, tag: 'sup'} else if (item.type_ == 'subscript') return {type: item.type_, html: item.text, 'tag': 'sub'} + else if (item.type_ == 'quote_inset') return {type: item.type_, body: item, html: '', tag: 'DefElement', props: {body: item, tag: 'i'}} else if (item.id) return {type: item.type_, html: entities[item.id] || languages[item.id] || item.id} else return {type: item.type_ || 'plain', html: item} } @@ -83,6 +83,11 @@ span.language { font-weight: bold; } +i { + font-style: normal; + font-family: monospace; +} + .homograph { vertical-align: sub; }