精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

推薦!PowerNice Web版+桌面端軟件,讓文檔編輯更簡單

開源 開發工具
「powerNice」 提供兩種方式來編寫文章/文檔, 即程序員最喜歡的 markdown, 也可以使用非技術人員最容易上手的富文本編輯器.

前言?

大家好, 我是徐小夕, 之前和大家分享了一個在線文檔編輯器PowerNice, 它可以輕松幫我們編寫文檔并一鍵導出多種格式比如html,pdf, md, png圖片等, 如下:

圖片

最近為了讓編輯器滿足更多場景需求, 我開發了桌面端軟件版本——powernice-electron, 支持mac 和 window。

圖片

接下來我來對powernice 技術實現和功能做一個介紹。

背景?

作為一名技術工作者, 我們經常會遇到編寫技術文檔, 技術分享等需求, 網上也有很多現成的文檔管理工具, 出于好奇心, 我拉著朋友一起實現了一個, 用來自給自足. 接下來就來介紹一下輕量級且靈活方便的文檔編輯工具—— 「powerNice」。

「powerNice」 提供兩種方式來編寫文章/文檔, 即程序員最喜歡的 ??markdown??, 也可以使用非技術人員最容易上手的富文本編輯器。

demo演示?

圖片

技術選型?

實現 「powerNice」 在線文檔編輯器我們采用如下核心技術棧:

  • React
  • Ant Design
  • Dva
  • For-editor
  • Braft-editor
  • Nodejs
  • 瀏覽器指紋識別技術

功能盤點?

1、多模式編輯

多模式編輯主要是指我們可以用富文本和md編輯器來編輯我們的文章, 我們采用最熟悉的 React 來實現, 效果如下:

圖片圖片

2、多主題

目前支持2套主題, 淺色和深色, 主要從用戶體驗的角度方便用戶夜間寫作. 效果如下:

(1)深色。

圖片

(2)淺色。

圖片

3、支持一鍵導入導出

為了提高我們的寫作效率以及對文章的多路復用, 我們提供了一鍵導入導出文件等功能, 具體如下:

  • 導出Markdown。
  • 導出PDF。
  • 基于文章導出海報圖。
  • 導入Markdown 文件。
  • 下載文章html 內容。

使用截圖如下:

圖片


下載的html內容預覽如下:圖片還原度還是非常高的。

4、多模式預覽

多模式預覽主要是右側的預覽區, 我們支持手機端預覽和pc端預覽, 如下圖:

圖片

圖片

5、字數行數統計

字數行數統計主要是幫助作者做內容統計, 這塊實現不是很難, 我們看看預覽效果:

圖片

6、文章管理

文章管理主要是管理用戶編寫的內容, 這里因為我們做的是線上工具, 用戶識別主要采用瀏覽器指紋識別技術來區分用戶, 用戶可以輕松在編輯器文章列表中切換文章進行編輯, 效果如下:

圖片

核心技術實現?

1、導入導出多類型文件

  • 「導入md/html文件」導入md?文件我們主要利用ant的upload?組件和FileReader API, 具體實現如下:
{
name: 'file',
showUploadList: false,
beforeUpload(file: any): any {
const reader = new FileReader()
reader.onload = function(e: Event) {
const data = (e as any).target.result
if (editor === 'richText') {
// ...
} else {
// ...
}
}
reader.readAsText(file)
},
}
  • 「下載html」下載html?的原理也很簡單, 我們拿到渲染后的html?字符串, 利用html?模版將其包裝成完整的html?, 最后再存儲為File?對象, 利用file-saver?實現下載.  思路如下:

圖片

核心代碼如下:

const doc = document.querySelector('.for-markdown-preview') as HTMLElement
const html = createMDHtml(doc.innerHTML, article)
file = new File([html], `${moment().format('YYYYMMDDHHmmss')}.html`, { type: 'text/html;charset=utf-8' })
// 下載文件
saveAs(file)

2、基于瀏覽器指紋識別技術的用戶識別

瀏覽器指紋這塊知識點涉及的比較多, 筆者這里簡單介紹一下canvas指紋。

「Canvas指紋」是利用系統之間, 字體渲染引擎, 抗鋸齒、次像素渲染等處理方式的差異而實現的一種指紋識別技術. 我們使用canvas將同樣的文字轉成圖片, 即便使用Canvas繪制相同的元素,但由于上述的差別得到的結果也是不同的。?

所以我們可以利用以上技術, 對不同用戶瀏覽器進行識別, 從而區分用戶(雖然存在概率事件), 實現無需登錄就能保存對應內容的目的. 基本實現代碼如下:

createFingerprint = () => {
const canvas = document.getElementById('anchor-uuid') as HTMLCanvasElement
const context = canvas.getContext('2d') as CanvasRenderingContext2D
context.font = '18pt Arial'
context.textBaseline = 'top'
context.fillText('hello, user.', 2, 2)
const fingerprint = canvas.toDataURL('image/jpeg')
// hash
const secret = 'nice'
const hash = crypto.createHmac('sha256', secret)
.update(fingerprint)
.digest('hex')

return hash
}


責任編輯:姜華 來源: 趣談前端
相關推薦

2023-07-04 21:59:46

文檔編輯器PowerNice

2010-03-23 09:54:35

好壓壓縮

2011-08-08 17:51:14

注冊表編輯器注冊表

2009-05-15 17:42:34

ApacheWeb開發Apache Slin

2024-02-19 07:51:52

WebargsPythonWeb

2012-06-20 13:36:42

Surface平板

2025-01-21 10:45:00

訓練模型架構

2011-06-15 09:53:05

思杰虛擬化

2019-07-10 10:20:36

前端用戶體驗javascript

2019-04-04 14:05:20

consolejs前端

2021-12-02 06:58:01

微軟桌面助手

2009-02-24 08:21:22

Windows 7桌面亮麗

2021-07-24 13:16:31

Android 代碼操作系統

2020-06-16 13:22:22

AI創新深度學習

2015-05-20 12:50:42

C#開發抽象增刪改

2024-02-27 19:22:00

cookieStorCookie事件

2022-06-05 23:28:50

TypeScripinfer類型

2020-05-07 10:18:06

JavaScript前端技術

2012-09-25 09:28:36

程序員代碼代碼整潔
點贊
收藏

51CTO技術棧公眾號

