Minisite goal. Enables to generate a small website. It needs a "documentation" module, it uses the following default layout:

  • src/main/doc/content: contains a set of .adoc (converted to .html)

  • src/main/doc/assets: contains a set of files moved "as this" to site output directory (css, js)

  • src/main/doc/templates: contains the templates for the layout and pages of the website

Coordinates

<plugin>
  <groupId>io.yupiik.maven</groupId>
  <artifactId>yupiik-tools-maven-plugin</artifactId>
  <version>1.2.2-SNAPSHOT</version>
</plugin>

To call this goal from the command line execute: mvn yupiik-tools:minisite.

To bind this goal in the build you can use:

<plugin>
  <groupId>io.yupiik.maven</groupId>
  <artifactId>yupiik-tools-maven-plugin</artifactId>
  <version>1.2.2-SNAPSHOT</version>
  <executions>
    <execution>
      <id>my-execution</id>
      <goals>
        <goal>minisite</goal>
      </goals>
      <configuration>
        <!-- execution specific configuration come there -->
      </configuration>
    </execution>
  </executions>
</plugin>

You can execute this goal particularly with mvn yupiik-tools:minisite@my-execution command.

Configuration

addCodeCopyButton (boolean)

Adds a copy button to code snippets (highlightjs). Default value: true. Property: ${yupiik.minisite.addCodeCopyButton}.

addIndexRegistrationPerCategory (boolean)

Should blog categories pages be added to home page. Default value: true. Property: ${yupiik.minisite.addIndexRegistrationPerCategory}.

asciidoctorExtensions (List)

Asciidoctor extensions to register in Asciidoctor instance. Can be in target/classes.

attributes (Map)

Asciidoctor attributes.

blogCategoriesCustomizations (Map)

Enables to customize how categories are shown on home page.

blogPageSize (int)

For blog generated pages, the number of items to keep per page. Default value: 10. Property: ${yupiik.minisite.blogPageSize}.

blogPublicationDate (String)

Max date until when posts are published. today and infinite are supported as dynamic alias. Using default the minisite rendering uses today and the serve mode uses infinite to get local previews. Default value: default. Property: ${yupiik.minisite.blogPublicationDate}.

classes (java.io.File)

target/classes for pre-actions if needed. Default value: ${project.build.outputDirectory}. Property: ${yupiik.minisite.classes}.

confluence (io.yupiik.maven.service.confluence.Confluence)

copyright (String)

copyright value in the footer when using default theme. Property: ${yupiik.minisite.copyright}.

customHead (String)

Custom head links (to add custom css easily). Property: ${yupiik.minisite.customHead}.

customMenu (String)

Custom html template for menus. Property: ${yupiik.minisite.customMenu}.

customScripts (String)

Custom scripts links (to add custom js easily). Property: ${yupiik.minisite.customScripts}.

description (String)

Default HTML page description. Property: ${yupiik.minisite.description}.

excludedArtifacts (List)

Artifacts to ignore in the classloader loading asciidoctor extensions and preactions. Default value: org.asciidoctor:asciidoctorj. Property: ${yupiik.minisite.excludedArtifacts}.

ftp (io.yupiik.maven.service.ftp.configuration.Ftp)

generateBlog (boolean)

Generate blog pages if it has some blog entries - skipped otherwise. Default value: true. Property: ${yupiik.minisite.generateBlog}.

generateIndex (boolean)

Generate index page. Default value: true. Property: ${yupiik.minisite.generateIndex}.

generateSiteMap (boolean)

Generate sitemap page (xml). Default value: true. Property: ${yupiik.minisite.generateSiteMap}.

git (io.yupiik.maven.service.git.Git)

gravatar (io.yupiik.tools.minisite.MiniSiteConfiguration$GravatarConfiguration)

Gravatar configuration.

includeProvidedScope (boolean)

Should asciidoctor extensions and preactions be loaded with the provided dependencies in the classloader or not. Default value: true. Property: ${yupiik.minisite.includeProvidedScope}.

indexSubTitle (String)

When index is generated the content page title. Property: ${yupiik.minisite.indexSubTitle}.

