Files
grafana/docs/sources/developers/plugins/_index.md
Jack Baldry 3c68684dd2 [v9.2.x] Use relative aliases for all non-current Grafana aliases (#60113)
* Use relative aliases for all non-current Grafana aliases

Prevents non-latest documentation "stealing" the page away from latest
and through permanent redirects for latest pages that no longer exist.

The redirected pages are indexed by search engines but our robots.txt
forbids them crawling the non-latest page.

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

* Remove all current page aliases

find docs/sources -type f -name '*.md' -exec sed -z -i 's#\n *- /docs/grafana/next/[^\n]*\n#\n#' {} \;
find docs/sources -type f -name '*.md' -exec sed -z -i 's#\n *- /docs/grafana/latest/[^\n]*\n#\n#' {} \;
find docs/sources -type f -name '*.md' -exec sed -Ez -i 's#\n((aliases:\n *-)|aliases:\n)#\n\2#' {} \;

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
2022-12-12 08:23:37 -04:00

3.1 KiB

aliases, description, title, weight
aliases description title weight
../plugins/developing/
Resources for creating Grafana plugins Build a plugin 200

Build a plugin

For more information on the types of plugins you can build, refer to the [Plugin Overview]({{< relref "../../administration/plugin-management/" >}}).

Get started

The easiest way to start developing Grafana plugins is to use the Grafana Toolkit.

Open the terminal, and run the following command in your [plugin directory]({{< relref "../../setup-grafana/configure-grafana/#plugins" >}}):

npx @grafana/toolkit plugin:create my-grafana-plugin

Note: If running NPM 7+ the npx commands mentioned in this article may hang. The workaround is to use npx --legacy-peer-deps <command to run>.

If you want a more guided introduction to plugin development, check out our tutorials:

  • [Build a panel plugin]({{< ref "build-a-panel-plugin.md" >}})
  • [Build a data source plugin]({{< ref "build-a-data-source-plugin.md" >}})

Go further

Learn more about specific areas of plugin development.

Tutorials

If you're looking to build your first plugin, check out these introductory tutorials:

  • [Build a panel plugin]({{< ref "build-a-panel-plugin.md" >}})
  • [Build a data source plugin]({{< ref "build-a-data-source-plugin.md" >}})
  • [Build a data source backend plugin]({{< ref "build-a-data-source-backend-plugin.md" >}})

Ready to learn more? Check out our other tutorials:

  • [Build a panel plugin with D3.js]({{< ref "build-a-panel-plugin-with-d3.md" >}})

Guides

Improve an existing plugin with one of our guides:

  • [Add authentication for data source plugins]({{< relref "add-authentication-for-data-source-plugins/" >}})
  • [Add support for annotations]({{< relref "add-support-for-annotations/" >}})
  • [Add support for Explore queries]({{< relref "add-support-for-explore-queries/" >}})
  • [Add support for variables]({{< relref "add-support-for-variables/" >}})
  • [Add a query editor help component]({{< relref "add-query-editor-help/" >}})
  • [Build a logs data source plugin]({{< relref "build-a-logs-data-source-plugin/" >}})
  • [Build a streaming data source plugin]({{< relref "build-a-streaming-data-source-plugin/" >}})
  • [Error handling]({{< relref "error-handling/" >}})
  • [Working with data frames]({{< relref "working-with-data-frames/" >}})
  • [Development with local Grafana]({{< relref "development-with-local-grafana/" >}})

Concepts

Deepen your knowledge through a series of high-level overviews of plugin concepts:

  • [Data frames]({{< relref "data-frames/" >}})

UI library

Explore the many UI components in our Grafana UI library.

Examples

For inspiration, check out our plugin examples.

API reference

Learn more about Grafana options and packages.

Metadata

  • [Plugin metadata]({{< relref "metadata/" >}})

Typescript

  • Grafana Data
  • Grafana Runtime
  • Grafana UI

Go

  • [Grafana Plugin SDK for Go]({{< relref "backend/grafana-plugin-sdk-for-go/" >}})