κΈ°λ₯ μμ²μ΄ λ¬Έμ μ κ΄λ ¨λμ΄ μμ΅λκΉ?
λλ νμ Canvas κ° λ©μΈ νμ΄λΌλ μ¬μ€μ μ’μ ν©λλ€. μ°λ¦¬ νμ μ€ν 리λΆμ κ΅¬μ± μμ λΌμ΄λΈλ¬λ¦¬λ‘ μ¬μ©νμ§λ§ μ€νμΌ κ°μ΄λλ‘λ μ¬μ©ν©λλ€. μ€νμΌ κ°μ΄λ ν
μ€νΈλ₯Ό λ©λͺ¨κ° μλ λ§ν¬λ€μ΄μΌλ‘ λ£μ΅λλ€.
μνλ μ루μ
μ€λͺ
μΊλ²μ€ νμ μ¨κΈΈ μ μμ΅λλ€. λ°λΌμ μ¬μ©μλ λ©λͺ¨λ₯Ό μ½κΈ° μν΄ μΆκ°λ‘ ν΄λ¦ν νμκ° μμ΅λλ€.
μλ§λ μ΄λ° κ²?
storiesOf('Addons|Hide Canvas options', module)
.addParameters({
options: {
panelPosition: 'bottom',
// To hide canvas tab:
showCanvas: false,
},
})
.add(
'Story for MyComponent',
() => <MyComponent />,
// If you want to set the options for a specific story
{ options: { showCanvas: false } },
);
κ³ λ €ν λμμ κΈ°μ νμμμ€.
λμμ νΉμ μ€ν 리λ₯Ό ν΄λ¦ν λ μ΄λ€ νμ μ΄μ΄μΌ νλμ§ κ° μ€ν 리λ₯Ό ꡬμ±ν μ μλ€λ κ²μ
λλ€.
κΈ°λ₯μ νμ€λ‘ κ°μ Έμ€λ λ° λμμ μ€ μ μμ΅λκΉ?
λλ pull-requestμ testλ₯Ό μ½μ΄μ κΈ°μ¬ν μ μλ€.
μΆκ° 컨ν
μ€νΈ
addon-docs
μΌλΆλ‘ μλΉν νλμ½λ©λ λ°©μμΌλ‘ μ΄ μμ
μ μνν©λλ€. @ndelangen μ΄κ²μ λ κ΅¬μ± κ°λ₯νκ² λ§λ€μ΄μΌ νλμ§ κΆκΈν©λλ€.
'μ¨κΈΈ' μλ μμ§λ§ μ€ν 리λΆμ΄ μ§κΈ λΉμ₯ μλνλ €λ©΄ μ΅μν #4169κΉμ§λ μ‘΄μ¬ν΄μΌ ν©λλ€.
μΌλΆ μ΅μ μ ν΅ν΄ μ¨κΈ°λ κ²μ΄ κ°λ₯ν©λλ€.
μλ νμΈμ μ¬λ¬λΆ! μ΅κ·Όμ μ΄ λ¬Έμ μ λν΄ λ§μ μΌμ΄ μΌμ΄λμ§ μμ κ² κ°μ΅λλ€. μ¬μ ν μ§λ¬Έ, μ견 λλ λ²κ·Έκ° μμΌλ©΄ μμ λ‘κ² ν λ‘ μ κ³μνμμμ€. λΆννλ λͺ¨λ λ¬Έμ λ₯Ό λ€λ£° μκ°μ΄ μμ΅λλ€. μ°λ¦¬λ νμ κΈ°μ¬μ μ΄λ € μμΌλ―λ‘ λμμ΄ νμνλ©΄ ν 리νμ€νΈλ₯Ό 보λ΄μ£Όμμμ€. λΉνμ± λ¬Έμ λ 30μΌ νμ λ«νλλ€. κ°μ¬ ν΄μ!
λλ νμ¬ κ°μ λ¬Έμ μ μ§λ©΄νκ³ μμ΅λλ€. μ΄μμ μΌλ‘λ νμ μνλ λλ‘ μ¬μ λ ¬ν μ μλ μ΅μ μ΄ μμ μ μμΌλ―λ‘ μλ₯Ό λ€μ΄ μ κ²½μ°μλ λ©λͺ¨κ° λ¨Όμ νμλκ³ μΊλ²μ€κ° λμ€μ νμλ μ μμ΅λλ€.
@eduina @B3Kay μ°Έκ³ λ‘ νμ¬ --docs
νλκ·Έλ₯Ό μ¬μ©νμ¬ λ¬Έμκ° μλ νμ λͺ¨λ μ¨κΈΈ μ μμ΅λλ€(μ: yarn storybook --docs
λλ yarn build-storybook --docs
μμ λ°/λλ κΈ°λ³Έ μ νμ λ³κ²½νλ μ΅μ μ΄ μμ΅λκΉ? μ°λ¦¬λ μ£Όλ‘ λ¬Έμ κΈ°λ₯μ μν΄ Storybookμ μ¬μ©νκ³ μΆμ§λ§ μ¬μ ν μΊλ²μ€λ₯Ό λ³Ό μ μμ΅λλ€. κ·Έλ¬λ Canvasκ° μ²« λ²μ§Έ μμΉμ μκ³ κΈ°λ³Έμ μΌλ‘ μ νλμ΄ μμΌλ―λ‘ μλ‘μ΄ μ¬μ©μλ MDX νμΌμ ν¬ν¨λ μ€μ λ¬Έμλ₯Ό λμΉλ κ²½μ°κ° μμ΅λλ€.
@bmayen λλ κ·Έκ²μ΄ μΊλ²μ€ νμ μ¨κΈ°λ κ²κ³Ό λμΌν κΈ°λ₯ λ²ν·μ
νΉμ μ€ν 리μ λν μΊλ²μ€ νμ μ¨κΈ°λ κΈ°λ₯κ³Ό μ€ν 리λ₯Ό μ¨κΈΈ μ μλ κΈ°λ₯μ λ³΄κ³ μΆμ΅λλ€. κ·Έλμ κ΅¬μ± μμμ λν μμ μμ€ λ¬Έμ νμ΄ μκ³ κ·Έκ² μ λΆμ λλ€.
μ΄μ λν νμ¬ μμ μ¬νμ λ¬Έμμ "Story" νκ·Έκ° μλ κ²μ΄μ§λ§ "Show Code" λ²νΌμ λν κΈ°λ₯μ΄ μμ΄μ§λλ€. μ€ν 리 μμ΄ λ―Έλ¦¬λ³΄κΈ°+μ½λλ₯Ό κ°μ§ μ μλ λ°©λ²μ΄ μμ΅λκΉ? κ°μ¬ ν΄μ
@sanchez μ°Έμ‘° https://github.com/storybookjs/storybook/pull/7966
μλ νμΈμ μ¬λ¬λΆ! μ΅κ·Όμ μ΄ λ¬Έμ μ λν΄ λ§μ μΌμ΄ μΌμ΄λμ§ μμ κ² κ°μ΅λλ€. μ¬μ ν μ§λ¬Έ, μ견 λλ λ²κ·Έκ° μμΌλ©΄ μμ λ‘κ² ν λ‘ μ κ³μνμμμ€. λΆννλ λͺ¨λ λ¬Έμ λ₯Ό λ€λ£° μκ°μ΄ μμ΅λλ€. μ°λ¦¬λ νμ κΈ°μ¬μ μ΄λ € μμΌλ―λ‘ λμμ΄ νμνλ©΄ ν 리νμ€νΈλ₯Ό 보λ΄μ£Όμμμ€. λΉνμ± λ¬Έμ λ 30μΌ νμ λ«νλλ€. κ°μ¬ ν΄μ!
μλ μ΄κ±Έ μν΄!
2019λ 10μ 24μΌ λͺ©μμΌ μ€μ 3μ 44λΆ stale[bot] [email protected]μμ λ€μκ³Ό κ°μ΄ μμ±νμ΅λλ€.
μλ νμΈμ μ¬λ¬λΆ! μ΄ λ¬Έμ μ λν΄ λ§μ μΌμ΄ μ§νλμ§ μμ κ² κ°μ΅λλ€.
μ΅κ·Όμ. μ¬μ ν μ§λ¬Έ, μ견 λλ λ²κ·Έκ° μμΌλ©΄ μΈμ λ μ§
ν λ‘ μ κ³μν©λλ€. λΆννλ, μ°λ¦¬λ λμ°©ν μκ°μ΄ μμ΅λλ€
λͺ¨λ λ¬Έμ . μ°λ¦¬λ νμ κΈ°μ¬μ μ΄λ € μμΌλ―λ‘ μ°λ¦¬μκ² pullμ 보λ΄μ£Όμμμ€
λμμ μνμλ©΄ μμ²νμΈμ. λΉνμ± λ¬Έμ λ 30 νμ λ«νλλ€.
λ . κ°μ¬ ν΄μ!β
μ΄ μ€λ λμ κ°μ νκΈ° λλ¬Έμ μ΄ λ©μμ§λ₯Ό λ°κ³ μμ΅λλ€.
μ΄ μ΄λ©μΌμ μ§μ λ΅μ₯νκ³ GitHubμμ νμΈ
https://github.com/storybookjs/storybook/issues/7066?email_source=notifications&email_token=AANLY2QVSW7PDJJVUFLOR2DQQFG5BA5CNFSM4HXKFNS2YY3PNVWWK3TUL52HS4DFVEXG43VMVBWJ3
λλ ꡬλ μ·¨μ
https://github.com/notifications/unsubscribe-auth/AANLY2VIMIOVBIAWI6SL4WLQQFG5BANCNFSM4HXKFNSQ
.
μ°λ¦¬ νμ¬μμλ μ€ν 리λΆμ ν¬κ² λ κ°μ§ μ©λλ‘ μ¬μ©ν©λλ€.
μ μμ κ²½μ° κ΅¬μ± μμμ λν μΌλ°μ μΈ μ½ν μΈ λ° μμ±μ΄ ν¬ν¨λ 'μ€μ μμ 'λ§ νμνλ κ²μ μ νΈν©λλ€. κ·Έλ¬λ νμμ κ²½μ° μ΅μνμ μ리 νμμ μ½ν μΈ λ₯Ό μ¬μ©νμ¬ κΈ°λ³Έκ°μ μ μ§νλ©΄μ λͺ¨λ κ΅¬μ± μμ μμ±μ μ² μ νκ² λ¬Έμννλ κ²μ μ νΈν©λλ€.
λμμΈ μ§ν₯μ μΈ μΌμ΄μ€λ λ¬Έμ λͺ¨λμ μ ν©νμ§λ§ μμ§λμ΄κ° νμμ λ°λΌ μ¬μ©ν μ μλλ‘ μΊλ²μ€λ₯Ό μ μ§νκ³ μΆμ΅λλ€.
κ·Έλ¬λ μ°λ¦¬ λͺ¨λλ 'μ΅μ μ λ€νκΈ° μν΄' μμ λ¬Έμ λͺ¨λκ° λ λμ λκ² νμλμ΄μΌ νλ€λ λ° λμν©λλ€.
μ΄λ₯Ό μν΄ κ°μ₯ μΌμͺ½μ "λ¬Έμ" νμ νμνκ³ μ€λ₯Έμͺ½μ "μΊλ²μ€"λ₯Ό νμνλλ‘ μ€ν 리λΆμ ꡬμ±ν μ μκΈ°λ₯Ό λ°λλλ€.
μ¬κΈ°μ μ±ν μμ λ§μ μμ²μ΄ μμ΅λλ€. λ¬Έμ κ΄λ ¨ λ¬Έμ κ° μλλΌ μΌλ°μ μΈ SB UI λ¬Έμ μΌ μ μμ§λ§ μ΄λ€ μμΌλ‘λ ν΄κ²° λ°©λ²μ μμλΌ κ²μ λλ€. cc @ndelangen
@eduina @B3Kay μ°Έκ³ λ‘ νμ¬
--docs
νλκ·Έλ₯Ό μ¬μ©νμ¬ λ¬Έμκ° μλ νμ λͺ¨λ μ¨κΈΈ μ μμ΅λλ€(μ:yarn storybook --docs
λλyarn build-storybook --docs
μ λμ¨μ΄ μ¬λΌμ§λ©΄ μ λμ¨μ νμνλ λ°©λ²μ΄ μμ΅λκΉ?
@matiasmenker νμ¬ https://github.com/storybookjs/storybook/issues/6700 μλλλ€.
λ μμ λ μ΄κ²μ μ€νν©λλ€. PR μμ μ μμν μ μλ ν¬μΈν°κ° μμ΅λκΉ?
λΌμ€ μμ£Ό μ¬μ΄ μΌμ΄ μλλλ€. preview.js
μλ λ°©μ: https://github.com/storybookjs/storybook/blob/a007de8dfd3ea7db08f88970b410a62615c5546f/lib/ui/src/components/preview/preview.js#L267 -L300
νμ΄ κ±°κΈ°μ μ£Όμ λ©λλ€.
iframeμ λ λλ§μμ ν μΆκ°λ₯Ό λΆλ¦¬ν΄μΌ ν©λλ€.
iframeμ λν λ¬Έμλ₯Ό λ λλ§νκ³ μ€μ λ‘ κ΄λ¦¬μμκ² νμκΈ°μ νμν μ€ν 리λ₯Ό μλ € μ£ΌκΈ° λλ¬Έμ iframeμ μ½μ ν μ μμ΅λλ€.
@LarsDenBakker - μ€μ λ‘ κ΅¬νλμ΄ λκΈ° μ€μ λλ€. #9095, κ²ν λ° λ³ν© νλ‘μΈμ€μ μλλ₯Ό λμ΄λ €λ©΄ μμ§μκ°λ½μ μΉμΌμ£ΌμΈμ. :)
μλ₯΄λ§κ²λ₯΄νΈ!! μ΄ λ¬Έμ λ₯Ό μ°Έμ‘°νλ PR #9095κ° ν¬ν¨λ https://github.com/storybookjs/storybook/releases/tag/v6.0.0-alpha.2 λ₯Ό λ°©κΈ μΆμνμ΅λλ€. μ§κΈ μ κ·Έλ μ΄λνμ¬ μ¬μ©ν΄ 보μΈμ!
μ΄ μννμ @next
NPM νκ·Έμμ μ°Ύμ μ μμ΅λλ€.
μ΄ λ¬Έμ λ₯Ό λ«μ΅λλ€. μμ§ ν μΌμ΄ λ μλ€κ³ μκ°λλ©΄ λ€μ μ΄μ΄μ£ΌμΈμ.
PR #9005λ μ’μ§λ§ κΈ°λ³Έ νμ μ€μ νλ κΈ°λ₯μ΄ μμ§ λΆμ‘±ν©λλ€. μλ₯Ό λ€μ΄ λ¬Έμ νμ΄ μ²« λ²μ§Έ μμΉμ λ°°μΉλλλΌλ μ€ν 리λ₯Ό μ΄ λ μΊλ²μ€ νμ΄ νμ±νλ©λλ€.
@eduina @B3Kay μ°Έκ³ λ‘ νμ¬
--docs
νλκ·Έλ₯Ό μ¬μ©νμ¬ λ¬Έμκ° μλ νμ λͺ¨λ μ¨κΈΈ μ μμ΅λλ€(μ:yarn storybook --docs
λλyarn build-storybook --docs
@shilman
5.3.7 λ° 5.3.14μμ μλνμ§ μλ κ²μΌλ‘ νμΈλμμ΅λλ€. μΊλ²μ€ νμ΄ κ³μ νμλ©λλ€.
μ§κΈ μ΄ λ¦΄λ¦¬μ€λ₯Ό κ°μ ν κΈ°λ€λ¦¬κ³ μμ΅λλ€. μ΄ μ
λ°μ΄νΈλ₯Ό μ€λ«λμ μ μ§ν ν μ
κ·Έλ μ΄λκ° κ±°μ μλ£λμμ΅λλ€. @shilman μ addon-info
λ°μν λ²κ·Έμ λν λ΄ κΈ°λ‘μ μκ³ μμμ§λ λͺ¨λ¦
λλ€. λ΄ νλ‘μ νΈμμ κΊΌμ§λλ€.
μ
λ°μ΄νΈλμμ΅λλ€. CSF
λ° docspage
μλ¦λ€μ΄ μ¬μ©λ². κ·Έκ²μ μ¬λ!
κ°λ₯νλ©΄ μ΄ λ¦΄λ¦¬μ€μ μλλ₯Ό λμ΄μμμ€. κ·Έκ²μ μμ‘΄.
κ·Έλ¦¬κ³ GitHub λ¬Έμ λλ μ€κ° κΈ°μ¬μ λν λͺ¨λ μ§μμ κ°μ¬λ립λλ€. λ§€μ° κ°μ¬.
https://github.com/storybookjs/storybook/issues/9311 μμ λ¦΄λ¦¬μ€ μνλ₯Ό μΆμ ν μ μμ΅λλ€.
@B3Kay κ°μ λ¬Έμ κ° μμ΅λλ€. μ€ν λ¦¬λΆ url /?path=/story/
μ /?path=/docs/
λ‘ λ°κΎΈλ©΄ μ€ν 리λΆμ΄ μ΄λ¦΄ λλ§λ€ λ¬Έμκ° μ νλ©λλ€.
λ²νΌμ μ¨κΈ°κΈ° μν΄(μ΄μμ μΈ μμ μ μλ) CSSλ₯Ό μ½μ νλ λΈλΌμ°μ νμ₯μ λ€μ CSSλ₯Ό μΆκ°νκ³ μμ΅λλ€(λ¬Όλ‘ μ΄κ²μ κ·νμκ²λ§ ν΄λΉλλ©° λ€λ₯Έ νμ¬ κ΅¬μ±μμ κ³μ λ³Ό μ μμ).
#root > div > div.css-sqdry3 > div > div.css-sqdry3 > div:nth-child(1) > div > div.simplebar-wrapper > div.simplebar-mask > div > div > div > div > div.css-11sh1n2 > div.css-1tgscux > a:nth-child(1) > button {
display: none;
}
μ΄μμ μ΄μ§λ μμ§λ§ λκ΅°κ°μκ² μ μ©ν μ μμ΅λλ€.
κ΄μ¬μ΄ μλ μ¬λμ΄ μμΌλ©΄ μ μκ² μ λ§λ μ루μ μ΄ μμ΅λλ€.
μ΄κ²μΌλ‘ μμ£Ό κ°λ¨ν νλ¬κ·ΈμΈμ λ§λ€μμ΅λλ€. register.js
μ
λλ€:
import { addons } from '@storybook/addons';
import { STORY_RENDERED, DOCS_RENDERED } from '@storybook/core-events';
const ADDON_ID = 'YOUR_PLUGIN_ID';
addons.register(ADDON_ID, api => {
// Check whether we are on a docsOnly page and add a corresponding body class for styling
const setBodyClass = () => {
// Needs animation frame to make sure story component has been mounted
window.requestAnimationFrame(() => {
// You can change the logic of when to hide the canvas button of course.
// you have full access to the storybook API, so you can also configure it per-story etc.
const isDocsOnly = api.getCurrentStoryData().parameters.docsOnly === true;
if (isDocsOnly) {
document.body.classList.add('is-docs-only');
} else {
document.body.classList.remove('is-docs-only');
}
});
};
api.on(STORY_RENDERED, setBodyClass);
api.on(DOCS_RENDERED, setBodyClass);
});
λ΄ manager-head.html
.is-docs-only .os-content a:not([id])[href*="?path=/story"] {
display: none !important;
}
λ΄ docsOnly
νμ΄μ§μμ νμμ΄ μ λλ‘ μλνλμ§ νμΈνκΈ° μν΄ viewMode: 'docs'
λ₯Ό μ€μ νμ΅λλ€.
κ°μ₯ μ μ©ν λκΈ
μλ μ΄κ±Έ μν΄!
2019λ 10μ 24μΌ λͺ©μμΌ μ€μ 3μ 44λΆ stale[bot] [email protected]μμ λ€μκ³Ό κ°μ΄ μμ±νμ΅λλ€.