jazzy 文件生成器使用
jazzy 是乙個命令列實用程式,可以為 swift 或者 objective-c 生成文件,輸出風格和官方文件匹配(也可以自定義模板)
如果是 swift和 objective-c 混合專案生成文件,需要通過 sourcekitten 生成分別生成 swift和 objective-c 然後再利用 jazzy 生成文件,詳情參考 github readme 中 mixed objective-c/swift部分。
具備以下特性:
支援標準的objective-c和swift文件注釋語法
利用現代html模板(moustache)
利用clang ast和sourcekit的強大功能和準確性
對das**檔集的支援
支援swift和objective-c
文件注釋的前提是有規範的注釋
終端執行
sudo brew install jazzy
swift
objective-c
僅僅支援以下關鍵字
文件交叉鏈結
swift
進入專案終端路徑,以下是 real 文件建立命令
jazzy \
--clean \
--author realm \
--author_url \
--github_url \
--github-file-prefix /tree/v0.96.2 \
--module-version 0.96.2 \
--build-tool-arguments -scheme,realmswift \
--module realmswift \
--root-url /docs/swift/0.96.2/api/ \
--output docs/swift_output \
--theme docs/themes
使用 swift package manager
jazzy \
--module deckofplayingcards \
--swift-build-tool spm \
--build-tool-arguments -xswiftc,-swift-version,-xswiftc,5
objective-c
objective-c 就稍微麻煩一點,需要新增以下引數
以下是用於生成afnetworking
文件命令
jazzy \
--objc \
--author afnetworking \
--author_url \
--github_url \
--github-file-prefix /tree/2.6.2 \
--module-version 2.6.2 \
--umbrella-header afnetworking/afnetworking.h \
--framework-root .
\ --module afnetworking
混編專案
需要借助 sourcekitten 來分別生成 swift 和 objective-c 的 json文件, 然後在通過 jazzy 合併。
示例
# generate swift sourcekitten output
sourcekitten doc -- -workspace myproject.xcworkspace -scheme myscheme > swiftdoc.json
# generate objective-c sourcekitten output
sourcekitten doc --objc $(
pwd)
/myproject/myproject.h \
-- -x objective-c -isysroot $(xcrun --show-sdk-path --sdk iphonesimulator)
\ -i $(
pwd)
-fmodules > objcdoc.json
# feed both outputs to jazzy as a comma-separated list
jazzy --sourcekitten-sourcefile swiftdoc.json,objcdoc.json
fullwidth
example:
jony
example:
比如使用 jony 樣式
jazzy --theme jony
預設輸出的 swift 文件控制許可權為open
和public
,我麼可以通過--min-acl
(access control list)來修改輸出文件許可權。可選引數internal
、private
和fileprivate
。這個是和 swift 的控制許可權一致。
使用示例
jazzy --min-acl internal //internal 及以上的文件注釋都可以輸出
支援萬用字元
--include
包含檔案
jazzy --include=/users/fred/project/sources/secret.swift
-包含特定檔案
--exclude
排除檔案
請注意,該--include
選項在--exclude
選項之前應用
包含文件注釋的宣告:nodoc:
將從文件中排除。
除了可以通過終端命令配置,還可以在專案下建立jazzy 的配置檔案,更方便和有記錄性的配置文件要求。
reswift使用了 jazzy 建立文件,且實現了自定義目錄和自定義 html 模板(具體可以檢視專案的 .jazzy.json配置)
配置檔案支援 json 和 yaml, 這裡我們使用 yaml, 執行jazzy
會預設檢查,如果目錄下有.jazzy.yaml
配置,則會自動該配置。
json 配置格式建議使用 json 配置,不用學習 yaml 語法。可以參考 reswift 的 jazzy.json 檔案.yaml.json
執行jazzy 需要指定 config 路徑jazzy --config .yaml.json
示例專案
進入專案目錄下,建立配置檔案
touch .jazzy.yaml
基本配置
# 基本資訊配置
author
: sven
#author_url: "" # 作者位址鏈結
module
: jazzydocument # 需要和專案一致
theme
module_version
: 1.0.0 # 文件版本號
output
:"./apidocs"
# 文件輸出位置
min_acl
: internal # 許可權控制
#readme: # readme 路徑(路徑需要引號)
documentation
:"*/docs/*.md"
# markdown文件位置
# 忽略檔案
exclude:-
-"*/scenedelegate.swift"
為了專案的可讀性,我們可以使用自定義目錄,新增 markdown(需要指定 documentation) 和 檔案目錄。
# 自定義目錄
custom_categories:-
name
:"使用指導"
children:-
"開始"
-"安裝"
-"結束"
-name
:"列舉"
children:-
"diration"
-name
:"類"
children:-
"myclass"
-"viewcontroller"
待完成。。。
jazzy – github.realm
cocoa **注釋與文件生成 – 掘金.土土 edmond 木:介紹文件規範,可作為平時編碼規範。
swift api 設計準則 對 api 命名官方約定和建議。
擴充套件蘋果官方的 docc,可參考docc: 未曾設想的蘋果文件
Sandcastle幫助文件生成器使用介紹
一 軟體介紹 sandcastle是乙個管理類庫的文件編譯器,是用於編譯發布元件 assembly 資訊的乙個工具,這個工具通過反射和xslt技術,可以從dll檔案及其xml注釋 命令列編譯時加 doc引數或vs2005設定專案屬性得到 得到乙個完整的幫助文件,格式可以是html或chm甚至是任何自...
python生成器使用方式
生成器是一種特殊的迭代器。生成器的第一種建立方式 生成器就是將列表的中括號程式設計小括號即可 nums x for x in range 10 結果 0,1,2,3,4,5,6,7,8,9 nums x for x in range 10 結果 at for num in nums print nu...
keras 資料生成器使用小結
今天嘗試用keras實現simgan,在讀入資料時遇到了幾個坑,記錄一下。coding utf 8 import os import sys import keras from keras import layers from keras import models from keras impor...