Sign Up Sign In

Welcome to Codidact Meta!

Codidact Meta is the meta-discussion site for the Codidact community network and the Codidact software. Whether you have bug reports or feature requests, support questions or rule discussions that touch the whole network – this is the site for you.

automatic linking to a specific category, by title


I'd love a Codidact-specific markdown extension that links to a post in a particular category. That was really unclear, so let me give an example. A particular site can have a Glossary category with particular pages as entries in the category. Then [[foo]] anywhere on the site will link to the "foo" entry in the glossary.

Some use cases:

  • Judaism can have a glossary so people can write a term of art like "muktzeh" in a post and simply link it to let people know what it means.
  • Cooking can have a Standard Methods category of explanatory posts so a recipe can say After [[separating the eggs]],….

Some details:

  • The markdown [[...]] is not meant to be final and some other can be chosen. (However, I like it, because it's similar to the [...] link markdown.)
  • I say [[foo]] should link "to the 'foo' entry" and the question is — what's that? Well, most obviously it's the entry whose title is "foo". But it would be really nice to have redirection/canonicalization so that [[separating the eggs]] can link to the "separation of eggs" page. How? Perhaps by creating a page as a redirect. Maybe people have better ideas about how to do this.

A response to expected pushback:

  • Yes, I know it's possible using a userscript. But don't you want all users, not just those with the script, to be able to see the link?
Why should this post be closed?


2 answers


I like this idea (obviously, clearly it is partly inspired by my post ). A bit of confusion though about "category", "post", etc. A category is a group of posts (e.g,., Q&A or Meta or Recipes or Divrei Torah). I think as initially stated this would be limited to one Category, so if there were 2 within a given community (e.g., a Biography category in Judaism as well as Glossary (not saying we need Biography, but just a hypothetical example)) then it would be good to be able to disambiguate (and, I'd argue OK to always require, else back to "self" as explained below).

End result would be something like: [[glossary:muktzah]] to link to the muktzah named post in the glossary category [[biography:rambam]] to link to the Rambam named post in the biography category [[can-i-zoom-on-shabbos]] to link to the Can I Zoom on Shabbos named post in the same (e.g., Q&A in this example) category.

Now this gets to another interesting problem - IDs vs. names. A StackExchange full link includes both the ID and the name. But only the ID is really necessary and, more importantly, the name can change. There are a couple of different ways to solve the problem and keep things simple for non-techie users:

  • Names applied to posts in a "won't change so frequently" way. Normally names of posts are based on titles. Titles can be changed (and often are, for a lot of reasons). If I make the glossary post muktzah and someone else decides it must be muktzeh we can't have 23 links break. If the original muktzah is saved then it will always work (barring later duplicates). However, that would also require users making these links to know where/how to get that static keyword.

  • When you create a link of this type, the system searches for a match and tries to piece it all together for you. This can work in the opposite way too - paste in a full Codidact link and it will flip it back to this new shortcut category:post format, with the ID included. In other words, enter in any of the following:

    • [[glossary:muktzah]] Exact match of category + post title
    • [[glossary:muktzeh]] Close match - system searches and says "How about..."
    • [[654321]] ID, which system knows is currently Glossary -> Muktzah
    • [[]] Full link pasted in, which system can now shorten.

and even:

  • The link by itself - system (I think SE does something similar) should be smart enough to figure it out.

All (after verification if not an exact match) would shorten to something like:

[[glossary:654321:muktzah]] and all would display as if they were: [Muktzah]( displaying just Muktzah in a link style.



This has taken a little while to get to while I did some research into how feasible it is.

For the moment, I'm putting a [status-deferred] on this - I know that's not the answer you were hoping for, but it is the necessary answer. Adding a custom Markdown extension involves developing an extension for two separate Markdown rendering systems. It's not impossible, but it requires some extensive work and testing to be sure that it works correctly.

For a feature that ultimately comes down to adding a link that could also be added manually... the work this involves isn't worth the time it would take right now. Once we've finished more of the features we've got planned, we should be able to revisit this.

1 comment

Deferring it seems eminently reasonable. Thanks for looking into it! ‭msh210‭ 3 months ago

Sign up to answer this question »