Tworzymy wzory dokumentów rozumiane przez człowieka i maszynę.
Szablony a wśród nich Moustache
Automatyzacja wkracza coraz odważniej w różne dziedziny życia. Już nie tylko stworzysz CV z pomocą szablonów Google ale także przygotowywanie dokumentów prawnych opiera się w coraz większej mierze na "templatkach". Korzyści z używania składni markdown do dokumentów prawnych sprawdziły się w praktyce niejednej kancelarii. Dzięki markdown można się nauczyć czytać i pisać nowy rodzaj języka prawniczego - przyjazny dla komputera. Ale to nie koniec – kolejnym krokiem są szablony, także rozumiane przez komputer. Aby to osiągnąć musimy umieć wyrazić w swoich dokumentach polecenia takie jak: „uwzględnij tę sekcję tylko wtedy, gdy klient chce przedłużenia gwarancji” lub „napisz to w umowie, jeśli kontrahent jest osobą fizyczną, a to z kolei jeśli jest to firma”. I trzeba to zrobić w taki sposób aby zarówno komputery, jak i ludzie mogli zrozumieć o co chodzi. Kiedy przychodzi czas na przygotowanie gotowego dokumentu, komputer jedynie zszyje wszystkie elementy, natychmiastowo i bezbłędnie.
Z technicznego punktu widzenia pomocny będzie więc taki „systemu szablonów”, konwencja wpisywania „jeśli-to” w dokumentach, zrozumiałych zarówno dla ludzi, jak i komputerów. Jednym z takich systemów jest „Mustache”. Możesz przeczytać o rzeczonych Wąsach na Wikipedii i samemu zagłębić się w instrukcję ale przede wszystkim zacznij od mustache.github.io. A tutaj omówimy podstawowe, przykładowe kwestie pomocne dla prawników.
Nawiasy klamrowe to podstawa
W Mustache używane są {{podwójne nawiasy klamrowe}}
do oznaczania instrukcji tworzenia szablonów. Stąd nazwa „wąsy”. Zdecydowanie najważniejszą instrukcją dotyczącą szablonów jest „jeśli coś tam, dołącz ten następny blok tekstu, w przeciwnym razie pomiń”. To wygląda tak:
{{#extended}}
# Rozszerzona gwarancja
Sprzedawca gwarantuje, że oprogramowanie będzie działać zgodnie z opisem w dokumentacji przez rok od dostawy.
{{/extended}}
Możesz przeczytać {{#extended}}
jako „dodaj następujący tekst, jeśli przełącznik „extended” jest włączony oraz {{/extended}}
jako „to koniec tekstu do dodania”. Zauważ, że instrukcja początkowa używa znaku #
, podczas gdy instrukcja końcowa używa /
. Po każdej instrukcji #
musi następować odpowiednia instrukcja /
. Tak, te instrukcje wyglądają trochę dziwnie – ale muszą bo musimy je jakoś odseparować od samego tekstu.
Dalsze przykłady
Instrukcje „jeśli-to” nie ograniczają się do dodawania lub usuwania całych sekcji. Działają również w akapitach, listach, nagłówkach i tym podobnych. Na przykład:
# Powiadomienia dla Wykonawcy
Wszelkie powiadomienia do wykonawcy w ramach niniejszej umowy należy przesyłać na adres {{#individual}}domowy wykonawcy{{/individual}}{{#entity}}siedziby wykonawcy{{/entity}}.
W tym przykładzie, jeśli przełącznik „individual” jest włączony, a przełącznik „entity” wyłączony, wynikiem będzie: Wszelkie powiadomienia do wykonawcy w ramach niniejszej umowy należy przesyłać na adres domowy wykonawcy.
Oczywiście w sytuacjach takich jak osoba fizyczna lub kontrahent tak naprawdę nie potrzebujemy dwóch przełączników. Jeśli ktoś nie jest osobą, wiemy, że jest jakąś jednostką. Innymi słowy, jeśli przełącznik „individual” jest włączony, przełącznik „entity” powinien być wyłączony i odwrotnie. Możemy więc użyć tylko jednego przełącznika aby wyrazić wzajemnie wykluczający się wybór za pomocą instrukcji {{^ individual}}
. Możemy odczytać tę instrukcję jako jeśli przełącznik „individual” jest wyłączony, dołącz następny kawałek tekstu, w przeciwnym razie pomiń.
Sprawdź oferty pracy na TeamQuest
Pisanie wzorca
Mustache może oczywiście robić inne rzeczy i ma jeszcze kilka ciekawych instrukcji. Ale z doświadczenia wynika, że to, co tu omówiliśmy, pozwala robić prawie wszystko, czego potrzebują prawnicy w większości swojej pracy. Pisanie szablonu zmienia się w taki oto proces:
- Zidentyfikuj wszystkie przełączniki, których będziesz potrzebować dla wszystkich odmian, które chcesz objąć, i nadaj im krótkie nazwy pisane małymi literami.
- Zapisz wszystkie potrzebne terminy w jednym dużym pliku Markdown.
- Dodaj instrukcje Mustache, aby zaznaczyć części, które zmieniają się w zależności od przełączników.
Teraz zostaje już tylko napisać program obsługujący te templatki, przydatne rzecz jasna nie tylko dla prawników… ;-)