From 7edee4205377daf050efcf30a9d4dde01c6f6480 Mon Sep 17 00:00:00 2001 From: Gambhiro Date: Thu, 22 Dec 2016 07:22:18 +0000 Subject: [PATCH] docs for refactoring design --- doc/assets/bookdata.graphml | 533 ++++++++++++++++++++++++++++++++++++ doc/assets/bookdata.png | Bin 0 -> 63004 bytes doc/assets/structs.png | Bin 0 -> 58969 bytes doc/assets/structs.pum | 142 ++++++++++ doc/doc.md | 78 ++++++ 5 files changed, 753 insertions(+) create mode 100644 doc/assets/bookdata.graphml create mode 100644 doc/assets/bookdata.png create mode 100644 doc/assets/structs.png create mode 100644 doc/assets/structs.pum create mode 100644 doc/doc.md diff --git a/doc/assets/bookdata.graphml b/doc/assets/bookdata.graphml new file mode 100644 index 00000000..e60ad73c --- /dev/null +++ b/doc/assets/bookdata.graphml @@ -0,0 +1,533 @@ + + + + + + + + + + + + + + + + + + + + + + + Config + + + + + + + + + + + + Book Content + + + + + + + + + + + CLI Args + + + + + + + + + + + + + + + + book.toml + + + + + + + + + + + + + + + + SUMMARY.md + + + + + + + + + + + + + + + + markdown +chapters + + + + + + + + + + + + + + + + template assets + + + + + + + + + + + + + + + + BookConfig + root +src +dest +template +renderer + + + + + + + + + + + + + + + + + + + Book + metadata +chapters + + + + + + + + + + + + + + + + + + + Renderer + render(book, config) + + + + + + + + + + + + + + + + + + + MDBook + books +config + + + + + + + + + + + + + + + + + + + images + + + + + + + + + + + + + + + + BookMetadata + title +author +publisher + + + + + + + + + + + + + + + + + + + Vec<Chapter> + title +file +sub_chapters + + + + + + + + + + + + + + + + + + + YAML headers +(optional) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + behaviour control, +paths, target format + + + + + + + + + + + + + + paths + + + + + + + + + + + + + + metadata + + + + + + + + + + + + + + + + + + + + chapter list + + + + + + + + + + + + + + chapter attributes +chapter content + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + renderer specific +data + + + + + + + + + + + + template path + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/assets/bookdata.png b/doc/assets/bookdata.png new file mode 100644 index 0000000000000000000000000000000000000000..bcab50dc388f8cc39fe90aa74238f8318d5ab5ae GIT binary patch literal 63004 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 literal 0 HcmV?d00001 diff --git a/doc/assets/structs.png b/doc/assets/structs.png new file mode 100644 index 0000000000000000000000000000000000000000..c250d83200de90afd25b0f54f32bb84e2efa021f GIT binary patch literal 58969 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 literal 0 HcmV?d00001 diff --git a/doc/assets/structs.pum b/doc/assets/structs.pum new file mode 100644 index 00000000..3637ee69 --- /dev/null +++ b/doc/assets/structs.pum @@ -0,0 +1,142 @@ +@startuml + +class book::MDBook { + root + dest + src + theme_path + title + author + description + content : Vec + books : HashMap<&'a str, Book> + renderer + livereload +} + +class book::book.Book { + metadata + frontmatter + mainmatter + backmatter + + new(title) +} + +class book::bookconfig.BookConfig { + root + dest + src + theme_path + title + author + description + indent_spaces + multilingual + + new(root) +} + +class book::chapter.Chapter { + title + file + author + description + index + class + sub_chapters + + new(title, file) +} + +namespace book::bookitem { + +enum BookItem { + Chapter "String, Chapter" + Affix "Chapter" + Spacer +} + +class BookItems { + items : &'a [BookItem] + current_index + stack : Vec<"&'a [BookItem], usize"> +} + +class Chapter { + name + path + sub_items + + new(name, path) +} + +} + +namespace book::metadata { + +class BookMetadata { + title + subtitle + description + publisher + language + authors + translators + number_format + section_names + new(title) +} + +class Author { + name + email + new(name) +} + +class Language { + name + code +} + +class Publisher { + name + url + logo_src +} + +enum NumberFormat { + Arabic + Roman + Word +} + +} + +class renderer::html_handlebars::HtmlHandlebars { + new() + render(book: MDBook) +} + +class theme::Theme { + index + css + favicon + js + highlight_css + tomorrow_night_css + highlight_js + jquery + new(src) +} + +book::book-[hidden]->book::bookconfig +book::book-[hidden]->book::chapter +book::book-[hidden]->book::bookitem +book::book-[hidden]->book::metadata + +book::bookitem.BookItems-[hidden]->book::bookitem.BookItem + +renderer::html_handlebars::HtmlHandlebars-[hidden]->theme::Theme + +@enduml diff --git a/doc/doc.md b/doc/doc.md new file mode 100644 index 00000000..27ae47a5 --- /dev/null +++ b/doc/doc.md @@ -0,0 +1,78 @@ +# Doc + +Diagrams are with [yEd](http://www.yworks.com/products/yed) and [plantuml](http://plantuml.com). + +## Data + +![book data](assets/bookdata.png) + +### Renderer + +Takes data from: + +- a book's metadata and chapters (`Book`) +- paths and behaviour config (`BookConfig`) +- template assets (`template_path`) + +For generating pages: + +Book metadata, `BookMetadata` (title, author, publisher, etc.). Just recognize +those properties which can be easily anticipated. + +If Renderer needs more specific data, it can be supplied in `book.toml`. It's +the Renderer's job to open that and parse it out. + +Chapters, `Vec`. + +If the user wants to store attributes that are not anticipated with structs, +they can go in a hashmap with string keys, let them be accessible from the +templates with helpers. + +For generating output: + +- template assets, `template-path`, renderer does whatever it wants with it +- config (root, dest, etc. folders) + +Renderer is seleceted by CLI or default (html). Each book is passed to this +renderer. + +### Config + +Takes data from: + +- CLI args +- book.json + +## Structs + +### Currently + +Already almost good for implementing the above. + +Storing data attributes can be reorganized. + +Modules could be refactored to express intention more clearly. + +![structs](assets/structs.png) + +## Notes + +There could be less modules. Merge modules which express one intention. + +The two Chapter structs could be refactored out. + +Take config paths for as many things as possible. Let the user organize their +project folder differently, or allow `mdbook` to function in existing projects +with already established folders. + +Add config path for `SUMMARY.md`. Default is good to be in `src/`, it allows +chapter links to work when reading the file on Github. + +The init command should copy the assets folder by default, it is better to make +this choice for new users. + +The specific assets (CSS, templates, etc.) are closely coupled with the book +content when the user is writing it. If the templates change when mdbook +develops, this changes the output in a way the user doesn't expect, maybe even +breaking their book. +