缺省情况下, 站点项目中的目录static/被用来存放所有 static files 静态文件 (即样式表、JavaScript脚本、图像等)。静态文件从站点根目录上提供(比如, 静态文件 static/image.png, 可以通过http://{server-url}/image.png访问, 在文档中可以使用 ![Example image](/image.png)来包含).

可以配置Hugo查询不同目录,设置多个目录来存放静态文件,这通过在site config站点配置中 配置staticDir参数来实现。在所有静态目录的所有文件会组成一个联合的文件系统.

这个联合文件系统从网站根提供服务,这样<SITE PROJECT>/static/me.png可以通过<MY_BASEURL>/me.png访问.

下面例子为一个多语言站点设置了两个静态目录 staticDirstaticDir2 :

config.
     
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
languages:
  en:
    baseURL: https://example.com
    languageName: English
    staticDir2: static_en
    title: In English
    weight: 2
  "no":
    baseURL: https://example.no
    languageName: Norsk
    staticDir:
    - staticDir_override
    - static_no
    title: På norsk
    weight: 1
staticDir:
- static1
- static2
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
staticDir = ['static1', 'static2']

[languages]
  [languages.en]
    baseURL = 'https://example.com'
    languageName = 'English'
    staticDir2 = 'static_en'
    title = 'In English'
    weight = 2

  [languages.no]
    baseURL = 'https://example.no'
    languageName = 'Norsk'
    staticDir = ['staticDir_override', 'static_no']
    title = 'På norsk'
    weight = 1
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
{
   "languages": {
      "en": {
         "baseURL": "https://example.com",
         "languageName": "English",
         "staticDir2": "static_en",
         "title": "In English",
         "weight": 2
      },
      "no": {
         "baseURL": "https://example.no",
         "languageName": "Norsk",
         "staticDir": [
            "staticDir_override",
            "static_no"
         ],
         "title": "På norsk",
         "weight": 1
      }
   },
   "staticDir": [
      "static1",
      "static2"
   ]
}

上面例子中, 并没有使用主题:

  • 英语站点会从"static1",“static2” 和 “static_en” 这三个目录中获得静态文件. 如果文件重复,最右边的目录是会采用
  • 挪威站点会从"staticDir_override" and “static_no"的混合目录中静态文件
注意 1
添加的这个 staticDir2 中的 2 (可以是从数字0到10) 告诉Hugo您想 添加 这个目录 到使用staticDir设定的全局静态资源目录集合中。使用staticDir在语言层次会替换全局值(如下面挪威站点中一样)
注意 2
上面的例子是多语言站点设置multihost setup. 在通常的设置中, 所有的静态目录可以被所有站点访问.