Skip to content

Remove _output.yml and keep all changes in index.Rmd #999

Open
@liutiming

Description

@liutiming

Suggestion for improvement:

Thanks so much for this fantastic package. As someone who just created his first book from the bookdown-demo template, I think the following feature may reduce the newbie's learning curve:

  1. Remove _output.yml so that the user only has to modify index.Rmd to finish necessary customization. The title of the toc and the edit link can be taken from arguments in the index.Rmd header i.e. (title and github-repo)
    • Reason: Take github-repo for example, if one person has edited that in the index.Rmd header, it will be very stressful to figure out why the edit link still directs them to the bookdown repo. I only figured this out by reading this slide. If the book title is too long for toc title, there can be an argument in index.Rmd heading for toc-title?
  2. render_book() can take in the argument from index.Rmd header and automatically generate all output formats specified and then generate link for download (again remove the need to specify that in _output.yml).
  3. continuing from 2: A more user friendly way may be to present each argument as a TRUE/FALSE option so that the user do not have to dig out what is the command name. (for example, one has to look up the documentation to realise it is not mobi_book to produce mobi and not word_document to produce docx files. Changing it to TRUE/FALSE or even providing a GUI later on will help a lot of users who just want to get the book published.
    • Reason: I understand why it is important to allow room for customization as seen from this pull request but I feel that should be more like exceptions rather than default. i.e. most users will probably want books to be generated once they have specified that they want it in the index.Rmd folder and then the download option will be available. Otherwise, it will take three manual steps (specify in index.Rmd, _output.yml, and then run render_book command for that specific format) to get to the ideal results. Basically, it is like turning on a computer and then one has to turn on the mic and speaker manually. Customization is hugely appreciated but the default option should be the most common use case.
  4. In the same vein, publish_book() should render_book() for all formats by default, and take in the book's name for the name argument.
  5. This might be a big more difficult but if there is a collaborative platform other than GitHub and allows people to edit markdown in its rendered form (e.g. visual editor from mediawiki) it really will help people who co-author books with non-programmers.

Really just my two cents. You have done a fantastic job! Thank you very much!

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationfeaturea feature request or enhancementnextto consider for next release

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions