為一名開發者,很多時候都需要寫下自己的學習內容、debug過程或者所思所感,方便以后快速回憶和鞏固,也便于分享給其他人,談起寫點東西,對于開發者來說最方便的無疑是markdown了,其簡潔高效的語法可以讓我們在較短的時間內寫出具有美觀格式的文章。很多時候我們也需要將現有的非markdown書寫的筆記轉成markdown,此時就需要一個好的工具了。那么,作為開發者的你都用過哪些工具呢?這里我分享一些自己用過的或正在用的工具給大家吧。
網站是Html/MarkDown互轉工具-BeJSON.com,效果如下:
經過小編測試,該網站的轉換效率較高,即便是幾千字的文章,也能在點擊轉換按鈕的瞬間完成轉換,同時支持markdown與HTML的互相轉換,效率都是較高的。
現在演示如下 :
可以看到,效率還是很高的,除此之外,還有很多其他工具也可以使用。
這是一個剛出現的平臺,地址是HelloWorld - 專業開發者社區,是作為一個技術交流平臺的工具出現的,平臺首頁是HelloWorld - 專業開發者社區。整個轉換界面很清新簡潔,如下:
可以看到,整個界面的底色是藍色,給人一種清新舒適的感覺。同時提供了兩種轉換的方式:
第一種功能是一般工具網站沒有的,現在對兩種情況進行測試:
可以看到,兩種方式的轉換效果都還是不錯的,也支持將轉換得到的markdown保存到本地。
從上面的頁面中也可以看到,hello world官方給出了html2md工具的開源地址,是「鏈接」,提到了包含的技術棧:
工具的架構主要如下:
主要是為自己有需要的小伙伴提供參考,可以在 開源代碼的基礎上進行定制,得到自己所需要的轉換工具,也算是比較良心了,有需要的小伙伴可以自己去試試啊,或者可以點擊程序員博客發文利器-html2md更新指南去了解更多內容吧。
與前面過兩個網站不同的是,這個平臺只提供了一個demo,地址為SitDown (mdnice.com),頁面示意如下:
可以看到,這個項目提供了對微信、從SDN和掘金等的支持,可以將多種形式的文章轉為markdown。但是這個項目并未上線,更像是提供了一個開發指南和實現思路供需要的開發者進行參考。但是我們還是可以使用這個demo來進行轉換的。
現在進行測試:
可以看到,轉換效果和速度還是可以的,只不過還不支持對鏈接進行轉換。當然,我們也可以進行進一步的封裝,以達到我們需要的效果。
好了,今天的分享就到這里,不知道小伙伴們喜歡哪一個工具呢?都去試試吧。有自己用得比較順手的工具也可以在評論區分享、讓大家一起來體驗下啊[鼓掌]
、成品效果
2、源碼:利用 網頁抬頭、標題標簽、段落標簽、水平線、換行、字體加粗
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<!--網頁抬頭-->
<title>中央氣象局</title>
</head>
<body>
<!--大標題-->
<h2>中央氣象臺發布暴雨藍色預警 北京地區局部地區有大雨</h2>
<p>
<!-- 二標題 -->
<h5>2021-08-07 21:00 來源:中國新聞網</h5>
<hr>
<!-- 三標題 -->
<h4>(原標題:中央氣象臺發布暴雨藍色預警)</h4>
<!-- 四標題 -->
<h4>中新網8月07日電 中央氣象臺8月07日發布暴雨藍色預警!</h4>
<!--正文 ↓-->
<p>
<strong>北京市氣象臺7日6時發布北京地區天氣預報:</strong>今天白天晴間多云,北轉南風二三級,
<em>最高氣溫33℃;夜間晴轉多云,</em>南轉北風一二級,最低氣溫23℃。今日是立秋節氣。
雙休日氣溫較高,濕度大,體感悶熱,戶外注意防暑降溫勤補水。<ins>地質災害風險較高,
請避免前往河道、山區游玩。</ins>周日夜間將有雷陣雨天氣,請及時關注臨近預報。
</body>
</html>
務人士在討論工作
在前端開發的世界里,提供用戶友好的交互體驗始終是我們的追求。其中一個經常被忽視卻極其實用的功能就是讓用戶能夠輕松地復制網頁上的內容到他們的剪貼板。這種能力在各種場景下都能派上用場,比如讓用戶復制代碼片段、優惠券代碼、鏈接等等。本文將探討如何使用JavaScript實現這一功能,以及在不同瀏覽器和設備上的最佳實踐。
復制內容到剪貼板的傳統方法是使用document.execCommand('copy'),但這種方法已經被廢棄,因為存在安全性和跨瀏覽器兼容性的問題。現在推薦的方法是使用navigator.clipboardAPI,這是一個現代的、安全的API,用于讀取和寫入用戶的剪貼板數據。
async function copyToClipboard(text) {
try {
await navigator.clipboard.writeText(text);
console.log('Content copied to clipboard');
} catch (err) {
console.error('Failed to copy to clipboard:', err);
}
}
navigator.clipboardAPI的核心方法是writeText()和readText()。writeText()接受一個字符串參數并將它寫入剪貼板,而readText()則返回一個Promise,解析后為剪貼板上的文本。
盡管navigator.clipboardAPI提供了強大的功能,但它也有一些限制:
假設你正在構建一個代碼分享平臺,用戶可以在這里查看和復制代碼片段。你可以使用navigator.clipboard.writeText()來實現一個“復制”按鈕。
<button id="copy-button">Copy Code</button>
<pre id="code-snippet">console.log('Hello, World!');</pre>
<script>
document.getElementById('copy-button').addEventListener('click', async () => {
const codeSnippet = document.getElementById('code-snippet').textContent;
await navigator.clipboard.writeText(codeSnippet);
alert('Code copied to clipboard!');
});
</script>
在實際應用中,可能需要考慮一些額外的優化措施,比如增加用戶反饋、處理API不支持的情況以及提高性能。
async function copyToClipboard(text) {
if (navigator.clipboard && navigator.clipboard.writeText) {
await navigator.clipboard.writeText(text);
console.log('Content copied to clipboard');
} else {
// Fallback for browsers that don't support the Clipboard API
const textarea = document.createElement('textarea');
textarea.value = text;
document.body.appendChild(textarea);
textarea.select();
try {
document.execCommand('copy');
console.log('Content copied using execCommand');
} catch (err) {
console.error('Failed to copy to clipboard:', err);
}
document.body.removeChild(textarea);
}
}
問題: 在不支持navigator.clipboardAPI的舊瀏覽器中怎么辦?
解決方案: 使用document.execCommand('copy')作為回退方案,盡管它已被廢棄,但在某些情況下仍能提供基本功能。
復制內容到剪貼板的能力是前端開發中一個看似微小卻非常實用的功能。通過使用navigator.clipboardAPI,我們可以安全、高效地實現這一目標。隨著瀏覽器對現代API的支持不斷增強,我們可以期待更多類似的功能來提升用戶體驗。在未來,我們可能會看到更多原生的API來簡化開發者的工作,同時也為用戶提供更安全、更流暢的互聯網體驗。掌握這些API不僅能夠提升你的開發技能,還能讓你的網站或應用程序在競爭中脫穎而出。
*請認真填寫需求信息,我們會在24小時內與您取得聯系。