few changes to the docs

This commit is contained in:
lixxbox 2021-03-26 20:15:57 +01:00 committed by Stefan Dej
parent 33d431bf3a
commit 0d9af550a7
36 changed files with 681 additions and 148 deletions

View File

@ -1,12 +1,37 @@
# Mainsail
Mainsail is a lightweight & responsive web interface for the [Klipper](https://github.com/KevinOConnor/klipper)
3D printer firmware. It communicates with the [Moonraker (Klipper-API)](https://github.com/arksine/moonraker) from [Arksine](https://github.com/arksine).
Mainsail a lightweight & responsive web interface for [Klipper](https://github.com/KevinOConnor/klipper), the 3D printer firmware. It communicates with [Moonraker (Klipper-API)](https://github.com/arksine/moonraker) from [Arksine](https://github.com/arksine).
[Getting Started](https://docs.mainsail.xyz/setup)
Mainsail is also available in remote mode on [http://my.mainsail.xyz](http://my.mainsail.xyz). Find out [more](https://docs.mainsail.xyz/setup#mymainsailxyz).
[Documentation](https://docs.mainsail.xyz)
[Release Notes](https://github.com/meteyou/mainsail/releases)
## Screenshots
![screenshot-dashboard](docs/assets/img/screenshot.png)
To begin using Mainsail start by [installing](https://meteyou.github.io/mainsail/setup/) it or read the [pages](https://meteyou.github.io/mainsail/) for more informations.
## Features
- Optimized for desktops, tablets and mobile devices
- Supports multiple 3D printers (Printer Farm)
- File Manager (gcode and config files)
- Config Editor
- Temperature Presets (with custom gcode)
- Bed Mesh Leveling
- Webcam support
- Control power devices (relays, TPLink, Tasmota, ..)
- Customizable UI (logos, backgrounds & even custom css)
For support join our discord server -> [https://discord.gg/skWTwTD](https://discord.gg/skWTwTD)
## Get support & assistance
Do you need help or just want to talk? Join us on [Discord](https://discord.gg/skWTwTD). We have a very active community.
Have you found a bug? Then we would like you to create an [issue](https://github.com/meteyou/mainsail/issues).
## Support this project
The project is primarily developed and maintained by meteyou. To keep the project going he invests his free time, almost every day. To motivate him (☕🍺😜) there are several ways to support the project.
- [Patreon (recurring)](https://patreon.com/meteyou){:target="_blank"}
- [Ko-Fi (one-time)](https://ko-fi.com/mainsail){:target="_blank"}
## Credit, sources and inspiration
* [Kevin O'Connor](https://github.com/KevinOConnor) for the awesome 3D printer firmware [Klipper](https://github.com/KevinOConnor/klipper)

10
docs/.gitignore vendored Normal file
View File

@ -0,0 +1,10 @@
CNAME
# Ignore metadata generated by Jekyll
_site/
.sass-cache/
.jekyll-cache/
.jekyll-metadata
# Ignore folders generated by Bundler
.bundle/
vendor/

34
docs/Gemfile Normal file
View File

@ -0,0 +1,34 @@
source "https://rubygems.org"
# Hello! This is where you manage which Jekyll version is used to run.
# When you want to use a different version, change it below, save the
# file and run `bundle install`. Run Jekyll with `bundle exec`, like so:
#
# bundle exec jekyll serve
#
# This will help ensure the proper Jekyll version is running.
# Happy Jekylling!
#gem "jekyll", "~> 4.2.0"
# This is the default theme for new Jekyll sites. You may change this to anything you like.
#gem "minima", "~> 2.5"
# If you want to use GitHub Pages, remove the "gem "jekyll"" above and
# uncomment the line below. To upgrade, run `bundle update github-pages`.
gem "github-pages", group: :jekyll_plugins
# If you have any plugins, put them here!
group :jekyll_plugins do
gem "jekyll-feed", "~> 0.12"
gem "jekyll-remote-theme"
end
# Windows and JRuby does not include zoneinfo files, so bundle the tzinfo-data gem
# and associated library.
platforms :mingw, :x64_mingw, :mswin, :jruby do
gem "tzinfo", "~> 1.2"
gem "tzinfo-data"
end
# Performance-booster for watching directories on Windows
gem "wdm", "~> 0.1.1", :platforms => [:mingw, :x64_mingw, :mswin]

271
docs/Gemfile.lock Normal file
View File

@ -0,0 +1,271 @@
GEM
remote: https://rubygems.org/
specs:
activesupport (6.0.3.5)
concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 0.7, < 2)
minitest (~> 5.1)
tzinfo (~> 1.1)
zeitwerk (~> 2.2, >= 2.2.2)
addressable (2.7.0)
public_suffix (>= 2.0.2, < 5.0)
coffee-script (2.4.1)
coffee-script-source
execjs
coffee-script-source (1.11.1)
colorator (1.1.0)
commonmarker (0.17.13)
ruby-enum (~> 0.5)
concurrent-ruby (1.1.8)
dnsruby (1.61.5)
simpleidn (~> 0.1)
em-websocket (0.5.2)
eventmachine (>= 0.12.9)
http_parser.rb (~> 0.6.0)
ethon (0.12.0)
ffi (>= 1.3.0)
eventmachine (1.2.7-x64-mingw32)
execjs (2.7.0)
faraday (1.3.0)
faraday-net_http (~> 1.0)
multipart-post (>= 1.2, < 3)
ruby2_keywords
faraday-net_http (1.0.1)
ffi (1.14.2-x64-mingw32)
forwardable-extended (2.6.0)
gemoji (3.0.1)
github-pages (212)
github-pages-health-check (= 1.17.0)
jekyll (= 3.9.0)
jekyll-avatar (= 0.7.0)
jekyll-coffeescript (= 1.1.1)
jekyll-commonmark-ghpages (= 0.1.6)
jekyll-default-layout (= 0.1.4)
jekyll-feed (= 0.15.1)
jekyll-gist (= 1.5.0)
jekyll-github-metadata (= 2.13.0)
jekyll-mentions (= 1.6.0)
jekyll-optional-front-matter (= 0.3.2)
jekyll-paginate (= 1.1.0)
jekyll-readme-index (= 0.3.0)
jekyll-redirect-from (= 0.16.0)
jekyll-relative-links (= 0.6.1)
jekyll-remote-theme (= 0.4.2)
jekyll-sass-converter (= 1.5.2)
jekyll-seo-tag (= 2.7.1)
jekyll-sitemap (= 1.4.0)
jekyll-swiss (= 1.0.0)
jekyll-theme-architect (= 0.1.1)
jekyll-theme-cayman (= 0.1.1)
jekyll-theme-dinky (= 0.1.1)
jekyll-theme-hacker (= 0.1.2)
jekyll-theme-leap-day (= 0.1.1)
jekyll-theme-merlot (= 0.1.1)
jekyll-theme-midnight (= 0.1.1)
jekyll-theme-minimal (= 0.1.1)
jekyll-theme-modernist (= 0.1.1)
jekyll-theme-primer (= 0.5.4)
jekyll-theme-slate (= 0.1.1)
jekyll-theme-tactile (= 0.1.1)
jekyll-theme-time-machine (= 0.1.1)
jekyll-titles-from-headings (= 0.5.3)
jemoji (= 0.12.0)
kramdown (= 2.3.0)
kramdown-parser-gfm (= 1.1.0)
liquid (= 4.0.3)
mercenary (~> 0.3)
minima (= 2.5.1)
nokogiri (>= 1.10.4, < 2.0)
rouge (= 3.26.0)
terminal-table (~> 1.4)
github-pages-health-check (1.17.0)
addressable (~> 2.3)
dnsruby (~> 1.60)
octokit (~> 4.0)
public_suffix (>= 2.0.2, < 5.0)
typhoeus (~> 1.3)
html-pipeline (2.14.0)
activesupport (>= 2)
nokogiri (>= 1.4)
http_parser.rb (0.6.0)
i18n (0.9.5)
concurrent-ruby (~> 1.0)
jekyll (3.9.0)
addressable (~> 2.4)
colorator (~> 1.0)
em-websocket (~> 0.5)
i18n (~> 0.7)
jekyll-sass-converter (~> 1.0)
jekyll-watch (~> 2.0)
kramdown (>= 1.17, < 3)
liquid (~> 4.0)
mercenary (~> 0.3.3)
pathutil (~> 0.9)
rouge (>= 1.7, < 4)
safe_yaml (~> 1.0)
jekyll-avatar (0.7.0)
jekyll (>= 3.0, < 5.0)
jekyll-coffeescript (1.1.1)
coffee-script (~> 2.2)
coffee-script-source (~> 1.11.1)
jekyll-commonmark (1.3.1)
commonmarker (~> 0.14)
jekyll (>= 3.7, < 5.0)
jekyll-commonmark-ghpages (0.1.6)
commonmarker (~> 0.17.6)
jekyll-commonmark (~> 1.2)
rouge (>= 2.0, < 4.0)
jekyll-default-layout (0.1.4)
jekyll (~> 3.0)
jekyll-feed (0.15.1)
jekyll (>= 3.7, < 5.0)
jekyll-gist (1.5.0)
octokit (~> 4.2)
jekyll-github-metadata (2.13.0)
jekyll (>= 3.4, < 5.0)
octokit (~> 4.0, != 4.4.0)
jekyll-mentions (1.6.0)
html-pipeline (~> 2.3)
jekyll (>= 3.7, < 5.0)
jekyll-optional-front-matter (0.3.2)
jekyll (>= 3.0, < 5.0)
jekyll-paginate (1.1.0)
jekyll-readme-index (0.3.0)
jekyll (>= 3.0, < 5.0)
jekyll-redirect-from (0.16.0)
jekyll (>= 3.3, < 5.0)
jekyll-relative-links (0.6.1)
jekyll (>= 3.3, < 5.0)
jekyll-remote-theme (0.4.2)
addressable (~> 2.0)
jekyll (>= 3.5, < 5.0)
jekyll-sass-converter (>= 1.0, <= 3.0.0, != 2.0.0)
rubyzip (>= 1.3.0, < 3.0)
jekyll-sass-converter (1.5.2)
sass (~> 3.4)
jekyll-seo-tag (2.7.1)
jekyll (>= 3.8, < 5.0)
jekyll-sitemap (1.4.0)
jekyll (>= 3.7, < 5.0)
jekyll-swiss (1.0.0)
jekyll-theme-architect (0.1.1)
jekyll (~> 3.5)
jekyll-seo-tag (~> 2.0)
jekyll-theme-cayman (0.1.1)
jekyll (~> 3.5)
jekyll-seo-tag (~> 2.0)
jekyll-theme-dinky (0.1.1)
jekyll (~> 3.5)
jekyll-seo-tag (~> 2.0)
jekyll-theme-hacker (0.1.2)
jekyll (> 3.5, < 5.0)
jekyll-seo-tag (~> 2.0)
jekyll-theme-leap-day (0.1.1)
jekyll (~> 3.5)
jekyll-seo-tag (~> 2.0)
jekyll-theme-merlot (0.1.1)
jekyll (~> 3.5)
jekyll-seo-tag (~> 2.0)
jekyll-theme-midnight (0.1.1)
jekyll (~> 3.5)
jekyll-seo-tag (~> 2.0)
jekyll-theme-minimal (0.1.1)
jekyll (~> 3.5)
jekyll-seo-tag (~> 2.0)
jekyll-theme-modernist (0.1.1)
jekyll (~> 3.5)
jekyll-seo-tag (~> 2.0)
jekyll-theme-primer (0.5.4)
jekyll (> 3.5, < 5.0)
jekyll-github-metadata (~> 2.9)
jekyll-seo-tag (~> 2.0)
jekyll-theme-slate (0.1.1)
jekyll (~> 3.5)
jekyll-seo-tag (~> 2.0)
jekyll-theme-tactile (0.1.1)
jekyll (~> 3.5)
jekyll-seo-tag (~> 2.0)
jekyll-theme-time-machine (0.1.1)
jekyll (~> 3.5)
jekyll-seo-tag (~> 2.0)
jekyll-titles-from-headings (0.5.3)
jekyll (>= 3.3, < 5.0)
jekyll-watch (2.2.1)
listen (~> 3.0)
jemoji (0.12.0)
gemoji (~> 3.0)
html-pipeline (~> 2.2)
jekyll (>= 3.0, < 5.0)
kramdown (2.3.0)
rexml
kramdown-parser-gfm (1.1.0)
kramdown (~> 2.0)
liquid (4.0.3)
listen (3.4.1)
rb-fsevent (~> 0.10, >= 0.10.3)
rb-inotify (~> 0.9, >= 0.9.10)
mercenary (0.3.6)
minima (2.5.1)
jekyll (>= 3.5, < 5.0)
jekyll-feed (~> 0.9)
jekyll-seo-tag (~> 2.1)
minitest (5.14.4)
multipart-post (2.1.1)
nokogiri (1.11.1-x64-mingw32)
racc (~> 1.4)
octokit (4.20.0)
faraday (>= 0.9)
sawyer (~> 0.8.0, >= 0.5.3)
pathutil (0.16.2)
forwardable-extended (~> 2.6)
public_suffix (4.0.6)
racc (1.5.2)
rb-fsevent (0.10.4)
rb-inotify (0.10.1)
ffi (~> 1.0)
rexml (3.2.4)
rouge (3.26.0)
ruby-enum (0.9.0)
i18n
ruby2_keywords (0.0.4)
rubyzip (2.3.0)
safe_yaml (1.0.5)
sass (3.7.4)
sass-listen (~> 4.0.0)
sass-listen (4.0.0)
rb-fsevent (~> 0.9, >= 0.9.4)
rb-inotify (~> 0.9, >= 0.9.7)
sawyer (0.8.2)
addressable (>= 2.3.5)
faraday (> 0.8, < 2.0)
simpleidn (0.2.1)
unf (~> 0.1.4)
terminal-table (1.8.0)
unicode-display_width (~> 1.1, >= 1.1.1)
thread_safe (0.3.6)
typhoeus (1.4.0)
ethon (>= 0.9.0)
tzinfo (1.2.9)
thread_safe (~> 0.1)
tzinfo-data (1.2021.1)
tzinfo (>= 1.0.0)
unf (0.1.4)
unf_ext
unf_ext (0.0.7.7-x64-mingw32)
unicode-display_width (1.7.0)
wdm (0.1.1)
zeitwerk (2.4.2)
PLATFORMS
x64-mingw32
DEPENDENCIES
github-pages
jekyll-feed (~> 0.12)
jekyll-remote-theme
tzinfo (~> 1.2)
tzinfo-data
wdm (~> 0.1.1)
BUNDLED WITH
2.2.13

View File

@ -6,6 +6,11 @@ logo: "/assets/img/logo-mainsail.png"
remote_theme: pmarsceill/just-the-docs
color_scheme: "mainsail"
search_enabled: true
aux_links:
"Mainsail on GitHub":
- "//github.com/meteyou/mainsail"
aux_links_new_tab: true
defaults:
-

2
docs/_data/themes.csv Normal file
View File

@ -0,0 +1,2 @@
name,author,repo
Dracula,steadyjaw,dracula-mainsail-theme
1 name author repo
2 Dracula steadyjaw dracula-mainsail-theme

View File

@ -1,8 +1,9 @@
$link-color: $red-300;
$btn-primary-color: $red-300;
.success {
margin: 32px 0px;
padding: 25px;
margin: 16px 0px;
padding: 20px;
position: relative;
border-radius: 3px;
width: 100%;
@ -13,8 +14,8 @@ $link-color: $red-300;
}
.info {
margin: 32px 0px;
padding: 25px;
margin: 16px 0px;
padding: 20px;
position: relative;
border-radius: 3px;
width: 100%;
@ -25,8 +26,8 @@ $link-color: $red-300;
}
.warning {
margin: 32px 0px;
padding: 25px;
margin: 16px 0px;
padding: 20px;
position: relative;
border-radius: 3px;
width: 100%;
@ -37,8 +38,8 @@ $link-color: $red-300;
}
.alert {
margin: 32px 0px;
padding: 25px;
margin: 16px 0px;
padding: 20px;
position: relative;
border-radius: 3px;
width: 100%;
@ -47,3 +48,13 @@ $link-color: $red-300;
border-left: 4px solid;
border-color: rgb(255, 70, 66);
}
.key {
padding: 0px 5px;
border-radius: 3px;
border: 1px solid;
border-color: hsl(0,0%,70%);
background-color: hsl(0,0%,98%);
font-style: normal;
font-size: 14px;
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 KiB

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

View File

@ -1,15 +0,0 @@
---
layout: default
title: Favicons
parent: Customizing
nav_order: 3
permalink: /customizing/favicons
---
## Custom favicon
Upload the images with the name "favicon-16x16.png" and "favicon-32x32.png"
to the .theme folder. Allowed extension is only .png. The "favicon-32x32.png"
is required. The "favicon-16x16.png" is optional. Maybe a hard refresh is
necessary (CTRL+SHIFT+F5 on windows or CMD+SHIFT+R on mac).
![screenshot](../assets/img/customizing/screenshot-favicons.png)

View File

@ -1,22 +0,0 @@
---
layout: default
title: Customizing
nav_order: 6
has_children: true
permalink: /customizing
---
# Customizing
Feel free to customize Mainsail to your preferences. At the moment there
are not many possibilities, but i will expand them continuously. If some features
are not yet listed below, please create a FR (feature request) on Github.
### currently supported functions
- [change sidebar logo](sidebar.md)
- [change sidebar background](sidebar.md)
- [change favicon](favicon.md)
- [upload custom.css](custom-css.md)
### coming soon
- change primary color (all blue buttons atm)

View File

@ -1,16 +0,0 @@
---
layout: default
title: Prepare
parent: Customizing
nav_order: 1
permalink: /customizing/prepare
---
## Prepare theme
To prepare mainsail to use themes, you only have to create the ".theme" directory. Go into
"Settings" > "Machine" and check if you have enabled "Hidden files". Then you can create a
directory with the name ".theme". Important is the "." on the beginning. All further customizing
files, will be placed in this directory.
![screenshot](../assets/img/customizing/screenshot-display-hidden-files.png)

View File

@ -1,22 +0,0 @@
---
layout: default
title: Sidebar
parent: Customizing
nav_order: 2
permalink: /customizing/sidebar
---
## Sidebar customizing
### Change sidebar logo
Upload an image with the name "sidebar-logo" to the .theme folder.
Allowed file extensions for the image are: .svg, .jpg, .png and .gif.
![screenshot](../assets/img/customizing/screenshot-sidebar-logo.png)
### Change sidebar background image
Upload an image with the name "sidebar-background" to the .theme folder.
Allowed file extensions for the image are: .jpg, .png and .gif. The
recommended image size is 300x1000px.
![screenshot](../assets/img/customizing/screenshot-sidebar-background.png)

BIN
docs/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 93 KiB

View File

@ -5,19 +5,40 @@ nav_order: 1
has_children: false
---
# Welcome to the Mainsail docs!
# Welcome to the Mainsail!
Mainsail is a lightweight & responsive web interface for Klipper, the 3D printer firmware. It focuses especially on an intuitive and consistent interface.
{: .fs-5 }
Mainsail is a lightweight & responsive web interface for the Klipper 3D printer firmware. It communicates with Moonraker (Klipper-API) from Arksine.
[Setup Guide](/setup){: .btn}
[Getting Started](/setup){: .btn .btn-primary }
[GitHub](https://github.com/meteyou/mainsail){: .btn}{:target="_blank"}
[Release Notes](https://github.com/meteyou/mainsail/releases){: .btn}{:target="_blank"}
For support join us on Discord, or open an issue on Github.
## Screenshots
![Dashboard](assets/img/screenshot.png)
## Features
- Optimized for desktops, tablets and mobile devices
- Supports multiple 3D printers (Printer Farm)
- File Manager (gcode and config files)
- Config Editor
- Temperature Presets (with custom gcode)
- Bed Mesh Leveling
- Webcam support
- Control power devices (relays, TPLink, Tasmota, ..)
- Customizable UI (logos, backgrounds & even custom css)
## Get support & assistance
Do you need help or just want to talk? Join us on discord. We have a very active community.
Have you found a bug? Then we would like you to create an Issue on GitHub.
[Discord](https://discord.gg/skWTwTD){: .btn}{:target="_blank"}
[Github](https://github.com/meteyou/mainsail){: .btn}{:target="_blank"}
[GitHub Issues](https://github.com/meteyou/mainsail/issues){: .btn}{:target="_blank"}
## Support this project
The project is primarily developed and maintained by meteyou. To keep the project going he invests his free time, almost every day. To motivate him (☕🍺😜) there are several ways to support the project.
- [Patreon (recurring)](https://patreon.com/meteyou){:target="_blank"}
- [Ko-Fi (one-time)](https://ko-fi.com/mainsail){:target="_blank"}
## Screenshots
![Dashboard](assets/img/screenshot.png)
However, we would also like to ask you to support the regular contributors.
{: .info}

View File

@ -8,29 +8,29 @@ permalink: /necessary-configuration
Mainsail requires a minimum configuration to function properly. It should give you a warning at startup if the required parts are not found in your configuration.
## Required configuration
### virtual_sdcard
# Required configuration
## virtual_sdcard
This allows gcode file uploads.
```yaml
[virtual_sdcard]
path: ~/gcode_files
```
### display_status
## display_status
This is required for messages in your status panel, if you don't have a `[display]` in your configuration.
```yaml
[display_status]
```
### pause / resume / cancel
## pause / resume / cancel
This enables pause / resume in mainsail.
```yaml
[pause_resume]
```
## Macros
### for pause /resume / cancel functionality
# Macros
## for pause /resume / cancel functionality
These should be modified to your own needs.
```yaml
[gcode_macro PAUSE]
@ -71,9 +71,9 @@ gcode:
BASE_CANCEL_PRINT
```
## Optional
# Optional
### customize klipper default commands
## customize klipper default commands
for example, if you want to adjust the `BED_MESH_CALIBRATE` command, which you can run from "heightmap > calibrate".
```yaml
[gcode_macro BED_MESH_CALIBRATE]

View File

@ -4,7 +4,8 @@ title: Quicktips
nav_order: 10
has_children: true
permalink: /quicktips
description: quick tips, without much explanation
description: >-
quick tips, without much explanation
---
# {{ page.title }}

View File

@ -4,13 +4,13 @@ title: Slicer Upload
parent: Quicktips
permalink: /quicktips/slicer-upload
description: >-
It is possible to upload G-Code from your slicer and have it start printing.
You can upload your sliced G-Code from within your slicer and have it start printing.
---
# {{ page.title }}
{{ page.description }}
Moonraker has compatibility with Octoprint's API. To enable octoprint api compatibility,
add the following to your `moonraker.conf and restart Moonraker.
add the following to your `moonraker.conf` and restart Moonraker.
```
[octoprint_compat]

View File

@ -2,6 +2,7 @@
layout: default
title: Remote Mode
nav_order: 4
nav_exclude: true
has_children: false
permalink: /remotemode
description: >-

View File

@ -7,8 +7,27 @@ permalink: /setup/
has_toc: false
---
# Setup Guides
There are different ways to install Mainsail.
- [MainsailOS (recommend)](mainsail-os.md)
- [Kiauh (Klipper Install And Update Helper)](kiauh.md)
- [Manual Setup](manual-setup/index.md)
To get started, you first have to decide which route you want to follow for the installation. There are several ways to install Mainsail on a Raspberry Pi.
- [MainsailOS](mainsail-os.md) <span class="label label-red">recommended</span>
A prebuilt image for your Raspberry Pi. Flash it and you are almost ready to go.
- [KIAUH](kiauh.md) - _Klipper Installation And Update Helper_
A script toolbox to install and keep Klipper, Moonraker and Mainsail up to date. It contains many additional features and is the way to go for multiprinter setups.
- [Manual Setup](manual-setup/index.md)
The rocky road. If you want to know how everything is set up by hand, you will get all the information here.
## my.mainsail.xyz
In addition to these guides, there is [my.mainsail.xyz](http://my.mainsail.xyz){: target="_blank"}. The latest Mainsail version is always hosted there. This obviates the need to set up a web server for Mainsail on your hardware.
To use [my.mainsail.xyz](http://my.mainsail.xyz){: target="_blank"}, the following requirements must be met:
- Klipper must be installed.
- Moonraker must be installed.
- my.mainsail.xyz must be configured as a CORS domain in moonraker.conf.
**MainsailOS & KIAUH already fulfill these requirements.**
_Note_, only the static .html, .js and .css files are loaded into your browser storage. No further information is transferred to the server. The communication to your printer is then done locally directly between your browser and your Moonraker installation.
If you have any concerns, you can of course still install Mainsail on your hardware locally. Parallel operation is also possible.
{: .info}

View File

@ -1,14 +1,15 @@
---
layout: default
title: Kiauh Guide
title: KIAUH
parent: Setup Guides
nav_order: 2
has_children: false
permalink: /setup/kiauh
---
# Installing Mainsail with Kiauh
# Installing Mainsail with KIAUH
Kiauh is a tool that helps you install or upgrade Klipper, Moonraker, Mainsail and various
other extensions easily and comfortably.
[KIAUH](https://github.com/th33xitus/kiauh) is a handy tool that helps you install or upgrade Klipper, Moonraker, Mainsail and various other extensions easily and comfortably.
For more informations and get to the guide click [here](https://github.com/th33xitus/kiauh).
![](../assets/img/setup/kiauh.png)
For more information and get to the guide click [here](https://github.com/th33xitus/kiauh).

View File

@ -1,6 +1,6 @@
---
layout: default
title: MainsailOS Guide
title: MainsailOS
parent: Setup Guides
nav_order: 1
has_children: false

View File

@ -1,9 +1,12 @@
---
layout: default
title: Manual Setup Guide
title: Manual Setup
parent: Setup Guides
nav_order: 3
has_children: true
permalink: /setup/manual-setup
---
# Installing Mainsail the manual way
This is a guide to setting up Klipper, Moonraker & Mainsail on a Raspberry Pi with Raspberry Pi OS. Other SBCs and/or Linux distributions might work, but may require a customized installation script or configs.

View File

@ -1,14 +1,14 @@
---
layout: default
title: Klipper
parent: Manual Setup Guide
parent: Manual Setup
grand_parent: Setup Guides
nav_order: 3
permalink: /setup/manual-setup/klipper
---
## Klipper
### Installation
# Klipper
## Installation
The following commands will clone Klipper to an appropriate directory in HOME and run the setup script.
```bash
cd ~
@ -17,7 +17,7 @@ cd ~/klipper
./scripts/install-octopi.sh
```
### Configuration
## Configuration
After Klipper is installed, you will need to change the default location of the printer.cfg and add the UDS (unix domain socket). This is defined in the file `/etc/default/klipper`
To edit this file type:
@ -55,8 +55,9 @@ path: ~/gcode_files
# for pause/resume functionality.
# Mainsail needs gcode macros for `PAUSE`, `RESUME` and `CANCEL_PRINT` to make the buttons work.
```
> **These entries are very important.**
**These entries are very important.**
For the full functionality of mainsail, you should also define gcode macros for `PAUSE`, `RESUME` and `CANCEL_PRINT`. You'll find further information in [this](../../necessary-cfg.md){: target="_blank"} document.
{: .info }
After your config is in place, restart klipper with `sudo service klipper restart`. Check the `/tmp/klippy.log` for errors, if Klipper starts correctly you can continue the guide.

View File

@ -1,16 +1,15 @@
---
layout: default
title: Mainsail
parent: Manual Setup Guide
parent: Manual Setup
grand_parent: Setup Guides
nav_order: 5
permalink: /setup/manual-setup/mainsail
---
# Mainsail
## Mainsail
### Install webserver & reverse proxy (nginx)
## Install webserver & reverse proxy (nginx)
nginx is important to mount all components on port 80 and host the static files from Mainsail. To install nginx you only need to execute:
@ -140,7 +139,7 @@ Now you can check again the API if it works with the reverse proxy. Open the url
Now we can install Mainsail (static httpdocs).
### Install httpdocs
## Install httpdocs
Now you can download the current mainsail static data
@ -151,14 +150,14 @@ wget -q -O mainsail.zip https://github.com/meteyou/mainsail/releases/latest/down
Now it should be possible to open the interface: `http://<printer-ip>/`.
### Important macros
## Important macros
if you want to get the full experience with mainsail and klipper virtual_sdcard print, you should use these macros, or use them as templates for your own.
[Macro Link](../../necessary-cfg.md){: .btn target="_blank"}
### Change the Hostname (optional)
## Change the Hostname (optional)
to use the hostname instate of the ip, you can install the avahi-daemon:

View File

@ -1,15 +1,15 @@
---
layout: default
title: Moonraker
parent: Manual Setup Guide
parent: Manual Setup
grand_parent: Setup Guides
nav_order: 4
permalink: /setup/manual-setup/moonraker
---
## Moonraker
# Moonraker
Moonraker is a web server that exposes APIs which lets Mainsail interact with Klipper.
### Installation
## Installation
Clone Moonraker into your HOME directory:
```bash
cd ~
@ -22,9 +22,10 @@ cd ~/moonraker/scripts
./install-moonraker.sh -c /home/pi/klipper_config/moonraker.conf
```
### Configuration
> ⚠️ **Please pay attention to the following steps!**
## Configuration
**Please pay attention to the following steps!**
Misconfigured trusted_clients are a very common source of failure.
{: .warning }
For Moonraker you'll need to create a separate config file.
@ -33,8 +34,9 @@ For Moonraker you'll need to create a separate config file.
Insert the following part and modify `trusted_clients` according to arksines description below.
Also consider further IP ranges, e.g. when connecting via VPN. To determine your local ip `ip a` and `ifconfig -a` are common ways to do so on Linux and `ipconfig` on Windows.
> **This is a very basic config**
**This is a very basic config**
For more options and detailed explanations you should follow [arksines instructions](https://github.com/Arksine/moonraker/blob/master/docs/installation.md).
{: .info }
```
[server]
@ -55,7 +57,7 @@ repo: meteyou/mainsail
path: ~/mainsail
```
> 🔥 **trusted_clients - read carefully** 🔥
🔥 **trusted_clients - read carefully** 🔥
A list of newline separated ip addresses and/or ip ranges that are
trusted. Trusted clients are given full access to the API. Both IPv4
and IPv6 addresses and ranges are supported. Ranges must be expressed
@ -64,6 +66,7 @@ For example, an entry of 192.168.1.0/24 will authorize IPs in the range of 192.1
192.168.1.254. Note that when specifying IPv4 ranges the last segment
of the ip address must be 0. The default is no clients or ranges are
trusted.
{: .alert }
Save the file with `CTRL+O` and close the editor with `CTRL+X`.

View File

@ -1,27 +1,35 @@
---
layout: default
title: Operating System
parent: Manual Setup Guide
parent: Manual Setup
grand_parent: Setup Guides
nav_order: 2
permalink: /setup/manual-setup/operating-systen
description: >-
Manual Setup: tips and recommendations for the OS.
---
## Operation System
> ⚠️ **Please don't use an OctoPi image!**
It can cause unforeseeable events, like rips in the space-time continuum. So be aware!
# {{ page.title }}
{{ page.description }}
**Please don't use an OctoPi image!**
It can cause unforeseeable events, like rips in the space-time continuum. So be aware!
No seriously. Experiences have shown that it is advisable not to use an OctoPi image (especially for beginners).
{: .warning }
It is recommended to use a clean Raspberry Pi OS 32-bit Lite image (previously called Raspbian). You can download it [here](https://downloads.raspberrypi.org/raspios_lite_armhf_latest){:target="_blank"}.
For more information about installing Raspberry Pi OS click [here](https://www.raspberrypi.org/documentation/installation/installing-images/){:target="_blank"}. Don't forget to enable ssh.
Once you have finished the installation and are connected via ssh, you can continue.
### Requirements
## Requirements
```bash
sudo apt update && sudo apt upgrade
sudo apt install git dfu-util unzip
```
> ⚠️ **Moonraker requires Python 3.7 or greater,** verify that your distribution's Python 3 packages meet this requirement.
**Moonraker requires Python 3.7 or greater,** verify that your distribution's Python 3 packages meet this requirement.
{: .alert }
```
python3 --version

39
docs/themes/backgrounds.md vendored Normal file
View File

@ -0,0 +1,39 @@
---
layout: default
title: Backgrounds
parent: Theming
nav_order: 10
permalink: /theming/backgrounds
description: >-
Place some background images to give Mainsail its own look with ease.
---
# {{ page.title }}
{{ page.description }}
At the moment there are two background images that can be set. In the sidebar- and mainview.
![screenshot](../assets/img/customizing/sidebar-main.jpg){:width="50%"}
For uploads you can use the built-in file manager. `(Settings > Machine)`
<!-- ![screenshot](../assets/img/customizing/screenshot-sidebar-background.png) -->
## Sidebar background image
Just load a background image into your .theme folder and name it `sidebar-background.<extension>`.
| Filename | sidebar-background |
| Valid file extensions | .jpg, .png and .gif |
| Recommended image size | 300x1000px |
## Mainview background image
Upload a background image into your .theme folder and name it `main-background.<extension>`.
| Filename | main-background |
| Valid file extensions | .jpg, .png and .gif |
**Please note**: By default, the background image is stretched to the entire area.
For example, if you want a repeating pattern, you also need to use custom css.
{: .info}

View File

@ -1,12 +1,12 @@
---
layout: default
title: Custom CSS
parent: Customizing
nav_order: 99
permalink: /customizing/custom-css
parent: Theming
nav_order: 30
permalink: /theming/custom-css
---
## Custom-CSS
# Custom-CSS
The custom.css file allows you to customize the appearance of Mainsail
without the need of rebuilding it. All you need to do is to place a file
@ -18,13 +18,13 @@ your css rules in there.
![example result](../assets/img/customizing/screenshot-custom-css-example-result.png "custom.css result")
### How to CSS
## How to CSS
You need to be familiar with the CSS (**C**ascading **S**tyle **S**heets) syntax.
There are many resources to learn CSS online, for example:
- https://www.w3schools.com/css/default.asp
#### find the Element selector (example based on Chrome Browser)
### find the Element selector (example based on Chrome Browser)
Use your browser's built-in developer tools to find the right selector of the element you want to add your own flair to.

38
docs/themes/icons.md vendored Normal file
View File

@ -0,0 +1,38 @@
---
layout: default
title: Logos/Icons
parent: Theming
nav_order: 20
permalink: /theming/favicons
description: >-
Replace the default logos/icons, to quickly recognize your printers.
---
# {{ page.title }}
{{ page.description }}
For uploads you can use the built-in file manager. `(Settings > Machine)`
## Sidebar logo
Just upload a logo into your .theme folder and name it `sidebar-logo.<extension>`.
| Filename | sidebar-logo |
| Valid file extensions | .svg, .jpg, .png and .gif |
| Recommended image size | XxY px |
![screenshot](../assets/img/customizing/screenshot-sidebar-logo.png)
## Favicons
Upload favicons into your .theme folder and name them `favicon-32x32.png` *(required)* and `favicon-16x16.png` *(optional)*.
| Filename | favicon-32x32 *(required)* |
| | favicon-16x16 *(optional)* |
| Valid file extensions | .png |
| Recommended image size | 32x32px, 16x16px |
A hard browser refresh may be necessary (CTRL+SHIFT+F5 on windows or CMD+SHIFT+R on mac).
{: .info}
![screenshot](../assets/img/customizing/screenshot-favicons.png)

14
docs/themes/index.md vendored Normal file
View File

@ -0,0 +1,14 @@
---
layout: default
title: Theming
nav_order: 6
has_children: true
permalink: /theming
description: >-
Personalize Mainsail according to your preferences. Here you will find instructions for custom background images, logos, icons & more.
---
# {{ page.title }}
{{ page.description }}
Start with [prepare](/theming/prepare) to create a basic structure for your own theme, or take a look in [themes](/theming/themes) to see if there are already suitable themes from the Mainsail community.

43
docs/themes/prepare.md vendored Normal file
View File

@ -0,0 +1,43 @@
---
layout: default
title: Prepare
parent: Theming
nav_order: 1
permalink: /theming/prepare
description: >-
Create a basic folder structure to build your own theme.
---
# {{ page.title }}
{{ page.description }}
## .theme folder
You only need to create a ".theme" folder in your config folder.
There you will place all the files you need to personalize Mainsail.
You can use Mainsail's built-in file manager `(Settings > Machine)` to create the .theme folder and upload all the files and edit your css-files.
The dot in the folder name means that it is a hidden folder. Therefore you have to activate "show hidden files".
{: .info}
![screenshot](../assets/img/customizing/screenshot-display-hidden-files.png)
## directory structure
We have prepared the following simple overview for you.
Please refer to the separate instructions for details.
All listed files in the .theme folder are optional and will only be loaded if they are provided.
{: .info}
```
+-- ..
|-- klipper_config
| |-- .theme
| | |-- sidebar-logo.svg|jpg|png|gif
| | |-- sidebar-background.jpg|png|gif
| | |-- main-background.jpg|png|gif
| | |-- favicon-16x16.png
| | |-- favicon-32x32.png
| | |-- custom.css
| | |-- ...
```

17
docs/themes/themes-submit.md vendored Normal file
View File

@ -0,0 +1,17 @@
---
layout: default
title: Submit
grand_parent: Theming
parent: Community Themes
nav_exclude: true
nav_order: 150
permalink: /theming/themes/submit
description: >-
Submit a theme!
---
# {{ page.title }}
{{ page.description }}
work in progess
{: .alert}

42
docs/themes/themes.md vendored Normal file
View File

@ -0,0 +1,42 @@
---
layout: default
title: Community Themes
parent: Theming
nav_order: 100
has_children: false
permalink: /theming/themes
description: >-
A collection of community themes for Mainsail.
---
# {{ page.title }}
{: .no_toc}
{{ page.description }}
## Setup Instructions
Go to the repo of the theme and download it. Place the files according to [these instructions](/theming/prepare#directory-structure).
[KIAUH](/setup/kiauh) has an integrated theme installer
Go to `[Advanced] > [Theme installer]`, enter the desired theme <span class="key">id</span> and confirm with return.
{: .info}
<details closed markdown="block">
<summary>
List of themes
</summary>
{: .text-delta }
1. TOC
{:toc}
</details>
{% for theme in site.data.themes %}
---
## {{ theme.name }}
<div>id: <span class="key">{{ forloop.index}}</span></div>
<div>author: <a href="https://github.com/{{ theme.author }}" target="_blank" alt="github.com">{{ theme.author }}</a></div>
<div>url: <a href="https://github.com/{{ theme.author }}/{{ theme.repo }}" target="_blank" alt="github.com">{{ theme.author }}/{{ theme.repo }}</a></div>
<img width="50%" src="https://raw.githubusercontent.com/{{ theme.author }}/{{ theme.repo }}/master/screenshot.png" />
{% endfor %}