最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

go語言實現(xiàn)markdown解析庫的方法示例

 更新時間:2020年02月03日 15:26:49   作者:lu569368  
這篇文章主要介紹了go語言實現(xiàn)markdown解析庫的方法示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

Blackfriday是在Go中實現(xiàn)的Markdown處理器。您可以安全地輸入用戶提供的數(shù)據(jù),速度快,支持通用擴展(表,智能標點符號替換等),并且對于所有utf-8(unicode)都是安全的輸入。

當前支持HTML輸出以及Smartypants擴展。

使用

首先當然要引入:

import github.com/russross/blackfriday

然后

output := blackfriday.MarkdownBasic(input)

這里input是[]byte類型,可以將markdown類型的字符串強轉為[]byte,即input = []byte(string)

如果想過濾不信任的內容,使用以下方法:

代碼:

package main

import (
  "fmt"

  "github.com/microcosm-cc/bluemonday"
  "github.com/russross/blackfriday"
)

func main() {
  input := []byte("### 5lmh.com是個不錯的go文檔網站")
  unsafe := blackfriday.MarkdownCommon(input)
  html := bluemonday.UGCPolicy().SanitizeBytes(unsafe)
  fmt.Println(string(html))
}

基本上就這些操作

我的使用方法是在添加新文章時,將表單提交的數(shù)據(jù)直接通過上面的方法轉換后,將markdown和轉換后的內容都存儲到數(shù)據(jù)庫中

不過我在前端渲染時,又出現(xiàn)了問題,就是轉換后的內容中的html標簽會直接顯示在網頁上,為避免這種狀況,我使用了自定義模板函數(shù)

  // 定義模板函數(shù)
  func unescaped(x string) interface{} { return template.HTML(x)}

  // 注冊模板函數(shù)
  t := template.New("post.html")
  t = t.Funcs(template.FuncMap{"unescaped": unescaped})
  t, _ = t.ParseFiles("templates/post.html")
  t.Execute(w, post)

  // 使用模板函數(shù)

  {{ .Content|unescaped }}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • Go語言學習技巧之命名規(guī)范

    Go語言學習技巧之命名規(guī)范

    最近在學習go語言,發(fā)現(xiàn)了不少需要整理的知識點,所以整理下分享出來,下面這篇文章主要給大家介紹了關于Go語言學習技巧之命名規(guī)范的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-12-12
  • Go語言題解LeetCode561數(shù)組拆分

    Go語言題解LeetCode561數(shù)組拆分

    這篇文章主要為大家介紹了Go語言題解LeetCode561數(shù)組拆分示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-12-12
  • 超越傳統(tǒng):Go語言并發(fā)編程的新境界

    超越傳統(tǒng):Go語言并發(fā)編程的新境界

    Go語言是一種開源的編程語言,以其強大的并發(fā)編程能力而聞名,本文將介紹Go語言并發(fā)編程的新境界,探討如何利用Go語言的特性來實現(xiàn)高效的并發(fā)編程,需要的朋友可以參考下
    2023-10-10
  • golang中單向channel的語法介紹

    golang中單向channel的語法介紹

    通過消息來共享數(shù)據(jù)是golang的一種設計哲學,channel則是這種哲理的體現(xiàn)。下面這篇文章主要給大家介紹了關于golang中單向channel語法的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友們下面來一起看看吧。
    2017-07-07
  • go語言中range用法

    go語言中range用法

    這篇文章主要介紹了go語言中range用法,實例分析了Go語言中range的功能及使用技巧,需要的朋友可以參考下
    2015-03-03
  • go實現(xiàn)限流功能示例

    go實現(xiàn)限流功能示例

    這篇文章主要為大家介紹了go實現(xiàn)限流功能示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-08-08
  • Golang實現(xiàn)帶優(yōu)先級的select

    Golang實現(xiàn)帶優(yōu)先級的select

    這篇文章主要為大家詳細介紹了如何在Golang中實現(xiàn)帶優(yōu)先級的select,文中的示例代碼講解詳細,對我們學習Golang有一定的幫助,需要的可以參考一下
    2023-04-04
  • Golang截取字符串方法示例講解及對比

    Golang截取字符串方法示例講解及對比

    這篇文章主要介紹了Golang截取字符串方法,文中介紹了使用rune函數(shù)和utf包以及range遍歷的方式,熟練掌握這些可以幫助我們更方便地處理字符串,提高編程效率和代碼質量,感興趣的同學可以參考下文
    2023-05-05
  • Golang切片Slice功能操作詳情

    Golang切片Slice功能操作詳情

    這篇文章主要介紹了Golang切片功能操作詳情,切片是一個擁有相同類型元素的可變長度的序列。它是基于數(shù)組類型做的一層封,切片是一個引用類型,它的內部結構包含地址、長度和容量
    2022-09-09
  • Go 實現(xiàn)熱重啟的詳細介紹

    Go 實現(xiàn)熱重啟的詳細介紹

    這篇文章主要介紹了Go 實現(xiàn)熱重啟的詳細介紹,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-09-09

最新評論

太白县| 方正县| 高碑店市| 澳门| 宿迁市| 张家川| 海林市| 惠东县| 龙南县| 剑阁县| 息烽县| 惠东县| 汉川市| 桂林市| 新蔡县| 桂东县| 山东省| 建昌县| 奎屯市| 高陵县| 肥城市| 阿尔山市| 孙吴县| 榆林市| 会同县| 抚顺县| 蒙自县| 卢湾区| 天全县| 河北区| 吉水县| 彝良县| 花莲市| 惠水县| 麦盖提县| 桂阳县| 改则县| 鸡西市| 怀远县| 红原县| 山丹县|