| = Solr Ref Guide |
| // 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. |
| |
| This is the source for the Solr Reference Guide. |
| |
| Raw content is stored in Asciidoc (`.adoc`) formatted files in the `src/` directory. |
| |
| == Prerequisites for Building |
| These files are processed with AsciiDoctor in 2 different ways: |
| |
| * Via Jekyll to build an HTML browsable version of the Ref Guide. |
| ** Prerequisites: `Ruby` (v2.1 or higher) and the following gems must be installed: |
| *** `jekyll`: v3.5, not v4.x. Use `gem install jekyll --force --version 3.5.0` to force install of Jekyll 3.5.0. |
| *** `asciidoctor`: v1.5.6.2, not 1.5.7 or higher. Use `gem install asciidoctor --force --version 1.5.6.2`. NOTE: You must do this before installing `jekyll-asciidoc` or you'll get a version of Asciidoctor that we can't use yet. |
| *** `jekyll-asciidoc`: v2.1 or higher. Use `gem install jekyll-asciidoc` to install. |
| *** `pygments.rb`: v1.1.2 or higher. Use `gem install pygments.rb` to install. |
| // The following is only necessary until we are on Asciidoctor 1.5.8 or higher. |
| // See https://github.com/asciidoctor/asciidoctor/issues/2928 for details of the problem with Slim 4.x and higher. |
| *** `slim`: v3.0.1 or higher, only to 3.0.9. Do *NOT* use Slim 4.x. Use `gem install slim --force --version 3.0.9` to install. |
| * Via `asciidoctor-ant` to build the officially released PDF version of the Ref Guide. |
| ** Prerequisites: None beyond those required to use the main Lucene/Solr build: Java, and Ant. |
| |
| == Building the Guide |
| For details on building the ref guide, see `ant -p`. |
| |
| There are currently four available targets: |
| |
| * `ant default`: builds both the PDF and HTML versions of the Solr Ref Guide. |
| * `ant build-site`: builds only the HTML version. |
| * `ant build-pdf`: builds only the PDF version. |
| * `ant clean`: removes the `../build/solr-ref-guide` directory. |
| |
| The output of all builds will be located in `../build/solr-ref-guide`. |
| |
| == Key Directories |
| Key directories to be aware of: |
| |
| * `src` - where all human edited `*.adoc` files related to the Guide live, as well as various configuration, theme, and template files. |
| * `tools` - custom Java code for parsing metadata in our `src/*.adoc` files to produce some `_data/` files for site & pdf navigation purposes. |
| * `../build/solr-ref-guide/content` - a copy of the `src` dir generated by ant where: |
| ** `*.template` files are processed to replace ant properties with their runtime values |
| ** some `../build/solr-ref-guide/content/_data` files are generated by our java tools based header attributes from each of the `*.adoc` files |
| * `../build/solr-ref-guide/html-site` - HTML generated version of the ref guide |
| * `../build/solr-ref-guide/apache-solr-ref-guide-X.Y.pdf` - PDF generated version of the ref guide |
| |
| See the additional documentation in `src/metadocs` for more information about how to edit files, build for releases, or modifying any Jekyll or PDF templates. |