faviconv-noREADME|ARCHIVES|CATEGORIES|SEARCH|
«Mon Dec 14 2020AkrISrn部署配置b2345ccRaw
多配置
The documentation is a work in progress, and English edition is just an empty shell for now. I will translate it when Chinese edition has done.

多配置是可以自由切换的、会覆盖到主配置的多组备用配置项。

因为只要更换 paths 段指定的 .md 文件就可以索引到不同的内容,你可以用它在同一个地方构建多个独立索引的内容分区。没错,它可以用来做国际化(i18n)。

defaultConflocalStorage 没有相关记录时,默认选择的配置名。如果此项为空,会停用多配置。
multiConf键为配置名、值为主配置子集的对象。只有此项列出的配置组的个数多于一个时,才会启用多配置。
alias它不在默认配置中,只用在 multiConf 为当前配置组指定一个别名。

多配置在启用后,顶栏的最右边会出现一个选择框供切换配置使用。它会将选定的配置名记录到 localStorage 以便之后读取。

v-no 会尝试从 multiConf 中取出指定配置名下的一组配置项,并将它覆盖到外层主配置上。如果没有与 localStorage 记录的配置名对应的配置组,记录会被清除,并尝试用默认配置组继续。

这里是一个多配置写法的示例:

vnoConfig = {
  // 这里为了避免重复,把主配置略去了。
  // 因为下面任意一组配置项都构不成可用的主配置,这里实际是不能省的。
  defaultConf: 'en',
  multiConf: {
    en: {
      alias: 'English',
    },
    zh: {
      alias: '中文 (简体)',
      dateFormat: 'YYYY 年 MM 月 DD 日',
      messages: {
        home: '主页',
      },
    },
    jp: {
      alias: '日本語',
      messages: {
        home: 'ホームページ',
      },
    },
  },};
JavaScript

如果 multiConf 只有一组配置项,虽然不会启用多配置,但你只要在 defaultConf 指定了它,对主配置的覆盖也会进行。所以,你也可以把外层主配置全部移动到 multiConf 中,这样配置文件会更加整洁。只要主配置最后是完整可用的,v-no 就可以正常运作。

自动切换配置

多配置所构建的内容分区之间并不是互相隔离的。v-no 也无法将 .md 文件和某组配置项关联起来,尤其是直接从 URL 访问,而不是经路由跳转的页面。所以,只在配置 A 中被索引的文件也能在启用配置 B 的时候被渲染。

你可能不希望这样的事发生,不过 v-no 确实没有能力从根本上解决这个问题(除非阻止渲染……不过那也太霸道了)。为了稍微缓解它,这里增加了一个自动切换配置的机制。

你可以在 URL 的最后加入类似 ?conf=name 的查询字符串来指定目标配置名,页面会在重载时尝试切换到这组配置项。另外,路由跳转是不会重载页面的,它在这种情况下也不会生效,你需要刷新一下才行。

This page is open source, improve it
Graph