{"id":34791,"date":"2019-10-31T22:00:25","date_gmt":"2019-10-31T19:00:25","guid":{"rendered":"https:\/\/prohoster.info\/blog\/zhivye-gajdlajny-mdx-i-drugie-frejmvorki\/"},"modified":"2019-10-31T22:00:25","modified_gmt":"2019-10-31T19:00:25","slug":"zhivye-gajdlajny-mdx-i-drugie-frejmvorki","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/zhivye-gajdlajny-mdx-i-drugie-frejmvorki","title":{"rendered":"\u017bywe wytyczne \u2014 MDX i inne frameworki","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Mo\u017cesz mie\u0107 najlepszy projekt z otwartym kodem \u017ar\u00f3d\u0142owym, ale je\u015bli nie ma on dobrej dokumentacji, istnieje ryzyko, \u017ce nigdy nie odniesie sukcesu. Dobra dokumentacja w biurze pozwoli unikn\u0105\u0107 zadawania tych samych pyta\u0144. Dokumentacja gwarantuje r\u00f3wnie\u017c, \u017ce ludzie mog\u0105 zrozumie\u0107 projekt, nawet je\u015bli kluczowi pracownicy opuszcz\u0105 firm\u0119 lub zmieni\u0105 si\u0119 role. \u017bywe wytyczne pomog\u0105 zapewni\u0107 integralno\u015b\u0107 danych. <\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>Je\u015bli musisz napisa\u0107 d\u0142ugi tekst, Markdown to doskona\u0142a alternatywa dla HTML. Czasami sk\u0142adni Markdown mo\u017ce by\u0107 za ma\u0142o. W takim przypadku mo\u017cemy u\u017cywa\u0107 HTML wewn\u0105trz niego. Na przyk\u0142ad, niestandardowe elementy. Dlatego, je\u015bli tworzysz system projektowania z natywnymi komponentami webowymi, \u0142atwo je w\u0142\u0105czy\u0107 do tekstowej dokumentacji. Je\u015bli u\u017cywasz React (lub jakiegokolwiek innego frameworka JSX, takiego jak Preact czy Vue), mo\u017cesz zrobi\u0107 to samo za pomoc\u0105 MDX. <\/p>\n<p><\/p>\n<p>Ten artyku\u0142 to szeroki przegl\u0105d narz\u0119dzi do pisania dokumentacji i tworzenia wytycznych. Nie wszystkie narz\u0119dzia wymienione tutaj korzystaj\u0105 z MDX, ale jest on coraz cz\u0119\u015bciej w\u0142\u0105czany w narz\u0119dzia dokumentacyjne.<\/p>\n<p><\/p>\n<h2 id=\"chto-takoe-mdx\">Czym jest MDX?<\/h2>\n<p><\/p>\n<p>Plik <code>.mdx<\/code> ma taki sam\u0105 sk\u0142adni\u0119 jak Markdown, ale umo\u017cliwia importowanie interaktywnych komponent\u00f3w JSX i wbudowywanie ich w tre\u015b\u0107. Wsparcie dla komponent\u00f3w Vue znajduje si\u0119 w fazie alfa. Aby rozpocz\u0105\u0107 prac\u0119 z MDX, wystarczy zainstalowa\u0107 &#171;Create React App&#187;. S\u0105 dost\u0119pne wtyczki do Next.js i Gatsby. Nast\u0119pna wersja Docusaurus (wersja 2) r\u00f3wnie\u017c b\u0119dzie mia\u0142a wbudowane wsparcie.<\/p>\n<p><\/p>\n<h2 id=\"napisanie-dokumentacii-s-docusaurus\">Pisanie dokumentacji z Docusaurus<\/h2>\n<p><\/p>\n<p>Docusaurus zosta\u0142 napisany przez Facebook. U\u017cywaj\u0105 go w ka\u017cdym projekcie z otwartym kodem \u017ar\u00f3d\u0142owym poza React. Poza firm\u0105 korzysta z niego Redux, Prettier, Gulp i Babel.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"\u017bywe wytyczne \u2014 MDX i inne frameworki\" src=\"\/wp-content\/uploads\/2019\/05\/a785c47a791d661c89d2091021a2bd3d.png\" style=\"display:block;margin: 0 auto;\" \/><em>Projekty, kt\u00f3re u\u017cywaj\u0105 Docusaurus.<\/em><\/p>\n<p><\/p>\n<p>Docusaurus mo\u017cna u\u017cywa\u0107 do pisania <em>przez kogokolwiek<\/em> dokumentacji, nie tylko do opisu front-endu. Ma pod mask\u0105 React, ale nie trzeba mie\u0107 z nim styczno\u015bci, aby go u\u017cywa\u0107. Przekszta\u0142ca Twoje pliki Markdown, dodaje troch\u0119 magii i gotowa jest dobrze zorganizowana, sformatowana i czytelna dokumentacja z pi\u0119knym designem. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"\u017bywe wytyczne \u2014 MDX i inne frameworki\" src=\"\/wp-content\/uploads\/2019\/05\/ada5f480db9937d5902a43d9c5c33ade.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<em>Na stronie Redux mo\u017cna zobaczy\u0107 standardowy szablon Docusaurus.<\/em><\/p>\n<p><\/p>\n<p>Strony stworzone za pomoc\u0105 Docusaurus mog\u0105 r\u00f3wnie\u017c obejmowa\u0107 bloga opartego na Markdown. Do pod\u015bwietlania sk\u0142adni od razu zainstalowano Prism.js. Mimo \u017ce Docusaurus pojawi\u0142 si\u0119 stosunkowo niedawno, zosta\u0142 uznany za najlepsze narz\u0119dzie 2018 roku na StackShare. <\/p>\n<p><\/p>\n<h2 id=\"drugie-varianty-sozdaniya-kontenta\">Inne opcje tworzenia tre\u015bci<\/h2>\n<p><\/p>\n<p>Docusaurus zosta\u0142 specjalnie zaprojektowany do tworzenia dokumentacji. Oczywi\u015bcie istnieje milion i jeden spos\u00f3b na stworzenie strony \u2014 mo\u017cesz wdro\u017cy\u0107 w\u0142asne rozwi\u0105zanie w dowolnym j\u0119zyku, CMS lub skorzysta\u0107 z generatora statycznych stron.<\/p>\n<p><\/p>\n<p>Na przyk\u0142ad dokumentacja dla React, system designu IBM, Apollo i Ghost CMS korzystaj\u0105 z Gatsby \u2014 to generator statycznych stron, kt\u00f3ry cz\u0119sto jest u\u017cywany do blog\u00f3w. Je\u015bli pracujesz z Vue, VuePress b\u0119dzie dobrym wyborem. Inn\u0105 opcj\u0105 jest u\u017cycie generatora napisanego w Pythonie \u2014 MkDocs. Jest to rozwi\u0105zanie otwarte i konfigurowane za pomoc\u0105 jednego pliku YAML. GitBook r\u00f3wnie\u017c jest niez\u0142ym rozwi\u0105zaniem, ale jest bezp\u0142atny tylko dla otwartych i niekomercyjnych zespo\u0142\u00f3w. Mo\u017cna r\u00f3wnie\u017c po prostu przesy\u0142a\u0107 pliki markdown, korzystaj\u0105c z gita, i pracowa\u0107 z nimi w Githubie. <\/p>\n<p><\/p>\n<h2 id=\"dokumentirovanie-komponentov-docz-storybook-i-styleguidist\">Dokumentowanie komponent\u00f3w: Docz, Storybook i Styleguidist<\/h2>\n<p><\/p>\n<p>Wytyczne, systemy designu, biblioteki komponent\u00f3w \u2014 niezale\u017cnie od tego, jak je nazwiesz, sta\u0142y si\u0119 one ostatnio bardzo popularne. Pojawienie si\u0119 komponentowych framework\u00f3w, takich jak React, oraz narz\u0119dzi wymienionych tutaj, pozwoli\u0142o przekszta\u0142ci\u0107 je z pr\u00f3\u017cno\u015bciowych projekt\u00f3w w u\u017cyteczne narz\u0119dzia. <\/p>\n<p><\/p>\n<p>Storybook, Docz i Styleguidist robi\u0105 to samo: wy\u015bwietlaj\u0105 interaktywne elementy i dokumentuj\u0105 ich API. Projekt mo\u017ce mie\u0107 dziesi\u0105tki, a mo\u017ce nawet setki komponent\u00f3w \u2014 ka\u017cdy z r\u00f3\u017cnymi stanami i stylami. Je\u015bli chcesz, aby komponenty by\u0142y u\u017cywane wielokrotnie, ludzie musz\u0105 wiedzie\u0107, \u017ce istniej\u0105. Wystarczy zinwentaryzowa\u0107 komponenty. Wytyczne zapewniaj\u0105 \u0142atwy do przeszukiwania przegl\u0105d wszystkich twoich komponent\u00f3w. Pomaga to w utrzymaniu wizualnej sp\u00f3jno\u015bci i unikaniu ponownej pracy.<\/p>\n<p><\/p>\n<p>Te narz\u0119dzia oferuj\u0105 wygodny spos\u00f3b przegl\u0105dania r\u00f3\u017cnych stan\u00f3w. Mo\u017ce by\u0107 trudno odtworzy\u0107 ka\u017cde wyst\u0105pienie komponentu w kontek\u015bcie rzeczywistej aplikacji. Zamiast klika\u0107 w rzeczywiste aplikacje, warto zaprojektowa\u0107 osobny komponent. Mo\u017cna modelowa\u0107 trudne do uchwycenia stany (na przyk\u0142ad stan \u0142adowania). <\/p>\n<p><\/p>\n<p>Wraz z wizualn\u0105 prezentacj\u0105 r\u00f3\u017cnych stan\u00f3w oraz list\u0105 w\u0142a\u015bciwo\u015bci, cz\u0119sto konieczne jest napisanie og\u00f3lnego opisu tre\u015bci \u2013 uzasadnienia designu, przypadk\u00f3w u\u017cycia lub opisu wynik\u00f3w test\u00f3w u\u017cytkownik\u00f3w. Markdown jest bardzo prosty do nauki \u2013 idealnie, gdyby wytyczne by\u0142y wsp\u00f3lnym zasobem dla projektant\u00f3w i deweloper\u00f3w. Docz, Styleguidist oraz Storybook oferuj\u0105 mo\u017cliwo\u015b\u0107 \u0142atwego \u0142\u0105czenia Markdown z komponentami.<\/p>\n<p><\/p>\n<h2 id=\"docz\">Docz<\/h2>\n<p><\/p>\n<p>Docz obecnie dzia\u0142a tylko z React, ale s\u0105 aktywne prace nad wsparciem dla Preact, Vue oraz komponent\u00f3w webowych. Docz jest najnowszym z trzech narz\u0119dzi, ale na Githubie zdoby\u0142 ponad 14 000 gwiazdek. Docz reprezentuje dwa komponenty \u2014 <code>&lt;Playground&gt;<\/code> i <code>&lt; Props &gt;<\/code>. S\u0105 one importowane i u\u017cywane w plikach <code>.mdx<\/code>. <\/p>\n<p><\/p>\n<pre><code class=\"javascript\">import { Playground, Props } from \"docz\";\nimport Button from \"..\\\/src\\\/Button\";\n\n## Mo\u017cesz _pisa\u0107_ **markdown**\n### Mo\u017cesz importowa\u0107 i u\u017cywa\u0107 komponent\u00f3w\n\n<Button>kliknij<\/Button><\/code><\/pre>\n<p><\/p>\n<p>Mo\u017cesz owin\u0105\u0107 swoje w\u0142asne komponenty React za pomoc\u0105 <code>&lt;Playground&gt;<\/code>, aby stworzy\u0107 odpowiednik wbudowanego CodePen lub CodeSandbox \u2013 czyli widzisz sw\u00f3j komponent i mo\u017cesz go edytowa\u0107. <\/p>\n<p><\/p>\n<pre><code class=\"javascript\"><Button>kliknij<\/Button><\/code><\/pre>\n<p><\/p>\n<p><code>&lt;Props&gt;<\/code> poka\u017ce wszystkie dost\u0119pne w\u0142a\u015bciwo\u015bci dla tego komponentu React, warto\u015bci domy\u015blne oraz to, czy w\u0142a\u015bciwo\u015b\u0107 jest wymagana.<\/p>\n<p><\/p>\n<pre><code class=\"javascript\">&lt;Props of={Button} \/&gt;<\/code><\/pre>\n<p><\/p>\n<p>Osobi\u015bcie uwa\u017cam, \u017ce to podej\u015bcie oparte na MDX jest najprostsze do zrozumienia i naj\u0142atwiejsze do pracy.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"\u017bywe wytyczne \u2014 MDX i inne frameworki\" src=\"\/wp-content\/uploads\/2019\/05\/71901d25e6fd8bf645b38f96cf74ce89.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Je\u015bli jeste\u015b fanem generatora statycznych stron Gatsby, Docz oferuje doskona\u0142\u0105 integracj\u0119.<\/p>\n<p><\/p>\n<h2 id=\"styleguidist\">Styleguidist<\/h2>\n<p><\/p>\n<p>Podobnie jak w Docz, przyk\u0142ady s\u0105 pisane przy u\u017cyciu sk\u0142adni Markdown. Styleguidist u\u017cywa blok\u00f3w kodu Markdown (potr\u00f3jne cudzys\u0142owy) w zwyk\u0142ych plikach <code>.md<\/code> plikach, a nie w MDX.<\/p>\n<p><\/p>\n<pre><code class=\"markdown\">```js\n<Button> console.log('klikni\u0119to')}&gt;Naci\u015bnij mnie<\/Button><\/code><\/pre>\n<p><\/p>\n<p>Bloki kodu w Markdown zazwyczaj pokazuj\u0105 po prostu kod. Przy u\u017cyciu Styleguidist ka\u017cdy blok kodu z oznaczeniem j\u0119zyka <code>js<\/code>, <code>jsx<\/code> lub <code>javascript<\/code> b\u0119dzie wy\u015bwietlany jako komponent React. Jak w Docz, kod jest edytowalny \u2013 mo\u017cesz zmienia\u0107 w\u0142a\u015bciwo\u015bci i od razu widzie\u0107 wyniki.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"\u017bywe wytyczne \u2014 MDX i inne frameworki\" src=\"\/wp-content\/uploads\/2019\/05\/52a6303bc8c15f2025071a300467c6a6.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Styleguidist automatycznie stworzy tabel\u0119 w\u0142a\u015bciwo\u015bci z deklaracji PropTypes, Flow lub Typescript.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"\u017bywe wytyczne \u2014 MDX i inne frameworki\" src=\"\/wp-content\/uploads\/2019\/05\/b7173f6fa9376c9fc2670c492a19f35b.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Styleguidist obecnie wspiera React i Vue. <\/p>\n<p><\/p>\n<h2 id=\"storybook\">Storybook<\/h2>\n<p><\/p>\n<p>Storybook pozycjonuje si\u0119 jako \u201e\u015brodowisko rozwoju komponent\u00f3w UI\u201d. Zamiast pisa\u0107 przyk\u0142ady komponent\u00f3w wewn\u0105trz plik\u00f3w Markdown lub MDX, piszesz <em> historii <\/em> wewn\u0105trz plik\u00f3w Javascript. <em> Historia <\/em> dokumentuj\u0105 konkretne stany komponentu. Na przyk\u0142ad, komponent mo\u017ce mie\u0107 historie dla stanu \u0142adowania i wy\u0142\u0105czonego stanu (<em>wy\u0142\u0105czone<\/em>).<\/p>\n<p><\/p>\n<pre><code class=\"javascript\">storiesOf('Button', module)\n  .add('wy\u0142\u0105czone', () =&gt; (\n    <Button disabled>lorem ipsum<\/Button>\n  ))<\/code><\/pre>\n<p><\/p>\n<p>Storybook jest znacznie bardziej skomplikowany ni\u017c Styleguidist i Docz. Mimo to jest to najpopularniejsza opcja, projekt na GitHubie ma ponad 36 000 gwiazdek. To projekt z otwartym kodem \u017ar\u00f3d\u0142owym, w kt\u00f3rym bierze udzia\u0142 657 uczestnik\u00f3w oraz wspieraj\u0105 go pracownicy. U\u017cywa go Airbnb, Algolia, Atlassian, Lyft i Salesforce. Storybook wspiera wi\u0119cej framework\u00f3w ni\u017c konkurencja \u2014 React, React Native, Vue, Angular, Mithril, Ember, Riot, Svelte oraz zwyk\u0142y HTML.<\/p>\n<p><\/p>\n<p>W przysz\u0142ej wersji znajd\u0105 si\u0119 funkcje z Docz i wprowadzany jest MDX. <\/p>\n<p><\/p>\n<pre><code class=\"javascript\"># Button\n\nSome _notes_ about your button written with **markdown syntax**.\n\n&lt;Story name=\"disabled\"&gt;\n  &lt;Button disabled&gt;lorem ipsum&lt;\/Button&gt;\n&lt;\/Story&gt;<\/code><\/pre>\n<p><\/p>\n<p>Nowe funkcje Storybooka b\u0119d\u0105 stopniowo wprowadzane w ci\u0105gu najbli\u017cszych kilku miesi\u0119cy i prawdopodobnie b\u0119dzie to du\u017cy krok naprz\u00f3d.<\/p>\n<p><\/p>\n<h2 id=\"itogi\">Podsumowanie<\/h2>\n<p><\/p>\n<p>Zalety bibliotek wzorc\u00f3w s\u0105 wychwalane w milionach artyku\u0142\u00f3w na Medium. Kiedy wszystko jest zrobione dobrze, u\u0142atwiaj\u0105 tworzenie pokrewnych produkt\u00f3w i utrzymanie to\u017csamo\u015bci. Oczywi\u015bcie, \u017caden z tych narz\u0119dzi nie pomo\u017ce magicznie stworzy\u0107 systemu projektowego. Wymaga to starannego zaprojektowania i CSS. Ale kiedy nadchodzi czas, aby udost\u0119pni\u0107 system projektowy ca\u0142ej firmie, Docz, Storybook i Styleguidist s\u0105 \u015bwietnymi opcjami. <\/p>\n<p><\/p>\n<p><em>Od t\u0142umacza. To moje pierwsze do\u015bwiadczenie na Habrze. Je\u015bli zauwa\u017cy\u0142e\u015b jakie\u015b nie\u015bcis\u0142o\u015bci lub masz sugestie dotycz\u0105ce poprawy artyku\u0142u \u2014 pisz do mnie prywatnie. <\/em><\/p>\n<p>\u0179r\u00f3d\u0142o: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/454084\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0423 \u0432\u0430\u0441 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043b\u0443\u0447\u0448\u0438\u0439 \u043f\u0440\u043e\u0435\u043a\u0442 \u0441 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u043c \u043a\u043e\u0434\u043e\u043c, \u043d\u043e \u0435\u0441\u043b\u0438 \u0443 \u043d\u0435\u0433\u043e \u043d\u0435\u0442\u0443 \u0445\u043e\u0440\u043e\u0448\u0435\u0439 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438, \u0435\u0441\u0442\u044c \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044c, \u0447\u0442\u043e \u043e\u043d \u043d\u0438\u043a\u043e\u0433\u0434\u0430 \u043d\u0435 \u0432\u0437\u043b\u0435\u0442\u0438\u0442. \u0412 \u043e\u0444\u0438\u0441\u0435 \u0445\u043e\u0440\u043e\u0448\u0430\u044f \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0442 \u0432\u0430\u043c \u043d\u0435 \u043e\u0442\u0432\u0435\u0447\u0430\u0442\u044c \u043d\u0430 \u043e\u0434\u043d\u0438 \u0438 \u0442\u0435 \u0436\u0435 \u0432\u043e\u043f\u0440\u043e\u0441\u044b. \u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u0442\u0430\u043a\u0436\u0435 \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u0443\u0435\u0442, \u0447\u0442\u043e \u043b\u044e\u0434\u0438 \u043c\u043e\u0433\u0443\u0442 \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f \u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u0435, \u0435\u0441\u043b\u0438 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044e \u043f\u043e\u043a\u0438\u043d\u0443\u0442 \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0435 \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0438 \u0438\u043b\u0438 \u043f\u043e\u043c\u0435\u043d\u044f\u044e\u0442\u0441\u044f \u0440\u043e\u043b\u0438. [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":26213,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-34791","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0423 \u0432\u0430\u0441 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043b\u0443\u0447\u0448\u0438\u0439 \u043f\u0440\u043e\u0435\u043a\u0442 \u0441 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u043c \u043a\u043e\u0434\u043e\u043c, \u043d\u043e \u0435\u0441\u043b\u0438 \u0443 \u043d\u0435\u0433\u043e \u043d\u0435\u0442\u0443 \u0445\u043e\u0440\u043e\u0448\u0435\u0439 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438, \u0435\u0441\u0442\u044c \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044c, \u0447\u0442\u043e \u043e\u043d \u043d\u0438\u043a\u043e\u0433\u0434\u0430 \u043d\u0435 \u0432\u0437\u043b\u0435\u0442\u0438\u0442.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/zhivye-gajdlajny-mdx-i-drugie-frejmvorki\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"pl_PL\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0416\u0438\u0432\u044b\u0435 \u0433\u0430\u0439\u0434\u043b\u0430\u0439\u043d\u044b \u2014 MDX \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u0438 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0423 \u0432\u0430\u0441 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043b\u0443\u0447\u0448\u0438\u0439 \u043f\u0440\u043e\u0435\u043a\u0442 \u0441 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u043c \u043a\u043e\u0434\u043e\u043c, \u043d\u043e \u0435\u0441\u043b\u0438 \u0443 \u043d\u0435\u0433\u043e \u043d\u0435\u0442\u0443 \u0445\u043e\u0440\u043e\u0448\u0435\u0439 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438, \u0435\u0441\u0442\u044c \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044c, \u0447\u0442\u043e \u043e\u043d \u043d\u0438\u043a\u043e\u0433\u0434\u0430 \u043d\u0435 \u0432\u0437\u043b\u0435\u0442\u0438\u0442.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/zhivye-gajdlajny-mdx-i-drugie-frejmvorki\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:00:25+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:00:25+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47\u017bywe wytyczne \u2014 MDX i inne frameworki | ProHoster","description":"Mo\u017cesz mie\u0107 najlepszy projekt z otwartym kodem \u017ar\u00f3d\u0142owym, ale je\u015bli nie ma dobrej dokumentacji, istnieje prawdopodobie\u0144stwo, \u017ce nigdy nie odniesie sukcesu.","canonical_url":"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/zhivye-gajdlajny-mdx-i-drugie-frejmvorki","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pl_PL","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0416\u0438\u0432\u044b\u0435 \u0433\u0430\u0439\u0434\u043b\u0430\u0439\u043d\u044b \u2014 MDX \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u0438 | ProHoster","og:description":"\u0423 \u0432\u0430\u0441 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043b\u0443\u0447\u0448\u0438\u0439 \u043f\u0440\u043e\u0435\u043a\u0442 \u0441 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u043c \u043a\u043e\u0434\u043e\u043c, \u043d\u043e \u0435\u0441\u043b\u0438 \u0443 \u043d\u0435\u0433\u043e \u043d\u0435\u0442\u0443 \u0445\u043e\u0440\u043e\u0448\u0435\u0439 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438, \u0435\u0441\u0442\u044c \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044c, \u0447\u0442\u043e \u043e\u043d \u043d\u0438\u043a\u043e\u0433\u0434\u0430 \u043d\u0435 \u0432\u0437\u043b\u0435\u0442\u0438\u0442.","og:url":"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/zhivye-gajdlajny-mdx-i-drugie-frejmvorki","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:00:25+00:00","article:modified_time":"2019-10-31T19:00:25+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"34791","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-21 20:38:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 02:15:37","updated":"2026-01-21 20:38:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/34791","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/comments?post=34791"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/34791\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media\/26213"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media?parent=34791"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/categories?post=34791"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/tags?post=34791"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}