Bookdown:密码保护HTML中的*单个*页面/章节

问题描述 投票:0回答:1

我正在使用课堂手册为我的班级制作教程工作簿。我有一堂课(超过500人),所以还有其他一些人在帮助我完成课程。

所以我想为这些教程问题提供答案。

我可以制作一个全新的文档...但是(自动)交叉引用练习编号会很棘手。

因此,我想知道:有没有一种方法可以对书本中的单个页面或单个章节进行密码保护? (在这里考虑HTML;在PDF中,我不能包含该页面/章节。)

这可能吗?如果可以,怎么办?如果没有,还有其他想法...?

P。

r-markdown password-protection bookdown
1个回答
0
投票

此解决方案不使用密码,但是由于您说对于PDF,您可以简单地分发不包含所涉及材料的版本,也许以下简单方法可能会有所帮助

this的启发,关于如何有条件地输入材料以及使用parameters in Rmarkdown的选项,请考虑两个Rmarkdown文件:

  • main.Rmd,其中包含您要向所有人显示的内容。
  • 受保护的.md,只应向某些人显示。

这些文件如下所示:

main.Rmd

---
output: html_document
params:
  include:
    label: "Include extra material?"
    value: ""
    input: select
    choices: [True, False]
---

```{r, include=FALSE}
print(params)
show_all <- as.logical(params$include)
```

```{r conditional_print, child="protected.Rmd", eval = show_all}
```

protected.Rmd

Hello World!

假设您在RStudio中,如果在main.Rmd上选择“带参数的编织”,将要求您从交互式下拉列表中选择TRUE或FALSE。当且仅当您选择TRUE时,输出才会包括“ Hello World”。更一般而言,仅当选择包括其他材料时,才会显示带有eval = show_all的代码块。因此,您当然可以有多个部分(每个部分都包含在一个单独的.Rmd文件中),只有有条件地包含这些部分。

这样,您可以编织同一文档两次:一次仅包含问题,一次包含所有问题和答案。由于pdf和html都相同,因此这两种输出类型的工作流程也一致。

© www.soinside.com 2019 - 2024. All rights reserved.