diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57510a2 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +_site/ diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/2012/index.md b/2012/index.md new file mode 100644 index 0000000..9673583 --- /dev/null +++ b/2012/index.md @@ -0,0 +1,14 @@ +--- +layout: edition +city-image: poa.png +--- + +A primeira edição do LaKademy aconteceu entre 27 de abril e 01 de maio de 2012. O evento foi realizado na cidade de Porto Alegre, no Rio Grande do Sul, Brasil. Participaram dessa edição colaboradores do Brasil, Argentina, Peru e Colômbia. Doze colaboradores veteranos se juntaram a seis novos colaboradores para trabalharem nos projetos da comunidade durante cinco dias. + +Desenvolvedores, tradutores, designers e o time de promoção lotaram a sala de estar do aconchegante Porto Alegre Eco Hostel, local onde foi realizado o evento. As sessões de hacking se concentraram nos seguintes projeto: artwork, KDEedu: Cantor e Rocs, Plasma Active, Plasma Network Management, promoção, tradução e KDE-games. + +Você poderá encontrar um relato completo do que aconteceu no LaKademy 2012 [aqui](https://liveblue.wordpress.com/2012/05/06/lakademy-hierarchical-edge-bundles-and-kdevelop/). + +As fotos do evento também podem ser vistas na nossa galeria [aqui](https://www.flickr.com/photos/kdebr/sets/72157629556717474). + + diff --git a/2014/index.md b/2014/index.md new file mode 100644 index 0000000..0e6c535 --- /dev/null +++ b/2014/index.md @@ -0,0 +1,16 @@ +--- +layout: edition +city-image: sp.png +--- + +A segunda edição do LaKademy ocorreu na cidade de São Paulo, entre os dias 27 e 30 de Agosto de 2014. O evento foi realizado no [CCSL - Centro de Competência em Software Livre](http://ccsl.ime.usp.br/) do Instituto de Matemática (IME) e Estatística da Universidade de São Paulo (USP), campus do Butantã. + +O LaKademy 2014 funcionou de uma forma diferente do evento anterior, além das sessões de hacking, abrimos inscrições para todos os interessados em participar do evento apresentando palestra ou mini-curso. Os tópicos de interesse incluíram (mas não eram limitados a): sólida experiência técnica com tecnologias KDE ou Qt, cenário atual e tendências futuras, oportunidades e indicações para contribuição, aplicações do KDE, deploy massivo do KDE e KDE em dispositivos móveis. + +As propostas podiam ser submetidas em inglês, português, ou espanhol. + +Além de um mini-Curso de Introdução ao Qt, o evento contou com palestras sobre o KDE Sysadmin Team, Qt e KDE no Android, KDE Connect, etc. Mais detalhes sobre essa programação podem ser vistos abaixo. Você também pode ler relatos sobre o que aconteceu durante o evento [aqui](https://br.kde.org/node/276). + +Fotos do evento estão disponíveis nesse [link](https://www.flickr.com/photos/kdebr/sets/721576459434024470). + + diff --git a/2015/index.md b/2015/index.md new file mode 100644 index 0000000..3565a1f --- /dev/null +++ b/2015/index.md @@ -0,0 +1,13 @@ +--- +layout: edition +city-image: bahia.png +--- + +Em 2015 o LaKademy aconteceu em Salvador, Bahia, casa do Akademy-BR, do primeiro grupo brasileiro de desenvolvedores do KDE, chamado Live Blue, e terra dos [Orixás](https://pt.wikipedia.org/wiki/Orix%C3%A1)! + +O evento foi realizado entre os dias 03 e 06 de Junho, na [Universidade Federal +da Bahia (UFBA)](https://www.ufba.br/Universidade). Pela primeira vez nós fizemos uma [campanha de arrecadação de fundos](https://br.kde.org/node/281) para o LaKademy. Para a realização dessa edição, além dos [doadores](https://br.kde.org/node/300) que gentilmente colaboraram dando suporte financeiro, contamos com o apoio de infraestrutura dado pelo [Programa Onda Digital](https://wiki.dcc.ufba.br/OndaDigital/) e pela [Superintendência de Tecnologia da Informação da UFBA](https://sti.ufba.br). + +Abaixo você pode conferir a programação de atividades do encontro. Você também pode encontrar um relato completo de tudo que aconteceu no LaKademy 2015 [nesse link](https://br.kde.org/node/306). Um álbum com imagens do evento também está disponível em nossa galeria [aqui](https://www.flickr.com/photos/kdebr/albums/72157653998957099). + + diff --git a/2016/index.md b/2016/index.md new file mode 100644 index 0000000..8bf3a28 --- /dev/null +++ b/2016/index.md @@ -0,0 +1,14 @@ +--- +layout: edition +city-image: rio.jpg +--- + +Em 2016, ano em que a comunidade KDE completou seus 20 anos de existência, o LaKademy aconteceu no Rio de Janeiro, nas dependências da UNIRIO (Universidade Federal do Estado do Rio de Janeiro). + +O evento ocorreu entre os dias 26 e 29 de maio, no espaço do Programa de Pós-Graduação em Informática (PPGI) da UNIRIO, no Campus da Urca. Um relato completo (em inglês) pode se visto [nessa página](https://dot.kde.org/2016/06/14/lakademy-2016-%E2%80%92-strewing-floss-culture). + +Imagens do evento estão disponíveis [aqui](https://www.flickr.com/photos/kdebr/albums/72157668445531240). + +Veja a fotos dos participantes abaixo: + + diff --git a/2017/index.md b/2017/index.md new file mode 100644 index 0000000..7eb41a9 --- /dev/null +++ b/2017/index.md @@ -0,0 +1,16 @@ +--- +layout: edition +city-image: bh.jpg +--- + +O LaKademy 2017 foi muito especial, pois marcou o aniversário de 5 anos de existência do evento. + +Essa edição ocorreu no [Campus 1 do CEFET/MG](http://www.campus1.cefetmg.br/) localizado na cidade de [Belo Horizonte](https://pt.wikipedia.org/wiki/Belo_Horizonte), Minas Gerais, Brasil. + +No encontro, que ocorreu entre os dias 28/04 e 01/05, contribuidores veteranos e novos da comunidade se reuniram para trabalhar em projetos do KDE-Edu, KDE-Games, KDE-Artwork, além de Tradução, Localização, Promo, entre outros. + +Foi também neste evento que foi planejada a realização de um evento comunitário sobre Qt em várias cidades, o [Kafé com Qt](https://br.kde.org/node/15895). + +As fotos do eventos podem ser vistas [aqui](https://www.flickr.com/photos/kdebr/sets/72157683368276005/). + + diff --git a/2018/index.md b/2018/index.md new file mode 100644 index 0000000..e42c483 --- /dev/null +++ b/2018/index.md @@ -0,0 +1,11 @@ +--- +layout: edition +city-image: floripa.jpg +--- + +O 6° Encontro Latino-Americano dos Usuários e Colaboradores da KDE ocorrerá entre os dias 11 e 14 de outubro no [Instituto Federal de Santa Catarina](http://www.ifsc.edu.br/), em Florianópolis. + +Durante 4 dias, vários contribuidores da nossa comunidade se reunirão para trabalhar nos seus projetos de interesse. O evento, no entanto, não é aberto apenas para os contribuidores, mas para usuários e quaisquer outras pessoas interessadas em fazer +parte dele. + +Então, se você é uma dessas pessoas que tem interesse em participar do LaKademy e da comunidade KDE, apareça por lá! diff --git a/README.md b/README.md new file mode 100755 index 0000000..f384d75 --- /dev/null +++ b/README.md @@ -0,0 +1,2 @@ +# kde-lakademy-website +A css+js+html based structure for laKademy website diff --git a/_config.yml b/_config.yml new file mode 100644 index 0000000..beb3059 --- /dev/null +++ b/_config.yml @@ -0,0 +1,4 @@ +name: LaKademy +url: https://lakademy.kde.org/ + +exclude: [README.md] diff --git a/_includes/foot.html b/_includes/foot.html new file mode 100644 index 0000000..08cc711 --- /dev/null +++ b/_includes/foot.html @@ -0,0 +1,34 @@ + diff --git a/_includes/head.html b/_includes/head.html new file mode 100644 index 0000000..ac2f3be --- /dev/null +++ b/_includes/head.html @@ -0,0 +1,8 @@ + + Lakademy + + + + + + diff --git a/_includes/nav.html b/_includes/nav.html new file mode 100644 index 0000000..351d643 --- /dev/null +++ b/_includes/nav.html @@ -0,0 +1,46 @@ +
+ + +

LaKademy {{ page.edition }}

+
diff --git a/_layouts/edition.html b/_layouts/edition.html new file mode 100644 index 0000000..7b7ce17 --- /dev/null +++ b/_layouts/edition.html @@ -0,0 +1,33 @@ + + {% include head.html %} + + {% include nav.html %} +
+
+
+
+
+ {{ content }} +
+
+

Doe para o Lakademy

+

+ Os projetos da comunidade KDE são produzidos e mantidos por voluntários de todo o mundo e estão disponíveis gratuitamente + para qualquer pessoa. A sua doação é importante para ajudar a manter o trabalho da comunidade. Com ela nós cobrimos custos + com servidores, encontros dos contribuidores, etc. A doação é uma forma fácil, rápida e direta de apoiar a comunidade. +

+
+ Doar +
+ + +
+
+
+
+
+ {% include foot.html %} + + diff --git a/contato/index.md b/contato/index.md new file mode 100644 index 0000000..5fb8499 --- /dev/null +++ b/contato/index.md @@ -0,0 +1,16 @@ +--- +layout: edition +city-image: +--- + +O LaKademy é organizado pela Equipe do [KDE Brasil](https://br.kde.org/) com o apoio do [KDE e.V.](https://ev.kde.org/). + +Se você deseja fazer parte da comunidade, participar do evento e/ou colaborar para sua realização, você pode entrar em contato conosco através da nossa [lista de discussão](https://mail.kde.org/mailman/listinfo/kde-br) ou canal de IRC #kde-brasil, na Freenode. + +### Links Úteis + +* [KDE.org](https://www.kde.org/) +* [KDE.news](https://dot.kde.org/) +* [Planet KDE](https://planet.kde.org/) +* [KDE Forums](https://forum.kde.org/) +* [KDE Wikis](https://wiki.kde.org/) diff --git a/css/comentado.css b/css/comentado.css new file mode 100644 index 0000000..b0cc171 --- /dev/null +++ b/css/comentado.css @@ -0,0 +1,464 @@ +/* importação da fonte padrão da KDE*/ +@import url(//fonts.googleapis.com/css?family=Noto+Sans); + +/* atributos do body */ +body { + font-family: 'Noto Sans'; + margin: 0; + padding: 0; +} + +/* Header */ +header { + background-color: #1d99f3; + background-position: center; + background-repeat: no-repeat; + background-size: cover; + text-align: center; + padding-bottom: 5em; +} + +/* cada ano/pagina tem seu background image especifico definida por uma classe*/ +.bg-2018 { + background-image: url(../img/floripa.jpg); +} + +.bg-2017 { + background-image: url(../img/bh.jpg); +} + +.bg-2016 { + background-image: url(../img/rio.jpg); +} + +header h1 { + color: white; + font-size: 2.5em; + font-weight: 300; + line-height: 1.2; + text-shadow: 2px 2px #000000; +} + +#logo { + max-height: 125px; + width: auto; + display: block; + margin-left: auto; + margin-right: auto; +} + +/* Seções */ + +section:nth-of-type( odd) { + background-color: #f5f6fa; +} + +/* Footer */ + +footer { + background-color: #1d99f3; +} + +footer p { + font-size: 0.8em; + color: white; +} + +/* Botões e icones */ +/* aplicada na div antes do elemento a para centralizar e aplicar a margem ao botão */ +.button { + text-align: center; + margin: 1em 0 1em 0; +} + +/* classe aplicada sobre o elemento a para criar um botão primario */ +.button-primary { + border: none; + border-radius: 2px; + text-transform: uppercase; + color: white; + background: #1d99f3; + padding: 0.3em 1em; + text-decoration: none; +} + +/* classe aplicada sobre o elemento a para criar um botão secundario */ +.button-secondary { + border: 1px solid #1d99f3; + border-radius: 30px; + color: black; + font-size: 0.8em; + padding: 0.3em 1em; + text-decoration: none; +} + +.button-secondary:hover { + background: #1d99f3; + color: white; +} + +.icon { + text-decoration: none; + color: white; + font-size: 1.5em; +} + +/* Menu de navegação*/ + +/* Duas barras são necessárias, uma para Desktop e outra para Mobile */ + +/* Desktop */ + +/* bloco da barra de navegação*/ + +.navbar { + margin-bottom: 3em; + padding: 0 1em; + overflow: auto; + background-color: transparent; +} + +/* item da barra de navegação - sempre a direita */ +.navbar-item { + color: white; + display: block; + text-align: center; + padding: 1em; + float: right; + text-decoration: none; + text-shadow: 2px 2px #000000; +} + +/* item da barra de navegação - sempre a esquerda*/ +.navbar-title { + color: white; + text-align: center; + padding: 1em; + float: left; + display: block; + text-shadow: 2px 2px #000000; + text-decoration: none; +} + +/* bloco do dropdown*/ +.navbar-dropdown { + display: block; + float: right; + overflow: auto; + padding: 1em; +} + +/* título do dropdown */ +.navbar-dropdown-title { + color: white; + text-align: center; + text-decoration: none; + text-shadow: 2px 2px #000000; +} + +/* bloco de conteúdo do dropdown +possui posição absoluta +z-index:1 para não empurrar os outros elementos +Está oculto em primeiro momento e é exibido após hover do dropdown*/ +.navbar-dropdown-content { + z-index: 1; + display: none; + position: absolute; +} + +/* itens do dropdown */ +.navbar-dropdown-item { + color: white; + text-decoration: none; + display: block; + background-color: transparent; + padding: 1em; + text-shadow: 2px 2px #000000; +} + +/* todo conteudo de um dropdown em hover será exibido */ +.navbar-dropdown:hover .navbar-dropdown-content { + display: block; +} + +/* Mobile +bloco da barra - nasce oculta e é exibida via MediaQuery */ +.navbar-collapse { + margin-bottom: 3em; + padding: 0; + overflow: auto; + background-color: transparent; + display: none; + border: 1px solid white; +} + +/* agrupador do título (.navbar-tilte) e do botão (.navbar-icon) +tem essa altura para impedir que os items do menu subão ao serem exibidos */ +.navbar-header-collapse { + height: 3em; +} + +/* icone da barra mobile - sempre a direita */ +.navbar-icon { + color: white; + text-align: center; + padding: 1em; + float: right; + display: block; + text-shadow: 2px 2px #000000; +} + +/* item da barra +Semelhantes ao da barra desktop, mas são centralizados, dispostos em blocos e com bordas +Iniciam ocultos com a adição da classe .hide que é removida e adicionada utilizando JS (menuShow()) +A função é chamada através do .navbar-icon + +O dropdown mobile é mais simples +A formatação dos seus sub-items é semelhante a um navbar-item-collapse +Também iniciam ocultos com a classe .hide que é removida e adicionada utilizando JS (dropdownShow()) +Basta definir um navbar-item-collapse que chamará a função + +*/ +.navbar-collapse-dropdown-item, +.navbar-item-collapse { + color: white; + display: block; + text-align: center; + padding: 1em; + float: none; + border: 1px solid white; + text-decoration: none; + text-shadow: 2px 2px #000000; +} + +.hide { + display: none; +} + +/* Esconde o menu desktop e exibe o menu mobile */ +@media screen and (max-width: 600px) { + .navbar { + display: none; + } + .navbar-collapse { + display: block; + } +} + +/* Imagens */ + +/* Imagem responsiva +Disposta em bloco com margens automáticas para centralizar +Largura máxima de 70% e altura proporcional */ +.img-responsive { + max-width: 80%; + height: auto; + display: block; + margin-left: auto; + margin-right: auto; +} + +/* Imagem em circulo */ +.img-avatar { + border-radius: 500em; +} + +/*Sistema de Colunas - Grid*/ + +/* +Reset Básico +Retira a margin e o padding dos elementos (para o navegador não colocar automaticamente) +e aciona o box-sizing (tamanho do elemento muda ao adicionar margin ou padding) +*/ +.container, +.row, +.col, +.col-3, +.col-sidebar, +.col-content { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} + +/* container possui uma row (linha) que possui n colunas */ +.container { + width: 100%; + margin-left: auto; + margin-right: auto; + padding: 2em; +} + +.container h2 { + text-align: center; +} + +/* se a tela tiver no mínimo 1170px, sua largura máxima se torna 1170px e seu padding lateral é removido +pois não é mais necessário */ +@media (min-width: 1170px) { + .container { + max-width: 1170px; + padding: 2em 0 2em 0; + } +} + +/* o atributo clear:both impede que elementos flutuem em torno da row */ +.row { + padding: 1em; + overflow: auto; + clear: both; +} + +/* base para todas as colunas, por padrão assume 1 coluna ou seja 100% de largura +As colunas sempre são utilizadas com col + col-n (número de colunas que deseja) +São dispostas como blocos em uma linhas (display:inline-block)*/ +.col { + display: inline-block; + vertical-align: top; + width: 100%; + margin-bottom: 2em; + margin-right: -4px; +} + +.col p { + text-indent: 1.5em; + text-align: justify; +} + +/* tres colunas */ +@media (min-width: 728px) { + /* A partir que a tela tem no mínimo 728px é possivel utilizar três colunas + Caso a view não atenda o requisito, torna-se 1 coluna */ + .col-3 { + width: 33.3333%; + } +} + +.col-3 img { + max-width: 100%; + max-height: 200px; + display: block; + margin-left: auto; + margin-right: auto; +} + +.col-3 h2, +.col-3 p { + text-align: center; + text-indent: 0; +} + +/* Coluna de Content e Sidebar */ +@media (min-width: 992px) { + /* A partir que a tela tem no mínimo 992px é possivel utilizar as colunas de content e size + Caso a view não atenda o requisito, torna-se 1 coluna */ + .col-content { + width: 70%; + padding: 0 2em; + } + .col-sidebar { + width: 30%; + } +} + +/* o uso de col col-n com col col-content/con-sidebar não é recomendado +Use só col col-n ou col-content/con-sidebar*/ + +/* Linha do Tempo */ + +/* bloco da linha do tempo */ + +/* largura máxima de 1170px assim como o container +margem lateral auto para se centralizar */ + +.timeline { + position: relative; + max-width: 1170px; + height: auto; + padding: 0; + margin: 0 auto; + overflow: auto; + list-style: none; +} + +/* fundo da linha do tempo - reta tracejada +Com 50% de largura e 100% de altura em relação ao elemento pai, com uma borda direita cinza e tracejada. +Posicionado como absoluto com z-index negativo para ficar ao fundo da página +*/ +.timeline-background { + width: 50%; + float: left; + height: 100%; + position: absolute; + z-index: -1; + border-right: 2px dashed grey; +} + +/* Marcação de um ano na linha do tempo */ +.timeline-year { + font-weight: 600; + font-size: 25px; + letter-spacing: 3px; + color: #f0f0f0; + background-color: #1d99f3; + text-align: center; + margin-top: 3em; + margin: 1em auto; + clear: both; +} + +/* Descrição de um evento na linha do tempo +Com 44% de largura e os 6% restantes distruibudos entre o margin e padding para visualizar o timeline-background*/ +.timeline-event { + width: 44%; + margin: 4% 2%; + padding: 1%; + text-align: center; + background-color: white; +} + +/* Imagem de um evento na linha do tempo +Com 44% de largura e os 6% restantes distruibudos entre o margin e padding para visualizar o timeline-background*/ +.timeline-img { + width: 44%; + margin: 2% 2%; + padding: 1%; + background-color: white; +} + +/* Alteração da posição (right e left) entre a descrição e a imagem de um evento com base nos filhos pares e +ímpares */ +.timeline-event:nth-of-type( odd) { + float: right; +} + +.timeline-event:nth-of-type( even) { + float: left; +} + +.timeline-img:nth-of-type( even) { + float: right; +} + +.timeline-img:nth-of-type( odd) { + float: left; +} + +/* Caso a view tenha menos que 600px a imagem e a descrição de um evento ficam centralizados */ +@media (max-width: 600px) { + .timeline-event, + .timeline-img { + width: auto; + float: none; + } +} + +.link { + text-decoration: none; + color: #1d99f3; +} + +.link-footer { + text-decoration: none; + color: white; +} \ No newline at end of file diff --git a/css/style.css b/css/style.css new file mode 100755 index 0000000..510605b --- /dev/null +++ b/css/style.css @@ -0,0 +1,426 @@ +@import url(//fonts.googleapis.com/css?family=Noto+Sans); + +body{ + font-family: 'Noto Sans'; + margin: 0; + padding: 0; +} + +header{ + background-color: #1d99f3; + background-position: center; + background-repeat: no-repeat; + background-size: cover; + text-align: center; + padding-bottom: 5em; +} + +.bg-2018{ + background-image: url(../img/floripa.jpg); +} + +.bg-2017{ + background-image: url(../img/bh.jpg); +} + +.bg-2016 { + background-image: url(../img/rio.jpg); +} + +.bg-2015{ + background-image: url(../img/bahia.png); +} + +.bg-2014{ + background-image: url(../img/sp.png); +} + +.bg-2012{ + background-image: url(../img/poa.png); +} + +header h1 { + color: white; + font-size: 2.5em; + font-weight: 300; + line-height: 1.2; + text-shadow: 2px 2px #000000; +} + +#logo { + max-height: 125px; + width: auto; + display: block; + margin-left: auto; + margin-right: auto; +} + +section:nth-of-type( odd ) { + background-color: #f5f6fa; +} + +footer { + background-color: #1d99f3; +} + +footer p{ + font-size: 0.8em; + color:white; +} + +.button { + text-align: center; + margin: 1em 0 1em 0 ; +} + +.button-primary{ + border: none; + border-radius: 2px; + text-transform: uppercase; + color: white; + background: #1d99f3; + padding: 0.3em 1em; + text-decoration: none; +} + +.button-secondary{ + border: 1px solid #1d99f3; + border-radius: 30px; + color: black; + font-size: 0.8em; + padding: 0.3em 1em; + text-decoration: none; +} + +.button-secondary:hover { + background: #1d99f3; + color: white; +} + +.icon { + text-decoration: none; + color: white; + font-size: 1.5em; +} + +.navbar { + margin-bottom: 3em ; + padding: 0 1em ; + overflow: auto; + background-color: transparent; +} + +.navbar-item { + color: white; + display: block; + text-align: center; + padding: 1em ; + float: right; + text-decoration: none; + text-shadow: 2px 2px #000000; +} + +.navbar-title { + color: white; + text-align: center; + padding: 1em; + float: left; + display: block; + text-shadow: 2px 2px #000000; + text-decoration: none; +} + +.navbar-dropdown { + display: block; + float: right; + overflow: auto; + padding: 1em; +} + +.navbar-dropdown-title { + color: white; + text-align: center; + text-decoration: none; + text-shadow: 2px 2px #000000; +} + +.navbar-dropdown-content { + z-index: 1; + display: none; + position: absolute; +} + +.navbar-dropdown-item { + color: white; + text-decoration: none; + display: block; + background-color: transparent; + padding: 1em; + text-shadow: 2px 2px #000000; +} + +.navbar-dropdown:hover .navbar-dropdown-content { + display: block; +} + +.navbar-collapse { + margin-bottom: 3em; + padding: 0 ; + overflow: auto; + background-color: transparent; + display: none; + border: 1px solid white; +} + +.navbar-header-collapse { + height: 3em; +} + +.navbar-icon { + color: white; + text-align: center; + padding: 1em; + float: right; + display: block; + text-shadow: 2px 2px #000000; +} + +.navbar-collapse-dropdown-item, +.navbar-item-collapse { + color: white; + display: block; + text-align: center; + padding: 1em; + float:none; + border: 1px solid white; + text-decoration: none; + text-shadow: 2px 2px #000000; +} + +.hide { + display: none; +} + +@media screen and (max-width: 650px) { + .navbar { + display: none; + } + .navbar-collapse { + display: block; + } +} + +.img-responsive { + max-width: 80%; + height: auto; + display: block; + margin-left: auto; + margin-right: auto; +} + +.img-avatar{ + border-radius: 500em; +} + +.container, .row, .col, .col-3, .col-sidebar, .col-content { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} + +.container { + width: 100%; + margin-left: auto; + margin-right: auto; + padding: 2em ; +} + +.container h2 { + text-align: center; +} + +@media (min-width: 1170px) { + .container { + max-width: 1170px; + padding: 2em 0 2em 0; + } +} + +.row { + padding: 0 1em ; + overflow: auto; + clear:both; +} + + +.col { + display: inline-block; + vertical-align: top; + width: 100%; + margin-right: -4px; + padding: 0 1em; +} + +.col p { + text-indent: 1.5em; + text-align: justify; +} + +@media (min-width: 728px) { + .col-3 { + width: 33.3333%; + } +} + +.col-3 img { + max-width: 100%; + max-height: 200px; + display: block; + margin-left: auto; + margin-right: auto; +} + +.col-3 h2, +.col-3 p { + text-align: center; + text-indent: 0; +} + +@media (min-width: 992px) { + .col-content { + width: 70%; + padding: 0 2em; + } + + .col-sidebar { + width: 30%; + } + +} + +.timeline { + position: relative; + max-width: 1170px; + height: auto; + padding: 0 ; + margin: 0 auto; + overflow: auto; + list-style: none; +} + +.timeline-background { + width: 50%; + float: left; + height: 100%; + position: absolute; + z-index: -1; + border-right: 2px dashed grey; +} + +.timeline-year { + font-weight: 600; + font-size: 25px; + letter-spacing: 3px; + color: #f0f0f0; + background-color: #1d99f3; + text-align: center; + margin-top: 3em; + margin: 1em auto; + clear: both; +} + +.timeline-event{ + width: 44%; + margin: 4% 2%; + padding: 1%; + text-align: center; + background-color: white; +} + +.timeline-img { + width: 44%; + margin: 2% 2%; + padding: 1%; + background-color: white; +} + +.timeline-event:nth-of-type( odd ){ + float:right; +} + +.timeline-event:nth-of-type( even ) { + float: left ; +} + +.timeline-img:nth-of-type( even ) { + float: right; +} + +.timeline-img:nth-of-type( odd ) { + float: left; +} + +@media (max-width: 600px) { + .timeline-event, + .timeline-img { + width:auto; + float:none; + } +} + +.link{ + text-decoration: none; + color:#1d99f3; +} + +.link-footer{ + text-decoration: none; + color:white; +} + +.form { + width: 50%; +} + +@media (max-width: 992px) { + .form { + width: 100%; + } +} + +.form input { + width: 100%; + padding: 1em ; + border: 2px solid #ccc; + border-radius: 10px; + margin-bottom: 1em ; + outline: 0; + box-sizing: border-box; + +} + +.form label { + padding: 1em 1em 1em 0 ; +} + +.error-message{ + background-color:#f44755; + color:white; + width: 100%; + border-radius: 10px; + font-size: 0.8em; + padding: 1em; + text-indent: 0; + box-sizing: border-box; +} + +.success-message { + background-color: #27ae60; + color: white; + width: 100%; + border-radius: 10px; + font-size: 0.8em; + padding: 1em; + text-indent: 0; + box-sizing: border-box; +} diff --git a/img/2012.jpg b/img/2012.jpg new file mode 100755 index 0000000..8a08f60 Binary files /dev/null and b/img/2012.jpg differ diff --git a/img/2014.jpg b/img/2014.jpg new file mode 100755 index 0000000..c3dfedd Binary files /dev/null and b/img/2014.jpg differ diff --git a/img/2015.jpg b/img/2015.jpg new file mode 100755 index 0000000..b89ebcf Binary files /dev/null and b/img/2015.jpg differ diff --git a/img/2016.jpg b/img/2016.jpg new file mode 100755 index 0000000..757f94d Binary files /dev/null and b/img/2016.jpg differ diff --git a/img/2017.jpg b/img/2017.jpg new file mode 100755 index 0000000..d4d5094 Binary files /dev/null and b/img/2017.jpg differ diff --git a/img/bahia.png b/img/bahia.png new file mode 100644 index 0000000..4bc7d65 Binary files /dev/null and b/img/bahia.png differ diff --git a/img/bh.jpg b/img/bh.jpg new file mode 100755 index 0000000..78f5020 Binary files /dev/null and b/img/bh.jpg differ diff --git a/img/contato.png b/img/contato.png new file mode 100755 index 0000000..875a963 Binary files /dev/null and b/img/contato.png differ diff --git a/img/contribua.png b/img/contribua.png new file mode 100755 index 0000000..0806125 Binary files /dev/null and b/img/contribua.png differ diff --git a/img/favicon.png b/img/favicon.png new file mode 100755 index 0000000..55be7d7 Binary files /dev/null and b/img/favicon.png differ diff --git a/img/floripa.jpg b/img/floripa.jpg new file mode 100755 index 0000000..a00d8e1 Binary files /dev/null and b/img/floripa.jpg differ diff --git a/img/kde-logo.png b/img/kde-logo.png new file mode 100755 index 0000000..052f4c3 Binary files /dev/null and b/img/kde-logo.png differ diff --git a/img/logo-2012.jpg b/img/logo-2012.jpg new file mode 100755 index 0000000..f1332af Binary files /dev/null and b/img/logo-2012.jpg differ diff --git a/img/logo-2014.png b/img/logo-2014.png new file mode 100755 index 0000000..293207d Binary files /dev/null and b/img/logo-2014.png differ diff --git a/img/logo-2015.png b/img/logo-2015.png new file mode 100755 index 0000000..a9f70e5 Binary files /dev/null and b/img/logo-2015.png differ diff --git a/img/logo-2016.png b/img/logo-2016.png new file mode 100755 index 0000000..e984c98 Binary files /dev/null and b/img/logo-2016.png differ diff --git a/img/logo-2017.png b/img/logo-2017.png new file mode 100755 index 0000000..88691f5 Binary files /dev/null and b/img/logo-2017.png differ diff --git a/img/poa.png b/img/poa.png new file mode 100644 index 0000000..383085d Binary files /dev/null and b/img/poa.png differ diff --git a/img/rio.jpg b/img/rio.jpg new file mode 100644 index 0000000..ea75cdf Binary files /dev/null and b/img/rio.jpg differ diff --git a/img/sobre.png b/img/sobre.png new file mode 100755 index 0000000..e302118 Binary files /dev/null and b/img/sobre.png differ diff --git a/img/sp.png b/img/sp.png new file mode 100644 index 0000000..4e931c7 Binary files /dev/null and b/img/sp.png differ diff --git a/index.html b/index.html new file mode 100755 index 0000000..9bf72e8 --- /dev/null +++ b/index.html @@ -0,0 +1,137 @@ +--- +layout: null +--- + + + {% include head.html %} + + {% include nav.html %} +
+
+
+
+
+

Sobre

+ +

+ O LaKademy é o encontro dos usuários e colaboradores latino-americanos da comunidade KDE. +

+ +
+
+

Colabore

+ +

+ Se você deseja se tornar um(a) contribuidor(a) da nossa comunidade há muitas atividades com as quais você pode se envolver. +

+ +
+
+

Contate-nos

+ +

Se você tem interesse em participar do LaKademy e contribuir com a comunidade KDE, entre em contato conosco.

+ +
+
+
+
+ +
+ +
+
+ {% include foot.html %} + + diff --git a/js/functions.js b/js/functions.js new file mode 100755 index 0000000..55f09da --- /dev/null +++ b/js/functions.js @@ -0,0 +1,98 @@ + +function menuShow() +{ + let items = document.getElementsByClassName("navbar-item-collapse"); + + for( i=0 ; i < items.length ; i++ ){ + if (items[i].classList.contains("hide")) { + items[i].classList.remove("hide"); + continue; + } + + items[i].classList.add("hide"); + } + + if( dropdownIsOpen() ){ + dropdownShow(); + } +} + + +function dropdownShow() +{ + let items = document.getElementsByClassName("navbar-collapse-dropdown-item"); + + for (i = 0; i < items.length; i++) { + if (items[i].classList.contains("hide")) { + items[i].classList.remove("hide"); + continue; + } + + items[i].classList.add("hide"); + } +} + +function dropdownIsOpen() +{ + let items = document.getElementsByClassName("navbar-collapse-dropdown-item"); + return !items[i].classList.contains("hide") ; +} + +function validateForm() +{ + let msg = "", type = "", utilizador = "", dominio="" ; + + let nome = document.getElementById( "nome" ).value; + let email = document.getElementById( "email" ).value; + + if( nome == "" || email == "" ) { + msg = "Nome e Email são obrigatórios!"; + type = "error-message"; + + generateFormValidationMessage(msg, type); + + return; + } + + if (validateEmailForRegister(email) !== true) { + return; + } + + msg = "Sucesso! Sua inscrição foi confirmada!"; + type = "success-message"; + + generateFormValidationMessage(msg, type); +} + +function generateFormValidationMessage (msg, type) +{ + document.getElementById( 'form-output').innerHTML = "

" + msg + "" +} + +function validateEmailForRegister(email) +{ + if ( email.indexOf('@') == -1 || email.indexOf('.') == -1 ) { + msg = "Informe um e-mail correto!" + type = "error-message"; + + return generateFormValidationMessage(msg, type); + } + + utilizador = email.substring( 0, email.indexOf('@') ) ; + dominio = email.substring(utilizador.length + 1); + + if ( utilizador.length < 1 || dominio.length < 4 ) { + msg = "Informe um e-mail correto!"; + type = "error-message"; + + return generateFormValidationMessage(msg, type); + } + + return true; +} + +function cleanOutput(){ + if( document.getElementById('form-output').innerHTML.match( "error-message" ) ){ + document.getElementById('form-output').innerHTML = "" ; + } +} diff --git a/sobre/index.md b/sobre/index.md new file mode 100644 index 0000000..a9cf5c8 --- /dev/null +++ b/sobre/index.md @@ -0,0 +1,16 @@ +--- +layout: edition +city-image: +--- + +O LaKademy ‒ Latin America KDE Summit ‒ é um encontro de usuários e colaboradores latino-americanos da comunidade KDE, uma das maiores comunidades de software livre do mundo. + +O evento é realizado desde 2012 e foi um desdobramento do Akademy-Br, única edição do encontro de colaboradores brasileiros do KDE, realizado em 2010. Após o Akademy-Br tornou-se evidente a importância de um encontro que integrasse não apenas brasileiros, +mas colaboradores de toda a América Latina. + +O principal objetivo do LaKademy, portanto, é promover encontros presenciais da comunidade latino-americana do KDE, possibilitando um momento de imersão nos projetos da comunidade. O LaKademy pretende funcionar como uma espaço de: + +* Troca de ideias sobre projetos e iniciativas entre os diferentes membros da comunidade; +* Sessões de hacking, nas quais os colaboradores colocam a mão na massa; +* Planejamento de futuras ações para o KDE na América Latina e no mundo; +* Apresentação do projeto para novos e potenciais colaboradores.