Here is a video I like:
.. youtube:: I2Q35uFCq8Q
Neat, huh?
Here is a video I like:
.. youtube:: I2Q35uFCq8Q
Neat, huh?
from docutils import nodes | |
from docutils.parsers.rst import Directive | |
class youtube(nodes.General, nodes.Element): | |
pass | |
def html_visit_youtube(self, node): | |
self.body.append(f'<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/{node["video_id"]}" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>') | |
raise nodes.SkipNode() | |
class YoutubeDirective(Directive): | |
required_arguments = 1 | |
def run(self): | |
video_id, = self.arguments | |
return[youtube('', video_id=video_id)] | |
def setup(app): | |
app.add_node(youtube, html=(html_visit_youtube, None)) | |
app.add_directive("youtube", YoutubeDirective) | |
return { | |
"version": "0.1", | |
"parallel_read_safe": True, | |
"parallel_write_safe": True, | |
} |