@githubnext/blocks
v2.3.5
Published
Welcome! This package supports local development of custom GitHub Blocks.
Downloads
47
Keywords
Readme
blocks
Welcome! This package supports local development of custom GitHub Blocks.
Scripts
Using the blocks
command, you can run the following commands:
start
- Starts a local development environment and builds Blocks bundles.build
- Builds Blocks bundles.
Utility functions
To reduce the cognitive load associated with writing file and folder block components, we've assembled a helper library that exposes interface definitions and a few helper functions.
How to use
yarn add @githubnext/blocks
import {
FileBlockProps,
FolderBlockProps,
getLanguageFromFilename,
getNestedFileTree,
} from '@githubnext/blocks`
FileBlockProps
import { FileBlockProps } from '@githubnext/blocks';
export default function (props: FileBlockProps) {
const { content, metadata, onUpdateMetadata } = props;
...
}
FolderBlockProps
import { FolderBlockProps } from '@githubnext/blocks';
export default function (props: FileBlockProps) {
const { tree, metadata, onUpdateMetadata, BlockComponent } = props;
...
}
getLanguageFromFilename
A helper function that returns the "language" of a file, given a valid file path with extension.
getNestedFileTree
A helper function to turn the flat folder tree
array into a nested tree structure
import { FolderBlockProps, getNestedFileTree, } from "@githubnext/blocks";
export default function (props: FolderBlockProps) {
const { tree, onNavigateToPath } = props;
const data = useMemo(() => {
const nestedTree = getNestedFileTree(tree)[0]
return nestedTree
}, [tree])
...
}