Skip to content

documentation: find a way to organize/group/classify documentation better #3855

@jknack

Description

@jknack

make the TOC better on https://jooby.io

Current:

Image

Suggested:

Image
[
  {
    "title": "Getting Started",
    "url": "#getting-started-group",
    "children": [
      {
        "title": "Introduction",
        "url": "#introduction",
        "children": [
          { "title": "Features", "url": "#introduction-features", "children": [] },
          { "title": "Script API", "url": "#introduction-script-api", "children": [] },
          { "title": "MVC API", "url": "#introduction-mvc-api", "children": [] }
        ]
      },
      {
        "title": "Getting Started",
        "url": "#getting-started",
        "children": [
          { "title": "Code Snippets", "url": "#getting-started-code-snippets", "children": [] }
        ]
      }
    ]
  },
  {
    "title": "Core",
    "url": "#core-group",
    "children": [
      {
        "title": "Router",
        "url": "#router",
        "children": [
          {
            "title": "Defining Routes",
            "url": "#router-defining",
            "children": [
              { "title": "Route & Attributes", "url": "#router-route", "children": [] },
              { "title": "Path Pattern", "url": "#router-path-pattern", "children": [] },
              { "title": "Grouping Routes", "url": "#router-grouping-routes", "children": [] }
            ]
          },
          {
            "title": "Pipeline & Handlers",
            "url": "#router-pipeline",
            "children": [
              { "title": "Handler (Before, After, Complete)", "url": "#router-handler", "children": [] },
              { "title": "Pipeline (Order, Scoped)", "url": "#router-pipeline", "children": [] }
            ]
          },
          {
            "title": "Advanced Routing",
            "url": "#router-advanced",
            "children": [
              { "title": "Composing (Mount, Install)", "url": "#router-composing", "children": [] },
              { "title": "Dynamic Routing", "url": "#router-dynamic-routing", "children": [] },
              { "title": "Multiple Routers", "url": "#router-multiple-routers", "children": [] }
            ]
          },
          { "title": "Options", "url": "#router-options", "children": [] }
        ]
      },
      {
        "title": "Context (Request)",
        "url": "#context",
        "children": [
          { "title": "Parameters (Header, Cookie, Path, Query)", "url": "#context-parameters", "children": [] },
          { "title": "Value API", "url": "#context-value-api", "children": [] },
          { "title": "Request Body (Message Decoder)", "url": "#context-request-body", "children": [] }
        ]
      },
      {
        "title": "Responses",
        "url": "#responses",
        "children": [
          { "title": "Send Methods & Status Codes", "url": "#responses-send-methods", "children": [] },
          { "title": "Response Body (Message Encoder)", "url": "#context-response-body", "children": [] },
          { "title": "Raw & Streaming", "url": "#responses-streaming-chunked", "children": [] },
          { "title": "File Download", "url": "#responses-file-download", "children": [] },
          { "title": "NonBlocking (Mutiny, RxJava, Reactor)", "url": "#responses-nonblocking", "children": [] }
        ]
      },
      {
        "title": "Built-in Handlers",
        "url": "#handlers",
        "children": [
          {
            "title": "Security",
            "url": "#handlers-security",
            "children": [
              { "title": "CorsHandler", "url": "#handlers-corshandler", "children": [] },
              { "title": "CsrfHandler", "url": "#handlers-csrfhandler", "children": [] },
              { "title": "SSLHandler", "url": "#handlers-sslhandler", "children": [] }
            ]
          },
          {
            "title": "Traffic & Monitoring",
            "url": "#handlers-traffic",
            "children": [
              { "title": "RateLimitHandler", "url": "#handlers-ratelimithandler", "children": [] },
              { "title": "AccessLogHandler", "url": "#handlers-accessloghandler", "children": [] },
              { "title": "TraceHandler", "url": "#handlers-tracehandler", "children": [] }
            ]
          },
          {
            "title": "Utility",
            "url": "#handlers-utility",
            "children": [
              { "title": "HeadHandler", "url": "#handlers-headhandler", "children": [] },
              { "title": "GracefulShutdown", "url": "#handlers-gracefulshutdown", "children": [] }
            ]
          }
        ]
      },
      {
        "title": "Error Handler",
        "url": "#error-handler",
        "children": [
          { "title": "Catching Errors", "url": "#error-handler-custom-error-handler", "children": [] },
          { "title": "Problem Details", "url": "#error-handler-problem-details", "children": [] }
        ]
      },
      {
        "title": "Execution Model",
        "url": "#execution-model",
        "children": [
          { "title": "Mode (Event Loop vs Worker)", "url": "#execution-model-mode", "children": [] },
          { "title": "Worker Executor", "url": "#execution-model-worker-executor", "children": [] }
        ]
      }
    ]
  },
  {
    "title": "Web",
    "url": "#web-group",
    "children": [
      { "title": "MVC API", "url": "#mvc-api", "children": [] },
      { "title": "Static Files", "url": "#static-files", "children": [] },
      { "title": "Templates", "url": "#templates", "children": [] },
      { "title": "Session", "url": "#session", "children": [] },
      { "title": "Web Sockets", "url": "#web-sockets", "children": [] },
      { "title": "Server-Sent Events", "url": "#server-sent-events", "children": [] }
    ]
  },
  {
    "title": "Ecosystem",
    "url": "#ecosystem-group",
    "children": [
      { "title": "Modules", "url": "#modules", "children": [] },
      { "title": "Extensions and Services", "url": "#extensions-and-services", "children": [] }
    ]
  },
  {
    "title": "Tooling & Operations",
    "url": "#tooling-operations-group",
    "children": [
      { "title": "Configuration", "url": "#configuration", "children": [] },
      { "title": "Server", "url": "#server", "children": [] },
      { "title": "Development", "url": "#development", "children": [] },
      { "title": "Testing", "url": "#testing", "children": [] },
      { "title": "Packaging", "url": "#packaging", "children": [] }
    ]
  }
]

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions