/lucee-docs

Source and build scripts for Lucee's documentation.

Primary LanguageJavaScriptOtherNOASSERTION

Lucee documentation source and builder

Lucee Docs Builder Lint

This repository contains the source and build scripts for creating Lucee's documentation. The website output of the docs can be found at https://docs.lucee.org.

Issues can be reported and tracked at https://luceeserver.atlassian.net/projects/LD.

Find out more about the project at: https://docs.lucee.org/docs.html.

Build locally

Prerequisites

The only optional dependency required is CommandBox.

CommandBox is only required to run the build process via the command line, or if you don't setup a virtual server with an existing local Lucee install.

Ensure that CommandBox is installed and that the box command is in your path.

Building the static documentation output

The purpose of the structure of the documentation is to allow a human readable and editable form of documentation that can be built into multiple output formats. At present, we have an "HTML" builder and a "Dash docs" builder, found at ./builders/html and ./builders/dash that will build the documentation website and dash docset respectively. The source of the documentation can be found in the ./docs folder.

To run the build, execute the build.sh or build.bat script found in the root of the project, i.e.

documentation>./build.sh|bat

Once this has finished, you should find ./builds/html and ./builds/dash directories with the website content / dash docsets built.

Running a server locally

You have two options

  • Create a webserver virtual host with a normal Lucee install, with the virtual host's DocumentRoot set to /lucee-docs/server
  • Run a custom docs instance via CommandBox

We have provided a utility server whose purpose is to run locally to help while developing/writing the documentation. To start it up, execute the serve.sh or serve.bat script found in the root of the project, i.e.

documentation>./serve.sh|bat

This will spin up a server using CommandBox on port 4040 and open it in your browser. You should also see a tray icon that will allow you to stop the server. Changes to the source docs should trigger an internal rebuild of the documentation tree which may take a little longer than regular requests to the documentation.

When running locally there are the following URLs available (these URLs below are for a CommandBox instance, substitute them with the URL for your virtual host if appropriate)

Working with the bundled JS and CSS files

The build process for the JS and CSS bundles are found under /builders/html/assets and uses Sass and Grunt.

Just run npm install, then run grunt.

After you have made everything more beautiful via CSS, or added some funky new interactivity via JavaScript, to publish a new build of the bundles, you'll need to update variables.assetBundleVersion in both Application.cfc and Gruntfile.js, as the docs are statically deployed via Cloudfront and versioning of these files is required to break caching.

Contributing

There is a lot of work to do, and we appreciate contribution in all forms. The issues list can be found and expanded upon here: https://luceeserver.atlassian.net/projects/LD

Ask questions or post suggestions over on the Lucee mailing List under the documentation category.

More information on how the documentation is built and formatted can be found at https://docs.lucee.org/docs.html.

The workflow for contributions is:

Raise issues and suggestions

Issues and suggestions are always welcome (though pull requests are preferred!). Please use the issue tracker: https://luceeserver.atlassian.net/projects/LD.

License

The project is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.