Skip to content

Commit a11378b

Browse files
authored
Im/content (#3)
* It builds Signed-off-by: Ian Maddaus <ian.maddaus@progress.com> * Cleanup a lot of things Signed-off-by: Ian Maddaus <ian.maddaus@progress.com> * More editing Signed-off-by: Ian Maddaus <ian.maddaus@progress.com> * More editing Signed-off-by: Ian Maddaus <ian.maddaus@progress.com> * Additional fixes Signed-off-by: Ian Maddaus <ian.maddaus@progress.com> * Fix links Signed-off-by: Ian Maddaus <ian.maddaus@progress.com> * Cspell fixes Signed-off-by: Ian Maddaus <ian.maddaus@progress.com> * Vale lint errors Signed-off-by: Ian Maddaus <ian.maddaus@progress.com> * Minor fixes Signed-off-by: Ian Maddaus <ian.maddaus@progress.com> * Delete unused reusable MD files Signed-off-by: Ian Maddaus <ian.maddaus@progress.com> * Inline single use reusable files Signed-off-by: Ian Maddaus <ian.maddaus@progress.com> * Minor fixes Signed-off-by: Ian Maddaus <ian.maddaus@progress.com> --------- Signed-off-by: Ian Maddaus <ian.maddaus@progress.com>
1 parent 3452219 commit a11378b

119 files changed

Lines changed: 21980 additions & 19 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 190 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,190 @@
1+
# Editorial style guide rules
2+
3+
When contributing to Markdown documentation, follow these style guidelines in order of precedence:
4+
5+
1. **Chef-specific style** (this guide)
6+
2. **Google Developer Documentation Style Guide** principles
7+
3. **Third-party references** (Merriam-Webster, Chicago Manual of Style, Microsoft Writing Style Guide)
8+
9+
## Markdown formatting
10+
11+
### Voice and tone
12+
13+
- Use active voice for all instructions - make clear who's performing the action
14+
- Use language like "You can" rather than "Users can"
15+
- Write clearly and conversationally
16+
- Be helpful and human
17+
- Passive voice is acceptable when you need to emphasize an object over an action, de-emphasize a subject, or when readers don't need to know who's responsible for the action
18+
19+
### Language
20+
21+
- Use clear, concise language and ensure there are no spelling or grammatical issues
22+
- Avoid jargon and use plain US English to ensure clarity for a global audience
23+
- Use the serial comma in lists
24+
- Use "select" instead of "click" or "click on"
25+
- Use "use" rather than "utilize"
26+
- Don't use Latin abbreviations, for example, instead of "e.g." use "for example", instead of "i.e." use "that is"
27+
- Don't replace "together with" with "alongside"
28+
- Use "go to" instead of "navigate to"
29+
- Instead of "via", use "through", "with", or "using"
30+
- Use contractions, for example, use "don't" rather than "do not" and "aren't" instead of "are not"
31+
- Don't use "please"
32+
- To introduce procedures, use an infinitive phrase with a comma and then the main clause. For example, "To save the document, follow these steps:"
33+
- Write for your audience - assume technical knowledge but explain complex concepts clearly
34+
35+
### Verb tense
36+
37+
- Use present tense for statements that describe general behavior not associated with a particular time
38+
- It's OK to use future tense (will) to distinguish an action that will occur in the future
39+
- Don't use future tense to describe how a product or feature will work after the next release or update
40+
- Avoid the hypothetical future "would" - use present tense instead
41+
42+
### Product names
43+
44+
- Use "Chef 360 Platform" instead of "Chef 360" or "Chef 360 platform"
45+
46+
### Procedures
47+
48+
When writing step-by-step instructions, follow these guidelines:
49+
50+
#### Introductory sentences
51+
52+
- Introduce procedures with context that isn't part of the section heading
53+
- Don't simply repeat the heading
54+
- End with a colon if it immediately precedes the procedure, or a period if there's material between the introduction and procedure
55+
- Use imperative statements: "To customize the buttons, follow these steps:" or "Customize the buttons:"
56+
57+
#### Single-step procedures
58+
59+
- Format single steps as bulleted lists, not numbered lists
60+
- Write the step in one sentence
61+
62+
#### Multi-step procedures
63+
64+
- Use numbered lists for sequential steps
65+
- Use one step for each action
66+
- Combine small sequential actions using angle brackets (>) for menu selections
67+
68+
#### Step structure
69+
70+
- Start each step with an imperative verb
71+
- Use complete sentences
72+
- Use parallel structure and consistent verb forms
73+
- State the location before the action: "In the Google Cloud console, go to the Monitoring page"
74+
- State the goal before the action: "To start a new document, select **File** > **New** > **Document**"
75+
- Keep results in the same paragraph as the action
76+
77+
#### Optional steps
78+
79+
- Start optional steps with "Optional:" followed by a colon
80+
81+
#### Step organization
82+
83+
- Describe the action first
84+
- List commands if necessary
85+
- Explain placeholders used in commands
86+
- Explain commands in detail if necessary
87+
- List command output if necessary
88+
- Explain results in a separate paragraph if necessary
89+
90+
### Headings and titles
91+
92+
When writing headings and titles, follow these guidelines:
93+
94+
#### Heading text and structure
95+
96+
- Write document titles based on the primary purpose of the document
97+
- For task-based headings, start with a bare infinitive (base form verb): "Create an instance" not "Creating an instance"
98+
- For conceptual headings, use a noun phrase that doesn't start with an -ing verb: "Migration to Google Cloud" not "Migrating to Google Cloud"
99+
- It's OK to use both task-based and conceptual heading styles in the same document
100+
- When possible, avoid using -ing verb forms as the first word in headings or titles
101+
- Avoid repeating the exact page title in a heading on the page
102+
103+
#### Heading format
104+
105+
- Use sentence case for headings and titles (don't use uppercase)
106+
- Don't include numbers in headings to indicate a sequence of sections
107+
- Use punctuation in headings sparingly - punctuation can be a sign that your heading is too complicated
108+
- Only use abbreviations in headings if they're more commonly known than the full term
109+
- Use heading tags to structure content hierarchically (h1, h2, h3, etc. or #, ##, ### in Markdown)
110+
- Don't skip levels of the heading hierarchy - put h3 only under h2, etc.
111+
- Don't use empty headings or headings with no associated content
112+
- Don't put links in headings as they can be confused with heading styles
113+
- Avoid using code items in headings when possible
114+
115+
#### Referring to sections
116+
117+
- When introducing a group of related H3 or lower sections within a larger H2 section, use "the following sections"
118+
- Don't refer to groups of sections as "this section" or "these sections" as these phrases are ambiguous
119+
120+
### User interface elements
121+
122+
When documenting UI elements, follow these guidelines:
123+
124+
#### Focus on the task
125+
126+
- State instructions in terms of what the reader should accomplish, rather than focusing on widgets and gestures
127+
- When practical, avoid reference to UI elements to help readers understand the purpose
128+
- Provide the level of detail that seems useful for the intended audience
129+
130+
#### Format UI element names
131+
132+
- Put UI element names in bold using `**` in Markdown
133+
- This includes buttons, menus, dialogs, windows, list items, or any other feature with a visible name
134+
- Don't use code font for UI elements unless they meet requirements for code font
135+
- Follow the capitalization as it appears on the page, but use sentence case if labels are inconsistent or all uppercase
136+
137+
#### UI element terminology
138+
139+
- **Button**: Use the button's label - "Select **OK**" not "Select the OK button"
140+
- **Checkbox**: Use "the LABEL_NAME checkbox" - "Select the **Automatically check for updates** checkbox"
141+
- **Menu**: Use "In the MENU_NAME menu" or use angle brackets (>) for menu paths
142+
- **Text field**: Use "field" instead of "box" - "In the **Name** field, enter your username"
143+
- **Dialog**: Use "dialog" not "pop-up window"
144+
- **Tab**: Use "the LABEL_NAME tab"
145+
- **Toggle**: Don't use "toggle" as a verb - "To turn on the setting, click the **Wi-Fi** toggle"
146+
147+
#### Verbs for UI interactions
148+
149+
- Use "select" instead of "click" or "click on"
150+
- Use "enter" or "type" for text input
151+
- Use "choose" for selecting from options
152+
- Use "turn on" or "turn off" for toggles and switches
153+
- Use "clear" instead of "uncheck" for checkboxes
154+
155+
#### Prepositions
156+
157+
- Use "in" for: dialogs, fields, lists, menus, panes, windows
158+
- Use "on" for: pages, tabs, toolbars
159+
160+
### Formatting
161+
162+
- Use sentence case for headings (don't use uppercase)
163+
- Use "1." for each item in an ordered list
164+
- If there's one step in a procedure, use one bulleted list item (-) before the step instead of "1."
165+
- Use bulleted lists (rather than numbered lists) when it's just a list of points and not a sequential list of instructions
166+
- Use semantic line breaks where each sentence is on a separate line
167+
- Format code and UI elements consistently
168+
- Use three hyphens (---) instead of em dashes (—)
169+
- Use two hyphens (--) instead of en dashes (–)
170+
171+
### Links
172+
173+
- Ensure that all hyperlinks are descriptive and provide context for the destination content
174+
- Add mailto link tags for email addresses
175+
- Use meaningful link text that describes the destination
176+
177+
### Quality principles
178+
179+
- Be consistent throughout your documentation
180+
- Prioritize clarity over brevity when necessary
181+
- Break style rules when doing so improves content quality
182+
- Test your instructions to ensure they work as written
183+
- Update documentation when products or processes change
184+
185+
### Accessibility
186+
187+
- Write clear headings that describe the content that follows
188+
- Use alt text for images that describes their content and purpose
189+
- Ensure proper contrast and readability
190+
- Structure content logically with appropriate heading levels

config/_default/menu.toml

Lines changed: 71 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,71 @@
1-
# Menu configuration for Chef Workstation docs
2-
# Add menu items here as needed
1+
### Menu Configuration #####################
2+
#
3+
# Define the major menu sections and subsections in this file.
4+
# Define where each page exists in a menu in each page's frontmatter.
5+
# Define the order of each menu section in the `config/_default/params.toml` file with the `menuOrder` paramater
6+
#
7+
# See our documentation for more information about defining menus.
8+
# https://docs.chef.io/style/front_matter/
9+
#
10+
# See Hugo's documentation about menus.
11+
# https://gohugo.io/content-management/menus/
12+
#
13+
############################################
14+
15+
16+
####
17+
## Main Menu ##
18+
####
19+
20+
[[main]]
21+
title = "chef.io"
22+
identifier = "chef"
23+
url = "https://www.chef.io/"
24+
weight = 10
25+
26+
[[main]]
27+
title = "Blog"
28+
identifier = "blog"
29+
url = "https://www.chef.io/blog"
30+
weight = 30
31+
32+
[[main]]
33+
title = "Community"
34+
identifier = "community"
35+
url = "https://community.chef.io/"
36+
weight = 40
37+
38+
[[main]]
39+
title = "Training"
40+
identifier = "training"
41+
url = "https://www.chef.io/training"
42+
weight = 50
43+
44+
[[main]]
45+
title = "Downloads"
46+
identifier = "downloads"
47+
url = "https://www.chef.io/downloads"
48+
weight = 60
49+
50+
####
51+
## End Main Menu ##
52+
####
53+
54+
[[tools]]
55+
title = "Tools"
56+
identifier = "tools"
57+
58+
[[tools]]
59+
title = "Knife"
60+
identifier = "tools/knife"
61+
parent = "tools"
62+
63+
[[tools]]
64+
title = "Knife plugins"
65+
identifier = "tools/knife/plugins"
66+
parent = "tools/knife"
67+
68+
[[tools]]
69+
title = "Test Kitchen"
70+
identifier = "tools/test_kitchen"
71+
parent = "tools"

config/_default/params.toml

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,14 @@
88
#######
99

1010
menuOrder = [
11-
"overview",
11+
"about",
1212
"install",
13-
"quickstart",
14-
"reference"
13+
"set_up",
14+
"configure",
15+
"troubleshooting",
16+
"privacy",
17+
"tools",
18+
"extension_apis"
1519
]
1620

1721
#######

content/.gitkeep

Whitespace-only changes.

content/_index.md

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
+++
2+
title = "About Chef Workstation"
3+
draft = false
4+
5+
6+
[menu]
7+
[menu.about]
8+
title = "About Chef Workstation"
9+
identifier = "about_workstation.md About Chef Workstation"
10+
weight = 10
11+
+++
12+
13+
<!-- markdownlint-disable-file MD033 -->
14+
15+
{{< readfile file="content/reusable/md/chef_workstation.md" >}}
16+
17+
Chef Workstation replaces ChefDK, combining all the existing features
18+
with new features, such as ad-hoc task support and the new Chef
19+
Workstation desktop application.
20+
21+
## Getting Started
22+
23+
Chef Infra is a systems and cloud infrastructure automation framework
24+
that makes it easy to deploy servers and applications to any physical,
25+
virtual, or cloud location, no matter the size of the infrastructure.
26+
Each organization is comprised of one (or more) Chef Workstation
27+
installations, a single server, and every node that will be configured
28+
and maintained by Chef Infra Client. Cookbooks (and recipes) are used to
29+
tell Chef Infra Client how each node in your organization should be
30+
configured. Chef Infra Client---which is installed on every node---does
31+
the actual configuration.
32+
33+
- [An Overview of Chef Infra](https://docs.chef.io/chef_overview/)
34+
- [Install Chef Workstation](/install/)
35+
36+
### Cookbook Development Workflow
37+
38+
Chef Infra defines a common workflow for cookbook development:
39+
40+
1. Create a skeleton cookbook by running `chef generate cookbook MY_COOKBOOK_NAME`. This generates a cookbook with a single recipe and testing configuration for Test Kitchen with Chef InSpec.
41+
1. Write cookbook recipes or resources and lint and debug them with Cookstyle and Test Kitchen. Making your own cookbooks is an iterative process where you develop, test, find and fix bugs, and then develop and test some more. A text editor---Visual Studio Code, Atom, vim, or any other preferred text editor---is the only tool that you need to author your cookbooks.
42+
1. Test in acceptance. Test your work in an environment that matches your production environment.
43+
1. Deploy your cookbooks to the production environment, but only after they pass all the acceptance tests and are verified to work in the desired manner.
44+
45+
## Tools
46+
47+
Chef Workstation packages all the tools necessary to be successful with Chef Infra and InSpec. These tools are combined into packages for common operating systems and include all the dependencies you need to get started.
48+
49+
The most important tools included in Chef Workstation are:
50+
51+
- **Chef CLI**: A workflow tool for Chef Infra.
52+
- **knife**: A tool for managing systems on Chef Infra Server.
53+
- **Chef Infra Client**: The Chef Infra agent.
54+
- **Chef InSpec**: A compliance as code tool that can also be used for testing Chef Infra cookbooks.
55+
- **Cookstyle**: A linting tool that helps you write better Chef Infra cookbooks by detecting and automatically correcting style, syntax, and logic mistakes in your code.
56+
- **Test Kitchen**: An integration testing framework tool that tests cookbooks across platforms and various cloud provider / hypervisors.

0 commit comments

Comments
 (0)