5 行代码让 markdown 支持变量

2023 年 7 月 6 日
 summerLast

项目地址

代码

<textarea rows="20" class="textarea"></textarea>
<div class="result"></div>
<script src="https://cdn.jsdelivr.net/npm/marked/marked.min.js"></script>
const selectElement = document.querySelector('textarea');

function mdx(str) {
  if (str.indexOf("------") > 0) {
    let v = str.split("------");
    str = eval(v[0] + "`" + v[1] + "`");
  }
  return str.trim();
}

selectElement.addEventListener('change', (event) => {
  const result = document.querySelector('.result');
  result.innerHTML =
      marked.parse(mdx(event.target.value));
});
4339 次点击
所在节点    分享创造
21 条回复
duke807
2023 年 7 月 6 日
坐等 op 被骂
summerLast
2023 年 7 月 6 日
@duke807 啊?,标题党?
kylebing
2023 年 7 月 6 日
@duke807 #1 这跟在 支付宝 中添加 视频 有异曲同工之妙
iOCZ
2023 年 7 月 6 日
一行代码让 markdown 支持代码高亮
littleBink
2023 年 7 月 6 日
建议移动到 [搞笑] 分区
xiaoxiaoming01
2023 年 7 月 6 日
我太菜了没看明白,op 能补充一下具体的作用吗?🤔
x86
2023 年 7 月 6 日
相当于特斯拉出增程版的了
Light3
2023 年 7 月 6 日
建议下次出一个 一行代码 把原神嵌入任何可以写代码的地方
CHTuring
2023 年 7 月 6 日
其实我没看到这是什么操作
summerLast
2023 年 7 月 6 日
@CHTuring data:text/html,<body oninput="i.srcdoc=h.value+'<style>'+c.value+'</style><script>'+j.value+'</script>'"><style>textarea,iframe{width:100%;height:50%}body{margin:0}textarea{width:33.33%;font-size:18}</style><textarea placeholder=HTML id=h></textarea><textarea placeholder=CSS id=c></textarea><textarea placeholder=JS id=j></textarea><iframe id=i>

然后复制上面代码运行看下效果
QUC062IzY3M1Y6dg
2023 年 7 月 6 日
槽点太多...
突然想到抖音一个视频,10 行代码写个英雄联盟,然后噌噌噌引入一堆 js 文件
ipwx
2023 年 7 月 6 日
它来了,XSS 它来了,他带着 Markdown 走着最妖艳的步伐来了。
abear
2023 年 7 月 6 日
@shuxhan 不要吐槽不要吐槽,万一哪天就想到更好的点子了呢
Vegetable
2023 年 7 月 6 日
使用 eval 操作有一定的想法, 但是如果我祭出 jinja2, 阁下是否会觉得我技高一筹
mXw
2023 年 7 月 6 日
str = eval(v[0] + "`" + v[1] + "`"); // xss
jfj8848
2023 年 7 月 6 日
什么意思,我写一个产品的文档,如果前面的变量定义产品名称,后面产品名称都用这个变量?生成 html 的时候,变量的地方可以直接变成产品名称?
NICE20991231
2023 年 7 月 6 日
总之,6...
idealhs
2023 年 7 月 6 日
啥时候 Word 也支持变量
lhbc
2023 年 7 月 6 日
一行代码开发一个 Google 搜索引擎
`<iframe src="https://www.google.com" style="width: 100%; height: 100vh; border: none;"></iframe>`
pkoukk
2023 年 7 月 6 日
你用代码,通过 string template 生成 markdown 不就完了么?
为什么要在 markdown 生成完成之后,再通过 js 去修改它???
楼上说的特斯拉改增程,你别说还挺贴切

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://study.congcong.us/t/954504

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX