Mdbook Plugin

The mdbook is controlled by the mdbook-goals plugin in this repo. This plugin makes various edits to the source:

  • Linking usernames like @foo to their github page and replacing them with their display name.
  • Linking GH references like rust-lang/rust#123.
  • Collating goals, creating tables, etc.

The plugin can also be used from the command line.

Expected book structure

The plugin is designed for the book to have a directory per phase of the goal program, e.g., src/2024h2, src/2025h1, etc. Within this directory there should be:

  • A README.md file that will contain the draft slate RFC.
  • One file per goal. Each goal file must follow the TEMPLATE structure and in particular must have
  • One file per "phase" of the program, e.g., proposed.md etc. (These are not mandatory.)

Plugin replacement text

The plugin will replace the following placeholder texts. Each placeholder is enclosed within an html comment <!-- -->.

Goal count

The placeholder <-- #GOALS --> will be replaced with the total number of goals under consideration (this count excludes goals with the status Not accepted).

Goal listing

The placeholder <-- GOALS '$Status' --> will insert a goal table listing goals of the given status $Status, e.g., <-- GOALS 'Flagship' -->. You can also list multiple status items, e.g., <-- GOALS 'Accepted,Proposed' -->