Animation z CSS3 spowalnia stronę

Animation z CSS3 spowalnia stronę
Mossar
  • Rejestracja:prawie 13 lat
  • Ostatnio:około 10 lat
  • Postów:74
0

Nie ważne jak infantylnie brzmi tytuł, nie umiałem lepszego wymyślić, ale problem nie jest trywialny, nawet dosyć ciekawy.

Moja strona działa na darmowym serwerze (wcześniej friko teraz hostinger). Przeniosłem się na hostingera, bo friko dziwne rzeczy robiły przy przesyłaniu czegokolwiek między PHP a JSem, ale to nie jest związane z moim problemem. Dla podejrzenia problemu strona: www.wojciechmoska.hekko.pl

Tła na mojej stronie otwierają się długo mimo dość dużej optymalizacji tych jpgów z mojej strony. Niestety mają szerokość 1920px, więc ciężko było uzyskać wielkości mniejsze niż 150kb. Ale to nie jest powód spowalniania strony, bo jak już się załaduje to jest OK.

Problem jest z CSSowym animation. Jak widać na mojej stronie na tle latają takie białe świetliki, latają z różną prędkoscią i po krzywej, więc animacja jest duża. Na moim komputerze i wielu innych, które sprawdzałem jest w porządku i strona nie ma jakiś zwiech. Ale sprawdzałem też na kilku innych, na których strona się bardzo ścinała i dopiero kliknięcie w "wyłącz animacje" w stopce powodowało uspokojenie się strony. Wyłącz animację najzwyczajniej w świecie w JSie zatrzymuje animację.

Kopiuj

html, body { 
    background: url(images/dotbig.png), url(images/dotmedium.png), url(images/dotmedium.png), url(images/dot.png), url(images/dot.png), url(images/background.jpg);
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
    height: 100%;
    margin: 0px;
    padding: 0px;
    text-align: center;

    animation: AnimateDots 33s linear infinite;
    animation-play-state: paused;
    -webkit-animation: AnimateDots 33s linear infinite;
    -webkit-animation-play-state: paused;
    z-index: 0;
}



@keyframes AnimateDots{  
 0% {background-position: 40% 40%,    80% 15%,    15% 60%,    50% 120%,    120% 120%, center center;}
20% {background-position: 60% 70%,    60% 30%,    20% 20%,    60% 97%,     90% 90%, center center;}
40% {background-position: 100% 90%,   35% 50%,    25% -20%,   70% 80%,     60% 50%, center center;}
55% {background-position: 120% 120%,  15% 70%,    -20% -20%,  85% 60%,     45% 30%, center center;}
61% {background-position: -20% 120%,  12% 80%,    -20% 120%,  88% 52%,     40% 28%, center center;}
66% {background-position: -20% 0%,    0% 120%,    -20% 120%,  92% 47%,     36% 26%, center center;}
72% {background-position: 0% 0%,      -20% 120%,  -20% 120%,  95% 45%,     25% 25%, center center;}
78% {background-position: 10% 10%,    120% 120%,  0% 120%,    97% 42%,     15% 23%, center center;}
82% {background-position: 20% 20%,    120% -20%,  5% 105%,    98% 36%,     12% 22%, center center;}
85% {background-position: 25% 25%,    110% -5%,   8% 90%,     102% 34%,    8% 22%, center center;}
92% {background-position: 30% 30%,    95% 5%,     10% 76%,    105% 33%,    0% 21%, center center;}
100% {background-position: 40% 40%,   80% 15%,    15% 60%,    120% 30%,    -20% 20%, center center;}
}

//dla webkita to samo

Jak widać animacja zmienia się często. Tło składa się z aż 6 elementów, z czego aż 5 ma zmienianych pozycję co chwilę.

Moje pytania brzmią: Czy macie jakiś pomysł jak zoptymalizować to pozostawiając animację w miarę taką skomplikowaną jaka jest? Czy u Was też są jakieś problemy z szybkością działania strony. Czy np. pozostawienie w tle tylko serio tła, a animowanie kilku elementów img będzie działać lepiej? Czy korzystając z JSowych funkcji albo jQuerowego animate mogłoby to działać szybciej?

