This page is about contributing to the Hub website. For information about contributing plugins to the Hub, please reference the plugins contribution page.
Let's build together! Please see our Contributor Guide for more information on contributing to Meltano.
We believe that everyone can contribute and we welcome all contributions. If you're not sure what to work on, here are some ideas to get you started.
Chat with us in #contributing on Slack.
Contributors are expected to follow our Code of Conduct.
Repo maintainers with write
access are able to perform automated plugin testing using slash commands in any issue or pull request.
In any issue or pull request, type the following on the first line of a new comment:
/test-plugin name=PLUGIN_NAME [pip-url=PIP_URL]
If pip-url
is omitted, the name
field will be used as pip-url
.
For more information about slash commands and slash command dispatch:
yarn
yarn add --global @gridsome/cli
Build for development and get live updates as files are changed:
# Update packages if needed:
yarn
# Build the site in live-update mode:
gridsome develop
During development, the hot-reload dev server doesn't quite play nice with tailwind. To avoid having to restart it constantly, there's a workaround inside tailwind.config.js
that you can uncomment.
Markdown content pages may be added under ./static/markdown
.
For example:
./static/markdown/singer-docs.md
./static/markdown/singer-spec.md
Any .md
files loaded to this directory will be imported into the GraphQL data model and transformed into HTML.
Markdown files can have front-matter as in the following, which will be rendered into the GraphQL data model:
---
title: "Singer Docs"
description: "The docs page for Singer"
---
# Singer Docs
This is a `test`.
Pages will be make available at their path relative to the /static/markdown
folder. For example, the file /src/static/markdown/singer/docs.md
will be rendered at hub.meltano.com/singer/docs/
.
Markdown pages are rendered using the MarkdownDocs
template, using /src/templates/MarkdownDocs.vue
.
To better understand the data model for markdown data files, use the following query at the GraphQL endpoint (usually http://localhost:8080/__explore):
query MarkdownDocs {
markdownDocs: allMarkdownDocs {
edges {
node {
id
path
description
title
content
fileInfo {
directory
extension
path
name
}
}
}
}
}