@edtools/cli 0.4.1 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/adapters/html/index.d.ts.map +1 -1
- package/dist/adapters/html/index.js +14 -3
- package/dist/adapters/html/index.js.map +1 -1
- package/dist/adapters/html/templates/blog-index.html.ejs +342 -0
- package/dist/adapters/html/templates/blog-post.html.ejs +48 -0
- package/dist/chunk-AJSCN4WK.js +663 -0
- package/dist/chunk-INVECVSW.js +45 -0
- package/dist/chunk-UMREI3K7.js +652 -0
- package/dist/chunk-ZDV7BJZ4.js +652 -0
- package/dist/chunk-ZG6JJCRI.js +539 -0
- package/dist/cli/index.js +4 -3
- package/dist/content-helpers-TXVEJMQK.js +16 -0
- package/dist/core/generator.d.ts +2 -0
- package/dist/core/generator.d.ts.map +1 -1
- package/dist/core/generator.js +120 -8
- package/dist/core/generator.js.map +1 -1
- package/dist/index.d.ts +48 -1
- package/dist/index.js +2 -1
- package/dist/types/content.d.ts +45 -0
- package/dist/types/content.d.ts.map +1 -1
- package/dist/ui/banner.js +1 -1
- package/dist/utils/content-helpers.d.ts +7 -0
- package/dist/utils/content-helpers.d.ts.map +1 -0
- package/dist/utils/content-helpers.js +48 -0
- package/dist/utils/content-helpers.js.map +1 -0
- package/package.json +2 -2
package/dist/core/generator.js
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import Anthropic from '@anthropic-ai/sdk';
|
|
2
2
|
import OpenAI from 'openai';
|
|
3
3
|
import path from 'path';
|
|
4
|
+
import { fileURLToPath } from 'url';
|
|
4
5
|
import fs from 'fs-extra';
|
|
5
6
|
import slugify from 'slugify';
|
|
6
7
|
import { AdapterRegistry } from '../types/adapter.js';
|
|
7
8
|
import { HTMLAdapter } from '../adapters/html/index.js';
|
|
9
|
+
import { generateUUID, calculateWordCount, calculateReadTime, extractShortDescription, generateTimestamp, } from '../utils/content-helpers.js';
|
|
8
10
|
export class ContentGenerator {
|
|
9
11
|
anthropic = null;
|
|
10
12
|
openai = null;
|
|
@@ -32,6 +34,7 @@ export class ContentGenerator {
|
|
|
32
34
|
warnings: [],
|
|
33
35
|
errors: [],
|
|
34
36
|
};
|
|
37
|
+
const allPostsContent = [];
|
|
35
38
|
try {
|
|
36
39
|
const adapter = await this.adapters.detectAdapter(config.projectPath);
|
|
37
40
|
if (!adapter) {
|
|
@@ -48,11 +51,16 @@ export class ContentGenerator {
|
|
|
48
51
|
const fileName = adapter.transformPath?.(slug) || `${slug}/index${adapter.getFileExtension()}`;
|
|
49
52
|
const outputPath = path.join(config.outputDir, fileName);
|
|
50
53
|
await adapter.write(output, outputPath);
|
|
54
|
+
allPostsContent.push(content);
|
|
51
55
|
results.posts.push({
|
|
56
|
+
id: content.metadata.id,
|
|
52
57
|
title: content.metadata.title,
|
|
53
58
|
slug,
|
|
54
59
|
path: outputPath,
|
|
60
|
+
url: content.metadata.url,
|
|
55
61
|
seoScore: content.seo.score,
|
|
62
|
+
readTime: content.metadata.readTime,
|
|
63
|
+
wordCount: content.metadata.wordCount,
|
|
56
64
|
});
|
|
57
65
|
console.log(`✓ Generated: ${outputPath}`);
|
|
58
66
|
console.log(` SEO Score: ${content.seo.score}/100`);
|
|
@@ -62,8 +70,10 @@ export class ContentGenerator {
|
|
|
62
70
|
results.success = false;
|
|
63
71
|
}
|
|
64
72
|
}
|
|
65
|
-
if (results.posts.length > 0) {
|
|
66
|
-
await this.
|
|
73
|
+
if (results.posts.length > 0 && allPostsContent.length > 0) {
|
|
74
|
+
await this.generateManifest(config.outputDir, config.productInfo, allPostsContent);
|
|
75
|
+
await this.generateBlogIndex(config.outputDir, config.productInfo);
|
|
76
|
+
await this.updateSitemap(config.projectPath, config.outputDir, allPostsContent);
|
|
67
77
|
}
|
|
68
78
|
}
|
|
69
79
|
catch (error) {
|
|
@@ -84,19 +94,43 @@ export class ContentGenerator {
|
|
|
84
94
|
else {
|
|
85
95
|
throw new Error(`Unsupported provider: ${this.provider}`);
|
|
86
96
|
}
|
|
97
|
+
const id = generateUUID();
|
|
87
98
|
const slug = slugify(contentData.metadata.title, { lower: true, strict: true });
|
|
99
|
+
const datePublished = generateTimestamp();
|
|
100
|
+
const url = `/blog/${slug}.html`;
|
|
101
|
+
const fullContent = [
|
|
102
|
+
contentData.content.intro,
|
|
103
|
+
...contentData.content.sections.map((s) => s.content),
|
|
104
|
+
contentData.content.conclusion
|
|
105
|
+
].join(' ');
|
|
106
|
+
const wordCount = calculateWordCount(fullContent);
|
|
107
|
+
const readTime = calculateReadTime(wordCount);
|
|
108
|
+
const shortDescription = extractShortDescription(contentData.content.intro);
|
|
109
|
+
const tags = contentData.metadata.keywords.slice(0, 5);
|
|
88
110
|
const content = {
|
|
89
111
|
metadata: {
|
|
112
|
+
id,
|
|
90
113
|
...contentData.metadata,
|
|
91
114
|
slug,
|
|
92
|
-
|
|
115
|
+
url,
|
|
116
|
+
datePublished,
|
|
93
117
|
author: productInfo.name,
|
|
118
|
+
readTime,
|
|
119
|
+
wordCount,
|
|
120
|
+
tags,
|
|
121
|
+
shortDescription,
|
|
122
|
+
fullDescription: contentData.content.intro,
|
|
94
123
|
},
|
|
95
124
|
schemaOrg: this.generateSchemaOrg({
|
|
125
|
+
id,
|
|
96
126
|
...contentData.metadata,
|
|
97
127
|
slug,
|
|
98
|
-
|
|
128
|
+
url,
|
|
129
|
+
datePublished,
|
|
99
130
|
author: productInfo.name,
|
|
131
|
+
readTime,
|
|
132
|
+
wordCount,
|
|
133
|
+
tags,
|
|
100
134
|
}, productInfo),
|
|
101
135
|
content: contentData.content,
|
|
102
136
|
relatedPosts: [],
|
|
@@ -294,22 +328,100 @@ Output ONLY a JSON array of topic strings, no markdown:
|
|
|
294
328
|
`${productInfo.name} vs alternatives: Complete comparison`,
|
|
295
329
|
];
|
|
296
330
|
}
|
|
331
|
+
async generateManifest(outputDir, productInfo, posts) {
|
|
332
|
+
const { calculateAvgReadTime } = await import('../utils/content-helpers.js');
|
|
333
|
+
const manifestPosts = posts.map(post => ({
|
|
334
|
+
id: post.metadata.id,
|
|
335
|
+
slug: post.metadata.slug,
|
|
336
|
+
url: post.metadata.url,
|
|
337
|
+
title: post.metadata.title,
|
|
338
|
+
shortDescription: post.metadata.shortDescription || post.metadata.description,
|
|
339
|
+
fullDescription: post.metadata.fullDescription || post.content.intro,
|
|
340
|
+
publishDate: post.metadata.datePublished,
|
|
341
|
+
readTime: post.metadata.readTime,
|
|
342
|
+
wordCount: post.metadata.wordCount,
|
|
343
|
+
tags: post.metadata.tags,
|
|
344
|
+
category: post.metadata.category,
|
|
345
|
+
seo: {
|
|
346
|
+
metaTitle: post.metadata.title,
|
|
347
|
+
metaDescription: post.metadata.description,
|
|
348
|
+
keywords: post.metadata.keywords,
|
|
349
|
+
seoScore: post.seo.score,
|
|
350
|
+
},
|
|
351
|
+
}));
|
|
352
|
+
const totalWords = posts.reduce((sum, post) => sum + post.metadata.wordCount, 0);
|
|
353
|
+
const wordCounts = posts.map(post => post.metadata.wordCount);
|
|
354
|
+
const avgReadTime = calculateAvgReadTime(wordCounts);
|
|
355
|
+
const manifest = {
|
|
356
|
+
version: '1.0.0',
|
|
357
|
+
generated: generateTimestamp(),
|
|
358
|
+
site: {
|
|
359
|
+
name: `${productInfo.name} Blog`,
|
|
360
|
+
url: productInfo.websiteUrl + '/blog',
|
|
361
|
+
description: productInfo.description || `Insights on ${productInfo.category}`,
|
|
362
|
+
},
|
|
363
|
+
posts: manifestPosts,
|
|
364
|
+
stats: {
|
|
365
|
+
totalPosts: posts.length,
|
|
366
|
+
totalWords,
|
|
367
|
+
avgReadTime,
|
|
368
|
+
},
|
|
369
|
+
};
|
|
370
|
+
const manifestPath = path.join(outputDir, 'index.json');
|
|
371
|
+
await fs.writeJson(manifestPath, manifest, { spaces: 2 });
|
|
372
|
+
console.log(`✓ Generated blog manifest: ${manifestPath}`);
|
|
373
|
+
}
|
|
374
|
+
async generateBlogIndex(outputDir, productInfo) {
|
|
375
|
+
const ejs = await import('ejs');
|
|
376
|
+
const possiblePaths = [
|
|
377
|
+
path.join(path.dirname(fileURLToPath(import.meta.url)), '../adapters/html/templates/blog-index.html.ejs'),
|
|
378
|
+
path.join(path.dirname(fileURLToPath(import.meta.url)), '../../adapters/html/templates/blog-index.html.ejs'),
|
|
379
|
+
path.join(path.dirname(fileURLToPath(import.meta.url)), 'adapters/html/templates/blog-index.html.ejs'),
|
|
380
|
+
];
|
|
381
|
+
let templatePath = null;
|
|
382
|
+
for (const p of possiblePaths) {
|
|
383
|
+
if (await fs.pathExists(p)) {
|
|
384
|
+
templatePath = p;
|
|
385
|
+
break;
|
|
386
|
+
}
|
|
387
|
+
}
|
|
388
|
+
if (!templatePath) {
|
|
389
|
+
console.warn(`Blog index template not found in any of the expected locations. Skipping blog index generation.`);
|
|
390
|
+
return;
|
|
391
|
+
}
|
|
392
|
+
const template = await fs.readFile(templatePath, 'utf-8');
|
|
393
|
+
const html = ejs.render(template, {
|
|
394
|
+
siteName: `${productInfo.name} Blog`,
|
|
395
|
+
siteDescription: productInfo.description || `Insights on ${productInfo.category}`,
|
|
396
|
+
siteUrl: productInfo.websiteUrl + '/blog',
|
|
397
|
+
});
|
|
398
|
+
const indexPath = path.join(outputDir, 'index.html');
|
|
399
|
+
await fs.writeFile(indexPath, html, 'utf-8');
|
|
400
|
+
console.log(`✓ Generated blog index: ${indexPath}`);
|
|
401
|
+
}
|
|
297
402
|
async updateSitemap(projectPath, blogDir, posts) {
|
|
298
|
-
const sitemapPath = path.join(
|
|
403
|
+
const sitemapPath = path.join(blogDir, 'sitemap.xml');
|
|
299
404
|
const urls = posts.map(post => {
|
|
300
405
|
return ` <url>
|
|
301
|
-
<loc>${post.
|
|
302
|
-
<lastmod>${
|
|
406
|
+
<loc>${post.metadata.url}</loc>
|
|
407
|
+
<lastmod>${post.metadata.datePublished.split('T')[0]}</lastmod>
|
|
303
408
|
<changefreq>weekly</changefreq>
|
|
304
409
|
<priority>0.8</priority>
|
|
305
410
|
</url>`;
|
|
306
411
|
}).join('\n');
|
|
412
|
+
const blogIndexUrl = ` <url>
|
|
413
|
+
<loc>/blog/</loc>
|
|
414
|
+
<lastmod>${new Date().toISOString().split('T')[0]}</lastmod>
|
|
415
|
+
<changefreq>daily</changefreq>
|
|
416
|
+
<priority>1.0</priority>
|
|
417
|
+
</url>`;
|
|
307
418
|
const sitemap = `<?xml version="1.0" encoding="UTF-8"?>
|
|
308
419
|
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
|
420
|
+
${blogIndexUrl}
|
|
309
421
|
${urls}
|
|
310
422
|
</urlset>`;
|
|
311
423
|
await fs.writeFile(sitemapPath, sitemap, 'utf-8');
|
|
312
|
-
console.log(
|
|
424
|
+
console.log(`✓ Generated sitemap: ${sitemapPath}`);
|
|
313
425
|
}
|
|
314
426
|
}
|
|
315
427
|
//# sourceMappingURL=generator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../src/core/generator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../src/core/generator.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,12 +1,19 @@
|
|
|
1
1
|
type AIProvider = 'anthropic' | 'openai';
|
|
2
2
|
interface BlogPostMetadata {
|
|
3
|
+
id: string;
|
|
3
4
|
title: string;
|
|
4
5
|
description: string;
|
|
6
|
+
shortDescription?: string;
|
|
7
|
+
fullDescription?: string;
|
|
5
8
|
keywords: string[];
|
|
6
9
|
author: string;
|
|
7
10
|
datePublished: string;
|
|
8
11
|
category: string;
|
|
9
12
|
slug: string;
|
|
13
|
+
url: string;
|
|
14
|
+
readTime: string;
|
|
15
|
+
wordCount: number;
|
|
16
|
+
tags: string[];
|
|
10
17
|
}
|
|
11
18
|
interface SchemaOrgData {
|
|
12
19
|
'@context': string;
|
|
@@ -111,14 +118,52 @@ interface GenerateConfig {
|
|
|
111
118
|
interface GenerateResult {
|
|
112
119
|
success: boolean;
|
|
113
120
|
posts: Array<{
|
|
121
|
+
id: string;
|
|
114
122
|
title: string;
|
|
115
123
|
slug: string;
|
|
116
124
|
path: string;
|
|
125
|
+
url: string;
|
|
117
126
|
seoScore: number;
|
|
127
|
+
readTime: string;
|
|
128
|
+
wordCount: number;
|
|
118
129
|
}>;
|
|
119
130
|
warnings?: string[];
|
|
120
131
|
errors?: string[];
|
|
121
132
|
}
|
|
133
|
+
interface BlogManifest {
|
|
134
|
+
version: string;
|
|
135
|
+
generated: string;
|
|
136
|
+
site: {
|
|
137
|
+
name: string;
|
|
138
|
+
url: string;
|
|
139
|
+
description: string;
|
|
140
|
+
};
|
|
141
|
+
posts: BlogManifestPost[];
|
|
142
|
+
stats: {
|
|
143
|
+
totalPosts: number;
|
|
144
|
+
totalWords: number;
|
|
145
|
+
avgReadTime: string;
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
interface BlogManifestPost {
|
|
149
|
+
id: string;
|
|
150
|
+
slug: string;
|
|
151
|
+
url: string;
|
|
152
|
+
title: string;
|
|
153
|
+
shortDescription: string;
|
|
154
|
+
fullDescription: string;
|
|
155
|
+
publishDate: string;
|
|
156
|
+
readTime: string;
|
|
157
|
+
wordCount: number;
|
|
158
|
+
tags: string[];
|
|
159
|
+
category: string;
|
|
160
|
+
seo: {
|
|
161
|
+
metaTitle: string;
|
|
162
|
+
metaDescription: string;
|
|
163
|
+
keywords: string[];
|
|
164
|
+
seoScore: number;
|
|
165
|
+
};
|
|
166
|
+
}
|
|
122
167
|
|
|
123
168
|
interface Adapter {
|
|
124
169
|
name: string;
|
|
@@ -192,6 +237,8 @@ declare class ContentGenerator {
|
|
|
192
237
|
private generateSchemaOrg;
|
|
193
238
|
private calculateSEOScore;
|
|
194
239
|
private generateTopics;
|
|
240
|
+
private generateManifest;
|
|
241
|
+
private generateBlogIndex;
|
|
195
242
|
private updateSitemap;
|
|
196
243
|
}
|
|
197
244
|
|
|
@@ -210,4 +257,4 @@ declare class HTMLAdapter implements Adapter {
|
|
|
210
257
|
private escapeHtml;
|
|
211
258
|
}
|
|
212
259
|
|
|
213
|
-
export { type AIProvider, type Adapter, type AdapterConfig, AdapterRegistry, type BlogPostContent, type BlogPostMetadata, type CTAData, type CodeData, type ComparisonData, ContentGenerator, type ContentOpportunity, type ContentSection, type GSCAnalysisResult, type GSCKeywordData, type GenerateConfig, type GenerateResult, HTMLAdapter, type ListData, type OpportunityConfig, type ProductInfo, type RelatedPost, type SEOData, type SchemaOrgData };
|
|
260
|
+
export { type AIProvider, type Adapter, type AdapterConfig, AdapterRegistry, type BlogManifest, type BlogManifestPost, type BlogPostContent, type BlogPostMetadata, type CTAData, type CodeData, type ComparisonData, ContentGenerator, type ContentOpportunity, type ContentSection, type GSCAnalysisResult, type GSCKeywordData, type GenerateConfig, type GenerateResult, HTMLAdapter, type ListData, type OpportunityConfig, type ProductInfo, type RelatedPost, type SEOData, type SchemaOrgData };
|
package/dist/index.js
CHANGED
package/dist/types/content.d.ts
CHANGED
|
@@ -1,12 +1,19 @@
|
|
|
1
1
|
export type AIProvider = 'anthropic' | 'openai';
|
|
2
2
|
export interface BlogPostMetadata {
|
|
3
|
+
id: string;
|
|
3
4
|
title: string;
|
|
4
5
|
description: string;
|
|
6
|
+
shortDescription?: string;
|
|
7
|
+
fullDescription?: string;
|
|
5
8
|
keywords: string[];
|
|
6
9
|
author: string;
|
|
7
10
|
datePublished: string;
|
|
8
11
|
category: string;
|
|
9
12
|
slug: string;
|
|
13
|
+
url: string;
|
|
14
|
+
readTime: string;
|
|
15
|
+
wordCount: number;
|
|
16
|
+
tags: string[];
|
|
10
17
|
}
|
|
11
18
|
export interface SchemaOrgData {
|
|
12
19
|
'@context': string;
|
|
@@ -111,12 +118,50 @@ export interface GenerateConfig {
|
|
|
111
118
|
export interface GenerateResult {
|
|
112
119
|
success: boolean;
|
|
113
120
|
posts: Array<{
|
|
121
|
+
id: string;
|
|
114
122
|
title: string;
|
|
115
123
|
slug: string;
|
|
116
124
|
path: string;
|
|
125
|
+
url: string;
|
|
117
126
|
seoScore: number;
|
|
127
|
+
readTime: string;
|
|
128
|
+
wordCount: number;
|
|
118
129
|
}>;
|
|
119
130
|
warnings?: string[];
|
|
120
131
|
errors?: string[];
|
|
121
132
|
}
|
|
133
|
+
export interface BlogManifest {
|
|
134
|
+
version: string;
|
|
135
|
+
generated: string;
|
|
136
|
+
site: {
|
|
137
|
+
name: string;
|
|
138
|
+
url: string;
|
|
139
|
+
description: string;
|
|
140
|
+
};
|
|
141
|
+
posts: BlogManifestPost[];
|
|
142
|
+
stats: {
|
|
143
|
+
totalPosts: number;
|
|
144
|
+
totalWords: number;
|
|
145
|
+
avgReadTime: string;
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
export interface BlogManifestPost {
|
|
149
|
+
id: string;
|
|
150
|
+
slug: string;
|
|
151
|
+
url: string;
|
|
152
|
+
title: string;
|
|
153
|
+
shortDescription: string;
|
|
154
|
+
fullDescription: string;
|
|
155
|
+
publishDate: string;
|
|
156
|
+
readTime: string;
|
|
157
|
+
wordCount: number;
|
|
158
|
+
tags: string[];
|
|
159
|
+
category: string;
|
|
160
|
+
seo: {
|
|
161
|
+
metaTitle: string;
|
|
162
|
+
metaDescription: string;
|
|
163
|
+
keywords: string[];
|
|
164
|
+
seoScore: number;
|
|
165
|
+
};
|
|
166
|
+
}
|
|
122
167
|
//# sourceMappingURL=content.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../../src/types/content.ts"],"names":[],"mappings":"AAOA,MAAM,MAAM,UAAU,GAAG,WAAW,GAAG,QAAQ,CAAC;AAEhD,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../../src/types/content.ts"],"names":[],"mappings":"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"}
|
package/dist/ui/banner.js
CHANGED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare function generateUUID(): string;
|
|
2
|
+
export declare function calculateWordCount(text: string): number;
|
|
3
|
+
export declare function calculateReadTime(wordCount: number): string;
|
|
4
|
+
export declare function extractShortDescription(text: string): string;
|
|
5
|
+
export declare function generateTimestamp(): string;
|
|
6
|
+
export declare function calculateAvgReadTime(wordCounts: number[]): string;
|
|
7
|
+
//# sourceMappingURL=content-helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"content-helpers.d.ts","sourceRoot":"","sources":["../../src/utils/content-helpers.ts"],"names":[],"mappings":"AASA,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAKD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAavD;AAMD,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAG3D;AAKD,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAuB5D;AAKD,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAKD,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,MAAM,CAKjE"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { randomUUID } from 'crypto';
|
|
2
|
+
export function generateUUID() {
|
|
3
|
+
return randomUUID();
|
|
4
|
+
}
|
|
5
|
+
export function calculateWordCount(text) {
|
|
6
|
+
const cleanText = text
|
|
7
|
+
.replace(/```[\s\S]*?```/g, '')
|
|
8
|
+
.replace(/`[^`]+`/g, '')
|
|
9
|
+
.replace(/\[([^\]]+)\]\([^)]+\)/g, '$1')
|
|
10
|
+
.replace(/[#*_~`]/g, '')
|
|
11
|
+
.replace(/\s+/g, ' ')
|
|
12
|
+
.trim();
|
|
13
|
+
if (!cleanText)
|
|
14
|
+
return 0;
|
|
15
|
+
return cleanText.split(/\s+/).length;
|
|
16
|
+
}
|
|
17
|
+
export function calculateReadTime(wordCount) {
|
|
18
|
+
const minutes = Math.ceil(wordCount / 200);
|
|
19
|
+
return `${minutes} min`;
|
|
20
|
+
}
|
|
21
|
+
export function extractShortDescription(text) {
|
|
22
|
+
const cleaned = text
|
|
23
|
+
.replace(/[#*_~`]/g, '')
|
|
24
|
+
.replace(/\s+/g, ' ')
|
|
25
|
+
.trim();
|
|
26
|
+
if (cleaned.length <= 160)
|
|
27
|
+
return cleaned;
|
|
28
|
+
const truncated = cleaned.substring(0, 160);
|
|
29
|
+
const lastPeriod = truncated.lastIndexOf('.');
|
|
30
|
+
const lastQuestion = truncated.lastIndexOf('?');
|
|
31
|
+
const lastExclamation = truncated.lastIndexOf('!');
|
|
32
|
+
const lastSentenceEnd = Math.max(lastPeriod, lastQuestion, lastExclamation);
|
|
33
|
+
if (lastSentenceEnd > 0) {
|
|
34
|
+
return cleaned.substring(0, lastSentenceEnd + 1);
|
|
35
|
+
}
|
|
36
|
+
const lastSpace = truncated.lastIndexOf(' ');
|
|
37
|
+
return cleaned.substring(0, lastSpace) + '...';
|
|
38
|
+
}
|
|
39
|
+
export function generateTimestamp() {
|
|
40
|
+
return new Date().toISOString();
|
|
41
|
+
}
|
|
42
|
+
export function calculateAvgReadTime(wordCounts) {
|
|
43
|
+
if (wordCounts.length === 0)
|
|
44
|
+
return '0 min';
|
|
45
|
+
const avgWords = wordCounts.reduce((sum, count) => sum + count, 0) / wordCounts.length;
|
|
46
|
+
return calculateReadTime(Math.round(avgWords));
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=content-helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"content-helpers.js","sourceRoot":"","sources":["../../src/utils/content-helpers.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAKpC,MAAM,UAAU,YAAY;IAC1B,OAAO,UAAU,EAAE,CAAC;AACtB,CAAC;AAKD,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAE7C,MAAM,SAAS,GAAG,IAAI;SACnB,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC;SAC9B,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;SACvB,OAAO,CAAC,wBAAwB,EAAE,IAAI,CAAC;SACvC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;SACvB,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;SACpB,IAAI,EAAE,CAAC;IAEV,IAAI,CAAC,SAAS;QAAE,OAAO,CAAC,CAAC;IAEzB,OAAO,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;AACvC,CAAC;AAMD,MAAM,UAAU,iBAAiB,CAAC,SAAiB;IACjD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC;IAC3C,OAAO,GAAG,OAAO,MAAM,CAAC;AAC1B,CAAC;AAKD,MAAM,UAAU,uBAAuB,CAAC,IAAY;IAClD,MAAM,OAAO,GAAG,IAAI;SACjB,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;SACvB,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;SACpB,IAAI,EAAE,CAAC;IAEV,IAAI,OAAO,CAAC,MAAM,IAAI,GAAG;QAAE,OAAO,OAAO,CAAC;IAG1C,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC5C,MAAM,UAAU,GAAG,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC9C,MAAM,YAAY,GAAG,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAChD,MAAM,eAAe,GAAG,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAEnD,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,YAAY,EAAE,eAAe,CAAC,CAAC;IAE5E,IAAI,eAAe,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,eAAe,GAAG,CAAC,CAAC,CAAC;IACnD,CAAC;IAGD,MAAM,SAAS,GAAG,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC7C,OAAO,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC;AACjD,CAAC;AAKD,MAAM,UAAU,iBAAiB;IAC/B,OAAO,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AAClC,CAAC;AAKD,MAAM,UAAU,oBAAoB,CAAC,UAAoB;IACvD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC;IAE5C,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC;IACvF,OAAO,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;AACjD,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@edtools/cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"description": "AI-Powered Content Marketing CLI - Generate SEO-optimized content with Google Search Console analysis",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
],
|
|
16
16
|
"scripts": {
|
|
17
17
|
"build": "tsc && tsup src/index.ts src/cli/index.ts --format esm --dts && npm run copy-templates",
|
|
18
|
-
"copy-templates": "mkdir -p dist/adapters/html/templates dist/templates && cp src/adapters/html/templates/*.ejs dist/adapters/html/templates/
|
|
18
|
+
"copy-templates": "mkdir -p dist/adapters/html/templates dist/templates && cp src/adapters/html/templates/*.ejs dist/adapters/html/templates/",
|
|
19
19
|
"dev": "tsc --watch",
|
|
20
20
|
"test": "echo \"Tests coming soon\"",
|
|
21
21
|
"prepublishOnly": "npm run build"
|