Дополнительные поля
Допустим, у вас есть поле ExtraInfo. Вы хотите показать его под разделом Sentence на обратной стороне карточки.
Сначала откройте файл _kiku_back.html в каталоге collection.media. Его начало выглядит так:
html
<!-- Kiku Note v2.0.0
Этот файл создаётся автоматически. Ручные изменения будут потеряны после сохранения.
... остальная часть файлаДобавьте ExtraInfo внутрь элемента template:
html
<template id="ExtraInfo">{{ExtraInfo}}</template>
<!-- Kiku Note v2.0.0
Этот файл создаётся автоматически. Ручные изменения будут потеряны после сохранения.
... остальная часть файлаWARNING
Не меняйте остальную часть файла даже с помощью форматтера, например Prettier. Созданный SSR-шаблон зависит от пробелов и переводов строк.
Теперь добавьте поле ExtraInfo в компонент Sentence через _kiku_plugin.js:
js
/**
* @import { KikuPlugin } from "#/plugins/plugin-types";
*/
/**
* @type { KikuPlugin }
*/
export const plugin = {
Sentence: (props) => {
const { html, createMemo } = props.ctx;
function ExtraInfo() {
const $extraInfo = createMemo(() => {
if ("ExtraInfo" in props.ctx.$ankiFields) {
return props.ctx.$ankiFields?.ExtraInfo;
}
const template = document.getElementById("ExtraInfo");
return template?.innerHTML;
});
if (!$extraInfo()) return null;
return html`<div class="text-lg text-base-content-calm" innerHTML=${$extraInfo}></div>`;
}
return [props.DefaultSentence(), ExtraInfo()];
},
};Затем откройте настройки Kiku RU и нажмите Сохранить. Kiku RU обновит обратный шаблон из изменённого _kiku_back.html.