few changes to the docs
33
README.md
@ -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
|
||||

|
||||
|
||||
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
@ -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
@ -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
@ -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
|
@ -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
@ -0,0 +1,2 @@
|
||||
name,author,repo
|
||||
Dracula,steadyjaw,dracula-mainsail-theme
|
|
@ -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;
|
||||
}
|
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 43 KiB After Width: | Height: | Size: 19 KiB |
BIN
docs/assets/img/customizing/sidebar-main.jpg
Normal file
After Width: | Height: | Size: 65 KiB |
BIN
docs/assets/img/setup/kiauh.png
Normal file
After Width: | Height: | Size: 12 KiB |
@ -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).
|
||||
|
||||

|
@ -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)
|
@ -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.
|
||||
|
||||

|
@ -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.
|
||||
|
||||

|
||||
|
||||
### 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.
|
||||
|
||||

|
BIN
docs/favicon.ico
Normal file
After Width: | Height: | Size: 93 KiB |
@ -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
|
||||

|
||||
|
||||
## 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
|
||||

|
||||
However, we would also like to ask you to support the regular contributors.
|
||||
{: .info}
|
@ -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]
|
||||
|
@ -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 }}
|
||||
|
@ -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]
|
||||
|
@ -2,6 +2,7 @@
|
||||
layout: default
|
||||
title: Remote Mode
|
||||
nav_order: 4
|
||||
nav_exclude: true
|
||||
has_children: false
|
||||
permalink: /remotemode
|
||||
description: >-
|
||||
|
@ -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}
|
||||
|
||||
|
@ -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).
|
||||

|
||||
|
||||
For more information and get to the guide click [here](https://github.com/th33xitus/kiauh).
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
layout: default
|
||||
title: MainsailOS Guide
|
||||
title: MainsailOS
|
||||
parent: Setup Guides
|
||||
nav_order: 1
|
||||
has_children: false
|
||||
|
@ -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.
|
||||
|
@ -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.
|
||||
|
||||
|
@ -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:
|
||||
|
||||
|
@ -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`.
|
||||
|
||||
|
@ -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
@ -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.
|
||||
|
||||
{:width="50%"}
|
||||
|
||||
For uploads you can use the built-in file manager. `(Settings > Machine)`
|
||||
|
||||
<!--  -->
|
||||
|
||||
## 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}
|
@ -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.
|
||||

|
||||
|
||||
|
||||
### 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
@ -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 |
|
||||
|
||||

|
||||
|
||||
## 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}
|
||||
|
||||

|
||||
|
||||
|
14
docs/themes/index.md
vendored
Normal 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
@ -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}
|
||||
|
||||

|
||||
|
||||
## 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
@ -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
@ -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 %}
|
||||
|
||||
|