chore: reorganize para current/, rails 8.1, testes e readme

- move app para current/ (estrutura capistrano)
- rails 7.2 → 8.1, ruby 3.2, sqlite3 2.x
- adiciona primary_key Idinformativo no model
- schema.rb completo com todas as tabelas
- testes minitest: models (Tag, Informativo, Tema) e controllers
- readme atualizado em pt-br com stack e instruções de desenvolvimento
- gitignore exclui dump.sql, *.duckdb e sqlite3
This commit is contained in:
2026-06-18 18:58:01 +02:00
parent 691ed8e7e5
commit 25832564f9
132 changed files with 2067 additions and 1253 deletions

View File

@@ -0,0 +1,3 @@
//= link_tree ../images
//= link_directory ../javascripts .js
//= link_directory ../stylesheets .css

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

View File

@@ -0,0 +1,3 @@
//= require trix
//= require active_admin/base
//= require activeadmin_addons/all

View File

@@ -0,0 +1 @@
//= require active_admin/base

View File

@@ -0,0 +1,17 @@
// This is a manifest file that'll be compiled into application.js, which will include all the files
// listed below.
//
// Any JavaScript/Coffee file within this directory, lib/assets/javascripts, or any plugin's
// vendor/assets/javascripts directory can be referenced here using a relative path.
//
// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
// compiled file. JavaScript code in this file should be added after the last require_* statement.
//
// Read Sprockets README (https://github.com/rails/sprockets#sprockets-directives) for details
// about supported directives.
//
//= require jquery-3.4.0.min
$(document).ready(function(){
console.log("- by http://extrapolo.com -")
});

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,23 @@
@import 'activeadmin_addons/all';
// SASS variable overrides must be declared before loading up Active Admin's styles.
//
// To view the variables that Active Admin provides, take a look at
// `app/assets/stylesheets/active_admin/mixins/_variables.scss` in the
// Active Admin source.
//
// For example, to change the sidebar width:
// $sidebar-width: 242px;
// Active Admin's got SASS!
@import "active_admin/mixins";
@import "active_admin/base";
//*= require trix
.trix-button--icon-attach{
display: none
}
// Overriding any non-variable SASS must be done after the fact.
// For example, to change the default status-tag color:
//
// .status_tag { background: #6090DB; }

View File

@@ -0,0 +1,205 @@
p{
margin: 0px;
padding: 0px;
}
@font-face {
font-family: 'wild';
src: url('wildgrowth-webfont.woff2') format('woff2'),
url('wildgrowth-webfont.woff') format('woff');
font-weight: normal;
font-style: normal;
}
body {
padding: 20px;
font-family: 'Fira Sans', monospace;
background-color: #fff;
color: #4c4e4d;
background-image: url(bg.png);
background-repeat: repeat;
background-attachment: fixed;
}
a{
text-decoration: none;
color: #4c4e4d;
}
a:hover {
color:black;
}
#temas{
display: inline-block;
padding-right: 40px;
float: left;
width: 300px
}
.tema{
display: block;
background-color: #12d612d1;
margin: 5px;
padding: 2px;
padding-left: 10px;
padding-right: 10px;
color: black;
font-size: 14px;
padding-top: 4px;
text-decoration: none;
}
.tema:hover{
color: white;
background-color: green;
cursor: pointer;
}
.content{
display: contents;
color: black;
}
.content:hover{
color: white
}
.right{
float: right;
padding-left: 20px;
}
.logo{
font-family: "wild";
font-size: 30px;
padding-left: 50px;
letter-spacing: 3px;
text-shadow: 9px 5px 5px #0061226e;
user-select: none;
font-weight: bold;
}
.logo_img{
width: 215px;
padding: 3px 0px 0px 15px;
}
.texto{
font-size: 14px;
padding: 10px 10px 10px 0px;
background-color: white;
margin-top: 15px;
/* padding: 10px; */
border: 1px solid #80808036;
padding: 15px;
margin-bottom: 15px;
box-shadow: 5px 4px 14px 0px #80808038;
}
.texto>p{
margin-bottom: 10px;
line-height: 18px
}
#busca{
display: inline-block;
float: right;
padding-right: 25px;
padding-top: 12px;
}
.busca-btn{
padding: 3px;
border: 1px;
font-weight: 900;
width: 25px;
color: white;
background-color: #006122;
}
.busca-input{
font-family: 'Fira Sans';
padding: 3px;
border: 1px;
background-color: #33f739b0;
width: 190px;
}
#all{
width: 900px;
margin: 0px auto;
margin-top: 50px;
}
.link{
background-color: #ffdb00;
padding: 4px;
line-height: 33px;
display: inline;
font-weight: bold;
}
.tag{
display: inline-block;
padding: 4px;
margin: 3px;
background-color: #d8d4d4;
font-size: 12px;
}
#tags{
text-align: center;
padding: 10px 0px 25px 0px;
}
#informativos{
display: flow-root;
}
.tags{
margin: 2px;
display: inline-flex;
background-color: #d8d4d4b8;
font-size: 12px;
padding: 2px;
font-weight: normal;
}
h2{
margin: 0px
}
h3{
text-align: right;
font-size:15px;
}
#topo{
background-image: linear-gradient(to right, #47a91c, #066f09);
width: 100%;
display: inline-block;
top: 0px;
left: 0px;
position: absolute;
height: 45px;
border-bottom: 1px solid lightgray
}
.card{
/* color: black; */
width: 100%;
border-top: 1px solid lightgray;
padding-top: 10px;
display: inline-block;
background-color: white;
margin-bottom: 8px
}
.date{
font-size: 12px;
color: gray;
padding-top: 10px;
background-color: white;
display: table;
}
#nav{
display: inline-block;
width: 100%;
text-align: center;
padding: 10px;
font-size: 19px;
background-image: linear-gradient(to right, #33f739 , #329c04);
}
#baixo{
background-color: #d3d3d3bf;
font-size: 11px;
width: 100%;
/* bottom: 0px; */
position: fixed;
bottom: 0px;
left: 0px;
padding: 4px;
text-align: center;
}