yellow视频在线观看一区二区| 国产亚洲免费的视频看| 欧美乱大交xxxxx潮喷l头像| 日本久久一级片| 日韩高清不卡一区| 九九精品视频在线| 性高潮久久久久久久| 天天综合在线观看| 婷婷成人综合网| 亚洲va韩国va欧美va精四季| 亚洲爱爱综合网| 久久久久国内| 九九热这里只有精品6| www.久久av| 精品一区视频| 色美美综合视频| 996这里只有精品| 成人影院免费观看| 国产69精品久久777的优势| 欧美一区亚洲一区| 久久久无码一区二区三区| 国产精品入口久久| 欧美本精品男人aⅴ天堂| 成年人在线看片| 日韩特级毛片| 亚洲图片你懂的| 欧美在线播放一区| 女人18毛片一区二区三区| 美女视频第一区二区三区免费观看网站 | 欧美国产欧美亚洲国产日韩mv天天看完整 | 永久久久久久| 黄色电影免费在线看| 岛国精品在线播放| 91精品视频一区| jizz国产在线| 久久久久91| 性欧美长视频免费观看不卡| 久久精品视频免费在线观看| 大胆日韩av| 亚洲性猛交xxxxwww| 中文字幕乱码在线| 66精品视频在线观看| 欧美一区二区三区思思人| 久久人人爽av| 国产成人免费精品| 欧洲av一区二区嗯嗯嗯啊| 北条麻妃在线视频观看| 九色porny丨入口在线| 亚洲综合色在线| 成人在线免费高清视频| www在线免费观看视频| 国产精品成人免费精品自在线观看| 欧美日韩一区二区视频在线观看 | 欧美三级午夜理伦三级老人| 色三级在线观看| 国产精品丝袜黑色高跟| 亚洲国产精品www| 成a人v在线播放| 国产欧美日韩在线观看| 日韩免费三级| 9191在线| 亚洲日本va在线观看| 亚洲午夜精品一区二区三区| 午夜国产福利在线| 国产精品精品国产色婷婷| 亚洲一区二区在线免费观看| 欧美激情免费| 亚洲男人的天堂一区二区| 99精品一级欧美片免费播放| 国产福利视频在线观看| 亚洲精品菠萝久久久久久久| 91传媒免费视频| 漫画在线观看av| 91福利国产成人精品照片| 99视频在线视频| 精品女同一区二区三区在线观看| 777奇米成人网| 无码人妻丰满熟妇区毛片蜜桃精品| 视频精品国内| 亚洲国产精品资源| 91成人在线免费视频| 欧美电影《睫毛膏》| 粗暴蹂躏中文一区二区三区| 国产精品成人免费一区二区视频| 99国产精品久久久久久久| 国产成人一区二区| 国产精品乱码久久久| 国产成人精品网址| 农村寡妇一区二区三区| 日本中文字幕在线观看| 亚洲婷婷在线视频| 免费看又黄又无码的网站| 高清av一区二区三区| 欧美v日韩v国产v| 国产精品成人一区二区三区电影毛片 | 久久久久久黄| 51蜜桃传媒精品一区二区| 蜜臀久久99精品久久久| 国产无一区二区| 欧美日韩中文字幕在线播放| 日韩国产激情| 日韩视频免费观看高清完整版| 日本japanese极品少妇| 99免费精品| 8x拔播拔播x8国产精品| 亚洲一级片免费看| av不卡免费在线观看| 在线丝袜欧美日韩制服| 国产中文在线播放| 91精品婷婷国产综合久久竹菊| 日韩一级视频在线观看| 欧美~级网站不卡| 国产成人91久久精品| 国产chinasex对白videos麻豆| 久久尤物电影视频在线观看| 日韩中文在线字幕| 天然素人一区二区视频| 亚洲丁香婷深爱综合| 日韩一区二区三区四区视频| 亚洲永久免费| 国产精品二区二区三区| 麻豆影视国产在线观看| 黑人精品xxx一区| 超级砰砰砰97免费观看最新一期 | 99久久精品国产麻豆演员表| 一区二区三区四区五区视频| 成人爱爱网址| 日韩av影视综合网| 久草福利资源在线观看| 久国产精品韩国三级视频| 免费观看成人高| 咪咪网在线视频| 亚洲第一色中文字幕| 最新一区二区三区| 久久精品国产秦先生| 欧美日韩国产免费一区二区三区| 七七久久电影网| 日韩欧美一区二区视频| 成人在线观看免费完整| 九九精品视频在线看| 日本最新一区二区三区视频观看| 在线观看爽视频| 日韩精品中文字幕久久臀| 国产精品18p| 国产suv一区二区三区88区| 黄色一级片av| 日韩欧美激情电影| 欧美日韩999| www久久久com| 亚洲国产另类av| 欧美日韩人妻精品一区在线| 极品av少妇一区二区| 高清国产在线一区| 9999精品成人免费毛片在线看| 欧美变态tickle挠乳网站| 久久精品欧美一区二区| www.欧美日韩| 男人操女人免费软件| 久草精品在线| 国产精品一二三视频| 天堂资源在线中文| 欧美一级欧美一级在线播放| 欧美成人精品欧美一| 成人污污视频在线观看| 欧美一级免费播放| 午夜精品福利影院| 国产精品91久久| 免费av在线| 欧美mv日韩mv亚洲| 日日噜噜噜噜人人爽亚洲精品| 久久久久国产精品麻豆ai换脸| 国产精品拍拍拍| 久久精品国内一区二区三区水蜜桃 | 欧美男人亚洲天堂| 国产精品每日更新| 黄色一级片免费播放| 一区在线视频| 日韩欧美亚洲在线| 国产电影一区二区| 91国语精品自产拍在线观看性色 | 一区二区三区在线视频免费 | 中文字幕亚洲区| 午夜免费福利网站| 亚洲经典在线| 婷婷久久五月天| 清纯唯美激情亚洲| 91tv亚洲精品香蕉国产一区7ujn| 成人综合影院| 欧美v国产在线一区二区三区| 探花视频在线观看| 一区在线播放视频| 私密视频在线观看| 麻豆国产欧美一区二区三区| 久久久久福利视频| 美日韩中文字幕| 5g国产欧美日韩视频| 欧美性xxx| 色综合男人天堂| 牛牛澡牛牛爽一区二区| 日韩欧美在线123| 69视频免费看| 亚洲一区二区三区小说| 免费黄色在线网址| 99久久国产综合色|国产精品| 久热精品在线播放| 日韩视频久久| 今天免费高清在线观看国语| 要久久爱电视剧全集完整观看| 91久久爱成人| 福利一区二区免费视频| 98视频在线噜噜噜国产| 最爽无遮挡行房视频在线| 亚洲人高潮女人毛茸茸| 黄色一级a毛片| 91精品国产综合久久蜜臀| 精品无码一区二区三区的天堂| 亚洲综合色丁香婷婷六月图片| 美国一级黄色录像| 91丨porny丨中文| 无码人妻一区二区三区免费n鬼沢| 日韩电影在线一区| 欧美精品99久久| 黄色在线一区| 国内自拍中文字幕| 天天综合精品| 亚洲欧美国产不卡| 精品国产一区二区三区久久久樱花 | 精品国产一级毛片| 欧美福利精品| 日韩a级大片| 国产精品一区二区三区不卡| 欧美电影院免费观看| 国产美女被下药99| 台湾成人免费视频| 国产91亚洲精品| 中文不卡1区2区3区| 69av成年福利视频| 成人免费图片免费观看| 午夜剧场成人观在线视频免费观看| 国产视频中文字幕在线观看| 日韩中文字幕在线免费观看| 精彩国产在线| 一本一道久久a久久精品逆3p | 国产日本精品视频| 欧美欧美欧美欧美| 一级黄色短视频| 欧美日韩成人在线| 国产精品国产av| 91精品国产色综合久久ai换脸| 91精品中文字幕| 欧美欧美欧美欧美| 精品国产亚洲一区二区麻豆| 91精品国产手机| 男人天堂综合网| 日韩极品精品视频免费观看| 三级国产在线观看| 国产亚洲欧美日韩美女| 国产午夜在线观看| 最近2019中文免费高清视频观看www99 | www日韩大片| 中文幕无线码中文字蜜桃| 欧美激情资源网| www.av免费| 亚洲一区二区五区| 国产精品999在线观看| 高跟丝袜一区二区三区| 亚洲av无码乱码国产精品fc2| 欧美午夜精品久久久久久超碰| 亚洲综合网av| 日韩欧美的一区二区| 天天爱天天干天天操| 亚洲一区二区久久久| 黄网站app在线观看| 欧美多人爱爱视频网站| 九色porny丨入口在线| 国产激情999| 国产乱码精品一区二区三区亚洲人| 91一区二区三区| 亚洲aaa级| 亚洲日本一区二区三区在线不卡| 欧美a级片网站| a在线视频观看| 久久精品国产999大香线蕉| 在线成人免费av| 久久这里只有精品6| 福利视频第一页| 五月婷婷综合在线| 中文字字幕在线中文乱码| 日韩一级片在线播放| 视频在线不卡| 久久久精品2019中文字幕神马| 老色鬼在线视频| 国产精品视频yy9099| 国产另类在线| 亚洲精品中文字幕在线| 在线日本高清免费不卡| 99视频在线视频| 92国产精品观看| 国产一二三四区| 91极品美女在线| 亚洲国产精品久久人人爱潘金莲| 国产亚洲xxx| 福利网站在线观看| 国产一区二区丝袜| 免费av一区| 成人小视频在线观看免费| 免费观看在线综合色| 日本黄色录像片| 亚洲日本一区二区| 中文字幕一区二区免费| 日韩av一卡二卡| 国内小视频在线看| 国产区精品视频| 国产一区日韩| 日韩小视频在线播放| 国产麻豆精品在线| 青青青视频在线播放| 日韩欧美黄色动漫| 亚洲精品一区二区三区蜜桃 | 午夜国产福利视频| 日韩欧美中文第一页| 亚洲女人18毛片水真多| 久久精品国产成人| 高清欧美日韩| 日韩久久久久久久久久久久久| 久久国产精品毛片| 亚洲色图欧美日韩| 亚洲一区二区不卡免费| 国产三级三级在线观看| 日韩视频精品在线| 久久伊人国产| 日韩福利在线| 日本亚洲一区二区| 特级西西www444人体聚色| 欧美性高跟鞋xxxxhd| 色综合久久久久久| 国内精品伊人久久| 国产福利一区二区精品秒拍| 强开小嫩苞一区二区三区网站 | 在线观看三级视频欧美| 亚洲 国产 欧美 日韩| 欧美猛交免费看| 北条麻妃一区二区三区在线| 日本xxxxx18| 国产精品亚洲一区二区三区在线| 色偷偷www8888| 91精品欧美久久久久久动漫| 精品孕妇一区二区三区| 成人欧美一区二区三区黑人| 在线中文一区| 欧美一级片在线免费观看| 一区二区三区四区蜜桃| 精品黑人一区二区三区在线观看 | 一区二区三区四区在线视频| 久久99热这里只有精品| 蜜桃视频最新网址| 欧美一区二区在线看| a免费在线观看| 国产传媒欧美日韩| 中日韩视频在线观看| 中文字幕一区二区三区人妻电影| 欧美综合一区二区三区| 69xxxx欧美| 亚洲精品日韩av| 亚洲免费精品| 欧美 日韩 成人| 这里只有精品99re| 99在线视频影院| 欧美一级二级三级| 久久91精品久久久久久秒播| 麻豆精品一区二区三区视频| 亚洲成人激情图| 成人看片网页| 国产香蕉一区二区三区| www.亚洲精品| 在线免费av片| 九九热这里只有在线精品视| 任你躁在线精品免费| 欧美一级片中文字幕| 亚洲欧美激情一区二区| 乱精品一区字幕二区| 国产成人久久久| 在线观看免费一区二区| 久久人妻一区二区| 欧美乱熟臀69xxxxxx| aa级大片免费在线观看| 婷婷久久伊人| 91在线视频免费91| 一级特黄aaaaaa大片| 午夜精品在线视频| 香蕉久久网站| 91视频在线网站| 日韩欧美综合在线| 欧美日韩女优| 日本午夜激情视频| 中文字幕日本不卡| 日本成人一区| 国产精品一码二码三码在线| 麻豆精品国产91久久久久久| 精品91久久久|