V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
爱意满满的作品展示区。
summerLast

5 行代码让 markdown 支持变量

  •  
  •   summerLast ·
    weekend-project-space · Jul 6, 2023 · 4339 views
    This topic created in 1026 days ago, the information mentioned may be changed or developed.

    项目地址

    效果

    代码

    <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));
    });
    
    21 replies    2023-07-07 16:44:25 +08:00
    duke807
        1
    duke807  
       Jul 6, 2023 via Android   ❤️ 2
    坐等 op 被骂
    summerLast
        2
    summerLast  
    OP
       Jul 6, 2023
    @duke807 啊?,标题党?
    kylebing
        3
    kylebing  
       Jul 6, 2023
    @duke807 #1 这跟在 支付宝 中添加 视频 有异曲同工之妙
    iOCZ
        4
    iOCZ  
       Jul 6, 2023
    一行代码让 markdown 支持代码高亮
    littleBink
        5
    littleBink  
       Jul 6, 2023
    建议移动到 [搞笑] 分区
    xiaoxiaoming01
        6
    xiaoxiaoming01  
       Jul 6, 2023 via Android   ❤️ 1
    我太菜了没看明白,op 能补充一下具体的作用吗?🤔
    x86
        7
    x86  
       Jul 6, 2023
    相当于特斯拉出增程版的了
    Light3
        8
    Light3  
       Jul 6, 2023   ❤️ 1
    建议下次出一个 一行代码 把原神嵌入任何可以写代码的地方
    CHTuring
        9
    CHTuring  
       Jul 6, 2023
    其实我没看到这是什么操作
    summerLast
        10
    summerLast  
    OP
       Jul 6, 2023
    @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
        11
    QUC062IzY3M1Y6dg  
       Jul 6, 2023
    槽点太多...
    突然想到抖音一个视频,10 行代码写个英雄联盟,然后噌噌噌引入一堆 js 文件
    ipwx
        12
    ipwx  
       Jul 6, 2023
    它来了,XSS 它来了,他带着 Markdown 走着最妖艳的步伐来了。
    abear
        13
    abear  
       Jul 6, 2023
    @shuxhan 不要吐槽不要吐槽,万一哪天就想到更好的点子了呢
    Vegetable
        14
    Vegetable  
       Jul 6, 2023
    使用 eval 操作有一定的想法, 但是如果我祭出 jinja2, 阁下是否会觉得我技高一筹
    mXw
        15
    mXw  
       Jul 6, 2023
    str = eval(v[0] + "`" + v[1] + "`"); // xss
    jfj8848
        16
    jfj8848  
       Jul 6, 2023
    什么意思,我写一个产品的文档,如果前面的变量定义产品名称,后面产品名称都用这个变量?生成 html 的时候,变量的地方可以直接变成产品名称?
    NICE20991231
        17
    NICE20991231  
       Jul 6, 2023
    总之,6...
    idealhs
        18
    idealhs  
       Jul 6, 2023
    啥时候 Word 也支持变量
    lhbc
        19
    lhbc  
       Jul 6, 2023
    一行代码开发一个 Google 搜索引擎
    `<iframe src="https://www.google.com" style="width: 100%; height: 100vh; border: none;"></iframe>`
    pkoukk
        20
    pkoukk  
       Jul 6, 2023   ❤️ 1
    你用代码,通过 string template 生成 markdown 不就完了么?
    为什么要在 markdown 生成完成之后,再通过 js 去修改它???
    楼上说的特斯拉改增程,你别说还挺贴切
    lavvrence
        21
    lavvrence  
       Jul 7, 2023
    为什么不直接用 MDX ?? https://mdxjs.com/ Vercel 出品。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5657 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 203ms · UTC 08:29 · PVG 16:29 · LAX 01:29 · JFK 04:29
    ♥ Do have faith in what you're doing.