diff --git a/docs/.github/workflows/deploy-docs.yml b/.github/workflows/deploy-docs.yml
similarity index 100%
rename from docs/.github/workflows/deploy-docs.yml
rename to .github/workflows/deploy-docs.yml
diff --git a/.gitignore b/.gitignore
index 8a860b40..388132e8 100644
--- a/.gitignore
+++ b/.gitignore
@@ -21,3 +21,9 @@ _site/
.vscode/
.flattened-pom.xml
+
+node
+node_modules
+build
+package.json
+package-lock.json
diff --git a/docs/antora-playbook.yml b/docs/antora-playbook.yml
index 9a70e676..6cd8d672 100644
--- a/docs/antora-playbook.yml
+++ b/docs/antora-playbook.yml
@@ -6,15 +6,10 @@ antora:
- '@antora/collector-extension'
- '@antora/atlas-extension'
- require: '@springio/antora-extensions/root-component-extension'
- root_component_name: 'PROJECT_WITHOUT_SPRING'
- # FIXME: Run antora once using this extension to migrate to the Asciidoc Tabs syntax
- # and then remove this extension
- - require: '@springio/antora-extensions/tabs-migration-extension'
- unwrap_example_block: always
- save_result: true
+ root_component_name: 'cloud-openfeign'
site:
- title: PROJECT_FULL_NAME
- url: https://docs.spring.io/PROJECT_NAME/reference/
+ title: Spring Cloud Openfeign
+ url: https://docs.spring.io/spring-cloud-openfeign/reference/
content:
sources:
- url: ./..
diff --git a/docs/antora.yml b/docs/antora.yml
index 15b346da..dc2b1a7d 100644
--- a/docs/antora.yml
+++ b/docs/antora.yml
@@ -1,6 +1,6 @@
-name: PROJECT_WITHOUT_SPRING
+name: cloud-openfeign
version: true
-title: PROJECT_NAME
+title: Spring Cloud OpenFeign
nav:
- modules/ROOT/nav.adoc
ext:
diff --git a/docs/modules/ROOT/nav.adoc b/docs/modules/ROOT/nav.adoc
index 5d5a53a8..8769f935 100644
--- a/docs/modules/ROOT/nav.adoc
+++ b/docs/modules/ROOT/nav.adoc
@@ -1,9 +1,5 @@
* xref:index.adoc[]
-* xref:spring-cloud-openfeign.adoc[]
-* xref:_attributes.adoc[]
-* xref:intro.adoc[]
-* xref:README.adoc[]
-* xref:_configprops.adoc[]
+** xref:intro.adoc[]
+** xref:spring-cloud-openfeign.adoc[]
* xref:appendix.adoc[]
-* xref:sagan-boot.adoc[]
-* xref:sagan-index.adoc[]
+** xref:configprops.adoc[]
diff --git a/docs/modules/ROOT/pages/_configprops.adoc b/docs/modules/ROOT/pages/_configprops.adoc
deleted file mode 100644
index 6d8de12a..00000000
--- a/docs/modules/ROOT/pages/_configprops.adoc
+++ /dev/null
@@ -1,37 +0,0 @@
-|===
-|Name | Default | Description
-
-|spring.cloud.openfeign.autoconfiguration.jackson.enabled | `false` | If true, PageJacksonModule and SortJacksonModule bean will be provided for Jackson page decoding.
-|spring.cloud.openfeign.circuitbreaker.enabled | `false` | If true, an OpenFeign client will be wrapped with a Spring Cloud CircuitBreaker circuit breaker.
-|spring.cloud.openfeign.circuitbreaker.group.enabled | `false` | If true, an OpenFeign client will be wrapped with a Spring Cloud CircuitBreaker circuit breaker with with group.
-|spring.cloud.openfeign.client.config | |
-|spring.cloud.openfeign.client.decode-slash | `true` | Feign clients do not encode slash `/` characters by default. To change this behavior, set the `decodeSlash` to `false`.
-|spring.cloud.openfeign.client.default-config | `default` |
-|spring.cloud.openfeign.client.default-to-properties | `true` |
-|spring.cloud.openfeign.client.refresh-enabled | `false` | Enables options value refresh capability for Feign.
-|spring.cloud.openfeign.compression.request.enabled | `false` | Enables the request sent by Feign to be compressed.
-|spring.cloud.openfeign.compression.request.mime-types | `[text/xml, application/xml, application/json]` | The list of supported mime types.
-|spring.cloud.openfeign.compression.request.min-request-size | `2048` | The minimum threshold content size.
-|spring.cloud.openfeign.compression.response.enabled | `false` | Enables the response from Feign to be compressed.
-|spring.cloud.openfeign.encoder.charset-from-content-type | `false` | Indicates whether the charset should be derived from the {@code Content-Type} header.
-|spring.cloud.openfeign.httpclient.connection-timeout | `2000` |
-|spring.cloud.openfeign.httpclient.connection-timer-repeat | `3000` |
-|spring.cloud.openfeign.httpclient.disable-ssl-validation | `false` |
-|spring.cloud.openfeign.httpclient.enabled | `true` | Enables the use of the Apache HTTP Client by Feign.
-|spring.cloud.openfeign.httpclient.follow-redirects | `true` |
-|spring.cloud.openfeign.httpclient.hc5.enabled | `false` | Enables the use of the Apache HTTP Client 5 by Feign.
-|spring.cloud.openfeign.httpclient.hc5.pool-concurrency-policy | | Pool concurrency policies.
-|spring.cloud.openfeign.httpclient.hc5.pool-reuse-policy | | Pool connection re-use policies.
-|spring.cloud.openfeign.httpclient.hc5.socket-timeout | `5` | Default value for socket timeout.
-|spring.cloud.openfeign.httpclient.hc5.socket-timeout-unit | | Default value for socket timeout unit.
-|spring.cloud.openfeign.httpclient.max-connections | `200` |
-|spring.cloud.openfeign.httpclient.max-connections-per-route | `50` |
-|spring.cloud.openfeign.httpclient.ok-http.read-timeout | `60s` | {@link OkHttpClient} read timeout; defaults to 60 seconds.
-|spring.cloud.openfeign.httpclient.time-to-live | `900` |
-|spring.cloud.openfeign.httpclient.time-to-live-unit | |
-|spring.cloud.openfeign.micrometer.enabled | `true` | Enables Micrometer capabilities for Feign.
-|spring.cloud.openfeign.oauth2.enabled | `false` | Enables feign interceptor for managing oauth2 access token.
-|spring.cloud.openfeign.oauth2.load-balanced | `false` | Enables load balancing for oauth2 access token provider.
-|spring.cloud.openfeign.okhttp.enabled | `false` | Enables the use of the OK HTTP Client by Feign.
-
-|===
diff --git a/docs/modules/ROOT/pages/appendix.adoc b/docs/modules/ROOT/pages/appendix.adoc
index eef1c905..439fb791 100644
--- a/docs/modules/ROOT/pages/appendix.adoc
+++ b/docs/modules/ROOT/pages/appendix.adoc
@@ -6,7 +6,7 @@
Various properties can be specified inside your `application.properties` file, inside your `application.yml` file, or as command line switches.
-This appendix provides a list of common {project-full-name} properties and references to the underlying classes that consume them.
+This appendix provides a list of common Spring Cloud OpenFeign properties and references to the underlying classes that consume them.
NOTE: Property contributions can come from additional jar files on your classpath, so you should not consider this an exhaustive list.
Also, you can define your own properties.
diff --git a/docs/modules/ROOT/pages/configprops.adoc b/docs/modules/ROOT/pages/configprops.adoc
new file mode 100644
index 00000000..32cbb8e5
--- /dev/null
+++ b/docs/modules/ROOT/pages/configprops.adoc
@@ -0,0 +1,6 @@
+[[configuration-properties]]
+= Configuration Properties
+
+Below you can find a list of configuration properties.
+
+include::partial$_configprops.adoc[]
diff --git a/docs/modules/ROOT/pages/index.adoc b/docs/modules/ROOT/pages/index.adoc
index e69de29b..69cf1101 100644
--- a/docs/modules/ROOT/pages/index.adoc
+++ b/docs/modules/ROOT/pages/index.adoc
@@ -0,0 +1,9 @@
+[[cloud-native-applications]]
+= Cloud Native Applications
+
+include::partial$_attributes.adoc[]
+
+// TODO: figure out remote includes in docs and replace pasted text
+// include::https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/master/docs/src/main/asciidoc/contributing-docs.adoc[]
+NOTE: Spring Cloud is released under the non-restrictive Apache 2.0 license.
+If you would like to contribute to this section of the documentation or if you find an error, you can find the source code and issue trackers for the project at {github-issues}[github].
diff --git a/docs/modules/ROOT/pages/intro.adoc b/docs/modules/ROOT/pages/intro.adoc
index a69a78c5..d837d0eb 100644
--- a/docs/modules/ROOT/pages/intro.adoc
+++ b/docs/modules/ROOT/pages/intro.adoc
@@ -1,3 +1,6 @@
+[[intro]]
+= Introduction
+
This project provides OpenFeign integrations for Spring Boot apps through autoconfiguration
and binding to the Spring Environment and other Spring programming model idioms.
diff --git a/docs/modules/ROOT/pages/spring-cloud-openfeign.adoc b/docs/modules/ROOT/pages/spring-cloud-openfeign.adoc
index 28ffc708..0395700a 100644
--- a/docs/modules/ROOT/pages/spring-cloud-openfeign.adoc
+++ b/docs/modules/ROOT/pages/spring-cloud-openfeign.adoc
@@ -1,9 +1,5 @@
-[[spring-cloud-openfeign]]
-= Spring Cloud OpenFeign
-
-*{spring-cloud-version}*
-
-
+[[features]]
+= Spring Cloud OpenFeign Features
[[spring-cloud-feign]]
== Declarative REST Client: Feign
@@ -846,7 +842,7 @@ If Feign client refresh is enabled, each Feign client is created with:
* `feign.Request.Options` as a refresh-scoped bean. This means properties such as `connectTimeout` and `readTimeout` can be refreshed against any Feign client instance.
* A url wrapped under `org.springframework.cloud.openfeign.RefreshableUrl`. This means the URL of Feign client, if defined
-with `spring.cloud.openfeign.client.config.{feignName}.url` property, can be refreshed against any Feign client instance.
+with `spring.cloud.openfeign.client.config.\{feignName}.url` property, can be refreshed against any Feign client instance.
You can refresh these properties through `POST /actuator/refresh`.
diff --git a/docs/modules/ROOT/partials/_attributes.adoc b/docs/modules/ROOT/partials/_attributes.adoc
new file mode 100644
index 00000000..959d40f4
--- /dev/null
+++ b/docs/modules/ROOT/partials/_attributes.adoc
@@ -0,0 +1,3 @@
+:sc-ext: java
+:project-full-name: Spring Cloud OpenFeign
+:all: {asterisk}{asterisk}
diff --git a/docs/pom.xml b/docs/pom.xml
index 23974a74..f9565725 100644
--- a/docs/pom.xml
+++ b/docs/pom.xml
@@ -3,25 +3,32 @@
xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
+ org.springframework.cloud
+ spring-cloud-openfeign-docs
org.springframework.cloud
spring-cloud-openfeign
4.1.0-SNAPSHOT
+ ..
https://github.com/spring-cloud/spring-cloud-openfeign
- spring-cloud-openfeign-docs
jar
Spring Cloud OpenFeign Docs
- Spring Cloud Docs
+ Spring Cloud OpenFeign Docs
spring-cloud-openfeign
${basedir}/..
- feign.*
- deploy
+ spring.cloud.*
none
+
+
+ 1.0.2
+ ${maven.multiModuleProjectDirectory}/
+ .*
+ ${maven.multiModuleProjectDirectory}/docs/modules/ROOT/partials/
@@ -36,6 +43,12 @@
docs
+
+
+ src/main/antora/resources/antora-resources
+ true
+
+
pl.project13.maven
@@ -45,17 +58,44 @@
org.apache.maven.plugins
maven-dependency-plugin
-
- org.apache.maven.plugins
- maven-resources-plugin
-
org.codehaus.mojo
exec-maven-plugin
+
+
+
+ generate-observability-docs
+ ${generate-docs.phase}
+
+ java
+
+
+ io.micrometer.docs.DocsGeneratorCommand
+ true
+
+ ${micrometer-docs-generator.inputPath}
+ ${micrometer-docs-generator.inclusionPattern}
+ ${micrometer-docs-generator.outputPath}
+
+
+
+
+
+
+ io.micrometer
+ micrometer-docs-generator
+ ${micrometer-docs-generator.version}
+ jar
+
+
+
+
+ io.spring.maven.antora
+ antora-component-version-maven-plugin
- org.asciidoctor
- asciidoctor-maven-plugin
+ io.spring.maven.antora
+ antora-maven-plugin
org.apache.maven.plugins
diff --git a/docs/src/main/antora/resources/antora-resources/antora.yml b/docs/src/main/antora/resources/antora-resources/antora.yml
new file mode 100644
index 00000000..9148923f
--- /dev/null
+++ b/docs/src/main/antora/resources/antora-resources/antora.yml
@@ -0,0 +1,20 @@
+version: @antora-component.version@
+prerelease: @antora-component.prerelease@
+
+asciidoc:
+ attributes:
+ attribute-missing: 'warn'
+ chomp: 'all'
+ project-root: @maven.multiModuleProjectDirectory@
+ github-repo: @docs.main@
+ github-raw: https://raw.githubusercontent.com/spring-cloud/@docs.main@/@github-tag@
+ github-code: https://github.com/spring-cloud/@docs.main@/tree/@github-tag@
+ github-issues: https://github.com/spring-cloud/@docs.main@/issues/
+ github-wiki: https://github.com/spring-cloud/@docs.main@/wiki
+ spring-cloud-version: @project.version@
+ github-tag: @github-tag@
+ version-type: @version-type@
+ docs-url: https://docs.spring.io/@docs.main@/docs/@project.version@
+ raw-docs-url: https://raw.githubusercontent.com/spring-cloud/@docs.main@/@github-tag@
+ project-version: @project.version@
+ project-name: @docs.main@
diff --git a/docs/modules/ROOT/pages/README.adoc b/docs/src/main/asciidoc/README.adoc
similarity index 100%
rename from docs/modules/ROOT/pages/README.adoc
rename to docs/src/main/asciidoc/README.adoc
diff --git a/docs/modules/ROOT/pages/sagan-boot.adoc b/docs/src/main/asciidoc/sagan-boot.adoc
similarity index 100%
rename from docs/modules/ROOT/pages/sagan-boot.adoc
rename to docs/src/main/asciidoc/sagan-boot.adoc
diff --git a/docs/modules/ROOT/pages/sagan-index.adoc b/docs/src/main/asciidoc/sagan-index.adoc
similarity index 100%
rename from docs/modules/ROOT/pages/sagan-index.adoc
rename to docs/src/main/asciidoc/sagan-index.adoc