compose/docs
Ben Firshman 55fcd1c3e3 Clarify service networks documentation
When jumping straight to this bit of the docs, it's not clear
that these are options under a service rather than the top-level
`networks` key. Added a service to make this super clear.

Signed-off-by: Ben Firshman <ben@firshman.co.uk>
2016-04-20 15:58:12 -07:00
..
images updated Wordpress example to be easier to follow, added/updated images 2016-02-23 11:59:19 -08:00
reference Clarify behaviour of rm and down 2016-04-11 16:31:27 +01:00
Dockerfile update to description of files generated from examples, which are no longer owned by root w/new release 2016-02-16 11:34:59 -08:00
Makefile Support a volume to the docs directory and add --watch, so docs can be refreshed. 2015-11-03 11:28:51 -05:00
README.md New navigation for 1.10 release 2016-01-27 12:05:56 -08:00
completion.md New navigation for 1.10 release 2016-01-27 12:05:56 -08:00
compose-file.md Clarify service networks documentation 2016-04-20 15:58:12 -07:00
django.md added some formatting on the Wordress steps, and made heading levels in these sample app topics consistent 2016-04-08 16:40:07 -07:00
env-file.md Add support for DOCKER_* variables in .env file 2016-03-24 10:57:28 -07:00
extends.md Add support for docker run --tmpfs flag. 2016-03-18 18:19:48 -04:00
faq.md Clarify depends_on logic 2016-03-02 10:29:24 -08:00
gettingstarted.md updated Wordpress example to be easier to follow, added/updated images 2016-02-23 11:59:19 -08:00
index.md Documentation for .env file 2016-03-24 10:57:01 -07:00
install.md Remove hardcoded host from Engine install URLs 2016-03-17 18:10:32 +00:00
link-env-deprecated.md Rename the old environment variable page to link environment variables. 2016-02-02 10:46:29 -05:00
networking.md fixed links showing as build errors per PR #3180 2016-03-23 14:58:45 -07:00
overview.md Fixed indentation level in example. 2016-03-08 15:53:55 +11:00
production.md Better Compose in production docs 2016-03-10 08:55:07 -08:00
rails.md Rails Docs: Add nodejs to apt-get install command 2016-03-28 13:31:40 +13:00
startup-order.md Clarify depends_on logic 2016-03-02 10:29:24 -08:00
swarm.md fixed links showing as build errors per PR #3180 2016-03-23 14:58:45 -07:00
wordpress.md added some formatting on the Wordress steps, and made heading levels in these sample app topics consistent 2016-04-08 16:40:07 -07:00

README.md

Contributing to the Docker Compose documentation

The documentation in this directory is part of the https://docs.docker.com website. Docker uses the Hugo static generator to convert project Markdown files to a static HTML site.

You don't need to be a Hugo expert to contribute to the compose documentation. If you are familiar with Markdown, you can modify the content in the docs files.

If you want to add a new file or change the location of the document in the menu, you do need to know a little more.

Documentation contributing workflow

  1. Edit a Markdown file in the tree.

  2. Save your changes.

  3. Make sure you are in the docs subdirectory.

  4. Build the documentation.

     $ make docs
      ---> ffcf3f6c4e97
     Removing intermediate container a676414185e8
     Successfully built ffcf3f6c4e97
     docker run --rm -it  -e AWS_S3_BUCKET -e NOCACHE -p 8000:8000 -e DOCKERHOST "docs-base:test-tooling" hugo server --port=8000 --baseUrl=192.168.59.103 --bind=0.0.0.0
     ERROR: 2015/06/13 MenuEntry's .Url is deprecated and will be removed in Hugo 0.15. Use .URL instead.
     0 of 4 drafts rendered
     0 future content
     12 pages created
     0 paginator pages created
     0 tags created
     0 categories created
     in 55 ms
     Serving pages from /docs/public
     Web Server is available at http://0.0.0.0:8000/
     Press Ctrl+C to stop
    
  5. Open the available server in your browser.

    The documentation server has the complete menu but only the Docker Compose documentation resolves. You can't access the other project docs from this localized build.

Tips on Hugo metadata and menu positioning

The top of each Docker Compose documentation file contains TOML metadata. The metadata is commented out to prevent it from appearing in GitHub.

<!--[metadata]>
+++
title = "Extending services in Compose"
description = "How to use Docker Compose's extends keyword to share configuration between files and projects"
keywords = ["fig, composition, compose, docker, orchestration, documentation, docs"]
[menu.main]
parent="workw_compose"
weight=2
+++
<![end-metadata]-->

The metadata alone has this structure:

+++
title = "Extending services in Compose"
description = "How to use Docker Compose's extends keyword to share configuration between files and projects"
keywords = ["fig, composition, compose, docker, orchestration, documentation, docs"]
[menu.main]
parent="workw_compose"
weight=2
+++

The [menu.main] section refers to navigation defined in the main Docker menu. This metadata says add a menu item called Extending services in Compose to the menu with the smn_workdw_compose identifier. If you locate the menu in the configuration, you'll find Create multi-container applications is the menu title.

You can move an article in the tree by specifying a new parent. You can shift the location of the item by changing its weight. Higher numbers are heavier and shift the item to the bottom of menu. Low or no numbers shift it up.

Other key documentation repositories

The docker/docs-base repository contains the Hugo theme and menu configuration. If you open the Dockerfile you'll see the make docs relies on this as a base image for building the Compose documentation.

The docker/docs.docker.com repository contains build system for building the Docker documentation site. Fork this repository to build the entire documentation site.