diff --git a/doc/global/macros.qdocconf b/doc/global/macros.qdocconf
index 1182af14e95..5544da425a9 100644
--- a/doc/global/macros.qdocconf
+++ b/doc/global/macros.qdocconf
@@ -38,3 +38,17 @@ macro.beginfloatright.HTML = "
"
macro.endfloat.HTML = "
"
macro.clearfloat.HTML = "
"
macro.emptyspan.HTML = ""
+
+# Embed YouTube content by video ID - Example: \youtube dQw4w9WgXcQ
+# Also requires a .jpg thumbnail for offline docs. In .qdocconf, add:
+#
+# HTML.extraimages += images/dQw4w9WgXcQ.jpg
+# qhp.ProjectName.extraFiles += images/dQw4w9WgXcQ.jpg
+#
+macro.youtube.HTML = "\n"
diff --git a/doc/global/template/style/offline-simple.css b/doc/global/template/style/offline-simple.css
index a805b924a30..043e42981d9 100644
--- a/doc/global/template/style/offline-simple.css
+++ b/doc/global/template/style/offline-simple.css
@@ -160,3 +160,7 @@ td#buildversion {
.footer p {
margin: 0px;
}
+
+.video {
+ margin: 15px 0 0 15px;
+}
diff --git a/doc/global/template/style/offline.css b/doc/global/template/style/offline.css
index e2081596c92..a65cf48d91e 100644
--- a/doc/global/template/style/offline.css
+++ b/doc/global/template/style/offline.css
@@ -780,3 +780,23 @@ div.multi-column div {
margin-right: 4em;
width: 24em;
}
+
+.mainContent .video {
+ width:40%;
+ max-width:640px;
+ margin: 15px 0 0 15px;
+ position:relative;
+ display:table
+}
+
+.mainContent .video > .vspan {
+ padding-top:60%;
+ display:block
+}
+.mainContent .video iframe {
+ width:100%;
+ height:100%;
+ position:absolute;
+ top:0;
+ left:0
+}
diff --git a/doc/global/template/style/online.css b/doc/global/template/style/online.css
index 3c305f3ddbe..2d758f53019 100644
--- a/doc/global/template/style/online.css
+++ b/doc/global/template/style/online.css
@@ -1721,3 +1721,22 @@ a.qa-mark:target:before {
color: #ff0000;
}
+.mainContent .video {
+ width:60%;
+ max-width:640px;
+ margin: 0.5em 0 1.5em 0.5em;
+ position:relative;
+ display:table
+}
+
+.mainContent .video > .vspan {
+ padding-top:60%;
+ display:block
+}
+.mainContent .video iframe {
+ width:100%;
+ height:100%;
+ position:absolute;
+ top:0;
+ left:0
+}