yard-aggredator плагин для YARD

[![Gem Version](https://badge.fury.io/rb/yard-aggredator.svg)](https://rubygems.org/gems/yard-aggredator) [![Gitlab](https://lysander.rnds.pro/api/v1/badgen/gitlab/ruby%2Fyard-aggredator/orange?icon=gitlab&label)](https://br.rnds.pro/ruby/yard-aggredator) [![YARD](https://lysander.rnds.pro/api/v1/badgen/YARD/doc/blue)](https://yard.rnds.local)

Очень полезные дополнения и справляения для генератор документации YARD.

Supported by RNDSOFT

Возможности / 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.