Style Guide for CSE

Welcome!

This site will explain how to format and create new content that is consistent with the existing body of work. It is meant to provide guidance on how to write, structure, and notate your content in a repeatable fashion. Adhering to the style guide helps users of our content learn more efficiently.

Prerequisites

There are few basic prerequisites to using this style guide. The reader is:

  1. planning or has a desire to write new guides in this format.
  2. loosely familiar with hugo and the relearn theme.
  3. ready to begin developing content, has a topic and a repo to store their work.

Learning Objectives

  • Understand what this style guide is, and isn’t useful for
  • Understand how to talk about technology in a consistent manner
  • Understand the structure for effective teaching
  • Function as a reference guide to look back on when encountering new situations.
Version:
Last updated: Thu, May 22, 2025 22:18:42 UTC
Copyright© 2025 Fortinet, Inc. All rights reserved. Fortinet®, FortiGate®, FortiCare® and FortiGuard®, and certain other marks are registered trademarks of Fortinet, Inc., and other Fortinet names herein may also be registered and/or common law trademarks of Fortinet. All other product or company names may be trademarks of their respective owners. Performance and other metrics contained herein were attained in internal lab tests under ideal conditions, and actual performance and other results may vary. Network variables, different network environments and other conditions may affect performance results. Nothing herein represents any binding commitment by Fortinet, and Fortinet disclaims all warranties, whether express or implied, except to the extent Fortinet enters a binding written contract, signed by Fortinet’s General Counsel, with a purchaser that expressly warrants that the identified product will perform according to certain expressly-identified performance metrics and, in such event, only the specific performance metrics expressly identified in such binding written contract shall be binding on Fortinet. For absolute clarity, any such warranty will be limited to performance in the same ideal conditions as in Fortinet’s internal lab tests. Fortinet disclaims in full any covenants, representations, and guarantees pursuant hereto, whether express or implied. Fortinet reserves the right to change, modify, transfer, or otherwise revise this publication without notice, and the most current version of the publication shall be applicable.

Subsections of Style Guide for CSE

Overview

Overview

The purpose of this style guide is multifaceted, encompassing a range of objectives aimed at enhancing the quality, accessibility, and readability of technical documentation.

By laying down the principles, standards, and best practices for writing and presenting technical information, this guide seeks to empower writers, editors, and contributors to craft content that not only informs but also engages and inspires its audience.

This is a living document, and as such, is always subject to change.

Subsections of Overview

Purpose

What is this?

This guide is meant to provide guidance and clarity for authors developing materials for internal and external audiences. The overall purpose is to assist with:

  • Consisty in Communications
  • Clarity and Precision
  • Enhancing Readability
  • Ensuring Accessibility
  • Facilitating Collaboration
  • Integrating with Brand Voice and Tone Across Fortinet Communications

This guide is by nature both a work in progress and an opinionated document, based on the growing experience of the CSE Organization. Its recommendations are subject to change, and are written specifically for educational content with a broad range of readers and end-users in mind


Do I have to use it?

NO!!! – this guide is meant merely as that. A guide to help assist when questions arise. There are no obligations to follow what is written here. In fact, if there is a better way to do certain things than how they are described here, contributions, modifications, and changes are encouraged and accepted via pull requests. More details for that can be found under [[Contributions]]

How to Use

This is a reference guide, to be used as guidance when developing your own content. This is not meant to be read through sequentially, but rather is intended to provide quick references to voice, tone, grammar, format, technical, and accessibility questions. This document offers way to appropriately present your information in the Fortinet Hugo theme.

Each section outlines specific topics and provides examples in depth for your use. The top level links on the right side provide a tl;dr style summary for the pages encompassed in that chapter.

FAQ

Frequently Asked Questions

To be filled out as this is circulated and feedback is given.

Technical Writing

Technical Writing

This section is meant to provide guidelines around how to write, reference, and explain the technical pieces. These again are only guidelines and are meant to provide clarity when there is none. If there is something written here that contradicts other advice or references elsewhere, this document can and should be modified.

  • The grammar section covers the grammatical nuance of writing.
  • Voice and tone explains how to speak as Fortinet, through your written words.
  • Audience and Personas helps to find the audience you’re writing for.
  • The structure section then outlines best practices in storing your files within your repository, how to structure your guide, and how to best build out your individual chapters for effective learning.

too long; didn’t read (tl;dr)

  • Grammar
    • Be specific
    • Be consistent
    • Use active voice
  • Voice and Tone
    • Straightforward
    • Educational
    • Knowledgeable
  • Audience
    • Network Teams (NOC)
    • Security Teams (SOC)
    • Developers (DevOps)
  • Structure
    • File Structure
    • Content Structure
    • Follow the rule of three (3 chapters, 3 subchapters, etc)

Subsections of Technical Writing

Grammar Mechanics

It is important that we adhere to a clearly defined set of grammatical and mechanical rules in our writing. This ensures that we speak with in a consistent style that is tied to our brand personality. This section lays out specific guidelines on spelling, numbers, punctuation, and much more.

Basics

Before we get into the details, however, it is important to note some basic guiding principles:

  1. Remain on message. Know your value proposition and what you are trying to accomplish (elicit a change, empower for success, or assure them). Tell a sequential story with a visible structure and transition between each section.
  2. Be specific. Avoid vague, obscure language when possible. Get rid of the fluff.
  3. Be consistent. Make sure you follow our brand style guide and use consistent voice, grammar, and mechanics. Inconsistency creates brand confusion.
  4. Be positive. Negative language is a turnoff and is in contradistinction to Fortinet’s brand.
  5. Use active voice. Avoid passive voice—use active voice. Words like “was” and “by” may be an indication you’ve slipped into passive voice.
  6. Avoid slang and jargon. Write in plain English.
Tip

Looking for guidance on specific words, hyphenations, or usage? Check the glossary for a comprehensive list.

Guidelines

Unless indicated otherwise, we follow the Associated Press Stylebook (AP Style). For anything not covered in our Brand Style for Writing section, please refer to it. When rules between the two sources differ, the ones in our Brand Style for Writing takes precedence.

Note

These guidelines are intended only for written text left to the interpretation of the reader. When providing direct guidance for the reader to perform an action in their lab environment, these guidelines should be ignored and the action should be written exactly as intended to enter. The use of code blocks and bold text help clearly delineate actions from explanatory text.

For additional help in formatting your documentation to adhere to these guidelines, check the markdown section of this document.

Abbreviations and Acronyms

Spell out the first occurrence of an abbreviation or acronym and use the short version for all subsequent references.

First Use: General Data Protection Regulation (GDPR)
Second Use: GDPR

First Use: Managed Security Services Provider (MSSP)
Second Use: MSSP

About Fortinet

Complete legal name of Fortinet is “Fortinet, Inc.” use Fortinet, Inc. when writing legal documents or contracts but use Fortinet otherwise.

Refer to Fortinet as “we” and not “it.”

Fortinet products always start with “Forti“ and end with an uppercase letter of the product (e.g., FortiNAC, FortiGate, etc.).

About Other Companies or Products

Honor their company names and do not abbreviate. Refer to a company or products as “it” and not with “they.”

Ampersands

Don’t use ampersands unless they are part of a company or brand name.

Apostrophes

Apostrophes are used for contractions (do not use them) and to make a word possessive. In the case of the latter, if the word ends in an “s” and is singular, simply add the apostrophe (not an additional “s”). If the word ends in an “s” and is plural, the apostrophe is simply added.

Bullets

Employ bullets when delineating a list that would be difficult to follow if kept within sentence structure. Do not use more than five or six bullets for a list. If it is longer than five or six bullets, then you need to break up the list into two or more taxonomies.

Capitalization

Title case capitalizes the first word of every letter except articles, prepositions, and conjunctions. Sentence capitalization capitalizes the first letter of the first word. Words that should not be capitalized in a sentence include:

  • website
  • email
  • position titles (e.g., “Sue is the director of IT at Ford Motor Company.”)
  • college majors (e.g., “Sue majored in computer science while in college.”)
  • seasons (e.g., “Sue began working at Ford in the fall of 2012.”)

Colons

Use colons to delineate a list (not an em dash, ellipsis, or comma).

Yes: Sue requested three solution elements: web filtering, firewalls, and switches.
No: Sue requested three solution elements—web filtering, firewalls, and switches.

Commas

Use serial commas when writing a list of words or putting together a list of clauses (Oxford comma).
Yes: Sue built an outstanding program that includes firewalls, routers, and switches.
No: Sue built an outstanding program that includes firewalls, routers and switches.

