第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何從要點腳本創(chuàng)建語言選擇包裝器?

如何從要點腳本創(chuàng)建語言選擇包裝器?

繁星點點滴滴 2023-12-14 14:12:03
我有一個用不同語言編寫的要點文件,它們都做同樣的事情。因此,我想創(chuàng)建一個類似于Google docs 文檔的語言選擇選項。是否可以創(chuàng)建這樣一個接受 Gist 腳本標(biāo)簽并如上所示顯示的包裝類?與嵌入單個文件一樣,我嘗試了不同的查詢命令,例如 <script src="https://gist.github.com/gistid.js?language=python">,但它們都不起作用。
查看完整描述

1 回答

?
楊__羊羊

TA貢獻1943條經(jīng)驗 獲得超7個贊

這是我最終得到的處理代碼。


使用一些 CSS + javascript 隱藏和切換邏輯,它會像 google docs 文檔一樣工作。


如果有人用 css 或 js 更新這個答案,我將不勝感激。


import requests

from bs4 import BeautifulSoup


def render_gist_by_file(gist_id):

    result = requests.get(f'https://gist.github.com/{gist_id}.js', headers=git_credential)

    if result.text.startswith("<!DOCTYPE html>"):

      return None


    result = result.text

    result = result.replace("\\/", "/").replace("\\&", "&").replace("\\$", "$").replace("\\<", "<").replace("\\`", "`").replace("\\n", "\n").replace('\\"', '"')

    result = html.unescape(result)

    result = result.split("document.write('")[-1][:-3]


    bs = BeautifulSoup(result, "html.parser")


    for tag in bs.find_all(class_="gist"):

      file_box = tag.find(class_="file-box")

      root = tag.find(class_="file-box")

      toggle_div = bs.new_tag('div', attrs={"class": "gist-meta"})


      for i, d in enumerate(tag.find_all(class_="file")):

        d["class"] = f"file gist-toggle gist-id-{gist_id}"

        if i != 0:

          file_box.append(d)  # combine to first table


      for d in tag.find_all(class_="gist-meta"):

        siblings = list(d.next_elements)

        file_id, file_name = siblings[4].attrs["href"].split("#")[-1], siblings[5]

        gist.file_names.append(file_name)

        toggle_a = bs.new_tag('a', attrs={"id": file_id, "class": f"gist-toggle gist-id-{gist_id}", "onclick": f"toggle('gist-id-{gist_id}', '{file_id}')", "style": "padding: 0 18px"})

        toggle_a.append(file_name)

        toggle_div.append(toggle_a)

        d.extract()  # remove bottom nav


      root.insert(0, toggle_div)

      for d in islice(tag.find_all(class_="gist-file"), 1, None):

        d.extract()  # remove except first

    gist.html = str(bs)

    return gist


查看完整回答
反對 回復(fù) 2023-12-14
  • 1 回答
  • 0 關(guān)注
  • 127 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號