export const CMS_BRANCH_PREFIX = 'cms'; export const DEFAULT_PR_BODY = 'Automatically generated by Decap CMS'; export const MERGE_COMMIT_MESSAGE = 'Automatically generated. Merged on Decap CMS.'; const DEFAULT_DECAP_CMS_LABEL_PREFIX = 'decap-cms/'; function getLabelPrefix(labelPrefix: string) { return labelPrefix || DEFAULT_DECAP_CMS_LABEL_PREFIX; } export function isCMSLabel(label: string, labelPrefix: string) { return label.startsWith(getLabelPrefix(labelPrefix)); } export function labelToStatus(label: string, labelPrefix: string) { return label.slice(getLabelPrefix(labelPrefix).length); } export function statusToLabel(status: string, labelPrefix: string) { return `${getLabelPrefix(labelPrefix)}${status}`; } export function generateContentKey(collectionName: string, slug: string) { return `${collectionName}/${slug}`; } export function parseContentKey(contentKey: string) { const index = contentKey.indexOf('/'); return { collection: contentKey.slice(0, index), slug: contentKey.slice(index + 1) }; } export function contentKeyFromBranch(branch: string) { return branch.slice(`${CMS_BRANCH_PREFIX}/`.length); } export function branchFromContentKey(contentKey: string) { return `${CMS_BRANCH_PREFIX}/${contentKey}`; }