MarlinFirmware/MarlinDocumentation is an open-source project on GitHub with 397 stars, written primarily in JavaScript. Marlin Firmware Documentation Project
Snapshot summary built from the project's own GitHub metadata — there's no written TopGit review yet. The page will update automatically when a full review is published.
WHY NO REVIEW YET
TopGit writes full reviews for the most-starred, most-requested repositories. This page is a snapshot until then — see the READ ME tab for the original README in full.
This repository contains the raw documentation for Marlin 3D printer firmware which is automatically deployed to marlinfw.org. This documentation is open and available on GitHub so anyone may contribute by completing, correcting, or creating articles.
Table of Contents
Technical details
How to contribute
Coding style
Editorial style
Work in progress
Local Jekyll preview
Installing Ruby on Windows
Installing Ruby on macOS
Installing Ruby on Ubuntu
Set up Marlin Documentation project
Jekyll basics
Previewing content
License
Technical details
The Marlin Documentation Project is built using the following technologies:
Ruby
RubyGems
Jekyll
GitHub Pages
How to contribute
To work with the documentation, first fork this repository to your GitHub account, then clone your MarlinDocumentation fork locally. You should do all work within your own fork before submitting it as a Pull Request to the master branch. You can download the GitHub Desktop app and use GitHub's "Open in Desktop" option, or from your own desktop, open a terminal/cmd window and do:
This will create a local C:\MarlinDocumentation folder linked to your fork.
To add new documentation or edit existing documentation, start by creating a new branch as a copy of the master branch. You can do this using the GitHub web interface, from within GitHub Desktop, or from the command line.
If your new document is about "mashed potatoes" then name the new branch accordingly:
git checkout master -b doc-mashed_potatoes
Inside the _docs folder, add the new file mashed-potatoes.md and let flow all your creativity into it. When you feel your masterpiece is ready to be shared with the world, commit the changes and push them up to your Marlin Documentation fork. This is done most easily from within the GitHub Desktop app, but here are the command line commands for reference:
git add mashed-potatoes.md
git commit -m "Added a new document about potatoes"
git push
Next, start a new Pull Request to the upstream repository (MarlinFirmware/MarlinDocumentation).
[!TIP]
Check out GitHub's documentation on creating a new branch, managing branches, and creating Pull Requests if you're new to contributing with git.
Coding style
This Jekyll-based site is based on the Markdown language in delicious YAML wrapper. Be careful with this format because even small typos can cause Jekyll to reject the page. If you've installed Jekyll as described below, you can use it to build and preview the documentation and this will tell you where your errors are.
Editorial style
Try to be neutral, concise, and straightforward. Avoid use of personal pronouns, unless avoiding them proves awkward. Provide images and give examples where needed. Check your spelling, grammar, and punctuation.
Work in progress
You can use the _tmp folder for work-in-progress, and they will not be included in the site deployment.
Local Jekyll preview
If you'd like to be able to preview your contributions before submitting them, you'll need to install Jekyll on your system. Instructions for Windows and macOS are given below:
Installing Ruby on Windows
Download and install a Ruby+Devkit 3.3.4 from RubyInstaller Download Archives. Use default options for installation.
Run the ridk install step on the last stage of the installation wizard. Choose option 3 for MSYS2 and MINGW development tool chain. This is needed for installing gems with native extensions. You can find additional information regarding this in the RubyInstaller Documentation.
[!TIP]
Once the MSYS2 and MINGW development toolchain install is complete, the installation wizard will reprompt which components should be installed. If you see a "Install MSYS2 and MINGW development toolchain succeeded" message above it, you can close the Command Prompt window and continue below.
Open a new Command Prompt so that changes to the PATH environment variable become effective, then check that everything is working:
ruby -v
If ruby 3.3.4 (2024-07-09 revision be1089c8ec) is reported, then proceed to Set up the Marlin Documentation project.
Installing Ruby on macOS
[!NOTE]
Ruby may come preinstalled, but macOS' "system Ruby" is outdated, unmaintained, and not recommended for general use.
There are many popular package managers for macOS, but we'll cover installation with Homebrew & MacPorts.
Install a package manager. You do not need to install both:
Install Homebrew by launching Terminal and running the following command:
Install MacPorts by downloading & installing the correct package for your version of macOS from the Installing MacPorts page.
Either Xcode or Command Line Tools for Xcode are required to install packages with MacPorts. You do not need to install both. These are available for free on Apple's Developer Program website. An Apple Developer Program membership is not required, but you will need to sign in with your Apple ID.
Install chruby and ruby-install:
Homebrew:
brew install chruby ruby-install
MacPorts:
sudo port install chruby ruby-install
Install Ruby 3.3.4:
ruby-install ruby 3.3.4
The configure, build, and install process will take a few minutes.
Quit and relaunch Terminal, then check that everything is working:
ruby -v
It should report ruby 3.3.4 (2024-07-09 revision be1089c8ec). If not, repeat the above steps.
[!NOTE]
When using ruby-install you'll find your Ruby installations in ~/.rubies/ and you can switch between them with chruby. New instances of zsh in Terminal will default to 3.3.4 due to the changes made to ~/.zshrc.
Proceed to Set up the Marlin Documentation project. (Note that bundler is already included.)
Once Ruby is installed, set up the Marlin Documentation project with Bundler. Open Command Prompt or Terminal and cd to the working path of your Marlin Documentation fork. Execute the following commands:
rm -f Gemfile.lock
bundle config set path 'vendor/bundle'
bundle install
[!NOTE]
You only need to execute the above commands once to complete the install. If you see errors at this stage you may need to update your Ruby installation, fix your Ruby environment, or resolve dependencies between the Ruby gems.
Jekyll basics
Jekyll uses a combination of YAML, Markdown, Liquid, and HTML to define the site content and layout. A _config.yml file defines a site structure with "collections" corresponding to sub-folders. The website is "compiled" to produce static HTML and Javascript. The most important folders in the site are:
_layouts contains the general layouts (aka page templates).
_includes has partial layouts included by others.
_meta is where we keep top-level page descriptions.
To start a mini web server and preview your changes, run the following command:
bundle exec jekyll serve --watch --incremental
With the serve --watch --incremental parameters, Jekyll watches local files for changes and triggers an automatic incremental build of the site on every save. It also starts a mini-web server so documentation can be previewed in a browser at http://localhost:4000/.
[!TIP]
The main Marlin repository comes with the mfdoc script containing the commands above as a shortcut to preview the documentation.
License
This documentation is licensed under the GPLv3 license.
How many stars does MarlinFirmware/MarlinDocumentation have?
MarlinFirmware/MarlinDocumentation has 397 GitHub stars — refresh the page for the live number, or check github.com/MarlinFirmware/MarlinDocumentation. TopGit mirrors GitHub's count but does not claim minute-by-minute accuracy.
Is MarlinFirmware/MarlinDocumentation open source?
Yes — MarlinFirmware/MarlinDocumentation ships under the GPL-3.0 license, which makes its source code freely readable (and, depending on license terms, forkable and reusable). Source: github.com/MarlinFirmware/MarlinDocumentation.
What is MarlinFirmware/MarlinDocumentation?
MarlinFirmware/MarlinDocumentation (MarlinFirmware/MarlinDocumentation) is a JavaScript project on GitHub. From the project's own README: Marlin Firmware Documentation Project
Where can I see MarlinFirmware/MarlinDocumentation in action?
The project maintains a homepage at https://marlinfw.org/. The README tab on this page also usually contains screenshots and a quickstart.
Where do I read more about MarlinFirmware/MarlinDocumentation?
This TopGit page is a snapshot — the READ ME tab shows the project's own README content (links stripped, images preserved). The GitHub repository at github.com/MarlinFirmware/MarlinDocumentation is the definitive source.
Read full README in the tab above.
Is MarlinDocumentation worth your time?
ChatGPT, Claude and Perplexity can all read this page. Ask one of them what it makes of MarlinDocumentation.