summaryrefslogtreecommitdiff
path: root/skills/google-style-guide/reference/formatting.md
diff options
context:
space:
mode:
Diffstat (limited to 'skills/google-style-guide/reference/formatting.md')
-rw-r--r--skills/google-style-guide/reference/formatting.md164
1 files changed, 164 insertions, 0 deletions
diff --git a/skills/google-style-guide/reference/formatting.md b/skills/google-style-guide/reference/formatting.md
new file mode 100644
index 0000000..aa15763
--- /dev/null
+++ b/skills/google-style-guide/reference/formatting.md
@@ -0,0 +1,164 @@
+# Formatting and organization detail
+
+Detail for: headings, lists, tables, notices, links/cross-references, footnotes,
+images, examples, procedures, paragraphs, UI elements, text formatting,
+filenames. Source: developers.google.com/style (Headings, Lists, Tables,
+Notices, Cross references, Footnotes, Images, Examples, Procedures, Paragraph
+structure, UI elements, Text formatting, File names).
+
+## Headings and titles
+
+- **Sentence case** for all headings and titles (title case only for proper
+ product names).
+- **Task-based headings**: start with a bare infinitive — "Create an instance",
+ not "Creating an instance".
+- **Concept headings**: noun phrase, not an -ing verb — "Migration to Google
+ Cloud", not "Migrating to Google Cloud".
+- One unique h1 per page; don't repeat the page title verbatim in a heading.
+- Don't skip heading levels (h1 → h2 → h3 in order); headings need content
+ after them (no empty headings).
+- Keep punctuation simple; no numbers to indicate sequence; no links in
+ headings; avoid code in headings (if needed, add a descriptive noun).
+- Abbreviate in a heading only when the abbreviation is better known; define it
+ in the first paragraph after.
+- Use "the following sections" when referring to a group of subsections
+ ("The following sections describe the views in the data preparation editor").
+
+## Lists
+
+- Numbered lists: sequence matters (steps, phases, priorities).
+- Bulleted lists: most other lists; parallel structure required.
+- Description lists: term–definition pairs.
+- Don't use a list for a single item.
+- Introduce lists with a complete sentence, usually ending in a colon.
+- List items: start with a capital letter; use periods if items are complete
+ sentences (or after each numbered step in a procedure); keep items parallel
+ (same grammar).
+- Present each item as an equal alternative or sequence element — don't hide
+ steps inside other items.
+- Sub-steps in procedures: use lowercase letters under a numbered step.
+
+## Tables
+
+- Use a table when each row has 3+ related pieces of information; lists for
+ simpler sets; description lists for pairs.
+- Introduce with a complete sentence ending in a colon.
+- Column headings: short, clear, sentence case, no ending punctuation.
+- Keep cells short; avoid long sentences inside cells.
+- Use proper table markup (caption, th with scope) for accessibility.
+- Don't use tables for layout, code snippets, long one-dimensional lists, or
+ inside numbered procedures.
+
+## Links and cross-references
+
+- Link selectively; every link is a chance for the reader to leave. Provide
+ context on the page when a sentence or two suffices.
+- **Descriptive link text**: the page title or a descriptive phrase; never
+ "click here", "this document", or a bare URL.
+ - Recommended: "For more information about task scheduling, see Reliable task
+ scheduling on Compute Engine."
+ - Not recommended: "Want more? Click here!"
+- Use "For more information, see..." or "For more information about X, see..."
+ — never "on".
+- One link to a destination per page (exceptions: very long pages, multiple
+ entry points).
+- Don't open links in new tabs; if you must, say so ("opens in a new tab").
+- Don't use external-link icons; mention "the Wikipedia page about..." in text
+ if the domain matters.
+- Punctuation outside link tags where possible (`see <a>Test your code</a>.`).
+- Unlinked references: short works in quotes, full-length works in italics.
+- When linking a command or code item, include a descriptive noun in the link
+ text: "run the `gcloud instances create` command".
+
+## Notices
+
+- Four types: **Note** (useful, non-critical aside), **Caution** (proceed
+ carefully), **Warning** ("don't do this" / irreversible / data loss),
+ **Success** (interactive content only).
+- Use notices sparingly — overuse makes readers skip them. Don't stack two
+ notices; rewrite instead.
+- Don't use notes for cross-references, prerequisites, full steps, or
+ information the reader needs to succeed.
+
+## Images
+
+- Use images for UI elements and diagrams, not for text, code, or terminal
+ output.
+- **Alt text** (always): concise (≤155 chars), descriptive, context-aware;
+ no "Image of..." or "Photo of..."; include punctuation; no all-caps.
+ - "Architecture of an app that's built with Apps Script."
+- Decorative images: `alt=""` (still include the attribute).
+- Introduce images with a complete sentence (colon if it immediately precedes,
+ period otherwise).
+- Use high-resolution / vector images when practical; keep them sized to the
+ layout.
+- Don't rely on screenshots of text that should be real text (accessibility).
+
+## Examples
+
+- Never use real PII: use reserved example domains (example.com, example.org,
+ example.net), fictional names (e.g. Alex, Dana), `dana@example.com`, example
+ phone numbers (800-555-0100 through 0199 range), `USER_ID` style placeholders.
+- Introduce examples per the guidance in `format-examples`:
+ - End of sentence: comma or em dash; short mid-sentence ones in parentheses.
+ - Not recommended: "Enter a name for the instance, for example, my-instance-99."
+ - Recommended: "Choose a strong encryption algorithm, such as AES-256."
+
+## Procedures (numbered steps)
+
+- First sentence of each step contains an imperative verb: "Clone the
+ repository...", not "You need to clone..." (that's context, not a step).
+- Complete sentences; parallel structure; consistent verb form.
+- State location before action: "In the Google Cloud console, go to the
+ BigQuery page." not "Go to the BigQuery page in the Google Cloud console."
+- State purpose/goal before the action: "To start a new document, click
+ File > New > Document."
+- Optional steps: start the step with "Optional:".
+- Advanced/non-default: "Advanced:" prefix; only-for-some: "Optional:".
+- No directional language (above, below, left, right-hand side).
+- Set context (tool/environment) in the first step; restate under new headings.
+- Sub-steps: letters (a., b., c.) within a numbered step.
+- Multi-action: "Click File > New > Document" (> separates related UI
+ interactions in one step).
+
+## Paragraphs
+
+- One idea per paragraph; 5–6 sentences max (shorter is better); a one-sentence
+ paragraph is fine.
+- Put the most important information first in the paragraph.
+- Left-align text; no forced line breaks, no justification.
+
+## UI elements
+
+- Refer to element by its visible label, in bold: "click **Save**", "the
+ **File** menu", "the **New project** window".
+- Code-eligible elements (values you type) get code + bold: "In the
+ **Network** list, select `my-net-2`."
+- Follow the label's capitalization, but normalize all-caps or inconsistent
+ labels to sentence case.
+- Don't use UI elements as verbs/nouns in prose: "enter a name in the
+ **Service account ID** field" instead of "name the account".
+- Keyboard keys in `<kbd>`: "press **Ctrl+S**" (letter keys uppercase,
+ modifiers spelled out: "Ctrl", "Alt", "Shift").
+- Explain icons; avoid directional language ("the menu at the top right").
+
+## Text formatting summary
+
+- **Bold**: UI labels, and strong emphasis sparingly.
+- **Italics**: new terms, words-as-words, titles of full works (see
+ grammar.md).
+- **Code font**: anything the reader types or that is a code entity (see
+ code.md).
+- No underlines for emphasis; no all-caps; no ampersand for "and" in prose.
+- Sentence case everywhere; American spelling.
+
+## File and directory names
+
+- Lowercase, hyphens between words, ASCII only: `query-data.html`, not
+ `query_data.html` or `Query-Data.html`.
+- No generic names (`document1.html`).
+- Consistent with existing naming in the directory (exceptions allowed to stay
+ consistent).
+- When referencing: code font + the word "file": "the `pg_hba.conf` file".
+- File *types*: use formal names ("PNG file", not ".png file") — word list has
+ specifics. \ No newline at end of file