使用 JavaScript 改进您的文档 我们最喜欢的开源资源

开源软件项目通常有非常多样化的用户群。 一些用户可能非常擅长使用该系统并且需要很少的文档。 对于这些高级用户,文档可能只需要是提醒和提示,并且可以包含更多技术信息,例如在 shell 中运行的命令。 但其他用户可能是初学者。 这些用户在设置系统和学习如何使用它方面需要更多帮助。

编写适合两个用户组的文档可能会让人望而生畏。 该网站的文档需要以某种方式平衡“详细的技术信息”与“提供更多的概述和指导”。 这是一个很难找到的平衡点。 如果您的文档不能同时满足这两个用户组,请考虑第三种选择——动态文档。

探索如何向网页添加一点 JavaScript,以便用户可以选择只显示他们想要查看的信息。

构建您的内容

您可以使用文档需要同时适合专家和新手用户的示例。 在最简单的情况下,您可以使用名为 AwesomeProject 的自制音乐播放器。

您可以使用 HTML 中的类功能编写一个简短的安装文档,为专家和新手提供说明。 例如,您可以使用以下方式定义专供专家使用的段落:

<p class="expert reader"> 

这分配了专家类和读者类。 您可以使用以下方法为新手创建一组平行的说明:

<p class="novice reader"> 

完整的 HTML 文件包括供新手读者和专家阅读的两个段落:

<!DOCTYPE html>

<html lang="en">

<head>

<title>How to install the software</title>
</head>

<body>

<h1>How to install the software</h1>

<p>Thanks for installing AwesomeProject! With AwesomeProject,
you can manage your music collection like a wizard.</p>

<p>But first, we need to install it:</p>

<p class="expert reader">You can install AwesomeProject from
source. Download the tar file, extract it, then run:
<code>./configure ; make ; make install</code></p>

<p class="novice reader">AwesomeProject is available in
most Linux distributions. Check your graphical package manager and search for AwesomeProject to install it.</p>

</body>

</html>

这个示例 HTML 文档没有关联的样式表,因此在 Web 浏览器中查看它会显示两个段落:

图片来源:

(吉姆·霍尔,CC BY-SA 4.0)

我们可以对文档应用一些基本样式,以突出显示任何元素,无论是读者、专家还是新手。 为了使不同的文本类别更容易区分,让我们将读者类别设置为米白色背景色,专家级设置为深红色文本颜色,新手设置为深蓝色文本颜色:

<!DOCTYPE html>

<html lang="en">

<head>

<title>How to install the software</title>

<style>

.reader {
background-color: ghostwhite;
}

.expert {
color: darkred;
}

.novice {
color: darkblue;
}

</style>

</head>

<body>

<h1>How to install the software</h1>

当您在 Web 浏览器中查看页面时,这些样式有助于突出这两个部分。 安装说明的两个段落都有灰白色背景颜色,因为它们都有阅读器类。 第一段使用深红色文本,由专家级定义。 第二个安装段为深蓝色文字,来自新手班:

图片来源:

(吉姆·霍尔,CC BY-SA 4.0)

我们最喜欢的关于开源 Git 备忘单的资源 高级 Linux 命令备忘单 开源替代品 免费在线课程:RHEL 技术概述 查看更多备忘单

添加 JavaScript 控件

应用这些类后,您可以添加一个简短的 JavaScript 函数,该函数仅显示一个内容块。 编写此函数的一种方法是首先设置 display:none 到具有阅读器类的所有元素。 这会隐藏内容,因此不会显示在页面上。 然后函数应该设置 display:block 到您要显示的类的每个元素:

<script>
function readerview(audience) {
  var list, item;
  // hide all class="reader"
  list = document.getElementsByClassName("reader");
  for (item = 0; item < list.length; item++) {
    list[item].style.display = "none";
  }
  // show all class=audience
  list = document.getElementsByClassName(audience);
  for (item = 0; item < list.length; item++) {
    list[item].style.display = "block";
  }
}
</script>

要在 HTML 文档中使用此 JavaScript,您可以将函数附加到按钮。 自从 readerview 函数将受众作为其参数,您可以使用要查看的受众类来调用该函数,无论是新手还是专家:

<!DOCTYPE html>

<html lang="en">

<head>

<title>How to install the software</title>

<style>

.reader {
background-color: ghostwhite;
}

.expert {
color: darkred;
}

.novice {
color: darkblue;
}

</style>

</head>

<body>

<script>

function readerview(audience) {
  var list, item;

  // hide all class="reader"

  list = document.getElementsByClassName("reader");

  for (item = 0; item < list.length; item++) {

    list[item].style.display = "none";
  }

  // show all class=audience

  list = document.getElementsByClassName(audience);

  for (item = 0; item < list.length; item++) {

    list[item].style.display = "block";
  }

}

</script>

<h1>How to install the software</h1>

<nav>

<button onclick="readerview('novice')">view novice text</button>

<button onclick="readerview('expert')">view expert text</button>

</nav>

<p>Thanks for installing AwesomeProject! With AwesomeProject,
you can manage your music collection like a wizard.</p>

<p>But first, we need to install it:</p>
<p class="expert reader">You can install AwesomeProject from
source. Download the tar file, extract it, then run
<code>./configure ; make ; make install</code></p>

<p class="novice reader">AwesomeProject is available in
most Linux distributions. Check your graphical package
manager and search for AwesomeProject to install it.</p>

</body>

</html>

有了这些控件,网页现在允许用户选择他们想要查看的文本:

图片来源:

(吉姆·霍尔,CC BY-SA 4.0)

单击任一按钮将仅显示用户想要阅读的文本。 例如,如果您单击“查看新手文本”按钮,那么您只会看到蓝色段落:

图片来源:

(吉姆·霍尔,CC BY-SA 4.0)

单击“查看专家文本”按钮隐藏新手文本并仅以红色显示专家文本:

图片来源:

(吉姆·霍尔,CC BY-SA 4.0)

将此扩展到您的文档

如果您的项目需要您为不同的受众编写多个操作文档,请考虑使用此方法发布一次并阅读两次。 为所有用户编写一个文档,让每个人都可以轻松找到和共享您项目的文档。 而且您不必维护仅在细节上有所不同的并行文档。

阅读更多

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注