# Automated Hotlinks in Discourse

**URL:** <https://gramps.discourse.group/t/automated-hotlinks-in-discourse/2210>\
**Category:** Feedback\
**Created:** [August 16, 2024, 5:00am UTC](https://gramps.discourse.group/t/automated-hotlinks-in-discourse/2210 "2024-08-16T05:00:00Z")\
**Posts on this page:** 14\
**Page:** 1

<div class="post-metadata">

**Author:** ![emyoulation](https://yyz2.discourse-cdn.com/free1/user_avatar/gramps.discourse.group/emyoulation/32/67_2.png) [@emyoulation](https://gramps.discourse.group/u/emyoulation)\
**Post date:** [August 16, 2024, 5:00am UTC](https://gramps.discourse.group/t/automated-hotlinks-in-discourse/2210/1 "2024-08-16T05:00:00Z")

</div>

The Discourse forum has a ‘_[Linkify](https://gramps.discourse.group/t/discourse-markdown-tags-revised/1503/2)_’ tool to recognize key phrases. So when they are typed into a posting, it automatically links the phrase to a target URL. The following is a test of phrases used in some common instructions.

- [contact us](https://www.gramps-project.org/blog/contact/)
- [make a backup](https://www.gramps-project.org/wiki/index.php/Gramps_5.2_Wiki_Manual_-_Manage_Family_Trees#Backing_up_a_Family_Tree)
- [submit a bug](https://www.gramps-project.org/wiki/index.php/Using_the_bug_tracker)
- [Gramps glossary](https://www.gramps-project.org/wiki/index.php/Gramps_Glossary)
- [Gramps downloads](https://www.gramps-project.org/blog/download/)
- [Gramps main window](https://www.gramps-project.org/wiki/index.php/Gramps_5.2_Wiki_Manual_-_Main_Window#Main_Window)
- [Discourse markdown](https://gramps.discourse.group/t/discourse-markdown-tags-revised/1503)

What other phrases and links should we add?

- [Gramps wiki](https://www.gramps-project.org/wiki/index.php/Gramps_5.2_Wiki_Manual#Table_of_Contents)
- [Gramps User Directory](https://www.gramps-project.org/wiki/index.php/Gramps_Glossary#user_directory)
- [Gramps preferences](https://www.gramps-project.org/wiki/index.php/Gramps_Glossary#preferences)
- [tutorial videos](https://gramps.discourse.group/t/tutorial-videos/126)
- [addon list](https://www.gramps-project.org/wiki/index.php/5.2_Addons#Addon_List) or [add-on list](https://www.gramps-project.org/wiki/index.php/5.2_Addons#Addon_List)
- [search the Gramps addons](https://mattkmmr.github.io/gramps-addons-listings/?catg=All)
- [linkify](https://gramps.discourse.group/t/discourse-markdown-tags-revised/1503/2)
- [add a custom type](https://www.gramps-project.org/wiki/index.php/Gramps_Glossary#custom)
- [Gramps logfile](https://www.gramps-project.org/wiki/index.php/Logging_system)
- [Addon Manager](https://gramps-project.org/wiki/index.php/Gramps_5.2_Wiki_Manual_-_Navigation#Using_the_Addon_Manager)
- [Command Line](https://gramps-project.org/wiki/index.php/Gramps_5.2_Wiki_Manual_-_Command_Line)
- [Keybindings](https://gramps-project.org/wiki/index.php/Gramps_5.2_Wiki_Manual_-_Keybindings)
- [SuperTool script list](https://gramps-project.org/wiki/index.php/Addon:Isotammi_addons#SuperTool_Scripts)

Readers could drown in a sea of blue links. If we link too many key phrases, readers will start ignoring them. Phrases should be uncommon enough that they feel like deliberate suggestions to be explored … but easy enough to remember and be used in natural conversation.\*

---

<div class="post-metadata">

**Author:** ![dlynch](https://avatars.discourse-cdn.com/v4/letter/d/848f3c/32.png) [@dlynch](https://gramps.discourse.group/u/dlynch)\
**Post date:** [August 16, 2024, 5:28pm UTC](https://gramps.discourse.group/t/automated-hotlinks-in-discourse/2210/2 "2024-08-16T17:28:36Z")

</div>

beginner user  
user interface UI GUI

---

<div class="post-metadata">

**Author:** ![DaveSch](https://yyz2.discourse-cdn.com/free1/user_avatar/gramps.discourse.group/davesch/32/40_2.png) [@DaveSch](https://gramps.discourse.group/u/DaveSch)\
**Post date:** [August 16, 2024, 9:25pm UTC](https://gramps.discourse.group/t/automated-hotlinks-in-discourse/2210/3 "2024-08-16T21:25:44Z")

</div>

- [Preferences](https://gramps-project.org/wiki/index.php?title=Gramps_5.1_Wiki_Manual_-_Settings#Preferences)
- [Third party addons management](https://gramps-project.org/wiki/index.php?title=Gramps_5.1_Wiki_Manual_-_Settings#Third_party_addons_management)
- [Plugin Manager](https://gramps-project.org/wiki/index.php/Addon:Plugin_Manager)

---

<div class="post-metadata">

**Author:** ![PLegoux](https://yyz2.discourse-cdn.com/free1/user_avatar/gramps.discourse.group/plegoux/32/413_2.png) [@PLegoux](https://gramps.discourse.group/u/PLegoux)\
**Post date:** [August 16, 2024, 10:15pm UTC](https://gramps.discourse.group/t/automated-hotlinks-in-discourse/2210/4 "2024-08-16T22:15:03Z")

</div>

Every addon/Gramplet name

---

<div class="post-metadata">

**Author:** ![emyoulation](https://yyz2.discourse-cdn.com/free1/user_avatar/gramps.discourse.group/emyoulation/32/67_2.png) [@emyoulation](https://gramps.discourse.group/u/emyoulation)\
**Post date:** [August 16, 2024, 10:21pm UTC](https://gramps.discourse.group/t/automated-hotlinks-in-discourse/2210/5 "2024-08-16T22:21:19Z")

</div>

> [@PLegoux](#):
>
> Every addon/Gramplet name

The list is already a misery to maintain. Instead of syncing the data in 4 places (the wiki list, the anchored wiki pages, the .gpr.py files, the CSV list on GitHub), that would add a 5th. And there are too many language variants.

How about if we made it more generic & low maintenance? Like "look for **Plugin Manager enhanced** in the [add-on list](https://gramps-project.org/wiki/index.php/5.1_Addons#Addon_List) "?

> [@DaveSch](#):
>
> - Preferences

That’s a pretty common term and might easily auto-link to the wrong program. (Like if the posting was talking about Preferences in Discourse, GitHub or MantisBT.)

How about a more deliberate phrase? Like “[Gramps Preferences](https://gramps-project.org/wiki/index.php/Gramps_Glossary#preferences)” or “Preferences tabs” (plural on “tabs”)

---

<div class="post-metadata">

**Author:** ![emyoulation](https://yyz2.discourse-cdn.com/free1/user_avatar/gramps.discourse.group/emyoulation/32/67_2.png) [@emyoulation](https://gramps.discourse.group/u/emyoulation)\
**Post date:** [August 16, 2024, 10:36pm UTC](https://gramps.discourse.group/t/automated-hotlinks-in-discourse/2210/6 "2024-08-16T22:36:21Z")

</div>

The Plugin Manager is problematic.

Your link was to [the “enhanced” addon](https://gramps-project.org/wiki/index.php/Addon:Plugin_Manager).

Wouldn’t the users who NEED the help available through the link be more likely to not even know how to install that add-on?

And linking to the [original Plugin Manager](https://gramps-project.org/wiki/index.php/Gramps_5.1_Wiki_Manual_-_Plugin_Manager) document might cause frustration. Frankly, that page needs to be overhauled … or a supplemental tutorial page. It is nearly a programmer’s feature reference list with zero hand-holding.

None of the current options seem like a good choice. What do you think?

---

<div class="post-metadata">

**Author:** ![DaveSch](https://yyz2.discourse-cdn.com/free1/user_avatar/gramps.discourse.group/davesch/32/40_2.png) [@DaveSch](https://gramps.discourse.group/u/DaveSch)\
**Post date:** [August 16, 2024, 11:18pm UTC](https://gramps.discourse.group/t/automated-hotlinks-in-discourse/2210/7 "2024-08-16T23:18:16Z")

</div>

> [@emyoulation](#):
>
> Wouldn’t the users who NEED the help available through the link be more likely to not even know how to install that add-on?

I’ll leave that decision to you (or the collective wisdom of the group).

I always install all addons. It was a long time later that I realized the enhanced version was not the standard builtin module, just upgraded. Once installed it just takes over with no further user action required.

---

<div class="post-metadata">

**Author:** ![emyoulation](https://yyz2.discourse-cdn.com/free1/user_avatar/gramps.discourse.group/emyoulation/32/67_2.png) [@emyoulation](https://gramps.discourse.group/u/emyoulation)\
**Post date:** [August 16, 2024, 11:22pm UTC](https://gramps.discourse.group/t/automated-hotlinks-in-discourse/2210/8 "2024-08-16T23:22:40Z")

</div>

I agree about that! When 1st reading about Add-ons, I also just bulk downloaded them. Never even saw the original Plugin Manager until a couple years later.

Hopefully, others will weigh in and we can have a healthy discussion (or even argument).

My big worry is that the auto-linking list will overload & break Discourse. So being conservative seems wise.

---

<div class="post-metadata">

**Author:** ![Mihle](https://yyz2.discourse-cdn.com/free1/user_avatar/gramps.discourse.group/mihle/32/612_2.png) [@Mihle](https://gramps.discourse.group/u/Mihle)\
**Post date:** [August 17, 2024, 3:20am UTC](https://gramps.discourse.group/t/automated-hotlinks-in-discourse/2210/9 "2024-08-17T03:20:30Z")

</div>

Maybe “Gramps wiki” as a link to the wiki?  
(Or just wiki)

---

<div class="post-metadata">

**Author:** ![emyoulation](https://yyz2.discourse-cdn.com/free1/user_avatar/gramps.discourse.group/emyoulation/32/67_2.png) [@emyoulation](https://gramps.discourse.group/u/emyoulation)\
**Post date:** [August 17, 2024, 3:20am UTC](https://gramps.discourse.group/t/automated-hotlinks-in-discourse/2210/10 "2024-08-17T03:20:30Z")

</div>

Put in _[Gramps wiki](https://gramps-project.org/wiki/index.php/Gramps_5.1_Wiki_Manual#Table_of_Contents)_ going to the **Table of Contents** on the index page. (That seems more controllable than the _wiki_ single word. )

Is there a better place at which to point that phrase?

---

<div class="post-metadata">

**Author:** ![Mihle](https://yyz2.discourse-cdn.com/free1/user_avatar/gramps.discourse.group/mihle/32/612_2.png) [@Mihle](https://gramps.discourse.group/u/Mihle)\
**Post date:** [August 17, 2024, 3:20am UTC](https://gramps.discourse.group/t/automated-hotlinks-in-discourse/2210/11 "2024-08-17T03:20:30Z")

</div>

I was first thinking just the front page, but table of contents might be better.

---

<div class="post-metadata">

**Author:** ![emyoulation](https://yyz2.discourse-cdn.com/free1/user_avatar/gramps.discourse.group/emyoulation/32/67_2.png) [@emyoulation](https://gramps.discourse.group/u/emyoulation)\
**Post date:** [August 17, 2024, 3:20am UTC](https://gramps.discourse.group/t/automated-hotlinks-in-discourse/2210/12 "2024-08-17T03:20:30Z")

</div>

Rolled the Linkified term’s URLs over to the 5.2 versions and added a [workflow for that](https://gramps-project.org/wiki/index.php/Rollover_for_the_manual#External_Site_changes).

Added:

- [Gramps logfile](https://www.gramps-project.org/wiki/index.php/Logging_system) - people typically have a hard time finding the error logfile
- [Addon Manager](https://gramps-project.org/wiki/index.php/Gramps_5.2_Wiki_Manual_-_Navigation#Using_the_Addon_Manager) - New feature in 5.2

In case the [Linkify](https://gramps.discourse.group/t/discourse-markdown-tags-revised/1503/2) is somehow corrupted, here is the uploadable CSV:

 

```python
add a custom type,https://www.gramps-project.org/wiki/index.php/Gramps_Glossary#custom
add-on list,https://www.gramps-project.org/wiki/index.php/5.2_Addons#Addon_List
addon list,https://www.gramps-project.org/wiki/index.php/5.2_Addons#Addon_List
Addon Manager,https://www.gramps-project.org/wiki/index.php/Gramps_5.2_Wiki_Manual_-_Navigation#Using_the_Addon_Manager
Command Line,https://www.gramps-project.org/wiki/index.php/Gramps_5.2_Wiki_Manual_-_Command_Line
contact us,https://www.gramps-project.org/blog/contact/
Discourse markdown,https://gramps.discourse.group/t/discourse-markdown-tags-revised/1503
Gramps downloads,https://www.gramps-project.org/blog/download/
Gramps Glossary,https://www.gramps-project.org/wiki/index.php/Gramps_Glossary
Gramps logfile,https://www.gramps-project.org/wiki/index.php/Logging_system
Gramps main window,https://www.gramps-project.org/wiki/index.php/Gramps_5.2_Wiki_Manual_-_Main_Window#Main_Window
Gramps preferences,https://www.gramps-project.org/wiki/index.php/Gramps_Glossary#preferences
Gramps User Directory,https://www.gramps-project.org/wiki/index.php/Gramps_Glossary#user_directory
Gramps wiki,https://www.gramps-project.org/wiki/index.php/Gramps_5.2_Wiki_Manual#Table_of_Contents
include your Gramps version,https://www.gramps-project.org/wiki/index.php/Addon:Prerequisites_Checker_Gramplet
Install an Isotammi addon,https://gramps.discourse.group/t/looking-for-isotammi-import-csv-sources-tool/3149/6
keybindings,https://www.gramps-project.org/wiki/index.php/Gramps_5.2_Wiki_Manual_-_Keybindings
linkify,https://gramps.discourse.group/t/discourse-markdown-tags-revised/1503/2
make a backup,https://www.gramps-project.org/wiki/index.php/Gramps_5.2_Wiki_Manual_-_Manage_Family_Trees#Backing_up_a_Family_Tree
search the Gramps add-ons,https://mattkmmr.github.io/gramps-addons-listings/
search the Gramps addons,https://mattkmmr.github.io/gramps-addons-listings/?catg=All
submit a bug,https://www.gramps-project.org/wiki/index.php/Using_the_bug_tracker
tutorial videos,https://gramps.discourse.group/t/tutorial-videos/126

```

---

<div class="post-metadata">

**Author:** ![Nick-Hall](https://yyz2.discourse-cdn.com/free1/user_avatar/gramps.discourse.group/nick-hall/32/95_2.png) [@Nick-Hall](https://gramps.discourse.group/u/Nick-Hall)\
**Post date:** [August 17, 2024, 3:20am UTC](https://gramps.discourse.group/t/automated-hotlinks-in-discourse/2210/13 "2024-08-17T03:20:30Z")

</div>

> [@emyoulation](#):
>
> What other phrases and links should we add?

- [Command Line](https://gramps-project.org/wiki/index.php/Gramps_5.1_Wiki_Manual_-_Command_Line) ✅ 5.2 page
- [Keybindings](https://gramps-project.org/wiki/index.php/Gramps_5.1_Wiki_Manual_-_Keybindings) ✅ 5.2 page

---

<div class="post-metadata">

**Author:** ![emyoulation](https://yyz2.discourse-cdn.com/free1/user_avatar/gramps.discourse.group/emyoulation/32/67_2.png) [@emyoulation](https://gramps.discourse.group/u/emyoulation)\
**Post date:** [April 20, 2025, 2:32pm UTC](https://gramps.discourse.group/t/automated-hotlinks-in-discourse/2210/14 "2025-04-20T14:32:41Z")

</div>

- “[Gramps Web demo](https://www.grampsweb.org/features/index.html#demo)” added to [Linkify](https://gramps.discourse.group/t/discourse-markdown-tags-revised/1503/2) phrases
- rollover links to 6.0

```csv
SuperTool script list,https://gramps-project.org/wiki/index.php/Addon:Isotammi_addons#SuperTool_Scripts
Gramps Web demo,https://www.grampsweb.org/features/index.html#demo
add a custom type,https://www.gramps-project.org/wiki/index.php/Gramps_Glossary#custom
add-on list,https://www.gramps-project.org/wiki/index.php/6.0_Addons#Addon_List
addon list,https://www.gramps-project.org/wiki/index.php/6.0_Addons#Addon_List
contact us,https://www.gramps-project.org/blog/contact/
Discourse markdown,https://gramps.discourse.group/t/discourse-markdown-tags-revised/1503
Gramps downloads,https://www.gramps-project.org/blog/download/
Gramps Glossary,https://www.gramps-project.org/wiki/index.php/Gramps_Glossary
Gramps logfile,https://www.gramps-project.org/wiki/index.php/Logging_system
Gramps main window,https://www.gramps-project.org/wiki/index.php/Gramps_6.0_Wiki_Manual_-_Main_Window#Main_Window
Gramps preferences,https://www.gramps-project.org/wiki/index.php/Gramps_Glossary#preferences
Gramps User Directory,https://www.gramps-project.org/wiki/index.php/Gramps_Glossary#user_directory
Gramps wiki,https://www.gramps-project.org/wiki/index.php/Gramps_6.0_Wiki_Manual#Table_of_Contents
include your Gramps version,https://www.gramps-project.org/wiki/index.php/Addon:Prerequisites_Checker_Gramplet
Install an Isotammi addon,https://gramps.discourse.group/t/looking-for-isotammi-import-csv-sources-tool/3149/6
linkify,https://gramps.discourse.group/t/discourse-markdown-tags-revised/1503/2
make a backup,https://www.gramps-project.org/wiki/index.php/Gramps_6.0_Wiki_Manual_-_Manage_Family_Trees#Backing_up_a_Family_Tree
search the Gramps add-ons,https://mattkmmr.github.io/gramps-addons-listings/
search the Gramps addons,https://mattkmmr.github.io/gramps-addons-listings/?catg=All
submit a bug,https://www.gramps-project.org/wiki/index.php/Using_the_bug_tracker
tutorial videos,https://gramps.discourse.group/t/tutorial-videos/126
Addon Manager,https://gramps-project.org/wiki/index.php/Gramps_6.0_Wiki_Manual_-_Navigation#Using_the_Addon_Manager
Command Line,https://gramps-project.org/wiki/index.php/Gramps_6.0_Wiki_Manual_-_Command_Line
Keybindings,https://gramps-project.org/wiki/index.php/Gramps_6.0_Wiki_Manual_-_Keybindings

```

Upload failed to parse 2 phrases. (URL exceeds 100 characters) looking for a workaround:

```csv
make a backup,https://www.gramps-project.org/wiki/index.php/Gramps_6.0_Wiki_Manual_-_Manage_Family_Trees#Backing_up_a_Family_Tree
Addon Manager,https://gramps-project.org/wiki/index.php/Gramps_6.0_Wiki_Manual_-_Navigation#Using_the_Addon_Manager

```

shorten URLs to:

```csv
make a backup,https://gramps-project.org/wiki/index.php/How_to_make_a_backup
Addon Manager,https://gramps-project.org/wiki/index.php/Gramps_Glossary#addon

```
