This PR supports repositores with multiple modules. It will eliminate the need to specify a module. Therefore, all documentation parsing needs to include atleast onego.mod.
It also adds support for third-party packages that are named differently than the last element on path. It will then also be possible to auto generate links to support the reference link processor.
ReferenceLinkerProcessor will substitute any found reference within
backtick tags. By default no prefix is required, but may be set in
the prefix in order to be activated.
This will search the package and type in imports and in current package
to render a cross reference.
.Allowable Reference Types
|===
|Expression |Type
|MyRef |Same package ref
|package.MyRef |Other package ref
|MyRef.MyRef2 |Struct Field, Interface Function in same package
|MyRef(MyRef2) |Receiver function
|package.MyRef.MyRef2 |Struct Field, Interface Function in other package
|package.MyRef(MyRef2) |Receiver function in other package
|===
The MyRef is resolved in the following way
Interface
Struct
Variable
TypeDef Variable
TypeDef Function
Plain method
Receiver, and have only one receiver
If multiple receiver for same function name, use paranthesis and the name of the receiver
to address. For example, MyFunc(*MyStruct).
This PR supports repositores with multiple modules. It will eliminate the need to specify a module. Therefore, all documentation parsing needs to include atleast one
go.mod
.It also adds support for third-party packages that are named differently than the last element on path. It will then also be possible to auto generate links to support the reference link processor.
ReferenceLinkerProcessor will substitute any found reference within backtick tags. By default no prefix is required, but may be set in the prefix in order to be activated.
This will search the package and type in imports and in current package to render a cross reference.
.Allowable Reference Types |=== |Expression |Type
|MyRef |Same package ref |package.MyRef |Other package ref |MyRef.MyRef2 |Struct Field, Interface Function in same package |MyRef(MyRef2) |Receiver function |package.MyRef.MyRef2 |Struct Field, Interface Function in other package |package.MyRef(MyRef2) |Receiver function in other package |===
The MyRef is resolved in the following way
If multiple receiver for same function name, use paranthesis and the name of the receiver to address. For example, MyFunc(*MyStruct).