DOxygen for C++使用說明——Markdown支持

自Doxygen 版本1.8.0,Markdown被引進。
接下來,我們將先簡單介紹標準的Markdown語法,讀者可以進入Markdown官網查詢更詳細的細節。然后討論一下Doxygen支持的Markdown擴展,最后討論一下Doxygen對Markdown標準的實現細節。

Standard Markdown

Paragraphs

實際上甚至在Doxygen支持Markdown之前,它處理段落的方式與Markdown如出一轍:為了生成一個段落,只需在兩個連續的行間加至少一個空行即可。
例如:

Here is text for one paragraph.We continue with more text in another paragraph.

Headers

就像Markdown一樣,doxygen支持兩種形式的標題。Level 1或者2標題可以通過一下形式生成:

This is a level 1 header
========================This is a level 2 header
------------------------

每個標題后緊跟著包含‘=’與’-‘的一行。‘=’或者’-‘的數量是不重要的,只要他們至少兩個即可。

你也可以在一行的開始使用’#’。‘#’的數量決定了標題的層次(最終支持6層).你可以通過任意數量(包含0)的’#’結束標題。

例如:

# This is a level 1 header### This is level 3 header #######

Block quotes

我們可以通過在一行的開始鍵入1個或者多個’>’創建塊引用。
如下:

> This is a block quote
> spanning multiple lines

列表和代碼可以出現在塊引用中。塊引用也支持嵌套使用。

注意:Doxygen要求我們在最后一個’>’后空一格才能開始寫其他的字符。
例如:

>  if OK\n
>1 if NOK

第二行并不能被視作一個 block quote.

Lists

一些簡單的列表可以以-,+,*開頭。

- Item 1More text for this item.- Item 2+ nested list item.+ another nested item.
- Item 3

效果為:

  • Item 1

    More text for this item.

  • Item 2

    • nested list item.
    • another nested item.
  • Item 3

也有數字列表,如下:

1. First item.
2. Second item.

Code Blocks

在兩個正常的段落中插入一段代碼,只需要將每行代碼開頭,留至少4個空格

This a normal paragraphThis is a code blockWe continue with a normal paragraph again.

Doxygen將移出對代碼塊的強制識別。注意:我們也不能在段落中間開始代碼塊,即代碼塊與上一句之間必須空一行。

Horizontal Rulers

可以通過至少3個*,-, _產生水平參考線。

例如:

- - -
***
______

效果為:




Emphasis

斜體,使用一個*或者_.
黑體,使用兩個*或者_.
例如:

 *single asterisks*_single underscores_**double asterisks**__double underscores__

效果:
single asterisks

single underscores

double asterisks

double underscores

code spans

