Publicação de Página

:bookmark: Este guia abrange como usar o recurso de Publicação de Página (Page Publishing) no Discourse. Este recurso permite que usuários com nível de acesso Staff convertam um tópico em uma página estática autônoma com estilo personalizado. Exemplos incluem as páginas de Termos de Serviço e Política de Privacidade.

:person_raising_hand: Nível de usuário necessário: Staff

Publicando páginas estáticas no Discourse

A Publicação de Página (Page Publishing) permite que usuários Staff criem páginas estáticas autônomas a partir de tópicos. Isso é semelhante ao processo de criação de páginas de Termos de Serviço ou Política de Privacidade.

Sumário

Esta documentação abordará:

  • Habilitando a Publicação de Página
  • Publicando um tópico como uma página
  • Despublicando um tópico
  • Problemas comuns e soluções
  • FAQs
  • Recursos adicionais

Habilitando a Publicação de Página

  1. Navegue até Admin > Settings (Configurações).
  2. Ative a configuração enable page publishing (habilitar publicação de página).
    Enable Page Publishing

Habilitando a publicação de página quando o login é necessário

Para permitir que as páginas publicadas sejam visíveis mesmo quando um usuário não está logado:

  1. Ative a configuração show_published_pages_login_required em Admin > Settings (Configurações).
    Show Published Pages

Publicando um Tópico

  1. Vá para a primeira postagem de um tópico público e selecione o ícone de reticências (...).
    Ellipsis Menu

  2. Selecione o ícone de chave inglesa.
    Wrench Icon

  3. Escolha a opção "Page Publishing" (Publicação de Página).

  4. Um diálogo modal aparecerá, permitindo que você confirme o slug (que pode ser pré-preenchido a partir do título da postagem) e visualize o URL da página publicada.

:warning: Para permitir a publicação de páginas, é necessário desativar as configurações de site de upload seguro.

:information_source: Para sites hospedados, uploads seguros são limitados ao plano Enterprise.

Tópico Publicado

Página Publicada

Despublicando um Tópico

  1. Selecione Publishing Settings (Configurações de Publicação) sob o aviso.

  2. Clique em Unpublish (Despublicar)

  3. A página é despublicada.

Problemas comuns e soluções

Não consigo ver páginas publicadas quando deslogado

Certifique-se de que a configuração show_published_pages_login_required esteja ativada em Admin > Settings (Configurações).

Adicionando um cabeçalho do Discourse a páginas publicadas

Atualmente, as páginas estáticas são projetadas para serem mínimas e não incluem o cabeçalho e rodapé típicos do Discourse.

FAQs

Posso tornar uma página de FAQ ou Sobre pública?

Você pode criar um novo tópico com o conteúdo desejado e publicá-lo como uma página. Altere os links nas configurações do site para apontar para essas novas páginas.

Como posso personalizar a aparência de uma página publicada?

Use a estrutura do documento HTML e os seletores CSS correspondentes para aplicar estilos personalizados em Admin > Customize (Personalizar) > Themes (Temas) > CSS.

Recursos adicionais