Pierwsze moje spostrzeżenie było takie, że działa to wolno może dlatego, że robię animacje na tle, a gdyby to były elementy img to by było szybciej (tak intuicyjnie), ale nie mam jak tego poprzeć, więc poprawcie mnie jak coś.

Temat w ogóle wydaje mi się ciekawy, bo zastanawiam się co by wypadło najlepiej pod względem szybkości działania animacji: CSS3 czy JS.


edytowany 2x, ostatnio: Mossar
dzek69
Moderator
  • Rejestracja:ponad 18 lat
  • Ostatnio:około 19 godzin
  • Lokalizacja:Rzeszów
1

Wydaje mi się, że aż tak bardzo nie powinno przymulać, ale fakt - trochę przymula, szczególnie na Operze 12, gdy procesor mam limitowany do kilku % jego mocy, a Opera12 słabo sobie radzi z renderingiem. Na webkicie raczej śmiga.

Jest szansa, że przesuwając elementy IMG będzie to działać szybciej. Problem nie jest z samą animacją, problem jest z renderingiem tego wszystkiego. Przesuwanie tła widzę, że powoduje repaint CAŁEGO obszaru strony. Wyrzucając te elementy do <img> z position:absolute jest szansa, że to będzie szybsze. W Chrome sobie włącz Narzędzia Deweloperskie, W opcjach w General, w Appearance zaznacz Show 'Rendering' view ..., potem zamknij ustawienia i naciśnij Esc - przełącz na zakładkę 'Rendering' i tam masz opcję do podświetlania obszaru ponownego rysowania.

Jeżeli manipulujesz na tych samych właściwościach (tu: background-position)to CSS3 będzie szybsze niż JS.

Edit: Aha, i jeszcze użyteczne linki [nie czytałem, więc nie wiem czy się odnoszą do problemu, ale wiedza ogólna zawsze się przyda]:
http://www.html5rocks.com/en/tutorials/speed/unnecessary-paints/
http://www.paulirish.com/2011/viewing-chromes-paint-cycle/
(gdzieś kiedyś widziałem kilometrowy artykuł na ten temat, niestety nie znalazłem teraz)

A taki offtop - masz niezłą stronkę, jesteś studentem, nie gimnazjalistą - czemu męczysz ją na darmowych hostingach (sam zauważyłeś, że tło się ładuje wolno, pomimo, że ma tylko 150KB, a dzisiejsze "internety" takie ilości przyjmują w ułamek sekundy)? Domena .net - 35zł/rok na OVH, hosting - np. hekko.pl - 44zł/rok --- a odpadają problemy darmowych hostingów, a CAŁOŚĆ wygląda profesjonalnie (na własnej domenie, zamiast jakieś xxxxxx.96.lt), koszt raczej nieduży :)


edytowany 1x, ostatnio: dzek69
Mossar
Okej dzięki, spróbuje dzisiaj ogarnąć czy będzie różnica przy użyciu imgów i dam znać :) Co do hostingu, nie siedzę w webmasteringu tak długo, więc postawiłem sobie stronę na darmowym, ale już ostatnio myślałem o hekko, bo to jednak nie jest duży wydatek raz na rok zapłacić 40-50 zł. Więc prawdopodobnie w ciągu paru dni/tygodni sobie tam postawię stronę.
Mossar
  • Rejestracja:prawie 13 lat
  • Ostatnio:około 10 lat
  • Postów:74
0

Strona główna już przekształcona na wersję z <img>. Wydaje się być lepiej, kiedy te świetliki są odseparowane od tła.

Niestety nie udało mi się wejść do tego renderingu w Chrome. Albo moja wersja tego nie ma albo ja nie umiem tego znaleźć.

Jeśli kogoś interesuje wygląda to tak:
Przykładowy świetlik:

Kopiuj
<img src="images/dotbig.png" id="dot_1" alt="Big Dot" />  

Przykładowa animacja:

