Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Migrate 3.x website to Antora #2443

Merged
merged 12 commits into from
Apr 5, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -35,3 +35,6 @@ velocity.log
felix-cache/
/.metadata/
.DS_Store
node
node_modules
package-lock.json
7 changes: 1 addition & 6 deletions BUILDING.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -62,12 +62,7 @@ You can build the website and manual as follows:
./mvnw site
----

And view it using a simple HTTP server, e.g., the one comes with the Python:

[source,bash]
----
python3 -m http.server -d target/site
----
You can view the generated website with a browser by pointing it to `target/site` directory.

[#development]
== Development
Expand Down
124 changes: 124 additions & 0 deletions antora-playbook.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,124 @@
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to you under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

site:
title: Apache Log4j
url: "https://logging.apache.org/log4j/3.x"
start_page: "ROOT::index.adoc"

content:
sources:
- url: .
branches: HEAD
start_paths:
- target/generated-site/antora
edit_url:

asciidoc:
attributes:
# JSON Template Layout manual page has a deep sectioning, support it.
# The trailing `@` is added so the attribute can still can be overridden in the header of a page.
# For instance, we override this value in release notes page.
page-toclevels: "4@"
log4j-docgen-descriptor-directory: target/plugin-descriptors
log4j-docgen-type-filter-exclude-pattern: ^java\..+
log4j-docgen-type-target-template: |
#{{{replaceAll sourcedType.groupId "." "-"}}}_{{{replaceAll sourcedType.artifactId "." "-"}}}_{{{replaceAll sourcedType.type.className "." "-"}}}
extensions:
- "@asciidoctor/tabs"
- src/docgen/apiref-macro.js

ui:

bundle:
url: "https://gitlab.com/antora/antora-ui-default/-/jobs/artifacts/HEAD/raw/build/ui-bundle.zip?job=bundle-stable"
snapshot: true

# Template files: https://github.com/asciidoctor/asciidoctor-docs-ui/blob/main/src
# Template variables: https://docs.antora.org/antora-ui-default/templates
supplemental_files:

# Add `@asciidoctor/tabs` extension styles
- path: css/vendor/tabs.css
contents: ./node_modules/@asciidoctor/tabs/dist/css/tabs.css

# Add `@asciidoctor/tabs` extension scripts
- path: js/vendor/tabs.js
contents: ./node_modules/@asciidoctor/tabs/dist/js/tabs.js

- path: partials/footer-scripts.hbs
contents: |
<script id="site-script" src="{{{uiRootPath}}}/js/site.js" data-ui-root-path="{{{uiRootPath}}}"></script>
<script async src="{{{uiRootPath}}}/js/vendor/highlight.js"></script>
<!-- `@asciidoctor/tabs` extension scripts -->
<script async src="{{{uiRootPath}}}/js/vendor/tabs.js"></script>
{{#if env.SITE_SEARCH_PROVIDER}}
{{> search-scripts}}
{{/if}}

- path: partials/head-styles.hbs
contents: |
<link rel="stylesheet" href="{{{uiRootPath}}}/css/site.css">
<link rel="icon" href="{{{uiRootPath}}}/../_images/favicon.ico" type="image/x-icon">
<!-- `@asciidoctor/tabs` extension styles -->
<link rel="stylesheet" href="{{{uiRootPath}}}/css/vendor/tabs.css">
<style>
/* `page-toclevels` greater than 4 are not supported by Antora UI, patching it: */
.toc .toc-menu li[data-level="4"] a {
padding-left: 2.75rem
}
/* Replace the default highlight.js color for strings from red to green: */
.hljs-string {
color: #0f8532;
}
</style>

- path: partials/header-content.hbs
contents: |
<header class="header">
<nav class="navbar">
<div class="navbar-brand">
<div class="navbar-item">
<img src="{{{uiRootPath}}}/../_images/logo-small-white.png" alt="Apache Log4j"/>
</div>
</div>
</nav>
</header>

- path: partials/footer-content.hbs
contents: |
<footer class="footer">
<p>
Copyright © 1999-{{{year}}} <a href="https://www.apache.org/">The Apache Software Foundation</a>.
Licensed under the <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache Software License, Version 2.0</a>.
Please read our <a href="https://privacy.apache.org/policies/privacy-policy-public.html">privacy policy</a>.
</p>
<p>
Apache, Log4j, and the Apache feather logo are trademarks or registered trademarks of The Apache Software Foundation.
Oracle and Java are registered trademarks of Oracle and/or its affiliates.
Other names may be trademarks of their respective owners.
</p>
</footer>

# Disable component version selector
- path: partials/nav-explore.hbs
contents: ""

# Fix the `Edit this page` link
- path: partials/edit-this-page.hbs
contents: |
<div class="edit-this-page"><a href="https://github.com/apache/logging-log4j2/edit/main/src/site/antora/modules/{{page.module}}/pages/{{page.relativeSrcPath}}">Edit this Page</a></div>
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,9 @@
* On invalid length the default value 100 is used (and an error message is logged).
* If max length is greater than 20, an abbreviated text will get ellipsis ("...") appended.
* Example usage (for email subject):
* {@code "%maxLen{[AppName, ${hostName}, ${web:contextPath}] %p: %c{1} - %m%notEmpty{ =>%ex{short}}}{160}"}
* <pre>{@code
* %maxLen{[AppName, ${hostName}, ${web:contextPath}] %p: %c{1} - %m%notEmpty{ =>%ex{short}}}{160}
* }</pre>
*
* @author Thies Wellpott
*/
Expand Down
9 changes: 9 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"dependencies": {
"@antora/cli": "^3.2.0-alpha.4",
"@antora/site-generator-default": "^3.2.0-alpha.4",
"@asciidoctor/tabs": "^1.0.0-beta.6",
"fast-xml-parser": "^4.3.6",
"handlebars": "^4.7.8"
}
}
Loading
Loading