Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / chrome / common / extensions / docs / templates / json / content_providers.json
blob2b700ce79c85eaa65e56d3100b94901a6c41609c
1 // === Overview ===
2 //
3 // This file configures where to find and how to serve content in the docserver.
4 // It's the most fundamentally important file in all of the docserver.
5 //
6 // === Format ===
7 //
8 // Each entry declares a rule with:
9 //  * An arbitrary identifier key e.g. "cr-extensions-examples".
10 //  * What URL the rule should be invoked with, given by "serveFrom", e.g.
11 //    "extensions/examples".
12 //  * An object describing where the content originates, either "chromium",
13 //    "github", or "gcs".
14 //  * "chromium" must provide a "dir" value specifying which chromium directory
15 //     to look in, e.g. "extensions/samples".
16 //  * "github" must provide "owner" and "repo" values specifying the owner of
17 //    the GitHub repository, and the repository name, e.g. "GoogleChrome" and
18 //    "chrome-app-samples" respectively.
20 // In the chromium example, when the user navigates to
22 //    developer.chrome.com/extensions/examples/some/sample/path
24 // then
25 //  1. The "cr-extensions-examples" rule is invoked (since it's served from
26 //     "extensions/examples").
27 //  2. The docserver will look up the path "docs/examples/some/sample/path"
28 //     in chromium - the URL after the "serveFrom" path (some/sample/path)
29 //     prefixed by the chromium directory (docs/examples).
30 //  3. Then render and serve it.
32 // === Special properties ===
34 // There are some other properties that can be specified:
35 //  * "supportsZip" indicates whether directories are allowed to be served as
36 //    zip files. For safety this isn't supported for arbitrary URLs, only those
37 //    within a rule that has "supportsZip": true.
38 //  * "supportsTemplates" indicates whether HTML files should be treated and
39 //    renderered as templates, versus just plain text. Complex documentation
40 //    which interacts with docserver features (like API listing) need to set
41 //    this to true. Otherwise, it's safer and more efficient to omit it.
44   "cr-chrome-docs-home": {
45     "chromium": {
46       "dir": "chrome/docs"
47     },
48     "defaultExtensions": [".html", ".md"],
49     "serveFrom": "home",
50     "supportsTemplates": true
51   },
52   "cr-extensions-examples": {
53     "chromium": {
54       "dir": "chrome/common/extensions/docs/examples"
55     },
56     "serveFrom": "extensions/examples",
57     "supportsZip": true
58   },
59   "cr-public": {
60     "chromium": {
61       "dir": "chrome/common/extensions/docs/templates/public"
62     },
63     "defaultExtensions": [".html", ".md"],
64     "serveFrom": "",
65     "supportsTemplates": true
66   },
67   "cr-static": {
68     "chromium": {
69       "dir": "chrome/common/extensions/docs/static"
70     },
71     "serveFrom": "static"
72   },
73   "cr-native-client": {
74     "chromium": {
75       "dir": "native_client_sdk/doc_generated"
76     },
77     "defaultExtensions": [".html", ".md"],
78     "serveFrom": "native-client",
79     "supportsTemplates": true
80   },
81   "devtools-docs": {
82     "defaultExtensions": [".html", ".md"],
83     "gcs": {
84       "bucket": "gs://chromedocs-devtools"
85     },
86     "serveFrom": "devtools",
87     "supportsTemplates": true
88   },
89   "multidevice-docs": {
90     "defaultExtensions": [".html", ".md"],
91     "gcs": {
92       "bucket": "gs://chromedocs-multidevice"
93     },
94     "serveFrom": "multidevice",
95     "supportsTemplates": true
96   },
97   "webstore-docs": {
98     "defaultExtensions": [".html", ".md"],
99     "gcs": {
100       "bucket": "gs://chromedocs-webstore"
101     },
102     "serveFrom": "webstore",
103     "supportsTemplates": true
104   }