Каждый тег в файле, который определяет так называемый "Документ", начинается с
<!
после чего идет тип тега, и заканчивается
@@ -92,11 +93,37 @@ context.AddSource($"{className}.g.cs", SourceText.From(code, Encoding.UTF8));
. Между головой и хвостом тега заключается текст, который он определяет.
- Например, тут тег <!D someLinkName> определяет текст "qwerty text", а <!L someLinkName> вставляет его.
+ Например, тут тег
+ <!D someLinkName>
+ определяет текст "qwerty text", а
+ <!L someLinkName>
+ вставляет его.
При компиляции такого документа шаблона на выходе получится qwerty textqwerty textqwerty text потому что были прописаны 3 ссылки на одно и то же определение
+
При компиляции такого документа шаблона на выходе получится
+ qwerty textqwerty textqwerty text
+ потому что были прописаны 3 ссылки на одно и то же определение
+
+
Последним компонентом этой библиотеки является Insert tag. Он обозначается как
+ <!I>
+ . Он работает похоже на Link tag, но он работает динамически, а не статически. То, что этот тег должен означать
+ задается еще до компиляции документа. Задать содержание тега можно при помощи метода Insert у документа шаблона.
+ В этот тег можно вставить строку или другой тег, например тег Define.
+ Тег Insert может менять логику своей работы при помощи опций. Они указываются после названия через пробел.
+
+
+ На данный момент реализованно 2 опции: repeat и separate. Они связаны между собой и параметр separate не может
+ быть использован без repeat. Опция repeat позволяет не просто заменять указанный Insert тег по его имени на
+ строку
+ или другой тег, а добавлять копию этого Insert тега после выбранного неограниченное количество раз и вставлять
+ контент уже в него. Для использования этой опции нужно прописать после названия
+ r
+
+
+
<!I someInsertName r sep nextLine><!D nextLine>
+<!D>