This page collects information about the https://netbeans.apache.org website.
The source repository
The sources of the https://netbeans.apache.org website live in in the master branch of https://github.com/apache/incubator-netbeans-website/, inside the netbeans.apache.org
directory. This is a direct link: https://github.com/apache/incubator-netbeans-website/tree/master/netbeans.apache.org
Content
This is a gradle project, that uses https://jbake.org/ to transform the content inside src/content
to HTML.
The content is mainly written in https://asciidoctor.org/docs/asciidoctorj/ but markdown or html content is possible too.
Building
To build the project you need to clone it, and then run the command
./gradlew buildSite
to build it.
Running
You can run the project locally, so that you can visualize it in a web browser, issuing the command:
./gradlew run
Structure
The project has the following structure:
src/content
This contains the content in asciidoc/markdown/html.src/templates
This contains gsp templates for the pages. Templates can include other templates. Templates must always close all the html tags that are opened in the template. See https://github.com/apache/incubator-netbeans-website/tree/master/netbeans.apache.org/src/content/templates for details on the templates.src/content
This contains the content in asciidoc/markdown/html.src/content/scss
This SCSS sources that are compiled into css. This is based in Foundation.src/content/js
Some JavaScript utilities common to all pages (includes Foundation js, jquery js, colorbox for images, etc.).
Publishing
Apache infra has set up a web hook that runs a Jenkins job whenever content is merged to master. The Jenkins job is at https://builds.apache.org/view/Incubator%20Projects/job/incubator-netbeans-website/
The Jenkins job performs these operations:
- Clones therepository from github.
- Checks out the master branch and builds it.
- Checks out the "asf-site" branch and copies the result of the build into it. Then commits it.
- There is another hook that detects changes to the "asf-site" branch and publishes the web in an Apache Server.
Synchronization failures
Sometimes the commit to the "asf-site" branch does not publish the website. In these cases you need to manually resynchronize this using this tool: https://gitbox.apache.org/setup/resync.cgi