Apache Hop Website

Clone this repo:
  1. 4d21680 Merge pull request #111 from hansva/master by Hans Van Akelyen · 2 days ago master
  2. adae6f3 Update download links and docs by Hans Van Akelyen · 2 days ago
  3. e54bde6 Merge pull request #110 from bamaer/master by Bart Maertens · 9 days ago
  4. 067711d [MONTHLY] updated graduation title by Bart Maertens · 9 days ago
  5. 8f9a866 Merge pull request #109 from bamaer/master by Hans Van Akelyen · 9 days ago

Hop Website

This repository is used to generate the Hop website

Tools used to generate the website:

  • Git a source code management tool used to fetch document sources from different github repositories.
  • Node.js a JavaScript runtime used to build the website. You will need to use Node.js version 12.
  • yarn a blazing fast dependency and package manager tool used to download and manage required libraries.
  • (installed via yarn) Gulp a task automation tool. Used to build the Hop Antora UI theme.
  • (installed via yarn) Hugo a static site generator. Simplified, it takes the documentation from the content directory and applies templates from layouts directory and together with any resources in static directory generates output in the public directory.
  • (installed via yarn) Antora a documentation site generator. It uses Asciidoc documents from different sources.

Build with Node and yarn

You can build the website locally using the tools Node.js and yarn.

Preparing the tools

Node.js

Make sure that you have Node.js (herein “Node”) installed.

$ node --version

If this command fails with an error, you do not have Node.js installed.

This project requires the Node Maintenance LTS version 12 (e.g., V12.19.0).

Please make sure to have a suitable version of Node.js installed. You have several options to install Node.js on your machine:

Note - If you have different Node version other than Node.js Maintenance LTS version 12 you can use following command to make Node.js Maintenance LTS version 12 as your default Node.js version.

$ nvm alias default 12

Now that you have Node 12 installed, you can proceed with checking the Yarn installation.

Yarn

Follow the documentation on installing Yarn for your operating system.

Clone and Initialize the project

Clone the hop-webiste Git repository:

$ git clone https://github.com/apache/hop-website.git

Build the Antora Hop UI theme

The first step is to build the Antora UI theme used for the Hop website. The theme sources are located inside Project root directory/antora-ui-hop. Start by switching to that directory:

$ cd antora-ui-hop

In that directory execute:

$ yarn install # needed only once, or if dependencies change
$ yarn build   # to perform the ui theme build

You should see the Antora theme bundle generated in antora-ui-hop/build/ui-bundle.zip.

Build the website content

Before you are able to build the website content the UI bundle must be present.

To build the website go to the project root directory and run:

$ yarn install # needed only once, or if dependencies change
$ yarn build   # to perform the build

You should see the generated website in the public directory.

Preview website locally

You can preview the the website on your local machine once you have the generated website available in the public directory.

Hugo can start a simple web server serving the generated site content so you can view it in your favorite browser.

Simply call

$ yarn preview

or

$ yarn preview-local 

preview will pull the latest docs version from GitHub, preview-local will use the (committed) documentation files from your local Hop clone.

NOTE: preview-local assumes your docs repository is cloned to a folder hop next to hop-website (both repositories in the same parent folder).

You will be provided with a web server running the site on http://localhost:1313/

Point your favorite browser to http://localhost:1313/ and you will see the Hop website.

Contributing

The website content is added under the content directory, logical groups have been created to group website content. This repository will only be used for the more “static” types of information (blog/news/announcements). Software documentation will reside in a separate repository or in the same repository as the code.

Asciidoc is used to write content for the website, more information about asciidoc syntax can be found here

Images and other resources should be added in the static folder.

Jenkins

This repository also contains a Jenkins hook, when you add a new branch or pull request with changed content the website is automatically build and a preview is available. When merged with master the site is redeployed

You can check your pull request and see if the site is correctly rendered by going to the Apache Builds website