我在編寫風格指南,使用Fabricator和the docs似乎表明我應該能夠添加「控件」以讓用戶在各個部分上切換可見性。將「控件」添加到加工者的UI工具包中
默認情況下,Fabricator版本帶有3個主切換:labels
,notes
和code
。我想添加第4個切換,我打電話給styles
。
的fabricator.js
文件看起來像這樣的相關章節:
/**
* Default options
* @type {Object}
*/
fabricator.options = {
toggles: {
labels: true,
notes: true,
code: false,
styles: true,
},
menu: true,
mq: '(min-width: 60em)',
};
&
/**
* Handler for preview and code toggles
* @return {Object} fabricator
*/
fabricator.allItemsToggles =() => {
const itemCache = {
labels: document.querySelectorAll('[data-f-toggle="labels"]'),
notes: document.querySelectorAll('[data-f-toggle="notes"]'),
code: document.querySelectorAll('[data-f-toggle="code"]'),
styles: document.querySelectorAll('[data-f-toggle="styles"]'),
};
}
正如你所看到的,我已經添加了我的styles
切換到fabricator.options
對象和對itemCache對象與現有元素的格式匹配。
我還添加了新的styles
部分的控件和內容諧音:
f-item-controls.html
{{!-- this is part of the default build --}}
{{#if notes}}
<span class="f-control f-icon" data-f-toggle-control="notes" title="Toggle Notes">
<svg>
<use xlink:href="#f-icon-notes" />
</svg>
</span>
{{/if}}
{{!-- this is my matching addition --}}
{{#if styles}}
<span class="f-control f-icon" data-f-toggle-control="styles" title="Toggle Styles">
<svg>
<use xlink:href="#f-icon-styles" />
</svg>
</span>
{{/if}}
f-item-content.html
{{!-- this is part of the default build --}}
{{#if notes}}
<div class="f-item-notes" data-f-toggle="notes">
{{{notes}}}
</div>
{{/if}}
{{!-- this is my matching addition --}}
{{#if styles}}
<div class="f-item-styles" data-f-toggle="styles">
{{{styles}}}
</div>
{{/if}}
最後,只是讓我有內容的工作,我添加了一些我的按鈕組件可以呈現的'前端'數據:
---
notes: |
These are notes written in `markdown`
styles: |
These are styles written in `markdown`
---
notes
(默認構建的一部分)呈現並正確切換; styles
根本不渲染。如果刪除styles
塊的{{#if}}條件,則會生成control
圖標和相應的content
<div>
,但實際的style
文本仍然丟失。
我已經與Luke Askew(製造者的創造者)聯繫,要求澄清,但我還沒有收到他的回覆。與此同時,我希望SO社區中的某個人能夠幫助我理解這是如何工作的,以便我可以繼續我的工作。