Skip to content

Commit f58b23e

Browse files
committed
Add more text about documentation
1 parent d309736 commit f58b23e

File tree

4 files changed

+34
-11
lines changed

4 files changed

+34
-11
lines changed

docs/development/documentation.md

Lines changed: 26 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,36 @@
55
66
sections to add:
77
8-
* sphinx for documentation
98
* example data :ref:`component-example-data`
10-
* designing good documentation
11-
* visual design
129
1310
```
1411

12+
## Designing good documentation
13+
14+
* Designing an appropriate structure to the documentation
15+
* Writing specific bits of copy
16+
* Visual design
17+
18+
```eval_rst
19+
.. todo::
20+
Write more about why visual design is important
21+
22+
```
23+
24+
```eval_rst
25+
.. _section-documentation-technical:
26+
```
27+
## Technical approach
28+
29+
The documentation websites we maintain are static HTML sites generated using [sphinx](http://www.sphinx-doc.org/en/stable/index.html).
30+
31+
Sphinx has the ability to process and integrate documentation from different sources using directives. With Sphinx you can do things like gathering field descriptions from a schema file and compiling them as a table in a document, allowing you to use a component of a standard to document the standard itself.
32+
33+
We have created a number of [custom directives documented here](https://github.com/OpenDataServices/sphinxcontrib-opendataservices).
34+
35+
[reStructuredText](http://docutils.sourceforge.net/rst.html) is the native input format for Sphinx builds. However, with the bridge library recommommark, it is possible to use input files in markdown.
36+
37+
We maintain a custom [sphinx-base](https://github.com/OpenDataServices/sphinx-base) project to use when starting new documentation sites.
1538

1639
## Documentation patterns
1740

docs/development/stages.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ The released version of a standard is production ready, and no further changes w
8383

8484
## Revision
8585

86-
A standard will periodically be revised. See the section on versioning for more information.
86+
A standard will periodically be revised. See [Governance and Revision](governance) for more information.
8787

8888
```eval_rst
8989
.. todo::

docs/development/tooling.md

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,8 @@
11
# Tooling
22

3+
For the tooling we use to build thedocs itself, see [Documentation -> Technical approach](section-documentation-technical)
34
This section details the tooling we use as part of our standard development.
45

5-
For documentation we make extensive use of [sphinx](http://www.sphinx-doc.org/en/stable/rest.html)
6-
7-
We maintain a custom [sphinx-base](https://github.com/OpenDataServices/sphinx-base) project to use when starting new documentation sites.
8-
9-
We have created a number of [custom directives documented here](https://github.com/OpenDataServices/sphinxcontrib-opendataservices).
106

117
## Tooling components
128

docs/patterns/documentation.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -242,7 +242,7 @@ Releases are named: `Major__minor__path` e.g. `1__0__3`, `1__1__2`
242242
### Problem
243243

244244
Normally, building the standard documentation and publishing the schema is a complicated process involving many steps to run and test.
245-
To save time, these need to be run automatically. Feedback needs to be given to the documentation or schema writers to check if their changes look correct.
245+
To save time, and to avoid mistakes, these need to be run automatically. Feedback needs to be given to the documentation or schema writers to check if their changes look correct.
246246
Also, checks regarding the integrity of the documentation and schema need to be run for every change made.
247247

248248
### Solution
@@ -252,7 +252,11 @@ This means that the integrity tests are run and you can see version of that bran
252252

253253
### Method
254254

255-
We use Travis on github, both to run the tests and to push a built version of the docs/schema to a development server. We store private server access details on github outside our public build scripts.
255+
We use two different automated build services, for different projects:
256+
257+
(1) [Read the docs](https://readthedocs.org/) is designed specifically for building Sphinx docs. It will rebuild a version of the documentation every time a commit if pushed to the corresponding branch on GitHub. Read the Docs being designed specifically for Sphinx is useful because it will automatically hosts the docs, and provides a version/language switcher out of the docs. It gives a lot of control (e.g. you can have whatever custom directives and theming you want, you can point a custom domain at it), but is less flexible than a generic build service. It also requires a manual step to add a new branch/version to the docs. We use Read the Docs for lots of smaller docs sites
258+
259+
(2) [Travis](https://travis-ci.org/) - is a generic build service (again building every time something is pushed to GitHub), so requires a bit more setup than Read the Docs, but also gives you maximum flexibility over what commands get run. It can also run tests of the documentation/schema before the build. It doesn’t host docs, but can be set up to push the built docs to a hosting provider of your choice.
256260

257261
### Example
258262

0 commit comments

Comments
 (0)