mirror of
https://github.com/owncast/owncast.git
synced 2026-03-13 09:51:16 +08:00
Update dynamic storybook templates to reflect new story requirements
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
import { Canvas, Meta, Story } from '@storybook/addon-docs/blocks';
|
||||
import { Meta } from '@storybook/addon-docs/blocks';
|
||||
|
||||
<Meta title="owncast/Documentation/Design" parameters={{previewTabs: { canvas: { hidden: true } }, chromatic: { disableSnapshot: true }}}/>
|
||||
|
||||
|
||||
@@ -1,28 +1,8 @@
|
||||
import { Canvas, Meta, Story } from '@storybook/addon-docs/blocks';
|
||||
import { Meta } from '@storybook/addon-docs/blocks';
|
||||
|
||||
<Meta title="owncast/Documentation/Get Started with Owncast Development" parameters={{previewTabs: { canvas: { hidden: true } }, chromatic: { disableSnapshot: true }}}/>
|
||||
|
||||
---
|
||||
title: "How to work on Owncast"
|
||||
description: The technical details for those wishing to take part in Owncast development.
|
||||
tags:
|
||||
[
|
||||
development,
|
||||
contribute,
|
||||
open-source,
|
||||
github,
|
||||
git,
|
||||
go,
|
||||
react,
|
||||
typescript,
|
||||
contributing,
|
||||
]
|
||||
aliases: [/docs/building]
|
||||
type: toc
|
||||
toc: true
|
||||
---
|
||||
<meta http-equiv="refresh" content="0; url=https://docs.owncast.dev/development" />
|
||||
|
||||
<meta http-equiv="refresh" content="0; url=https://owncast.dev/owncast/Development-e9dda43167c048968a308c4dadac66c4" />
|
||||
|
||||
Click <a href="https://owncast.dev/owncast/Development-e9dda43167c048968a308c4dadac66c4">here</a> if you are not redirected.
|
||||
Click <a href="https://docs.owncast.dev/development">here</a> if you are not redirected.
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Canvas, Meta, Story, IconGallery, IconItem } from '@storybook/addon-docs/blocks';
|
||||
import { Meta, IconGallery, IconItem } from '@storybook/addon-docs/blocks';
|
||||
import { Image, ImageRow } from './ImageAsset';
|
||||
|
||||
<Meta title="owncast/Frontend Assets/Emoji" parameters={{previewTabs: { canvas: { hidden: true } }, chromatic: { disableSnapshot: true }}} />
|
||||
@@ -147,6 +147,19 @@ import { Image, ImageRow } from './ImageAsset';
|
||||
</IconGallery>
|
||||
|
||||
|
||||
## Fediverse
|
||||
|
||||
<a href="img/emoji/fediverse/LICENSE.md" target="_blank">
|
||||
LICENSE
|
||||
</a>
|
||||
|
||||
<IconGallery>
|
||||
<IconItem name="fedi_spin.gif">
|
||||
<img src="img/emoji/fediverse/fedi_spin.gif" />
|
||||
</IconItem>
|
||||
</IconGallery>
|
||||
|
||||
|
||||
## Mutant
|
||||
|
||||
<a href="img/emoji/mutant/LICENSE.md" target="_blank">
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Canvas, Meta, Story, IconItem, IconGallery } from '@storybook/addon-docs/blocks';
|
||||
import { Meta, IconItem, IconGallery } from '@storybook/addon-docs/blocks';
|
||||
|
||||
<Meta title="owncast/Frontend Assets/Images" parameters={{previewTabs: { canvas: { hidden: true } }, chromatic: { disableSnapshot: true }}} />
|
||||
|
||||
|
||||
@@ -1,35 +1,35 @@
|
||||
import { Canvas, Meta, Story } from '@storybook/addon-docs/blocks';
|
||||
import { Meta } from '@storybook/addon-docs/blocks';
|
||||
import { Image, ImageRow } from './ImageAsset';
|
||||
|
||||
<Meta
|
||||
title="owncast/Project Assets/Logos & Graphics"
|
||||
parameters={{ chromatic: { disableSnapshot: true } }}
|
||||
/>
|
||||
<Meta title="owncast/Project Assets/Logos & Graphics" parameters={{chromatic: { disableSnapshot: true }}} />
|
||||
|
||||
# Logos & Graphics
|
||||
|
||||
<ImageRow images={[
|
||||
{src: "project/header.png", name: "header.png"},
|
||||
{src: "project/logo-glare-outlined.png", name: "logo-glare-outlined.png"},
|
||||
{src: "project/logo-glare-vector.svg", name: "logo-glare-vector.svg"},
|
||||
{src: "project/logo-noglare-vector.svg", name: "logo-noglare-vector.svg"},
|
||||
{src: "project/logo-white.svg", name: "logo-white.svg"},
|
||||
{src: "project/logo-black.svg", name: "logo-black.svg"},
|
||||
<ImageRow images={[
|
||||
{src: "project/apps-logo.png", name: "apps-logo.png"},
|
||||
{src: "project/black-outlined.svg", name: "black-outlined.svg"},
|
||||
{src: "project/header.png", name: "header.png"},
|
||||
{src: "project/kiss-cut-stickers-5.5x5.5-default-60874a6c11849.png", name: "kiss-cut-stickers-5.5x5.5-default-60874a6c11849.png"},
|
||||
{src: "project/logo-black.svg", name: "logo-black.svg"},
|
||||
{src: "project/logo-glare-outlined.png", name: "logo-glare-outlined.png"},
|
||||
{src: "project/logo-glare-vector.svg", name: "logo-glare-vector.svg"},
|
||||
{src: "project/logo-noglare-vector.svg", name: "logo-noglare-vector.svg"},
|
||||
{src: "project/logo-semisimple-black-outlined.svg", name: "logo-semisimple-black-outlined.svg"},
|
||||
{src: "project/logo-semisimple-black.svg", name: "logo-semisimple-black.svg"},
|
||||
{src: "project/logo-semisimple-white-outlined.svg", name: "logo-semisimple-white-outlined.svg"},
|
||||
{src: "project/logo-semisimple-white.svg", name: "logo-semisimple-white.svg"},
|
||||
{src: "project/logo-simple-black-outlined.svg", name: "logo-simple-black-outlined.svg"},
|
||||
{src: "project/logo-simple-black.svg", name: "logo-simple-black.svg"},
|
||||
{src: "project/logo-simple-white-outlined.svg", name: "logo-simple-white-outlined.svg"},
|
||||
{src: "project/logo-simple-white.svg", name: "logo-simple-white.svg"},
|
||||
{src: "project/logo-translucent-grey.svg", name: "logo-translucent-grey.svg"},
|
||||
{src: "project/logo-white.svg", name: "logo-white.svg"},
|
||||
{src: "project/owncast-background.png", name: "owncast-background.png"},
|
||||
{src: "project/owncast-browser-mobile.png", name: "owncast-browser-mobile.png"},
|
||||
{src: "project/owncast-directory.png", name: "owncast-directory.png"},
|
||||
{src: "project/simple-black-outlined.svg", name: "simple-black-outlined.svg"},
|
||||
{src: "project/simple-white-outlined.svg", name: "simple-white-outlined.svg"},
|
||||
{src: "project/sticker-bigtech-alt.png", name: "sticker-bigtech-alt.png"},
|
||||
{src: "project/tv-apps-icon.png", name: "tv-apps-icon.png"},
|
||||
]}/>
|
||||
|
||||
{src: "project/logo-translucent-grey.svg", name: "logo-translucent-grey.svg"},
|
||||
{src: "project/logo-semisimple-black.svg", name: "logo-semisimple-black.svg"},
|
||||
{src: "project/logo-semisimple-white.svg", name: "logo-semisimple-white.svg"},
|
||||
{src: "project/logo-simple-black.svg", name: "logo-simple-black.svg"},
|
||||
{src: "project/logo-simple-white.svg", name: "logo-simple-white.svg"},
|
||||
|
||||
{src: "project/logo-semisimple-black-outlined.svg", name: "logo-semisimple-black-outlined.svg"},
|
||||
{src: "project/logo-semisimple-white-outlined.svg", name: "logo-semisimple-white-outlined.svg"},
|
||||
|
||||
{src: "project/owncast-background.png", name: "owncast-background.png"},
|
||||
{src: "project/owncast-browser-mobile.png", name: "owncast-browser-mobile.png"},
|
||||
{src: "project/sticker-bigtech-alt.png", name: "sticker-bigtech-alt.png"},
|
||||
{src: "project/apps-logo.png", name: "apps-logo.png"},
|
||||
{src: "project/owncast-directory.png", name: "owncast-directory.png"},
|
||||
{src: "project/tv-apps-icon.png", name: "tv-apps-icon.png"},
|
||||
|
||||
]}/>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Canvas, Meta, Story } from '@storybook/addon-docs/blocks';
|
||||
import { Meta } from '@storybook/addon-docs/blocks';
|
||||
|
||||
<Meta title="owncast/Documentation/Product Definition" parameters={{previewTabs: { canvas: { hidden: true } }, chromatic: { disableSnapshot: true }}}/>
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Canvas, Meta, Story, IconItem, IconGallery } from '@storybook/addon-docs/blocks';
|
||||
import { Meta, IconItem, IconGallery } from '@storybook/addon-docs/blocks';
|
||||
|
||||
<Meta title="owncast/Frontend Assets/Social Platform Images" parameters={{previewTabs: { canvas: { hidden: true } }, chromatic: { disableSnapshot: true }}} />
|
||||
|
||||
@@ -8,6 +8,9 @@ import { Canvas, Meta, Story, IconItem, IconGallery } from '@storybook/addon-doc
|
||||
<IconItem name="bandcamp.svg">
|
||||
<img src="img/platformlogos/bandcamp.svg" />
|
||||
</IconItem>
|
||||
<IconItem name="bluesky.svg">
|
||||
<img src="img/platformlogos/bluesky.svg" />
|
||||
</IconItem>
|
||||
<IconItem name="default.svg">
|
||||
<img src="img/platformlogos/default.svg" />
|
||||
</IconItem>
|
||||
@@ -71,6 +74,9 @@ import { Canvas, Meta, Story, IconItem, IconGallery } from '@storybook/addon-doc
|
||||
<IconItem name="paypal.svg">
|
||||
<img src="img/platformlogos/paypal.svg" />
|
||||
</IconItem>
|
||||
<IconItem name="peertube.svg">
|
||||
<img src="img/platformlogos/peertube.svg" />
|
||||
</IconItem>
|
||||
<IconItem name="snapchat.svg">
|
||||
<img src="img/platformlogos/snapchat.svg" />
|
||||
</IconItem>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Canvas, Meta, Story } from '@storybook/addon-docs/blocks';
|
||||
import { Meta } from '@storybook/addon-docs/blocks';
|
||||
import { Image, ImageRow } from './ImageAsset';
|
||||
|
||||
<Meta title="owncast/Project Assets/T-Shirt" parameters={{chromatic: { disableSnapshot: true }}} />
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Canvas, Meta, Story } from '@storybook/addon-docs/blocks';
|
||||
import { Meta } from '@storybook/addon-docs/blocks';
|
||||
|
||||
<Meta title="owncast/Documentation/Building Frontend Components" parameters={{previewTabs: { canvas: { hidden: true } }, chromatic: { disableSnapshot: true }}}/>
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Canvas, Meta, Story } from '@storybook/addon-docs';
|
||||
import { Meta } from '@storybook/addon-docs/blocks';
|
||||
|
||||
<Meta title="owncast/Documentation/{{title}}" parameters=\{{previewTabs: { canvas: { hidden: true } }, chromatic: { disableSnapshot: true }}}/>
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Canvas, Meta, Story, IconGallery, IconItem } from '@storybook/addon-docs';
|
||||
import { Meta, IconGallery, IconItem } from '@storybook/addon-docs/blocks';
|
||||
import { Image, ImageRow } from './ImageAsset';
|
||||
|
||||
<Meta title="owncast/Frontend Assets/Emoji" parameters=\{{previewTabs: { canvas: { hidden: true } }, chromatic: { disableSnapshot: true }}} />
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Canvas, Meta, Story, IconItem, IconGallery } from '@storybook/addon-docs';
|
||||
import { Meta, IconItem, IconGallery } from '@storybook/addon-docs/blocks';
|
||||
|
||||
<Meta title="{{category}}" parameters=\{{previewTabs: { canvas: { hidden: true } }, chromatic: { disableSnapshot: true }}} />
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Canvas, Meta, Story } from '@storybook/addon-docs';
|
||||
import { Meta } from '@storybook/addon-docs/blocks';
|
||||
import { Image, ImageRow } from './ImageAsset';
|
||||
|
||||
<Meta title="{{category}}" parameters=\{{chromatic: { disableSnapshot: true }}} />
|
||||
|
||||
@@ -4,6 +4,13 @@ import handlebars from 'handlebars';
|
||||
const template = fs.readFileSync('./Document.template', 'utf8');
|
||||
let t = handlebars.compile(template, { noEscape: true });
|
||||
|
||||
// Strip YAML front matter from markdown content
|
||||
function stripFrontMatter(content) {
|
||||
// Match YAML front matter: starts with ---, ends with ---
|
||||
const frontMatterRegex = /^---\s*\n[\s\S]*?\n---\s*\n/;
|
||||
return content.replace(frontMatterRegex, '');
|
||||
}
|
||||
|
||||
const documents = [
|
||||
{
|
||||
title: 'Product Definition',
|
||||
@@ -28,7 +35,8 @@ documents.forEach(doc => {
|
||||
return;
|
||||
}
|
||||
|
||||
const document = fs.readFileSync(doc.path, 'utf8');
|
||||
let document = fs.readFileSync(doc.path, 'utf8');
|
||||
document = stripFrontMatter(document);
|
||||
const output = t({ name: doc.name, title: doc.title, content: document });
|
||||
fs.writeFileSync(`../stories-category-doc-pages/${doc.name}.mdx`, output);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user