Compare commits

..

2 Commits

Author SHA1 Message Date
copilot-swe-agent[bot] bb9ea9f1b9 Support both content.config.* and src/content/config.* patterns for Astro content collections
Co-authored-by: estruyf <2900833+estruyf@users.noreply.github.com>
2025-06-13 12:47:05 +00:00
copilot-swe-agent[bot] 7d5fde1182 Initial plan for issue 2025-06-13 12:39:38 +00:00
3 changed files with 12 additions and 25 deletions
+4 -9
View File
@@ -149,17 +149,12 @@ export class ArticleHelper {
* @returns A promise that resolves to the contents of the file, or undefined if the file does not exist.
*/
public static async getContents(filePath: string): Promise<string | undefined> {
try {
const file = await workspace.fs.readFile(Uri.file(parseWinPath(filePath)));
if (!file) {
return undefined;
}
return new TextDecoder().decode(file);
} catch (error) {
Logger.error(`ArticleHelper.getContents: Failed to read file ${filePath}: ${error}`);
const file = await workspace.fs.readFile(Uri.file(parseWinPath(filePath)));
if (!file) {
return undefined;
}
return new TextDecoder().decode(file);
}
/**
+2 -15
View File
@@ -956,21 +956,8 @@ export class ContentType {
let templatePath = contentType.template;
let templateData: ParsedFrontMatter | null | undefined = null;
if (templatePath) {
try {
templatePath = Folders.getAbsFilePath(templatePath);
templateData = await ArticleHelper.getFrontMatterByPath(templatePath);
if (!templateData) {
Logger.warning(`ContentType.create: Template file not found or could not be parsed: ${templatePath}`);
Notifications.warning(
l10n.t(LocalizationKey.commonError) + ` Template not found: ${templatePath}`
);
}
} catch (error) {
Logger.error(`ContentType.create: Error loading template from ${templatePath}: ${error}`);
Notifications.error(
l10n.t(LocalizationKey.commonError) + ` Template loading failed: ${templatePath}`
);
}
templatePath = Folders.getAbsFilePath(templatePath);
templateData = await ArticleHelper.getFrontMatterByPath(templatePath);
}
const newFilePath: string | undefined = await ArticleHelper.createContent(
+6 -1
View File
@@ -114,7 +114,12 @@ export class SsgListener extends BaseListener {
}
// https://github.com/withastro/astro/blob/defab70cb2a0c67d5e9153542490d2749046b151/packages/astro/src/content/utils.ts#L450
const contentConfig = await workspace.findFiles(`**/src/content/config.*`);
let contentConfig = await workspace.findFiles(`**/src/content/config.*`);
// Also search for content.config.* files (newer pattern)
if (contentConfig.length === 0) {
contentConfig = await workspace.findFiles(`**/content.config.*`);
}
if (contentConfig.length === 0) {
SsgListener.sendRequest(command as any, requestId, []);