Employ a comma when breaking up complete clauses (viz., have a subject and predicate) that are joined together in one sentence.

  • The Security Fabric enables customers to reduce the time spent managing manual compliance reporting, and it also provides enhanced threat intelligence.

Contractions

Our writing leans more on the side of formal than informal. Steer away from the use of contractions (e.g., “can’t,” “don’t,” “won’t,” “hasn’t,” etc.). The fact that content is translated for international audiences is another reason why we do not use contractions.

Dates

Spell out the day of the week and month (e.g., Sunday, December 23) and only abbreviate when there are space constraints (e.g., Sun., Dec. 23).

Decimals and Fractions

Spell out fractions.
Yes: one-third
No: 1/3

Use decimal points when a number cannot be expressed easily as a fraction but only to the tenths or hundredths level unless there is a valid business case.
Yes: 2.75
No: 2.7542

Ellipses

Ellipses […] are used to indicate that a thought is trailing off. These should be used sparingly and should not be used for emphasis or drama nor in titles or headings.

Ellipses in brackets […] are used to show the omission of words in a quote.

Emoji

Cybersecurity is a serious business. We don’t use them.

Em Dashes and Hyphens

Use a hyphen without spaces on either side to line words into a single phrase and for compound modifiers. (Note: Compound modifiers are not separated by a hyphen when the first word ends with -ly [e.g., fully integrated solution].)

  • first-ever report
  • collaborative-interactive solution

Use an em dash (—) without spaces on either side to offset asides (and do not use hyphens or en dashes [–]).

  • Having a position open for a lengthy amount of time can become a real challenge for a cybersecurity organization—and a tangible pain point for a CISO.

Exclamation Points

Use them sparingly and never more than one at a time. The point of the sentence or phrase must be particularly salient to warrant an exclamation mark.

Like periods and question marks, exclamation marks go inside quotation mark. They go outside parentheses when the parenthetical is part of a larger sentence. They go inside parentheses when the parenthetical stands alone.

See Periods for examples.

File Extensions

File extension types should use all uppercase without a period. If plural, simply add an “s.”

  • JPEG
  • HTML
  • PDF

When referring to a specific file, the file name should be all lowercase unless specified otherwise (sometimes malicious files have specific uppercase and lowercase letters; see FortiGuard.com to look up specific malicious files):

  • mint.exe
  • simplewallet.exe
  • GandCrab.Botnet

Footnotes/Endnotes

Use endnotes unless there is a valid reason to use footnotes. The footnote/endnote number goes on the outside of the punctuation mark and not on the inside.
Yes: Ransomware attacks grew over 205% last year.1
No: Ransomware attacks grew over 205% last year1.

Footnotes and endnotes are only used in long-form, pillar content such as white papers, eBooks, solution briefs, etc. Hyperlinks are used in blog posts and online articles (e.g., TheCISOCollective.com). See the footnotes section of the markdown page for implementation details.

Footnote/endnote examples:

When there is an author’s name:
Patrick E. Spencer, “The State of the Female CISO, and What Can Be Done About It,” The CISO Collective, September 6, 2018.

When there is not an author’s name:
“Over half of consumers have decided against an online purchase due to privacy concerns,” KPMG, November 3, 2016.

When there is not a published date: “Beneath the surface of a cyberattack,” Deloitte, accessed September 16, 2018.

When the reference comes from a referred publication published quarterly, bi-monthly, etc.:
Doug Jones, “How to Motivate Your Employees,” Harvard Business Review 91:1 (January-February 2018): 55-62.

When there are two authors:
Doug Jones and Mary Landry, “Where to Find Cybersecurity Professionals,” SANS Institute, January 21, 2017.

When there are three or more authors:
Doug Jones, et al., “Where to Find Cybersecurity Professionals,” SANS Institute, January 21, 2017.

Italics

For titles of books, movies, and other long works, use italics. Don’t use underline formatting or any combination of bold, italic, caps, and underline.

Money

When writing about U.S. currency, use the dollar sign. For other currencies, the same format should be followed.

Names and Titles

Use the first and last name of a person in the first instance where they are referenced. Use their last name in all subsequent occurrences.

Department names are capitalized but not team when it follows.

  • Security team
  • IT department

Position titles are not capitalized unless they are used a titular manner:

  • Chief Information Officer Sue Hanks embarked on a search for a solution that met their business requirements.
  • Sue Hanks, the chief information officer, embarked on a search for a solution that met their business requirements.

Numbers

Numbers are spelled out when it begins a sentence. Use numerals in asset titles (research shows they generate more reader engagement). In sentences, numbers between one and nine are spelled out, while numbers 10 and above are used as numerals. Numbers with four digits or more get commas.

When numbers below nine and above 10 are used in the same context, then numerals are used.

  • Numbers Nine and Below (e.g., “Sue estimated an answer between six and eight.”)
  • Numbers 10 and Above (e.g., “Sue won between 50 and 90 games in three years.”)
  • Mixed Numbers (e.g., “Sue discovered that attendees answered between 6 and 12 questions on the survey.”)

Do not abbreviate larger numbers in numerical form (e.g., 2K, 150K).

Periods

Periods go inside quotation mark. They go outside parentheses when the parenthetical is part of a larger sentence. They go inside parentheses when the parenthetical stands alone.

  • Sue said, “Fortinet is a great solution and it has delivered tangible results for us.”
  • Endpoint protection must account for users and devices (not to mention network access control).
  • (Network access control is a requisite for anyone with IoT devices.)

Percentages

Use % symbol instead of spelling out “percent.”

Pronouns

If your subject’s gender is unknown or irrelevant, then use thirdperson plural pronouns (they, their, them) as singular pronouns.

Use third-person singular pronouns as appropriate (he, his, she, her). Don’t use “one” as a pronoun.

Question Marks

Question marks go inside quotation mark. They go outside parentheses when the parenthetical is part of a larger sentence. They go inside parentheses when the parenthetical stands alone. See Periods for examples.

Quotation Marks

Use quotes to refer to words and letters, titles of short works such as articles and poems, and direct quotations. Punctuation (periods, exclamation marks, question marks, semicolons, colons, commas) go inside of quotation marks. Use single quotation marks for quotes within quotes.

  • Sue said, “Fortinet is the backbone of our security strategy.”
  • He noted, “Our CEO gave me a mandate, indicating that ‘we should proceed with the best solution.’”

Ranges and Spans

Use an en dash [–] to represent a range or span of numbers, dates, or time (not a hyphen). There should be no space between the en dash and the adjacent content.
Yes: Customers realize 25%–30% savings.
Yes: The webinar is scheduled for Wednesday, December 23, 11:00 a.m.–12:00 p.m.
No: Customers realize 25%-30% savings.
No: The webinar is scheduled for Wednesday, December 23, 11:00 a.m.-2:00 p.m.

Schools

Refer to a school by its full name in its first occurrence. Afterwards, you can use its more common abbreviation.

  • The University of Colorado at Boulder (CU) conducted research in cybersecurity.
  • CU performs extensive research in cybersecurity.

Semicolons

Semicolons normally are used in long, complicated sentences. But be careful about overusing semicolons. Sometimes, an em dash (—) is a better option. In other instances, it may be best to break the sentence into two sentences.

Space Between Sentences

Use one space between sentences and not two.

States, Cities, Countries

Spell out all city and state names. Don’t abbreviate them. AP Style stipulates that cities must be accompanied by their state with the exception of the following:

Atlanta, Baltimore, Boston, Chicago, Cincinnati, Cleveland, Dallas, Denver, Detroit, Honolulu, Houston, Indianapolis, Las Vegas, Los Angeles, Miami, Milwaukee, Minneapolis, New Orleans, New York, Oklahoma City, Philadelphia, Phoenix, Pittsburgh, St. Louis, Salt Lake City, San Antonio, San Francisco, Seattle, Washington

Syntax Descriptions

Use code blocks for literals (parts of the language, values, and so on), italics for placeholder names, and regular text for the brackets that enclose something that’s optional. Pay close attention to punctuation.

Read ([file,] var)

Use camelcase to connect words that act as a single placeholder name (sourceFile).

Be consistent when naming placeholders; for example, don’t alternate between commands and commandList.

Time

Use numerals and a.m. or p.m. with a space in between. Use an en dash for ranges without a space between it and the adjacent words on either side. Abbreviate time zones in the U.S. For international time zones, spell them out.

Title Case

