yard-aggredator плагин для YARD
[](https://rubygems.org/gems/yard-aggredator)
[](https://br.rnds.pro/ruby/yard-aggredator)
[](https://yard.rnds.local)
Очень полезные дополнения и справляения для генератор документации YARD.
Возможности / Features
- Поддержка
mermaid-диаграмма - Корректная работа
include:fileдля статических ресурсов во всех режимахServer,StaticиGems - Новый тип ссылки
link:fileдля указания на статические ресурсы - Совместимость
md-ссылок YARD и Github/Gitlab - Корректная работа подсветки синтаксиса в блоках внутри
Markdownразметки в документировании классов - Корректная генерация имён статических ресурсов, таких как множетсвенные
md-файлы внутри подпапок - Директива
@!includeдля прямой вставки содержимого файла с подсветкой - Директива
@!embedдля прямой вставкисырогосодержимого файла без предобработки - Поддежка
(see)для@!includeи@!embed. Пример:@!embed (see .schema_id)
Примеры
Директивы @!include и @!embed
Директивы могут быть определены с использованием имени, на которое потом можно ссылться через (see)
# Ипользуем диерктивы без имени
# @!include files/file1.mermaid
# @!embed files/file2.html
def hello
end
# Ипользуем диерктивы с именем
# @!include [NAME1] files/file1.mermaid
# @!embed [NAME2] files/file2.html
# @!embed [NAME3] files/file3.html
def hello_with_name
end
# Забрать все директивы
# @!include (see .hello)
# @!embed (see .hello)
# @!include (see .hello_with_name)
# @!embed (see .hello_with_name)
def ref_to_hello
end
# Забрать только директивы с именем
# @!include [NAME1] (see .hello_with_name)
# @!embed [NAME2] (see .hello_with_name)
def ref_to_hello_by_name
end
mermaid-диаграммы
# MyClass
#
# Диаграмма
#
# ```mermaid
# flowchart LR
# Start --> Stop
# ```
#
class MyClass
end
mermaid-диаграммы
# MyClass
#
# @see link:file:schemas/my_class.json JSON-схема
#
class MyClass
end
Вложенные md-файлы
Например для такой стурктуры
├── lib
│ └── api
│ ├── v1
│ │ └── README.md
│ ├── v2
│ │ └── README.md
│ └── v3
│ └── README.md
├── README.md
# MyClass
#
# @see file:lib/api/v1/README.md Описание V1
# @see file:lib/api/v2/README.md Описание V2
# @see file:lib/api/v3/README.md Описание V3
#
# Либо в Markdown синтаксисе для совместимости с Gitlab/Github
#
# [Описание V1](lib/api/v1/README.md)
# [Описание V2](lib/api/v2/README.md)
# [Описание V3](lib/api/v3/README.md)
#
class MyClass
end
Лицензия / License
Библиотека доступна с открытым исходным кодом в соответствии с условиями лицензии MIT.
The gem is available as open source under the terms of the MIT License.