Releases: gardener/docforge
Releases · gardener/docforge
v0.48.0
v0.47.0
[gardener/docforge]
⚠️ Breaking Changes
[USER]
The--markdownfmt
flag was removed. Adjust scripts using it. by @g-pavlov [#65][USER]
The change is not backwards compatible and previous manifests need to update to the new API by @g-pavlov [#54]
📰 Noteworthy
[USER]
Added configuration file as new option for providing Git authentication. Default file location is ~/.docforge/config and could be overridden withDOCFORGECONFIG
env var. File format isyaml
. by @swilen-iwanow [#178][USER]
improve error handling with additional context by @Kristian-ZH [#255][USER]
Using nodesSelector now it is possible to specify frontmatter properties as criteria to include or exclude nodes when the selector is resolved. by @g-pavlov [#160][USER]
Failures to parse a GitHub URL are now reported as errors. Invalid links on the documents will now fail the build. by @g-pavlov [#50][USER]
Removes duplicate blogs at https://gardener.cloud/blog/ by @dimitar-kostadinov [#246][USER]
A warning is printed when the link target does not exist by @dimitar-kostadinov [#203][USER]
Manifest files can now be designed as Go templates to make use of variables iterators and Go as a templating language. Manifests are resolved as templates before the forging process and supplied with variables provided as "string-name=string-value" map (with ',' delimiter) argument to the new--variables
flag. The supported variables values are strings for the moment. Example use in template:{{ .gardener-version }}
will render tov1.12.1
with the flag--variables="gardener-version=v1.12.1"
by @g-pavlov [#79][USER]
Golang version was upgraded to 1.17 by @Kristian-ZH [#224][USER]
The default regex for generated names of referenced resources now includes<resource-name>_<abs_url>.<etx>
by @Kristian-ZH [#188][USER]
The manifest API changed to a more intuitive structure and adds new capabilities. See the pull request for summary of changes. by @g-pavlov [#54][USER]
--hugo now uses a root-relative path for links between the node structure and downloaded resources. use the new flag --hugo-base-url to change the root-relative path by @swilen-iwanow [#176][USER]
New propertiespath
,sha
andshaalias
added to gitinfo generated for GitHub resources. Thepath
property is the resource path in GitHub after resource type and its sha.The
shaaliasproperty is the human readable tag/branch-name assigned to a sha (e.g.
master`). by @g-pavlov [#171][USER]
The manifest configuration for rewriting links and downloading resources is no longer needed, as it all happens automatically.
Also, 'template' and 'contentSelectors' have been removed due to lack of use cases, instead a 'multiSource' has been introduced to cover simple content concatenation scenario. by @dimitar-kostadinov [#261][USER]
Fs handler is removed because it is not expected it's covering use case to be part of the scope of the project by @Kostov6 [#247][USER]
Default branches and number of versions can now be configured in the docforge config file by @Kostov6 [#237][USER]
With verbosity flag >= 6 enabled (-v=6
), now logs contain also HTTP logs. The logs are simple and consist of the request method, URL and response status. by @g-pavlov [#129][USER]
--use-git
now uses Git for retrieving source info data (--github-info-data
) as well instead of the GitHub APIs. by @swilen-iwanow [#181][USER]
Docforge release includes docforge binaries forarm64
architecture onLinux
andDarwin
now.
Docker images are published with multi-arch support forlinux/amd64
andlinux/arm64
now. by @oliver-goetz [#286][USER]
Rewriting absolute links to raw content references applies only to images markdown by @g-pavlov [#51][USER]
- Node names need not end with .md suffix to have the file written as.md. If there is no .md suffix, it will be appended to the file name prior to writing it down. by @g-pavlov [#40][USER]
The default value for--resources-download-path
flag now is__resources
by @g-pavlov [#62][USER]
Fixes an issue with cache invalidation as new content in the subfolders was not displayed by @dimitar-kostadinov [#275][USER]
Documents structures support "folder"-type nodes that have no contentSelector specified and result in a file folder named by the name of the node. by @g-pavlov [#40][USER]
Adaptive client requests throttling is implemented to respect the GitHub API rate-limits SLA. A slow down in performance may be experienced due to that. It will increase with the docforge executions per hour and the amount of content requests to GitHub. The feature is enabled with the--github-throttling
boolean flag. by @g-pavlov [#143][USER]
Fixed a bug that was causing links of downloaded resources to be prepended with an extra../
by @swilen-iwanow [#149][USER]
GitHub URLs are now supported as manifest path flag (-f
/--manifest
) arguments, in addition to (local) file system file paths. The--github-oauth-token-map
and--github-oauth-token
flags arguments are used to apply authentication token to the request when fetching manifest from a GitHub URL. by @g-pavlov [#120][USER]
Docforge is now built using go version1.17.12
. by @dimityrmirchev [#281][USER]
introducing local mappings for better local development. by @swilen-iwanow [#181][USER]
Hugo support
The following features are available when the--hugo=true
option flag is enabled:- Frontmatter that should be written to a document is specified in the properties map of the corresponding documentation structure node with key "frontmatter"
- Documents frontmatter in yaml (only) is supported
- Documents with frontmatter only (no other content) and without line ending on the last line are supported.
- Documents with frontmatter preceded by any amount of whitespace are supported. Whitespace before or after the
---
start/end marks is also supported. - Documents that start with
---
(potentially preceded by any whitespace) are considered to specify frontmatter. An error is thrown if there is no closing---
and the content in between is not valid yaml - Frontmatter specified as node property and frontmatter available in the node document that will be written are merged. Duplicates are not reconciled.
- A minimal frontmatter
title: <node-name-title-case>
is written when no other has been specified as node property or in the document) - Container nodes that specify a "frontmatter" structure in their
properties
will be written as folders with autogenerated_index.md
file that contains the specified frontmatter. - Document nodes that need to be written as hugo section files are identified by an
index": true
entry in their Properties. Such nodes are written as _index.md files regardless of their name. - A section file node can be inferred automatically too. A document structure node that has content selectors, and with no other peer nodes named
_index
or_index_md
, will be written as_index.md
file, provided that its name matches one of the entries specified in the--hugo-section-files
flag or its default list: readme, read.me, index (case insensitive). To disable this automation, set the--hugo-section-files
flag value to empty string. - Multiple files that will potentially be written as
_index.md
in the same folder are detected and reported as error. by @g-pavlov [#40]
[USER]
Fixed the reasons for warning about not being able to read from tree object when nodeSelectors resolve to empty nodes referencing folders. by @g-pavlov [#52][USER]
Docforge main command usage is now shown only on flags/cmd/args error. by @g-pavlov [#104][USER]
A new proprtyweburl
added to files gitinfo. It is a URL that references the repository hosting the file for which the gitinfo has been created. by @g-pavlov [#166][USER]
Fixes a synchronization problem that was observed when having multiple errors during document download. by @swilen-iwanow [#145][USER]
Added API validations for the linked manifest by @Kristian-ZH [#253][USER]
Circular dependencies are prevented with an error. by @swilen-iwanow [#108][USER]
Docforge can run even without an OAuth token
In this configuration the rate limit is only 60 by @Kostov6 [#250][USER]
Adds support for relative paths in manifests by @dimitar-kostadinov [#264][USER]
The bug where the last letter of the node names is sometimes truncated is fixed by @Kristian-ZH [#276][USER]
Logs for download failures now include more context to trace them back to the reference link and fix it if that is the reason. by @g-pavlov [#127][USER]
Fixes a runtime error when multiple links match a rewrite rule to be removed completely from a document. by @g-pavlov [#159][USER]
Docforge now usesdistroless
as a base container image. by @dimityrmirchev [#281][USER]
Fixes an occasionalpanic: send on closed channel
while finishing a build by @g-pavlov [#59][USER]
Fixes link processing when the link is in round brackets and ends with a dot; e.g. "(https://foo.bar)." by @dimitar-kostadinov [#260][USER]
Hugo baseURL, pretty URLs, can be configured inside the Docforge config file by @swilen-iwanow [#182][USER]
Support for modules is introduced to minimize the complexity and maximize the agility for Docforge's manifests. Users can now usenodesSelector
path property to specify a manifest file. The referenced structure nodes and links configuration will be then merged into the referencing node. by @swilen-iwanow [#87][USER]
Adds processing of links with fragments, that refers pages of the website by @dimitar-kostadinov [#269][USER]
Thetitle
front-matter property is generated smarter now. For index nodes it takes the name of the parent node. Name delimiters `...
v0.46.0
no release notes available
Docker Images
- docforge:
eu.gcr.io/gardener-project/docforge:v0.46.0
v0.45.0
v0.44.0
no release notes available
Docker Images
- docforge:
eu.gcr.io/gardener-project/docforge:v0.44.0
v0.43.0
no release notes available
Docker Images
- docforge:
eu.gcr.io/gardener-project/docforge:v0.43.0
v0.42.0
no release notes available
Docker Images
- docforge:
eu.gcr.io/gardener-project/docforge:v0.42.0
v0.41.0
no release notes available
v0.40.0
no release notes available
v0.39.0
no release notes available