githubEdit

Documentation Style Guide

Where are the docs?

TL;DR version: docsarrow-up-right is the marketing websitearrow-up-right. documentationarrow-up-right is the docs.dnscontrol.orgarrow-up-right website. (Yes, the names are backwards!)

The two websites

  1. https://dnscontrol.org/arrow-up-right

    • The main website

    • Source code: docsarrow-up-right

    • Mostly "marketing" for the project.

    • Rarely changes. Updated via GitHub "pages" feature.

  2. https://docs.dnscontrol.org/arrow-up-right

The directory structure

Within the git repo, docs are grouped:

How to add a new page?

  1. Add the page to the documentation folder (possibly a sub folder)

  2. List the page in SUMMARY.md so that it will appear in the table of contents, sidebar, etc.

Top-of-Document parameters

Files in the documentation/language-reference/{record,domain,global} subdirectories have a header at the top that is used to populate other systems.

Here's an example from A

  • name: The name of the function/constant in the document. This should match the filename (aside from the .md suffix).

  • parameters: These are the names of the parameters that the function accepts. modifiers... indicates that a variable number of modifiers can be added.

  • parameter_types: The typescript type for each parameter. This is used when generating types-dnscontrol.d.ts

  • provider: If a feature is only available for one provider

GitHub pull request preview

When you submit a GitHub pull request, you can view the result in advance. This allows you to check the impact of changes.

For every pull request, you’ll see a status added to the GitHub pull request with a unique preview URL. Clicking the Details link on the status will take you to the preview URL for your content. You can then make sure the content is as expected.

circle-info

NOTE: A new preview URL is created for every git update. Please check the GitHub status for the most up to date URL.

Formatting tips

General

Break lines every 80 chars.

Include a blank line between paragraphs.

Leave exactly one blank line before and after a heading.

JavaScript code should use double quotes (") for strings, not single quotes ('). They are equivalent but consistency is good.

Headings

Code Snippets

See the examples below, for the Markdown syntax click on the 'Source code'.

Long example: (with filename)

Source codearrow-up-right

Long example: (without filename)

Source codearrow-up-right

Hint

Hints are a great way to bring the reader's attention to specific elements in your documentation.

There are 4 different types of hints, and both inline content and formatting are supported.

Example of a hint

circle-info

Info hints are great for showing general information, or providing tips and tricks.

Source codearrow-up-right

circle-check

Source codearrow-up-right

circle-exclamation

Source codearrow-up-right

triangle-exclamation

Source codearrow-up-right

circle-info

This is a heading

This is a line

This is a second line

Technical references

Mentioning language features

Not every mention to A, CNAME, or function needs to be a link to the manual for that record type. However, the first mention on a page should always be a link. Others are at the authors digression.

Mentioning functions from the Source code

circle-info

NOTE: The .md is required.

Just list the URL.

Capitalization matters

Please capitalize these terms as you see them here:

  • DNSControl

  • GitHub

Proofreading

Please spellcheck documents before submitting a PR.

Don't be surprised if Tom rewrites your text. He often does that to keep the documentation consistent and make it more approachable by new users. It's notbecause he has a big egoarrow-up-right. Well, not usually.

Last updated