#import #mdbook #embed #code #include #text-file

bin+lib mdbook-superimport

Import code/text from other files into your mdbook - without the link rot

2 releases

0.1.1 Mar 27, 2019
0.1.0 Mar 27, 2019

#27 in #include

MIT/Apache

21KB
323 lines

mdbook-superimport

Build status

Import code/text from other files into your mdbook - without the link rot.

Background / Initial Motivation

mdbook-superimport started as an issue in mdbook #879.

At this time the default #include preprocessor in mdbook only supports importing smaller sections of a file by specifying line numbers - so if you're including pieces of files that are actively maintained/changed you end up forgetting to update the line numbers of your imports as your files change.

mdbook-superimport allows you to import pieces of files based on text in the file - so that are you modify the file you continue to import the code that you expected to.

Quickstart

cargo install mdbook-superimport
# In your book.toml
[preprocessor.superimport]
<!-- In your markdown files -->

{{#superimport ../path/to/file.foo@some-tag-name-here}}
// Some file named "file.foo"
fn main () {
  let not_imported = "This will NOT be imported!";

  // @superimport start some-tag-name-here

  // ...
  let imported = "This will be imported!"
  let also_imported = "Everyting between start/end gets imported."
  // ...

  // @superimport end some-tag-name-here
}

Full Guide

The mdbook-superimport guide

API Documentation

API

To Test

./test.sh

See Also

License

Apache 2.0 / MIT

Dependencies

~14–26MB
~397K SLoC