diff --git a/app.rb b/app.rb index 6a03c5c..750d2c2 100644 --- a/app.rb +++ b/app.rb @@ -2,8 +2,44 @@ require 'gollum/app' require 'sinatra/flash' require "sqlite3" require 'tonton_web' -# TODO: better, simpler route matching +require 'pathname' + class TonTonWeb::App < Sinatra::Base + # Renders a view by the filename without the extension (without a predefined render) + # TODO: pass this to tonton-web code + def render_any template_name, base_dir, options = {} + for extension in ['.markdown', '.erb'] + template_name.delete_suffix!(extension) + end + + views_root = settings.views || "./views" + + # Search for any file with the given name and any extension + # Dir.glob returns an array of matching file paths + views_dir = Dir.new("#{views_root}/#{base_dir}") + + found = false + filename = nil + + while not found and ( filename = views_dir.read ) != nil + if File.basename(filename, ".*") == template_name + found = true + end + end + + if not found + halt 404, "Template named '#{template_name}' not found." + end + + file_path = "#{base_dir}/#{template_name}" + + engine = File.extname(filename).delete('.').to_sym + + # Dynamically call the correct Sinatra method (e.g., erb :hello, markdown :hello) + # We use 'send' to call the method by its name symbol + send(engine, file_path.to_sym, options) + end + set :host_authorization, { permitted_hosts: ['localhost', 'mytonton.com.br'] } set :sessions, true @@ -16,19 +52,17 @@ class TonTonWeb::App < Sinatra::Base markdown File.read("readme.md"), layout_engine: :erb, layout: true end - get '/:name' do - markdown request.path_info.to_sym, layout_engine: :erb, layout: true - end + # Chapa Sigmóide - get '/chapa-sigmoide/readme' do + get '/chapa-sigmoide' do redirect "/chapa-sigmoide/readme.markdown" end get '/chapa-sigmoide/:name' do - if request.path_info.end_with? '.markdown' - markdown request.path_info.sub('.markdown', '').to_sym, layout_engine: :erb, layout: :chapa_sigmoide - elsif request.path_info.end_with? '.erb' - erb request.path_info.sub('.erb', '').to_sym, layout_engine: :erb, layout: :chapa_sigmoide - end + render_any params['name'], 'chapa-sigmoide', layout_engine: :erb, layout: :chapa_sigmoide + end + + get '/chapa-sigmoide/members/:name' do + render_any params['name'], 'chapa-sigmoide/members', layout_engine: :erb, layout: :chapa_sigmoide end end \ No newline at end of file diff --git a/public/chapa-sigmoide/logo-circular.svg b/public/chapa-sigmoide/logo-circular.svg new file mode 100644 index 0000000..c7a80bf --- /dev/null +++ b/public/chapa-sigmoide/logo-circular.svg @@ -0,0 +1,89 @@ + + + + + + + + + + + + C + Σ + + + diff --git a/public/chapa-sigmoide/logo-retangular-com-texto.svg b/public/chapa-sigmoide/logo-retangular-com-texto.svg new file mode 100644 index 0000000..98bc36c --- /dev/null +++ b/public/chapa-sigmoide/logo-retangular-com-texto.svg @@ -0,0 +1,131 @@ + + + +Chapa SigmóideC ∫ Σciencia_da_computacao@ufpa-belem diff --git a/public/chapa-sigmoide/logo-retangular-sem-texto.svg b/public/chapa-sigmoide/logo-retangular-sem-texto.svg new file mode 100644 index 0000000..24637ba --- /dev/null +++ b/public/chapa-sigmoide/logo-retangular-sem-texto.svg @@ -0,0 +1,112 @@ + + + +C ∫ Σ diff --git a/public/chapa-sigmoide/sigmoid-function.svg b/public/chapa-sigmoide/sigmoid-function.svg new file mode 100644 index 0000000..3fb2cce --- /dev/null +++ b/public/chapa-sigmoide/sigmoid-function.svg @@ -0,0 +1,160 @@ + + + +01 diff --git a/public/css/chapa_sigmoide.css b/public/css/chapa_sigmoide.css index 19222b4..ef110da 100644 --- a/public/css/chapa_sigmoide.css +++ b/public/css/chapa_sigmoide.css @@ -220,6 +220,13 @@ button, input[type="submit"], input[type="reset"], input[type="button"] button svg {pointer-events:none;} +header img +{ + width: min(50vw, 50vh); + margin-right: auto; + margin-left: auto; +} + div.ficha { display: grid; diff --git a/views/chapa-sigmoide/henrique.markdown b/views/chapa-sigmoide/members/henrique.markdown similarity index 100% rename from views/chapa-sigmoide/henrique.markdown rename to views/chapa-sigmoide/members/henrique.markdown diff --git a/views/chapa-sigmoide/joao.markdown b/views/chapa-sigmoide/members/joao.markdown similarity index 100% rename from views/chapa-sigmoide/joao.markdown rename to views/chapa-sigmoide/members/joao.markdown diff --git a/views/chapa-sigmoide/leonardo.markdown b/views/chapa-sigmoide/members/leonardo.markdown similarity index 100% rename from views/chapa-sigmoide/leonardo.markdown rename to views/chapa-sigmoide/members/leonardo.markdown diff --git a/views/chapa-sigmoide/lucas.markdown b/views/chapa-sigmoide/members/lucas.markdown similarity index 100% rename from views/chapa-sigmoide/lucas.markdown rename to views/chapa-sigmoide/members/lucas.markdown diff --git a/views/chapa-sigmoide/mateus.markdown b/views/chapa-sigmoide/members/mateus.markdown similarity index 100% rename from views/chapa-sigmoide/mateus.markdown rename to views/chapa-sigmoide/members/mateus.markdown diff --git a/views/chapa-sigmoide/yuri.markdown b/views/chapa-sigmoide/members/yuri.markdown similarity index 100% rename from views/chapa-sigmoide/yuri.markdown rename to views/chapa-sigmoide/members/yuri.markdown diff --git a/views/chapa-sigmoide/readme.md b/views/chapa-sigmoide/readme.markdown similarity index 76% rename from views/chapa-sigmoide/readme.md rename to views/chapa-sigmoide/readme.markdown index 5ce2404..ce5a3a3 100644 --- a/views/chapa-sigmoide/readme.md +++ b/views/chapa-sigmoide/readme.markdown @@ -10,9 +10,7 @@ A Chapa Sigmóide é uma chapa eleitoral concorrendo à gerência do Centro Acad [Simbologia (em produção)](symbology.markdown) -[Personalidade (em produção)](personality.markdown) - -[Propostas (em produção)](proposals.markdown) +[Personalidade (em produção)](acting.markdown) [Mascotes (em produção)](mascots.markdown) @@ -20,6 +18,6 @@ Esse site é construído de forma aberta e graças à colaboração dos membros, A experiência de criar esse site para a chapa tem sido uma grata experiência para os envolvidos, assim como a construção da chapa no geral. Todos os integrantes da chapa estão cursando o 2º semestre, sendo que alguns tiveram contato relativamente superficial com computação antes de ingressar na faculdade, mas, ainda assim, compartilham o interesse por contribuir, interesse esse que está enraizado na chapa, desde a gênese. -Com todas as falhas, mal otimizações e "gambiarras", a Chapa Sigmóide deixa registrado um presente de melhores esforços direcionados ao curso de Ciência da Computação, com a certeza de que o tempo dedicado por cada membro foi acompanhado de muito carinho. +A Chapa Sigmóide deixa registrado um presente de melhores esforços direcionados ao curso de Ciência da Computação, com a certeza de que o tempo dedicado por cada membro foi acompanhado de muito carinho. ♥ \ No newline at end of file diff --git a/views/chapa-sigmoide/symbology.markdown b/views/chapa-sigmoide/symbology.markdown new file mode 100644 index 0000000..a3b9b14 --- /dev/null +++ b/views/chapa-sigmoide/symbology.markdown @@ -0,0 +1,19 @@ +# Simbologia + +A letra **C** simboliza a programação. + +Faz referência à linguagem C, uma linguagem de programação compilada, procedural, de propósito geral e de baixo nível amplamente conhecida e utilizada. + +O símbolo **∫** (integral) representa o cálculo e a matemática contínua. + +O formato do S estilizado também se assemelha ao de uma função sigmóide, um tipo de função matemática logística cujo valor varia de 0 à 1. + +![Função Sigmóide](/chapa-sigmoide/sigmoid-function.svg) + +A letra grega **Σ** (sigma) denota a operação de somatório e representa a matemática discreta. + +O formato da letra grega sigma lembra o da letra E, formando, com as demais letras, a sequência **CSE**, que remete a: + + - **C**omputer **S**cienc**E** + + - **C**hapa **S**igmóid**E** \ No newline at end of file diff --git a/views/chapa-sigmoide/symbology.md b/views/chapa-sigmoide/symbology.md deleted file mode 100644 index a9b23d2..0000000 --- a/views/chapa-sigmoide/symbology.md +++ /dev/null @@ -1 +0,0 @@ -# Simbologia \ No newline at end of file diff --git a/views/chapa_sigmoide.erb b/views/chapa_sigmoide.erb index a86dd8b..e63f135 100644 --- a/views/chapa_sigmoide.erb +++ b/views/chapa_sigmoide.erb @@ -1,19 +1,18 @@ + Chapa Sigmóide - - - +