# Documentation

The Eclipse Layout Kernel (ELK) implements an infrastructure to connect diagram editors or viewers to automatic layout algorithms. It also implements a number of standard layout algorithms ready to be used out of the box.

## Documentation for…

1. …tool developers.

   You want to add automatic layout capabilities to the editor / viewer you’re developing.

2. …algorithm developers.

   You want to implement your own layout algorithms. Make sure you’re already familiar with the documentation for tool developers before starting to read this, especially with our graph data structure.

3. …ELK contributors.

   You want to contribute to the ELK code.

## Links of Interest

- Project forum / newsgroup
- Build server
- Eclipse project metadata site

- Tool Developers
- Graph Data Structure
- Coordinate System
- Layout Options
- Spacing Options
- JSON Format
- ELK Text Format
- Using Algorithms Directly
- Using Plain Java Layout
- Using Eclipse Layout
- Connecting to ELK
- Advanced Configuration
- Layout View Support
- Dependency Injection
- Algorithm Developers
- Getting Eclipse Ready
- Creating a New Project
- ELK Metadata Language
- Automatic Builds
- Algorithm Implementation
- Structuring Algorithms
- Algorithm Debugging
- Random Graph Generation
- Unit Tests
- ELK Contributors
- Development Setup
- Development Workflow
- Installing With Oomph
- Building ELK