Kopiuj
#dot_1{
    position: absolute;
    left: 40%; top: 40%;
    animation: AnimateDot1 33s linear infinite;
    -webkit-animation: AnimateDot1 33s linear infinite;   
}

@keyframes AnimateDot1{
    0% {left: 40%; top: 40%;}
    20% {left: 60%; top: 70%;}
    40% {left: 100%; top: 90%;}
    55% {left: 120%; top: 120%;}
    61% {left: -20%; top: 120%;}
    66% {left: -20%; top: 0%;}
    72% {left: 0%; top: 0%;}
    78% {left: 10%; top: 10%;}
    82% {left: 20%; top: 20%;}
    85% {left: 25%; top: 25%;}
    92% {left: 30%; top: 30%;}
    100% {left: 40%; top: 40%;}
}

edytowany 1x, ostatnio: Mossar
dzek69
Moderator
  • Rejestracja:ponad 18 lat
  • Ostatnio:około 19 godzin
  • Lokalizacja:Rzeszów
0

Ma mniej do przerysowania, choć Chrome pokazuje i tak, że większość czasu cały obszar jest przerysowany - generalnie ciut lepiej może chodzić.

Za to przeróbka tego na IMG spowodowała, że:

  • Na Operze 15+ coś nawala z tłem (spowodowane jest to background-color: black dla html, body)
  • Można przescrollować stronę w dół w momencie jak świetlik zaczyna uciekać poza ekran.

Co do Narzędzi Webdev: Albo tutaj albo tutaj masz przycisk konfiguracji. Potem albo to albo to zaznaczasz. W pierwszym przypadku po zamknięciu opcji wciśnij ESC, pojawi się mini-konsola z trzema zakładkami, w ostatniej masz tę same opcje.

Kolejny Off-topic:
Z tym to nie jesteś sprytny, co najwyżej naiwny, bądź [bez urazy] głupi - to jest BLACK SEO i za to dostaniesz bana od Google. Za to na pozycjonowanie doskonale wpłynie zamiana tego na tło + TEKST w html. Stronę buduje się na treści, ale prawdziwej treści oraz takiej, którą boty są w stanie odczytać (nie czytają grafik).
<h1> na tekst "Jeśli strona działa wolno" to marnotrawienie tego tagu i działanie nielogiczne.
A normalna domena i płatny hosting także pomogą w utrzymaniu wyższej pozycji (na darmówkach jest mnóstwo śmieciowych stron, więc wszystkie spychane są niżej).


Mossar
  • Rejestracja:prawie 13 lat
  • Ostatnio:około 10 lat
  • Postów:74
0

Za to przeróbka tego na IMG spowodowała, że:

  • Na Operze 15+ coś nawala z tłem (spowodowane jest to background-color: black dla html, body)
  • Można przescrollować stronę w dół w momencie jak świetlik zaczyna uciekać poza ekran.

Co do drugiego to sprawdź jak działa po odświeżeniu. Ale może jest coś nie tak. Dałem overflow: hidden, nie wiem czy działa na wszystkie przeglądarki. A ten background postaram się poprawić.

Kolejny Off-topic:
Z tym to nie jesteś sprytny, co najwyżej naiwny, bądź [bez urazy] głupi - to jest BLACK SEO i za to dostaniesz bana od Google.

No okej, nawet nie wiedziałem, że to jest black seo, jakaś "mądra" strona o pozycjonowaniu to pisała i ja głupi uznałem, że tak się robi.

Za to na pozycjonowanie doskonale wpłynie zamiana tego na tło + TEKST w html. Stronę buduje się na treści, ale prawdziwej treści oraz takiej, którą boty są w stanie odczytać (nie czytają grafik).

W stronie, którą robiłem po tej już się stosowałem do tej zasady. Tutaj jeszcze nie zdążyłem tego przekształcić (bo teraz od kilku dni ją zmieniam na to czego się nauczyłem od ostatniego czasu). Strona już działała parę miesięcy temu, ale wtedy kompletnie zaczynałem. Teraz staram się wprowadzać to co od czego czasu poznałem/nauczyłem się).

