blob: ca86ab45f59ad082c4405cfae206c8f6297ee61f [file] [log] [blame]
= TomEE Website Proposal
== Add content
Documentation is in `src/main/jbake/content`, it follows the sitemap/structure. If you add a new page ensure to add a link to it please.
Preferred format is `asciidoc`.
Here a sample for a new page:
[source,adoc]
----
= My New Page
:jbake-date: 2017-03-16
:jbake-type: page
:jbake-status: published
:jbake-tomeepdf:
This page will rocks.
- One point
- Another point
=== Subtitle
Some content.
----
TIP: to run the website check the build section or run the main `org.apache.tomee.website.JBake`, it will log the local address to access the dev website and
enable you to type `r[ENTER]` to rebuild it without restarting.
== Build
To build the final website just use:
[source]
----
mvn compile
----
For development `mvn compile -Djbake.http=true` starts a server on http://localhost:8080 and auto refreshes
pages after updates.
Then website is generated in `target/site-${version}` and you just need to sync it with CMS repo.
NOTE: it also opens the door to documentation versioning with subfolder per version like maven does.
TIP: the rendering is just a main so if the process doesn't work for you just enrich it in `JBake` class.
== Extensions
Build will generate a PDF for each page containing the attribute `jbake-tomeepdf`.
== Examples
TomEE examples (${tomee.master}/examples) generates samples. It relies on `Examples` class
which requests on github the README.md for each subfolder of `examples` folder.
For rate limit reason examples are cached locally in examples.cache and you can set your
github auth header (`Authorization`) setting the system property `-Dgithub.auth` to have
a higher rate limit.
The cache is just the github response excepted the content of the files which are decoded (base64).
Then the main calls org.apache.tomee.website.Examples.populateTree which creates the examples
in `src/main/jbake/content/examples`. If you want to take into account another example you
need to delete the cache before re-running the generation.
Finally note that the site generation will rely on the cache as well to generate the examples home page.