Short words with less than four letters are lowercase in titles unless they are the first or last words. However, if any of those words are verbs (is, are, was be), they are to be capitalized.

  • Sue Smith, “A Short Discussion on What Is the Most Important"
  • Cybersecurity Requirement,” Harvard Business Review 38:2 (2012): 65-81.

URLs and Websites

Capitalize the names of websites and web publications. Don’t italicize. Spell out URLs but leave off http://www and https://www. Or use basic links.


  1. Patrick E. Spencer, “The State of the Female CISO, and What Can Be Done About It,” The CISO Collective, September 6, 2018. ↩︎ ↩︎

Voice and Tone

The voice and tone of the language we use when writing content plays an important role in conveying brand personality.

Brand voice never changes. It is how we want to act when speaking and writing and is directly tied to our brand attributes: dedicated, resourceful, agile, resolute, and prescient. Tone changes depending on the persona to which we are writing and the circumstances.

Voice

Cybersecurity is a serious undertaking, and the stakes are very high. Flippant and comical language and content runs counter to this reality. A casual or conversational voice implies that neither the audience nor subject is taken seriously enough.

We are also optimistic and use positive language to inform and encourage rather than employing negative language to scare them into action. We do not define a problem without providing a solution. We educate and assure rather than create ambiguity and alarm.

At Fortinet, we are confident in our advanced technologies and assure audiences that they perform as advertised, protecting digital assets while enabling business performance.

We always have the best interest of customers, partners, and the cybersecurity industry at heart and build rather than tear down; collaborate rather than criticize and dispute.

All of this means we write copy that is:

  • Straightforward - We strip away all hyperbole, never overpromise, and avoid emotional language and metaphors (as they don’t always translate). We want to aim for sentences of 20 words or less and to write them so that they can be easily unpacked for translation. Additionally, we should stay away from metaphors and idioms that do not translate (e.g., only relate to U.S. audiences).
  • Educational - Network security professionals seek content that provides them with information, helping them solve problems, overcome challenges, and answer questions. While some regional-specific details and examples are important and necessary depending on the content asset, avoid including U.S.-centric examples only whenever possible.
  • Knowledgeable - When we write something, we research the subject to gain a comprehensive understanding of the issues and ensure we have corroborating data to back up any claims that we make.
  • Positive - Our glass is half full rather than half empty. Rather than dwelling on what can go wrong, we are focused on providing answers and solutions to challenges and problems.
  • Avoid gatekeeping - Avoid language that is exclusionary or encourages “gatekeeping.” We write for an international audience of developers from a wide range of backgrounds, races, ethnicities, cultures, and experience levels. Use the Open Gates checklist to help ensure you’re not excluding others.

Tone

Cybersecurity is a serious undertaking and the repercussions of a data breach, operational outage, or compliance violation are grave. Our tone needs to reflect this reality and does not assume a glib or casual tone.

We always consider context and audience and craft a tone that reflects both. This also factors in the audience’s state of mind. Are they unaware they have a problem? Are they already seeking a solution? Are they skeptical and difficult to persuade to change their mind and behaviors? Are you addressing a C-suite executive or technical engineer or specialist who manages the actual security technologies?

Depending on the answer to these and other questions, language tone and the type of content used needs to be adjusted accordingly.

  • We are engaging. We create content that is educates or challenges our audience with new information or a different perspective. Content is substantive and simply not a regurgitation of data points and details found in other content—whether generated by Fortinet or third party. We also write in a way that tells a narrative with a sequential flow where the intersections in our argument provide smooth transitions from one point to the next.
  • We are authentic. Authenticity is more than simply another word for honesty but rather conveys integrity and full transparency to certain set of principles. Our content tone must always remain faithful to our brand proposition and brand attributes, representing our commitment to help customers protect themselves in the most effective and efficient manner possible. We also write to specific personas, humanizing our brand messaging to ensure it relates to the targeted audience.
  • We are optimistic. Rather than focusing on what can go wrong, and certainly with cybersecurity there are plenty of negative repercussions, we focus on what can go right when broad, integrated, and automated security technologies and practices are used. Fortinet believes in a cyber world where customers embrace digital transformation with confidence and are excited about the future.
  • We are astute. Fortinet understands cybersecurity as well, if not better, than any other organization. This means we accurately assess trends and problems and provide ideas and propose solutions that turn these into advantages for customers, partners, and us. We are the smart “guys” and “gals” on the block but convey this knowledge without smugness or condescention.
  • We are assuring. Cyber threats can be unsettling. Their increasing volume, velocity, and sophistication, coupled with well-publicized data breaches, operational outages, and compliance violations caused by them, can paralyze organizations and inhibit business performance. Our brand tone must assure customers that they can protect themselves against advanced threats while ensuring that business performance does not suffer.

Audiences and Personas

Audiences

There are a lot of different entities for which we write content. These organizations represent both public and private sectors and a number of industries that include finance, healthcare, retail, energy, manufacturing, and hospitality, among others. When these different audience segments are boiled down to a finite number, the below is a good representation:

Large and Midsize Enterprises. Typically, with global operations and thousands of employees, these businesses have dedicated cybersecurity teams that are charged with overseeing cybersecurity strategy and execution.

Small Businesses. These companies range from a few employees to those with several hundred. Depending on the company size, a dedicated cybersecurity headcount may not exist. Cybersecurity is either outsourced or under the charge of the person responsible for IT.

Partners. Fortinet’s partner network consists of thousands of distributors, channel partners, resellers, and solution resellers. It also includes over 60 Fabric-Ready Partners.

Employees. Last but not least are Fortinet’s employees who, depending on the circumstances, need to be kept informed, assured, and sometimes challenged.

Personas

These different audiences have disparate personas to whom we write content. Individual personas matter. Thus, Fortinet aspires to create content specific to individual personas and their unique attributes, interests, and challenges. Since our content is primarily focused on technical aspects of the solutions we offer, we primarily focus on personas with a technical background. While it is impossible to delve into the details on all of the personas here, the following are some of our key customer personas:

  • Security Architect
  • Network Architect
  • DevOps Engineer

We could add many others to the list such as security administrator, network engineer, security operations center (SOC) staff, network operations center (NOC) staff, etc. The same can be said about channel partners, with key personas that include everyone from the owner of a small VAR to the channel engineers of a solutions provider.

Writing for International Audiences

While not all Fortinet content is used by international teams and translated into local languages, a measurable portion is used and translated by non-U.S. teams. Content with complex sentences and U.S.-centric idioms and metaphors are problematic. Additionally, when possible, solution examples and other references should be applicable across regions.

  1. Monitor sentence length. Avoid complex sentence structures and lengthy sentences. These are difficult to translate and add internationalization costs. As a rule, sentences should be 20 words or less (with those over 20 words being a rate exception).
  2. Avoid idioms, metaphors, colloquialisms. While these add color for native readers of the English text, they often are lost on non-native readers. Further, these rarely translate— meaning is completely lost and often the wrong meaning is conveyed!
    A few examples to avoid:
    • “The product addresses business issues where the rubber meets the road.”
    • “The company was ready to step up to the plate.”
    • “This architectural model is a paradigm shift.”
    • “Centralized management provides one throat to choke.”
    • “We are willing to go the extra mile.”
    • “The product provides over the top features.”
  3. Avoid unnecessary words and modifiers. Some adjectival and adverbial modifiers add color and detail that improves the quality of the writing and make the content more engaging. In other instances, they elongate sentences and make it more complex to unpack for translation.
  4. Employ terminology consistently. Use the same word to describe the same action unless repetition or redundancy is a concern.
  5. Avoid negative constructions. Use positive-action constructions.
    No: He was unable to avoid using the new features.
    Yes: He began using the new features.
  6. Watch pronouns. While it is important to avoid redundancy through repetitious use of nouns, watch for overuse of pronouns (as the subject connection can become unclear in translation for certain languages).
  7. Spell out abbreviations. You should not use abbreviations without spelling out the first instance (see Appendix X).

Content Structure

With the Fortinet-hugo theme, our content is broken down into chapters, with each chapter broken into sections. These sections are further broken down into subsections within each page.

When developing content, using the directory below can help ensure readability and consistency across all courses we create.

File Structure
content
├── 01chapter-one
│   ├── _index.md                   <-- /01chapter-one.html
│   ├── 01section-a.md                 <-- /01chapter-one/01section-a.html
│   ├── 02section-b.md                 <-- /01chapter-one/02section-b.html
│   └── 03section-c.md                 <-- /01chapter-one/03section-c.html
├── 02chapter-two
│   ├── _index.md                   <-- /01chapter-one.html
│   ├── 01section-a.md                 <-- /02chapter-two/01section-a.html
│   ├── 02section-b.md                 <-- /02chapter-two/02section-b.html
│   └── 03section-c.md                 <-- /02chapter-two/03section-c.html
├── _index.md                       <-- /
└── 03chapter-three.md              <-- /03chapter-three.html