<h1> na tekst "Jeśli strona działa wolno" to marnotrawienie tego tagu i działanie nielogiczne.

Okej, poprawię.

A tak uprzedzając, formularz nie ma walidacji bo był zrobiony wczoraj. W ogóle strona jest mimo wszystko w trakcie tworzenia, modyfikacji, dlatego między innymi napisałem tutaj. Błędy które mi wskazałeś postaram się naprawić.

EDIT:
Zmieniłem to h1 na p, usunąłem te ukryte nagłówki. I zauważyłem coś co jeśli dobrze wnioskuje jest jednoznacznym powodem do zakupu jakiegoś konkretnego hostingu. Mianowicie prawdopodobnie trochę osób z 4programmers weszło na moją stronę i serwer nie wytrzymał, bo około 19 nie potrafiłem na nią wejść, były jakieś komunikaty o błędzie. A nie wierzę, że weszło mi 1000 osób na strone. Pewnie kilkanaście/kilkadziesiąt max i strona już padła. Chyba, że powód był jakiś inny.

Co do Renderingu, udało mi się już to uruchomić, dzięki. Z tego co zauważyłem to te obramowanie wskazuje po prostu prostokąt, w obrębie którego znajdują się wszystkie świetliki a nie całą stronę. Ale może źle rozumiem to narzędzie. Tak czy inaczej przydatne, będę częściej korzystał.

Jeśli byś miał chwilkę czasu to spróbuj wejść na tą Operę i kliknąć "Odśwież". Bo mi taka sytuacja jak mówisz się robiła właśnie jak nie odświeżyłem strony. Nie wiem czy to ma coś wspólnego z pamięcią podręczną czy nie, ale tak mi to pasuje. Jak dalej tak będziesz miał to się bede zastanawiał co jest źle. Sprawdzałem na Operze 18, Chromie 31, Firefoxie 26, IE11 i jest w porządku.


edytowany 11x, ostatnio: Mossar
dzek69
Moderator
  • Rejestracja:ponad 18 lat
  • Ostatnio:około 19 godzin
  • Lokalizacja:Rzeszów
0
Mossar napisał(a):

Co do drugiego to sprawdź jak działa po odświeżeniu. Ale może jest coś nie tak. Dałem overflow: hidden, nie wiem czy działa na wszystkie przeglądarki. A ten background postaram się poprawić.

Błąd po mojej stronie - rozszerzenie do przeglądarki. Psuje tylko dwie strony - Twoją i wallbase.cc

No okej, nawet nie wiedziałem, że to jest black seo, jakaś "mądra" strona o pozycjonowaniu to pisała i ja głupi uznałem, że tak się robi.

Uważaj na strony "o pozycjonowaniu" (zazwyczaj i tak zawierają jakieś pseudoporady, po to, żeby była treść, a na dole promowała linki) a tym bardziej "specjalistów seo" oferujących swoje usługi (szczególnie na allegro, w śmiesznie niskich cenach [choć wysoka cena nic nie gwarantuje]) - większość z nich to oszuści, albo po prostu zwykli spamerzy, którzy zaspamują Twoim serwisem sieć (a niektórzy zechcą dokonać poprawek na Twojej stronie, zwykle psując ją - miałem doświadczenia z wieloma takimi, bo klient, któremu robiłem stronę potem zgłaszał mi, że coś nie działa, ja zaglądam, a tam masa dziwnego kodu "pozycjonerskiego" i u jednych nie działa cała wersja angielska strony [!], w innej stopka się rozpada, itd.).
Po prostu stosuj tagi zgodnie z ich przeznaczeniem (h1, h2, h3... do nagłówków, li do list, article i inne z html5 zgodnie z przeznaczeniem) i miej na stronie trochę treści (dostępnej dla przeglądarek) - to więcej jak połowa sukcesu.

Mossar napisał(a):

