{"componentChunkName":"component---src-templates-single-template-tsx","path":"/como-incluir-videos-do-youtube-no-jekyll","result":{"data":{"site":{"siteMetadata":{"siteUrl":"https://blog.nandomoreira.dev","author":{"name":"Fernando Moreira","site":"https://nandomoreira.dev","social":{"disqus":"fernandomoreira"}}}},"markdownRemark":{"html":"<p>Criar plugins para <strong><a href=\"http://jekyllrb.com/\">Jekyll</a></strong> é bem simples e fácil, basta criar seu arquivo <code class=\"language-text\">.rb</code> dentro do diretório <code class=\"language-text\">_plugins</code>.</p>\n<p>Hoje vamos <a href=\"https://gist.github.com/joelverhagen/1805814\">usar um plugin</a> bem bacana para incluir vídeos do <a href=\"https://www.youtube.com/\">Youtube</a> no seu blog Jekyll sem precisar copiar e colar o iframe do youtube, apenas usando o <code class=\"language-text\">ID</code> do vídeo.</p>\n<h3>O arquivo youtube.rb</h3>\n<p>Crie um arquivo chamado <code class=\"language-text\">youtube.rb</code> dentro do diretório <code class=\"language-text\">_plugins</code> e coloque o código abaixo:</p>\n<div class=\"gatsby-highlight\" data-language=\"ruby\"><pre style=\"counter-reset: linenumber NaN\" class=\"language-ruby line-numbers\"><code class=\"language-ruby\"><span class=\"token keyword\">class</span> <span class=\"token class-name\">YouTube</span> <span class=\"token operator\">&lt;</span> <span class=\"token constant\">Liquid</span><span class=\"token punctuation\">:</span><span class=\"token punctuation\">:</span><span class=\"token constant\">Tag</span>\n  <span class=\"token constant\">Syntax</span> <span class=\"token operator\">=</span> <span class=\"token regex\">/^\\s*([^\\s]+)(\\s+(\\d+)\\s+(\\d+)\\s*)?/</span>\n\n  <span class=\"token keyword\">def</span> <span class=\"token method-definition\"><span class=\"token function\">initialize</span></span><span class=\"token punctuation\">(</span>tagName<span class=\"token punctuation\">,</span> markup<span class=\"token punctuation\">,</span> tokens<span class=\"token punctuation\">)</span>\n    <span class=\"token keyword\">super</span>\n\n    <span class=\"token keyword\">if</span> markup <span class=\"token operator\">=</span><span class=\"token operator\">~</span> <span class=\"token constant\">Syntax</span> <span class=\"token keyword\">then</span>\n      <span class=\"token variable\">@id</span> <span class=\"token operator\">=</span> $<span class=\"token number\">1</span>\n\n      <span class=\"token keyword\">if</span> $<span class=\"token number\">2.</span><span class=\"token keyword\">nil</span><span class=\"token operator\">?</span> <span class=\"token keyword\">then</span>\n          <span class=\"token variable\">@width</span> <span class=\"token operator\">=</span> <span class=\"token number\">560</span>\n          <span class=\"token variable\">@height</span> <span class=\"token operator\">=</span> <span class=\"token number\">420</span>\n      <span class=\"token keyword\">else</span>\n          <span class=\"token variable\">@width</span> <span class=\"token operator\">=</span> $<span class=\"token number\">2.</span>to_i\n          <span class=\"token variable\">@height</span> <span class=\"token operator\">=</span> $<span class=\"token number\">3.</span>to_i\n      <span class=\"token keyword\">end</span>\n    <span class=\"token keyword\">else</span>\n      <span class=\"token keyword\">raise</span> <span class=\"token string\">\"No YouTube ID provided in the \\\"youtube\\\" tag\"</span>\n    <span class=\"token keyword\">end</span>\n  <span class=\"token keyword\">end</span>\n\n  <span class=\"token keyword\">def</span> <span class=\"token method-definition\"><span class=\"token function\">render</span></span><span class=\"token punctuation\">(</span>context<span class=\"token punctuation\">)</span>\n    <span class=\"token string\">\"&lt;iframe width=\\\"<span class=\"token interpolation\"><span class=\"token delimiter tag\">#{</span><span class=\"token variable\">@width</span><span class=\"token delimiter tag\">}</span></span>\\\" height=\\\"<span class=\"token interpolation\"><span class=\"token delimiter tag\">#{</span><span class=\"token variable\">@height</span><span class=\"token delimiter tag\">}</span></span>\\\" src=\\\"http://www.youtube.com/embed/<span class=\"token interpolation\"><span class=\"token delimiter tag\">#{</span><span class=\"token variable\">@id</span><span class=\"token delimiter tag\">}</span></span>?color=white&amp;theme=light\\\">&lt;/iframe>\"</span>\n  <span class=\"token keyword\">end</span>\n\n  <span class=\"token constant\">Liquid</span><span class=\"token punctuation\">:</span><span class=\"token punctuation\">:</span><span class=\"token constant\">Template</span><span class=\"token punctuation\">.</span>register_tag <span class=\"token string\">\"youtube\"</span><span class=\"token punctuation\">,</span> <span class=\"token keyword\">self</span>\n<span class=\"token keyword\">end</span></code><span aria-hidden=\"true\" class=\"line-numbers-rows\" style=\"white-space: normal; width: auto; left: 0;\"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></span></pre></div>\n<h3>Exemplo de uso:</h3>\n<p>Como eu falei logo acima, é bem simples, apenas com uma linha curta você inclui o iframe do youtube no HTML final do Jekyll.</p>\n<div class=\"gatsby-highlight\" data-language=\"liquid\"><pre style=\"counter-reset: linenumber NaN\" class=\"language-liquid line-numbers\"><code class=\"language-liquid\">{<span class=\"token operator\">%</span> youtube <span class=\"token number\">8</span>SbUC<span class=\"token operator\">-</span>UaAxE <span class=\"token operator\">%</span>}</code><span aria-hidden=\"true\" class=\"line-numbers-rows\" style=\"white-space: normal; width: auto; left: 0;\"><span></span></span></pre></div>\n<p>Você também pode especificar uma altura e largura do iframe. Se você não usar o padrão é de 560 x 420.</p>\n<div class=\"gatsby-highlight\" data-language=\"liquid\"><pre style=\"counter-reset: linenumber NaN\" class=\"language-liquid line-numbers\"><code class=\"language-liquid\">{<span class=\"token operator\">%</span> youtube <span class=\"token number\">8</span>SbUC<span class=\"token operator\">-</span>UaAxE <span class=\"token number\">850</span> <span class=\"token number\">460</span> <span class=\"token operator\">%</span>}</code><span aria-hidden=\"true\" class=\"line-numbers-rows\" style=\"white-space: normal; width: auto; left: 0;\"><span></span></span></pre></div>\n<h2>Conclusão</h2>\n<p>Bom, na verdade copiar e colar o iframe do Youtube não é tão difícil assim (HUE), mas eu <strong>NÃO</strong> gosto muito de misturar <abbr title=\"HyperText Markup Language\">HTML</abbr> com <strong>Markdown</strong> enquanto estou escrevendo um post, mas em alguns casos é necessário.</p>\n<p><figure class=\"gatsby-resp-image-figure\" style=\"\">\n    <span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto;  max-width: 770px;\"\n    >\n      <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 40%; position: relative; bottom: 0; left: 0; background-image: url('data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAIABQDASIAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAAAAIF/8QAFQEBAQAAAAAAAAAAAAAAAAAAAAH/2gAMAwEAAhADEAAAAcKhJC//xAAWEAEBAQAAAAAAAAAAAAAAAAABABH/2gAIAQEAAQUCJxb/xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAEDAQE/AT//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAECAQE/AT//xAAWEAADAAAAAAAAAAAAAAAAAAAAECH/2gAIAQEABj8CIv/EABgQAAMBAQAAAAAAAAAAAAAAAAABESEx/9oACAEBAAE/IcRvg+BCH//aAAwDAQACAAMAAAAQ/C//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAEDAQE/ED//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAECAQE/ED//xAAaEAACAgMAAAAAAAAAAAAAAAABEQAQITFR/9oACAEBAAE/ECdpDmHhU5un/9k='); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n        <source\n          srcset=\"/static/831430ff88eef1a514d0aa6f2a9c8e9b/bc904/vai-sangrar.webp 250w,\n/static/831430ff88eef1a514d0aa6f2a9c8e9b/4be29/vai-sangrar.webp 500w,\n/static/831430ff88eef1a514d0aa6f2a9c8e9b/52dfd/vai-sangrar.webp 770w\"\n          sizes=\"(max-width: 770px) 100vw, 770px\"\n          type=\"image/webp\"\n        />\n        <source\n          srcset=\"/static/831430ff88eef1a514d0aa6f2a9c8e9b/0988f/vai-sangrar.jpg 250w,\n/static/831430ff88eef1a514d0aa6f2a9c8e9b/d1f95/vai-sangrar.jpg 500w,\n/static/831430ff88eef1a514d0aa6f2a9c8e9b/b9ca1/vai-sangrar.jpg 770w\"\n          sizes=\"(max-width: 770px) 100vw, 770px\"\n          type=\"image/jpeg\"\n        />\n        <img\n          class=\"gatsby-resp-image-image\"\n          src=\"/static/831430ff88eef1a514d0aa6f2a9c8e9b/b9ca1/vai-sangrar.jpg\"\n          alt=\"Barman - Sem sangrar\"\n          title=\"Barman - Sem sangrar\"\n          loading=\"lazy\"\n          style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        />\n      </picture>\n    </span>\n    <figcaption class=\"gatsby-resp-image-figcaption\">Barman - Sem sangrar</figcaption>\n  </figure></p>\n<p>Então essa foi uma solução bem bacana de incluir o iframe de forma fácil e <strong>\"sem sangrar\"</strong> por isso.</p>\n<blockquote>\n<p><strong>Atenção!</strong> O Github não suporta nativamente plugins personalizados para Jekyll, então para usar os plugins e hospedar no <a href=\"https://pages.github.com/\">gh-pages</a> você precisa compilar manualmente o jekyll e subir para seu repositório no Github, para isso você pode usar <a href=\"/rake-tasks-para-automatizar-publicacoes-jekyll/\">Rake Tasks</a> ou utilizar integração continua como <a href=\"https://travis-ci.org\">travis-ci</a></p>\n<small>\n  leia mais em: _[Using jekyll plugins on github\n  pages](http://ixti.net/software/2013/01/28/using-jekyll-plugins-on-github-pages.html)_\n</small>\n</blockquote>\n<p>Obrigado.</p>\n<p>/end</p>","excerpt":"Criar plugins para Jekyll é bem simples e fácil, basta criar seu arquivo  dentro do diretório . Hoje vamos usar um plugin bem bacana para incluir…","timeToRead":2,"frontmatter":{"category":["jekyll"],"date":"há 11 anos","datePublished":"2016-01-10T17:03:59.000Z","description":"Hoje vamos usar um plugin bem bacana para incluir vídeos do youtube no seu blog Jekyll sem precisar copiar e colar o iframe do youtube","path":"/como-incluir-videos-do-youtube-no-jekyll","tags":["jekyll","youtube","plugins"],"title":"Como incluir vídeos do youtube no seu blog Jekyll de forma fácil","image":{"publicURL":"/static/get-started-with-jekyll-89fd15d1dd2f602e9773098c7b895352.jpg","name":"get-started-with-jekyll"}},"fields":{"readingTime":{"words":321}}}},"pageContext":{}}}