FunkcjeCennikDokumentacjaBlog
Pobierz mote
← Blog
Projektowanie·30 sierpnia 2026·4 min czytania

Uznaliśmy plik za źródło prawdy, aby zapisywane były tylko wpisane przeze mnie bajty

Czy zdarzyło Ci się zobaczyć w git diff tabelę, której nie zmieniałeś? mote nie traktuje modelu dokumentu jako źródła prawdy — jest nim plik, a podczas zapisywania na dysk trafiają wyłącznie wpisane przez Ciebie bajty.

m
mote
Pasek stanu tuż po wklejeniu jednego zdania i zapisaniu. Na dysku zmieniło się naprawdę tylko 17 bajtów.
Pasek stanu tuż po wklejeniu jednego zdania i zapisaniu. Na dysku zmieniło się naprawdę tylko 17 bajtów.

Czasem poprawiasz tylko jedno słowo w tabeli Markdown, a w Git wygląda to tak, jakby zmienił się cały dokument.

Dzieje się tak dlatego, że podczas zapisywania edytor ponownie porządkuje odstępy i podziały wierszy w tabeli. Zapisuje więc do pliku nawet spacje, których użytkownik nie wprowadził. Przykładem jest Typora, która wypełnia spacjami miejsca między pionowymi kreskami, aby wyrównać szerokość kolumn tabeli.

mote zapisuje inaczej. Pozostawia oryginalną treść pliku bez zmian, a efekty wizualne, takie jak pogrubienie, tabele i wzory, jedynie wyświetla na niej. Dlatego podczas zapisywania zmieniają się tylko bajty zmodyfikowane przez użytkownika.

Możesz sprawdzić zakres zmian przed zapisaniem

mote pokazuje na pasku stanu liczbę bajtów, które zmienią się po zapisaniu.

Porównuje oryginał z chwili pierwszego otwarcia pliku z jego bieżącą treścią i oblicza wyłącznie rzeczywiste różnice. Po edycji wyświetla 17 B oczekuje na zapis, a po cofnięciu wszystkich zmian komunikat zmienia się na Taki sam jak zapisany plik. Po zapisaniu Zapisano · 17 B pozostaje widoczne aż do następnej edycji.

Ekran po cofnięciu zmian — zamiast liczby bajtów, które miały się zmienić, na pasku stanu widnieje „Taki sam jak zapisany plik”.
Ekran po cofnięciu zmian — zamiast liczby bajtów, które miały się zmienić, na pasku stanu widnieje „Taki sam jak zapisany plik”.

Ta liczba działa niezależnie od Git. Można ją zobaczyć również w folderze, który nie jest repozytorium Git, i nie wpływa na nią stan obszaru przejściowego ani commitów.

Odpowiada jednak zakresowi zmian widocznemu w Git diff. Jeszcze przed zapisaniem możesz więc sprawdzić, czy zmieni się tylko to, co zostało przez Ciebie poprawione.

Gdy poprawisz jedną komórkę tabeli, zmieni się tylko ta komórka

Różnicę najlepiej widać podczas edytowania tabeli.

W trybie na żywo (Live) tabela jest wyświetlana jako siatka. Tylko komórka, w której znajduje się kursor, zmienia się w tekst źródłowy. Jeśli poprawisz w niej jedno słowo i zapiszesz plik, na pasku stanu pojawi się +8 −6 B. W Git diff pojawi się również tylko dany wiersz.

Pasek stanu i git diff po zmianie słowa w jednej komórce tabeli w trybie na żywo i zapisaniu pliku. Wyrównanie tabeli ani pozostałe wiersze nie zmieniły się nawet o jeden bajt.
Pasek stanu i git diff po zmianie słowa w jednej komórce tabeli w trybie na żywo i zapisaniu pliku. Wyrównanie tabeli ani pozostałe wiersze nie zmieniły się nawet o jeden bajt.

Wyrównanie kolumn i spacje między pionowymi kreskami pozostają bez zmian. mote nie modyfikuje także znaczników listy * ani dwóch spacji na końcu wiersza. Jeśli plik nie miał końcowego znaku nowego wiersza, nie zostanie on dodany.

Tak samo działa wklejanie. Tekst ze schowka jest wstawiany bez zmian i bez konwertowania go na inny format. Dodaną ilość danych można od razu sprawdzić na pasku stanu. Jeśli efekt Ci się nie podoba, możesz cofnąć operację jednym ruchem i wrócić do stanu identycznego z zapisanym plikiem.

Zachowywane są również inne cechy pliku. CRLF pozostaje CRLF, a pliki zawierające jednocześnie LF i CRLF również są zapisywane bez zmian. BOM i końcowy znak nowego wiersza są zgodne z oryginałem. Przy każdym wydaniu to zachowanie jest sprawdzane za pomocą testów zapisu w obie strony.

Zmiana pliku rozpoczyna się wyłącznie od działania użytkownika

Istnieją trzy sytuacje, w których mote dodaje bajty do dokumentu.

Gdy użytkownik wpisuje lub wkleja tekst, gdy po zatwierdzeniu obrazu ze schowka zapisuje go i wstawia odnośnik oraz gdy przeciąga róg obrazu, aby zmienić jego rozmiar, a wartość ta zostaje zapisana w tekście alternatywnym.

Każda z tych edycji jest bezpośrednio inicjowana przez użytkownika. To, co się zmieniło, można również sprawdzić w historii zmian.

mote nie tworzy też dodatkowych plików obok dokumentu. Informacje, których nie da się zapisać w Markdown, takie jak szerokość kolumn tabeli, nie są przechowywane osobno — ta funkcja po prostu nie jest oferowana.

Informacje aplikacji, takie jak ustawienia, ostatnio używane pliki i 20 kopii zapasowych, są przechowywane wyłącznie w folderze stanu w katalogu domowym użytkownika. Dzięki temu folder dokumentów działa w Git, Dropboxie czy Syncthingu tak, jakby mote w ogóle nie istniał.

W zamian plik nie jest automatycznie poprawiany

Zachowanie pliku bez zmian oznacza również, że błędna składnia nie jest samowolnie poprawiana.

Uszkodzone tabele, niezamknięte bloki kodu i nieprawidłowe wcięcia list są wyświetlane dokładnie tak, jak interpretuje je CommonMark. Jeśli efekt różni się od oczekiwanego, trzeba poprawić go samodzielnie w trybie źródłowym (Source).

Edytor, w którym nie wiadomo, co zmieni się podczas zapisywania, tylko pożycza plik. mote oddaje Ci przekazany plik w niezmienionej postaci.

← StarszeDlaczego zamiast mówić, że jest lekki, publikujemy konkretne liczbyNowsze →Jak sprawiliśmy, że plik nie ulegnie uszkodzeniu, nawet jeśli program wyłączy się podczas zapisywania
Bądź na bieżąco przez RSS.
Nic poza pisaniem.
Polski
© 2026 mote