| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- import fs from 'fs';
- import klawSync from 'klaw-sync';
- import { basename } from 'path';
- // tslint:disable:no-console
- /**
- * Generates the Hugo front matter with the title of the document
- */
- export function generateFrontMatter(title: string, weight: number, showToc: boolean = true): string {
- return `---
- title: "${title.replace(/-/g, ' ')}"
- weight: ${weight}
- date: ${new Date().toISOString()}
- showtoc: ${showToc}
- generated: true
- ---
- <!-- This file was generated from the Vendure source. Do not modify. Instead, re-run the "docs:build" script -->
- `;
- }
- /**
- * Delete all generated docs found in the outputPath.
- */
- export function deleteGeneratedDocs(outputPath: string) {
- if (!fs.existsSync(outputPath)) {
- return;
- }
- try {
- let deleteCount = 0;
- const files = klawSync(outputPath, {nodir: true});
- for (const file of files) {
- const content = fs.readFileSync(file.path, 'utf-8');
- if (isGenerated(content)) {
- fs.unlinkSync(file.path);
- deleteCount++;
- }
- }
- if (deleteCount) {
- console.log(`Deleted ${deleteCount} generated docs from ${outputPath}`);
- }
- } catch (e) {
- console.error('Could not delete generated docs!');
- console.log(e);
- process.exitCode = 1;
- }
- }
- /**
- * Returns true if the content matches that of a generated document.
- */
- function isGenerated(content: string) {
- return /generated\: true\n---\n/.test(content);
- }
|