From 167bddc127fddf56545e162c5cf5f5dbc10dfa25 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateus=20Cez=C3=A1rio=20Barreto?= Date: Sat, 29 Nov 2025 21:03:50 +0000 Subject: [PATCH 1/4] Renderer independent rendering --- app.rb | 58 +++++++++++++++---- .../{ => members}/henrique.markdown | 0 .../{ => members}/joao.markdown | 0 .../{ => members}/leonardo.markdown | 0 .../{ => members}/lucas.markdown | 0 .../{ => members}/mateus.markdown | 0 .../{readme.md => readme.markdown} | 0 .../{symbology.md => symbology.markdown} | 0 8 files changed, 48 insertions(+), 10 deletions(-) rename views/chapa-sigmoide/{ => members}/henrique.markdown (100%) rename views/chapa-sigmoide/{ => members}/joao.markdown (100%) rename views/chapa-sigmoide/{ => members}/leonardo.markdown (100%) rename views/chapa-sigmoide/{ => members}/lucas.markdown (100%) rename views/chapa-sigmoide/{ => members}/mateus.markdown (100%) rename views/chapa-sigmoide/{readme.md => readme.markdown} (100%) rename views/chapa-sigmoide/{symbology.md => symbology.markdown} (100%) diff --git a/app.rb b/app.rb index 6a03c5c..7a0adf9 100644 --- a/app.rb +++ b/app.rb @@ -2,8 +2,48 @@ 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 = {} + 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}" + + extension = File.extname(filename).delete('.') + + engine = case extension + when 'md', 'markdown' then :markdown + when 'erb' then :erb + else + # Fallback: try to use the extension name as the method + extension.to_sym + end + + # 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 +56,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/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/readme.md b/views/chapa-sigmoide/readme.markdown similarity index 100% rename from views/chapa-sigmoide/readme.md rename to views/chapa-sigmoide/readme.markdown diff --git a/views/chapa-sigmoide/symbology.md b/views/chapa-sigmoide/symbology.markdown similarity index 100% rename from views/chapa-sigmoide/symbology.md rename to views/chapa-sigmoide/symbology.markdown From d1f991d8e73fa13a0f8bd62dfbd2900d84929cae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateus=20Cez=C3=A1rio=20Barreto?= Date: Sat, 29 Nov 2025 21:28:31 +0000 Subject: [PATCH 2/4] render_any will ignore render extension in file request path --- app.rb | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/app.rb b/app.rb index 7a0adf9..750d2c2 100644 --- a/app.rb +++ b/app.rb @@ -8,6 +8,10 @@ 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 @@ -29,15 +33,7 @@ class TonTonWeb::App < Sinatra::Base file_path = "#{base_dir}/#{template_name}" - extension = File.extname(filename).delete('.') - - engine = case extension - when 'md', 'markdown' then :markdown - when 'erb' then :erb - else - # Fallback: try to use the extension name as the method - extension.to_sym - end + 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 From ea55d761e9377ccdb4e4359c2f06aa2a8a092137 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateus=20Cez=C3=A1rio=20Barreto?= Date: Sat, 29 Nov 2025 21:31:38 +0000 Subject: [PATCH 3/4] =?UTF-8?q?Chapa=20Sigm=C3=B3ide.=20Fixed=20yuri=20as?= =?UTF-8?q?=20member.=20Jo=C3=A3o=20Davi=20change=20request=20applied=20to?= =?UTF-8?q?=20readme.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- views/chapa-sigmoide/{ => members}/yuri.markdown | 0 views/chapa-sigmoide/readme.markdown | 6 ++---- 2 files changed, 2 insertions(+), 4 deletions(-) rename views/chapa-sigmoide/{ => members}/yuri.markdown (100%) 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.markdown b/views/chapa-sigmoide/readme.markdown index 5ce2404..ce5a3a3 100644 --- a/views/chapa-sigmoide/readme.markdown +++ 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 From bb55a138d3414a40abce1b00ed58ce1d315bb0dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateus=20Cez=C3=A1rio=20Barreto?= Date: Sat, 29 Nov 2025 22:23:56 +0000 Subject: [PATCH 4/4] =?UTF-8?q?Chapa=20Sigm=C3=B3ide.=20Logo,=20symbology.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/chapa-sigmoide/logo-circular.svg | 89 ++++++++++ .../logo-retangular-com-texto.svg | 131 ++++++++++++++ .../logo-retangular-sem-texto.svg | 112 ++++++++++++ public/chapa-sigmoide/sigmoid-function.svg | 160 ++++++++++++++++++ public/css/chapa_sigmoide.css | 7 + views/chapa-sigmoide/symbology.markdown | 20 ++- views/chapa_sigmoide.erb | 7 +- 7 files changed, 521 insertions(+), 5 deletions(-) create mode 100644 public/chapa-sigmoide/logo-circular.svg create mode 100644 public/chapa-sigmoide/logo-retangular-com-texto.svg create mode 100644 public/chapa-sigmoide/logo-retangular-sem-texto.svg create mode 100644 public/chapa-sigmoide/sigmoid-function.svg 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/symbology.markdown b/views/chapa-sigmoide/symbology.markdown index a9b23d2..a3b9b14 100644 --- a/views/chapa-sigmoide/symbology.markdown +++ b/views/chapa-sigmoide/symbology.markdown @@ -1 +1,19 @@ -# Simbologia \ No newline at end of file +# 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.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 - - - +