Edytor wpisów bezpieczny i wygodny

Możliwość formatowania tekstu przez użytkowników witryny jest cenna, na pewno jednak nie chcemy dawać każdemu dostępu do wszystkich znaczników. Drugą kwestią jest tag soup i niesemantyczny kod, co – w gruncie rzeczy – oznacza konieczność pozbycia się wybranego doctype ze źródła strony.

Filtry takie jak htmLawed czy HTML Purifier, mające zapewnić czysty kod, nie do końca spełniają swoje zadanie. Obydwa pomijają na przykład kwestię pustych elementów (puste znaczniki <ul></ul>) i w wielu przypadkach niepoprawnie rozpoznają intencje autora „zupy z tagów”. Wbudowany w Drupala filtr HTML jest jeszcze bardziej prymitywny.

Co robić? Instalować Texy! (demo). Filtr ten, dysponujący własnym zestawem prostych, „e-mailowych” znaczników, daleko przewyższa wymienione wcześniej. Co więcej, może się też zająć porządkowaniem kodu HTML, choć tu jego przewaga się zmniejsza.

Z Texy! doskonale współpracuje edytor quasi-WYSIWYG o nazwie BUEditor. Główną jego zaletą jest możliwość tworzenia własnych przycisków formatujących z poziomu interfejsu Drupala. Proste reguły wykorzystujące JavaScript i przycisk gotowy.

Załączam zestaw przycisków własnego autorstwa, stworzony z myślą o Texy. W działaniu można go zaobserwować w tej witrynie, w formularzach dodawania i edycji wpisów. Przyciski umożliwiają zaakcentowanie tekstu, oznaczenie cytatu, stworzenie listy punktorowanej lub numerowanej, wstawienie odnośnika, itd.

ZałącznikWielkość
bueditor-texy-arche.csv2.67 KB

Sposób wyświetlania odpowiedzi

Wybierz preferowany sposób wyświetlania odpowiedzi i kliknij "Zachowaj ustawienia", by wprowadzić zmiany.
Portret użytkownika palik

przyciski zacne

moderator

przyciski zacne ale

  1. mogą być niezrozumiałe dla śmiertelników (chociaż są opisy wyskakujące więc luz),
  2. średnio działa zaznaczanie kilku akapitów/linii

przykładowo

  • wypisuję (enter)

listę(enter) zaznaczam (enter) całą(enter) klikam(enter) w guzik i…(enter)

no właśnie, oznaczony zostaje tylko pierwszy wiersz,

(przy okazji dziwny bug który znam już z mojego podpisu – pisanie :

linia (enter) po (enter) linii (enter)

skutkuje opuszczeniem tych enterów…)

tak czy inaczej fajna rzecz…

-- drupal w akcji? http://palikowski.net http://basoofka.net

Portret użytkownika archetwist

JS

moderator

średnio działa zaznaczanie kilku akapitów/linii

W przypadku list – rozumiem. Powinienem był nazwać te przyciski „Element listy […]”, bo mają tworzyć elementy listy, a nie całą listę. Zbytnie kombinowanie z listami nie ma chyba sensu, bo składnia Texy jest w tym pzypadku niezwykle intuicyjna i ogranicza się do wpisania znaku i spacji.

Co do reszty przycisków, to taki na przykład <strong> i tak nie powinien obejmować więcej niż jednego akapitu.

Aha, jest jeszcze kwestia akapitów przy cytowaniu…

Większy problem mam z umieszczeniem kursora w odpowiednim miejscu. Najlepiej by było, gdyby znajdował się pod sformatowanym fragmentem. Jeśli ktoś wie jak to zrobić, niech się wiedzą podzieli. W dokumentacji BUEditor jest coś o indeksach znaków, ale to raczej niewiele pomaga.

Returns the index values of selection start and selection end.

Returns {start: X, end: Y} where X is the start index and Y is the end index.

Kolejna sprawa to „inteligentne” wstawianie nowych linii. Tego chyba się nie da przeskoczyć. Skrypt musiałby w jakiś sposób sprawdzać, czy przed zaznaczonym fragmentem znajduje się pusta linia, a jeśli tak – nie dodawać nowej (analogicznie – po fragmencie).

przy okazji dziwny bug który znam już z mojego podpisu – pisanie […] skutkuje opuszczeniem tych enterów…

Texy opuszcza pojedyncze znaki nowej linii. Podwójne zamienia w akapity, a by zachować pojedynczy należy go poprzedzić spacją. Jest to opisane we Wskazówkach dotyczących tworzenia zawartości ;) .

