ReadonlyidUnique identifier for this provider
ReadonlynameDisplay name for this provider
ReadonlylogoURL to the provider's logo image
ReadonlysupportedDiscovers recipe URLs from the provider with streaming progress
Scans category pages in batches and yields progress updates as recipes are found. Automatically retries pages that appear rate-limited.
Discovery options including abort signal and max recipes
Parses selected recipes to extract full recipe data
Fetches and parses each selected recipe, downloading images to cache and converting to the app's internal format. Yields progress updates for UI feedback during the parsing process.
Recipes selected by the user for import
Parsing options including abort signal and default persons
Fetches and parses a single recipe from its URL
URL of the recipe page to fetch
Default serving size if not specified in recipe
Patterns for ingredients to skip during parsing
Optionalsignal: AbortSignalOptional abort signal for cancellation
Promise resolving to the fetched and converted recipe
ProtectedfetchProtectedextractExtracts preview metadata from HTML for display before full parsing
Raw HTML content
Recipe page URL for host detection
Promise resolving to preview metadata with title and image URL
ProtecteddelayDelays execution for rate limiting
Milliseconds to delay
Promise that resolves after the delay
Returns the URL of Quitoque's known placeholder image
The recipe-scrapers library returns this placeholder for all Quitoque recipes. ImageRepair uses it to detect recipes stored with placeholder content via MD5 comparison.
The Quitoque placeholder image URL
Gets the base URL for Quitoque
Quitoque is only available in France, so no regional selection needed.
Promise resolving to the Quitoque base URL
Discovers recipe page URLs using pagination metadata from HTML
Quitoque uses pagination instead of categories. This method extracts the max page number from pagination links in the HTML and returns URLs for all pages.
The Quitoque base URL
Optionalsignal: AbortSignalOptional abort signal for cancellation
Promise resolving to array of paginated page URLs
Extracts the maximum page number from pagination links in HTML
Parses the HTML to find all ?page=X links and returns the highest number. This is more reliable than probing as it uses the site's own pagination.
Raw HTML content containing pagination links
The maximum page number found, or null if no pagination found
Extracts recipe links from HTML content
Parses HTML to find recipe URLs matching the Quitoque pattern (/recettes/[slug]). Extracts titles from URL slugs.
Raw HTML content to parse
Array of recipe links with URLs and extracted titles
Returns true if this provider can handle the given URL
Recipe source URL to test
true if the URL starts with the Quitoque base URL
Fetches the image URL for a Quitoque recipe page
The Python recipe-scrapers library returns placeholder images for Quitoque. This override extracts the real image directly from JSON-LD schema.
Recipe page URL
Abort signal for cancellation
Promise resolving to image URL or null
PrivateextractExtracts a human-readable title from a recipe URL slug
Converts URL slugs like "/recettes/poulet-roti-aux-herbes" to readable titles like "Poulet roti aux herbes".
Recipe URL path
Formatted title with first letter capitalized
Quitoque recipe provider implementation
Extends BaseRecipeProvider with Quitoque-specific URL patterns and pagination-based discovery. Treats each page as a "category" for compatibility with the base class discovery flow.