Compare commits

..

2 Commits

Author SHA1 Message Date
Ola Rubaj
92b12455c9 [blog][xs]: rm links from headings 2023-09-25 18:50:55 +02:00
Ola Rubaj
37902bfc71 [blog][m]: jul-aug updates blog post 2023-09-22 19:22:31 +02:00
4 changed files with 4 additions and 25 deletions

View File

@@ -1,11 +1,5 @@
# @portaljs/remark-embed
## 1.0.5
### Patch Changes
- [`71716ab0`](https://github.com/datopian/portaljs/commit/71716ab01875f04f51bc23ba551c7a6a9a24a335) Thanks [@olayway](https://github.com/olayway)! - Add support for shortened yt links (https://youtu.be).
## 1.0.4
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@portaljs/remark-embed",
"version": "1.0.5",
"version": "1.0.4",
"description": "Converts youtube link in mdx to an iframe embed",
"repository": {
"type": "git",

View File

@@ -1,29 +1,14 @@
import { visit } from "unist-util-visit";
// https://youtu.be/vDuh7vDgGIg
// TODO write tests!
function transformer(tree) {
visit(tree, "paragraph", (node) => {
visit(node, "text", (textNode) => {
if (
(textNode.value.includes("https://www.youtube.com") ||
textNode.value.includes("https://youtu.be")
) &&
textNode.value.includes("https://www.youtube.com") &&
!textNode.value.includes("\n")
) {
let videoId: string;
if (textNode.value.includes("https://youtu.be")) {
// Extract video ID for short YT URLs
videoId = textNode.value.split("/").pop();
} else {
// Extract video ID for full YT URLs
const urlSplit = textNode.value.split(/[=&]+/);
videoId = urlSplit[1];
}
const iframeUrl = `https://www.youtube.com/embed/${videoId}`;
const urlSplit = textNode.value.split(/[=&]+/);
const iframeUrl = `https://www.youtube.com/embed/${urlSplit[1]}`;
Object.assign(node, {
...node,
type: "element",