Discourse-reply-template-component

discourse-reply-template-component

This theme component will let you easily reuse part of a post in a reply or a new topic.

:link: Repository Link

Usage

[wrap=template key="template-name"]
My reusable content

- [ ] task 1
- [ ] task 2
[/wrap]

Note that if user is not logged in, clicking the button will display the login modal.

key is mandatory

Other options

  • action="create" this will make the button open a composer to create a new topic
  • action="create_pm" this will make the button open a composer to create a new PM
  • categoryId="2" only usable with action="create", will set the category of the opened composer

Placeholders

You can have special keys in your template which will get replaced:

  • $week_start → date at the beginning of the week
  • $week_end → date at the end of the week
  • $prev_week_start → date at the start of previous week
  • $prev_week_end → date at the end of previous week
  • $tomorrow

Note that this will be replace by local dates.

Tags list

tagsList=":heart:,foo,#bar" will show a least of checkboxes at the end of the template so people can tag their post easily.

Example

My todo list $week_end

  • task 1
  • task 2
20 Likes

I was wondering can this be used in a specific category/sub?

Ie bug reporting form?

2 Likes

Yes :arrow_down:

E.g.
[wrap=template key="bug-report" action="create" categoryId="your-bug-category-id"]

5 Likes

Thank you will need to explore this more.

This is the best. Thank you!! I use this to create checklist templates that can be created anytime we’re doing a repetitive project. Before, our instructions would have been “copy and paste everything below” instead of having this very elegant button to create a topic for people.

3 Likes

Is there a plan to make this functionality accessible in the composer window? To me the most logical place being where things like Hide Details and Build Poll live.

2 Likes

I just updated the component, see OP for usage but a quick note:

  • placeholder dates are now replaced by local dates
  • you can now define a tagsList

6 Likes

Thank you for a great component!

It’s impossible to add a poll in the wrap. Can you add this functionality?

[wrap=template key="template-name"]

[poll type=regular results=on_vote chartType=bar]
# Who will join?
* 1
* 2
* 3
[/poll]

[/wrap]

I added more locales to your component and created a PR. Please, check.

1 Like

How can i install this component?

In my opinion it’d be more helpful to have an example for the reply case (without action=create) because this is probably the reason, the majority is searching for since creating a topic is already possible via URL

My try:

  • ok
  • fail
2 Likes

Would it be possible to use a template to create a new personal message?

Also, when someone is not signed in, clicking on “Use template as reply” does not result in any action. Could you add functionality where if a user is not logged in, something happens to nudge them to log in or create a new account?

2 Likes

Great suggestion, it’s done, I updated the OP.

3 Likes