{"id":363,"date":"2019-08-07T00:58:52","date_gmt":"2019-08-07T00:58:52","guid":{"rendered":"https:\/\/micheladrianomedeiros.com.br\/blog\/?p=363"},"modified":"2019-08-07T00:58:54","modified_gmt":"2019-08-07T00:58:54","slug":"construindo-ferramentas-com-github-2","status":"publish","type":"post","link":"https:\/\/micheladrianomedeiros.com.br\/blog\/construindo-ferramentas-com-github-2\/","title":{"rendered":"Construindo Ferramentas com GitHub #2"},"content":{"rendered":"\n<p class=\"has-text-color has-vivid-cyan-blue-color\"><strong>An\u00e1lise do JSON a partir da\nLinha de Comando<\/strong><\/p>\n\n\n\n<p>JSON \u00e9 um formato de texto que\nvoc\u00ea pode usar uma ferramenta para processar os textos em linha de comando,\ntais como o AWK (<a href=\"https:\/\/terminalroot.com.br\/2014\/12\/tutorial-basico-de-awk.html\">https:\/\/terminalroot.com.br\/2014\/12\/tutorial-basico-de-awk.html<\/a>) para\nprocessar respostas. H\u00e1 uma fant\u00e1stica ferramenta de an\u00e1lise de JSON que\ncomplementa o cURL, chamada de jq. Se voc\u00ea usar em um comando o car\u00e1cter | (pipe)\ncom o jq, pode-se extrair facilmente peda\u00e7os do JSON utilizando filters. Para download\ne como instalar o jq acesse <a href=\"https:\/\/github.com\/stedolan\/jq\/wiki\/Installation\">https:\/\/github.com\/stedolan\/jq\/wiki\/Installation<\/a>.<\/p>\n\n\n\n<p>Vamos fazer um teste, vamos\npuxar algo interessante da API acessando api.github.com. Digite no cmd curl\nhttps:\/\/api.github.com | jq &#8220;.current_user_url&#8221;<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"887\" height=\"180\" src=\"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2019\/08\/1-1.png\" alt=\"\" class=\"wp-image-364\" srcset=\"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2019\/08\/1-1.png 887w, https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2019\/08\/1-1-300x61.png 300w, https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2019\/08\/1-1-768x156.png 768w\" sizes=\"auto, (max-width: 887px) 100vw, 887px\" \/><\/figure><\/div>\n\n\n\n<p>O que aconteceu? A ferramenta\njq analisou o JSON, e usando o filtro .current_user_url retornou uma resposta\ndo JSON. Se voc\u00ea voltar no primeiro exemplo que fizemos, vai notar que tem uma\nlinha na resposta com a seguinte informa\u00e7\u00e3o: &#8220;<strong>current_user_url<\/strong>&#8220;:\n&#8220;<strong>https:\/\/api.github.com\/user<\/strong>&#8220;,. Veja que tem um formato de\nchave\/valor. Note que utilizamos a chave como filtro e retornou o valor.<\/p>\n\n\n\n<p>Voc\u00ea viu tamb\u00e9m que h\u00e1 outras\ninforma\u00e7\u00f5es que pode n\u00e3o ser interessante para voc\u00ea. Neste caso podemos usar o\nmodo silencioso (adicionando -s ao comando) do cURL para trazer s\u00f3 a resposta\nque queremos.<\/p>\n\n\n\n<p>O filter \u00e9 muito f\u00e1cil de usar\npara obter a resposta do JSON. Para request mais complicadas (por exemplo, n\u00f3s\nquerermos obter uma lista p\u00fablica de reposit\u00f3rios de um usu\u00e1rio), n\u00f3s podemos ver\no padr\u00e3o do jq para passar par\u00e2metros. Vamos pegar uma lista de reposit\u00f3rios e\nver como extrair informa\u00e7\u00f5es da resposta utilizando o jq: digite curl -s <a href=\"https:\/\/api.github.com\/users\/blackzig\/repos\">https:\/\/api.github.com\/users\/blackzig\/repos<\/a>,\nblackzig \u00e9 meu nome de usu\u00e1rio no GitHub, se voc\u00ea tiver algum reposit\u00f3rio na\nsua conta, coloque o nome do seu usu\u00e1rio.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"956\" height=\"695\" src=\"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2019\/08\/2.png\" alt=\"\" class=\"wp-image-365\" srcset=\"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2019\/08\/2.png 956w, https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2019\/08\/2-300x218.png 300w, https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2019\/08\/2-768x558.png 768w\" sizes=\"auto, (max-width: 956px) 100vw, 956px\" \/><\/figure><\/div>\n\n\n\n<p>&nbsp;A resposta que tivemos \u00e9 um array de m\u00faltiplos\nitens. Para conseguir pegar um valor espec\u00edfico vamos fazer um novo comando.<\/p>\n\n\n\n<p>&nbsp;Agora sim vamos utilizar o jq para filtrar uma\ninforma\u00e7\u00e3o espec\u00edfica. Digite no cmd curl -s\nhttps:\/\/api.github.com\/users\/blackzig\/repos | jq &#8220;.[0].owner.id&#8221;<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"1017\" height=\"105\" src=\"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2019\/08\/3.png\" alt=\"\" class=\"wp-image-366\" srcset=\"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2019\/08\/3.png 1017w, https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2019\/08\/3-300x31.png 300w, https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2019\/08\/3-768x79.png 768w\" sizes=\"auto, (max-width: 1017px) 100vw, 1017px\" \/><\/figure><\/div>\n\n\n\n<p>Veja que conseguir trazer\napenas um valor espec\u00edfico de um mundo de informa\u00e7\u00e3o do exemplo anterior. Ent\u00e3o,\nvoc\u00ea pode ver que o jq \u00e9 uma \u00f3tima ferramenta para checar valores do JSON. Lembre-se\nque os valores chave\/valor sempre devem estar entre aspas. Voc\u00ea n\u00e3o vai\nconseguir fazer uma verifica\u00e7\u00e3o em um JSON se n\u00e3o estiver em um formato v\u00e1lido.<\/p>\n\n\n\n<p>Se gostou do jq e quer saber\nmais acesse a documenta\u00e7\u00e3o <a href=\"https:\/\/stedolan.github.io\/jq\/\">https:\/\/stedolan.github.io\/jq\/<\/a>.<\/p>\n\n\n\n<p class=\"has-text-color has-vivid-cyan-blue-color\"><strong>Debugando Chaves com o cURL<\/strong><\/p>\n\n\n\n<p>Como vimos o cURL \u00e9 uma \u00f3tima\nferramenta para verificar respostas que voc\u00ea espera obter. A resposta que vem\nno body \u00e9 importante, mas as vezes voc\u00ea pode querer acessar o headers. Com o cURL\n\u00e9 f\u00e1cil fazer isto utilizando as chaves -i e -v. A chave -i imprime o headers\ndo request, e a chave -v imprime o headers do request e response (o car\u00e1cter\n&gt; indica os dados do request e o &lt; indica os dados do response): Vamos fazer\num teste, digite curl -i <a href=\"https:\/\/api.github.com\">https:\/\/api.github.com<\/a>.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"537\" src=\"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2019\/08\/4-1024x537.png\" alt=\"\" class=\"wp-image-367\" srcset=\"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2019\/08\/4-1024x537.png 1024w, https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2019\/08\/4-300x157.png 300w, https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2019\/08\/4-768x403.png 768w, https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2019\/08\/4.png 1116w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div>\n\n\n\n<p>Agora digite curl -v <a href=\"https:\/\/api.github.com\">https:\/\/api.github.com<\/a>.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"780\" height=\"583\" src=\"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2019\/08\/5.png\" alt=\"\" class=\"wp-image-368\" srcset=\"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2019\/08\/5.png 780w, https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2019\/08\/5-300x224.png 300w, https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2019\/08\/5-768x574.png 768w\" sizes=\"auto, (max-width: 780px) 100vw, 780px\" \/><\/figure><\/div>\n\n\n\n<p>Com a chave -v a resposta vem com muitas informa\u00e7\u00f5es como as pesquisas de DNS e a cadeia de SSL. Tome cuidado ao usar o jq nestes casos porque as respostas n\u00e3o s\u00e3o um JSON puro. <\/p>\n\n\n\n<p class=\"has-text-color has-background has-very-light-gray-color has-vivid-cyan-blue-background-color\"><a rel=\"noreferrer noopener\" target=\"_blank\" href=\"https:\/\/www.amazon.com.br\/gp\/offer-listing\/B01BKYRPWU\/ref=as_li_tl?ie=UTF8&amp;camp=1789&amp;creative=9325&amp;creativeASIN=B01BKYRPWU&amp;linkCode=am2&amp;tag=blackzig0b-20&amp;linkId=0f09608e6a4abe1eebb652101d8defad\">Building Tools with GitHub: Customize Your Workflow (English Edition)<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/amzn.to\/2T9Mivx\">https:\/\/amzn.to\/2T9Mivx<\/a><\/p>\n\n\n\n<p>#git #github<\/p>\n\n\n","protected":false},"excerpt":{"rendered":"<p>An\u00e1lise do JSON a partir da Linha de Comando JSON \u00e9 um formato de texto que voc\u00ea pode usar uma ferramenta para processar os textos em linha de comando, tais como o AWK (https:\/\/terminalroot.com.br\/2014\/12\/tutorial-basico-de-awk.html) para processar respostas. H\u00e1 uma fant\u00e1stica ferramenta de an\u00e1lise de JSON que complementa o cURL, chamada de jq. Se voc\u00ea usar [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":360,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[70,71],"tags":[72,73],"class_list":["post-363","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-git","category-github","tag-git","tag-github"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.5 (Yoast SEO v27.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Construindo Ferramentas com GitHub #2 - Viciados em Aprender<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/micheladrianomedeiros.com.br\/blog\/construindo-ferramentas-com-github-2\/\" \/>\n<meta property=\"og:locale\" content=\"pt_PT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Construindo Ferramentas com GitHub #2\" \/>\n<meta property=\"og:description\" content=\"An\u00e1lise do JSON a partir da Linha de Comando JSON \u00e9 um formato de texto que voc\u00ea pode usar uma ferramenta para processar os textos em linha de comando, tais como o AWK (https:\/\/terminalroot.com.br\/2014\/12\/tutorial-basico-de-awk.html) para processar respostas. H\u00e1 uma fant\u00e1stica ferramenta de an\u00e1lise de JSON que complementa o cURL, chamada de jq. Se voc\u00ea usar [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/micheladrianomedeiros.com.br\/blog\/construindo-ferramentas-com-github-2\/\" \/>\n<meta property=\"og:site_name\" content=\"Viciados em Aprender\" \/>\n<meta property=\"article:published_time\" content=\"2019-08-07T00:58:52+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-08-07T00:58:54+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2019\/08\/shutterstock_1134629258-compressor.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"627\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"blackzig\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"blackzig\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo estimado de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/construindo-ferramentas-com-github-2\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/construindo-ferramentas-com-github-2\\\/\"},\"author\":{\"name\":\"blackzig\",\"@id\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/#\\\/schema\\\/person\\\/687a6d17428a0f0e040aefbd858ebc1e\"},\"headline\":\"Construindo Ferramentas com GitHub #2\",\"datePublished\":\"2019-08-07T00:58:52+00:00\",\"dateModified\":\"2019-08-07T00:58:54+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/construindo-ferramentas-com-github-2\\\/\"},\"wordCount\":624,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/#\\\/schema\\\/person\\\/687a6d17428a0f0e040aefbd858ebc1e\"},\"image\":{\"@id\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/construindo-ferramentas-com-github-2\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/08\\\/shutterstock_1134629258-compressor.jpg\",\"keywords\":[\"git\",\"github\"],\"articleSection\":[\"Git\",\"GitHub\"],\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/construindo-ferramentas-com-github-2\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/construindo-ferramentas-com-github-2\\\/\",\"url\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/construindo-ferramentas-com-github-2\\\/\",\"name\":\"Construindo Ferramentas com GitHub #2 - Viciados em Aprender\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/construindo-ferramentas-com-github-2\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/construindo-ferramentas-com-github-2\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/08\\\/shutterstock_1134629258-compressor.jpg\",\"datePublished\":\"2019-08-07T00:58:52+00:00\",\"dateModified\":\"2019-08-07T00:58:54+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/construindo-ferramentas-com-github-2\\\/#breadcrumb\"},\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/construindo-ferramentas-com-github-2\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/construindo-ferramentas-com-github-2\\\/#primaryimage\",\"url\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/08\\\/shutterstock_1134629258-compressor.jpg\",\"contentUrl\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/08\\\/shutterstock_1134629258-compressor.jpg\",\"width\":1200,\"height\":627},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/construindo-ferramentas-com-github-2\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"In\u00edcio\",\"item\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Construindo Ferramentas com GitHub #2\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/\",\"name\":\"Viciados em Aprender\",\"description\":\"Queremos aprender tudo o que for poss\u00edvel nesta vida.\",\"publisher\":{\"@id\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/#\\\/schema\\\/person\\\/687a6d17428a0f0e040aefbd858ebc1e\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-PT\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/#\\\/schema\\\/person\\\/687a6d17428a0f0e040aefbd858ebc1e\",\"name\":\"blackzig\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/a7e4b18a2d7254b5cf6da7ca7f92dc71da86905bd1de486e98e3a98664e058f2.jpg\",\"url\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/a7e4b18a2d7254b5cf6da7ca7f92dc71da86905bd1de486e98e3a98664e058f2.jpg\",\"contentUrl\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/a7e4b18a2d7254b5cf6da7ca7f92dc71da86905bd1de486e98e3a98664e058f2.jpg\",\"width\":1920,\"height\":1080,\"caption\":\"blackzig\"},\"logo\":{\"@id\":\"https:\\\/\\\/micheladrianomedeiros.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/a7e4b18a2d7254b5cf6da7ca7f92dc71da86905bd1de486e98e3a98664e058f2.jpg\"},\"sameAs\":[\"http:\\\/\\\/www.micheladrianomedeiros.com.br\\\/\"]}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Construindo Ferramentas com GitHub #2 - Viciados em Aprender","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/micheladrianomedeiros.com.br\/blog\/construindo-ferramentas-com-github-2\/","og_locale":"pt_PT","og_type":"article","og_title":"Construindo Ferramentas com GitHub #2","og_description":"An\u00e1lise do JSON a partir da Linha de Comando JSON \u00e9 um formato de texto que voc\u00ea pode usar uma ferramenta para processar os textos em linha de comando, tais como o AWK (https:\/\/terminalroot.com.br\/2014\/12\/tutorial-basico-de-awk.html) para processar respostas. H\u00e1 uma fant\u00e1stica ferramenta de an\u00e1lise de JSON que complementa o cURL, chamada de jq. Se voc\u00ea usar [&hellip;]","og_url":"https:\/\/micheladrianomedeiros.com.br\/blog\/construindo-ferramentas-com-github-2\/","og_site_name":"Viciados em Aprender","article_published_time":"2019-08-07T00:58:52+00:00","article_modified_time":"2019-08-07T00:58:54+00:00","og_image":[{"width":1200,"height":627,"url":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2019\/08\/shutterstock_1134629258-compressor.jpg","type":"image\/jpeg"}],"author":"blackzig","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"blackzig","Tempo estimado de leitura":"3 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/micheladrianomedeiros.com.br\/blog\/construindo-ferramentas-com-github-2\/#article","isPartOf":{"@id":"https:\/\/micheladrianomedeiros.com.br\/blog\/construindo-ferramentas-com-github-2\/"},"author":{"name":"blackzig","@id":"https:\/\/micheladrianomedeiros.com.br\/blog\/#\/schema\/person\/687a6d17428a0f0e040aefbd858ebc1e"},"headline":"Construindo Ferramentas com GitHub #2","datePublished":"2019-08-07T00:58:52+00:00","dateModified":"2019-08-07T00:58:54+00:00","mainEntityOfPage":{"@id":"https:\/\/micheladrianomedeiros.com.br\/blog\/construindo-ferramentas-com-github-2\/"},"wordCount":624,"commentCount":0,"publisher":{"@id":"https:\/\/micheladrianomedeiros.com.br\/blog\/#\/schema\/person\/687a6d17428a0f0e040aefbd858ebc1e"},"image":{"@id":"https:\/\/micheladrianomedeiros.com.br\/blog\/construindo-ferramentas-com-github-2\/#primaryimage"},"thumbnailUrl":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2019\/08\/shutterstock_1134629258-compressor.jpg","keywords":["git","github"],"articleSection":["Git","GitHub"],"inLanguage":"pt-PT","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/micheladrianomedeiros.com.br\/blog\/construindo-ferramentas-com-github-2\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/micheladrianomedeiros.com.br\/blog\/construindo-ferramentas-com-github-2\/","url":"https:\/\/micheladrianomedeiros.com.br\/blog\/construindo-ferramentas-com-github-2\/","name":"Construindo Ferramentas com GitHub #2 - Viciados em Aprender","isPartOf":{"@id":"https:\/\/micheladrianomedeiros.com.br\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/micheladrianomedeiros.com.br\/blog\/construindo-ferramentas-com-github-2\/#primaryimage"},"image":{"@id":"https:\/\/micheladrianomedeiros.com.br\/blog\/construindo-ferramentas-com-github-2\/#primaryimage"},"thumbnailUrl":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2019\/08\/shutterstock_1134629258-compressor.jpg","datePublished":"2019-08-07T00:58:52+00:00","dateModified":"2019-08-07T00:58:54+00:00","breadcrumb":{"@id":"https:\/\/micheladrianomedeiros.com.br\/blog\/construindo-ferramentas-com-github-2\/#breadcrumb"},"inLanguage":"pt-PT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/micheladrianomedeiros.com.br\/blog\/construindo-ferramentas-com-github-2\/"]}]},{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/micheladrianomedeiros.com.br\/blog\/construindo-ferramentas-com-github-2\/#primaryimage","url":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2019\/08\/shutterstock_1134629258-compressor.jpg","contentUrl":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2019\/08\/shutterstock_1134629258-compressor.jpg","width":1200,"height":627},{"@type":"BreadcrumbList","@id":"https:\/\/micheladrianomedeiros.com.br\/blog\/construindo-ferramentas-com-github-2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"In\u00edcio","item":"https:\/\/micheladrianomedeiros.com.br\/blog\/"},{"@type":"ListItem","position":2,"name":"Construindo Ferramentas com GitHub #2"}]},{"@type":"WebSite","@id":"https:\/\/micheladrianomedeiros.com.br\/blog\/#website","url":"https:\/\/micheladrianomedeiros.com.br\/blog\/","name":"Viciados em Aprender","description":"Queremos aprender tudo o que for poss\u00edvel nesta vida.","publisher":{"@id":"https:\/\/micheladrianomedeiros.com.br\/blog\/#\/schema\/person\/687a6d17428a0f0e040aefbd858ebc1e"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/micheladrianomedeiros.com.br\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-PT"},{"@type":["Person","Organization"],"@id":"https:\/\/micheladrianomedeiros.com.br\/blog\/#\/schema\/person\/687a6d17428a0f0e040aefbd858ebc1e","name":"blackzig","image":{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2025\/07\/a7e4b18a2d7254b5cf6da7ca7f92dc71da86905bd1de486e98e3a98664e058f2.jpg","url":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2025\/07\/a7e4b18a2d7254b5cf6da7ca7f92dc71da86905bd1de486e98e3a98664e058f2.jpg","contentUrl":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2025\/07\/a7e4b18a2d7254b5cf6da7ca7f92dc71da86905bd1de486e98e3a98664e058f2.jpg","width":1920,"height":1080,"caption":"blackzig"},"logo":{"@id":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2025\/07\/a7e4b18a2d7254b5cf6da7ca7f92dc71da86905bd1de486e98e3a98664e058f2.jpg"},"sameAs":["http:\/\/www.micheladrianomedeiros.com.br\/"]}]}},"_links":{"self":[{"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/posts\/363","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/comments?post=363"}],"version-history":[{"count":2,"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/posts\/363\/revisions"}],"predecessor-version":[{"id":370,"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/posts\/363\/revisions\/370"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/media\/360"}],"wp:attachment":[{"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/media?parent=363"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/categories?post=363"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/tags?post=363"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}