Content Structure

Content should be broken into chapters, and contain the following at minimum, in this order.

  1. Preface
  2. Content (Chapters, split into sections)
  3. (optional) Glossary
  4. (optional) Appendices

Preface

Every guide created should begin with a preface. The preface should provide a brief overview of the content of the guide. The preface should also contain any prerequisite knowledge the user should already have, and the learning objectives.

Learning objectives, sometimes called learning outcomes, are statements which clearly describe what is to be achieved by completion of the course. Clearly defined learning objectives also have the advantage of providing clarity to the authors, by providing the desired end state in the beginning.

Beyond the summary and learning objectives, the preface should also contain any lab logistics (e.g. register and account on qwiklabs), and if this event is being hosted in person, gives a place to provide any in-person logistics that may be useful or helpful.

Content

The chapters of content are where the author will create most of their work.

On the _index.md page of a chapter, you should include an abstract and introduction to the chapter. Optionally you may also include links to frequently referenced areas within the sections.

The sections will contain the content of the guide, and there are primarily two ways to present this information; individual learning, and classroom learning. We explore both ways of organizing your content in the style section. Remember the rule of three in learning, and try to adhere to this for maximal effectiveness.

Lastly, within each chapter, we want to include a review and troubleshooting section. This section should contain some questions that test the knowledge of the section, and include answers embedded in expand shortcode to keep the answers hidden until they’re ready to read them. These questions should test general knowledge of what was covered, as well as frequently asked questions after the guide has had some use.

Glossary

The glossary is, in fact, a type of appendix and is a list of terms found throughout the content. With the diversity of technologies covered by these guides, and the variety of experience each user may have, the glossary allows for a quick reference to common terms and phrases, and provides a location to add additional references for documentation that may help provide additional context.

The glossary included in this repo is written to be reused by other content. If there are other definitions or inclusions that should be added, please submit them.

Appendices

Any other additional information that doesn’t fit elsewhere in the document can be appended here. This could be more elaborate labs, white papers, and more.

Contributors

As the last appendix of the guide, include a contributors chapter. This chapter should contain a change log. This change log allows for quick reference to major changes and rewrites that occur, and should allow easy pinpointing of changes or losses within the git version control system. This section should also contain a notice of process to submit your own changes to the documentation as needed. If needed, this is also where license information for the written content can be included as well.


Style

There are two primary styles of content you’ll strive to develop. Those two styles are individual and classroom. Its important to choose a style when begining your development, and to remain consistent. However, these styles may be interspersed as needed. For example, an extra credit portion may cover more advanced topics not discussed in a class, which would justify pivoting to an individual style for that chapter.

Individual
This style is useful for computer based training (CBT), or unguided types hands-on activities. Lab instructions are interspersed with instructional information. This style is frequently used for immersion days and jam type content. It may be preceded by a quick overview of what will be covered, but is primarily individual effort, with moderators to assist individuals when they have issues.
Classroom
This style is to be used when presenting to a group, before then releasing them into their lab to recreate or gain hands on experience with what is discussed. When writing instructional content, the lab work should be concisely written after the content that is reviewed together.

Examples

Individual Example Chapter
  • Kubernetes Overview
    • Cluster Architecture
    • Containers
    • Nodes and Services
Note

In this example, the lesson may include the basic components of Kubernetes, followed by deploying a managed kubernetes cluster (K8s Basics). Then in the Node and Service section, Node and Service concepts would be discussed, proceeded by walking the user through looking at those concepts in their deployed environment. The lab and instructional content are interspersed.

Classroom Example Chapter
  • Kubernetes Overview
    • Cluster Architecture
    • Containers
    • Nodes and Services
    • Task 1 - Launch AKS
    • Task 2 - Navigating K8s by CLI
Note

In this example, the lesson is divided into 3 sections of instructional content, followed by 2 tasks to accomplish in the lab. This lends itself well to classroom environments, as presenters can review the content interactively with everyone, prior to then having the group work independently through the hands-on portion.

Chapters

A chapter displays a page meant to be used as introduction for a set of child pages. Commonly, it contains a simple title and a catch line to define content that can be found under it. Every course should contain a minimum of 3 chapters.

We create content in markdown, and place these files into the content directory. To keep these organized, we create a new directory for each chapter, and an _index.md file is created inside it. This _index.html servers as the chapter introduction. Every _index.md file should begin with the following information included at the top of the page.

Example Inclusions
---
title: "Structure, Grammar, Voice, and Tone "
chapter: True
menuTitle: "II: Structure, Voice, Tone"
weight: 20
---
  • title: - is where the title of chapter is defined. This will appear on the top navigation bar, which shows users where they are in the site navigation tree. This is an important option for users on screens of narrow width (such as a tablet or phone).
  • chapter: - This is a boolean value. When chapter: true, the page is reduced to a narrower width, and is designed to be a ’title page’ for each chapter.
  • menuTitle: - This is an optional field, which allows the left side navigation bar to contain a different wording than the title. We try to include numbers or numerals to help with navigation, since navigation can be confusing without them, as the order is defined by weight
  • weight: - Weight is used to define the order of chapters and subchapters. Lower numbers have higher priority than higher ones. Generally we use increments of 10 during initial drafting, to ensure flexibility to include additional pages later as needed. In the example above, the weight is set to 20, for the second chapter.

For organizational reasons when building chapters and subchapters, we typically will label the files and directories with numeric values collaborating eqvilant to the weight of each chapter. These are for human readability of the pre-published code only. Order within the published app is set by the weight value of each file.

Note

If a particular chapter is light on content, the directory structure can be omitted, and the markdown file can be placed directly in the content folder. It will require the value of chapter: to be set false, as chapter: true sets the theme to an introductory layout.

See the file layout section, where chapter-three.md represents this.


Sections

Sections are where the bulk of content is created. You’ve broken the content down into chapters, and used the _index.md page to prepare the summary of the chapter. Now you will build out the content in sections. Each section should contain an entire concept or lesson.

Like chapters, you should strive for a minimum of 3 sections per chapter of content. Prerequisites and appendices may not be applicable, but if you dont have at least 3 sections, consider condensing the content entirely to the chapter page, or further breaking down content into 3 sections.

Similar to _index.md pages, each subchapter should contain this information at the begining of each file

---
title: "Content Structure"
weight: 45
---
Note

See the example inclusions earlier in the chapter to understand each field. For subchapters, menuTitle and chapter: false are optional fields. We also shifted the numbering schema by 5 digits, to allow quick differentiation between chapters and subchapters.

Formatting

Formatting

This section covers the code and content for formatting your pages, organizing your data, and using markdown to convey your options to users clearly.

too long; didn’t read

Markdown
  • Headers
    • H1 headers are not needed on index pages, but may be added to any pages containing the configuration chapter: false
    • H2 headers begin a new section in a page
    • H3 headers highlight action items for the user
    • H4 headers are for subsections within sections
    • H5 headers may be used at your discretion as needed
    • H6 headers are used to title tables and images
  • Use Horizontal Rules to break up sections
  • Use Bold text when a user should click that option in the UI
  • Use inline code when referencing a CLI command or syntax
    • Not when instructing users to type it!
  • Use code blocks when providing commands for user input, as well as when capturing CLI output.
  • Unordered lists are great for providing quick, easily digested summaries (like this)
  • Ordered and task lists should be used for objectives and review of labs
  • Definitions are useful when introducing new vocabulary or concepts.
  • Tables are usefull for comparing and contrasting different technologies
  • Block quotes can be used for quoting other sections or even other source material
  • Everything to know about links can be found here.
ShortCodes
  • Badges should be used to denote firmware or cloud specific information, but can be used creatively to convey any other variations in instruction as needed.
  • Buttons provide a way to guide users to additional resources in another tab. Useful for opening external resources, such as Qwik Labs or CSP Consoles.
  • Expand is a convenient way to add verbose information without clutering a page.
  • Icons are used throughout shortcode, providing simple graphics to help denote specific information.
  • Mermaid allows for diagrams and charts to be drawn dynamically, rather then relying on images.
  • Notice boxes provide information specific to the lab. Such as the Result boxes shown throughout this document.
