Pisanie dokumentacji stało się łatwe dzięki VuePress
Wojciech Bąk
Pisanie dokumentacji to standard, który w wielu projektach staje się luksusem. Jej tworzenie łatwo schodzi na dalszy plan, zwłaszcza gdy kolejnym priorytetem stają się kolejne funkcjonalności na etapie dynamicznego rozwoju aplikacji.
Zawsze ważną kwestią było podjęcie wysiłku niezbędnego do zaprojektowania, zaprogramowania i wdrożenia czegoś, co spełnia kilka kryteriów:
pozwala szybko uzyskać dostęp do struktury aplikacji
umożliwia swobodne przeszukiwanie treści
zawiera zestaw informacji technicznych na temat zastosowanych rozwiązań
mogą być przechowywane na GitHub, najlepiej z możliwością łatwego wdrożenia.
Nic dziwnego, że dokumentacja wiąże się z dużymi wydatkami. Z drugiej strony zespół rośnie, onboarding generuje wiele kosztów, a do tego dział wsparcia stale zadaje deweloperom te same pytania. W pewnym momencie wszyscy tracą ... VuePress.
VuePress jest statycznym generatorem stron opartym na Vue.js, który świetnie nadaje się do tworzenia dokumentacji. Dobrym przykładem może być dokumentacja samej aplikacji Vue.js.
VuePress pozwala na edycję tekstów w formacie Markdown z wykorzystaniem komponentów Vue, które finalnie dają naprawdę szeroki wachlarz możliwości. Wystarczy zacząć od dwóch poleceń:
npm install -g vuepress
vuepress dev
Domyślnie VuePress uruchamia się w katalogu docs / i tworzy w nim własny folder vuepress. Po wprowadzeniu powyższych poleceń, automatycznie uruchamia się aplikacja Węzeł i wyświetla dokumentację pod adresem localhost: 8080 /. Oto przykład struktury plików.
Przy odpowiedniej konfiguracji, VuePress wygeneruje kompletną i bardzo estetyczną stronę. Jak widać na powyższym screenie, nasza dokumentacja zawiera dwa niestandardowe komponenty - CodeHeading i ColorSample.
Prostszym przykładem na początek będzie CodeHeading.
W ten sposób otrzymaliśmy w pełni czytelne rozwiązanie do prezentacji przykładów pracy z kodem.
Prawdopodobnie każdy programista frontendowy miał sytuację, w której brakowało mu reprezentacji HEX dowolnego koloru z projektu graficznego. A gdyby tak zawsze mieć kolor pod ręką i z góry ustalić określoną paletę? Zgadza się - dokumentacja w jakiś sposób zmusza nas do trzymania się standardu. Rezultat może wyglądać następująco:
W tym przykładzie wykorzystany został komponent ColorPicker.vue. Służy on nie tylko do prezentacji danego koloru - klikając na kółko, automatycznie skopiujemy kod HEX do schowka.
Szablon:
<template>
<div class="color-sample">
<div class="color-sample__container">
<div
class="color-sample__circle"
@click="copyToClipboard"
:style="`background-color: ${ color }`"
title="Kliknij, aby skopiować kod HEX"
>
<div class="color-sample__input-wrapper">
<input type="text" class="color-sample__input" :id="hexId" :value="color">
<div class="color-sample__input-overlay" :style="`background-color: ${ color }`"></div>
</div>
</div>
<p>
<strong>(( nazwa ))</strong><br/>
(( kolor ))
</p>
</div>
</div>
</template>
Z vuepressbudować możemy natychmiast wygenerować statyczne pliki HTML gotowe do szybkiej publikacji z pełną obsługą zasobów.
Warto wspomnieć, że VuePress umożliwia automatyczne wdrażanie na różnych platformach, w tym GitHub Pages. Ponadto możliwość tworzenia własnych motywów sprawia, że VuePress jest całkiem dobrym rozwiązaniem dla blogów.
Jeśli powyższe przykłady wzbudziły twoją ciekawość, po więcej informacji polecam zapoznać się z oficjalną dokumentacją VuePress projekt.