Dyskusja Wikipedii:Narzędzia/veAutocorrect

Treść strony nie jest dostępna w innych językach.
Z Wikipedii, wolnej encyklopedii

Pobranie tekstu przed rozwinięciem w szablon[edytuj kod]

Czy jest możliwe pobranie fragmentu tekstu (1-5 zdań) po (lub przed) wstawianym szablonem? Żeby np. potem nie trzeba było po wstawieniu ręcznie kopiować tekstu do szablonu, tylko żeby przekazać tekst jako parametr na etapie wpisania skrótu. MarMi wiki (dyskusja) 19:48, 8 lut 2022 (CET)[odpowiedz]

Tak w ogólności by się dało pewnie. To znaczy VE umożliwia operacje np. na zaznaczeniu. Ale w ramach autokorekty raczej byłoby ciężko... Miejsce kursora można pobrać: [1]. Nie wiem czy to Ci pomoże. Nux (dyskusja) 16:30, 18 lut 2023 (CET)[odpowiedz]
Myślę nad zrobieniem zamiany zaznaczonego tekstu na wywołanie szablonu link-zewnętrzny, czy skrypt byłby w tym chociaż częściowo pomocny:
- czy da się w dość prosty sposób podpiąć skróty klawiszowe (np. LAlt-k) zamiast wpisywania sekwencji? Ułatwiło by to podmianę zaznaczonego tekstu - inaczej trzeba podpiąć co najmniej komendę kopiowania/przetworzenia zaznaczenia gdzieś do toolbara
- czy w ogóle jest możliwa dynamiczna zmiana wartości parametrów, już po dodaniu przez nac.add, na czas wywołania - albo dynamiczne wywołanie podmiany bez używania nac.add? MarMi wiki (dyskusja) 00:12, 26 lut 2023 (CET)[odpowiedz]
Jak chcesz mieć skróty klawiszowe, to nie potrzebujesz nac. Wystarczy, że będziesz nasłuchiwała na klawisze i wykonasz jakąś funkcję, która wykona operacje na zaznaczeniu. Możesz sobie nawet jakieś okienko uruchomić i wybrać jakieś opcje czy coś. Nux (dyskusja) 18:41, 26 lut 2023 (CET)[odpowiedz]

=lz (i być może pozostałe podobne)[edytuj kod]

Po rozwiniuęciu =lz w sekcję, nie można wstawić wypunktowania (lista wypunkt.). Trzeba wcisnąć kursor góra/dół i wrócić, wtedy się da.
Czy wstawianie sekcji (lz, b) nie mogłoby dodawać automatycznie tego wypunktowania (a =p mogłoby automatycznie wstawiać też szablon przypisu)?

Dodatkowo po wstawieniu =lz i każdorazowym wciśnięciu Enter wyrzucany jest błąd VE w konsoli:

Uncaught Error: Inserted data is trying to close the root node (at index 0)
    writeElement https://pl.wikipedia.org/w/load.php?lang=pl&modules=ext.visualEditor.core,mwtransclusion&skin=vector&version=1sed8:229
    fixupInsertion https://pl.wikipedia.org/w/load.php?lang=pl&modules=ext.visualEditor.core,mwtransclusion&skin=vector&version=1sed8:232
    pushInsertion https://pl.wikipedia.org/w/load.php?lang=pl&modules=ext.visualEditor.core,mwtransclusion&skin=vector&version=1sed8:117
    newFromInsertion https://pl.wikipedia.org/w/load.php?lang=pl&modules=ext.visualEditor.core,mwtransclusion&skin=vector&version=1sed8:103
    execute https://pl.wikipedia.org/w/load.php?lang=pl&modules=ext.visualEditor.core,mwtransclusion&skin=vector&version=1sed8:542
    executeHandlersForKey https://pl.wikipedia.org/w/load.php?lang=pl&modules=ext.visualEditor.core,mwtransclusion&skin=vector&version=1sed8:521
    onDocumentKeyDown https://pl.wikipedia.org/w/load.php?lang=pl&modules=ext.visualEditor.core,mwtransclusion&skin=vector&version=1sed8:452
    callListener https://pl.wikipedia.org/w/load.php?lang=pl&modules=ext.visualEditor.core,mwtransclusion&skin=vector&version=1sed8:24
    onEvent https://pl.wikipedia.org/w/load.php?lang=pl&modules=ext.visualEditor.core,mwtransclusion&skin=vector&version=1sed8:21
    makeEventHandler https://pl.wikipedia.org/w/load.php?lang=pl&modules=ext.visualEditor.core,mwtransclusion&skin=vector&version=1sed8:19
    jQuery 2

