Skip to content

Commit 32e6302

Browse files
authored
Merge pull request #43 from codinStruct/book
Add GitHub Pages com mdBook
2 parents f8a6d7a + 014cfc1 commit 32e6302

12 files changed

Lines changed: 271 additions & 3 deletions

.github/workflows/pages.yml

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
name: Github Pages
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
pull_request:
8+
9+
jobs:
10+
deploy:
11+
runs-on: ubuntu-20.04
12+
concurrency:
13+
group: ${{ github.workflow }}-${{ github.ref }}
14+
steps:
15+
- uses: actions/checkout@v2
16+
17+
- name: Setup mdBook
18+
uses: peaceiris/actions-mdbook@v1
19+
with:
20+
mdbook-version: '0.4.15'
21+
22+
- run: ./book/build.sh
23+
24+
- name: Deploy
25+
uses: peaceiris/actions-gh-pages@v3
26+
if: ${{ github.ref == 'refs/heads/main' }}
27+
with:
28+
github_token: ${{ secrets.GITHUB_TOKEN }}
29+
publish_dir: book/build

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
book/build

CONTRIBUTING.md

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,16 @@ alteração. Isso pode deixar as mensagens mais concisas.
2323
| 🔥 | Arquivo removido |
2424
| 💥 | Grandes mudanças |
2525

26+
### Livro e XML
27+
28+
Sempre que alguma página em `Content` for adicionada/removida, ordem das páginas
29+
for alterada e/ou o cabeçalho nível 1 de uma página for modificado, as mudanças
30+
devem ser refletidas nos arquivos `book/SUMMARY-<lang>.md` e `estrutura.xml`.
31+
2632
### Markdown
2733

2834
#### Formatação
2935

30-
O primeiro e único cabeçalho nível 1 de um documento deve conter o mesmo título
31-
que seu respectivo elemento XML `page`.
32-
3336
Utilize o formatador [Prettier](https://prettier.io/) com as configurações
3437
padrão, exceto:
3538

book/SUMMARY-c.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# Sumário
2+
3+
- [Básico](basico/introducao.md)
4+
- [Introdução](basico/introducao.md)
5+
- [Primeiro Programa](basico/primeiro_programa.md)
6+
- [Diretiva #include](basico/diretiva_include.md)
7+
- [Funções](basico/funcoes.md)
8+
- [Variáveis](basico/variaveis.md)
9+
- [Tipos Fundamentais Básicos](basico/tipos.md)
10+
- [Tabelas de Tipos Fundamentais](basico/tabelas.md)
11+
- [Saída Básica](basico/saida.md)
12+
- [Entrada Básica](basico/entrada.md)
13+
- [Operadores Aritméticos Básicos](basico/ops_aritmeticos.md)
14+
- [Operadores de Incremento e Decremento](basico/ops_incremento_decremento.md)
15+
- [Operadores Lógicos e Relacionais](basico/ops_logicos_relacionais.md)
16+
- [Controle de Fluxo](basico/controle_de_fluxo.md)
17+
- [Arrays](basico/arrays.md)
18+
- [Instrução while](basico/while.md)
19+
- [Instrução for](basico/for.md)
20+
- [Ponteiros](basico/ponteiros.md)
21+
- [Operador sizeof](basico/sizeof.md)
22+
- [Aritmética de Ponteiros](basico/ponteiros_aritmetica.md)
23+
- [Gerenciamento de Memória](basico/memoria.md)
24+
- [Intermediário]()
25+
- [Conversões Implícitas](intermediario/conversoes_implicitas.md)
26+
- [Avançado]()
27+
- [Seleção Genérica](avancado/selecao_generica.md)

book/SUMMARY-javascript.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# Sumário
2+
3+
- [Básico](basico/introducao.md)
4+
- [Introdução](basico/introducao.md)
5+
- [Tipos](basico/tipos.md)
6+
- [Comentários](basico/comentarios.md)
7+
- [Variáveis](basico/variaveis.md)
8+
- [Funções](basico/funcoes.md)
9+
- [Console](basico/console.md)
10+
- [Condicional If](basico/condicional_if.md)
11+
- [Intermediário]()
12+
- [Objetos](intermediario/objetos.md)
13+
- [Funções Arrow](intermediario/funcoes_arrow.md)
14+
- [Arrays](intermediario/arrays.md)
15+
- [Arrays Multidimensionais](intermediario/arrays_multidimensionais.md)
16+
- [For Loop](intermediario/for_loop.md)
17+
- [Condicional Switch](intermediario/condicional_switch.md)
18+
- [Operador Condicional (Ternário)](intermediario/operador_condicional.md)
19+
- [Avançado]()
20+
- [Parâmetros Rest](avancado/parametros_rest.md)
21+
- [Geradores](avancado/geradores.md)

book/SUMMARY-python.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# Sumário
2+
3+
- [Básico](basico/introducao.md)
4+
- [Introdução](basico/introducao.md)
5+
- [Primeiros Passos](basico/primeiros_passos.md)
6+
- [Primeiro Programa](basico/primeiro_programa.md)
7+
- [Entrada de Dados](basico/entrada_dados.md)
8+
- [Tipos de Dados](basico/tipagem.md)
9+
- [Operações Aritméticas](basico/operacoes_aritmeticas.md)
10+
- [Comentários](basico/comentario.md)
11+
- [Intermediário]()
12+
- [Listas](intermediario/listas.md)
13+
- [Tuplas](intermediario/tuplas.md)
14+
- [Conjuntos](intermediario/conjuntos.md)
15+
- [Dicionários](intermediario/dicionarios.md)
16+
- [Coleções](intermediario/colecoes.md)

book/book-c.toml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
[book]
2+
language = "pt-BR"
3+
multilingual = false
4+
src = "../Content/c"
5+
6+
[build]
7+
build-dir = "build/c"

book/book-javascript.toml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
[book]
2+
language = "pt-BR"
3+
multilingual = false
4+
src = "../Content/javascript"
5+
6+
[build]
7+
build-dir = "build/javascript"

book/book-python.toml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
[book]
2+
language = "pt-BR"
3+
multilingual = false
4+
src = "../Content/python"
5+
6+
[build]
7+
build-dir = "build/python"

book/build.sh

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
#!/bin/bash
2+
3+
langs=(c javascript python)
4+
5+
build() (
6+
lang="$1"
7+
8+
try() (
9+
output=$(eval "$1" 2>&1 1>/dev/null)
10+
ret=$?
11+
if [ $ret -ne 0 ]; then
12+
echo -e "\033[31mFailure building \033[34m$lang\033[39m:\n\033[31m$output\033[39m" >&2
13+
fi
14+
return $ret
15+
)
16+
17+
try "cp \"SUMMARY-$lang.md\" \"../Content/$1/SUMMARY.md\"" && try "cp \"book-$lang.toml\" book.toml" || return
18+
19+
try "mdbook build" && echo -e "Built \033[34m$lang\033[39m"
20+
)
21+
22+
old_dir=$(pwd)
23+
cd $(dirname $0)
24+
if [ "$1" == "clean" ]; then
25+
rm -rf "./build"
26+
else
27+
for lang in "${langs[@]}"; do
28+
build "$lang"
29+
rm -f "../Content/$lang/SUMMARY.md" "book.toml"
30+
done
31+
cp {index.css,index.html} build/ 2>/dev/null
32+
fi
33+
cd $old_dir

0 commit comments

Comments
 (0)