為了揭示代碼的范圍,你需要使用(`)括起來。不像代碼塊,code spans可以出現在一個段落里。例如:

Use the `printf()` function.

Doxygen支持兩種形式的鏈接:inline and reference.
兩種形式的鏈接都以[鏈接文本]開始。

對于 inline link,文本后直接跟著一個URL。
例如:

[The link text](http://example.net/)
[The link text](http://example.net/ "Link title")
[The link text](/relative/path/to/index.html "Link title") 
[The link text](somefile.html) 

另外,doxygen也提供了一個相似的方式去鏈接一個已經注釋過的實體。

[The link text](@ref MyClass) 

不同于Inline Links直接將URL放在內部,你也可以將定義一個link與將其指向一個文本分開。
例如:

[link name]: http://www.example.com "Optional title"

以上”Optional title”也可以改為:

(Optional title)
‘Optional title’

一旦定義好, 鏈接看起來如下:

[link text][link name]

如果link text 和 link name 是相同的, 也可以

[link name][]

or even

[link name]

注意:link name 匹配是不區分大小寫的。
例如:

I get 10 times more traffic from [Google] than from
[Yahoo] or [MSN].[google]: http://google.com/         "Google"
[yahoo]:  http://search.yahoo.com/  "Yahoo Search"
[msn]:    http://search.msn.com/    "MSN Search"

Link definitions(即” “里的內容)將不會出現在結果中。

也支持內部鏈接,如下:

[myclass]: @ref MyClass "My class"

Images

Markdown 關于images 的語法類似于links. 唯一的區別是在link text前加了一個!

例如:

![Caption text](/path/to/img.jpg)
![Caption text](/path/to/img.jpg "Image title")
![Caption text][img def]
![img def][img def]: /path/to/img.jpg "Optional Title"

并且你也可以使用@ref to link to an image:

![Caption text](@ref image.png)
![img def][img def]: @ref image.png "Caption text"

The caption text is optional.

Automatic Linking

為了支持URL or e-mail address的鏈接, Markdown 支持如下語法:

<http://www.example.com>
<https://www.example.com>
<ftp://www.example.com>
<mailto:address@example.com>
<address@example.com>

注意 : doxygen在沒有尖括號時,也可以產生Links.

Markdown Extensions

Table of Contents

Doxygen可以使用 [TOC] 來添加章節目錄。

注意: [TOC] 等價于 \tableofcontents .

Tables

直接看例子:

First Header  | Second Header
------------- | -------------
Content Cell  | Content Cell 
Content Cell  | Content Cell 

效果:

列對齊可以控制通過在分割線兩頭添加一個或兩個冒號。
例如:

| Right | Center | Left  |
| ----: | :----: | :---- |
| 10    | 10     | 10    |
| 1000  | 1000   | 1000  |

效果:

Fenced Code Blocks

一個帶圍欄的code block不要求能識別代碼。它可以通過一對”fence lines”定義。一行中至少3個(~).開頭和結尾有相同數量的波浪線。
如下:

This is a paragraph introducing:~~~~~~~~~~~~~~~~~~~~~
a one-line code block
~~~~~~~~~~~~~~~~~~~~~

默認輸出和 normal code block相同。

對于Doxygen支持的語言,我們也可以通過標明后綴名來實現語法高亮。例如:對于python

~~~~~~~~~~~~~{.py}
# A class
class Dummy:
    pass
~~~~~~~~~~~~~

效果:


對于C,有:

~~~~~~~~~~~~~~~{.c}
int func(int a,int b) { return a*b; }
~~~~~~~~~~~~~~~

效果:

也可以通過至少3個引號(`)來表明代碼塊。

Header Id Attributes

標準的Markdown不支持標記標題,但是當你想要鏈接一個章節時,便會出現錯誤。

PHP Markdown額外支持標記標題,如下:

