Skip to content

Commit 77cbd3b

Browse files
committed
Add copy button for configuration property
1 parent 0d1aa9a commit 77cbd3b

File tree

3 files changed

+21
-3
lines changed

3 files changed

+21
-3
lines changed

devtools/config-doc-maven-plugin/src/main/java/io/quarkus/maven/config/doc/GenerateConfigDocMojo.java

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@
4040
import io.quarkus.maven.config.doc.generator.GenerationReport;
4141
import io.quarkus.maven.config.doc.generator.GenerationReport.GenerationViolation;
4242
import io.quarkus.qute.Engine;
43+
import io.quarkus.qute.EngineBuilder;
4344
import io.quarkus.qute.ReflectionValueResolver;
4445
import io.quarkus.qute.UserTagSectionHelper;
4546
import io.quarkus.qute.ValueResolver;
@@ -296,7 +297,7 @@ public FileVisitResult preVisitDirectory(Path dir, BasicFileAttributes attrs) th
296297
}
297298

298299
private static Engine initializeQuteEngine(Formatter formatter, Format format, String theme) {
299-
Engine engine = Engine.builder()
300+
EngineBuilder engineBuilder = Engine.builder()
300301
.addDefaults()
301302
.addSectionHelper(new UserTagSectionHelper.Factory("configProperty", "configProperty"))
302303
.addSectionHelper(new UserTagSectionHelper.Factory("configSection", "configSection"))
@@ -402,9 +403,13 @@ private static Engine initializeQuteEngine(Formatter formatter, Format format, S
402403
.applyToName("formatName")
403404
.applyToNoParameters()
404405
.resolveSync(ctx -> formatter.formatName((Extension) ctx.getBase()))
405-
.build())
406-
.build();
406+
.build());
407+
408+
if (format == Format.asciidoc) {
409+
engineBuilder.addSectionHelper(new UserTagSectionHelper.Factory("propertyCopyButton", "propertyCopyButton"));
410+
}
407411

412+
Engine engine = engineBuilder.build();
408413
engine.putTemplate("configReference",
409414
engine.parse(getTemplate("templates", format, theme, "configReference", false)));
410415
engine.putTemplate("allConfig",
@@ -420,6 +425,11 @@ private static Engine initializeQuteEngine(Formatter formatter, Format format, S
420425
engine.putTemplate("memorySizeNote",
421426
engine.parse(getTemplate("templates", format, theme, "memorySizeNote", true)));
422427

428+
if (format == Format.asciidoc) {
429+
engine.putTemplate("propertyCopyButton",
430+
engine.parse(getTemplate("templates", format, theme, "propertyCopyButton", true)));
431+
}
432+
423433
return engine;
424434
}
425435

devtools/config-doc-maven-plugin/src/main/resources/templates/asciidoc/default/tags/configProperty.qute.adoc

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,14 @@
11
a|{#if configProperty.phase.fixedAtBuildTime}icon:lock[title=Fixed at build time]{/if} [[{configProperty.toAnchor(extension, additionalAnchorPrefix)}]] [.property-path]##link:#{configProperty.toAnchor(extension, additionalAnchorPrefix)}[`{configProperty.path.property}`]##
2+
ifdef::add-copy-button-to-config-props[]
3+
{#propertyCopyButton configProperty.path.property /}
4+
endif::add-copy-button-to-config-props[]
5+
26
{#for additionalPath in configProperty.additionalPaths}
37

48
`{additionalPath.property}`
9+
ifdef::add-copy-button-to-config-props[]
10+
{#propertyCopyButton additionalPath.property /}
11+
endif::add-copy-button-to-config-props[]
512
{/for}
613

714
[.description]
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
config_property_copy_button:+++{it}+++[]

0 commit comments

Comments
 (0)