118 curtidas
Best landing page solution
ProCourse Static Pages
Using Discourse as a News Blog and Forum - Any Known Good Examples?
How to add a new page into the community? (Login isolated page)
Blog Post Styling
Is anyone here using their Discourse instance as their entire website?
How do I redirect urls or create new ones?
Discourse + CMS, which one?
Is there an upper limit to how many pages can be published?
Host HTML page on Discourse install
Integrating webpage to current forum
Open (anon) interaction with a forum
Shared Drafts: Allow staff to collaborate on posts before publishing
Is there any way to listen User login event using Theme component
How to share only few posts to public as links?
Open (anon) interaction with a forum
Create a "Docs" page like discource meta's
Invite people to reply to a topic without them needing to create an account
Allow anonymous users to view a topic?
What's the usage of "show published pages login required" setting?
How to add contact us page?
Embed my Discourse Forum as IFrame
Is there any way to restrict posting in a topic to members of a group, but allow all users to read the topic?
Order posts by Title
Edit Code
Published page not visible?
Inline Tooltips
Making the About and FAQ visible to anon
Allow published pages to be visible to anon
Customize login page
7 myths why a blog isn't needed in the discourse core
Landing Page
Customizing FAQs and Guidelines
ProCourse Static Pages
Can I use secure media and page publishing simultaneously in Discourse?
Publishing - how deep/good is fine-grained permisson control?
Publish Direct Messages
500 character ‘Reject Reason’ is too small a limit
How do I create a blank page within Discourse
How-to use Discourse for managing a collaborative newsletter?
Customize Login pop-up box?
Building a custom html page in discourse
Page for not-logged in users with a single topic displayed
Duplicate Terms of Service/Privacy Policy
Paid Groups
Help custom page?
Should Discourse make an effort to become the next best "CMS"
Is It Possible to Create Custom Pages in Discourse?
How to Enable Terms of Service and Privacy Policy Pages in Discourse?
Is It Possible to Create Custom Pages in Discourse?
Blank Pages Related Help
How do root level links work?
Creating custom pages like "About" and "FAQ"
Multi-factor authentication enforcement lock in without help
Can you create a custom landing page?
Static pages for things like guidelines?
Create a new text page option?
Change topic visibility in an admin category to public
Create a custom page with theme cli?
DiscoTOC - automatic table of contents
Adding a static web page
[Urgent] privacy policy page
How to make a website with Discourse
Generate static file in discourse
Discourse for Teams is here!
Category Previews
Public Static pages and Private Forums - possible?
Filter view for muted categories
Category Previews
How to hide a single topic from showing up in "latest"?
ProCourse Static Pages
Control the visibility of /faq and /about
[Question/Request] Featured image url for post
Custom Homepage for Groups
Embedding private discussions on a wordpress site
Table of Contents not working on Published Pages

Ainda preciso testar isso em primeira mão, então o que segue pode não estar baseado na realidade, mas:

Parece-me que esse modelo de permissão cria um cenário em que você sempre vê duas cópias do conteúdo das páginas: uma na categoria relevante do Discourse e outra nas próprias páginas publicadas. Isso, claro, parece redundante se você deseja publicar páginas para o público geral que sejam semelhantes ou idênticas à base de usuários do seu Discourse.

Por outro lado, se as páginas tivessem a opção “legível por todos” disponível, você poderia restringir quem pode ver/editá-las a um pequeno grupo, e o único lugar onde o conteúdo estaria disponível para outros usuários do Discourse seria nos links publicados.

(Estou pensando em um caso de uso de um “site de documentação” aqui.)

Caso contrário, estou bastante animado para testar as coisas!

8 curtidas

Coisa incrível, e obrigada novamente por ouvir seus usuários. Adoro a vibe de ‘vamos melhorar isso para todos nós’ que o Discourse tem! Vamos fazer uso intenso disso.

Ao discutir um caso de uso (corrigir uma instalação que deu um pouco errado), outro usuário apontou um detalhe final que poderia ser adicionado ao bolo:

Ei, existe alguma maneira de incluir a capacidade de tornar /faq e /about públicos também, já que atualmente eles estão ocultos em sites que exigem login? Claro, podemos usar a funcionalidade existente que você acabou de lançar para /faq criando a nossa própria, alterando o link nas configurações e vinculando explicitamente a ela. No entanto, isso não fica bonito e a navegação existente para ela permanece oculta. E, claro, não podemos fazer isso de forma alguma com /about.

9 curtidas

Algo que ficaria ótimo com esse recurso seria tornar as publicações compatíveis com o Onebox, para que as pessoas pudessem compartilhar o conteúdo facilmente.

15 curtidas

Peço desculpas pela minha ignorância, pois sou muito iniciante no mundo do HTML/CSS… no entanto, como aplicaríamos nossas escolhas de cores do tema às páginas publicadas? No seu nível mais simples, gostaria de usar um fundo escuro com texto branco para que as páginas publicadas ofereçam a mesma experiência de modo escuro que ao acessar nossos fóruns.

Isso já está incluído no produto ou preciso mexer com HTML/CSS? Se for o segundo caso, alguém poderia me dar algumas dicas na direção certa? Obrigado!

4 curtidas

Você pode transformar isso em um pedido de recurso separado, por favor? Isso não está relacionado à publicação de páginas, no sentido de que não precisaria alterar nada relacionado à publicação de páginas para torná-lo possível. Concordo que seria melhor se todas essas páginas “estáticas” tivessem um comportamento mais ou menos semelhante, mas existem várias soluções aqui (não fazer nada? adicionar configurações do site? migrar essas páginas para a publicação de páginas?), então talvez queiramos ter um tópico dedicado para isso.

8 curtidas

