diff --git a/.gitignore b/.gitignore index 35e86ad3..8f8504b1 100644 --- a/.gitignore +++ b/.gitignore @@ -85,4 +85,10 @@ _site .sass-cache .jekyll-cache .jekyll-metadata -vendor \ No newline at end of file +vendor + +# mypy files +.mypy_cache/ + +# Ruby files +.ruby-lsp/ \ No newline at end of file diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 72e2b18a..ae9a2060 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -47,17 +47,25 @@ diciotech ├── _config.yml (arquivo de configuração do Jekyll) ├── _data (aqui devem ser adicionados os termos e definições) │ ├── en-us -│ │ ├── a.yml +│ │ ├── a.yml (termos e definições que começam com a letra A) │ │ ├── ... -│ │ └── z.yml +│ │ ├── numbers.yml (termos e definições que começam com números) +│ │ ├── ... +│ │ ├── strings.yml (onde ficam as traduções dos termos na página) +│ │ ├── symbols.yml (termos e definições que começam com símbolos) +│ │ ├── ... +│ │ └── z.yml (termos e definições que começam com a letra Z) │ └── pt-br -│ ├── a.yml -│ ├── ... -│ └── z.yml +│ │ ├── a.yml (termos e definições que começam com a letra A) +│ │ ├── ... +│ │ ├── numbers.yml (termos e definições que começam com números) +│ │ ├── ... +│ │ ├── strings.yml (onde ficam as traduções dos termos na página) +│ │ ├── symbols.yml (termos e definições que começam com símbolos) +│ │ ├── ... +│ │ └── z.yml (termos e definições que começam com a letra Z) ├── Gemfile (arquivo de dependências do Ruby) ├── Gemfile.lock (arquivo de dependências do Ruby com as versões específicas) -├── _includes -│ └── script.liquid.js (aqui devem ficar códigos js que dependem de valores do Jekyll) ├── _json (cria os cards.json final a partir dos yml) │ ├── en-us │ │ └── cards.json @@ -65,28 +73,30 @@ diciotech │ └── cards.json ├── _layouts │ └── base.liquid (layout base do site) -├── _pages (onde ficam as traduções dos termos na página) +├── _pages │ ├── en-us -│ │ └── search.md +│ │ └── search.md (define que vai ter uma página search em inglês) │ └── pt-br -│ └── search.md +│ └── search.md (define que vai ter uma página search em português) ├── _sass (onde devem ser feitas as mudanças no estilo do site) │ ├── base.scss │ ├── cookies.scss │ ├── dark_theme.scss │ ├── light_theme.scss │ └── variables.scss +├── _scripts (aqui devem ficar códigos js que dependem de valores do Jekyll) +│ └── scripts.js.liquid └── _site (onde o Jekyll gera o site final, não deve ser versionado) └── ... ``` Dentre os arquivos e pastas, os mais importantes são: -- `_data/`: onde ficam os arquivos YAML com os termos e definições, separados por idioma e letra. Aqui é onde você deve adicionar novos termos; -- `_includes/`: onde ficam códigos js que dependem de valores do Jekyll. Você pode adicionar códigos novos no arquivo `script.liquid.js`, ou criar novos arquivos. Lembre-se de incluir os arquivos novos no layout base; -- `_layouts/base.liquid`: layout base da página, basicamente um html com variáveis em liquid definidas em `_pages/`; -- `_pages/`: onde ficam as traduções de textos na página que não são termos e suas definições; +- `_data/`: onde ficam os arquivos YAML com os termos e definições do dicionário, separados por idioma e letra (com exceção do arquivo `strings.yml` explicado abaixo). Aqui é onde você deve adicionar novos termos; +- `_data/LANG/strings.yml`: onde ficam as traduções dos termos na página que não são termos do dicionário; +- `_layouts/base.liquid`: layout base da página, basicamente um html com variáveis em liquid definidas em `_data/LANG/strings.yml`; - `_sass/`: onde ficam os arquivos de estilo do site. Aqui é onde você deve fazer mudanças de css; +- `_scripts/`: onde ficam códigos js que dependem de valores do Jekyll. Você pode adicionar códigos novos no arquivo `scripts.js.liquid`, ou criar novos arquivos. Lembre-se de incluir os arquivos novos no layout base; - `assets/`: onde ficam os arquivos de css, js e imagens que são copiados tal qual para o site final. ## Como funciona o build do site @@ -128,12 +138,15 @@ _site/ │ ├── cookies.js │ ├── levenshtein.js │ ├── pwa.js +│ ├── scripts.js │ └── theme.js ├── diciotech.webmanifest ├── en-us │ ├── assets -│ │ └── data -│ │ └── cards.json +│ │ ├── data +│ │ | └── cards.json +| | └── js +| | └── scripts.js │ ├── diciotech.webmanifest │ └── index.html └── index.html diff --git a/_config.yml b/_config.yml index e6bdcebd..5a5bfc7d 100644 --- a/_config.yml +++ b/_config.yml @@ -6,7 +6,7 @@ url: "https://diciotech.netlify.app/" # the base hostname & protocol for your si # ----------------------------------------------------------------------------- # Jekyll Polyglot -languages: ["en-us", "pt-br"] +languages: ["pt-br", "en-us"] default_lang: "pt-br" exclude_from_localization: ["assets"] lang_from_path: true @@ -36,7 +36,7 @@ exclude: - run_on_data_changed.sh - todo.md -include: ["_json", "_pages"] +include: ["_json", "_pages", "_scripts"] plugins: - jekyll-minifier diff --git a/_data/en-us/strings.yml b/_data/en-us/strings.yml new file mode 100644 index 00000000..2e05c65e --- /dev/null +++ b/_data/en-us/strings.yml @@ -0,0 +1,18 @@ +accept_cookies: Accept and close +all: All +change_theme: Change theme +cookies_message: Diciotech uses cookies to ensure you get a better experience. Disabling site cookies may impair the functionality of some features and by continuing to use, you agree to our Cookie Policy. +currently_with: Currently with +favorites: Favorites +filter_by_category: "Filter by category:" +no_results: + alt: Woman looking at site with no data + text: | +
The searched term was not found! Check if it was typed correctly.
+If it is correct, please create an issue in the repository so that this term can be added to Diciotech.
+We appreciate your collaboration! 😄
+read_more: Read more +search_placeholder: Search... +site_description: A tech dictionary for people who want to learn more about technical terms within technology! +terms: terms! +view_on_github: View project on GitHub diff --git a/_data/pt-br/strings.yml b/_data/pt-br/strings.yml new file mode 100644 index 00000000..1d10be5f --- /dev/null +++ b/_data/pt-br/strings.yml @@ -0,0 +1,18 @@ +accept_cookies: Concordar e fechar +all: Todos +change_theme: Mudar tema +cookies_message: O Diciotech usa cookies para garantir que você obtenha uma melhor experiência. Desativar os cookies do site pode prejudicar a funcionalidade de alguns recursos e ao continuar usando, você concorda com a nossa Política de Cookies. +currently_with: Atualmente com +favorites: Favoritos +filter_by_category: "Filtrar por categoria:" +no_results: + alt: Mulher olhando para site sem dados + text: | +O termo pesquisado não foi encontrado! Verifique se foi digitado corretamente.
+Caso esteja correto, por favor crie uma issue no repositório para que esse termo possa ser adicionado ao Diciotech.
+Agradecemos sua colaboração! 😄
+read_more: Ler mais +search_placeholder: Pesquisar... +site_description: Um dicionário tech para pessoas que querem aprender mais sobre termos técnicos dentro da tecnologia! +terms: termos! +view_on_github: Visualizar projeto no GitHub diff --git a/_includes/script.js.liquid b/_includes/script.js.liquid deleted file mode 100644 index 383ca760..00000000 --- a/_includes/script.js.liquid +++ /dev/null @@ -1,341 +0,0 @@ - diff --git a/_json/en-us/cards.json.liquid b/_json/en-us/cards.json.liquid index 061aa17a..32d7efbe 100644 --- a/_json/en-us/cards.json.liquid +++ b/_json/en-us/cards.json.liquid @@ -2,21 +2,23 @@ id: cards permalink: /assets/data/cards.json --- -{ "cards": [ +{"cards":[ {%- for letter in site.data[site.active_lang] -%} - {%- for card in letter[1] -%} - { "title": "{{ card.title | escape }}", "tags": [ - {%- for tag in card.tags -%} - "{{ tag }}" + {%- if letter[0] != "strings" -%} + {%- for card in letter[1] -%} + { "title": "{{ card.title | escape }}", "tags": [ + {%- for tag in card.tags -%} + "{{ tag }}" + {%- unless forloop.last -%},{%- endunless -%} + {%- endfor -%} + ], "description": "{{ card.description | escape }}" + {%- if card.content -%} + ,"content": { "code": "{{ card.content.code | escape }}" } + {%- endif -%} + } {%- unless forloop.last -%},{%- endunless -%} {%- endfor -%} - ], "description": "{{ card.description | escape }}" - {%- if card.content -%} - ,"content": { "code": "{{ card.content.code | escape }}" } - {%- endif -%} - } {%- unless forloop.last -%},{%- endunless -%} - {%- endfor -%} - {%- unless forloop.last -%},{%- endunless -%} + {%- endif -%} {%- endfor -%} -] } +]} diff --git a/_json/pt-br/cards.json.liquid b/_json/pt-br/cards.json.liquid index 061aa17a..32d7efbe 100644 --- a/_json/pt-br/cards.json.liquid +++ b/_json/pt-br/cards.json.liquid @@ -2,21 +2,23 @@ id: cards permalink: /assets/data/cards.json --- -{ "cards": [ +{"cards":[ {%- for letter in site.data[site.active_lang] -%} - {%- for card in letter[1] -%} - { "title": "{{ card.title | escape }}", "tags": [ - {%- for tag in card.tags -%} - "{{ tag }}" + {%- if letter[0] != "strings" -%} + {%- for card in letter[1] -%} + { "title": "{{ card.title | escape }}", "tags": [ + {%- for tag in card.tags -%} + "{{ tag }}" + {%- unless forloop.last -%},{%- endunless -%} + {%- endfor -%} + ], "description": "{{ card.description | escape }}" + {%- if card.content -%} + ,"content": { "code": "{{ card.content.code | escape }}" } + {%- endif -%} + } {%- unless forloop.last -%},{%- endunless -%} {%- endfor -%} - ], "description": "{{ card.description | escape }}" - {%- if card.content -%} - ,"content": { "code": "{{ card.content.code | escape }}" } - {%- endif -%} - } {%- unless forloop.last -%},{%- endunless -%} - {%- endfor -%} - {%- unless forloop.last -%},{%- endunless -%} + {%- endif -%} {%- endfor -%} -] } +]} diff --git a/_layouts/base.liquid b/_layouts/base.liquid index 57678825..a6115513 100644 --- a/_layouts/base.liquid +++ b/_layouts/base.liquid @@ -7,7 +7,7 @@ @@ -33,7 +33,7 @@ > - + @@ -46,7 +46,7 @@ href="https://github.com/levxyca/diciotech" target="_blank" class="github-corner" - aria-label="{{ page.view_on_github }}" + aria-label="{{ site.data[site.active_lang].strings.view_on_github }}" >