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

CommonMark 使用教程:將 Markdown 語法轉(zhuǎn)成 Html

 更新時間:2019年06月20日 14:58:37   作者:老郭  
這篇文章主要介紹了CommonMark 使用教程:將 Markdown 語法轉(zhuǎn)成 Html,這個技巧我們做任何網(wǎng)站都可以用到,而且非常好用。,需要的朋友可以參考下

Markdown寫作

從 2016年 開始寫博客,我的寫作方式一直在改變,準確的說一直在進步,因為效率越來越高。

最初在 CSDN 上寫東西時非常蹩腳,在他們編輯器上寫點然后調(diào)整格式,再寫,碰到圖片還得將圖片插入進去,調(diào)整圖片大小位置等等,調(diào)整完繼續(xù)寫。

效率非常低。

后面了解到 Markdown ,改用 MD 寫東西,效率快很多。后面在 Markdown 基礎(chǔ)上慢慢優(yōu)化找到自己的寫作方式。

一般我用 MD 語法寫完后,得到的是一堆帶 MD 符號的文字,以下簡稱 MD文本。

然后會通過工具轉(zhuǎn)成對應(yīng) Html 標記文本,復(fù)制到博客編輯框中,這就是最后顯示的文章。

到這一步不知道大家發(fā)現(xiàn)沒,假設(shè)我們能通過代碼將 MD文本 轉(zhuǎn)成對應(yīng)的 Html文本,這樣只要我們能獲取到文章的 MD文本,也就獲取到文章的最后顯示。

如果我們要做一個自動生產(chǎn)文章的網(wǎng)站,只剩下一步,如何自動不斷的獲取 MD文本, 接著就能不斷轉(zhuǎn)成對應(yīng)文章,然后發(fā)布。如果對于全是以內(nèi)容為主的網(wǎng)站當然沒辦法不斷獲取 MD文本,畢竟內(nèi)容為主,很多東西都不固定。

但如果網(wǎng)站是下載站呢?下載站主要是提供文件下載,內(nèi)容只是對文件的簡單介紹,基本就是百度百科內(nèi)容,整個文章其實已經(jīng)固定,有一定規(guī)律,這樣是有可能會不斷獲取 MD文本。

以上內(nèi)容都是在說明 CommonMark的重要性。

CommonMark

使用起來很簡單。這里我主要介紹操作其中一些標簽的方法,大家可以舉一反三,自定義其他各種標簽。這里我舉例兩個標簽的自定義: 圖片,超鏈接。

  • 因為 CommonMark 默認轉(zhuǎn)成的 Html 是不會帶圖片大小和位置的。
  • 超鏈接也是,默認轉(zhuǎn)成后點擊鏈接會在本網(wǎng)頁跳轉(zhuǎn)到超鏈接網(wǎng)頁,我希望的效果是點擊超鏈接后,會在瀏覽器另開一個網(wǎng)頁打開。這樣對網(wǎng)站的留存率會好點吧。

Maven依賴

<dependency>
<groupId>com.atlassian.commonmark</groupId>
<artifactId>commonmark</artifactId>
<version>0.11.0</version>
</dependency>

自定義標簽屬性操作類

static class PAttributeProvider implements AttributeProvider {
@Override
public void setAttributes(Node node, String tagName, Map<String, String> attributes) {
if (node instanceof Image) {
attributes.put("style", "width:150px;height:200px;position:relative;left:50%;margin-left:-100px;");
}
if(node instanceof Link){
attributes.put("target", "_blank");
}
}
}

如上我操作了兩個標簽:Image 和 Link,分別在標簽中加了一些屬性。這里我只是舉例,不一定要跟著這樣操作,不操作標簽也行。

這一步的目的是為了說明有這個方法而已。

markdown轉(zhuǎn)成html

Parser parser = Parser.builder().build();
Node document = parser.parse(md);
HtmlRenderer renderer = HtmlRenderer.builder().
attributeProviderFactory(new AttributeProviderFactory() {
@Override
public AttributeProvider create(AttributeProviderContext attributeProviderContext) {
return new PAttributeProvider();
}
}).
build();
String mdHtml = renderer.render(document);

ok,已經(jīng)轉(zhuǎn)成 html 了,方法使用就是這么簡單。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java最簡單的DES加密算法實現(xiàn)案例

    Java最簡單的DES加密算法實現(xiàn)案例

    下面小編就為大家?guī)硪黄狫ava最簡單的DES加密算法實現(xiàn)案例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • Java類加載機制實現(xiàn)步驟解析

    Java類加載機制實現(xiàn)步驟解析

    這篇文章主要介紹了Java類加載機制實現(xiàn)步驟解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-03-03
  • SpringBoot一個非常蛋疼的無法啟動的問題解決

    SpringBoot一個非常蛋疼的無法啟動的問題解決

    這篇文章主要介紹了SpringBoot一個非常蛋疼的無法啟動的問題解決,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • java實現(xiàn)置換密碼加密解密

    java實現(xiàn)置換密碼加密解密

    這篇文章主要為大家詳細介紹了java實現(xiàn)置換密碼加密解密,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-03-03
  • Java方法簽名為何不包含返回值類型

    Java方法簽名為何不包含返回值類型

    這篇文章主要介紹了Java方法簽名為何不包含返回值類型,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-06-06
  • 在Spring中如何使用動態(tài)代理?

    在Spring中如何使用動態(tài)代理?

    上篇文章記錄自定義切面,下邊記錄使用注解來編寫自定義切面,文中有非常詳細的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06
  • java跳出循環(huán)的三種方式總結(jié)(break語句、continue語句和return語句)

    java跳出循環(huán)的三種方式總結(jié)(break語句、continue語句和return語句)

    在實際編程中,有時需要在條件語句匹配的時候跳出循環(huán),下面這篇文章主要給大家介紹了關(guān)于java跳出循環(huán)的三種方式,其中包括break語句、continue語句和return語句的相關(guān)資料,需要的朋友可以參考下
    2023-03-03
  • 詳解SpringBoot 多線程處理任務(wù) 無法@Autowired注入bean問題解決

    詳解SpringBoot 多線程處理任務(wù) 無法@Autowired注入bean問題解決

    這篇文章主要介紹了詳解SpringBoot 多線程處理任務(wù) 無法@Autowired注入bean問題解決,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-06-06
  • Spring Boot整合Spring Security的示例代碼

    Spring Boot整合Spring Security的示例代碼

    這篇文章主要介紹了Spring Boot整合Spring Security的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04
  • Java使用Queryable-pageable實現(xiàn)分頁效果

    Java使用Queryable-pageable實現(xiàn)分頁效果

    這篇文章主要為大家介紹了Java如何使用Queryable-pageable從而實現(xiàn)分頁效果,文中的示例代碼簡潔易懂,感興趣的小伙伴可以動手嘗試一下
    2022-06-06

最新評論

尼木县| 大邑县| 左云县| 连南| 常德市| 乃东县| 吉木乃县| 水富县| 鞍山市| 西乌珠穆沁旗| 延寿县| 湘西| 榆林市| 罗江县| 灵宝市| 建阳市| 肇东市| 彩票| 巴塘县| 潮州市| 丽江市| 望江县| 望都县| 灌阳县| 富锦市| 剑川县| 郁南县| 清徐县| 湘潭市| 鄂托克前旗| 大化| 金乡县| 林西县| 南充市| 海阳市| 龙里县| 双城市| 和平县| 金塔县| 襄城县| 赤水市|