{"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\/en\/blog\/administrirovanie\/zhivye-gajdlajny-mdx-i-drugie-frejmvorki","title":{"rendered":"Live guidelines \u2014 MDX and other frameworks","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>You may have the best open-source project, but without good documentation, it is likely to never take off. Good documentation in the office allows you to avoid answering the same questions repeatedly. It also ensures that people can understand the project if key employees leave the company or roles change. Live guidelines help maintain data integrity. <\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>If you need to write a lengthy text, Markdown is an excellent alternative to HTML. Sometimes, Markdown's syntax is not enough. In that case, we can use HTML within it. For example, custom elements. So if you're building a design system with native web components, they can easily be included in text documentation. If you're using React (or any other JSX framework such as Preact or Vue), you can do the same using MDX. <\/p>\n<p><\/p>\n<p>This article is a broad overview of tools for writing documentation and creating guidelines. Not all tools listed here use MDX, but it is increasingly being included in documentation tools.<\/p>\n<p><\/p>\n<h2 id=\"chto-takoe-mdx\">What is MDX?<\/h2>\n<p><\/p>\n<p>File <code>.mdx<\/code> has the same syntax as Markdown but allows you to import interactive JSX components and embed them into your content. Support for Vue components is currently in alpha. To get started with MDX, simply install 'Create React App'. There are plugins available for Next.js and Gatsby. The next version of Docusaurus (version 2) will also have built-in support.<\/p>\n<p><\/p>\n<h2 id=\"napisanie-dokumentacii-s-docusaurus\">Writing Documentation with Docusaurus<\/h2>\n<p><\/p>\n<p>Docusaurus was created by Facebook. They use it for every open-source project except React. Outside the company, it is used by Redux, Prettier, Gulp, and Babel.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Live guidelines \u2014 MDX and other frameworks\" src=\"\/wp-content\/uploads\/2019\/05\/a785c47a791d661c89d2091021a2bd3d.png\" style=\"display:block;margin: 0 auto;\" \/><em>Projects that use Docusaurus.<\/em><\/p>\n<p><\/p>\n<p>Docusaurus can be used for writing <em>any<\/em> documentation, not only for describing the frontend. It is built on React, but you don't need to be familiar with it to use it. It takes your Markdown files, a pinch of magic, and you have well-structured, formatted, and readable documentation with a beautiful design ready. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Live guidelines \u2014 MDX and other frameworks\" src=\"\/wp-content\/uploads\/2019\/05\/ada5f480db9937d5902a43d9c5c33ade.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<em>You can view the standard Docusaurus template on the Redux website.<\/em><\/p>\n<p><\/p>\n<p>Websites created using Docusaurus can also include a blog based on Markdown. Prism.js is integrated for syntax highlighting right away. Despite Docusaurus being relatively new, it was recognized as the best tool of 2018 on StackShare. <\/p>\n<p><\/p>\n<h2 id=\"drugie-varianty-sozdaniya-kontenta\">Other content creation options<\/h2>\n<p><\/p>\n<p>Docusaurus is specifically designed for creating documentation. Of course, there are a million and one ways to make a site \u2014 you can deploy your own solution in any language, CMS, or use a static site generator.<\/p>\n<p><\/p>\n<p>For example, the documentation for React, IBM's design system, Apollo, and Ghost CMS uses Gatsby \u2014 a static site generator often used for blogs. If you're working with Vue, VuePress is a great option. Another alternative is to use a generator written in Python \u2014 MkDocs. It is open-source and configured with a single YAML file. GitBook is also a good choice, but it's free only for open and non-commercial teams. You can also simply upload markdown files using git and work with them on GitHub. <\/p>\n<p><\/p>\n<h2 id=\"dokumentirovanie-komponentov-docz-storybook-i-styleguidist\">Documenting components: Docz, Storybook, and Styleguidist<\/h2>\n<p><\/p>\n<p>Guidelines, design systems, component libraries \u2014 whatever you call them, they've become quite popular lately. The emergence of component frameworks like React and the tools mentioned here has allowed them to evolve from vanity projects into useful tools. <\/p>\n<p><\/p>\n<p>Storybook, Docz, and Styleguidist all do the same thing: display interactive elements and document their APIs. A project can have dozens or even hundreds of components \u2014 all with various states and styles. If you want components to be reused, people need to know they exist. Cataloging the components is sufficient for this. Guidelines provide a searchable overview of all your components. This helps maintain visual consistency and avoids redundant work.<\/p>\n<p><\/p>\n<p>These tools provide a convenient way to view various states. It can be challenging to reproduce every state of a component in the context of a real application. Instead of clicking through a real app, it is advisable to develop a separate component. You can model hard-to-reach states (for example, a loading state). <\/p>\n<p><\/p>\n<p>Alongside the visual demonstration of various states and a list of properties, it is often necessary to write a general description of the content \u2014 design rationales, use cases, or descriptions of user testing results. Markdown is very easy to learn \u2014 ideally, the guidelines should be a shared resource for designers and developers. Docz, Styleguidist, and Storybook provide a way to easily mix Markdown with components.<\/p>\n<p><\/p>\n<h2 id=\"docz\">Docz<\/h2>\n<p><\/p>\n<p>Currently, Docz only works with React, but active work is underway to support Preact, Vue, and web components. Docz is the freshest of the three tools, having gathered over 14,000 stars on GitHub. Docz features two components \u2014 <code>&lt;Playground&gt;<\/code> and <code>&lt; Props &gt;<\/code>. They are imported and used in files <code>.mdx<\/code>. <\/p>\n<p><\/p>\n<pre><code class=\"javascript\">import { Playground, Props } from \"docz\";\nimport Button from \"..\\\/src\\\/Button\";\n\n## You can _write_ **markdown**\n### You can import and use components\n\n<Button>click<\/Button><\/code><\/pre>\n<p><\/p>\n<p>You can wrap your own React components with <code>&lt;Playground&gt;<\/code>, to create a feature similar to the built-in CodePen or CodeSandbox \u2014 meaning you can see your component and edit it. <\/p>\n<p><\/p>\n<pre><code class=\"javascript\"><Button>click<\/Button><\/code><\/pre>\n<p><\/p>\n<p><code>&lt;Props&gt;<\/code> will show all available properties for this React component, default values, and whether the property is required.<\/p>\n<p><\/p>\n<pre><code class=\"javascript\">&lt;Props of={Button} \/&gt;<\/code><\/pre>\n<p><\/p>\n<p>Personally, I find this MDX-based approach the easiest to understand and work with.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Live guidelines \u2014 MDX and other frameworks\" src=\"\/wp-content\/uploads\/2019\/05\/71901d25e6fd8bf645b38f96cf74ce89.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>If you are a fan of the Gatsby static site generator, Docz offers great integration.<\/p>\n<p><\/p>\n<h2 id=\"styleguidist\">Styleguidist<\/h2>\n<p><\/p>\n<p>As with Docz, examples are written using Markdown syntax. Styleguidist uses Markdown code blocks (triple quotes) in regular files <code>.md<\/code> files, not in MDX.<\/p>\n<p><\/p>\n<pre><code class=\"markdown\">```js\n<Button> console.log('clicked')}&gt;Push Me<\/Button><\/code><\/pre>\n<p><\/p>\n<p>Code blocks in Markdown typically just show code. When using Styleguidist, any code block with a language tag <code>js<\/code>, <code>jsx<\/code> or <code>javascript<\/code> will be displayed as a React component. As with Docz, the code is editable \u2014 you can change properties and see the results instantly.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Live guidelines \u2014 MDX and other frameworks\" src=\"\/wp-content\/uploads\/2019\/05\/52a6303bc8c15f2025071a300467c6a6.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Styleguidist will automatically create a properties table from PropTypes, Flow, or TypeScript declarations.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Live guidelines \u2014 MDX and other frameworks\" src=\"\/wp-content\/uploads\/2019\/05\/b7173f6fa9376c9fc2670c492a19f35b.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Styleguidist currently supports React and Vue. <\/p>\n<p><\/p>\n<h2 id=\"storybook\">Storybook<\/h2>\n<p><\/p>\n<p>Storybook positions itself as a \"UI components development environment.\" Instead of writing examples of components inside Markdown or MDX files, you write <em> stories <\/em> inside JavaScript files. <em> History <\/em> document specific states of a component. For example, a component may have stories for loading state and disabled state (<em>disabled<\/em>).<\/p>\n<p><\/p>\n<pre><code class=\"javascript\">storiesOf('Button', module)\n  .add('disabled', () =&gt; (\n    <Button disabled>lorem ipsum<\/Button>\n  ))<\/code><\/pre>\n<p><\/p>\n<p>Storybook is much more complex than Styleguidist and Docz. However, it is the most popular option, with over 36,000 stars on GitHub. It is an open-source project involving 657 contributors and maintained by core staff. It is used by Airbnb, Algolia, Atlassian, Lyft, and Salesforce. Storybook supports more frameworks than its competitors\u2014React, React Native, Vue, Angular, Mithril, Ember, Riot, Svelte, and plain HTML.<\/p>\n<p><\/p>\n<p>Future releases will include features from Docz and implement 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>New features of Storybook will be rolled out gradually over the next several months, and it seems that this will be a significant step forward.<\/p>\n<p><\/p>\n<h2 id=\"itogi\">Summary<\/h2>\n<p><\/p>\n<p>The advantages of pattern libraries are celebrated in millions of articles on Medium. When done well, they simplify the creation of related products and maintain identity. Of course, none of these tools magically create a design system. This requires careful design and CSS planning. But when it's time to make a design system accessible company-wide, Docz, Storybook, and Styleguidist are excellent options. <\/p>\n<p><\/p>\n<p><em>From the translator. This is my first experience on Habr. If you found any inaccuracies or have suggestions for improving the article, feel free to message me. <\/em><\/p>\n<p>Source: <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\/en\/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=\"en_US\" \/>\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\/en\/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\udd47Live guidelines \u2013 MDX and other frameworks | ProHoster","description":"You may have the best open-source project, but if it lacks good documentation, there is a chance it will never take off.","canonical_url":"https:\/\/prohoster.info\/en\/blog\/administrirovanie\/zhivye-gajdlajny-mdx-i-drugie-frejmvorki","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"en_US","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\/en\/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\/en\/wp-json\/wp\/v2\/posts\/34791","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/comments?post=34791"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/34791\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/media\/26213"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/media?parent=34791"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/categories?post=34791"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/tags?post=34791"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}