GTM não carregado nas páginas publicadas? Seria legal.

2 curtidas

Hmm, esse é um ponto muito bom.

Apenas tentando pensar em uma solução aqui… funcionaria se type="text/javascript" e type="text/discourse-plugin" fossem tratados de forma diferente? A API precisa do último, certo?

5 curtidas

Sim, acredito que já suportamos a presença de text/javascript nos campos do tema, portanto certamente existem soluções nessa área.

7 curtidas

Isso seria ótimo.

1 curtida

Então, atualmente é impossível ter páginas publicadas responsivas, e este site quer especificamente:

  1. Imagens disponíveis ao compartilhar em mídias públicas, e
  2. Imagens responsivas/redimensionáveis exibidas, especialmente em dispositivos móveis—ah, os dispositivos móveis poderiam apenas redimensionar a imagem com CSS—isso deve funcionar, certo?
6 curtidas

+1 por ter o cabeçalho do Discourse nas páginas publicadas. Estou sentindo falta do logotipo do meu site, dos links personalizados do cabeçalho e do meu amado menu hambúrguer :slight_smile:

Outra estranheza: nos posts, as imagens com lightbox abrem em um pop-up legal, enquanto nas páginas publicadas, elas abrem em uma nova aba…

7 curtidas

Acho que o que é necessário é um conjunto de componentes de tema que adicionem isso. O último cliente que precisei atender queria que o criador do tópico fosse removido. Acho que é difícil adivinhar o que atenderá às necessidades das pessoas para isso!

6 curtidas

Há atualmente algum esforço em andamento para adicionar suporte a Javascript “simples” (não via API) em páginas publicadas? Ou devemos esquecer isso no curto e médio prazo?

9 curtidas

Posso exibir JSON externo não-Discourse nesta página? Como não podemos usar código PHP aqui e o Discourse remove a maioria do HTML, não sei como fazer isso.

2 curtidas

Tenho um problema com uma página publicada: o botão para copiar o conteúdo do bloco de código não está visível na página publicada. Captura de tela: Screenshot by Lightshot. Passo o mouse sobre o bloco, mas o botão não aparece. Quando estou logado, tudo funciona normalmente.

Alguém consegue reproduzir o problema? Há alguma solução?

2 curtidas

Obrigado @riking!

Realmente parece que o text/javascript “comum” está sendo executado nas páginas publicadas quando está no header ou footer de um componente do tema.

8 curtidas

Haha! Então parece que há uma solução meio gambiarra para fazer alguns componentes de tema funcionarem com a publicação de páginas.

Estou investigando a adição de algum cabeçalho/rodapé nas páginas publicadas, e os componentes de tema parecem ser o caminho a seguir. Mas parece ruim implementar algo que possa potencialmente quebrar em um futuro próximo.

@riking, parece que o tipo text/javascript em header ou footer funcionando em páginas publicadas foi não intencional. Isso será corrigido ou utilizado para estender as páginas publicadas?

@syl, autor do DiscPage, mencionou a possibilidade de reimplementar o plugin DiscPage usando a funcionalidade de Publicação de Página. Você ainda tem isso em mente, @syl? O que você acha que seria o caminho de menor resistência para integrar ambas as funcionalidades, @riking?

7 curtidas

Infelizmente, o recurso “Publicação de Páginas” não atende às minhas necessidades. Para que eu possa usá-lo, precisaria que as páginas publicadas:

  1. fossem exibidas dentro do layout normal do Discourse, ou seja, com o cabeçalho padrão do Discourse (assim como os Termos de Serviço e a Política de Privacidade), e
  2. fossem renderizadas como tópicos normais (decorados), ou seja, com suporte a bbcode e plugins.
15 curtidas

Enquanto isso, utilizei o recurso de personalização padrão do Discourse:

  1. Identifique o elemento adicionado, por exemplo, com a classe CSS published-page-footer-links.
  2. Personalize o CSS para ocultar esse elemento por padrão e mostrá-lo apenas nas páginas publicadas.
  3. Adicione o elemento no espaço Footer.

2. No CSS, adicione:

/* Mostrar links do rodapé apenas em páginas publicadas */
.published-page-footer-links { display: none; }
.published-page .published-page-footer-links { display: block;}

3. No Footer, adicione:

<nav class="published-page-footer-links">
Olá! Este é o rodapé para páginas publicadas!
</nav>
8 curtidas