([\s\S]*?)<\/p>/); let description = descriptionMatch ? descriptionMatch[1] : ''; const aliasesMatch = html.match(/
# Normal JavaScript mode ```{note} For more examples see the [Modules Repo](https://github.com/50n50/sources) ``` In the normal Javascript mode Sora will scrape the HTML of a link and provide it to the function. You are then required to scrape the necessary detail from the HTML and rewrite it into the follow specified JSON format. ## Functions ### searchResults Input: `HTML` \ Output:`JSON` Extracts the search results from the provided HTML. ```json { "title": "Example Title", "image": "https://example.com/image.jpg", "href": "https://grani.me/example" } ``` ### extractDetails Input: `HTML` \ Output:`JSON` Extracts the details from the provided HTML. ```json { "description": "An exciting anime series about adventures.", "aliases": "Alternate Name", "airdate": "2022" } ``` ### extractEpisodes Input: `HTML` \ Output:`JSON` Extracts the episodes from the provided HTML. ```json { "href": "https://grani.me/episode/123", "number": "1" } ``` ### extractStreamUrl Input: `HTML` \ Output:`URL` Extracts the stream from the provided HTML. ```txt https://example.com/stream/video.mp4 ``` ## Example ```javascript function cleanTitle(title) { //Module specefic function, ignore return title .replace(/’/g, "'") .replace(/–/g, "-") .replace(/[0-9]+;/g, ""); } function searchResults(html) { const results = []; const baseUrl = "https://grani.me/"; const filmListRegex = /
([\s\S]*?)<\/p>/); let description = descriptionMatch ? descriptionMatch[1] : ''; const aliasesMatch = html.match(/