MarMi wiki (dyskusja) 13:40, 31 gru 2022 (CET)[odpowiedz]

"=lz" i potem "* " działa bez problemu u mnie (Firefox). Podobnie sekwencja "=zt* ", czy "=p{p". Może coś było zepsute w jakimś starym VE. Nux (dyskusja) 16:35, 18 lut 2023 (CET)[odpowiedz]
A u mnie nadal jest problem (z tym, że wyjątku już nie ma).
Wypunktowanie robię z menu edytora, ręczna gwiazdka ze spacją faktycznie działa.
Po np. =lz kursor ląduje w nowej linii, bez formatowania (puste okno formatowania akapitu). Wciśnięcie kursora w prawo ustawia formatowanie na Akapit i wtedy da się wstawić wypunktowanie z menu.
W obu przypadkach (* albo wypunktowanie z menu) w kodzie między sekcją a wypunktowaniem będzie pusty wiersz (przy np. =p{p odstępu nie ma), ale po testach wygląda na to, że wypunktowanie już tak ma
Wstawienie wypunktowania (w VE) do pustej sekcji (dodanej w kodzie) też dodaje nowy wiersz (oraz czasami tag <br/> po tekście w wypunktowaniu).
Także, podsumowując, przydał by się przykład jak można dodać kilka wierszy na raz, żeby =lz dawało h2('Linki zewnętrzne')+p('* '). O ile dobrze widzę, to jest to =z+ z MediaWiki:Gadget-NAC-extras.js.
Czy da się jakoś "przykryć" lz, czy trzeba użyć innej kombinacji? Bo z tego co widzę, to samo dodanie lz powoduje podwójne wykonanie (a przynajmniej tak to wygląda). Być może przydała by się funkcja nac.replace? MarMi wiki (dyskusja) 22:27, 18 lut 2023 (CET)[odpowiedz]
Można też odwrócić tablicę, żeby oryginalne lz wykonywało się przed dodanym w common.js.
Albo można zamiast push użyć innej metody wstawiania ([2], [3]).
Edycja: Z tym, że takie kaskadowe wykonanie (pod tą samą nazwą) może się jednak do czegoś przydać...
Więc nac.replace byłoby chyba najlepszym wyjściem.
A może odpalenia hooka na końcu MediaWiki:Gadget-NAC-extras.js by coś tu pomogło? MarMi wiki (dyskusja) 22:46, 18 lut 2023 (CET)[odpowiedz]
Jeśli załadujesz przez mw.loader/importScript, to możesz nie ładować extras po prostu. Możesz spokojnie przez loader ładować, bo i tak nie ma żadnego znaczenia kiedy się to zładuje (i tak załaduje się przed VE pewnie). Nux (dyskusja) 21:46, 19 lut 2023 (CET)[odpowiedz]
A o tym nie pomyślałem. :)
Z tym że przy ładowaniu ze skryptu to prościej jest po prostu pominąć extras, przenosząc z niego ewentualnie to co się używa (i to przerobić), niż uwzględniać usuwanie części początkowych liter (co się dzieje przy identycznych fromach). MarMi wiki (dyskusja) 12:55, 20 lut 2023 (CET)[odpowiedz]
Jak wymyślisz jakieś ciekawe sekwencje i będą dobrze działać, to daj znać. Mogę dodać do gadżetu. Ew. mogę zrobić jako opcjonalne dodając jeszcze moduł konfiguracji. Nux (dyskusja) 21:48, 19 lut 2023 (CET)[odpowiedz]