Files
OrcaSlicer_WIKI/developer_reference/how_to_wiki.md

352 lines
14 KiB
Markdown
Raw Normal View History

2025-06-13 15:09:25 +00:00
# How to Contribute to the Wiki
2025-08-23 15:43:59 +00:00
This guide explains how to contribute to the OrcaSlicer wiki.
2025-06-13 15:09:25 +00:00
OrcaSlicer's wiki is generated automatically from the files in the [OrcaSlicer WIKI repository](https://github.com/OrcaSlicer/OrcaSlicer_WIKI).
To suggest small changes or improvements, please [open an issue in that repository](https://github.com/OrcaSlicer/OrcaSlicer_WIKI/issues).
If you prefer to make the edits yourself, follow this guide for best practices when creating a pull request (PR).
2025-06-13 15:09:25 +00:00
We encourage developers and users to contribute by updating existing pages and adding new content. This helps keep the documentation accurate and useful.
2025-08-23 15:43:59 +00:00
When adding new features, consider updating the wiki so users can access the latest guidance.
2025-06-13 15:09:25 +00:00
- [Wiki Structure](#wiki-structure)
- [Home](#home)
- [Index and Navigation](#index-and-navigation)
- [File Naming and Organization](#file-naming-and-organization)
2025-08-23 15:43:59 +00:00
- [Orca to Wiki Redirection](#orca-to-wiki-redirection)
2025-06-13 15:09:25 +00:00
- [Formatting and Style](#formatting-and-style)
- [Markdown Formatting](#markdown-formatting)
- [Alerts and Callouts](#alerts-and-callouts)
- [New Content](#new-content)
2025-06-13 15:09:25 +00:00
- [Images](#images)
- [Image Sources](#image-sources)
- [OrcaSlicer Resources](#orcaslicer-resources)
- [Wiki Images](#wiki-images)
- [Image Naming](#image-naming)
- [Image Placement](#image-placement)
- [Linking Images](#linking-images)
- [Examples](#examples)
- [Avoid the Following](#avoid-the-following)
- [Resize Images](#resize-images)
- [Image Cropping and Highlighting](#image-cropping-and-highlighting)
- [Recommended Formats](#recommended-formats)
2025-06-13 15:09:25 +00:00
- [Structuring Content](#structuring-content)
- [Commands and Code Blocks](#commands-and-code-blocks)
- [External Links](#external-links)
## Wiki Structure
Each page of the Wiki is a Markdown file located in the [OrcaSlicer_WIKI repository](https://github.com/OrcaSlicer/OrcaSlicer_WIKI).
The wiki is organized into sections that cover different areas of the project.
2025-06-13 15:09:25 +00:00
### Home
2025-08-23 15:43:59 +00:00
The Home page is the starting point for the OrcaSlicer wiki. From there you can navigate to sections and topics related to the project.
2025-06-13 15:09:25 +00:00
2025-08-23 15:43:59 +00:00
When you create a new page or section, link it from the Home page under the appropriate category.
The Home page currently organizes content in these top-level entries:
2025-06-13 15:09:25 +00:00
2025-11-17 03:18:19 +00:00
- ![printer](https://github.com/OrcaSlicer/OrcaSlicer/blob/main/resources/images/printer.svg?raw=true) [Printer Settings](home#printer-settings)
- ![filament](https://github.com/OrcaSlicer/OrcaSlicer/blob/main/resources/images/filament.svg?raw=true) [Material Settings](home#material-settings)
- ![process](https://github.com/OrcaSlicer/OrcaSlicer/blob/main/resources/images/process.svg?raw=true) [Process Settings](home#process-settings)
- ![tab_3d_active](https://github.com/OrcaSlicer/OrcaSlicer/blob/main/resources/images/tab_3d_active.svg?raw=true) [Prepare](home#prepare)
- ![tab_calibration_active](https://github.com/OrcaSlicer/OrcaSlicer/blob/main/resources/images/tab_calibration_active.svg?raw=true) [Calibrations](home#calibrations)
- ![im_code](https://github.com/OrcaSlicer/OrcaSlicer/blob/main/resources/images/im_code.svg?raw=true) [Developer Section](home#developer-section)
2025-08-23 15:43:59 +00:00
Each section can have multiple pages covering specific topics. For example, the [Process Settings](home#process-settings) section includes pages on [quality](home#quality-settings), [support](home#support-settings), and [others](home#others-settings).
2025-06-13 15:09:25 +00:00
#### Index and Navigation
2025-08-23 15:43:59 +00:00
GitHub Wiki uses file names as page identifiers. To link to a page, use the file name without the `.md` extension. If a file lives in a subdirectory, **do not include the subdirectory** in the link; link directly to the file name from the Home page.
2025-06-13 15:09:25 +00:00
2026-04-08 11:51:47 -03:00
For example, if you add `calibration/flow_ratio_calib.md`, link it like this:
2025-06-13 15:09:25 +00:00
```markdown
2026-04-08 11:51:47 -03:00
[Flow Ratio Calibration](flow_ratio_calib)
2025-06-13 15:09:25 +00:00
```
2025-08-23 15:43:59 +00:00
For long pages, include a table of contents at the top to help readers find sections quickly.
2025-06-13 15:09:25 +00:00
```markdown
- [Wiki Structure](#wiki-structure)
2026-01-18 13:21:19 -03:00
- [Home](#home)
- [Index and Navigation](#index-and-navigation)
- [File Naming and Organization](#file-naming-and-organization)
- [Orca to Wiki Redirection](#orca-to-wiki-redirection)
2025-06-13 15:09:25 +00:00
- [Formatting and Style](#formatting-and-style)
2026-01-18 13:21:19 -03:00
- [Markdown Formatting](#markdown-formatting)
- [Alerts and Callouts](#alerts-and-callouts)
- [Images](#images)
- [Image Sources](#image-sources)
- [OrcaSlicer Resources](#orcaslicer-resources)
- [Wiki Images](#wiki-images)
- [Image Naming](#image-naming)
- [Image Placement](#image-placement)
- [Linking Images](#linking-images)
- [Examples](#examples)
- [Avoid the Following](#avoid-the-following)
- [Resize Images](#resize-images)
- [Image Cropping and Highlighting](#image-cropping-and-highlighting)
- [Recommended Formats](#recommended-formats)
- [Structuring Content](#structuring-content)
- [Commands and Code Blocks](#commands-and-code-blocks)
- [External Links](#external-links)
2025-06-13 15:09:25 +00:00
```
> [!NOTE]
2025-08-23 15:43:59 +00:00
> If you're adding a new section, follow the existing structure and make sure it doesn't already fit an existing category. Link it from the Home page accordingly.
2025-06-13 15:09:25 +00:00
### File Naming and Organization
2025-08-23 15:43:59 +00:00
When creating new pages, follow these file-naming conventions:
2025-06-13 15:09:25 +00:00
- Use unique file names to avoid conflicts.
- Use descriptive names that reflect the page's content.
2026-04-08 11:51:47 -03:00
- Use snake_case for filenames (e.g.: `how_to_wiki.md`).
- If a page belongs to a section, include a suffix that clarifies it (for example, calibration pages should end with `-calib.md`, e.g. `flow_ratio_calib.md`).
2025-11-25 19:17:22 +08:00
- Place files in the appropriate subdirectory when applicable (e.g.: `calibration/` for calibration-related content).
2025-08-23 15:43:59 +00:00
## Orca to Wiki Redirection
OrcaSlicer can redirect users from the GUI to the appropriate wiki pages, making it easier to find relevant documentation.
The option-to-wiki mapping is defined in [src/slic3r/GUI/Tab.cpp](https://github.com/OrcaSlicer/OrcaSlicer/blob/main/src/slic3r/GUI/Tab.cpp).
The links naming uses the same format as the [Wiki Navigation described above](#index-and-navigation), `[filename]#[section(optional)]` e.g. `quality_settings_seam` or `quality_settings_seam#scarf-joint-seam`.
There are 3 main ways to set up these links:
1. Using `append_single_option_line` with a second string argument for the wiki page.
2025-08-23 15:43:59 +00:00
2026-02-09 20:38:49 -03:00
```cpp
optgroup->append_single_option_line("[OPTION_NAME]"); // Option without wiki page/redirection
optgroup->append_single_option_line("[OPTION_NAME]", "[WIKI_LINK]"); // Option with wiki page and redirection
```
2025-08-23 15:43:59 +00:00
2026-02-09 20:38:49 -03:00
Example:
2025-08-23 15:43:59 +00:00
2026-02-09 20:38:49 -03:00
```cpp
optgroup->append_single_option_line("seam_gap","quality_settings_seam"); // Wiki page and redirection
optgroup->append_single_option_line("seam_slope_type", "quality_settings_seam#scarf-joint-seam"); // Wiki page and redirection to `Scarf Joint Seam` section
```
2025-06-13 15:09:25 +00:00
2. Using `append_option_line` with a third string argument for the wiki page.
2026-02-09 20:38:49 -03:00
```cpp
append_option_line([optgroup], [opt_key], "[WIKI_LINK]");
```
Example:
2026-02-09 20:38:49 -03:00
```cpp
append_option_line(optgroup, "machine_max_acceleration_x", "printer_motion_ability#acceleration-limitation");
```
3. Using grouped rows with `append_line` and setting the wiki target via `line.label_path`.
2026-02-09 20:38:49 -03:00
```cpp
line.label_path = "[WIKI_LINK]";
```
Example:
2026-02-09 20:38:49 -03:00
```cpp
Line line = { L("Overhang speed"), L("...") };
line.label_path = "speed_settings_overhang_speed#slow-down-for-overhang";
line.append_option(optgroup->get_option("overhang_1_4_speed"));
optgroup->append_line(line);
```
2025-06-13 15:09:25 +00:00
## Formatting and Style
2025-08-23 15:43:59 +00:00
Follow these style and formatting conventions when contributing to the wiki.
2025-06-13 15:09:25 +00:00
### Markdown Formatting
The wiki uses standard Markdown syntax for formatting and aims to maintain a consistent style across all pages. Avoid using raw HTML tags and prefer Markdown formatting instead.
Ensure your indentation is consistent, especially for code blocks and lists.
Refer to the [GitHub Markdown Guide](https://guides.github.com/features/mastering-markdown/) for more information on Markdown syntax.
### Alerts and Callouts
2025-08-23 15:43:59 +00:00
Use GitHub's alert syntax to add inline notes and warnings:
2025-06-13 15:09:25 +00:00
```markdown
> [!NOTE]
2025-08-23 15:43:59 +00:00
> Useful information that readers should know.
2025-06-13 15:09:25 +00:00
> [!TIP]
2025-08-23 15:43:59 +00:00
> Helpful advice for doing things more easily.
2025-06-13 15:09:25 +00:00
> [!IMPORTANT]
2025-08-23 15:43:59 +00:00
> Key information required to achieve a goal.
2025-06-13 15:09:25 +00:00
> [!WARNING]
2025-08-23 15:43:59 +00:00
> Urgent information to avoid problems.
2025-06-13 15:09:25 +00:00
> [!CAUTION]
2025-08-23 15:43:59 +00:00
> Warnings about risks or negative outcomes.
2025-06-13 15:09:25 +00:00
```
> [!NOTE]
2025-08-23 15:43:59 +00:00
> Refer to the [GitHub Alerts documentation](https://docs.github.com/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax#alerts) for more details.
2025-06-13 15:09:25 +00:00
#### New Content
The Wiki should be updated to reflect the latest stable release with the addition of new features present in current nightly builds.
When new features or upgrades are merged into the main branch, please add a note using the following format:
```markdown
> [!IMPORTANT]
> NEW FEATURE: **Feature short description**
> Available in: [Nightly builds](https://github.com/OrcaSlicer/OrcaSlicer/releases/tag/nightly-builds) or Releases greater than **stable version number at merge time**.
```
Example:
> [!IMPORTANT]
> NEW FEATURE: **Inverse Hole Direction**
> Available in: [Nightly builds](https://github.com/OrcaSlicer/OrcaSlicer/releases/tag/nightly-builds) or Releases greater than **2.3.2**.
This notes should be removed after a new stable release is made that includes the new feature.
2025-06-13 15:09:25 +00:00
## Images
Images are encouraged to enhance the clarity and quality of the wiki content. They help illustrate concepts, provide examples, and improve readability.
> [!CAUTION]
> Do not use images from third-party sources unless you have the proper permissions.
### Image Sources
#### OrcaSlicer Resources
Use images from the OrcaSlicer resources folder located at `\resources\images` in the OrcaSlicer repository. These images are designed to match the application's UI and maintain consistency.
#### Wiki Images
Use or add images in the `images/` directory of the [OrcaSlicer_WIKI repository](https://github.com/OrcaSlicer/OrcaSlicer_WIKI/tree/main/images).
There you can find images already used in the wiki like screenshots, diagrams, and icons.
##### Image Naming
2025-06-13 15:09:25 +00:00
- Use clear, descriptive filenames that reflect the image content.
2025-08-23 15:43:59 +00:00
- For section-specific images, include the section name or initials (for example `pa-[description].png` for Pressure Advance images).
2025-06-13 15:09:25 +00:00
##### Image Placement
2025-06-13 15:09:25 +00:00
2025-11-25 19:17:22 +08:00
- General images should be placed in the `images/` directory.
- Section-specific images should be stored in their corresponding subdirectories (e.g., `images/calibration/` for calibration content).
2025-06-13 15:09:25 +00:00
2025-08-23 15:43:59 +00:00
> [!TIP]
> You can use `\resources\images` images used in the GUI.
##### Linking Images
2025-06-13 15:09:25 +00:00
Always use raw GitHub URLs for image links to ensure correct display:
2025-08-23 15:43:59 +00:00
Format = `![`filename`](` + Base URL + filename.extension + Raw tag + `)`
2025-06-13 15:09:25 +00:00
- Base URL:
2025-06-27 13:20:41 +00:00
2025-06-13 15:09:25 +00:00
```markdown
2025-11-25 10:23:04 +08:00
https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/images/
2025-06-13 15:09:25 +00:00
```
2025-06-27 13:20:41 +00:00
2025-06-13 15:09:25 +00:00
- Raw tag:
2025-06-27 13:20:41 +00:00
2025-06-13 15:09:25 +00:00
```markdown
?raw=true
```
###### Examples
2025-06-13 15:09:25 +00:00
2025-11-25 19:17:22 +08:00
- For an image in `images/` named `calibration.png`:
2025-06-13 15:09:25 +00:00
```markdown
2025-11-25 10:23:04 +08:00
![calibration](https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/images/calibration.png?raw=true)
2025-06-13 15:09:25 +00:00
```
2025-11-25 19:17:22 +08:00
- For an image in a subdirectory like `images/GUI/combobox.png`:
2025-06-27 13:20:41 +00:00
2025-06-13 15:09:25 +00:00
```markdown
2025-11-25 10:23:04 +08:00
![combobox](https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/images/GUI/combobox.png?raw=true)
2025-06-13 15:09:25 +00:00
```
> [!IMPORTANT]
2025-08-23 15:43:59 +00:00
> New or moved images may not appear in previews until the pull request is merged. Double-check paths and update links if you move files.
2025-06-13 15:09:25 +00:00
### Avoid the Following
2025-06-13 15:09:25 +00:00
- Relative paths
2025-08-23 15:43:59 +00:00
- GitHub Assets/user-content/user-images URLs
- External image links from temporary or unreliable hosts
2025-06-13 15:09:25 +00:00
- Images containing personal or sensitive information
- Using images for content that can be expressed in text, such as equations or code—use Markdown syntax or Mermaid/Math formatting instead.
> [!NOTE]
> When contributing section-specific images, follow the naming conventions and directory structure.
#### Resize Images
Avoid the resize of images and let the Wiki handle it automatically.
If resizing is necessary (e.g., for thumbnails), use the following syntax:
2025-08-11 01:52:03 +00:00
HTML Format = `<img alt="` + filename + `"` + `src="` + Base URL + filename.extension + Raw tag + size limit.
2025-06-13 15:09:25 +00:00
Example:
2025-06-27 13:20:41 +00:00
2025-06-13 15:09:25 +00:00
```html
2025-11-25 10:23:04 +08:00
<img alt="IS_damp_marlin_print_measure" src="https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/images/InputShaping/IS_damp_marlin_print_measure.jpg?raw=true" height="200">
2025-06-13 15:09:25 +00:00
```
### Image Cropping and Highlighting
To ensure clarity:
- Crop images to focus on relevant areas.
2025-08-23 15:43:59 +00:00
- Use simple annotations (arrows, circles, rectangles) to highlight important parts without overloading the image.
2025-06-13 15:09:25 +00:00
### Recommended Formats
- **JPG:** Suitable for photographs. Avoid for images with text or fine detail due to compression artifacts.
- **PNG:** Ideal for screenshots or images with transparency. Ensure sufficient contrast for light and dark modes.
- **SVG:** Preferred when possible. SVGs support theme adaptation (light/dark mode), making them ideal for icons and diagrams.
## Structuring Content
2025-08-23 15:43:59 +00:00
Each page should have a clear objective. After a short introduction, choose a structure that fits the content:
- **Step-by-step guides:** Use for sequential procedures (for example calibration).
- **GUI-based reference:** Describe settings following OrcaSlicer's UI when sequence isn't required.
2025-06-13 15:09:25 +00:00
2025-08-23 15:43:59 +00:00
Example: explain **Layer Height** before **Initial Layer Height**, since the former is global and the latter only applies to the first layer.
2025-06-13 15:09:25 +00:00
## Commands and Code Blocks
When adding commands or code blocks please use the [Code Block with Syntax Highlighting feature of Markdown](https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/creating-and-highlighting-code-blocks#syntax-highlighting).
- Use triple backticks (```) to enclose code blocks.
- Specify the language for proper highlighting and readability.
````markdown
```json
{
"key": "value"
}
```
````
```json
{
"key": "value"
}
```
## External Links
2025-08-23 15:43:59 +00:00
Be careful when linking to external resources.
Ensure links are relevant and reliable and cite papers or articles when appropriate.