Skip to content

Commit 018916e

Browse files
committed
video guidelines
1 parent b12c7d1 commit 018916e

File tree

3 files changed

+56
-11
lines changed

3 files changed

+56
-11
lines changed

_posts/2025-07-25-A-real-use-case-with-OVOS-and-Hivemind.md

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,11 @@ I'm using an OVOS server with Hivemind satellites, which allows me to adapt the
2626

2727
Looking ahead, the next step is integrating a personal AI assistant directly into the voice assistant. This enables a private, fully offline solution—something that’s becoming increasingly important for privacy, reliability, and autonomy.
2828

29-
<video src="https://www.youtube.com/shorts/C_xS87EbsiM" controls title="Start coffee machine with voice"></video>
29+
<iframe width="560" height="315" src="https://www.youtube.com/embed/C_xS87EbsiM" title="Start coffee machine with voice" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
3030

31-
<video src="https://www.youtube.com/watch?v=PRzGxmTCFb0" controls title="Talk with the GenAI assistant"></video>
31+
<br/>
32+
33+
<iframe width="560" height="315" src="https://www.youtube.com/embed/PRzGxmTCFb0" title="Talk with the GenAI assistant" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
3234

3335
### How did I built a Smarter Living with OVOS, Hivemind, and Raspberry Pi Satellites
3436

@@ -49,10 +51,10 @@ OVOS has key features for controlling the house:
4951

5052
### More links
5153

52-
+- [3D drawings](https://github.com/MenneBos/ovos-skill-HomeyFlowTrigger/tree/main/Mechanics)
53-
+- [PCB drawings](https://github.com/MenneBos/ovos-skill-HomeyFlowTrigger/tree/main/Hardware/KiCad_OVOS_sat)
54-
+- [OVOS technical manual](https://openvoiceos.github.io/ovos-technical-manual/)
55-
+- [Hivemind documentation](https://jarbashivemind.github.io/HiveMind-community-docs/)
54+
- [3D drawings](https://github.com/MenneBos/ovos-skill-HomeyFlowTrigger/tree/main/Mechanics)
55+
- [PCB drawings](https://github.com/MenneBos/ovos-skill-HomeyFlowTrigger/tree/main/Hardware/KiCad_OVOS_sat)
56+
- [OVOS technical manual](https://openvoiceos.github.io/ovos-technical-manual/)
57+
- [Hivemind documentation](https://jarbashivemind.github.io/HiveMind-community-docs/)
5658

5759
## Help Us Build Voice for Everyone
5860

src/app/newblog/page.tsx

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,50 @@ export default function Contribute() {
123123
</ul>
124124
</div>
125125

126+
<h2 className="text-2xl font-semibold mt-6 mb-3 flex items-center">
127+
Adding Videos to Your Blog Post
128+
</h2>
129+
<div className="bg-blue-50 dark:bg-blue-900/20 p-6 rounded-lg mb-6 border-l-4 border-blue-500 shadow-md">
130+
<h3 className="text-xl font-medium mb-2 text-blue-700 dark:text-blue-300">Video Guidelines</h3>
131+
<p className="mb-3">
132+
Videos can make your blog post more engaging and informative. You can embed videos in two ways:
133+
</p>
134+
<h4 className="text-lg font-medium mb-2">1. Embedding YouTube Videos</h4>
135+
<p className="mb-3">
136+
To embed a YouTube video, use the following HTML in your markdown:
137+
</p>
138+
<pre className="bg-mono-100 p-4 rounded-md overflow-x-auto mb-4 dark:bg-mono-800 dark:text-mono-200 shadow-inner border border-mono-200 dark:border-mono-700">
139+
<code>
140+
{'<iframe width="560" height="315" \n src="https://www.youtube.com/embed/VIDEO_ID" \n frameborder="0" \n allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" \n allowfullscreen>\n</iframe>'}
141+
</code>
142+
</pre>
143+
<p className="mb-3">
144+
Replace <code className="bg-mono-100 px-2 py-1 rounded dark:bg-mono-800 dark:text-mono-200">VIDEO_ID</code> with the ID of your YouTube video (found in the YouTube URL after "v=").
145+
</p>
146+
<h4 className="text-lg font-medium mb-2">2. Self-hosted Videos</h4>
147+
<p className="mb-3">
148+
For self-hosted videos, host video file anywhere on the web (e.g., your own server, cloud storage) and use the following HTML:
149+
</p>
150+
<pre className="bg-mono-100 p-4 rounded-md overflow-x-auto mb-4 dark:bg-mono-800 dark:text-mono-200 shadow-inner border border-mono-200 dark:border-mono-700">
151+
<code>
152+
{'<video width="100%" controls>\n <source src="https://your-domain.com/path/to/your-video.mp4" type="video/mp4">\n Your browser does not support the video tag.\n</video>'}
153+
</code>
154+
</pre>
155+
<h4 className="text-lg font-medium mb-2">Video Best Practices</h4>
156+
<ul className="list-disc pl-6 space-y-2">
157+
<li>Keep videos concise and relevant to your content</li>
158+
<li>For self-hosted videos, compress videos to reduce file size (aim for less than 10MB)</li>
159+
<li>Use MP4 format with H.264 encoding for maximum compatibility</li>
160+
<li>Add captions or transcripts when possible for accessibility</li>
161+
<li>Ensure videos have a 16:9 aspect ratio for proper display</li>
162+
</ul>
163+
<div className='mt-4 bg-yellow-100 dark:bg-yellow-900/40 p-3 rounded-md border-l-4 border-yellow-500'>
164+
<p className="text-sm font-medium text-yellow-800 dark:text-yellow-200">
165+
<strong>IMPORTANT:</strong> DO NOT add video files directly to this repository as it will drastically increase its size. Always use external hosting services like YouTube or other video platforms and embed them using the methods described above.
166+
</p>
167+
</div>
168+
</div>
169+
126170
<h2 className="text-2xl font-semibold mt-6 mb-3 flex items-center">
127171
<span className="inline-block bg-mono-100 dark:bg-mono-800 rounded-full w-8 h-8 flex items-center justify-center mr-2">6</span>
128172
Co-authors (Optional)

src/lib/markdownToHtml.ts

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,12 @@ import rehypeStringify from "rehype-stringify";
77
export default async function markdownToHtml(markdown: string) {
88
const result = await remark()
99
.use(remarkGfm)
10-
.use(remarkRehype, {
11-
allowDangerousHtml: true,
12-
allowedElements: false, // Allow html syntax in markdown
10+
.use(remarkRehype, {
11+
allowDangerousHtml: true
1312
})
1413
.use(rehypeHighlight)
15-
.use(rehypeStringify, {
16-
allowDangerousHtml: true
14+
.use(rehypeStringify, {
15+
allowDangerousHtml: true
1716
})
1817
.process(markdown);
1918

0 commit comments

Comments
 (0)