Home | History | Annotate | Download | only in json
      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.
     19 //
     20 // In the chromium example, when the user navigates to
     21 //
     22 //    developer.chrome.com/extensions/examples/some/sample/path
     23 //
     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.
     31 //
     32 // === Special properties ===
     33 //
     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.
     42 
     43 {
     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   }
    105 }
    106