On 5/6/15, Jack Phoenix <[email protected]> wrote:
> On Wed, May 6, 2015 at 9:06 PM, Brad Jorsch (Anomie) <[email protected]>
> wrote:
>
>> On Wed, May 6, 2015 at 1:31 PM, Jack Phoenix <[email protected]>
>> wrote:
>>
>> > I'm trying to build an autocompletion thingy that suggests categories
>> based
>> > on user input using the opensearch API [1].
>>
>>
>> Sounds like https://en.wikipedia.org/wiki/Wikipedia:HotCat
>>
>
> Something like that, although not quite complicated. HotCat's current
> version is ~3k lines of code, my JS is ~40 lines.
>
>
>> How can I totally strip out the "Category:"
>> > part and pretend it doesn't exist and never did?
>> >
>>
>> Hit api.php?action=query&meta=siteinfo&siprop=namespaces to get the
>> localized name of the Category namespace. Or you should be safe just
>> removing everything up to the first colon.
>
>
> Yeah, probably better to avoid the extra HTTP request.
>
> In any case, I managed to solve my issue for the time being, or so I
> think. Defining a "response" callback and fiddling with the API-supplied
> data there seems to do the trick:
> https://www.mediawiki.org/w/index.php?title=User%3AJack_Phoenix%2FAutocompleteTest&type=revision&diff=1644379&oldid=1644324
> It does still feel a tad bit hacky to me, so if some JavaScript guru knows
> of the proper way to do this, feel free to let me know! But at least now I
> can safely throw out some old and icky code in favor of this new code. :)
>
>

I tried to do something similar, it might be useful to you as a
starting point:
https://commons.wikimedia.org/wiki/MediaWiki:Gadget-advanced-search.js
(I was also surprised at how frustrating it was to make what sounded
trivial work right).

[I should note, I haven't really done any js in a long time, and that
script was meant more as a proof of concept, so it might be slightly
hacky]

--
bawolff

_______________________________________________
Wikitech-l mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/wikitech-l

Reply via email to