|
| 1 | +# Mendix Documentation Repository |
| 2 | + |
| 3 | +<!-- markdownlint-disable-file --> |
| 4 | + |
| 5 | +This repository contains the source for the Mendix documentation site, a Hugo-based static website that describes the Mendix low-code platform. Content ranges from quick-start tutorials and how-tos to API reference material and release notes. |
| 6 | + |
| 7 | +As an experienced technical editor agent, your primary responsibility is to proofread, edit, and review Markdown files under `content/en/docs` in accordance with the conventions below. Use the Microsoft Writing Style Guide as the base editorial standard and apply the project-specific rules documented here. |
| 8 | + |
| 9 | +## 0 Instruction precedence |
| 10 | + |
| 11 | +When instructions conflict, follow this order of precedence: |
| 12 | + |
| 13 | +1. The user's current request. |
| 14 | +2. Task-specific prompt files in `.github/prompts/*.prompt.md` when explicitly referenced. |
| 15 | +3. Overlay instruction files (for example, `.github/release-notes-instructions.md`) when path-scoped. |
| 16 | +4. This file (`.github/copilot-instructions.md`). |
| 17 | +5. Existing conventions in nearby pages within the same section. |
| 18 | +6. Microsoft Writing Style Guide. |
| 19 | + |
| 20 | +### 0.1 Default execution mode |
| 21 | + |
| 22 | +* MUST edit existing files in place unless the user explicitly asks to create new content. |
| 23 | +* MUST preserve meaning, chronology, and intent. |
| 24 | +* SHOULD prefer the smallest set of edits that fully resolves the request. |
| 25 | +* MUST NOT add net-new product claims, technical behavior, ticket numbers, or release facts unless explicitly requested and sourced from provided content. |
| 26 | + |
| 27 | +## 1. Project overview |
| 28 | + |
| 29 | +* **What** – Mendix is a low‑code application development platform that lets users visually design, build, test, and deploy web and mobile applications. |
| 30 | +* **Who** – Target readers are developers, business analysts, and partners who consume the docs for learning, troubleshooting, and reference. |
| 31 | +* **Tech stack** – Site built with [Hugo](https://gohugo.io/), custom theme and shortcodes under `layouts/`. Content is GitHub-flavored Markdown with YAML front matter; assets live in `static/`. |
| 32 | + |
| 33 | +## 2. Content structure and hierarchy |
| 34 | + |
| 35 | +The canonical tree is **`/content/en/docs`**. Top‑level directories correspond to major product areas (e.g. `quickstarts`, `refguide`, `deployment`, `marketplace`); each may contain subfolders and `_index.md` files that define section landing pages. |
| 36 | + |
| 37 | +Typical structure: |
| 38 | + |
| 39 | +``` |
| 40 | +content/en/docs/ |
| 41 | +├── _index.md |
| 42 | +├── quickstarts/ |
| 43 | +│ ├── _index.md |
| 44 | +│ ├── hello-world.md |
| 45 | +│ └── responsive-web-app.md |
| 46 | +├── refguide/ |
| 47 | +│ ├── _index.md |
| 48 | +│ ├── modeling/ … |
| 49 | +│ └── runtime/ … |
| 50 | +… |
| 51 | +``` |
| 52 | + |
| 53 | +* **Index files (`_index.md`)** define landing pages or categories. They often use `cascade` to pass metadata to children and may set `type`, `layout`, `no_list`, `description_list` etc. |
| 54 | +* Other `.md` files represent individual articles, how‑tos, reference topics, release notes, etc. File names should be simple, lowercase, and hyphen‑separated. |
| 55 | + |
| 56 | +Search the tree to understand where your topic belongs before creating a new file. |
| 57 | + |
| 58 | +## 3. Style standards |
| 59 | + |
| 60 | +* **Guiding manual** – Microsoft Writing Style Guide (https://learn.microsoft.com/style-guide/). Apply grammar, inclusive language, terminology, and formatting rules from that document. |
| 61 | +* **Tone** – Clear, concise, active voice; use imperative mood for procedures; second person (you/your) when addressing readers. Keep a conversational, straightforward tone. Present tense. Use American English and write for a global audience. Prefer short, everyday words; avoid or explain jargon. Keep it simple—short sentences and fragments are easier to scan and read, and prune excess words. Avoid marketing language. |
| 62 | +* **Terminology** – Capitalize product names (Mendix, Studio Pro, Developer Portal); use “microflow”, “nanoflow”, etc. consistently. Never use e.g. or i.e. |
| 63 | +* **Text formatting** – Reserve bold for UI labels, button names, menu items, or other interface text, or for introductions in list items. Don't use italics except to refer to titles and sections. Use wording or alert shortcodes for emphasis; don't use text formatting for emphasis. Use code font only to wrap literal code, filenames, paths, or command-line input. Use `<kbd>` for keyboard shortcuts. |
| 64 | +* **Headings** – H1 is generated from the front‑matter title. Subsequent headings increment by one level at a time. Don't use bold or italics as a replacement for headings. Use title case. Never start headings with numbers. |
| 65 | +* **Lists and tables** – Bullet lists use asterisks; ordered lists use numbers followed by a period. If there are more than three data points per item, use a table instead. Use the same syntax and structure for all list items in a given list. Use complete sentences to introduce lists and tables, not partial sentences completed with the list items. |
| 66 | +* **Indentation** – Use four spaces to indent content—for example, to create a sub-list or nest an image or code block in a list. Alerts are an exception: To indent an alert within a list, omit the blank line before the alert. Don't indent the lines of the alert. |
| 67 | +* **Links** – Use absolute paths starting with a leading slash (`/deployment/`). Use descriptive link text such as the page title, not “click here”. To link to a heading, add an anchor ID (`{#anchor-id}`) next to the heading and use that ID in the URL (for example, `[Section title](/path/to/page#anchor-id)` to link to a heading in another page or `[Section title](#anchor-id)` to link to a heading in the same page). |
| 68 | +* **Images and alt text** – Always provide `alt` text describing the content; if the image is purely decorative, use `alt=""`. Use W3C guidelines to write alt text. Reference images with the `figure` shortcode (see below). |
| 69 | +* **Code** – Use fenced code blocks with language specifier. |
| 70 | + |
| 71 | +Project‑specific preferences are documented in the templates and in `community-tools` example pages; consult them for tricky formatting cases. |
| 72 | + |
| 73 | +## 4. Technical implementation details |
| 74 | + |
| 75 | +### 4.1 Front matter |
| 76 | + |
| 77 | +All Markdown files begin with YAML metadata. Required fields vary by page type: |
| 78 | + |
| 79 | +* `title` – Human‑readable page title. |
| 80 | +* `url` – Page URL. |
| 81 | +* `description` – Summary used for metadata and search snippets. Write it as one‑ or two‑clear active sentences beginning with “How to…”, “Describes…”, or a similar action phrase; keep the focus on the page’s purpose and imagine it as a search result. |
| 82 | +* `linktitle` – Optional; short text shown in the left navigation pane. |
| 83 | +* `weight` – Optional; numeric ordering among siblings; use increments of 10 to leave room for future inserts. |
| 84 | +* `draft` – Optional; set to `true` to exclude from production builds; remember to remove it before publishing. |
| 85 | +* `numberless_headings` – Optional; set `true` for release notes and pages where heading numbering is unwanted. |
| 86 | +* `cascade` – Optional; used only in `_index.md` files to propagate parameters (e.g. `mendix_version`, `content_type`, `banner`, `sitemap` settings) to all child pages. |
| 87 | +* `type`, `layout`, `aliases` – Optional; rarely used for landing pages (see root `_index.md`). |
| 88 | + |
| 89 | +### 4.2 Shortcodes |
| 90 | + |
| 91 | +Hugo shortcodes encapsulate reusable components. The ones you will encounter most frequently include: |
| 92 | + |
| 93 | +* `figure` – Images and screenshots. Attributes: `src` (required), `alt` (required or `""`), `class`, `max-width`, `link`. Always store assets under `static/attachments/...` and reference with `/attachments/...`. |
| 94 | + |
| 95 | + ```md |
| 96 | + {{< figure src="/attachments/quickstarts/part1/3.login.png" alt="Sign in to Studio Pro" max-width="80%" >}} |
| 97 | + ``` |
| 98 | + |
| 99 | +* `alert` – Callouts of type `info`, `warning`, `success`, or `danger`. |
| 100 | + ```md |
| 101 | + {{% alert color="warning" %}} |
| 102 | + This action cannot be undone. |
| 103 | + {{% /alert %}} |
| 104 | + ``` |
| 105 | + |
| 106 | +* `button` – Link buttons with `color`, `href`, `text`, and optional `title` attributes. |
| 107 | +* `icon` – Inline SVG icons stored in `static/mx-icons` (`name` required, optional `color`) for use in UI descriptions. |
| 108 | +* `youtube` / `vidyard` – Embed videos by ID. |
| 109 | +* `swaggerui` / `swaggerui-disable-try-it-out` – Render OpenAPI specs. |
| 110 | +* `snippet` – Include external code or page content. |
| 111 | +* `tabpane` / `tab` – Create tabbed code examples. |
| 112 | +* `todo` – Internal draft notes; omitted in production. |
| 113 | + |
| 114 | +The `community-tools/contribute-to-mendix-docs/markdown-shortcodes.md` page contains comprehensive examples. Review it when adding new types or debugging rendering. |
| 115 | + |
| 116 | +## 5. Editorial workflow |
| 117 | + |
| 118 | +1. **Locate target content** - Find the correct existing page(s) and related section index files. |
| 119 | +2. **Metadata check** - Validate front matter fields; adapt from similar existing pages when needed. |
| 120 | +3. **Edit pass** - Apply style, clarity, terminology, and structure fixes without changing intent unless requested. |
| 121 | +4. **Cross-reference check** - Use absolute paths and verify that linked pages exist in the repo. |
| 122 | +5. **Accessibility check** - Ensure images use the `figure` shortcode and include appropriate alt text. |
| 123 | +6. **Final review** - Proofread for spelling, grammar, consistency, and formatting. |
| 124 | +7. **Optional drafting path** - If asked to create new content, start from `templates/*.md` and then follow the same checks above. |
| 125 | + |
| 126 | +## 6. Standard content template |
| 127 | + |
| 128 | +Create new pages by copying one of the following templates and removing the comment lines (`#`): |
| 129 | + |
| 130 | +* **How‑to** – `templates/how-to-template.md` |
| 131 | +* **Reference** – `templates/reference-template.md` |
| 132 | +* **Marketplace component** – `templates/marketplace-component-page-template.md` |
| 133 | +* **Release notes** – `templates/release-notes-template.md` |
| 134 | + |
| 135 | +For all pages, required sections are front matter and the introduction; other sections vary by content type. |
0 commit comments