Project Structure

In general, codetour attempts to favor convention over configuration. That means that while there is some initial setup, you should be able to use codetour without having to configure it all the time as long as you follow the conventions described throughout this documentation.

The first convention you should get familiar with is the structure of a codetour project:

<path>
├── creating-a-project
│   ├── Cargo.toml
│   ├── creating-a-project.md
│   ├── .gitignore
│   └── src
│       └── main.rs
├── adding-characters
│   ├── Cargo.toml
│   ├── adding-characters.md
│   ├── .gitignore
│   └── src
│       └── main.rs
│       └── character.rs
├── .gitignore
├── intro.md
├── SUMMARY.md
└── tour.toml

Both SUMMARY.md and tour.toml are by default expected to be at the root of your project.

We're only using Rust files for demonstration purposes. The codetour tool is designed to work regardless of the language you're writing your project in.

The SUMMARY.md file represents the Table of Contents for your project and helps codetour determine which files/directories to generate pages for. None of the other files mean anything until they are explicitly listed in SUMMARY.md. That being said, from this structure, you could infer that SUMMARY.md probably lists creating-a-project and adding-characters as pages with Attachments while intro.md is a Content-only Page.

The tour.toml file contains the configuration for your project. More on that in the Manifest Format section.