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' as 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 handled by separate files and used to update the branding and relevant info.

Accessibility

Ensure information is accessible (tables, lists) and annotated correctly. Diagrams/Table require titles (future work) and some call-outs (i.e. Architecture diagram).

Capitalization

The TOC is Title Case. Title Case on titles and top level subsection titles (H1 and H2 levels). The navigation panels will render All other headings (H3-6) are Sentence case to.

Font

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 the italics with bold - less brain context switching to decipher italic. All programming snippets must be formatted as code or code blocks.

Grammar

Use simple words (less than 5-6 syllables). Shorten sentences or break into 2 sentences to ensure conciseness. See style guides below for more details.

Landing Pages

All landing pages (H1 top level sections) need introductory paragraph and explanation of what each 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.

Ensure all pages are left-justified (irregular right edge)

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 (stupid 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 to code or coding blocks. 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 all have a line space after them before the first paragraph. H1, H2, H3 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 - z is used instead of s in words like authorization vs authorization. By matching/spelling our words as the same supporting docs like RFCs, websites, and the software, our readers' comphrehension. The reader’s not trying to decode what terms are the same or if 2 terms spelt differently mean the same thing such as 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

Terminology

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

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.

Words and Terms

Table 1. Words and Terms

Not recommended

Recommended

Reason

analyse, analysed, analysing

analyze, analyzed, analyzing

Standardize on International or Global English.

authorise, authorised, authorising

authorize, authorized,authorizing

Standardize on International or Global English.

behaviour

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

minimise, minimised, minimising

minimize, minimizing, minimized

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.

network user(s)

end-user(s) or network access clients(?)

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, give you issues

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

Acronyms

Add another table of technical terms and abbreviations here. Keep running across multiple spellings and capitalizations 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

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

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.