diff options
Diffstat (limited to 'pt-br')
-rw-r--r-- | pt-br/amd-pt.html.markdown | 7 | ||||
-rw-r--r-- | pt-br/css-pt.html.markdown | 242 | ||||
-rw-r--r-- | pt-br/elixir-pt.html.markdown | 18 | ||||
-rw-r--r-- | pt-br/go-pt.html.markdown | 6 | ||||
-rw-r--r-- | pt-br/make-pt.html.markdown | 490 | ||||
-rw-r--r-- | pt-br/markdown-pt.html.markdown | 39 | ||||
-rw-r--r-- | pt-br/pug-pt.html.markdown | 2 | ||||
-rw-r--r-- | pt-br/pyqt-pt.html.markdown | 6 | ||||
-rw-r--r-- | pt-br/self-pt.html.markdown | 1 | ||||
-rw-r--r--[-rwxr-xr-x] | pt-br/stylus-pt.html.markdown | 0 | ||||
-rw-r--r-- | pt-br/visualbasic-pt.html.markdown | 2 |
11 files changed, 418 insertions, 395 deletions
diff --git a/pt-br/amd-pt.html.markdown b/pt-br/amd-pt.html.markdown index 40c7cd09..886cb253 100644 --- a/pt-br/amd-pt.html.markdown +++ b/pt-br/amd-pt.html.markdown @@ -19,6 +19,7 @@ módulos de forma síncrona fica sujeito a problemas de performance, usabilidade debugging e problemas de acesso em requisições cross-domain. ### Conceito básico + ```javascript // O básico da API de AMD consiste de nada mais que dois métodos: `define` e `require` // e isso é tudo sobre a definição de módulo e consumo: @@ -122,6 +123,7 @@ define(['daos/coisas', 'modules/algunsHelpers'], function(coisasDao, helpers){ return AlgumaClasse; }); ``` + Para alterar o comportamento padrão de mapeamento de caminho de pastas utilize `requirejs.config(configObj)` em seu `main.js`: @@ -141,6 +143,7 @@ require(['jquery', 'coolLibFromBower', 'modules/algunsHelpers'], function($, coo coolLib.facaAlgoDoidoCom(helpers.transform($('#foo'))); }); ``` + Apps baseados em `require.js` geralmente terão um único ponto de acesso (`main.js`) que é passado à tag script do `require.js` como um data-attribute. Ele vai ser automaticamente carregado e executado com o carregamento da página: ```html @@ -162,16 +165,19 @@ Muitas pessoas preferem usar AMD para sanar a organização do código durante o `require.js` vem com um script chamado `r.js` (que você vai provavelmente rodar em node.js, embora Rhino suporte também) que você pode analisar o gráfico de dependências de seu projeto, e fazer em um único arquivo contendo todos os seus módulos (corretamente nomeados), minificados e prontos para serem consumidos. Instale-o utilizando `npm`: + ```shell $ npm install requirejs -g ``` Agora você pode alimentá-lo com um arquivo de configuração: + ```shell $ r.js -o app.build.js ``` Para o nosso exemplo acima a configuração pode ser essa: + ```javascript /* file : app.build.js */ ({ @@ -188,6 +194,7 @@ Para o nosso exemplo acima a configuração pode ser essa: ``` Para usar o arquivo gerado, em produção, simplesmente troque o `data-main`: + ```html <script src="require.js" data-main="app/main-built"></script> ``` diff --git a/pt-br/css-pt.html.markdown b/pt-br/css-pt.html.markdown index e4f55276..4c52942a 100644 --- a/pt-br/css-pt.html.markdown +++ b/pt-br/css-pt.html.markdown @@ -8,33 +8,36 @@ contributors: - ["Connor Shea", "https://github.com/connorshea"] - ["Deepanshu Utkarsh", "https://github.com/duci9y"] translators: + - ["Adaías Magdiel", "https://adaiasmagdiel.com/"] - ["Gabriel Gomes", "https://github.com/gabrielgomesferraz"] - ["Gabriele Luz", "https://github.com/gabrieleluz"] - lang: pt-br --- -No início da web não havia elementos visuais, apenas texto puro. Mas com maior desenvolvimento de navegadores da web, páginas web totalmente visuais também se tornaram comuns. - -CSS ajuda a manter a separação entre o conteúdo (HTML) e o visual de uma página web. +Páginas web são feitas utilizando HTML para demarcar o conteúdo. +O CSS (Cascading Style Sheets) é uma linguagem separada que é responsável +especificamente pela **aparência** da página. -CSS permite atingir diferentes elementos em uma página HTML e atribuir diferentes propriedades visuais para eles. +Códigos CSS são construídos utilizando várias regras estáticas. Cada regra aceita um ou mais *seletores* +e aplica *valores* específicos de propriedades visuais. Essas propriedades são aplicadas +nos elementos da página indicados pelos seletores. -Este guia foi escrito para CSS2, embora CSS3 esteja rapidamente se tornando popular. +Este guia foi escrito com o CSS 2 em mente, complementado pelas novas +funcionalidades do CSS 3. -**NOTA:** Porque CSS produz resultados visuais, a fim de aprender, você precisa treinar em um playground CSS como [dabblet](http://dabblet.com/). -O foco principal deste artigo é sobre a sintaxe e algumas dicas gerais. +**NOTA:** Devido ao fato do CSS produzir resultados visuais, a fim de aprender, você precisa treinar em um playground CSS como [dabblet](http://dabblet.com/). +O foco principal deste artigo é a sintaxe e algumas dicas gerais. ```css -/* Comentários aparecem dentro do slash-asterisk, tal como esta linha! - Não há "comentários de uma linha"; este é o único estilo de comentário * / +/* Comentários aparecem dentro de blocos com / e *, tal como esta linha! + Não há "comentários de uma linha"; este é o único estilo de comentário. * / /* #################### ## SELETORES #################### */ -/* O seletor é usado para direcionar um elemento em uma página. - seletor { propriedade: valor; / * Mais propriedades ... * / } +/* O seletor é usado para selecionar um elemento em uma página. */ +seletor { propriedade: valor; /* Mais propriedades... */ } /* Abaixo um elemento de exemplo: @@ -42,63 +45,62 @@ Abaixo um elemento de exemplo: <div class='class1 class2' id='anID' attr='value' otherAttr='pt-br foo bar' /> */ -/* Você pode direcioná-lo usando uma das suas classes CSS */ +/* Você pode seleciona-lo usando uma das suas classes CSS */ .class1 { } -/* ou ambas as classes! */ +/* Ou ambas as classes! */ .class1.class2 { } -/* ou o seu nome */ +/* Ou o seu nome */ div { } -/* ou o seu id */ +/* Ou o seu id */ #anID { } -/* ou utilizando o fator de que tem um atributo!*/ -[attr] { font-size:smaller; } +/* Ou através de um dos seus atributos! */ +[attr] { font-size: smaller; } -/* ou que o atributo tem um valor específico */ -[attr='value'] { font-size:smaller; } +/* Ou utilizando um atributo com um valor específico */ +[attr='value'] { font-size: smaller; } -/* começa com um valor (CSS 3) */ +/* Um atributo que começa com um valor (CSS 3) */ [attr^='val'] { font-size:smaller; } -/* ou terminando com um valor (CSS 3) */ -[attr$='ue'] { font-size:smaller; } - +/* Ou termina com um valor (CSS 3) */ +[attr$='ue'] { font-size: smaller; } /* Ou contém um valor em uma lista separada por espaços */ -[otherAttr ~ = 'foo'] {} -[otherAttr ~ = 'bar'] {} +[otherAttr~='foo'] {} +[otherAttr~='bar'] {} /* Ou contém um valor em uma lista separada por hífen, ou seja, "-" (U + 002D) */ -[otherAttr | = 'en'] {font-size: smaller; } +[otherAttr|='pt'] {font-size: smaller; } -/* Você pode concatenar diferentes seletores para criar um seletor mais estreito. Não - colocar espaços entre eles. */ -classe div.some [attr $ = 'ue'] {} +/* Você pode combinar diferentes seletores para criar um seletor mais específica. Lembre-se + de não colocar espaço entre eles */ +div.some-class[attr$='ue'] {} -/* Você pode selecionar um elemento que é filho de outro elemento */ -div.some-parent> .class-name {} +/* Você pode selecionar um elemento que está diretamento dentro de outro elemento */ +div.some-parent > .class-name {} -/* Ou um descendente de um outro elemento. Os filhos são os descendentes diretos de - seu elemento pai, apenas um nível abaixo da árvore. Pode ser quaisquer descendentes - nivelados por baixo da árvore. */ -div.some-parent class-name {} +/* Ou um descendente desse elemento. Os filhos são os descendentes diretos de + um elemento pai, apenas um nível abaixo. Da seguinte forma, você pode seleciona qualquer + elemento que esteja dentro do elemento principal. */ +div.some-parent .class-name {} /* Atenção: o mesmo seletor sem espaço tem um outro significado. - Você consegue adivinhar o que? */ + Dessa forma você estará selecionando um elemento que contenha as duas classes. */ div.some-parent.class-name {} -/* Você também pode selecionar um elemento com base em seu irmão adjacente */ -.i am just-antes + .Este elemento {} +/* Você também pode selecionar um elemento com base em seu irmão mais próximo */ +.i-am-just-before + .this-element {} /* Ou qualquer irmão que o precede */ -.i am-qualquer-elemento antes ~ .Este elemento {} +.i-am-any-element-before ~ .this-element { } -/* Existem alguns seletores chamados pseudo classes que podem ser usados para selecionar um - elemento quando ele está em um determinado estado */ +/* Existem alguns seletores, chamados pseudo classes, que podem ser usados para selecionar um + elemento quando ele está em um determinado estado */ /* Por exemplo, quando o cursor passa sobre um elemento */ seletor:hover {} @@ -112,10 +114,10 @@ seletor:link {} /* Ou um elemento em foco */ seletor:focus {} -/* Qualquer elemento que é o primeiro filho de seu pai */ +/* Qualquer elemento que é o primeiro filho */ seletor:first-child {} -/* Qualquer elemento que é o último filho de seu pai */ +/* Qualquer elemento que é o último filho */ seletor:last-child {} /* Assim como pseudo classes, pseudo elementos permitem que você estilize certas partes de um documento */ @@ -126,88 +128,91 @@ seletor::before {} /* Corresponde a um último filho virtual do elemento selecionado */ seletor::after {} -/* Nos locais apropriados, um asterisco pode ser utilizado como um curinga para selecionar todos - os elementos */ -* {} /* */ Todos os elementos -.parent * {} /* */ todos os descendentes -.parent> * {} /* */ todos os filhos +/* Nos locais apropriados, um asterisco pode ser utilizado como um curinga para selecionar + todos os elementos */ + +* {} /* Todos os elementos */ +.parent * {} /* todos os descendentes */ +.parent > * {} /* todos os filhos */ /* #################### - ## PROPRIEDADES - #################### */ + ## PROPRIEDADES + #################### */ seletor { - - /* Unidades de comprimento pode ser absoluta ou relativa. */ - - /* Unidades relativas */ - width: 50%; /* Percentagem de largura do elemento pai */ - font-size: 2em; /* Múltiplos de font-size original de elemento */ - font-size: 2rem; /* Ou do elemento raiz font-size */ - font-size: 2vw; /* Múltiplos de 1% da largura da janela de exibição (CSS 3) */ - font-size: 2vh; /* Ou a sua altura */ - font-size: 2vmin; /* Qualquer um de VH ou um VW é menor */ - font-size: 2vmax; /* Ou superior */ - - /* Unidades absolutas */ - width: 200px; /* píxeis */ - font-size: 20pt; /* Pontos */ - width: 5cm; /* Centímetros */ - min-width: 50mm; /* Milímetros */ - max-width: 5 polegadas; /* Polegadas */ - - /* Cores */ - color: # F6E; /* Formato hexadecimal curto */ - color: # FF66EE; /* Formato hexadecimal longo */ - color: tomato; /* Uma cor nomeada */ - color: rgb (255, 255, 255); /* Como valores rgb */ - color: RGB (10%, 20%, 50%); /* Como porcentagens rgb */ - color: rgba (255, 0, 0, 0,3); /* Como valores RGBA (CSS 3) NOTA: 0 <a <1 */ - color: transparent; /* Equivale a definir o alfa a 0 */ - color: HSL (0, 100%, 50%); /* Como porcentagens HSL (CSS 3) */ - color: HSLA (0, 100%, 50%, 0,3); /* Como porcentagens HSLA com alfa */ - - /* Imagens como fundos de elementos */ - background-image: url (/img-path/img.jpg); /* Citações dentro url () opcional */ - - /* Fontes */ - font-family: Arial; - /* Se o nome da família de fonte tem um espaço, deve ser citado */ - font-family: "Courier New"; - /* Se o primeiro não for encontrada, o navegador usa o próximo, e assim por diante */ - font-family: "Courier New", Trebuchet, Arial, sans-serif; + /* Unidades de comprimento pode ser absoluta ou relativa. */ + + /* Unidades relativas */ + width: 50%; /* Percentagem de largura do elemento pai */ + font-size: 2em; /* Múltiplos de font-size original de elemento */ + font-size: 2rem; /* Ou do elemento raiz font-size */ + font-size: 2vw; /* Múltiplos de 1% da largura da janela de exibição (CSS 3) */ + font-size: 2vh; /* Ou a sua altura */ + font-size: 2vmin; /* Qualquer um de VH ou um VW é menor */ + font-size: 2vmax; /* Ou superior */ + + /* Unidades absolutas */ + width: 200px; /* Píxeis */ + font-size: 20pt; /* Pontos */ + width: 5cm; /* Centímetros */ + min-width: 50mm; /* Milímetros */ + max-width: 5 polegadas; /* Polegadas */ + + /* Cores */ + color: #F6E; /* Formato hexadecimal curto */ + color: #FF66EE; /* Formato hexadecimal longo */ + color: tomato; /* Uma cor nomeada */ + color: rgb(255, 255, 255); /* Como valores rgb */ + color: RGB(10%, 20%, 50%); /* Como porcentagens rgb */ + color: rgba(255, 0, 0, 0,3); /* Como valores RGBA (CSS 3) NOTA: 0 <a <1 */ + color: transparent; /* Equivale a definir o alfa a 0 */ + color: HSL(0, 100%, 50%); /* Como porcentagens HSL (CSS 3) */ + color: HSLA(0, 100%, 50%, 0,3); /* Como porcentagens HSLA com alfa */ + + /* Imagens como fundos de elementos */ + background-image: url(/img-path/img.jpg); /* O uso das aspas dentro de url() é opcional */ + + /* Fontes */ + font-family: Arial; + /* Se o nome da família de fonte tem um espaço, deve estar entre aspas */ + font-family: "Courier New"; + /* Se o primeiro não for encontrada, o navegador usa a próxima, e assim por diante */ + font-family: "Courier New", Trebuchet, Arial, sans-serif; } ``` ## Uso -Salvar uma folha de estilo CSS com a extensão `.css`. +Salve o arquivo de estilos CSS com a extensão `.css`. -```xml -<!-- Você precisa incluir o arquivo css no da sua página <head>. Isto é o - método recomendado. Consulte http://stackoverflow.com/questions/8284365 --> -<link rel='stylesheet' type='text/css' href='path/to/style.css' /> +```html +<!-- Você precisa incluir o arquivo css dentro da tag <head>. Esse é o + método recomendado. Consulte http://stackoverflow.com/questions/8284365 --> +<link rel="stylesheet" type="text/css" href="path/to/style.css" /> -<!-- Você também pode incluir alguns CSS inline na sua marcação. --> +<!-- Você também pode incluir alguns CSS inline no seu HTML. --> <style> - a { color: purple; } + a { color: purple; } </style> -<!-- Ou diretamente definir propriedades CSS no elemento. --> +<!-- Ou definir propriedades CSS diretamente no elemento. --> <div style="border: 1px solid red;"> </div> ``` ## Precedência ou Cascata -Um elemento pode ser alvo de vários seletores e pode ter um conjunto de propriedades em que mais de uma vez. Nestes casos, uma das regras tem precedência sobre as outras. Geralmente, uma regra em um seletor mais específico têm precedência sobre um menos específico, e uma regra que ocorre mais tarde na folha de estilo substitui uma anterior. +Um elemento pode ser alvo de vários seletores e pode ter um conjunto de propriedades que +são adicionados mais de uma vez. Nestes casos, uma das regras tem precedência sobre as +outras. Geralmente, uma regra em um seletor mais específico têm precedência sobre um +menos específico, e uma regra que ocorre mais tarde na folha de estilo substitui uma anterior. -Este processo é chamado de cascata, portanto, as Fichas de nome de estilo em cascata. +Este processo é chamado de cascata, daí vem o nome: Cascading Style Sheets (Folhas de Estilo em Cascata). Dado o seguinte CSS: ```css -/* UMA */ +/* A */ p.class1[attr="value"] /* B */ @@ -225,20 +230,22 @@ p { property: value !important; } e a seguinte marcação: -```xml +```html <p style='/*F*/ property:value;' class='class1 class2' attr='value' /> ``` -A precedência de estilo é a seguinte. Lembre-se, a precedência é para cada **propriedade**, não para todo o bloco. +A precedência de estilo é a seguinte: Lembre-se, a precedência se aplica a +cada **propriedade**, não ao bloco como um todo. -* `E` tem a precedência mais alta por causa de uma palavra-chave`!important`. É recomendável que você evitar seu uso. -* `F` é a próxima, porque é um estilo interno. -* `A` é a próxima, porque é mais" específico "do que qualquer outra coisa. Tem 3 especificadores: O nome do elemento `p`, o seu `class1` classe, um atributo `attr='value'`. -* `C` está próximo, mesmo que ele tenha a mesma especificidade que `B`. Isso é porque ele aparece depois de `B`. -* `B` é o próximo. -* `D` é a última. +* `E` tem a precedência mais alta por causa de uma palavra-chave`!important`. É recomendado evitar seu uso. +* `F` é o seguinte, porque é um estilo interno. +* `A` é o seguinte, porque é "mais específico" do que os outros. Tem 3 especificadores: O nome do elemento `p`, a sua classe `class1` e um atributo `attr="value"`. +* `C` é o seguinte, mesmo que ele tenha a mesma especificidade que `B`. Isso acontece porque ele aparece logo após o `B`. +* `B` é o seguinte. +* `D` é o último. ## Media Queries + Media queries são recursos do CSS3 que permitem especificar quando determinadas regras de CSS devem ser aplicadas; é possível aplicar regras diferentes quando a página é impressa, quando a tela possui determinadas dimensões ou densidade de pixels e quando é lida por um leitor de tela. Media queries não adicionam especificidade ao seletor. ```css @@ -265,7 +272,8 @@ h1 { } } ``` -Media queries podem incluir os seguintes atributos: `width`, `height`, `device-width`, `device-height`, `orientation`, `aspect-ratio`, `device-aspect-ratio`, `color`, `color-index`, `monochrome`, `resolution`, `scan`, `grid`. A maioria desses atributos pode ser prefixada com `min-` ou `max-`. + +Media queries podem incluir os seguintes atributos: `width`, `height`, `device-width`, `device-height`, `orientation`, `aspect-ratio`, `device-aspect-ratio`, `color`, `color-index`, `monochrome`, `resolution`, `scan` e `grid`. A maioria desses atributos pode ser prefixada com `min-` ou `max-`. O atributo `resolution` não é suportado em dispositivos mais antigos. Em vez disso, use `device-pixel-ratio`. @@ -279,20 +287,22 @@ Muitos smartphones e tablets tentarão renderizar a página como se estivesse nu ## Compatibilidade -A maior parte dos recursos do CSS 2 (e muitos em CSS 3) estão disponíveis em todos os navegadores e dispositivos. Mas é sempre boa prática verificar antes de usar um novo recurso. +A maioria dos recursos do CSS 2 (e muitos do CSS 3) está disponível em todos os navegadores +e dispositivos. -## Recursos +## Recursos Adicionais * Para executar uma verificação de compatibilidade rápida, [CanIUse](http://caniuse.com). * CSS Playground [Dabblet](http://dabblet.com/). -* [Documentação CSS Mozilla Developer Rede](https://developer.mozilla.org/en-US/docs/Web/CSS) -* [Codrops 'Referência CSS](http://tympanus.net/codrops/css_reference/) +* [Documentação CSS Mozilla Developer](https://developer.mozilla.org/en-US/docs/Web/CSS) +* [Codrops Referência CSS](http://tympanus.net/codrops/css_reference/) +* [DevTips CSS Basics](https://www.youtube.com/playlist?list=PLqGj3iMvMa4IOmy04kDxh_hqODMqoeeCy) (Tutorials) ## Leitura adicional * [Entendendo Estilo Precedência em CSS: Especificidade, Herança, e o Cascade](http://www.vanseodesign.com/css/css-specificity-inheritance-cascaade/) * [Selecionando elementos usando atributos](https://css-tricks.com/almanac/selectors/a/attribute/) * [QuirksMode CSS](http://www.quirksmode.org/css/) -* [Z-Index - O empilhamento context](https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Understanding_z_index/The_stacking_context) -* [SASS](http://sass-lang.com/) e [Less](http://lesscss.org/) para CSS pré-processamento +* [Z-Index - O contexto de empilhamento](https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Understanding_z_index/The_stacking_context) +* [SASS](http://sass-lang.com/) e [Less](http://lesscss.org/) para pré-processamento do CSS * [CSS-Tricks](https://css-tricks.com) diff --git a/pt-br/elixir-pt.html.markdown b/pt-br/elixir-pt.html.markdown index aa1bd060..18441ff7 100644 --- a/pt-br/elixir-pt.html.markdown +++ b/pt-br/elixir-pt.html.markdown @@ -1,5 +1,5 @@ --- -language: elixir +language: Elixir contributors: - ["Joao Marques", "http://github.com/mrshankly"] - ["Dzianis Dashkevich", "https://github.com/dskecse"] @@ -20,7 +20,7 @@ e muitos outros recursos. # Não há comentários de múltiplas linhas, # mas você pode empilhar os comentários. -# Para usar o shell do elixir use o comando `iex`. +# Para usar o shell do Elixir use o comando `iex`. # Compile seus módulos com o comando `elixirc`. # Ambos devem estar em seu path se você instalou o Elixir corretamente. @@ -51,7 +51,7 @@ elem({1, 2, 3}, 0) #=> 1 head #=> 1 tail #=> [2,3] -# Em elixir, bem como em Erlang, o sinal `=` denota pattern match, +# Em Elixir, bem como em Erlang, o sinal `=` denota pattern match, # e não uma atribuição. # # Isto significa que o que estiver à esquerda (pattern) é comparado com o que @@ -85,7 +85,7 @@ linhas. <<?a, ?b, ?c>> #=> "abc" [?a, ?b, ?c] #=> 'abc' -# `?a` em elixir retorna o valor ASCII para a letra `a` +# `?a` em Elixir retorna o valor ASCII para a letra `a` ?a #=> 97 # Para concatenar listas use `++`, para binários use `<>` @@ -110,7 +110,7 @@ menor..maior = 1..10 # Pattern matching pode ser usada em ranges também 5 * 2 #=> 10 10 / 2 #=> 5.0 -# Em elixir o operador `/` sempre retorna um float. +# Em Elixir o operador `/` sempre retorna um float. # Para divisão de inteiros use `div` div(10, 2) #=> 5 @@ -167,7 +167,7 @@ else "Isso será" end -# Lembra do pattern matching? Muitas estruturas de fluxo de controle em elixir contam com ela. +# Lembra do pattern matching? Muitas estruturas de fluxo de controle em Elixir contam com ela. # `case` nos permite comparar um valor com muitos patterns: case {:um, :dois} do @@ -296,7 +296,7 @@ Geometry.area({:circle, 3}) #=> 28.25999999999999801048 # Geometry.area({:circle, "not_a_number"}) #=> ** (FunctionClauseError) no function clause matching in Geometry.area/1 -# Devido à imutabilidade, recursão é uma grande parte do elixir +# Devido à imutabilidade, recursão é uma grande parte do Elixir defmodule Recursion do def sum_list([head | tail], acc) do sum_list(tail, acc + head) @@ -309,7 +309,7 @@ end Recursion.sum_list([1,2,3], 0) #=> 6 -# Módulos do elixir suportam atributos, hpa atributos embutidos e você +# Módulos do Elixir suportam atributos, hpa atributos embutidos e você # pode também adicionar os seus próprios. defmodule MyMod do @moduledoc """ @@ -361,7 +361,7 @@ end ## --------------------------- # Elixir conta com o modelo de ator para concorrência. Tudo o que precisamos para -# escrever programas concorrentes em elixir são três primitivos: spawning processes, +# escrever programas concorrentes em Elixir são três primitivos: spawning processes, # sending messages e receiving messages. # Para iniciar um novo processo usamos a função `spawn`, a qual leva uma função diff --git a/pt-br/go-pt.html.markdown b/pt-br/go-pt.html.markdown index 60b3a472..ce10e079 100644 --- a/pt-br/go-pt.html.markdown +++ b/pt-br/go-pt.html.markdown @@ -295,17 +295,17 @@ func (p pair) ServeHTTP(w http.ResponseWriter, r *http.Request) { ## Leitura Recomendada -A principal fonte de informação é o [web site oficial Go](http://golang.org/). +A principal fonte de informação é o [web site oficial Go](https://go.dev/). Lá é possível seguir o tutorial, experimentar de forma iterativa, e ler muito. A própria especificação da linguagem é altamente recomendada. É fácil de ler e incrivelmente curta (em relação ao que é habitual hoje em dia). Na lista de leitura para os aprendizes de Go deve constar o [código fonte da -biblioteca padrão](http://golang.org/src/pkg/). Exaustivamente documentado, é +biblioteca padrão](https://go.dev/src/). Exaustivamente documentado, é a melhor demonstração de código fácil de ler e de perceber, do estilo Go, e da sua escrita idiomática. Ou então clique no nome de uma função na [documentação] -(http://golang.org/pkg/) e veja o código fonte aparecer! +(https://go.dev/pkg/) e veja o código fonte aparecer! Outra ótima fonte para aprender Go é o [Go by example](https://gobyexample.com/). Apesar de ser em inglês, é possível recodificar os exemplos para aprender sobre diff --git a/pt-br/make-pt.html.markdown b/pt-br/make-pt.html.markdown index 40ac733a..d908435a 100644 --- a/pt-br/make-pt.html.markdown +++ b/pt-br/make-pt.html.markdown @@ -1,245 +1,245 @@ ----
-category: tool
-tool: make
-contributors:
- - ["Robert Steed", "https://github.com/robochat"]
- - ["Stephan Fuhrmann", "https://github.com/sfuhrm"]
-translators:
- - ["Rogério Gomes Rio", "https://github.com/rogerlista"]
-filename: Makefile-pt
-
-lang: pt-br
----
-
-Um Makefile define um gráfico de regras para criar um alvo (ou alvos). Sua finalidade é fazer o mínimo de trabalho necessário para atualizar um alvo para a versão mais recente da fonte. Famosamente escrito ao longo de um fim de semana por Stuart Feldman em 1976, ainda é amplamente usada (particularmente no Unix e no Linux) apesar de muitos concorrentes e críticas.
-
-Existem muitas variedades de make na existência, no entanto, este artigo pressupõe que estamos usando o GNU make, que é o padrão no Linux.
-
-```make
-
-# Comentários podem ser escritos assim.
-
-# O arquivo deve ser nomeado Makefile e então pode ser executado como `make <alvo>`.
-# Caso contrário, nós usamos `make -f "nome-do-arquivo" <alvo>`.
-
-# Aviso - use somente TABS para identar em Makefiles, nunca espaços!
-
-#-----------------------------------------------------------------------
-# Noções básicas
-#-----------------------------------------------------------------------
-
-# Regras são do formato
-# alvo: <pré-requisito>
-# onde os pré-requisitos são opcionais.
-
-# Uma regra - esta regra só será executada se o arquivo0.txt não existir.
-arquivo0.txt:
- echo "foo" > arquivo0.txt
- # Mesmo os comentários nestas seções da 'receita' são passados para o shell.
- # Experimentar `make arquivo0.txt` or simplyou simplesmente `make` - primeira regra é o padrão.
-
-# Esta regra só será executada se arquivo0.txt for mais recente que arquivo1.txt.
-arquivo1.txt: arquivo0.txt
- cat arquivo0.txt > arquivo1.txt
- # se as mesmas regras de citação do shell.
- @cat arquivo0.txt >> arquivo1.txt
- # @ pára o comando de ser ecoado para stdout.
- -@echo 'hello'
- # - significa que make continuará em caso de erro.
- # Experimentar `make arquivo1.txt` na linha de comando.
-
-# Uma regra pode ter vários alvos e vários pré-requisitos
-arquivo2.txt arquivo3.txt: arquivo0.txt arquivo1.txt
- touch arquivo2.txt
- touch arquivo3.txt
-
-# Make vai reclamar sobre várias receitas para a mesma regra. Esvaziar
-# receitas não contam e podem ser usadas para adicionar novas dependências.
-
-#-----------------------------------------------------------------------
-# Alvos falsos
-#-----------------------------------------------------------------------
-
-# Um alvo falso. Qualquer alvo que não seja um arquivo.
-# Ele nunca será atualizado, portanto, o make sempre tentará executá-lo.
-all: maker process
-
-# Podemos declarar as coisas fora de ordem.
-maker:
- touch ex0.txt ex1.txt
-
-# Pode evitar quebrar regras falsas quando um arquivo real tem o mesmo nome
-.PHONY: all maker process
-# Este é um alvo especial. Existem vários outros.
-
-# Uma regra com dependência de um alvo falso sempre será executada
-ex0.txt ex1.txt: maker
-
-# Alvos falsos comuns são: todos fazem instalação limpa ...
-
-#-----------------------------------------------------------------------
-# Variáveis Automáticas e Curingas
-#-----------------------------------------------------------------------
-
-process: Arquivo*.txt # Usando um curinga para corresponder nomes de arquivos
- @echo $^ # $^ é uma variável que contém a lista de pré-requisitos
- @echo $@ # imprime o nome do alvo
- #(fpara várias regras alvo, $@ é o que causou a execução da regra)
- @echo $< # o primeiro pré-requisito listado
- @echo $? # somente as dependências que estão desatualizadas
- @echo $+ # todas as dependências, incluindo duplicadas (ao contrário do normal)
- #@echo $| # todos os pré-requisitos 'somente pedidos'
-
-# Mesmo se dividirmos as definições de dependência de regra, $^ vai encontrá-los
-process: ex1.txt arquivo0.txt
-# ex1.txt será encontrado, mas arquivo0.txt será desduplicado.
-
-#-----------------------------------------------------------------------
-# Padrões
-#-----------------------------------------------------------------------
-
-# Pode ensinar make a converter certos arquivos em outros arquivos.
-
-%.png: %.svg
- inkscape --export-png $^
-
-# As regras padrões só farão qualquer coisa se decidirem criar o alvo.
-
-# Os caminhos de diretório são normalmente ignorados quando as regras de
-# padrões são correspondentes. Mas make tentará usar a regra mais
-# apropriada disponível.
-small/%.png: %.svg
- inkscape --export-png --export-dpi 30 $^
-
-# make utilizará a última versão para uma regra de padrão que encontrar.
-%.png: %.svg
- @echo esta regra é escolhida
-
-# No entanto, o make usará a primeira regra padrão que pode se tornar o alvo
-%.png: %.ps
- @echo esta regra não é escolhida se *.svg and *.ps estão ambos presentes
-
-# make já tem algumas regras padrões embutidas. Por exemplo, ele sabe
-# como transformar arquivos *.c em arquivos *.o.
-
-# Makefiles antigos podem usar regras de sufixo em vez de regras padrões
-.png.ps:
- @echo essa regra é semelhante a uma regra de padrão.
-
-# make sobre a regra de sufixo
-.SUFFIXES: .png
-
-#-----------------------------------------------------------------------
-# Variáveis
-#-----------------------------------------------------------------------
-# aka. macros
-
-# As variáveis são basicamente todos os tipos de string
-
-name = Ted
-name2="Sarah"
-
-echo:
- @echo $(name)
- @echo ${name2}
- @echo $name # Isso não funcionará, tratado como $ (n)ame.
- @echo $(name3) # Variáveis desconhecidas são tratadas como strings vazias.
-
-# Existem 4 lugares para definir variáveis.
-# Em ordem de prioridade, do maior para o menor:
-# 1: argumentos de linha de comando
-# 2: Makefile
-# 3: variáveis de ambiente do shell - faça importações automaticamente.
-# 4: make tem algumas variáveis predefinidas
-
-name4 ?= Jean
-# Somente defina a variável se a variável de ambiente ainda não estiver definida.
-
-override name5 = David
-# Pára os argumentos da linha de comando de alterar essa variável.
-
-name4 +=grey
-# Anexar valores à variável (inclui um espaço).
-
-# Valores variáveis específicos de padrões (extensão GNU).
-echo: name2 = Sara # Verdadeiro dentro da regra de correspondência
- # e também dentro de suas recursivas dependências
- # (exceto que ele pode quebrar quando seu gráfico ficar muito complicado!)
-
-# Algumas variáveis definidas automaticamente pelo make
-echo_inbuilt:
- echo $(CC)
- echo ${CXX}
- echo $(FC)
- echo ${CFLAGS}
- echo $(CPPFLAGS)
- echo ${CXXFLAGS}
- echo $(LDFLAGS)
- echo ${LDLIBS}
-
-#-----------------------------------------------------------------------
-# Variáveis 2
-#-----------------------------------------------------------------------
-
-# O primeiro tipo de variáveis é avaliado a cada vez que elas são usadas.
-# TIsso pode ser caro, então existe um segundo tipo de variável que é
-# avaliado apenas uma vez. (Esta é uma extensão do GNU make)
-
-var := hello
-var2 ::= $(var) hello
-#:= e ::= são equivalentes.
-
-# Essas variáveis são avaliadas procedimentalmente (na ordem em que
-# aparecem), quebrando assim o resto da línguagem!
-
-# Isso não funciona
-var3 ::= $(var4) and good luck
-var4 ::= good night
-
-#-----------------------------------------------------------------------
-# Funções
-#-----------------------------------------------------------------------
-
-# make tem muitas funções disponíveis.
-
-sourcefiles = $(wildcard *.c */*.c)
-objectfiles = $(patsubst %.c,%.o,$(sourcefiles))
-
-# O formato é $(func arg0,arg1,arg2...)
-
-# Alguns exemplos
-ls: * src/*
- @echo $(filter %.txt, $^)
- @echo $(notdir $^)
- @echo $(join $(dir $^),$(notdir $^))
-
-#-----------------------------------------------------------------------
-# Diretivas
-#-----------------------------------------------------------------------
-
-# Inclua outros makefiles, úteis para código específico da plataforma
-include foo.mk
-
-sport = tennis
-# Compilação condicional
-report:
-ifeq ($(sport),tennis)
- @echo 'game, set, match'
-else
- @echo "They think it's all over; it is now"
-endif
-
-# Há também ifneq, ifdef, ifndef
-
-foo = true
-
-ifdef $(foo)
-bar = 'hello'
-endif
-```
-
-### More Resources
-
-+ [documentação gnu make](https://www.gnu.org/software/make/manual/)
-+ [tutorial de carpintaria de software](http://swcarpentry.github.io/make-novice/)
-+ aprenda C da maneira mais difícil [ex2](http://c.learncodethehardway.org/book/ex2.html) [ex28](http://c.learncodethehardway.org/book/ex28.html)
+--- +category: tool +tool: make +contributors: + - ["Robert Steed", "https://github.com/robochat"] + - ["Stephan Fuhrmann", "https://github.com/sfuhrm"] +translators: + - ["Rogério Gomes Rio", "https://github.com/rogerlista"] +filename: Makefile-pt + +lang: pt-br +--- + +Um Makefile define um gráfico de regras para criar um alvo (ou alvos). Sua finalidade é fazer o mínimo de trabalho necessário para atualizar um alvo para a versão mais recente da fonte. Famosamente escrito ao longo de um fim de semana por Stuart Feldman em 1976, ainda é amplamente usada (particularmente no Unix e no Linux) apesar de muitos concorrentes e críticas. + +Existem muitas variedades de make na existência, no entanto, este artigo pressupõe que estamos usando o GNU make, que é o padrão no Linux. + +```make + +# Comentários podem ser escritos assim. + +# O arquivo deve ser nomeado Makefile e então pode ser executado como `make <alvo>`. +# Caso contrário, nós usamos `make -f "nome-do-arquivo" <alvo>`. + +# Aviso - use somente TABS para identar em Makefiles, nunca espaços! + +#----------------------------------------------------------------------- +# Noções básicas +#----------------------------------------------------------------------- + +# Regras são do formato +# alvo: <pré-requisito> +# onde os pré-requisitos são opcionais. + +# Uma regra - esta regra só será executada se o arquivo0.txt não existir. +arquivo0.txt: + echo "foo" > arquivo0.txt + # Mesmo os comentários nestas seções da 'receita' são passados para o shell. + # Experimentar `make arquivo0.txt` or simplyou simplesmente `make` - primeira regra é o padrão. + +# Esta regra só será executada se arquivo0.txt for mais recente que arquivo1.txt. +arquivo1.txt: arquivo0.txt + cat arquivo0.txt > arquivo1.txt + # se as mesmas regras de citação do shell. + @cat arquivo0.txt >> arquivo1.txt + # @ pára o comando de ser ecoado para stdout. + -@echo 'hello' + # - significa que make continuará em caso de erro. + # Experimentar `make arquivo1.txt` na linha de comando. + +# Uma regra pode ter vários alvos e vários pré-requisitos +arquivo2.txt arquivo3.txt: arquivo0.txt arquivo1.txt + touch arquivo2.txt + touch arquivo3.txt + +# Make vai reclamar sobre várias receitas para a mesma regra. Esvaziar +# receitas não contam e podem ser usadas para adicionar novas dependências. + +#----------------------------------------------------------------------- +# Alvos falsos +#----------------------------------------------------------------------- + +# Um alvo falso. Qualquer alvo que não seja um arquivo. +# Ele nunca será atualizado, portanto, o make sempre tentará executá-lo. +all: maker process + +# Podemos declarar as coisas fora de ordem. +maker: + touch ex0.txt ex1.txt + +# Pode evitar quebrar regras falsas quando um arquivo real tem o mesmo nome +.PHONY: all maker process +# Este é um alvo especial. Existem vários outros. + +# Uma regra com dependência de um alvo falso sempre será executada +ex0.txt ex1.txt: maker + +# Alvos falsos comuns são: todos fazem instalação limpa ... + +#----------------------------------------------------------------------- +# Variáveis Automáticas e Curingas +#----------------------------------------------------------------------- + +process: Arquivo*.txt # Usando um curinga para corresponder nomes de arquivos + @echo $^ # $^ é uma variável que contém a lista de pré-requisitos + @echo $@ # imprime o nome do alvo + #(fpara várias regras alvo, $@ é o que causou a execução da regra) + @echo $< # o primeiro pré-requisito listado + @echo $? # somente as dependências que estão desatualizadas + @echo $+ # todas as dependências, incluindo duplicadas (ao contrário do normal) + #@echo $| # todos os pré-requisitos 'somente pedidos' + +# Mesmo se dividirmos as definições de dependência de regra, $^ vai encontrá-los +process: ex1.txt arquivo0.txt +# ex1.txt será encontrado, mas arquivo0.txt será desduplicado. + +#----------------------------------------------------------------------- +# Padrões +#----------------------------------------------------------------------- + +# Pode ensinar make a converter certos arquivos em outros arquivos. + +%.png: %.svg + inkscape --export-png $^ + +# As regras padrões só farão qualquer coisa se decidirem criar o alvo. + +# Os caminhos de diretório são normalmente ignorados quando as regras de +# padrões são correspondentes. Mas make tentará usar a regra mais +# apropriada disponível. +small/%.png: %.svg + inkscape --export-png --export-dpi 30 $^ + +# make utilizará a última versão para uma regra de padrão que encontrar. +%.png: %.svg + @echo esta regra é escolhida + +# No entanto, o make usará a primeira regra padrão que pode se tornar o alvo +%.png: %.ps + @echo esta regra não é escolhida se *.svg and *.ps estão ambos presentes + +# make já tem algumas regras padrões embutidas. Por exemplo, ele sabe +# como transformar arquivos *.c em arquivos *.o. + +# Makefiles antigos podem usar regras de sufixo em vez de regras padrões +.png.ps: + @echo essa regra é semelhante a uma regra de padrão. + +# make sobre a regra de sufixo +.SUFFIXES: .png + +#----------------------------------------------------------------------- +# Variáveis +#----------------------------------------------------------------------- +# aka. macros + +# As variáveis são basicamente todos os tipos de string + +name = Ted +name2="Sarah" + +echo: + @echo $(name) + @echo ${name2} + @echo $name # Isso não funcionará, tratado como $ (n)ame. + @echo $(name3) # Variáveis desconhecidas são tratadas como strings vazias. + +# Existem 4 lugares para definir variáveis. +# Em ordem de prioridade, do maior para o menor: +# 1: argumentos de linha de comando +# 2: Makefile +# 3: variáveis de ambiente do shell - faça importações automaticamente. +# 4: make tem algumas variáveis predefinidas + +name4 ?= Jean +# Somente defina a variável se a variável de ambiente ainda não estiver definida. + +override name5 = David +# Pára os argumentos da linha de comando de alterar essa variável. + +name4 +=grey +# Anexar valores à variável (inclui um espaço). + +# Valores variáveis específicos de padrões (extensão GNU). +echo: name2 = Sara # Verdadeiro dentro da regra de correspondência + # e também dentro de suas recursivas dependências + # (exceto que ele pode quebrar quando seu gráfico ficar muito complicado!) + +# Algumas variáveis definidas automaticamente pelo make +echo_inbuilt: + echo $(CC) + echo ${CXX} + echo $(FC) + echo ${CFLAGS} + echo $(CPPFLAGS) + echo ${CXXFLAGS} + echo $(LDFLAGS) + echo ${LDLIBS} + +#----------------------------------------------------------------------- +# Variáveis 2 +#----------------------------------------------------------------------- + +# O primeiro tipo de variáveis é avaliado a cada vez que elas são usadas. +# TIsso pode ser caro, então existe um segundo tipo de variável que é +# avaliado apenas uma vez. (Esta é uma extensão do GNU make) + +var := hello +var2 ::= $(var) hello +#:= e ::= são equivalentes. + +# Essas variáveis são avaliadas procedimentalmente (na ordem em que +# aparecem), quebrando assim o resto da línguagem! + +# Isso não funciona +var3 ::= $(var4) and good luck +var4 ::= good night + +#----------------------------------------------------------------------- +# Funções +#----------------------------------------------------------------------- + +# make tem muitas funções disponíveis. + +sourcefiles = $(wildcard *.c */*.c) +objectfiles = $(patsubst %.c,%.o,$(sourcefiles)) + +# O formato é $(func arg0,arg1,arg2...) + +# Alguns exemplos +ls: * src/* + @echo $(filter %.txt, $^) + @echo $(notdir $^) + @echo $(join $(dir $^),$(notdir $^)) + +#----------------------------------------------------------------------- +# Diretivas +#----------------------------------------------------------------------- + +# Inclua outros makefiles, úteis para código específico da plataforma +include foo.mk + +sport = tennis +# Compilação condicional +report: +ifeq ($(sport),tennis) + @echo 'game, set, match' +else + @echo "They think it's all over; it is now" +endif + +# Há também ifneq, ifdef, ifndef + +foo = true + +ifdef $(foo) +bar = 'hello' +endif +``` + +### More Resources + ++ [documentação gnu make](https://www.gnu.org/software/make/manual/) ++ [tutorial de carpintaria de software](http://swcarpentry.github.io/make-novice/) ++ aprenda C da maneira mais difícil [ex2](http://c.learncodethehardway.org/book/ex2.html) [ex28](http://c.learncodethehardway.org/book/ex28.html) diff --git a/pt-br/markdown-pt.html.markdown b/pt-br/markdown-pt.html.markdown index 7960a59a..fca864bb 100644 --- a/pt-br/markdown-pt.html.markdown +++ b/pt-br/markdown-pt.html.markdown @@ -8,7 +8,7 @@ translators: - ["Monique Baptista", "https://github.com/bfmonique"] - ["Marcel Ribeiro-Dantas", "https://github.com/mribeirodantas"] -lang: pt-br +lang: pt-br filename: learnmarkdown-pt.md --- @@ -213,8 +213,8 @@ adicionais) para indentação no seu código. ```md my_array.each do |item| - puts item - end + puts item + end ``` Código embutido pode ser criado usando o caractere de crase `` ` ``. @@ -225,13 +225,13 @@ John não sabia nem o que a função `go_to()` fazia! No GitHub Flavored Markdown, você pode usar uma sintaxe especial para código. -<pre> -<code class="highlight">```ruby +````md +```ruby def foobar - puts "Olá mundo!" + puts "Olá mundo!" end -```</code></pre> - +``` +```` O texto acima não requer indentação, além disso o GitHub vai usar o destaque de sintaxe da linguagem qeu você especificar após a tag <code>```</code>. @@ -272,11 +272,13 @@ Caminhos relativos funcionam também. O Markdown também suporta links para referências no texto. -<pre><code class="highlight">[<span class="nv">Clique nesse link</span>][<span class="ss">link1</span>] para mais informações! -[<span class="nv">Também cheque esse link</span>][<span class="ss">foobar</span>] se você quiser. +```md +[Clique nesse link][link1] para mais informações! +[Também cheque esse link][foobar] se você quiser. -[<span class="nv">link1</span>]: <span class="sx">http://test.com/</span> <span class="nn">"Legal!"</span> -[<span class="nv">link2r</span>]: <span class="sx">http://foobar.biz/</span> <span class="nn">"Certo!"</span></code></pre> +[link1]: http://test.com/ "Legal!" +[link2r]: http://foobar.biz/ "Certo!" +``` O título também pode estar entre aspas simples ou entre parênteses, ou omitido inteiramente. As referências podem estar em qualquer lugar no documento e os @@ -285,10 +287,11 @@ IDs de referência podem ser qualquer um, desde que eles sejam únicos. Existe também a "nomeação implícita", que permite que você use o texto do link como o id: -<pre><code class="highlight">[<span class="nv">Isso</span>][] é um link. - -[<span class="nv">Isso</span>]: <span class="sx">http://thisisalink.com/</span></code></pre> +```md +[Isso][] é um link. +[Isso]: http://thisisalink.com/ +``` Mas geralmente não são usados. @@ -322,9 +325,11 @@ exclamação na frente! E estilo de referência funciona como esperado -<pre><code class="highlight">![<span class="nv">Esse é o alt-attribute.</span>][<span class="ss">myimage</span>] +```md +![Esse é o alt-attribute.][myimage] -[<span class="nv">Minha imagem</span>]: <span class="sx">relative/urls/cool/image.jpg</span> <span class="nn">"se precisar de um título, está aqui"</span></code></pre> +[Minha imagem]: relative/urls/cool/image.jpg "se precisar de um título, está aqui" +``` ## Miscelânea diff --git a/pt-br/pug-pt.html.markdown b/pt-br/pug-pt.html.markdown index a74666fb..52eda86a 100644 --- a/pt-br/pug-pt.html.markdown +++ b/pt-br/pug-pt.html.markdown @@ -208,4 +208,4 @@ mixin comment(nome, comentario) ### Saiba Mais - [Site Oficial](https://pugjs.org/) - [Documentação](https://pugjs.org/api/getting-started.html) -- [Repositório no Github](https://github.com/pugjs/pug) +- [Repositório no GitHub](https://github.com/pugjs/pug) diff --git a/pt-br/pyqt-pt.html.markdown b/pt-br/pyqt-pt.html.markdown index 40fe82d5..42f744e2 100644 --- a/pt-br/pyqt-pt.html.markdown +++ b/pt-br/pyqt-pt.html.markdown @@ -24,7 +24,7 @@ o pyqt! ```python import sys from PyQt4 import QtGui - + def window(): # Cria um objeto para a aplicação app = QtGui.QApplication(sys.argv) @@ -54,7 +54,7 @@ outros elementos. Aqui mostraremos como criar uma janela popup, muito útil para perguntar ao usuário qual decisão tomar ou exibir alguma informação. -```Python +```python import sys from PyQt4.QtGui import * from PyQt4.QtCore import * @@ -73,7 +73,7 @@ def window(): w.setWindowTitle("PyQt Dialog") w.show() sys.exit(app.exec_()) - + # Essa função deve criar uma janela de diálogo com um botão, # aguarda ser clicado e encerra o programa def showdialog(): diff --git a/pt-br/self-pt.html.markdown b/pt-br/self-pt.html.markdown index eb821474..0fadf58d 100644 --- a/pt-br/self-pt.html.markdown +++ b/pt-br/self-pt.html.markdown @@ -117,6 +117,7 @@ Múltiplas expressões são separadas por ponto final. ^ retorna imediatamente. ``` Blocos são realizados (completados) ao enviá-los a mensagem 'value' e herdando (imcumbir a) seus contextos: + ``` "retorna 0" [|x| diff --git a/pt-br/stylus-pt.html.markdown b/pt-br/stylus-pt.html.markdown index 40c3c02c..40c3c02c 100755..100644 --- a/pt-br/stylus-pt.html.markdown +++ b/pt-br/stylus-pt.html.markdown diff --git a/pt-br/visualbasic-pt.html.markdown b/pt-br/visualbasic-pt.html.markdown index 81292798..dcc72c04 100644 --- a/pt-br/visualbasic-pt.html.markdown +++ b/pt-br/visualbasic-pt.html.markdown @@ -8,7 +8,7 @@ lang: pt-br filename: learnvisualbasic-pt.vb --- -``` +```visualbasic Module Module1 module Module1 |