Visual Aids
  • Images should be:
    • no more than 200kb in size
    • no more than 800 pixels wide
    • always contain alt text
  • Capturing CLI
  • Embedding Images
  • Classes and Image Effects

Subsections of Formatting

Markdown

This section is built to provide guidance on how to use markdown, and when to use specific markdown types.


Headers

Headers are the primary way of establishing order on the pages, and is used to designate the purpose of a section. Each section should start with a header, and end with a line break.

To create a header, on a new line simply place the appropriate number of # followed by a space, followed by the words of the header. There are 6 types of headers, designate H1 through H6. Headers 1 (H1) through 4 (H4) are used like indents in an outline. There should be 1 H1 per page, and an H2 per section. If each section is divided into subsections, H3 or H4 can be used.

Below you will find examples of the various headers, and in the codebox preceding it, you will find the sample markdown to create the header demonstrated.


Example Headers:

Chapter 1 (Header 1)

In markdown, this header looks like this:

# Chapter 1 (Header 1)

H1 headers should only be needed in _index.md pages, which also include the Chapter = True parameter. If you find the need to use a second H1 header, consider breaking that section into a new page. Notice how this puts the header text in all capitals and centers the text.

See the structure page for more details on headers


Chapter 1 Section 1 (Header 2)

In markdown, you can generate this type of header like this:

## Chapter 1 Section 1 (Header 2)

H2 headers should be used to signal the beginning of a section. A section should be useful on its own, and can be linked directly from other sources. Notice that we lose all capitalization, the size is smaller, and there is no line break underneath it. Each chapter should contain a few sections at minimum.


Action Items (Header 3)

In markdown, you can generate this type of header like this:

### Action Items (Header 3)

H3 is meant for dividing instruction from doing work. This could be a summary of the section, a set of review questions to explore and test knowledge, or lab instructions or suggestions for exploring on their own. This should be used within the section to designate ‘hands on’ activities.


Chapter 1 Section 1 Subsection A (Header 4)

In markdown, you can generate this type of header like this:

#### Chapter 1 Section 1 Subsection (Header 4)

Lastly, H4 headers are for use as a subsection title. These can be used to break up topics that all pertain to a given section.


There are 2 other supported headers, H5 and H6.

H5 Headers:

H5 headers currently don’t have a designated use, but is provided to help break up and logically organize dense sections of information as needed. They are coded with 5 # in a row, like this:

##### H5 Headers:

H6 headers:

H6 should be used to title images and tables. This is useful because it provides a link directly to the image or table later as needed. They are coded with 6 # in a row, like this:

###### H6 Headers:

Text Stylization

All basic formatting is available via markdown. This section will walk you through how to create that formatting, as well as when to use specific types, so that we can consistently message expectations to the end user.

When typing things, theres bold text, italicized text, strike through. To show this, you wrap the words with **, _, or ~~ respectively. The first sentence in this paragraph looks like this in markdown:

When typing things, theres **bold text**, _italicized text_, ~~strike through~~.

Horizontal Rules

To further structure your content you can add horizontal rules. They create a “thematic break” between paragraph blocks. In Markdown, you can create it with three consecutive dashes ---.

Lorem ipsum dolor sit amet, graecis denique ei vel, at duo primis mandamus.

---

Et legere ocurreret pri, animal tacimates complectitur ad cum. Cu eum inermis inimicus efficiendi. Labore officiis his ex, soluta officiis concludaturque ei qui, vide sensibus vim ad.
Result

Lorem ipsum dolor sit amet, graecis denique ei vel, at duo primis mandamus.


Et legere ocurreret pri, animal tacimates complectitur ad cum. Cu eum inermis inimicus efficiendi. Labore officiis his ex, soluta officiis concludaturque ei qui, vide sensibus vim ad.


Keyboard Shortcuts

You can use the <kbd> element to style keyboard shortcuts.

Press <kbd>CTRL</kbd> <kbd>ALT</kbd> <kbd>DEL</kbd> to end your shift early.
Result

Press CTRL+ALT+DEL to end your shift early.


Code and CLI

There will often be times when direction to the reader is neccessary for action within a UI or CLI. When directing a user to navigate a UI, you should bold the words or buttons to click on. When directing action via CLI, we have several capabilities for including code in our documentation, listed below.

Inline Code

Inline snippets of code can be wrapped with backticks `.

In this example, `<div></div>` is marked as code.
Result

In this example, <div></div> is marked as code.

Indented Code Block

A simple code block can be generated by indenting several lines of code by at least two spaces.

Be impressed by my advanced code:

    // Some comments
    line 1 of code
    line 2 of code
    line 3 of code
Result

Be impressed by my advanced code:

// Some comments
line 1 of code
line 2 of code
line 3 of code

Fenced Code Block

If you want to gain more control of your code block you can enclose your code by at least three backticks ``` a so called fence.

