整合營銷服務(wù)商

          電腦端+手機端+微信端=數(shù)據(jù)同步管理

          免費咨詢熱線:

          一鍵生成通用高亮代碼塊到剪貼板,可粘貼到在線編輯器

          些在線圖文編輯器不支持直接插入代碼塊,但可以直接粘貼 HTML 格式的高亮代碼塊。

          花了一點時間研究了一下各家的編輯器,規(guī)則卻各不相同。有的要求代碼塊被包含于 <code> ... </code> 或者 <pre> <code> ... </code> </pre> , 有些要求 class 屬性里包含 "code" 關(guān)鍵詞,或者要求代碼塊里必須包含至少一個 <br> 。如果不符合這些要求,不是變成普通文本,就是丟失換行縮進,或者丟失顏色樣式。

          所以,這就難了。先得找個支持代碼高亮的編輯器,仔細(xì)地選擇并復(fù)制代碼塊,復(fù)制完還得編輯剪貼板里的 HTML 。這就不如干脆寫個轉(zhuǎn)換工具了。

          因為瀏覽器操作系統(tǒng)剪貼板可能不太方便,下面用 aardio 寫一個工具軟件。

          先看軟件成品演示:

          軟件用法:

          1、輸入編程語言名稱(支持自動完成)。

          2、然后在輸入框中粘貼要轉(zhuǎn)換的編程代碼。

          3、點擊「復(fù)制高亮代碼塊」按鈕。

          然后我們就可以打開在線圖文編輯器直接粘貼生成的高亮代碼塊了。

          下面是這個軟件的 aardio 源代碼:

          import win.ui;
          /*DSG{{*/
          var winform = win.form(text="HTML 代碼塊生成工具 - 本工具使用 aardio 語言編寫";right=1055;bottom=674;bgcolor=16777215)
          winform.add(
          button={cls="button";text="復(fù)制高亮代碼塊";left=633;top=609;right=1000;bottom=665;bgcolor=16777215;color=14120960;db=1;dr=1;font=LOGFONT(h=-14);note="可在網(wǎng)頁編輯器直接粘貼";z=4};
          cmbLangs={cls="combobox";left=262;top=625;right=446;bottom=651;db=1;dl=1;edge=1;items={"javascript"};mode="dropdown";z=2};
          editCode={cls="edit";left=1;top=4;right=1052;bottom=599;db=1;dl=1;dr=1;dt=1;edge=1;hscroll=1;multiline=1;vscroll=1;z=5};
          static={cls="static";text="請選擇語言:";left=70;top=629;right=248;bottom=649;align="right";db=1;dl=1;transparent=1;z=3};
          webCtrl={cls="custom";text="自定義控件";left=8;top=10;right=1048;bottom=604;db=1;dl=1;dr=1;dt=1;hide=1;z=1}
          )
          /*}}*/
          
          import web.view;
          var wb = web.view(winform.webCtrl);
          
          import win.clip.html;
          wb.export({ 
              onHighlight = function(html,background,foreground){
                  html = `<pre class="code" style="overflow-x:auto;text-align:left;box-shadow: rgba(216, 216, 216, 0.5) 0px 0px 0px 1px inset;padding:10px;border-radius:3px;background-color:`+background+`;color:`+foreground+`;white-space:pre;word-break:break-all;display:block;font-size:14px;font-style:normal;font-variant-ligatures:normal;font-variant-caps: normal;font-family: "Consolas", Consolas, "Liberation Mono", Menlo, Courier, monospace"><code>`
                      + html + `</code></pre>`;
          
                  html,count = string.replace(html,'\n',"<br>");
                  if(!count){
                      html = string.replace(html,`\</code\>\</pre\>$`,`<br></code></pre>`);
                  }
                  var cb = win.clip.html();
                  cb.write(html); 
          
                  winform.setTimeout( 
                      function(){
                          winform.editCode.show(true);
                          winform.webCtrl.show(false);
                          winform.text = "HTML 代碼塊生成工具 - 已復(fù)制高亮代碼塊到剪貼板,可在網(wǎng)頁直接粘貼";
                      },1000); 
              };
              setLanguages = function(langs){
                  winform.languages = langs;
              }  
          })
          
          
          winform.cmbLangs.onEditChange = function(){ 
          
              var text = string.lower(winform.cmbLangs.text);
              var items = table.filter( winform.languages : {}, lambda(v) string.startWith(v,text) ); 
              winform.cmbLangs.autoComplete(items);  
          }
          winform.cmbLangs.editBox.disableInputMethod();
          
          import web.prism;
          import wsock.tcp.asynHttpServer;
          var httpServer = wsock.tcp.asynHttpServer(); 
          httpServer.run(web.prism,{
              ["/index.html"] = /*****
          <!DOCTYPE html>
          <html>
            <head>
              <meta charset="UTF-8" /> 
              <link href="prism.css" rel="stylesheet" />
            </head>
            <body>
              <pre id="code-pre"><code id="code" class="lang-javascript"></code></pre>
              <script src="prism.js"></script>
              <script>
             function computedColorStyle(element, options = {}) {
          
                  Array.prototype.forEach.call(element.children,child => {
                      computedColorStyle(child, options);
                  });
          
                  const computedStyle = getComputedStyle(element);
                  element.style["color"] = computedStyle.getPropertyValue("color");  
              }
          
              highlight = function(code,language){
                  var html = Prism.highlight(code, Prism.languages[language], language);
          
                  var codeEle = document.getElementById("code");
                  codeEle.innerHTML = html;
                  computedColorStyle(codeEle);
          
                  const computedStyle = getComputedStyle(codeEle);  
                  onHighlight(codeEle.innerHTML
                      ,getComputedStyle(document.getElementById("code-pre")).getPropertyValue("background-color")
                      ,computedStyle.getPropertyValue("color"));
              }
          
              setLanguages( Object.keys(Prism.languages) );
              </script>
            </body> 
          </html> 
              *****/
          });
          
          wb.go( httpServer.getUrl("/index.html"));
          
          winform.button.oncommand = function(id,event){
              winform.text = "HTML 代碼塊生成工具 - 本工具使用 aardio 語言編寫"
              winform.editCode.show(false);
              winform.webCtrl.show(true);
          
              wb.xcall("highlight",winform.editCode.text,winform.cmbLangs.text);
          }
          
          
          winform.show();
          win.loopMessage();

          打開 aardio 創(chuàng)建工程,然后復(fù)制粘貼上面的代碼到 main.aardio 里面就可以直接運行,或生成獨立 EXE 文件:

          這個軟件的原理:

          1、首先通過 WebView2 調(diào)用 Prism.js 高亮代碼。為了可以內(nèi)存加載 Prism.js ( 支持生成獨立 EXE ),我寫了一個 aardio 擴展庫 web.prism 。關(guān)于 WebView2 請參考:放棄 Electron,擁抱 WebView2!JavaScript 快速開發(fā)獨立 EXE 程序

          2、因為 Prism.js 生成的 HTML 代碼塊都是使用 class 屬性指定樣式,所以我們需要調(diào)用 getComputedStyle 獲取最終渲染的字體顏色屬性。

          3、最后在 JavaScript 里調(diào)用 aardio 函數(shù)處理生成的 HTML 代碼塊,aardio 的任務(wù)是將 HTML 修改為更合適直接粘貼的格式,并盡可能地處理各圖文編輯器的兼容問題。然后調(diào)用 win.clip.html 將處理好的 HTML 復(fù)制到系統(tǒng)剪貼板:

          import win.clip.html;
          
          var cb = win.clip.html();
          cb.write(html); 

          然后只要愉快地粘貼代碼塊就可以。

          如果是 aardio 代碼不需要用這個工具,在 aardio 編輯器里右鍵直接點『 復(fù)制全部到 HTML 代碼塊 』就可以了:


          TML編輯器是一種用于創(chuàng)建、編輯和預(yù)覽HTML(超文本標(biāo)記語言)代碼的工具或應(yīng)用程序。它提供了一個直觀的界面,使用戶能夠輕松地編寫和設(shè)計網(wǎng)頁內(nèi)容。本文主要介紹HTML 常用編輯器(Visual Studio Code、Sublime Text、Atom、Notepad++和Dreamweaver)。


          參考文檔:https://www.cjavapy.com/article/3299/


          1、Visual Studio Code(VS Code )


          Visual Studio Code(簡稱VS Code)是一款由微軟開發(fā)的跨平臺源代碼編輯器,支持Windows、macOS和Linux等多種操作系統(tǒng)。它被廣泛用于Web開發(fā),包括編輯HTML、CSS、JavaScript等前端技術(shù)。VS Code是一款輕量級的代碼編輯器,啟動迅速,占用資源少。VS Code提供了豐富的擴展和插件,可以根據(jù)需求安裝插件來增強編輯器功能。


          1)安裝和配置


          官網(wǎng)地址:Visual Studio Code - Code Editing. Redefined


          根據(jù)操作系統(tǒng)下載并安裝相應(yīng)版本的VS Code。打開VS Code后,可以根據(jù)自己的喜好配置編輯器設(shè)置,如主題、字體等。


          2)新建HTML文件


          在 VS Code 安裝完成后,選擇" 文件(F)->新建文件(N) ",在新建的文件中輸入以下代碼:


          <!DOCTYPE html>
          <html>
          <head>
          <meta charset="utf-8">
          <title>編程之路(cjavapy.com)</title>
          </head>
          <body>
           
          <h1>我的第一個標(biāo)題</h1>
           
          <p>我的第一個段落。</p>
           
          </body>
          </html>


          3)編輯HTML文件


          在VS Code中,點擊左上角的"文件"菜單,選擇"打開文件",或者使用快捷鍵Ctrl+O(Windows)或Cmd+O(macOS)來打開HTML文件。


          在編輯器中可以直接修改HTML文件的內(nèi)容。VS Code會自動識別HTML標(biāo)記,并提供代碼高亮和智能提示功能。編輯完成后,使用快捷鍵Ctrl+S(Windows)或Cmd+S(macOS)來保存HTML文件。


          4)插件推薦


          HTML CSS Support:提供對HTML和CSS的支持,包括代碼片段、自動補全等功能。


          Live Server:啟動一個本地開發(fā)服務(wù)器,實時預(yù)覽HTML頁面的效果。


          Prettier:格式化HTML代碼,使代碼結(jié)構(gòu)更整潔。


          Auto Close Tag:自動閉合HTML標(biāo)簽,提高編碼效率。


          Bracket Pair Colorizer:對成對的括號進行著色,方便識別代碼塊。


          2、Sublime Text


          Sublime Text是一款流行的跨平臺源代碼編輯器,支持Windows、macOS和Linux等多種操作系統(tǒng)。它被廣泛用于Web開發(fā),包括編輯HTML、CSS、JavaScript等前端技術(shù)。


          Sublime Text的界面非常簡潔,沒有多余的菜單和工具欄,更便于專注于代碼編輯。Sublime Text支持多種編程語言,包括HTML、CSS、JavaScript、Python、Java等。Sublime Text擁有強大的插件系統(tǒng),用戶可以根據(jù)需要安裝插件來擴展編輯器功能。用戶可以自定義快捷鍵、主題、顏色方案等,以滿足個性化需求。Sublime Text啟動迅速,響應(yīng)快速,適合于快速編輯代碼。


          1)安裝和配置


          官網(wǎng)地址:Sublime Text - Text Editing, Done Right


          根據(jù)操作系統(tǒng)下載并安裝相應(yīng)版本的Sublime Text。打開Sublime Text后,可以根據(jù)自己的喜好進行編輯器設(shè)置,如字體、主題等。


          2)新建HTML文件


          在Sublime Text 安裝完成后,選擇" File->New File ",在新建的文件中輸入以下代碼:


          <!DOCTYPE html>
          <html>
          <head>
          <meta charset="utf-8">
          <title>編程之路(cjavapy.com)</title>
          </head>
          <body>
           
          <h1>我的第一個標(biāo)題</h1>
           
          <p>我的第一個段落。</p>
           
          </body>
          </html>


          3)編輯HTML文件


          在Sublime Text中,點擊左上角的"File"菜單,選擇"Open File",或者使用快捷鍵Ctrl+O(Windows)或Cmd+O(macOS)來打開HTML文件。在編輯器中可以直接修改HTML文件的內(nèi)容。Sublime Text會自動識別HTML標(biāo)記,并提供代碼高亮和智能提示功能。編輯完成后,使用快捷鍵Ctrl+S(Windows)或Cmd+S(macOS)來保存HTML文件。


          4)插件推薦


          Emmet:提供HTML/CSS快速編寫和自動完成功能,可以大大提高編碼效率。


          Sublime Linter:對代碼進行實時語法檢查,幫助發(fā)現(xiàn)潛在的錯誤和警告。


          Color Highlighter:對CSS中的顏色進行高亮顯示,方便調(diào)試和修改樣式。


          SideBarEnhancements:增強側(cè)邊欄功能,提供更多文件操作選項。


          3、Dreamweaver


          Dreamweaver是由Adobe公司開發(fā)的一款全球知名的網(wǎng)頁設(shè)計和開發(fā)工具。它為開發(fā)人員和設(shè)計師提供了一個可視化的界面,可以直觀地創(chuàng)建和編輯網(wǎng)頁內(nèi)容,同時也支持手動編輯代碼。Dreamweaver提供可視化界面,可以直觀地拖拽和編輯網(wǎng)頁元素,無需手動編寫代碼。除了可視化界面,Dreamweaver也支持手動編輯代碼,適合于開發(fā)人員和設(shè)計師。Dreamweaver可在Windows和macOS等多個平臺上運行。Dreamweaver集成了代碼編輯器、預(yù)覽窗口、文件管理器等功能,提供全面的開發(fā)環(huán)境。


          1)安裝和配置


          官網(wǎng)地址:Website design software | Adobe Dreamweaver


          根據(jù)操作系統(tǒng)下載并安裝相應(yīng)版本的Dreamweaver。打開Dreamweaver后,,根據(jù)需要進行編輯器設(shè)置,如界面語言、字體、代碼顏色等。


          2)編輯HTML文件


          在Dreamweaver中,點擊左上角的"File"菜單,選擇"New",然后選擇"HTML",即可新建一個空白的HTML文件。內(nèi)容如下:


          <!DOCTYPE html>
          <html>
          <head>
          <meta charset="utf-8">
          <title>編程之路(cjavapy.com)</title>
          </head>
          <body>
           
          <h1>我的第一個標(biāo)題</h1>
           
          <p>我的第一個段落。</p>
           
          </body>
          </html>


          使用可視化界面,可以直接拖拽頁面元素、調(diào)整布局、插入圖片等。若需要手動編輯HTML代碼,可以在下方的代碼編輯器中進行修改。Dreamweaver會自動提供代碼補全和語法高亮功能。在Dreamweaver中,可以實時預(yù)覽網(wǎng)頁效果,點擊右上角的"Live View"按鈕即可。


          3)CSS和JavaScript支持


          Dreamweaver也支持CSS和JavaScript的編輯和預(yù)覽,可以幫助創(chuàng)建更豐富的網(wǎng)頁效果。在編輯器中可以直接編輯CSS樣式和JavaScript代碼,并實時查看效果。


          4)網(wǎng)頁上傳和發(fā)布


          Dreamweaver集成了FTP功能,可以直接將編輯好的網(wǎng)頁上傳到服務(wù)器。點擊"Site"菜單,選擇"Manage Sites",配置好站點設(shè)置,即可進行上傳和發(fā)布。


          5)Dreamweaver模板和庫


          Dreamweaver提供模板和庫功能,可以保存和復(fù)用常用的網(wǎng)頁元素和樣式,提高開發(fā)效率。


          參考文檔:https://www.cjavapy.com/article/3299/

          壓縮包上傳解壓到服務(wù)器根目錄,入口文件是index.html

          本網(wǎng)站的HTML模板資源:所見文章圖片即所得,搭建和修改教程請看這篇文章:https://yizhi2024.top/8017.html

          HTML模板修改教程

          一般是在index.htm內(nèi)修改,搜索頁面關(guān)鍵詞來查看代碼所在位置

          也可以使用HBuilderX來搜索:把壓縮包解壓,得到文件夾,拖動HBuilderX軟件,執(zhí)行CTRL+F,輸入關(guān)鍵字眼,會自動搜索文件夾內(nèi)的所有內(nèi)容


          主站蜘蛛池模板: 中文字幕乱码亚洲精品一区| 无码av不卡一区二区三区| 久久久久一区二区三区| 中文字幕在线一区二区三区| 免费一区二区视频| 无码少妇一区二区| 波多野结衣在线观看一区| 日韩AV在线不卡一区二区三区| 加勒比精品久久一区二区三区| 最新欧美精品一区二区三区| 日本一区二区三区四区视频| 国产日韩综合一区二区性色AV| 久久青草精品一区二区三区| 亚欧在线精品免费观看一区| 97久久精品午夜一区二区| 无码丰满熟妇一区二区| 欧洲精品码一区二区三区| 香蕉免费一区二区三区| 国产福利电影一区二区三区久久老子无码午夜伦不 | 日本免费电影一区二区| 成人在线视频一区| 亚洲一区二区成人| 成人在线观看一区| 精品日韩一区二区| 亚洲av乱码中文一区二区三区 | 无码囯产精品一区二区免费 | 亚洲日韩精品无码一区二区三区 | 中文字幕一区二区三区有限公司| 韩国女主播一区二区| 精品一区二区三区在线观看l | 中文字幕一区二区人妻| 一区二区三区四区免费视频| 国产在线一区二区视频| 中文字幕一区二区视频| 精品国产一区二区三区av片| 视频在线观看一区二区| 国产日韩精品视频一区二区三区 | 久久久99精品一区二区| 日韩精品无码人妻一区二区三区 | 日韩精品区一区二区三VR| 国产一区二区三区韩国女主播|