Header 1                {#labelid}
========## Header 2 ##          {#labelid2}

為了鏈接章節,只需要:

  [Link text](#labelid)

你也可以使用@ref

  [Link text](@ref labelid)

注意;以上僅支持Level1 to 4.

Doxygen specifics

Including Markdown files as pages

如果標題的標簽為index or mainpage, doxygen 將會把它放在首頁 (index.html).

Here is an example of a file README.md that will appear as the main page when processed by doxygen:

My Main Page                         {#mainpage}
============

如果a page有一個標簽,你可以使用@ref來鏈接它。
當然了,如果不使用標簽來鏈接a markdown page,你也可以直接使用文件名,如下:

See [the other page](other.md) for more info.

效果:
See the other page for more info.

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/259085.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/259085.shtml
英文地址,請注明出處:http://en.pswp.cn/news/259085.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

方程式漏洞之復現window2008/win7 遠程命令執行漏洞

前幾天就想寫的&#xff0c;因為一些緣故就沒寫。此次是在外網環境下進行的。大家在內網中也一個樣。 方法&#xff1a; 使用Eternalblue模塊&#xff0c;劍測是否有漏洞然后msf生成一個dll直接反彈shell. PS&#xff1a;win版本的不知道緣何生成出來的dll是0kb 我就在自己本地…

C++空類和string類

1. 空類 1.1 空類默認哪六個成員函數。 1 class Empty2 {3 public:4 Empty(); //缺省構造函數 Empty e;5 Empty( const Empty& ); //拷貝構造函數 Empty e2(e1);6 ~Empty(); //析構函數7 Empty& operator( const Empty& ); //賦值運算符…

客服會話 小程序 如何發起_小程序、公眾號、App三者如何融合布局?這里有一份避坑指南...

對產品經理來說&#xff0c;小程序無疑是2020年最火爆的詞之一了。我們能看到&#xff0c;就在今年疫情期間&#xff0c;小程序DAU達到4.5億&#xff0c;而超市、生鮮果蔬、社區購物等都同比增長100個點左右&#xff0c;小程序的商業價值很明顯地在快速釋放。小程序如此火爆&am…

DOxygen for C++使用說明——注釋代碼二

這一次我在谷歌搜索中檢索到了Doxygen在github的倉庫&#xff0c;進去一看&#xff0c;令人大喜&#xff0c;github倉庫里含有了一個Doxygen的官方配置文件Doxyfile,于是下載下來&#xff0c;發現Doxyfile已經配置了將倉庫中的\src文件編譯成Documentation,并且將結果放在了dox…

python super()(轉載)

一、問題的發現與提出 在Python類的方法&#xff08;method&#xff09;中&#xff0c;要調用父類的某個方法&#xff0c;在Python 2.2以前&#xff0c;通常的寫法如代碼段1&#xff1a; 代碼段1&#xff1a; class A:def __init__(self):print "enter A"print "…

Swagger+Spring mvc生成Restful接口文檔

2019獨角獸企業重金招聘Python工程師標準>>> Swagger 是一個規范和完整的框架&#xff0c;用于生成、描述、調用和可視化 RESTful 風格的 Web 服務。總體目標是使客戶端和文件系統作為服務器以同樣的速度來更新。文件的方法&#xff0c;參數和模型緊密集成到服務器端…

JavaScript——變量與基本數據類型

前言 JavaScript中的變量為松散類型&#xff0c;所謂松散類型就是指當一個變量被申明出來就可以保存任意類型的值&#xff0c;就是不像SQL一樣申明某個鍵值為int就只能保存整型數值&#xff0c;申明varchar只能保存字符串。一個變量所保存值的類型也可以改變&#xff0c;這在Ja…

vscode可以打開jupyternotebook嗎_剛剛,官方宣布 VS Code 支持 Python 全開發了!

關注Python高校每天早上23:10準時推送北京時間 2019 年 9 月 21 日&#xff0c;PyCon China 2019 在上海舉行。在下午的演講中&#xff0c;來自微軟開發工具事業部的資深研發工程師韓駿做了主題為《Python 與 Visual Studio Code 在人工智能應用中的最佳 Azure 實踐》的演講。在…

C++類的內聯成員函數應放在哪

今天復習C Primer的時候&#xff0c;看到了關于C類的內聯成員函數的放置&#xff0c;應該放在頭文件中。那么這到底是為什么 呢&#xff1f;僅僅是一種代碼規范問題還是必須這樣做呢&#xff1f; 下面我就來講講我自己的理解吧。要徹底理解這個問題&#xff0c;首先就要了解下函…

python selenium自動化(三)Chrome Webdriver的兼容

當一個自動化測試被實現在一個瀏覽器之后&#xff0c;我們會希望我們的測試能夠覆蓋到盡量多的別的瀏覽器。通過跨平臺的測試來保證我們的程序在多個瀏覽器下都能正常工作。 在安裝了selenium之后&#xff0c;firefox webdriver和IE webdriver就已經是ready to use的了&#xf…

NDK 編譯armebai-v7a的非4字節對齊crash Fatal signal 7 (SIGSEGV) 錯誤解決

一直都是編譯armabi的。沒有不論什么問題&#xff0c;這個架構是軟件模擬浮點運算的。后來看到NDK文檔上說armabi-v7a是針對有硬件處理浮點計算的arm cpu的。 于是就改動配置編譯armebai-v7a的so文件。 結果是編譯沒問題。一執行就是crash掉&#xff0c;Fatal signal 7 (SIGSEG…

作業三

作業三 第一章問題&#xff1a;書上寫的“Bug的多少可以直接衡量一個軟件的開發效率、用戶滿意度、可靠性和可維護性”&#xff0c;那么一個比較完好的軟件中一般大概會出現多少Bug? 第二章問題&#xff1a;現在開始訓練寫更多的程序能否更早地達到軟件工程師的標準&#xff1…

springboot默認數據源如何設置連接數_Spring Boot系列之配置數據庫連接池

在實際的應用開發中&#xff0c;與數據庫交互通常使用數據庫連接池來重用Connection對象&#xff0c;減少資源消耗。Spring Boot 的數據源是自動配置的。在 Spring Boot 2.2.1 版本中&#xff0c;有幾種數據源配置可選&#xff0c;它們按照 HikariCP -> Tomcat -> DBCP2 …

使用Qt正則表達式提取全路徑的文件名

問題描述&#xff1a; 給定三個全路徑&#xff0c;例如 path1"C:/Users/asus/Desktop/nefertiti_4465.obj"; path2"C:/Users/asus/Desktop/nefertiti_4465_k1.txt"; path3"C:/Users/asus/Desktop/nefertiti_4465_k2.txt"; 我希望說明path2和pa…

Beyond Compare 3.3.8 build 16340 + Key

本文摘錄自冰點社區&#xff1a;http://forum.z27315.com/topic/14746-beyond-compare-338-build-16340-key/ Download Beyond Compare 3 Current Version: 3.3.8, build 16340, released June 19, 2013 Windows 版本 Windows Standard and Pro EditionsEnglish version 5800k…

hdu 1198 Farm Irrigation

題目鏈接&#xff1a; http://acm.hdu.edu.cn/showproblem.php?pid1198 題目大意&#xff1a; 有一大塊土地需要澆水&#xff0c;這塊土地由很多的小塊土地&#xff08;有十一種&#xff09;組成&#xff0c;小塊土地上有水溝&#xff0c;問至少需要建幾個井&#xff0c;才能灌…

strcpy_s、sptintf_s與strcat_s的使用

strcpy_s、sptintf_s與strcat_s是strcpy、sptintf與strcat的安全版本&#xff0c;均是通過指定緩沖區長度來避免存在的溢出風險。 strcpy_s 與strcpy strcpy_s和strcpy函數的功能幾乎是一樣的。strcpy函數&#xff0c;就象gets函數一樣&#xff0c;它沒有方法來保證有效的緩沖…

小米一鍵上鎖工具_小米首款高端全自動智能鎖火熱預售中,一觸開啟全自動時代...

近些年&#xff0c;隨著科技的發展&#xff0c;人工智能逐漸走入大眾視野。人類社會也正從信息時代向“智能時代”過渡&#xff0c;在整個過程中智能家居領域的蓬勃發展可謂當仁不讓&#xff0c;一直備受用戶矚目。智能鎖作為家的第一道守護防線&#xff0c;家庭物聯網入口的關…

Eigen+suitesparse for windows 安裝

Eigen是著名的C矩陣運算庫&#xff0c;提供了許多矩陣運算的接口&#xff0c;主要包括兩大部分&#xff0c;一部分是稠密矩陣&#xff0c;另一部分是稀疏矩陣。Eigen以源碼形式提供給大家&#xff0c;用的時候&#xff0c;只要將源碼包含在項目的包含路徑上&#xff0c;具體安裝…

軟件盤控制的問題

2019獨角獸企業重金招聘Python工程師標準>>> 在全屏模式或者是沉寢室標題欄 方案一&#xff1a;全屏模式 1.軟鍵盤被EditText遮擋住了&#xff0c;如果說EditText被嵌套在有滑動的視圖中,采取的方式是: activity中設置此屬性 android:windowSoftInputMode"…