TableauPageFeedbackExtension

Hex.pm][shield-hex]][hexpm] [![Hex Docs][shield-docs] [ Apache 2.0Coveralls

A Tableau extension that generates feedback links (issues, discussions) for pages and posts. Each displayable page gets a feedback_urls map in its frontmatter, and $feedback:issue / $feedback:discussion markers in rendered HTML are replaced with the full URLs.

Installation

Add tableau_page_feedback_extension to your dependencies in mix.exs:

def deps do
  [
    {:tableau_page_feedback_extension, "~> 1.0"}
  ]
end

Configuration

config :tableau, TableauPageFeedbackExtension,
  enabled: true,
  forge: :github,
  repo: "owner/repo",
  github: [
    discussion: [category: "General"]
  ]

Options

Forge-Specific Configuration

Forge-specific options are nested under the forge key. Types with missing required config are disabled with a warning.

GitHub (:github)

Feedback Types by Forge

Forge Types
:githubissue, discussion

Usage

In Templates

The extension adds feedback_urls to each page's assigns:

<%= if assigns[:feedback_urls] do %>
  <a href="<%= @feedback_urls.issue %>">Report an issue</a>
  <a href="<%= @feedback_urls.discussion %>">Start a discussion</a>
<% end %>

In Markdown Content

Use markers directly in content — they're replaced in the rendered HTML:

[Report an issue]($feedback:issue)
[Start a discussion]($feedback:discussion)

Semantic Versioning

TableauPageFeedbackExtension follows Semantic Versioning 2.0.