For everyone, there is an Official Discourse affiliate plugin allowing you to automatically add your amazon ID in each links that will be published on your forum.
I want to use this plugin to add other websites that offer Affiliate program. I tried another one few weeks ago but it broke the polls in preview for some reason.
Anyway, I tried working on the official one tonight even if I don’t have a lot of knowloedge.
Here is my example : I want to add the french website LDLC. The tag to add on each page is something like this : #52325a32 (this is not my real tag)
There is three links that we usually share :
http://ldlc.com/#52325a32 (homepage, I can live without this one)
http://www.ldlc.com/b-06b841d7761b563e.html#52325a32 (a cart - useful when we “build” a PC for our users)
http://www.ldlc.com/fiche/PB00200087.html#52325a32 (a product page)
But when I tried something else to make all three types of links work, it didn’t work.
I tried multie things like this one : const LDLC_ASIN_EXTRACTOR_REGEX = /\/[A-Za-z0-9/+]/i; to allow different characters even slash (and I deleted the /fiche part in the href). It added the tag but the link was broken.
If anyone has a solution, it’d be great
There is nothing urgent here, I can wait.
Thanks for reading
(edit : I deleted and re-fork the officiel plugin, I had too many messed up commits, I wanted to start from scratch again. So I had to edit some parts of my post)
I think I had a good regex (at least test regex websites seemed to think so) but when I used something like this in the ASIN regex (\/[A-Za-z0-9_\/-]*) it always captured /www and not the url after ldlc.com/.
To succeed, I had to use {5,} in my ASIN regex. This way, it had to ignore the /www. It’s ugly, the experts here will cry while facing this awful coding. But hey… it works
There must be a better way to do it tho, if someone has an idea, I can still try it…
Anyway I can move on to the next website I want to add. It will be a lot easier than this one.
From the way you say /www was matching, I think you might want to write a regex that explicitly considers them. It’s hard for me to be sure, though, since I’m not familiar with where this gets used.
Here’s what I suspect will work for you:
(\/[w.]*ldlc.com\/[A-Za-z0-9_\/-]*)
It’s not clear if backslash escaping the slash is needed. If the one in the first post with a / in the character class worked, then I don’t think you need any of the backslashes.
I suggest to use http://rubular.com/ to test the regex. You can enter in the text box all three examples you want to have supported and maybe some links that should not be matched. Rubular should use the same Regex engine. It’s ruby as well.
I asked the doc to see if I can extract a pattern allowing me to write a generic one and then adding a new affiliation platform would just be a matter of configuration.