You can also add a language specifier directly after the opening fence, ```js, and syntax highlighting will automatically be applied according to the selected language in the rendered HTML. This can be especially useful in combination with tabs, which is discussed in the shortcode section.

```js
{
    name: "Claus",
    surname: "Santa",
    profession: "courier",
    age: 666,
    address: {
        city: "North Pole",
        postalCode: 1,
        country: "Arctic"
    },
    friends: [ "Dasher", "Dancer", "Prancer", "Vixen", "Comet", "Cupid", "Donder", "Blitzen", "Rudolph" ]
};
```
Result
{
    name: "Claus",
    surname: "Santa",
    profession: "courier",
    age: 666,
    address: {
        city: "North Pole",
        postalCode: 1,
        country: "Arctic"
    },
    friends: [ "Dasher", "Dancer", "Prancer", "Vixen", "Comet", "Cupid", "Donder", "Blitzen", "Rudolph" ]
};
Note

When not using code blocks, double quotes " and single quotes ' of enclosed text are replaced by “double curly quotes” and ‘single curly quotes’. Double dashes -- and triple dashes --- are replaced by en-dash and em-dash entities. Double arrows pointing left << or right >> are replaced by arrow « and » entities. Three consecutive dots ... are replaced by an ellipsis entity. This can impact things when expecting users to copy and paste text into their lab environments.


Lists

You can write a list of items in which the order of the items does not explicitly matter.

It is possible to nest lists by indenting an item for the next sublevel.

You may use any of -, * or + to denote bullets for each list item but should not switch between those symbols inside one whole list.

Unordered List

- Lorem ipsum dolor sit amet
- Consectetur adipiscing elit
  - Vestibulum laoreet porttitor sem
  - Ac tristique libero volutpat at
- Nulla volutpat aliquam velit
  - Phasellus iaculis neque
  - Purus sodales ultricies
- Faucibus porta lacus fringilla vel
Result
  • Lorem ipsum dolor sit amet
  • Consectetur adipiscing elit
    • Vestibulum laoreet porttitor sem
    • Ac tristique libero volutpat at
  • Nulla volutpat aliquam velit
    • Phasellus iaculis neque
    • Purus sodales ultricies
  • Faucibus porta lacus fringilla vel

Ordered lists

You can create a list of items in which the order of items does explicitly matter.

It is possible to nest lists by indenting an item for the next sublevel.

Markdown will automatically number each of your items consecutively. This means, the order number you are providing is irrelevant.

1. Lorem ipsum dolor sit amet
3. Consectetur adipiscing elit
    1. Integer molestie lorem at massa
    7. Facilisis in pretium nisl aliquet
99. Nulla volutpat aliquam velit
    1. Faucibus porta lacus fringilla vel
    1. Aenean sit amet erat nunc
17. Eget porttitor lorem
Result
  1. Lorem ipsum dolor sit amet
  2. Consectetur adipiscing elit
    1. Integer molestie lorem at massa
    2. Facilisis in pretium nisl aliquet
  3. Nulla volutpat aliquam velit
    1. Faucibus porta lacus fringilla vel
    2. Aenean sit amet erat nunc
  4. Eget porttitor lorem

Task lists

You can add task lists resulting in checked or unchecked non-clickable items

- [x] Basic Test
- [ ] More Tests
  - [x] View
  - [x] Hear
  - [ ] Smell
Result
  • Basic Test
  • More Tests
    • View
    • Hear
    • Smell

Definitions

Definition lists are made of terms and definitions of these terms, much like in a dictionary.

A definition list in Markdown Extra is made of a single-line term followed by a colon and the definition for that term. You can also associate more than one term to a definition.

If you add empty lines around the definition terms, additional vertical space will be generated. Also multiple paragraphs are possible

Apple
: Pomaceous fruit of plants of the genus Malus in the family Rosaceae.
: An American computer company.

Orange
: The fruit of an evergreen tree of the genus Citrus.

  You can make juice out of it.
: A telecommunication company.

  You can't make juice out of it.
Result
Apple
Pomaceous fruit of plants of the genus Malus in the family Rosaceae.
An American computer company.
Orange
The fruit of an evergreen tree of the genus Citrus.

You can make juice out of it.

A telecommunication company.

You can’t make juice out of it.


Tables

You can create tables by adding pipes as dividers between each cell, and by adding a line of dashes (also separated by bars) beneath the header. Note that the pipes do not need to be vertically aligned. Adding a colon on the left and/or right side of the dashes below any heading will align the text for that column accordingly.

| Option | Number | Description |
|-------:|:------:|:------------|
| data   | 1      | path to data files to supply the data that will be passed into templates. |
| engine | 2      | engine to be used for processing templates. Handlebars is the default. |
| ext    | 3      | extension to be used for dest files. |
Result
OptionNumberDescription
data1path to data files to supply the data that will be passed into templates.
engine2engine to be used for processing templates. Handlebars is the default.
ext3extension to be used for dest files.

Block Quotes

For quoting blocks of content from another source within your document add > before any text you want to quote.

Blockquotes can also be nested.

> Donec massa lacus, ultricies a ullamcorper in, fermentum sed augue. Nunc augue, aliquam non hendrerit ac, commodo vel nisi.
>
> > Sed adipiscing elit vitae augue consectetur a gravida nunc vehicula. Donec auctor odio non est accumsan facilisis. Aliquam id turpis in dolor tincidunt mollis ac eu diam.
>
> Mauris sit amet ligula egestas, feugiat metus tincidunt, luctus libero. Donec congue finibus tempor. Vestibulum aliquet sollicitudin erat, ut aliquet purus posuere luctus.
Result

Donec massa lacus, ultricies a ullamcorper in, fermentum sed augue. Nunc augue, aliquam non hendrerit ac, commodo vel nisi.

Sed adipiscing elit vitae augue consectetur a gravida nunc vehicula. Donec auctor odio non est accumsan facilisis. Aliquam id turpis in dolor tincidunt mollis ac eu diam.

Mauris sit amet ligula egestas, feugiat metus tincidunt, luctus libero. Donec congue finibus tempor. Vestibulum aliquet sollicitudin erat, ut aliquet purus posuere luctus.


Absolute URLs will automatically be converted into a link.

This is a link to https://example.com.
Result

This is a link to https://example.com.


You can explicitly define links in case you want to use non-absolute URLs or want to give different text.

[Assemble](http://assemble.io)
Result

For even further information, you can add an additional text, displayed in a tooltip on hovering over the link.

[Upstage](https://github.com/upstage/ "Visit Upstage!")
Result

Links can be simplyfied for recurring reuse by using a reference ID to later define the URL location. This simplyfies writing if you want to use a link more than once in a document.

[Example][somelinkID]

[somelinkID]: https://example.com "Go to example domain"
Result

Footnotes

Footnotes work mostly like reference-style links. A footnote is made of two things, a marker in the text that will become a superscript number and a footnote definition that will be placed in a list of footnotes.

Usually the list of footnotes will be shown at the end of your document. If we use a footnote in a notice box it will instead be listed at the end of its box.

Footnotes can contain block elements, which means that you can put multiple paragraphs, lists, blockquotes and so on in a footnote. It works the same as for list items, just indent the following paragraphs by four spaces in the footnote definition.

That's some text with a footnote[^1]

[^1]: And that's the footnote.

That's some more text with a footnote.[^someid]

[^someid]:
    Anything of interest goes here.

    Blue light glows blue.
Result

That’s some text with a footnote1

That’s some more text with a footnote.2


  1. And that’s the footnote. ↩︎

  2. Anything of interest goes here.

    Blue light glows blue. ↩︎

Shortcode

Badge

The badge shortcode displays little markers in your text with adjustable color, title and icon. Under prerequisites or introduction to labs we should include a badge highlighting software version for Fortinet software (if applicable). Check for readability against the theme you’re using. Notice the example below of white text on yellow is difficult to read in light mode.

Full parameters for badges can be found here.

Example badges:
{{% badge %}}Important{{% /badge %}}
{{% badge style="primary" title="FortiGate Version" %}}7.2.8{{% /badge %}}
{{% badge style="red" icon="angle-double-up" %}}AWS{{% /badge %}}
{{% badge style="info" %}}New in 7.4{{% /badge %}}
{{% badge color="fuchsia" icon="fa-fw fab fa-hackerrank" %}}Awesome{{% /badge %}}
{{% badge style="primary" icon="bullhorn" title="Announcement" %}}Mandatory{{% /badge %}}
{{% badge style="secondary" icon="bullhorn" title="Announcement" %}}Optional{{% /badge %}}
{{% badge style="accent" icon="bullhorn" title="Announcement" %}}Special{{% /badge %}}
Result

Important FortiGate Version7.2.8 AWS InfoNew in 7.4 Awesome

AnnouncementMandatory AnnouncementOptional AnnouncementSpecial


Button

The button shortcode displays a clickable button with adjustable color, title and icon. Use this for links you expect users to click on (they will open in a new page).

Get Hugo Get Hugo

{{% button href="https://gohugo.io/" %}}Get Hugo{{% /button %}}
{{% button href="https://gohugo.io/" style="warning" icon="dragon" %}}Get Hugo{{% /button %}}

You can read more about buttons here


Expand

The expand option lets you add additional detail, text, and images while keeping a page tidy and relatively short. Use of the expand option is encouraged for all step-by-step instruction during labs. In those labs, objectives should be stated, while step by step instruction to achieving those objectives should be held in an expand field, allowing users to attempt the lab on their own. This allows users to try themselves, but if they get stuck or lost on a specific part, they can expand the field and recieve step by step instruction.

{{% expand title="**Detailed Steps...**" %}}
- **1.1:** In your AWS account, navigate to the **EC2 Console** and go to the **Instances page** (menu on the left).
- **1.2:** Find the **ExPub-Instance1** instance, and copy the **Public IP address**.
- **1.3:** In your command prompt or terminal, ping the **public IPv4 address** of the instance.
   - This **SHOULD NOT** work at this point.
{{% /expand %}}

Result:

Detailed Steps…
  • 1.1: In your AWS account, navigate to the EC2 Console and go to the Instances page (menu on the left).
  • 1.2: Find the ExPub-Instance1 instance, and copy the Public IP address.
  • 1.3: In your command prompt or terminal, ping the public IPv4 address of the instance.
    • This SHOULD NOT work at this point.

Author note: For some reason the notice box breaks when wrapped around an expand field - apologies for the inconsistency


Icon

The icon shortcode displays icons using the Font Awesome library. This field is used extensively throughout the shortcode supported in this theme.

Feel free to browse Font Awesomes library and use what you need. Notice that the free filter is enabled, as only the free icons are available by default. Once on the Font Awesome page for a specific icon, for example the page for the heart, copy the icon name and paste into the Markdown content.

Example
{{% icon exclamation-triangle %}}
{{% icon angle-double-up %}}
{{% icon skull-crossbones %}}
Result


Mermaid

Mermaid is scripting language that lets you create simple diagrams and charts.

Whenever possible, a mermaid diagram is preferrable to a screenshot of one. However, its understood that Mermaid could be considered an advanced topic, and Mermaid diagrams are never required.

Full documentation of Mermaid can be found here.

Example
{{< mermaid align="center" zoom="true" >}}
graph LR;
    If --> Then
    Then --> Else
{{< /mermaid >}}
Result
graph LR;
    If --> Then
    Then --> Else

Notice

Notice boxes are great for highlighting specific results for a section of code. These are used extensively throughout this doc to show what example code renders to look like. These are great ways to show off what should happen, or explain why something occured the way it did in your lab. To create a notice box see the example below

{{% notice style="secondary" icon="eye" title="Result" %}}
This is the notice box
{{% /notice %}}
Result

This is the notice box


Other Default Boxes:

There’s a handful of notice boxes pre-defined within the theme and available for use with minimal code. However there are extensive customizations available.

{{% notice note %}}
This is the note box
{{% /notice %}}
Note

This is the note box


{{% notice style="info" %}}
This is the info box
{{% /notice %}}
Info

This is the info box


{{% notice style="warning" %}}
This is the warning box
{{% /notice %}}
Warning

This is the warning box


{{% notice style="tip" %}}
This is the tip box
{{% /notice %}}
Tip

This is the tip box

Visual Aids

Visual aids are a key component to conveying instruction clearly. Screenshots of UI allow users to quickly compare the directions to their lab environments, and allow users to orient themselves as they’re exploring the topic being taught.


Image Guidelines

For loadability and readability, the following guidelines should be followed:

  • Images should be no more then 200kb in size.
  • Images should be no more than 800px wide.
  • Images should always contain alt text.

Following these guidelines help ensure that images are viewable across a wide variety of devices, and help ensure excessive bandwidth requirements during training aren’t neccesary.


JPG or PNG?

Depending on the settings of your computer, you may be capturing screenshots in JPG or PNG format. PNG offers the ability to zoom into the image with much more detail and clarity, which is useful for diagrams and other images containing dense amounts of information. When capturing UI elements, JPG will often convey the same information, while taking less resources to load and process.


Image Storage

There are a few options when storing images (find more in depth discussion in the default repo). In this repo, the images have been stored in a seperate images directory under the /content directory.

  • Option 1: use externally fully qualified absolutely path (this can be a pain)
  • Option 2: if you have a directory with all your images….
    • put it in “/content/images”
    • MD usage(from a chapter page in “content/chapter01”)
          ![Magic](../images/magic.gif)
  • Option 3: Some find it easier to organize images with the pages they go with (this is how the template repo is setup)
    • put images in the chapter directory
    • e.g. images in “/content/chapter1/”
      • Markdown usage:
            ![Magic](magic.gif)

About CLI Capture

Whenever possible, it is desirable to capture the CLI output in fenced code blocks. By avoiding screenshots of text information, we reduce load times and improve readability across all devices. The primary exception to this would be when graphical information is shown via CLI, which may not format correctly if put into a fenced code block. If capturing screenshots of your CLI output is required, one should ensure a standard CLI window size of 80 characters wide by 24 lines tall is used to capture this information. Please also ensure your images adhere to the above guidance of 800px wide, and an image size of under 200kb.


Embedded Images

Images have a similar syntax to links but include a preceding exclamation mark. Like links, images can also be given a tooltip. Keep reading for examples of how to add both.

Alt Text

Alt text is contained in the square [] brackets, and every effort should be made to include alternate text. Good guidelines on when to include or omit alt text, and what content should be there is provided by W3C.


Classes and Image Effects

Several classes are available, which can be appended to images to manipulate them to ensure they display as you expect them to. You can append classes to images by adding ? followed by the class name, then your definition. You can append multiple classes by adding & between them. These include:

Class nameWhat it does
widthdefines the width of the image when displayed. Can be defined in absolute size by defining px (pixels) or relative size with vw (% of viewing width)
heightdefines the height of the image when displayed. Similar to width, can be defined by px or in relative height with vh
classesDefines alignment of the image. Can use left and right for page alignemnt, and inline for adding multiple images to a single line
Image Examples
Alt Text and Tooltip implemented
![This is alt text](../images/spocktocat.png "This is a tooltip")
Adjust your browser height/width to see how these settings affect images:
![This is alt text](../images/trekkie.jpg?width=20vw "20% viewing width")
![This is alt text](../images/trekkie.jpg?width=20vh "20% viewing height")
Result

Alt Text and Tooltip implemented This is alt text This is alt text Adjust your browser height/width to see how these settings affect images differently:
20vw: 20 vw setting 20 vw setting 20vh: 20 vh setting 20 vh setting

Class Definitions:
Left Alignment:   

![Left Aligned](../images/droctocat.png?classes=left&width=10vw  "Left Aligned")

Right Alignment:    

![Right Aligned](../images/droctocat.png?classes=right&width=10vw  "Right Aligned")

Inline Alignment:    

![Inline example 1](../images/droctocat.png?classes=inline&width=10vw  "Inline example 1") ![Inline example 2](../images/trekkie.jpg?classes=inline&width=10vw  "Inline example 2")
Result

Left Alignment:

Left Aligned Left Aligned

Right Alignment:

Right Aligned Right Aligned

Inline Alignment:

Inline example 1 Inline example 1 Inline example 2 Inline example 2

Example Items


It is inevitable that when discussing technology, we will need to use examples. Both in configurations of various components within the technology, as well as when describing concepts and how they interact with the rest the proposed environment.

Whenever possible, we should use examples that reflect what the lab environment will reflect. This can sometimes bring confusion, if trying to explain something specifically outside the scope of the lab. When that is the case, the following should be relied upon as generic names for objects in documentation.

Domains

When documentation requires fully qualified domain names, use example.com and example.net. These are special use domain names registered for the express purpose of documentation.

Host names

Host names should be generic, capture the meaning of the device, and deviate from actual host names leveraged in the lab when not referencing the lab.

IPv4 addresses

Use addresses from and RFC1918 space that is in a seperate class from the lab space you are working in. For example, if leveraging 172.16.0.0/16 in the lab environment, use 10.0.0.0/8 or 192.168.0.0/16 space when showing examples outside the lab environment.

IPv6 addresses

IPv6 has a dedicated prefix to use in documentation efforts. This is the 2001:0DB8::/32 prefix. Use this whenever documentation requires non-specific IPv6 addressing.

Users

For example users, use free-software mascots, such as Tux (Linux Kernel), Wilber (The GIMP), Geeko (SUSE), Foxkeh (Firefox), Konqi (KDE), or Duke (Java).

Glossary


Below is a glossary of common mispellings, hyphenations, and contractions of security terms and phrases.

Jump to…

Security Terms and Phrases

A

& – Avoid except for formal company names, when space is limited, and in Q&A. 24x7, not 24/7
active-passive
ADC – Acronym for application delivery controller. Spell out on first reference.
advanced persistent threat – Acronym is APT. Spell out on first reference. Also known as targeted threat.
advanced threat protection – Acronym is ATP. Spell out on first reference.
alongside
a.m. – Not am, AM, or A.M. Separate the abbreviation from the time with a space: 5:30 a.m.
Amazon Web Services – Acronym is AWS. Spell out on first reference.
anti-malware – Hyphenate antibot, antiphishing, antispam, antispyware, antivirus – No hyphens.
anymore (adv.)
API – Acronym for application programming interface. Spell out on first reference.
application delivery controller – Acronym is ADC. Spell out on first reference.
application programming interface – Acronym is API. Spell out on first reference.
APT – Acronym for advanced persistent threat. Spell out on first reference.
ATP – Acronym for advanced threat protection. Spell out on first reference.
auto-discover
auto learning
auto scaling
AWS – Acronym for Amazon Web Services. Spell out on first reference.
Azure – Full name is Microsoft Azure. Use Microsoft Azure on first reference.

B

back door (n.) – backdoor (adj.)
back end (n.) – back-end (adj.)
backhaul
backup
bidirection
bitcoin
bitrate
built-in
BYOD – Acronym for bring your own device. Spell out the first reference.

C

callout
CASB – Acronym for cloud access security broker. Spell out on first reference.
cellphone
cloud access security broker – Acronym is CASB. Spell out on first reference.
cloud-scale
codebase
coin mining (n.) – coin-mining (adj.)
cost-effective, cost-effectively
countermeasure
cross section (n.) – cross-section (v.)
cross-communicate, cross-connect, cross-correlate, crosscultural, cross-functional, cross-reference, cross-training
cryptocurrency, cryptojacking, cryptomining
cyber awareness
cyber crime (n.) – cyber-crime (adj.)
cyber criminal (n.) – cyber-criminal (adj.)
cyber fraud
cyber hygiene
cyber program
cyber risk
cyber threat (n.) – cyber-threat (adj.)
cyber warfare (n.) – cyber-warfare (adj.)
cyberattack
cyberbully
cyberespionage
cybersecurity
cyberspace

D

data – Always treat as singular noun. “The data shows…”
data center (n.) – data-center (adj.)
data loss – Not “leakage” or “data leak prevention.”
data loss prevention – Acronym is DLP. Spell out on first reference.
data sheet – two words
database
dataset
DDoS – Acronym for distributed denial-of-service. Spell out on first reference.
decision-maker, decision-making
direct market reseller – Acronym is DMR. Spell out on first reference.
distributed denial-of-service – Acronym is DDoS. Spell out on first reference.
DLP – Acronym for data loss prevention. Spell out on first reference.
DMR – Acronym for direct market reseller. Spell out on first reference.
drill down (v.) – drilldown (n.)

E

e-discovery
ecommerce – Not eCommerce or e-commerce.
eLearning
email – No hyphen.
end-user
endpoint
et al.
Ethernet

F

Fabric-Ready Partners
false positive (n.) – false-positive (adj.)
feature set
form factor
front end (n.) – front-end (adj.)
front line (n.) – frontline (adj.)

G

GbE – do not use. Use GE instead.
GDPR – Acronym for General Data Protection Regulation. Spell out on first reference.
GE – gigabit Ethernet. Do not use GbE.
General Data Protection Regulation – Acronym is GDPR. Spell out on first reference.
gray – not grey

H

Health Insurance Portability and Accountability Act – Acronym is HIPAA. Spell out on first reference.
healthcare
high performance (n.) – high-performance (adj.)
HIPAA – Acronym for Health Insurance Portability and Accountability Act. Spell out on first reference.
HIPS – Acronym for host intrusion prevention system. Spell out on first reference.
hodgepodge
host intrusion prevention system – Acronym is HIPS. Spell out on first reference.
hotspot

I

IaaS – Acronym for Infrastructure-as-a-Service. Spell out on first reference.
iframe
in between (adv.) – in-between (adj.)
in-depth
in-house
in-line
inbox
indicators of compromise – Acronym is IOCs. Spell out on first reference.
industrywide
InfoSec
infostealer
Infrastructure-as-a-Service – Acronym is IaaS. Spell out on first reference.
Internet – Do not capitalize unless part of Internet of Things, etc.
Internet of Medical Things – Acronym is IoMT. Spell out on first reference.
Internet of Things – Acronym is IoT. Spell out on first reference.
intrusion prevention system – Acronym is IPS. Spell out on first reference.
IOCs – Acronym for indicators of compromise. Spell out on first reference.
IoMT – Acronym for Internet of Medical Things. Spell out on first reference.
IoT – Acronym for Internet of Things. Spell out on first reference.
IPS – Acronym for intrusion prevention system. Spell out on first reference.
IPsec

J

job-hopping
jobseeker

K

keylogger
kickoff (n., v.)
know-how

L

leakage – do not use. Use loss instead.
life cycle
line up (v.) – lineup (n.)
log in (v.) – login (n.)
log off (v.) – logoff (n.)

M

MaaS – Acronym for Malware-as-a-Service. Spell out on first reference.
Malware-as-a-Service – Acronym is MaaS. Spell out on first reference.
managed service provider – Acronym is MSP. Spell out on first reference.
metadata
microsegmentation
Microsoft Azure – Use on first reference, then can use Azure.
MSP – Acronym for managed service provider. Spell out on first reference.
multi-cloud
multi-tenant, multi-tenancy
myriad – never use “a myriad of.”

N

nation-state
Network Operations Center – Acronym is NOC. Spell out on first reference.
next generation (n.) – next-generation (adj.)
next-generation firewall – Acronym is NGFW. Spell out on first reference.
Next-Generation Firewall – First letter caps only when used as Fortinet product name.
NGFW – Acronym for next-generation firewall. Spell out on first reference.
NOC – Acronym for Network Operations Center. Spell out on first reference.
not only X but also Y – Do not use a comma before “but.”

O

off-network
off-peak
off-site
offline
offload
on-premises – Not “on-premise”
online
onsite
open source (n.) – open-source (adj.)

P

PaaS – Acronym for Platform-as-a-Service. Spell out on first reference.
p.m. – Not pm, PM, or P.M. Separate the abbreviation from the time with a space: 5:30 p.m.
PC – Acronym for personal computer. OK to use acronym on first reference.
phishing
Platform-as-a-Service – Acronym is PaaS. Spell out on first reference.
plug in (v.) – plugin (n.) – plug-in (adj.)
PoE – Acronym for Power over Ethernet. Spell out on first reference.
Power over Ethernet – Acronym is PoE. Spell out on first reference.
price/performance
problem-solving (n., adj.)
purpose-built

Q

Q & A – For question-and-answer session as part of a presentation. Acronym OK on first reference.

R

real time (n.) – real-time (adj.)
real world (n.) – real-world (adj.)
re-enter
reuse (n., v.) – reusable (adj.)
roll out (v.) – rollout (n., adj.)
rootkit

S

SaaS – Acronym for oftware-as-a-Service. Spell out on first reference.
scale-out
screenshot
SDN – Acronym for software-defined network. Spell out on first reference.
SD-WAN – Acronym for software-defined wide-area network. Spell out on first reference.
SECaaS – Acronym for Security-as-a-Service. Spell out on first reference.
secure sockets layer – Acronym is SSL. Spell out on first reference.
Security-as-a-Service – Acronym is SECaaS. Spell out on first reference.
security information and event management – Acronym is SIEM. Spell out on first reference.
Security Operations Center – Acronym is SOC. Spell out on first reference.
service-level agreement – Acronym is SLA. Spell out on first reference.
setup (n., adj.) – set up (v.). Not set-up.
Shadow IoT
Shadow IT
shapeshifting
shut down (v.) – shutdown (n.)
SIEM – Acronym for security information and event management. Spell out on first reference.
sign in (v.) – sign-in (adj.)
sign off (v.) – signoff (n.)
sign-on
sign out (v.) – sign-out (adj.)
sign up (v.) – sign-up (n., adj.)
signal-to-noise ratio
silosilossiloed
skill set
SLA – Acronym for service-level agreement. Spell out on first reference.
smartphone
smartwatch
SOC – Acronym for Security Operations Center. Spell out on first reference.
social media
Software-as-a-Service – Acronym is SaaS. Spell out on first reference.
software-defined network – Acronym is SDN. Spell out on first reference.
software-defined wide-area network – Acronym is SD-WAN. Spell out on first reference.
spam – Not SPAM or Spam.
spear phishing
SSL – Acronym for secure sockets layer. Spell out on first reference.
stand-alone (adj.) – standalone (n.)
standby
startup
such as – Use a comma before “such” if there’s a list of items.

T

that vs. which – Use “that” for essential clauses important to the meaning of a sentence, and without commas. Use of “which” denotes a nonrestrictive (nonessential) clause, which must be set off by a comma.
Threat-intelligence sharing (adj.)
time frame
time slot
time zone – Use lowercase for the names of time zones except for proper nouns: pacific standard time (PST), pacific daylight time (PDT), mountain standard time (MST), mountain daylight time (MDT), central standard time (CST), central daylight time (CDT)
titles of works – Use italics for the titles of books, blogs, magazines, newspapers, and manuals.
TLP – Acronym for transport layer protocol. Spell out on first reference.
TLS – Acronym for transport layer security. Spell out on first reference.
toolkit
touch point
toward – NOT towards.
trade-off
transport layer protocol – Acronym is TLP. Spell out on first reference.
transport layer security – Acronym is TLS. Spell out on first reference.
Trojan
two-factor authentication – Not capitalized unless part of a proper name.

U

ultrahigh
ultralow
Unified Threat Management – Acronym is UTM. Spell out on first reference.
Unified Threat Protection – Acronym is UTP. Spell out on first reference.
use case
username
UTM – Acronym for unified threat management. Spell out on first reference.
UTP – Acronym for unified threat protection. Spell out on first reference.

V

vice versa
voicemail

W

WAF – Acronym for web application firewall. Spell out on first reference.
WAN – Acronym for wide-area network. Spell out on first reference.
web application firewall – Acronym is WAF. Spell out on first reference.
web-based
web filtering
web proxy
web server
webinar
weblink
webpage
website
well known (adv.) – well-known (adj.)
white paper
whitelist
Wi-Fi
wide-area network – Acronym is WAN. Spell out on first reference.

X

x – Use when meaning “times” – e.g., 8x

Z

zero-day threats

Appendix A - External References

Appendix A

This appendix is meant to contain links to other content that may be useful in additional sites.

AWS

Fortinet

Google

Microsoft

Others

Contributors

Contributors

As a living document, additions, modifications, and corrections are always welcome. Please visit our git repository, fork and submit a PR for any changes you believe are worthwhile.

For a list of individual authors who have contributed, visit the contributors page of our git repository.

Subsections of Contributors

Change Log

VersionAuthorDateComment
v0.1JF4/16/2024Rough Draft 1 - Grammer, Format, Terminology sections added
v0.5JF5/7/2024Rough Draft 2 - Chapters I, II, III complete. Titles finalized
v0.9JF5/9/2024RC1 - Content completed, publish for user feedback

Known Limitations

  • No diagram guide
  • No Fortinet Trademark section
  • Example images in Formatting/Visual Aids should be replaced with Fortinet Images
  • Incomplete links on How to Use