FreeRADIUS InkBridge

Documentation Guidelines

What we want to present to our readers is a set of documentation that has the same look and feel throughout the entire documentation. This includes matching the same 'look and feel' to what the readers get on the corporate website or within the source docs.

InkBridge Style Guide

The CSS files manages the base settings of fonts, colours, layout etc. Changes can be made in the file when global changes are required. Headers/footers are handled by separate files and used to update the branding and relevant info.

Accessibility

Accessible documents ensures equal information access for everyone and improves the user experience. Accessible design benefits all users by making information clearer and easier to understand. This means making documents usable by assistive technologies and navigable for all users.

Ensure information is accessible (tables, lists) and annotated correctly. Diagrams/Table require titles and some call-outs where required. (i.e. Architecture diagram). Other suggestions are outlined in this document that include fonts, spacing, headings, etc.

Capitalization

The TOC is Title Case. Title Case on titles and top level subsection titles (H1 and H2 levels). The navigation panels should render the same title heading (H1/H2) as the selected page(s). All other headings (H3-6) are Sentence case.

Font

Use a clear font that legible on-screen and large enough so it’s easy to read (accessible). Generally a non-serif font is best for screens and works in PDFs (if required)

It’s advisable to remove CAPS BECAUSE IT SEEMS LIKE WE’RE ALWAYS YELLING AT OUR READERS - use bold to emphasize or italics (sparingly). Use CAPS for all acronyms such as TCP/IP, EAP etc.

Formatting

Try to use bold to emphasize the information rather than italics; there’s less brain "context switching" to decipher the fonts bold versus italic. All programming snippets must be formatted as code or code blocks.

Code blocks using source such as ruby, html, shell (zsh, bash) colourises the text. Since there are so many sources, we’ve opted to remove them and keep text in the code or code block black.

Grammar

Use simple words (less than 5-6 syllables). Substitute/remove formal words not recommended for software docs. Check Terminology section for more information on recommended words and terms. Shorten sentences or break into 2 sentences to ensure conciseness.

Landing Pages

All landing pages (H1 top level sections) need introductory paragraph and explanation of what the section contains.

Add xrefs to all the subsections contained in theis section on the top level landing page. Users can select a topic from main page while reading or use the navigation panel on left side.

Layout

Ensure all pages are left-justified (irregular right edge) makes the document more accessible and increases readability. Avoid centre-justification.

CSS files control the margins and page size.

Localization

Remove as many gerunds (words ending in ing) as possible - english doesn’t translate the words easily and these verbs are confusing to readers who’s first language is not english.

Check convoluted text or run-on sentencces with Hemingway or Grammarly editors. The reading level needs to be Grade 9 to ensure that the document is readable, and every user (limited inteliigence or not) can understand what they’re reading on the first pass.

Numbers

Numbers like 1,2,3,…​up 9 are written as words. Numbers starting at 10+ are written out in numerals.

This is not applicable for code or coding blocks. These numbers need to stay in their native formats.

Decimals numbers need to only be 2 significant digits.

See IEEE expressing numbers in documentation for more guidance.

Punctuation

Use the Oxford comma to make sentences clear & concise. Lists use periods at the end of the sentence entry. Use unordered lists when listing contents, or items. Use ordered list for tasks or steps.

Spacing

All Headings have a line space after them before the first paragraph. H1 and H2 headings need 2 line breaks before the following paragraph - TO DO the CSS file and update heading spacing as a global change. Spacing of 1 line between paragraphs. Only one space at the end of a sentence is required.

Spelling

International English - s is used instead of z in words like authorisation vs authorization. By matching/spelling our words the same as supporting docs, e.g. company website or FR software, our readers' comphrehension increases. The reader isn’t decoding what terms are if splet the same, or if 2 terms spelt differently mean the same thing. An example is authorise versus authorize.

Tables

Put information in tables where applicable to increase readability / scanning. Use collapsible widgets for very large code snippets/programming examples/debug outputs or anything that is longer than 4 lines. This allows us to place more information on 1 or 2 pages and readers can select exactly the information they need by expanding sections.

Tone

Friendly and informal for users that need to feel comfortable when accessing information. The informal tone allows the use of contractions.

Remove all slang terms, remove rhetorical questions. Replace humongous words with smaller easily translated items. Check other style guides (Chicago/Google/Apple/Microsoft) for anything else not covered by this page. MS Tips is a good reference for technical documentation and localization.

Xrefs

RFCs need to be x-ref’d and no dash between RFC and xxxx digits. For example, RFC 2345

Recommendations

Ascidocs

