Ir para o conteúdo principal

Como converti o Perfil para o Docusaurus em menos de 2 horas

· Leitura de 6 minutos

“Joel e eu estávamos discutindo sobre ter um site e como teria sido ótimo lançar com ele. Então, eu me desafiei a adicionar suporte ao Docusaurus. Demorou pouco mais de uma hora e meia. Vou enviar-lhe um PR para que possa dar uma olhada e ver se gosta. Seu fluxo de trabalho para adicionar documentos não seria muito diferente da edição desses arquivos markdown.”

— Nota enviada para a equipe Profilo

Esta é a história da curta viagem que levou para criar o site de Perfil usando o Docusaurus.

Profilo, uma biblioteca Android para coletar rastros de desempenho da produção, foi anunciada no início deste ano. O projeto foi publicado no GitHub com menos de alguns arquivos ou Markdown para descrever sua funcionalidade e nenhum site para mostrar qualquer marca e destacar o logotipo. A tarefa em questão era transformar a documentação e o logotipo existentes num site.

Em geral, ao criar um site com o Docusaurus você faz o seguinte:

  1. Gere um site de modelos usando scripts do Docusaurus.
  2. Personalize os arquivos de modelo gerados para as cores do site desejado e a configuração do seu projeto (ex: site e links do GitHub).
  3. Crie o conteúdo do site:
    1. Adicionar seus documentos e quaisquer ativos de suporte.
    2. Personalize a página inicial padrão fornecida pelo Docusaurus para atender às suas necessidades.
    3. Configurar o arquivo padrão de navegação do site.
  4. Publique o site e configure como ele será publicado para alterações futuras.

Dado que tenho arquivos Markdown pré-existentes, Não precisei gerar o conteúdo do núcleo, mas tenha certeza de que o Docusaurus possa processar os arquivos, adicionando os metadados esperados. A maior parte do trabalho consistiria, portanto, em personalizar os padrões fornecidos pelo Docusaurus.

Visão geral de passos realizados

Aqui está uma visão geral das etapas tomadas para converter um site. Discutirei alguns dos aspectos do design em uma seção posterior.

Design e cores:

  1. Obteve todos os formatos de logo desejados pelo designer. Precisei criar o .favicon.
  2. Trabalhou algumas cores do site primário e secundário passáveis usando as ferramentas http://paletton.com/ - muito útil!

Configuração inicial do site:

  1. Forked o projeto de perfil no GitHub e criou um clone local do fork para configurar o site.
  2. Criou o site inicial do Docusaurus usando as instruções de instalação.
  3. Excluído as pastas docs-examples-from-docusaurus e website/blog-examples-from-docusaurus, já que estas não seriam necessárias. O perfil tinha documentos existentes que poderíamos usar e não havia necessidade de blogs neste momento.

Criação de conteúdo:

  1. Adicionados metadados aos arquivos Markdown existentes encontrados na pasta docs, por exemplo:

    +---
    +id: architecture
    +title: Architecture
    +sidebar_label: Architecture
    +---
  2. Adicionado o logo assets na pasta website/static/img.

  3. Modificado website/pages/en/index.js, a página inicial, para destacar recursos de perfil.

  4. Modificado website/core/Footer.js, o rodapé, para simplificá-lo para o Profilo.

  5. Editado website/siteConfig.js (arquivo de configuração do site) para especificar as cores primárias e secundárias escolhidas anteriormente.

  6. Modificado o website/sidebars.json que especifica a navegação na barra lateral. Listando todos os documentos e personalizados com base nos metadados adicionados aos arquivos Markdown.

  7. Editado o arquivo de configuração do site para especificar as propriedades do GitHub, imagens do logotipo, links de cabeçalho e o link do site.

  8. Estado o site localmente durante esta fase. (Eu executei yarn start na pasta site para iniciar o servidor.)

Comentários e revisar as alterações:

  1. Enviou um pull request para o projeto.
  2. Atualizadas as cores depois que o designer acertadamente percebeu as que eu escolhi (IANAD).
  3. Atualizado as cores e atualizado o PR.
  4. O PR foi então aceito e mesclado. Uhul!

Publicação do site:

  1. Empurrado a primeira versão do site executando o script de publicação do Docusaurus na linha de comando:

    USE_SSH=true \
    GIT_USER=caabernathy \
    CURRENT_BRANCH=master \
    yarn run publish-gh-pages
  2. O CircleCI configurado usando as instruções fornecidas do Docusaurus. Havia 2 PRs para isso, o primeiropara a configuração inicial e o segundo para certificar-se de que o CircleCI só acionou para alterações no branch master (obrigado Joel Marcey!).

O site final foi publicado em https://facebookincubator.github.io/profilo/. Levara 1. horas para chegar ao estágio inicial do PR e mais meia hora aproximadamente para responder ao feedback de revisão e publicação do site.

Design

Veja como o site inicial pareceu quando a primeira pull request foi enviada:

Design Inicial do Site

A maioria das vezes na criação de conteúdo foi gasta escolhendo cores que funcionaram razoavelmente bem com o logotipo dado. Essas cores foram um bom ponto de salto para o feedback do designer. Eu usei o Photoshop para amostrar várias partes do logotipo.

Seleção de Cores no Photoshop

Então peguei a representação RGB da cor e defini-a como a cor de base no Paletton. O site em seguida me deu várias opções de exibição de cores no site, editando o arquivo de configuração do site Docusaurus.

Escolhendo Paletas de Cores

As cores primárias e secundárias selecionadas foram um bom ponto de salto para o feedback do designer.

Houve também modificações feitas no site padrão gerado pelo Docusaurus. Essas alterações foram feitas principalmente em torno da simplificação do rodapé e criação de uma página inicial personalizada para o Perfil que listou os recursos do projeto.

Veja como foi o site final:

Design Final do Site

Esta é uma página de exemplo mostrando o conteúdo principal, neste caso a página de introdução:

Exemplo de Documentação do Site

Isso também mostra a estrutura da barra lateral configurada através da edição de website/sidebars.json.

Por último, não tive que me preocupar em lidar com design responsivo. Você tira isso da caixa com o Docusaurus!

Site para Mobile

Considerações Finais

Os engenheiros Profilo ficaram felizes em ver que eles não precisavam alterar seu fluxo de trabalho para atualizar o conteúdo existente. Eles puderam continuar trabalhando com arquivos do Markdown. Isso continuará a ser verdade no futuro se novos documentos forem adicionados, embora possa haver algumas alterações de configuração necessárias se a navegação na barra lateral precisar ser atualizada.

A infraestrutura fornecida pelo Docusaurus facilitou a conversão de arquivos do Markdown em um site funcional. Embora o projeto tivesse apenas três documentos, isso deu um visual mais profissional ao Profilo. Portanto, valeu bem o pouco tempo de investimento para o fazer.