++P.S. Cytowanie wielu akapitów poprawione.++

design www drupal

Portret użytkownika palik

Texy opuszcza pojedyncze

moderator

Texy opuszcza pojedyncze znaki nowej linii. Podwójne zamienia w akapity, a by zachować pojedynczy należy go poprzedzić spacją. Jest to opisane we Wskazówkach dotyczących tworzenia zawartości ;) .

heh no to to rzeczywiście intuicyjne – nigdy bym nie wpadł na to (domyślnie przyjąłem że to jakiś bug)

Dla Ciebie texy! jest intuicyjne ale pamiętaj, że 99% użytkowników stron opartych o drupala (pomijam tę i jej podobne) jednak nie wie co to texy! w ogóle jest i po co.

Ale tak naprawdę piszę to na siłę nieco, żeby sprawdzić formatowanie tych enterów :) sorki :P

edit – no kurcze, działa! w końcu mój podpis będzie wyglądał prześlicznie :D

--
drupal w akcji?
http://palikowski.net
http://basoofka.net

Portret użytkownika archetwist

HEH

moderator

heh no to to rzeczywiście intuicyjne – nigdy bym nie wpadł na to (domyślnie przyjąłem że to jakiś bug)

To akurat, zgadzam się, jest absolutnie nieintuicyjne. Podejrzewam, że spacja jest wymagana, by „odfiltrować” przypadkowe podziały na linie, albo – co chyba bardziej prawdopodobne – podziały w tekstach o określonej liczbie kolumn (e-mail, programowanie, it­p.).

Dla Ciebie texy! jest intuicyjne ale pamiętaj, że 99% użytkowników stron opartych o drupala (pomijam tę i jej podobne) jednak nie wie co to texy! w ogóle jest i po co.

Nie muszą wiedzieć, dysponują opisem znaczników :) . Kiedy pisałem o intuicyjności, miałem na myśli takie podstawowe znaczniki jak * czy -. Któż nie stawia kreski przed wyliczeniami? ;)

Ale tak naprawdę piszę to na siłę nieco, żeby sprawdzić formatowanie tych enterów :) sorki :P

Przynajmniej jesteś szczery ;) .

design www drupal

Możecie mi wytłumaczyć

Możecie mi wytłumaczyć dlaczego nie pojawiają mi się ikonki formatowania tekstu? Zainstalowałem Texy! i BueEditor, ale mimo to ikonek nie mam. Proszę o pomoc.

Portret użytkownika archetwist

Nie są ustawione w

moderator

Nie są ustawione w konfiguracji BUEditor lub nie ma ich w odpowiednim podkatalogu modułu.

design www drupal

Przyciski są wgrane na

Przyciski są wgrane na serwer, bo widzę je w ustawieniach, jednak nie pojawiają się ani w Demie ani w oknie pisania komentarzy.

Dodaję screen, może rozjaśni nieco sytuację

"":http://img153.imageshack.us/…creennv3.jpg

Portret użytkownika archetwist

Nie pojawiają się ikonki

moderator

Nie pojawiają się ikonki czy przyciski?

design www drupal

Nie pojawiają się ani

Nie pojawiają się ani ikonki ani przyciski. Może problem w rzeczywistości nie jest trudny do rozwiązania, ale dopiero zaczynam przygodę z Drupalem i muszę się go nauczyć.

Pole pisania komentarzy wygląda dokładnie tak samo jak przed zainstalowaniem modułów, podobnie jest zresztą w demie BUEditora.

Portret użytkownika archetwist

Masz włączoną w

moderator

Masz włączoną w przeglądarce obsługę JavaScript? Na stronie konfiguracji BUEditor, pod User access settings ustawiłeś użytkownikom odpowiedni profil (zazwyczaj default) za pomocą Assigned editor?

design www drupal

Java jest włączona, a

Java jest włączona, a edytor przypisany. Może trzeba zmienić coś w ustawieniach Texy?

Czy wykorzystanie tego

Czy wykorzystanie tego modulu w taki sposob – (http://wolnastrona.pl/…d/moderowany ) stwarza jakies zagrozenia?

Moja strona na Drupalu – http://wolnastrona.pl

Portret użytkownika archetwist

Filtered HTML

moderator

W taki, to znaczy w jaki? HTML zamiast Texy? Zagrożeń dla bezpieczeństwa witryny nie, ale standardowy filtr HTML Drupala:

  1. nie dość dba o poprawność kodu, czyli z DOCTYPE Strict można się pożegnać
  2. nie daje przy tym możliwości stosowania klas CSS i innych wybranych atrybutów

design www drupal