{
  "version": "https://jsonfeed.org/version/1",
  "title": "Marmite 0.4.0",
  "home_page_url": "https://marmite.blog",
  "feed_url": "https://marmite.blog/pt.json",
  "description": "Static Site Generator <br> <small>for blogs</small> <br> <small>made with ❤️ and 🦀</small>",
  "items": [
    {
      "id": "https://marmite.blog/pt-apenas-um-teste.html",
      "url": "https://marmite.blog/pt-apenas-um-teste.html",
      "title": "Apenas um Teste",
      "content_html": "<p>Este e apenas um post de teste para verificar que a auto-descoberta\nde idiomas funciona quando o conteudo base tem uma stream explicita\nque nao e um idioma.</p>\n<p>As traducoes nesta pasta devem ser auto-descobertas e vinculadas.</p>\n<blockquote>\n<p>Please consider giving a ☆ on Marmite <a href=\"https://github.com/rochacbruno/marmite\">Github</a> repository, that helps a lot!</p>\n</blockquote>\n<!-- Contents from _markdown_footer.md are appended to every content -->\n<!-- _references.md is a file to gather all references together \nthis file is appended to every raw markdown.\n-->\n",
      "summary": "",
      "date_published": "2026-07-03T00:00:00-00:00",
      "image": "media/apenas-um-teste.banner.jpg",
      "authors": [
        {
          "name": "Bruno Rocha",
          "url": "https://go.rocha.social/@bruno",
          "avatar": "https://github.com/rochacbruno.png"
        }
      ],
      "tags": [],
      "language": "en"
    },
    {
      "id": "https://marmite.blog/pt-apenas-outro-teste.html",
      "url": "https://marmite.blog/pt-apenas-outro-teste.html",
      "title": "Apenas Outro Teste",
      "content_html": "<p>Este e apenas outro post de teste para verificar que a auto-descoberta\nde idiomas funciona quando a subpasta tem um prefixo de data.</p>\n<blockquote>\n<p>Please consider giving a ☆ on Marmite <a href=\"https://github.com/rochacbruno/marmite\">Github</a> repository, that helps a lot!</p>\n</blockquote>\n<!-- Contents from _markdown_footer.md are appended to every content -->\n<!-- _references.md is a file to gather all references together \nthis file is appended to every raw markdown.\n-->\n",
      "summary": "",
      "date_published": "2026-07-03T00:00:00-00:00",
      "image": "media/apenas-outro-teste.banner.jpg",
      "authors": [
        {
          "name": "Bruno Rocha",
          "url": "https://go.rocha.social/@bruno",
          "avatar": "https://github.com/rochacbruno.png"
        }
      ],
      "tags": [],
      "language": "en"
    },
    {
      "id": "https://marmite.blog/pt-conteudo-em-portugues.html",
      "url": "https://marmite.blog/pt-conteudo-em-portugues.html",
      "title": "Conteudo em Portugues",
      "content_html": "<p>Este e um post com apenas <code>language: pt</code> no frontmatter, sem <code>stream</code> definido.\nSera que aparece no <code>pt.html</code> automaticamente?</p>\n<blockquote>\n<p>Please consider giving a ☆ on Marmite <a href=\"https://github.com/rochacbruno/marmite\">Github</a> repository, that helps a lot!</p>\n</blockquote>\n<!-- Contents from _markdown_footer.md are appended to every content -->\n<!-- _references.md is a file to gather all references together \nthis file is appended to every raw markdown.\n-->\n",
      "summary": "",
      "date_published": "2026-07-03T00:00:00-00:00",
      "image": "media/conteudo-em-portugues.banner.jpg",
      "authors": [
        {
          "name": "Bruno Rocha",
          "url": "https://go.rocha.social/@bruno",
          "avatar": "https://github.com/rochacbruno.png"
        }
      ],
      "tags": [],
      "language": "en"
    },
    {
      "id": "https://marmite.blog/pt-language-streams-conteudo-multilingual.html",
      "url": "https://marmite.blog/pt-language-streams-conteudo-multilingual.html",
      "title": "Language Streams - Conteudo Multilingual",
      "content_html": "<p>O marmite suporta sites multilingues atraves de language streams. Cada idioma se torna uma stream com sua propria pagina de listagem e feed RSS, enquanto as traducoes sao automaticamente vinculadas com navegacao &quot;Tambem disponivel em&quot; e tags hreflang para SEO.</p>\n<h2><a href=\"#como-funciona\" aria-hidden=\"true\" class=\"anchor\" id=\"como-funciona\"></a>Como Funciona</h2>\n<p>Os idiomas sao auto-detectados a partir do conteudo. Basta definir <code>language: xx</code> no frontmatter ou usar convencoes de nomenclatura por subpasta, e o marmite cuida do resto - nenhuma configuracao e necessaria.</p>\n<p>O campo <code>language</code> no <code>marmite.yaml</code> (padrao <code>en</code>) determina o idioma padrao do site. O conteudo no idioma padrao fica no <code>index.html</code>. Outros idiomas recebem suas proprias paginas de stream (<code>pt.html</code>, <code>es.html</code>) e feeds RSS (<code>pt.rss</code>, <code>es.rss</code>).</p>\n<h3><a href=\"#opcional-nomes-de-exibicao\" aria-hidden=\"true\" class=\"anchor\" id=\"opcional-nomes-de-exibicao\"></a>Opcional: Nomes de Exibicao</h3>\n<p>Por padrao, as language streams sao rotuladas com seu codigo de duas letras (ex., &quot;pt&quot;, &quot;es&quot;). Para definir nomes legiveis, adicione uma secao opcional <code>languages</code> ao <code>marmite.yaml</code>:</p>\n<pre class=\"marmite-code\"><code class=\"marmite-code-inner language-yaml\"><a-pr>language</a-pr><a-p>:</a-p> <a-s>en</a-s>\n<a-pr>languages</a-pr><a-p>:</a-p>\n  <a-pr>pt</a-pr><a-p>:</a-p>\n    <a-pr>display_name</a-pr><a-p>:</a-p> <a-s>&quot;Portugues&quot;</a-s>\n  <a-pr>es</a-pr><a-p>:</a-p>\n    <a-pr>display_name</a-pr><a-p>:</a-p> <a-s>&quot;Espanol&quot;</a-s></code></pre>\n<p>Isso segue o mesmo padrao de <code>streams:</code> e <code>series:</code> - a configuracao e puramente cosmetica. Sites sem conteudo em outros idiomas nao sao afetados.</p>\n<h2><a href=\"#organizacao-do-conteudo\" aria-hidden=\"true\" class=\"anchor\" id=\"organizacao-do-conteudo\"></a>Organizacao do Conteudo</h2>\n<p>Existem quatro formas de organizar conteudo multilingual. Todas produzem saida HTML plana.</p>\n<h3><a href=\"#opcao-1-agrupamento-por-subpasta-auto-descoberta\" aria-hidden=\"true\" class=\"anchor\" id=\"opcao-1-agrupamento-por-subpasta-auto-descoberta\"></a>Opcao 1: Agrupamento por Subpasta (Auto-Descoberta)</h3>\n<p>Agrupe traducoes em uma subpasta com o nome do slug do conteudo base. Arquivos com prefixo de codigo de idioma ISO 639-1 sao automaticamente detectados e vinculados:</p>\n<pre class=\"marmite-code\"><code class=\"marmite-code-inner\">content/hello/\n  hello.md              # Idioma padrao (en)\n  pt-ola-mundo.md       # Traducao em portugues\n  es-hola-mundo.md      # Traducao em espanhol\n</code></pre>\n<p>Isso gera:</p>\n<ul>\n<li><code>hello.html</code> - Post em ingles, listado no <code>index.html</code></li>\n<li><code>pt-ola-mundo.html</code> - Post em portugues, listado no <code>pt.html</code></li>\n<li><code>es-hola-mundo.html</code> - Post em espanhol, listado no <code>es.html</code></li>\n</ul>\n<p>Todas as tres paginas mostram automaticamente links &quot;Tambem disponivel em&quot; para as outras.</p>\n<div class=\"markdown-alert markdown-alert-tip\">\n<p class=\"markdown-alert-title\">Tip</p>\n<p>A subpasta tambem pode ter a data nela, por exemplo <code>content/2026-07-02-hello/</code>, assim voce nao precisa especificar a data no frontmatter de cada traducao.</p>\n</div>\n<h3><a href=\"#opcao-2-misto-arquivo-plano--subpasta\" aria-hidden=\"true\" class=\"anchor\" id=\"opcao-2-misto-arquivo-plano--subpasta\"></a>Opcao 2: Misto Arquivo Plano + Subpasta</h3>\n<p>Se voce tem um site plano existente e quer adicionar traducoes sem mover os arquivos originais, crie uma subpasta com o mesmo nome do slug do conteudo existente:</p>\n<pre class=\"marmite-code\"><code class=\"marmite-code-inner\">content/\n  hello.md              # Arquivo plano existente, slug: hello\n  hello/\n    pt-ola.md           # Traducao em portugues, vinculada automaticamente\n</code></pre>\n<p>O marmite detecta que o nome da subpasta <code>hello</code> corresponde ao slug do arquivo plano e os vincula como traducoes.</p>\n<div class=\"markdown-alert markdown-alert-important\">\n<p class=\"markdown-alert-title\">Important</p>\n<p>Os nomes das subpastas devem corresponder ao slug do post original (nao o nome do arquivo, mas o slug resolvido, as vezes retirado do titulo) para serem automaticamente vinculados como traducoes.</p>\n</div>\n<h3><a href=\"#opcao-3-ponteiro-translates\" aria-hidden=\"true\" class=\"anchor\" id=\"opcao-3-ponteiro-translates\"></a>Opcao 3: Ponteiro Translates</h3>\n<p>Cada traducao aponta para o slug do conteudo original usando o campo <code>translates</code>. O marmite constroi a rede completa de links bidirecionais automaticamente. Quando <code>language</code> e definido com um valor diferente do idioma padrao do site, o marmite automaticamente coloca o conteudo na stream de idioma correspondente:</p>\n<pre class=\"marmite-code\"><code class=\"marmite-code-inner language-yaml\"><a-p>---</a-p>\n<a-pr>title</a-pr><a-p>:</a-p> <a-s>Ola Mundo</a-s>\n<a-pr>date</a-pr><a-p>:</a-p> <a-s>2024-01-01</a-s>\n<a-pr>language</a-pr><a-p>:</a-p> <a-s>pt</a-s>\n<a-pr>translates</a-pr><a-p>:</a-p> <a-s>hello</a-s>\n<a-p>---</a-p></code></pre>\n<p>Isso e mais simples do que manter uma lista <code>translations</code> em cada arquivo. Basta definir <code>translates</code> em cada traducao e o marmite conecta tudo.</p>\n<h3><a href=\"#opcao-4-link-de-traducao-via-frontmatter\" aria-hidden=\"true\" class=\"anchor\" id=\"opcao-4-link-de-traducao-via-frontmatter\"></a>Opcao 4: Link de Traducao via Frontmatter</h3>\n<p>Defina o idioma e as traducoes explicitamente no frontmatter:</p>\n<pre class=\"marmite-code\"><code class=\"marmite-code-inner language-yaml\"><a-p>---</a-p>\n<a-pr>title</a-pr><a-p>:</a-p> <a-s>Hello World</a-s>\n<a-pr>date</a-pr><a-p>:</a-p> <a-s>2024-01-01</a-s>\n<a-pr>language</a-pr><a-p>:</a-p> <a-s>en</a-s> <a-c># pode omitir porque e o idioma padrao</a-c>\n<a-pr>translations</a-pr><a-p>:</a-p>\n  <a-p>-</a-p> <a-s>pt-ola</a-s>  <a-c># entao voce escreve um post com slug `ola` e language: pt</a-c>\n  <a-p>-</a-p> <a-s>es-hola</a-s>\n<a-p>---</a-p></code></pre>\n<p>O campo <code>translations</code> aceita uma lista de slugs. O marmite resolve cada slug para o conteudo real, preenche o codigo do idioma e o nome de exibicao a partir da configuracao <code>languages</code>, e cria links bidirecionais. Se o post A lista o post B como traducao, o post B automaticamente recebe um link de volta para o post A.</p>\n<div class=\"markdown-alert markdown-alert-important\">\n<p class=\"markdown-alert-title\">Important</p>\n<p>Prefira as opcoes 1 e 2 para auto-descoberta. As opcoes 3 e 4 exigem frontmatter explicito, mas oferecem mais controle sobre a vinculacao.</p>\n</div>\n<h2><a href=\"#campos-de-frontmatter\" aria-hidden=\"true\" class=\"anchor\" id=\"campos-de-frontmatter\"></a>Campos de Frontmatter</h2>\n<h3><a href=\"#language\" aria-hidden=\"true\" class=\"anchor\" id=\"language\"></a><code>language</code></h3>\n<p>Define explicitamente o codigo de idioma do conteudo:</p>\n<pre class=\"marmite-code\"><code class=\"marmite-code-inner language-yaml\"><a-pr>language</a-pr><a-p>:</a-p> <a-s>pt</a-s></code></pre>\n<p>Normalmente nao e necessario com deteccao por subpasta (Opcoes 1 e 2) - o idioma e inferido automaticamente. Use para as Opcoes 3 e 4 quando o conteudo nao esta em subpastas.</p>\n<p>Quando <code>language</code> e definido com um valor diferente do idioma padrao do site e nenhuma stream e definida explicitamente, o marmite automaticamente usa o idioma como stream, ou seja, este post sera publicado na stream pt.html.</p>\n<h3><a href=\"#translates\" aria-hidden=\"true\" class=\"anchor\" id=\"translates\"></a><code>translates</code></h3>\n<p>Aponta uma traducao para o slug do conteudo original:</p>\n<pre class=\"marmite-code\"><code class=\"marmite-code-inner language-yaml\"><a-pr>translates</a-pr><a-p>:</a-p> <a-s>hello</a-s></code></pre>\n<p>O marmite cria links bidirecionais entre o conteudo original e todas as suas traducoes. Nao e necessario com auto-descoberta por subpasta (Opcoes 1 e 2). Veja a Opcao 3 acima para detalhes.</p>\n<h3><a href=\"#translations\" aria-hidden=\"true\" class=\"anchor\" id=\"translations\"></a><code>translations</code></h3>\n<p>Vincula manualmente a traducoes por slug:</p>\n<pre class=\"marmite-code\"><code class=\"marmite-code-inner language-yaml\"><a-pr>translations</a-pr><a-p>:</a-p>\n  <a-p>-</a-p> <a-s>en-hello-world</a-s>\n  <a-p>-</a-p> <a-s>es-hola-mundo</a-s></code></pre>\n<p>Nao e necessario ao usar auto-descoberta por subpasta (Opcoes 1 e 2) ou <code>translates:</code> (Opcao 3), pois as traducoes sao vinculadas automaticamente.</p>\n<h2><a href=\"#como-funciona-internamente\" aria-hidden=\"true\" class=\"anchor\" id=\"como-funciona-internamente\"></a>Como Funciona Internamente</h2>\n<ol>\n<li>Durante a coleta de conteudo, arquivos em subpastas com prefixo de codigo de idioma ISO 639-1 (ex., <code>en-</code>) sao detectados e atribuidos a essa language stream</li>\n<li>Os idiomas sao auto-populados a partir de todo o conteudo observado - nenhuma configuracao e necessaria</li>\n<li>Apos toda a coleta de conteudo, uma fase de descoberta de traducoes agrupa conteudo por subpasta, processa ponteiros <code>translates:</code> e resolve referencias de frontmatter</li>\n<li>Todos os membros de um grupo de traducao recebem links cruzados com entradas <code>TranslationRef</code> contendo o codigo do idioma, nome de exibicao, slug e titulo</li>\n<li>Os templates renderizam links de traducao e tags hreflang a partir dessas referencias</li>\n</ol>\n<h2><a href=\"#notas-de-compatibilidade\" aria-hidden=\"true\" class=\"anchor\" id=\"notas-de-compatibilidade\"></a>Notas de Compatibilidade</h2>\n<ul>\n<li>O conteudo do idioma padrao usa a stream <code>index</code> e aparece na pagina principal <code>index.html</code></li>\n<li>A deteccao de idioma por prefixo de nome de arquivo so funciona dentro de subpastas, nunca para arquivos planos na raiz do conteudo (evitando falsos positivos como <code>essential-guide.md</code> sendo detectado como idioma <code>es</code>)</li>\n<li>Um post pode ter tanto uma <code>series</code> quanto uma language stream - funcionam independentemente</li>\n<li>Colisoes de slug entre idiomas sao evitadas pelo prefixo da stream nos slugs (<code>en-hello</code> vs <code>es-hola</code>)</li>\n<li>Paginas (conteudo sem datas) podem ter <code>language</code> e <code>translations</code> para exibicao no template, mas nao aparecem em paginas de listagem de stream</li>\n</ul>\n<blockquote>\n<p>Please consider giving a ☆ on Marmite <a href=\"https://github.com/rochacbruno/marmite\">Github</a> repository, that helps a lot!</p>\n</blockquote>\n<!-- Contents from _markdown_footer.md are appended to every content -->\n<!-- _references.md is a file to gather all references together \nthis file is appended to every raw markdown.\n-->\n",
      "summary": "\"Escreva conteudo em multiplos idiomas com links de traducao automaticos, paginas de stream por idioma e tags hreflang para SEO usando o recurso de language streams do marmite.\"",
      "date_published": "2026-07-02T00:00:00-00:00",
      "image": "media/language-streams/banner.jpg",
      "authors": [
        {
          "name": "Bruno Rocha",
          "url": "https://go.rocha.social/@bruno",
          "avatar": "https://github.com/rochacbruno.png"
        }
      ],
      "tags": [
        "documentação"
      ],
      "language": "en"
    },
    {
      "id": "https://marmite.blog/pt-porque-usar-o-marmite.html",
      "url": "https://marmite.blog/pt-porque-usar-o-marmite.html",
      "title": "Porque usar o Marmite?",
      "content_html": "<p><strong>Marmite</strong> e um gerador de sites estaticos simples, facil e <strong>opinativo</strong>.</p>\n<hr />\n<p><strong>Marmite</strong> nao exige uma estrutura de pastas especifica ou configuracao complexa,\no objetivo e que um <strong>blog</strong> possa ser gerado simplesmente executando o Marmite em uma pasta com arquivos Markdown e midia.</p>\n<p><strong>Marmite</strong> e otimizado para blogs, nao apenas os recursos de parsing e organizacao de conteudo, mas tambem o tema integrado e otimizado para blogs e legibilidade.</p>\n<p><strong>Marmite</strong> tambem pode ser usado para criar outros tipos de sites, pois e totalmente configuravel e muito facil de personalizar os templates.</p>\n<p><strong>Marmite</strong> vem com um tema integrado que e muito flexivel, otimizado para legibilidade e com 11 esquemas de cores para alternar.</p>\n<p><strong>Marmite</strong> gera feeds RSS e JSON para todas as listagens do seu site,\nentao voce recebe feeds para o indice principal, tags, autores e streams personalizados.</p>\n<p><strong>Marmite</strong> visa ser mais facil de integrar com a web social, adotando padroes semanticos de federacao e integrando com o fediverse.</p>\n<p><strong>Marmite</strong> e escrito em <strong>Rust</strong> entao e muito rapido e tudo esta incluido em um unico binario.</p>\n<hr />\n<p>Para gerar seu site estatico a unica coisa que voce precisa e uma pasta com alguns\narquivos markdown e o <code>marmite</code>.</p>\n<p>Supondo que voce tenha uma pasta chamada <code>meuconteudo</code> contendo arquivos com extensao <code>.md</code>:</p>\n<pre class=\"marmite-code\"><code class=\"marmite-code-inner language-plain\">meuconteudo/\n  |_ sobre.md\n  |_ primeiro-post.md\n  |_ algo-incrivel-que-quero-compartilhar.md\n</code></pre>\n<pre class=\"marmite-code\"><code class=\"marmite-code-inner language-console\">$ marmite meuconteudo meusite -v\nSite generated at: /meusite\n</code></pre>\n<p>Isso e tudo que voce precisa para ter um blog gerado, agora basta pegar a\npasta <code>meusite</code> e publicar em um servidor web, leia mais em <a href=\"./hosting.html\">hospedagem</a>.</p>\n<p>Aprenda como criar seu primeiro blog com o marmite no nosso <a href=\"getting-started.html\">Tutorial de Primeiros Passos</a></p>\n<hr />\n<h2><a href=\"#opinioes-do-marmite\" aria-hidden=\"true\" class=\"anchor\" id=\"opinioes-do-marmite\"></a>Opinioes do Marmite</h2>\n<h3><a href=\"#tema-integrado\" aria-hidden=\"true\" class=\"anchor\" id=\"tema-integrado\"></a>Tema Integrado</h3>\n<p>O tema integrado do Marmite tem uma estrutura muito simples, nao e sobrecarregado com elementos, o que facilita a personalizacao para suas necessidades usando apenas variaveis CSS.</p>\n<p>O objetivo principal e que voce possa comecar a publicar seus textos usando o tema integrado e gradualmente personalizar a aparencia ao seu gosto, sem precisar gastar muito tempo nisso, focando na escrita.</p>\n<p>Mas se voce quiser, como os templates sao simples, tambem e direto personalizar completamente ou comecar do zero.</p>\n<h4><a href=\"#largura-do-card-de-conteudo\" aria-hidden=\"true\" class=\"anchor\" id=\"largura-do-card-de-conteudo\"></a>Largura do Card de Conteudo</h4>\n<p>O Baymard Institute conduziu uma <a href=\"https://baymard.com/blog/line-length-readability\">pesquisa sobre comprimento otimo de linha</a>, considerando que o Marmite e otimizado para blogs, o tema integrado adota por padrao o maximo de <code>74ch</code> de largura.</p>\n<p><figure><img src=\"media/line_len.avif\" alt=\"len\" /></figure></p>\n<h4><a href=\"#fonte-legivel\" aria-hidden=\"true\" class=\"anchor\" id=\"fonte-legivel\"></a>Fonte Legivel</h4>\n<p>A fonte escolhida para o tema integrado tambem foi selecionada pela legibilidade, o Braille Institute criou uma fonte gratuita com recursos unicos para melhorar a legibilidade em qualquer midia, por isso o Marmite usa <a href=\"https://www.brailleinstitute.org/freefont/\">Atkinson Hyperlegible Next</a> por padrao.</p>\n<p><figure><img src=\"media/braile.png\" alt=\"braile\" /></figure></p>\n<h4><a href=\"#sistema-de-design\" aria-hidden=\"true\" class=\"anchor\" id=\"sistema-de-design\"></a>Sistema de Design</h4>\n<h5><a href=\"#estilo\" aria-hidden=\"true\" class=\"anchor\" id=\"estilo\"></a>Estilo</h5>\n<p>O tema integrado usa <a href=\"https://picocss.com\">picocss</a>, uma biblioteca CSS muito pequena e simples de usar. O Pico utiliza variaveis CSS, entao e muito direto personalizar o tema, colocando um <code>custom.css</code> na sua pasta de conteudo e lidando com as variaveis do PicoCSS.</p>\n<p>Exemplo:</p>\n<p><code>meuconteudo/custom.css</code></p>\n<pre class=\"marmite-code\"><code class=\"marmite-code-inner language-css\"><a-p>:</a-p><a-at>root</a-at> <a-p>{</a-p>\n  <a-pr>--pico-color</a-pr><a-p>:</a-p> blue<a-p>;</a-p>  <a-c>/* mudar cor do texto */</a-c>\n  <a-pr>--pico-background-color</a-pr><a-p>:</a-p> <a-p>#</a-p><a-s>FFCC00</a-s><a-p>;</a-p> <a-c>/* mudar cor de fundo */</a-c>\n  <a-pr>--pico-card-background-color</a-pr><a-p>:</a-p> <a-p>#</a-p><a-s>ccc</a-s><a-p>;</a-p> <a-c>/* mudar cor de fundo dos artigos */</a-c>\n  <a-pr>--pico-container-max-width</a-pr><a-p>:</a-p> <a-n>100</a-n><a-t>ch</a-t><a-p>;</a-p>  <a-c>/* comprimento de linha aumentado para 100 chars */</a-c>\n  <a-pr>--pico-font-family</a-pr><a-p>:</a-p> <a-s>&quot;Helvetica&quot;</a-s><a-p>,</a-p> sans-serif<a-p>;</a-p>  <a-c>/* fonte diferente */</a-c>\n  <a-pr>--pico-border-radius</a-pr><a-p>:</a-p> <a-n>4</a-n><a-t>px</a-t><a-p>;</a-p> <a-c>/* raio da borda dos cards */</a-c>\n  <a-pr>--pico-typography-spacing-vertical</a-pr><a-p>:</a-p> <a-n>1</a-n><a-t>rem</a-t><a-p>;</a-p> <a-c>/* espacamento de linha */</a-c>\n<a-p>}</a-p></code></pre>\n<p>O CSS parece um arquivo de configuracao, facil de usar, e voce tambem pode ser criativo e adicionar mais estilo CSS alem de apenas variaveis.</p>\n<h5><a href=\"#scripts\" aria-hidden=\"true\" class=\"anchor\" id=\"scripts\"></a>Scripts</h5>\n<p><strong>Marmite</strong> e muito leve em JavaScript, tambem pode ser configurado para funcionar sem JavaScript.</p>\n<p>O tema integrado usa Javascript apenas para:</p>\n<ul>\n<li>Alternar modos escuro/claro</li>\n</ul>\n<p>E no conteudo, opcionalmente habilitado nos metadados do conteudo.</p>\n<ul>\n<li>Renderizar diagramas mermaid</li>\n<li>Renderizar sintaxe Math</li>\n</ul>\n<p>Recursos opcionais</p>\n<ul>\n<li>Busca\n<ul>\n<li>Quando habilitada, usara fuse.js</li>\n</ul>\n</li>\n<li>Comentarios\n<ul>\n<li>Quando habilitados, usara um script JS para carregar a caixa de comentarios</li>\n</ul>\n</li>\n</ul>\n<hr />\n<h4><a href=\"#arquitetura-da-informacao\" aria-hidden=\"true\" class=\"anchor\" id=\"arquitetura-da-informacao\"></a>Arquitetura da Informacao</h4>\n<p>O tema integrado e fortemente otimizado para blogs, entao o conteudo principal dos artigos e a parte mais importante, alem disso outras decisoes foram tomadas com o leitor do blog em mente.</p>\n<ul>\n<li>Totalmente responsivo</li>\n<li>Paginas de listagem destacam titulo, descricao, data e tags do conteudo</li>\n<li>Tempo estimado de leitura calculado baseado na media de palavras por minuto</li>\n<li>Sem distracoes, sem paineis laterais, apenas listagem e conteudo principal</li>\n<li>Grupos de conteudo por tags, datas e autor</li>\n<li>Pagina de perfil do autor</li>\n<li>Referencias globais podem ser definidas em <code>_references.md</code> e vinculadas em qualquer conteudo</li>\n<li>Um cabecalho e rodape personalizados podem ser injetados em todas as paginas para alertas globais</li>\n</ul>\n<hr />\n<h4><a href=\"#esquemas-de-cores\" aria-hidden=\"true\" class=\"anchor\" id=\"esquemas-de-cores\"></a>Esquemas de Cores</h4>\n<p>O Marmite vem com alguns esquemas de cores integrados, esquemas de cores sao arquivos de estilo CSS que personalizam cores, espacamento etc.</p>\n<p>Se voce usa outros aplicativos como editores de texto, terminais e apps web, provavelmente esta familiarizado com os esquemas de cores disponiveis.</p>\n<p>Para escolher um esquema de cores adicione na configuracao</p>\n<p><code>marmite.yaml</code></p>\n<pre class=\"marmite-code\"><code class=\"marmite-code-inner language-yaml\"><a-pr>extra</a-pr><a-p>:</a-p>\n  <a-pr>colorscheme</a-pr><a-p>:</a-p> <a-s>gruvbox</a-s></code></pre>\n<p>As opcoes integradas sao <strong>catppuccin</strong>, <strong>clean</strong>, <strong>dracula</strong>, <strong>github</strong>, <strong>gruvbox</strong>, <strong>iceberg</strong>, <strong>monokai</strong>, <strong>nord</strong>, <strong>one</strong>, <strong>solarized</strong>, <strong>typewriter</strong>.</p>\n<p>Para criar um esquema de cores personalizado, coloque um <code>custom.css</code> na sua pasta de entrada (a mesma onde o marmite.yaml esta localizado)</p>\n<hr />\n<h4><a href=\"#temas-personalizados\" aria-hidden=\"true\" class=\"anchor\" id=\"temas-personalizados\"></a>Temas Personalizados</h4>\n<p>Um tema no marmite e baseado nas pastas <code>static</code> e <code>templates</code>, voce pode simplesmente comecar do zero e criar seu proprio tema (por favor compartilhe conosco se fizer).</p>\n<p>O CLI do Marmite tambem vem com um comando <code>--start-theme</code> que ira pegar o tema integrado e copiar para sua pasta, para que voce possa personalizar completamente os templates e arquivos estaticos, leia mais em <a href=\"./customizing-templates.html\">personalizando templates</a>.</p>\n<hr />\n<h2><a href=\"#tipos-de-conteudo\" aria-hidden=\"true\" class=\"anchor\" id=\"tipos-de-conteudo\"></a>Tipos de Conteudo</h2>\n<p><strong>Marmite</strong> nao complica em termos de tipos de conteudo e taxonomias, existem apenas 2 tipos de conteudo <code>Post</code> e <code>Page</code>, e apenas 2 tipos de taxonomia <code>Tags</code> e <code>Stream</code>.</p>\n<p>Voce pode ler mais em detalhes em <a href=\"content-types.html\" data-wikilink=\"true\">content-types</a></p>\n<hr />\n<h2><a href=\"#site-gerado\" aria-hidden=\"true\" class=\"anchor\" id=\"site-gerado\"></a>Site Gerado</h2>\n<p>O site gerado pelo <strong>Marmite</strong> e um site HTML plano, isso significa que mesmo se a pasta de entrada tiver conteudo organizado em subpastas para melhor experiencia de escrita, o site <strong>final</strong> sera sempre <strong>plano</strong>.</p>\n<p>O que e um site plano?</p>\n<ul>\n<li>Nao ha subpastas, cada pagina e servida a partir de <code>/{slug}.ext</code></li>\n<li>Ha extensoes, conteudo tera <code>.html</code> e feeds terao <code>.rss|.json</code></li>\n</ul>\n<p>Por que isso foi decidido?</p>\n<p>Sites planos facilitam:</p>\n<ul>\n<li>Vincular paginas e midia entre si</li>\n<li>Abrir o site diretamente no navegador sem necessidade de servidor</li>\n<li>Personalizar os templates</li>\n<li>Estender funcionalidades</li>\n</ul>\n<p>Esta e uma <strong>opiniao</strong> que algumas pessoas nao gostam, porque e comum usar o que as pessoas chamam de <del>URLs bonitas</del>, por exemplo: <code>/pagina</code> em vez de <code>/pagina.html</code>, porem a opiniao do Marmite e que <code>.html</code> nao torna a URL feia, HTML e uma tecnologia incrivel e nao ha problema em mostrar que nosso conteudo e publicado em um site HTML estatico.</p>\n<p>Semanticamente e melhor ter a extensao porque e mais facil distinguir uma pasta ou um endpoint de API do conteudo final.</p>\n<p>Se por algum motivo voce nao gostar das URLs, ainda pode personalizar via seu servidor web, voce pode configurar o NGINX por exemplo para fazer uma reescrita transparente de URLs para servir conteudo <code>.html</code>, mas isso nao e diretamente suportado pelo Marmite.</p>\n<blockquote>\n<p>Please consider giving a ☆ on Marmite <a href=\"https://github.com/rochacbruno/marmite\">Github</a> repository, that helps a lot!</p>\n</blockquote>\n<!-- Contents from _markdown_footer.md are appended to every content -->\n<!-- _references.md is a file to gather all references together \nthis file is appended to every raw markdown.\n-->\n",
      "summary": "",
      "date_published": "2024-10-21T00:00:00-00:00",
      "image": "media/why.jpg",
      "authors": [
        {
          "name": "Bruno Rocha",
          "url": "https://go.rocha.social/@bruno",
          "avatar": "https://github.com/rochacbruno.png"
        }
      ],
      "tags": [
        "documentação"
      ],
      "language": "en"
    }
  ]
}