memos/web/src/labs/marked/parser/PlainLink.tsx
2023-03-04 15:06:01 +08:00

22 lines
443 B
TypeScript

import { matcher } from "../matcher";
export const PLAIN_LINK_REG = /((?:https?|chrome|edge):\/\/[^ ]+)/;
const renderer = (rawStr: string) => {
const matchResult = matcher(rawStr, PLAIN_LINK_REG);
if (!matchResult) {
return rawStr;
}
return (
<a className="link" target="_blank" href={matchResult[1]}>
{matchResult[1]}
</a>
);
};
export default {
name: "plain link",
regexp: PLAIN_LINK_REG,
renderer,
};