itzg / docker-minecraft-server

Docker image that provides a Minecraft Server that will automatically download selected version at startup
https://docker-minecraft-server.readthedocs.io/
Apache License 2.0
9.09k stars 1.51k forks source link

Add a table of contents to README.md #845

Closed Jafner closed 3 years ago

Jafner commented 3 years ago

Seems like a simple and quick-to-implement QoL improvement for the documentation.

itzg commented 3 years ago

I agree, a table of contents would be nice. Can you suggest a quick and simple way to implement that?

Jafner commented 3 years ago

This user created a simple CLI program which inputs a markdown file (or stdin) and prints a github markdown table of contents.

https://github.com/ekalinin/github-markdown-toc

I ran it for the e0c7215 version of README.md. It generated:

jafner@computer:~$ ./gh-md-toc ./README.md

Table of Contents
=================

   * [Looking for a Bedrock Dedicated Server](#looking-for-a-bedrock-dedicated-server)
   * [Interacting with the server](#interacting-with-the-server)
   * [Data Directory](#data-directory)
      * [Attaching data directory to host filesystem](#attaching-data-directory-to-host-filesystem)
      * [Converting anonymous /data volume to named volume](#converting-anonymous-data-volume-to-named-volume)
   * [Versions](#versions)
   * [Running Minecraft server on different Java version](#running-minecraft-server-on-different-java-version)
      * [Deprecated Image Tags](#deprecated-image-tags)
   * [Healthcheck](#healthcheck)
   * [Deployment Templates and Examples](#deployment-templates-and-examples)
      * [Helm Charts](#helm-charts)
      * [Examples](#examples)
      * [Amazon Web Services (AWS) Deployment](#amazon-web-services-aws-deployment)
   * [Running a Forge Server](#running-a-forge-server)
      * [Managing mods](#managing-mods)
   * [Running a Bukkit/Spigot server](#running-a-bukkitspigot-server)
   * [Running a Paper server](#running-a-paper-server)
   * [Running a Tuinity server](#running-a-tuinity-server)
   * [Running an Airplane server](#running-an-airplane-server)
   * [Running a Purpur server](#running-a-purpur-server)
   * [Running a Yatopia server](#running-a-yatopia-server)
   * [Running a Magma server](#running-a-magma-server)
   * [Running a Mohist server](#running-a-mohist-server)
   * [Running a Catserver type server](#running-a-catserver-type-server)
   * [Running a server with a Feed the Beast modpack](#running-a-server-with-a-feed-the-beast-modpack)
      * [Environment Variables:](#environment-variables)
      * [Upgrading](#upgrading)
      * [Example](#example)
   * [Running a server with a CurseForge modpack](#running-a-server-with-a-curseforge-modpack)
         * [Modpack data directory](#modpack-data-directory)
         * [Buggy start scripts](#buggy-start-scripts)
      * [Fixing "unable to launch forgemodloader"](#fixing-unable-to-launch-forgemodloader)
   * [Running a SpongeVanilla server](#running-a-spongevanilla-server)
   * [Running a Fabric Server](#running-a-fabric-server)
      * [Using the /data volume](#using-the-data-volume)
   * [Optional plugins, mods, and config attach points](#optional-plugins-mods-and-config-attach-points)
   * [Auto-downloading SpigotMC/Bukkit/PaperMC plugins](#auto-downloading-spigotmcbukkitpapermc-plugins)
   * [Replacing variables inside configs](#replacing-variables-inside-configs)
   * [Running with a custom server JAR](#running-with-a-custom-server-jar)
   * [Force re-download of the server file](#force-re-download-of-the-server-file)
   * [Using Docker Compose](#using-docker-compose)
   * [Server configuration](#server-configuration)
      * [Server name](#server-name)
      * [Server port](#server-port)
      * [Difficulty](#difficulty)
      * [Whitelist Players](#whitelist-players)
      * [Op/Administrator Players](#opadministrator-players)
      * [Server icon](#server-icon)
      * [Rcon](#rcon)
      * [Query](#query)
      * [Max players](#max-players)
      * [Max world size](#max-world-size)
      * [Allow Nether](#allow-nether)
      * [Announce Player Achievements](#announce-player-achievements)
      * [Enable Command Block](#enable-command-block)
      * [Force Gamemode](#force-gamemode)
      * [Generate Structures](#generate-structures)
      * [Hardcore](#hardcore)
      * [Snooper](#snooper)
      * [Max Build Height](#max-build-height)
      * [Max Tick Time](#max-tick-time)
      * [Spawn Animals](#spawn-animals)
      * [Spawn Monsters](#spawn-monsters)
      * [Spawn NPCs](#spawn-npcs)
      * [Set spawn protection](#set-spawn-protection)
      * [View Distance](#view-distance)
      * [Level Seed](#level-seed)
      * [Game Mode](#game-mode)
      * [Message of the Day](#message-of-the-day)
      * [PVP Mode](#pvp-mode)
      * [Level Type and Generator Settings](#level-type-and-generator-settings)
      * [Custom Server Resource Pack](#custom-server-resource-pack)
      * [World Save Name](#world-save-name)
      * [Downloadable world](#downloadable-world)
      * [Cloning world from a container path](#cloning-world-from-a-container-path)
      * [Overwrite world on start](#overwrite-world-on-start)
      * [Downloadable mod/plugin pack for Forge, Bukkit, and Spigot Servers](#downloadable-modplugin-pack-for-forge-bukkit-and-spigot-servers)
      * [Remove old mods/plugins](#remove-old-modsplugins)
      * [Online mode](#online-mode)
      * [Allow flight](#allow-flight)
      * [Other server property mappings](#other-server-property-mappings)
   * [Miscellaneous Options](#miscellaneous-options)
      * [Running as alternate user/group ID](#running-as-alternate-usergroup-id)
      * [Memory Limit](#memory-limit)
      * [JVM Options](#jvm-options)
      * [Interactive and Color Console](#interactive-and-color-console)
      * [OpenJ9 Specific Options](#openj9-specific-options)
      * [Enabling rolling logs](#enabling-rolling-logs)
   * [Timezone Configuration](#timezone-configuration)
      * [Enable Remote JMX for Profiling](#enable-remote-jmx-for-profiling)
      * [Enable Aikar's Flags](#enable-aikars-flags)
      * [HTTP Proxy](#http-proxy)
      * [Using "noconsole" option](#using-noconsole-option)
      * [Explicitly disable GUI](#explicitly-disable-gui)
      * [Stop Duration](#stop-duration)
   * [Autopause](#autopause)
      * [Description](#description)
      * [Enabling Autopause](#enabling-autopause)
   * [Running on RaspberryPi](#running-on-raspberrypi)
itzg commented 3 years ago

Thanks! This feature looks especially useful for ongoing maintenance:

https://github.com/ekalinin/github-markdown-toc#auto-insert-and-update-toc

itzg commented 3 years ago

The github action ended making this very easy. Thanks again for pointing out that tool. Table of contents is now included.

itzg commented 3 years ago

This feature probably has been there a while, but just wanted to share that I discovered github has a drop down for the README sections on both the web and app interface, such as

image

Jafner commented 3 years ago

Interesting, I didn't know that either! Regardless, the new ToC looks great, so I'm gonna close this issue.