def run()

in custom_directives.py [0:0]


    def run(self):
        try:
            if 'header' in self.options:
                header = self.options['header']
            else:
                raise ValueError('header not doc found')

            if 'image' in self.options:
                image = "<img src='" + self.options['image'] + "'>"
            else:
                image = '_static/img/thumbnails/default.png'

            if 'link' in self.options:
                link = self.options['link']
            else:
                link = ''

            if 'card_description' in self.options:
                card_description = self.options['card_description']
            else:
                card_description = ''

            if 'tags' in self.options:
                tags = self.options['tags']
            else:
                tags = ''

        except FileNotFoundError as e:
            print(e)
            return []
        except ValueError as e:
            print(e)
            raise
            return []

        card_rst = CARD_TEMPLATE.format(header=header,
                                        image=image,
                                        link=link,
                                        card_description=card_description,
                                        tags=tags)
        card_list = StringList(card_rst.split('\n'))
        card = nodes.paragraph()
        self.state.nested_parse(card_list, self.content_offset, card)
        return [card]