如何创建具有多个库包的 docgen 解决方案?与 Dart 类似,左侧垂直菜单包含每个库的链接。 示例:我的 dart 编辑器工作区包含 5 个项目
mowbotnavrc_server (server)
mowbotnavrc_web (client)
mowbotnavrc (library)
mowbotnavrc_protocol (library)
osswebwidgets (library)
我想要在index.html 的左侧菜单中列出上面的3 个库包。当我添加更多库时,它们每个都会在左侧菜单中获得一个链接。目前,我只能单独生成每个库,没有问题。
cd %project-folder%
:: <<< Run pub get to get the dependencies >>>
cmd /c %dart-sdk-bin%\pub get
cmd /c docgen.bat --verbose %OPTIONS% --out %ENV-PROJECT-DOCS% --no-include-sdk --no-include-dependent-packages --package-root=%project-folder%\packages %project-folder%\lib
根据文档的 --append 选项听起来像是我需要的,但我从未让它工作。
--append
Use the same format used the last time the docs were generated,
as stated in library_list.json. Add the newly generated documentation
to the docs directory, library_list.json, and index.txt.
我使用的是 Dart SDK 版本 1.4.0-dev.2.2。我认为 --append 从 1.4 开始已弃用。任何建议表示赞赏。
最佳答案
根据 Günter 的回答,我能够让 Windows 命令版本正常工作。也许其他人也会发现有帮助。
:: ===========================================================================
:: DOCGEN: MOWBOT Dart Project
:: ===========================================================================
mode con:cols=135 lines=50
:: --------------------------------------------
:: Initialize environment variables
:: --------------------------------------------
setlocal
set PATH-DARTSDKBIN=F:\Public\Downloads\Darteditor-windows-x64\dart\dart-sdk\bin
set PATH=%PATH%;%PATH-DARTSDKBIN%
set PATH-DARTPROJECTS=C:\Users\OSSDevYorgi\DartProjects
set PATH-DARTDOCS=C:\Users\OSSDevYorgi\DartDocs
set ERRORMSG=
:: --------------------------------------------
:: Initialize PATH-DARTDOCS & PATH-DARTDOCS-MOWBOT folders
:: --------------------------------------------
IF NOT EXIST %PATH-DARTDOCS% mkdir %PATH-DARTDOCS%
set PATH-DARTDOCS-MOWBOT=%PATH-DARTDOCS%\mowbot
IF NOT EXIST %PATH-DARTDOCS-MOWBOT% (
mkdir %PATH-DARTDOCS-MOWBOT% 1> nul
) ELSE (
del %PATH-DARTDOCS-MOWBOT% /s /q 1> nul
)
:: --------------------------------------------
:: MAIN DOC PROJECT:mowbotnavrc
:: --------------------------------------------
set PROJECT-NAME=mowbotnavrc
set PATH-PROJECT=%PATH-DARTPROJECTS%\libraries\%PROJECT-NAME%
set PROJECTLIBS=lib\mowbotnavrc.dart
set PROJECTLIBS=%PROJECTLIBS% %PATH-DARTPROJECTS%\libraries\mowbotnavrc_protocol\lib\protobufs\mowbot.pb.dart
set PROJECTLIBS=%PROJECTLIBS% %PATH-DARTPROJECTS%\webcomponents\osswebwidgets\lib\instruments.dart
::set PROJECTLIBS=%PROJECTLIBS% %PATH-DARTPROJECTS%\webcomponents\osswebwidgets\lib\guages.dart
::set STARTPAGE=%PROJECT-NAME%
:: --------------------------------------------
:: VERIFY FOLDERS EXIST
:: --------------------------------------------
@IF EXIST %PATH-PROJECT% goto :BUILDDOCS
@set ERRORMSG="PATH NOT FOUND "%PATH-PROJECT%
@goto :ERRORHANDLER
:: --------------------------------------------
:: SUBROUTINE:BUILDDOCS
:: --------------------------------------------
:BUILDDOCS
:: --------------------------------------------
:: Hack:Temporary workaround for pre-existing dartdoc-viewer causes "docgen --serve" to fail
:: --------------------------------------------
set ENV-PROJECT-DOCS=%PATH-PROJECT%\dartdoc-viewer
IF EXIST %ENV-PROJECT-DOCS% (
rmdir %ENV-PROJECT-DOCS% /s /q 1> nul
)
set ENV-PROJECT-DOCS=%PATH-PROJECT%\nobackup\docs
IF NOT EXIST %ENV-PROJECT-DOCS% (
mkdir %ENV-PROJECT-DOCS% 1> nul
) ELSE (
del %ENV-PROJECT-DOCS% /s /q 1> nul
)
cd %PATH-PROJECT%
:: <<< Run pub get to get the dependencies >>>
::cmd /c %PATH-DARTSDKBIN%\pub get
cmd /c docgen.bat --serve --verbose --no-include-sdk ^
--include-dependent-packages ^
--out %ENV-PROJECT-DOCS% ^
--package-root=%PATH-PROJECT%\packages ^
--introduction=README.md ^
%PROJECTLIBS%
goto :exit
:: --------------------------------------------
:: SUBROUTINE:ERRORHANDLER
:: --------------------------------------------
:ERRORHANDLER
@echo.
@echo --------------------------------------------
@echo ERROR:%ERRORMSG%
@echo --------------------------------------------
@echo.
:: --------------------------------------------
:: END OF JOB
:: --------------------------------------------
:exit
pause
关于dart - 文档根 : Merge/Append libraries,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23165865/