---
# System prepended metadata

title: Untitled

---

## Guia de uso do Vue Styleguidist

Este é um guia passo a passo para usar o Vue Styleguidist, um softwere de docuemtação propria para vue.js.

1. Verifique se o Node.js está instalado:
   Certifique-se de ter o Node.js instalado em seu sistema. Você pode verificar digitando `node -v` no terminal.

2. Instalação do Vue Styleguidist:
   Abra o terminal e vá para a pasta raiz do seu projeto. Em seguida, execute o seguinte comando para instalar o Vue Styleguidist localmente como uma dependência de desenvolvimento:

   ```shell
   npm install vue-styleguidist --save-dev
   ```
3. No diretório raiz do projeto, crie um arquivo chamado styleguide.config.js e adicione o seguinte teamplate basico:

```javascript
const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin
const vueLoader = require('vue-loader')
const path = require('path')

const { defineConfig } = require('vue-styleguidist')

const transpileDependencies = [
  'regexpu-core',
  'strip-ansi',
  'ansi-regex',
  'ansi-styles',
  'react-dev-utils',
  'chalk',
  'unicode-match-property-ecmascript',
  'unicode-match-property-value-ecmascript',
  'acorn-jsx',
  '@znck[\\\\/]prop-types',
]

const docSiteUrl = process.env.DEPLOY_PRIME_URL || 'https://vue-styleguidist.github.io'

/** @type import("vue-styleguidist").Config */
module.exports = defineConfig({
  title: 'Vue Styleguidist basic',
  components: 'components/sections/layout/**/[A-Z]*.vue',
  defaultExample: true,
  sections: [
    {
      name: '',
      content: '',
    },
  ],

  getComponentPathLine(componentPath) {
    const componentFileName = path.basename(componentPath, '.vue')
    const name =
      componentFileName.toLowerCase() === 'index'
        ? path.basename(path.dirname(componentPath))
        : componentFileName
    return `import ${name} from '${componentPath.replace(/^src\//, 'my-library/dist/')}'`
  },
  version: '1.1.1',
  compilerPackage: 'vue-inbrowser-compiler-sucrase',
  webpackConfig: {
    resolve: {
      alias: {
        '~': path.join(__dirname, './test'),
      },
    },
    module: {
      rules: [
        {
          test: /\.vue$/,
          loader: 'vue-loader',
        },
        {
          test: /\.js$/,
          exclude: (modulePath) =>
            (/node_modules/.test(modulePath) ||
              /packages[\\/]vue-styleguidist[\\/]lib/.test(modulePath)) &&
            !transpileDependencies.some((mod) =>
              new RegExp(`node_modules[\\\\/]${mod}[\\\\/]`).test(modulePath)
            ),
          use: {
            loader: 'babel-loader',
            options: {
              sourceType: 'unambiguous',
              presets: [
                [
                  '@babel/preset-env',
                  {
                    useBuiltIns: 'usage',
                    corejs: 3,
                    targets: {
                      ie: '11',
                    },
                  },
                ],
              ],
              comments: false,
            },
          },
        },
        {
          test: /\.css$/,
          use: ['style-loader', 'css-loader'],
        },
      ],
    },

    plugins: [new vueLoader.VueLoaderPlugin()].concat(
      process.argv.includes('--analyze') ? [new BundleAnalyzerPlugin()] : []
    ),
  },
  usageMode: 'expand',
  exampleMode: 'expand',
  styleguideDir: 'dist',
  displayOrigins: true,
  codeSplit: false,
})
```


4. Para adicionar um componente para ser documentado na sua pagina, pasta pegar o trecho do codigo:
   ```javascript
        module.exports = defineConfig({
      title: 'Vue Styleguidist basic',
      components: 'components/sections/layout/**/[A-Z]*.vue',
      defaultExample: true,
       sections: [
    {
      name: 'Documentation',
      content: 'docs/intro.md',
      sections: [
        {
          name: 'Files',
          content: 'docs/intro.md',
          sections: [
            {
              name: 'First File',
              content: 'docs/intro.md',
              description: 'This is the first section description',
            },
          ],
        },
      ],
    }, 

   ],
            
            
 Ele criara uma documentação parecida com uma estrutua de pastas, onde cada 'section', representa um diretorio, cada 'name' representa o nome de cada diretorio, content seria o contedudo que você deseja documentar em estrutura markdown, que devem ficar em um pasta dentro da raiz do seu projeto chamada 'docs', cada uma com o nome do componente e o '.md' no final.

5. exemplo do .intro.md dentro da pasta docs:
   ![](https://hackmd.io/_uploads/r1-zrqcr3.png)         
            
6. pagina do exemplo acima:
 ![](https://hackmd.io/_uploads/rke6E99S3.png)
   
7. Mas afinal como eu faço para gerar esse localhost? você deve usar o comando:
     
    ```
    npm run styleguide
    ```
   Após o uso do comando, você usará a porta de localhost que ele disponibilizará, que normalmente será: http://localhost:6060/.

8. Você pode estilizar e adicionar codigos, como:


BackToTheTopBtn.md:
![](https://hackmd.io/_uploads/Bk6uv29Bn.png)


localhost:
![](https://hackmd.io/_uploads/HyCuv39Sn.png)
