I accounted for how to produce PDF and HTML when the two output types use separate code highlighters (it takes a separate task to do). I also documented a new feature that I added for Oleg Zhurakousky but that I am sure many of other proects (notably in Spring Cloud) can reasonably use, too.
I added a features section for it, since I suppose we'll get other features as time marches along.
If you add a role with a id of index-link, the href that you specify below that role ID becomes the link in the "Back to index" link in the table of contents.
The inserted role has the following form:
[#index-link]
https://spring.io
The URL can be any valid URL, whether relative or absolute.
This fix meets a need that Oleg Zhurakousky identified.
* Adding the Spring Style Guide
Per a request from Michael Minella, I'm adding the Spring Style Guide to spring-doc-resources, giving it a more sensible location than my personal account.
* Updated style guide
I know more about Asciidoctor than I did when I last modified the style guide, so I set up better Asciidoctor attributes. I also trimmed off a bit at the end.
This commit contains a few fixes for the CI release process.
The base CI image now installs the `jq` binary as it's
required by the promotion process.
The staging script is fixed to use the correct `sed` syntax
for this Linux container, and only consider Gradle as a build
system. This also changes the staging script to correctly
choose the release version depending on the release type.
This commit also adds a `RELEASE_TYPE` parameter to the state
task.
The project build version is moved to a `gradle.properties`
to align with the stage+promote script.
The promote release script is now executable.
Because many Spring projects will have both single and multi page
reference docs variants, we should only show "back to index" links on
pages that aren't already index pages.
This commit adds the CI infrastructure for running builds with
Concourse. This includes:
* a docker image for the CI image (JDK 8 based)
* a set of Concourse pipelines for building, staging and promoting
artifacts
In b19bb45, the artifact coordinates were changed to
"io.spring.docresources:spring-doc-resources".
We can set now a new version for the project initial release.
Prior to this commit, generated Asciidoctor theme files were directly
committed in this project as static files.
This commit removes those files and instead builds on SASS files, just
like other Asciidoctor themes are generated (see
https://github.com/asciidoctor/asciidoctor-stylesheet-factory).
This commit also reorganizes the build to use a Gulp + NPM based build
for generating and optimizing those static resources before packaging
them.
Note that this change is resetting the whole Spring theme to a basic CSS
stylesheet - further commits are expected to get back to a proper theme.
Somehow, I built the previous instance of the zip file such that it wasn't really a zip file. This time, I used the git archive command. Then I tested it with Mac's unzip command. It worked.
I made some changes (to get the Back to Index link in the dynamic ToC to work for more cases and to have sensible IDs), so I need to commit the zip file again.
I refined the ability of the script that handles the table of contents to detect whether it should have a "Back to Index" link. The previous logic of checking the file name for whether it was index.html doesn't cover cases where the book is renamed, as Spring Data does with its books. So I added a check for the documet type. A type of "book" indicates a stand-alone document, which shouldn't have hthe link.
I built the zip file and added it to the Github repository. I also added more detail about how to use the files to README.md (per a request from Oliver Gierke).
I re-organized the content to match Maven's usual organization. Then I built a pom.xml file and an assembly file (dep.xml) so that Maven will build a zip file of these resources. The zip file ends up in the /target directory.