W stronie, którą robiłem po tej już się stosowałem do tej zasady. Tutaj jeszcze nie zdążyłem tego przekształcić (bo teraz od kilku dni ją zmieniam na to czego się nauczyłem od ostatniego czasu). Strona już działała parę miesięcy temu, ale wtedy kompletnie zaczynałem. Teraz staram się wprowadzać to co od czego czasu poznałem/nauczyłem się).
A tak uprzedzając, formularz nie ma walidacji bo był zrobiony wczoraj. W ogóle strona jest mimo wszystko w trakcie tworzenia, modyfikacji, dlatego między innymi napisałem tutaj. Błędy które mi wskazałeś postaram się naprawić.

Nie testowałem nic dogłębnie, tylko to, co przypadkiem rzuciło się w oczy. Cieszę się, że pomogłem i przyglądam się efektom (bo podoba mi się to, co robisz, a rzadko na 4p widuję linki do prac, które mi się podobają)

Mossar napisał(a):

EDIT:
Zmieniłem to h1 na p, usunąłem te ukryte nagłówki. I zauważyłem coś co jeśli dobrze wnioskuje jest jednoznacznym powodem do zakupu jakiegoś konkretnego hostingu. Mianowicie prawdopodobnie trochę osób z 4programmers weszło na moją stronę i serwer nie wytrzymał, bo około 19 nie potrafiłem na nią wejść, były jakieś komunikaty o błędzie. A nie wierzę, że weszło mi 1000 osób na strone. Pewnie kilkanaście/kilkadziesiąt max i strona już padła. Chyba, że powód był jakiś inny.

W "jakichś komunikatach o błędach" najważniejsze jest, żeby je zapisać ;) Bez tego ciężko dojść co się działo. Na 4p masz 140 wyświetleń tego tematu, unikalnych wejść pewnie - ok 60.

Mossar napisał(a):

Co do Renderingu, udało mi się już to uruchomić, dzięki. Z tego co zauważyłem to te obramowanie wskazuje po prostu prostokąt, w obrębie którego znajdują się wszystkie świetliki a nie całą stronę. Ale może źle rozumiem to narzędzie. Tak czy inaczej przydatne, będę częściej korzystał.

Zaznacza prostokąt, gdzie dokonuje przerysowania. Tych prostokątów może być kilka na stronie (przebadaj sobie to na innych stronach). Tu widać przerysowanie jest dokonywane od najbardziej wysuniętej kropki na lewo i do góry, do najbardziej wysuniętej kropki na prawo i dół. Czyli im kropki wszystkie są bliżej środka - tym mniej do przerysowania. Nie wiem czy można to jakoś usprawnić na tyle, by tylko obszar na którym kropki aktualnie są były przerysowywane. Warto też pamiętać, że algorytm przerysowywania może być inny na innych przeglądarkach.

Mossar napisał(a):

Jeśli byś miał chwilkę czasu to spróbuj wejść na tą Operę i kliknąć "Odśwież". Bo mi taka sytuacja jak mówisz się robiła właśnie jak nie odświeżyłem strony. Nie wiem czy to ma coś wspólnego z pamięcią podręczną czy nie, ale tak mi to pasuje. Jak dalej tak będziesz miał to się bede zastanawiał co jest źle. Sprawdzałem na Operze 18, Chromie 31, Firefoxie 26, IE11 i jest w porządku.

Wyżej napisałem - to był mój błąd. A co do cache przeglądarek - gdy zmieniasz coś na stronie, np. w pliku css, który jest chętnie cachowany przez przeglądarki - w <link /> w którym podpinasz styl, na końcu adresu dopisuj jakiś string po pytajniku, np. jak teraz miałbyś:
/css/style.css
to rób sobie
/css/style.css?v=1
i potem tę jedynkę zwiększaj z każdą wersją.
Dla przeglądarki te dwa adresy to różne pliki, więc na pewno taki plik będzie wczytany od nowa osobom, które mogą mieć scachowaną wersję poprzednią.


Mossar
Czyli to jest tak jakby przesyłanie GETem zmiennej v, ale ona nigdzie nie jest odbierana, ale za to przeglądarka widzi nowy plik? Dzięki za pozytywną opinię ;) Wiem, że masa nauki jeszcze przede mną, ale ponoć człowiek się uczy całe życie :D
dzek69
Dokładnie tak.
Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)