← Files DefuddleARCHIVED FILE

skills/defuddle-web-content/references/source/src/extractors/leetcode.ts

663 Bytes · Oct 4, 2026 · 12:35 UTC

↓ Download file

import { BaseExtractor } from './_base';
import { ExtractorResult } from '../types/extractors';

export class LeetCodeExtractor extends BaseExtractor {
	canExtract(): boolean {
		return this.document.querySelector('[data-track-load="description_content"]') !== null;
	}

	extract(): ExtractorResult {
		const ogTitle = this.document.querySelector('meta[property="og:title"]')?.getAttribute('content') || '';
		const title = ogTitle.replace(/\s*[-–—]\s*LeetCode\s*$/, '') || ogTitle;

		return {
			content: '',
			contentHtml: '',
			contentSelector: '[data-track-load="description_content"]',
			variables: {
				title,
				site: 'LeetCode',
			},
		};
	}
}

SHA-256: b97772f572a7d49c12c9ad7c210b048a0bd510792da111bf743e2faeb09945aa