|
|
@@ -279,6 +279,20 @@ function _MarkDownContent(props: { content: string }) {
|
|
|
p: (pProps) => <p {...pProps} dir="auto" />,
|
|
|
a: (aProps) => {
|
|
|
const href = aProps.href || "";
|
|
|
+ if (/\.(aac|mp3|opus|wav)$/.test(href)) {
|
|
|
+ return (
|
|
|
+ <figure>
|
|
|
+ <audio controls src={href}></audio>
|
|
|
+ </figure>
|
|
|
+ );
|
|
|
+ }
|
|
|
+ if (/\.(3gp|3g2|webm|ogv|mpeg|mp4|avi)$/.test(href)) {
|
|
|
+ return (
|
|
|
+ <video controls>
|
|
|
+ <source src={href} />
|
|
|
+ </video>
|
|
|
+ );
|
|
|
+ }
|
|
|
const isInternal = /^\/#/i.test(href);
|
|
|
const target = isInternal ? "_self" : aProps.target ?? "_blank";
|
|
|
return <a {...aProps} target={target} />;
|