Use the built in functions and templates from ascidoc to standardize output rendering. Some tips include:

  • Use the Menu lisitng and the menu items function in ascidocs. For example, menu function (gives the MENU>item2>item2 syntax).

  • For tables, use the [options="headers,autowidth"] to uniformaly size the columns and data. If needed, the options can be set to customize the column size according to the data to be displayed. For example, [cols="1,3"].

  • Use plain text for code and code snippets instead our shell=source, or bash. The use of these parameters colorize the text and we want to do this by modifying the CSS file.

Single Source

Add partials for any chunk repeated more that twice throughout the docs Some examples are the mailing and RFC lists that are repeated multiple time throughout the doc. Any diagram or image that is required in more than one place needs to be placed in a partials directory.

Terminology

International English, or Global English, is the standard form of English used for global communication. Using global english prioritizes clarity and simplicity for non-native speakers in international contexts. Seamless communication between speakers from diverse linguistic backgrounds are possible.

To ensure effective communication, consider the following:

  • Simplify language and avoid complex constructions.

  • Write for translation, simpler words are easy to localize and understand.

  • Use clear, short sentences and avoid ambiguous language.

  • Try using standard expressions and avoid phrasal verbs, gerunds, and colloquialisms.

  • Standardize dates, phone numbers, and addresses.

The following tables indicate what are good or bad terms to use in our documentation (developer doc-in-code or customer-facing).

Words and Terms

Table 1. Words and Terms

Not recommended

Recommended

Reason

analyze, analyzed, analyzing

analyse, analysed, analysing

Standardize on International or Global English.

authorize, authorized,authorizing

authorise, authorised, authorising

Standardize on International or Global English.

behavior

behaviour

Standardize on International or Global English.

centralise, centralised, centralising

centralize, centralized, centralizing

Standardize on International or Global English.

licence

license

For technical docs, the norm is to use license as both the noun & verb. Unlike in Canada licence=noun, license=verb.

minimize, minimizing, minimized

minimise, minimised, minimising

Standardize on International or Global English.

freeradius, FreeRadius

freeRADIUS, FreeRADIUS

Use a standard word for freeRADIUS so users don’t think it’s a different software version or product. This form most represents our logo the most.

thus, thusly

therfore, as a result, so, thereby

Thus is a formal term and not recommended for software docs. Try rephrasing the sentence to remove the word.

v.4.0.0, ver 4.0, v4.0.x

v4, version 4

Standardize on one term throughout the docs.

v.3.0.0, ver 3.0, v3.0.x

v3, version 3

Standardize on one term throughout the docs.

master

primary, main

Use Inclusive language. Can only change the term where/when 'primary' reference works in the selected context. Legacy terms master/slave are still to be used.

mandatory

required, needed, must be present

Inclusive language.

user

end-user

This term means the end-user or user clients that are accessing the network. These aren’t network clients like a NAS or proxy server that talk directly to the freeRADIUS server.

nases, NASes, Nases

NASs

NAS refers to network Access Server that may be a device or software. Many plural forms but need to standardize on one form. Currently set to NASs, but open to suggestion if we decide we want to go with NASes.

network user(s)

end-user(s)

To differentiate between the RADIUS Server clients i.e. NAS, proxy server versus the end-user clients (windows machines, Macs).

clients

network clients, NAS

Refers to any device that communicates directy with the RADIUS server.

should

must, required

Need to be More direct language to instruct user what they have to do. Should implies a suggestion and not necessarily a step that’s required.

Network RADIUS, Network Radius

InkBridge Networks

Rebranding of documents.

whilst

while

Whilst is a formal term and not recommended for software docs.

Forbidden Words

Table 2. Forbidden Words

Not Recommended

Recommended Words

Reason

stupid, stupidities

nonsensical, problems, issues, senseless (if referring to an action, not person.) Other suggestions - lower intelligence threshold, unwanted behaviors, unexpected results, imprudences.

Stupid is a superfluous word and not needed.

crap, shit

problems, issues

Crap and shit are slang and hard to translate.

retarded

not recommended, nonsensical

Use inclusive language, this word precludes 'slower than average' reader.

hell

troublesome, gives you issues

Hell is hard to translate and alternative words can be used.

weenie

ineffectual, problematic, weak

Weenie translates very differently into other languages and definitely not a good word to use.

Acronyms

Add another table of technical terms and abbreviations here. Keep running across multiple spellings and capitalisations of some of the following:

Table 3. Acronyms

Term

Term to use

Reason

arp, arp

ARP

Standard way to reference protocol.

dns, Dns

DNS

Standard way to reference protocol.

eap, eap

EAP

Standard way to reference protocol.

ip

ip

use ip when referencing a variable or a specific instance of an IP address in code or examples.

IP

IP

use IP when referring to the Internet Protocol or networking standards.

tcp, Tcp, TCP

TCP/IP

Standard way to reference protocol.

TCPIP, TCPip, TcpIP

TCP/IP

Standard way to reference protocol.

Udp, udp

UDP

Standard way to reference protocol.