Open
Description
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:
- 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
?
- 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
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).- 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 notword_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.
- In the same vein,
publish_book()
shouldrender_book()
for all formats by default, and take in the book's name for the name argument. - 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!