def METHOD_NAME(self, i: 'RedditBase', locator: Loc) -> Results:
    urls = [i.url]
    # TODO this should belong to HPI.. fix permalink handling I guess
    # ok, it's not present for all of them..
    lurl = i.raw.get('link_url')
    if lurl is not None:
        urls.append(lurl)
    lurl = i.raw.get('url')
    if lurl is not None:
        urls.append(lurl)
    context = self._render_body(i.text)
    emitted: Set[str] = set()
    for url in chain(urls, extract_urls(i.text)):
        if url in emitted:
            continue
        yield Visit(
            url=url,
            dt=i.created,
            context=context,
            locator=locator,
        )
        emitted.add(url)
    # extract from markdown links like [link text](https://...)
    # incase URLExtract missed any
    #
    # this should try to do this, even if the user didn't enable
    # the render_markdown flag, as it may catch extra links that URLExtract didnt
    # would still require mistletoe to be installed, but
    # the user may already have it installed for the auto/markdown modules
    if self._link_extractor is not None:
        for res in self._link_extractor(i.text):
            if isinstance(res, Exception):
                yield res
                continue
            if res.url in emitted:
                continue
            yield Visit(
                url=res.url,
                dt=i.created,
                context=context,
                locator=locator,
            )
            emitted.add(res.url)