indexText (String)

When index is generated the content page title. Property: ${yupiik.minisite.indexText}.

injectBlogMeta (boolean)

Add reading time on blog pages. Default value: true. Property: ${yupiik.minisite.injectBlogMeta}.

injectYupiikTemplateExtensionPoints (boolean)

Use yupiik theme. Default value: true. Property: ${yupiik.minisite.injectYupiikTemplateExtensionPoints}.

linkedInCompany (String)

linkedInCompany name (in linkedin url). Default value: yupiik. Property: ${yupiik.minisite.linkedInCompany}.

logo (String)

Logo url. Default value: {{base}}/images/logo.svg. Property: ${yupiik.minisite.logo}.

logoSideText (String)

Text next to the logo text. Default value: Docs. Property: ${yupiik.minisite.logoSideText}.

logoText (String)

Default logo text for default template. Property: ${yupiik.minisite.logoText}.

notIndexedPages (List)

List of pages to ignore in search.json when search is enabled, typically useful if you create an all in one page.

preActions (List)

Actions to execute before any rendering. Typically used to generate some content.

preferYupiikAsciidoc (boolean)

Should Yupiik asciidoctor-java be used instead of asciidoctorj (over jruby). While this is likely faster to bootstrap and render it is not as complete as asciidoctor as of today and requires to run at least on Java 17. Default value: false. Property: ${yupiik.minisite.preferYupiikAsciidoc}.

requires (List)

Warning: this must be a shared settings by all executions. Override defaults require - completely.

reverseBlogOrder (boolean)

Should page sorting be reversed (by published date). Default value: true. Property: ${yupiik.minisite.reverseBlogOrder}.

rssFeedFile (String)

RSS feed location (relative to the output) if set. Property: ${yupiik.minisite.rssFeedFile}.

searchIndexName (String)

Generate search json. Default value: search.json. Property: ${yupiik.minisite.searchIndexName}.

siteBase (String)

Default HTML page description. Default value: http://localhost:4200 . Property: ${yupiik.minisite.siteBase}.

skip (boolean)

Skip mojo execution. Default value: false. Property: ${yupiik.minisite.skip}.

skipIndexTitleDocumentationText (boolean)

Should Documentation title suffix be skipped. Default value: false. Property: ${yupiik.minisite.skipIndexTitleDocumentationText}.

skipRendering (boolean)

Skip site rendering. Default value: false. Property: ${yupiik.minisite.skipRendering}.

source (java.io.File)

Where to read content (layout root) from. Default value: ${project.basedir}/src/main/minisite. Property: ${yupiik.minisite.source}.

target (java.io.File)

Where to generate the site. Default value: ${project.build.directory}/${project.build.finalName}. Property: ${yupiik.minisite.target}.

templateAddLeftMenu (boolean)

Should left menu (global navigation) be added from index links. Default value: true. Property: ${yupiik.minisite.addLeftMenu}.

templateDirs (List)

Template directory if set. Property: ${yupiik.slides.templateDirs}.

templateExtensionPoints (Map)

Custom default theme extension points. An extension point is a placeholder in a template surrounded by 3 braces: } }. Property: ${yupiik.minisite.templateExtensionPoints}.

templatePrefixes (List)

Template file name added before the content. Default value: header.html,menu.html. Property: .

templateSuffixes (List)

Template file name added after the content. Default value: footer-top.html,footer-end.html. Property: .

title (String)

Default HTML page title. Property: ${yupiik.minisite.title}.

useDefaultAssets (boolean)

Use default assets. Default value: true. Property: ${yupiik.minisite.useDefaultAssets}.

usePluginAsParentClassLoader (String)

A boolean or auto (= if asciidoctorExtensions is not empty it behaves as true) to use the plugin classloader as parent for preaction and asciidoctor extension or not. Default value: auto. Property: ${yupiik.minisite.usePluginAsParentClassLoader}.

workDir (java.io.File)

Where to extract files needed for the rendering. Default value: ${project.build.directory}/yupiik-workdir. Property: ${yupiik.workDir}.