Skip to content

franchecco/PROJECTS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 

Repository files navigation

This is the PROJECTS to do this summer 2022


🔠 Indice


❓ Descrizione

This is the projects that what I want to do this summer.

  • The languages are:

    Python 1521807738317066240

  • L'output invece sarà simile a questo:


🔀 Python


🌆 SVG

Specifichiamo nel tag SVG, che fa da contenitore all'intero file, la grandezza dell'immagine, la versione del linguaggio SVG e il namespace del file che, anche se opzionale, aiuta a evitare conflitti tra nomi di file SVG.

<svg width="1000" height="500" version="1.1" xmlns="http://www.w3.org/2000/svg">

Creiamo un tag <style> dove saranno contenuti i CSS dell'immagine.

    <defs>
        <style type="text/css">
            rect{
                fill: black;
            }
            .centered_text{
                font-family: 'Inter', sans-serif;
                dominant-baseline:middle;
                text-anchor:middle;
                inline-size: 500px;
                overflow-wrap: break-word;
            }
            .like{
                fill: white;
            }
        </style>
    </defs>

Iniziamo a scrivere il corpo del programma che contiene tutti i testi e le immagini.
Per ora inseriamo l' username, lo screen-name, i likes e i retweet, ovviamente applicando a ognuno dei CSS diversi in base al posizionamento, allo stile, etc; inoltre creiamo anche lo sfondo nero del tweet con un tag <rect>.

<!--!body-->
    <!--! BackGround -->
    <rect width="1000" height="500" x="0" y="0"/>
        <!--! Name -->
        <text x="50%" y="29%" font-size="48" font-weight="bold" fill="#E7E9EA" class="centered_text">
            Elon Musk
        </text>
        <!--! Screen_name -->
        <text x="50%" y="35%" fill="#72777C" font-size="24" class="centered_text">
                @elonmusk
        </text>
        <!--! Likes -->
        <text x="10%" y="10%" fill="white" font-size="24" font-weight="bold" class="centered_text">
            1110242
            <tspan fill="#72777C" font-weight="normal">
                Likes
            </tspan>
        </text>
        <!--! Retweets -->
        <text x="90%" y="10%" fill="white" font-size="24" font-weight="bold" class="centered_text">
            121099
            <tspan fill="#72777C" font-weight="normal">
                Retweets
            </tspan>
        </text>

Il testo del tweet ha bisogno di un attenzione particolare poichè non è possibile mandare a capo automaticamente un testo in SVG, quindi bisogna usare un tag <tspan> che crea una sezione di testo che poi spostiamo una riga sotto attraverso le coordinate.

<!--! Tweet -->
        <text x="50%" y="50%" font-size="36"  fill="#E7E9EA" class="centered_text">
            <tspan x="50%" dy="0em">
                The far left hates everyone, themselves
            </tspan>
            <tspan x="50%" dy="1.2em">
                 included!
            </tspan>
        </text>

Creiamo l'immagine del cuore per il like attraverso un tag <path> che crea una forma seguendo delle istruzioni di movimento; inoltre inseriamo la forma all'interno di un contenitore col tag <g>.
A questo punto spostiamo il contenitore al centro della pagina e lo scaliamo a una dimensione adatta con l'attributo: transform="translate(500 460) scale(0.50 0.50)"; applichiamo anche l'attributo transform="translate(-50 -50)" direttamente alla forma per portarla al centro del contenitore.

<g transform="translate(500 460) scale(0.50 0.50)">
    <path transform="translate(-50 -50)" class="like" d="M92.71,7.27L92.71,7.27c-9.71-9.69-25.46-9.69-35.18,0L50,14.79l-7.54-7.52C32.75-2.42,17-2.42,7.29,7.27v0 c-9.71,9.69-9.71,25.41,0,35.1L50,85l42.71-42.63C102.43,32.68,102.43,16.96,92.71,7.27z">
    </path>
</g>

Aggiungiamo l'animazione del colore del cuore col tag <animate> e lo applichiamo al tag <path> . . .

<g transform="translate(500 460) scale(0.50 0.50)">
    <path transform="translate(-50 -50)" class="like" d="M92.71,7.27L92.71,7.27c-9.71-9.69-25.46-9.69-35.18,0L50,14.79l-7.54-7.52C32.75-2.42,17-2.42,7.29,7.27v0 c-9.71,9.69-9.71,25.41,0,35.1L50,85l42.71-42.63C102.43,32.68,102.43,16.96,92.71,7.27z">
        <animate
            attributeName="fill"
            values="white;red;red"
            dur="0.5s"
            repeatCount="1"
            begin="click"
            fill="freeze"
        />
    </path>
</g>

. . . mentre per l'animazione della dimensione utilizziamo il tag </animateTransform> nel tag <g>

<g transform="translate(500 460) scale(0.50 0.50)">
    <path transform="translate(-50 -50)" class="like" d="M92.71,7.27L92.71,7.27c-9.71-9.69-25.46-9.69-35.18,0L50,14.79l-7.54-7.52C32.75-2.42,17-2.42,7.29,7.27v0 c-9.71,9.69-9.71,25.41,0,35.1L50,85l42.71-42.63C102.43,32.68,102.43,16.96,92.71,7.27z">
        <animate
            attributeName="fill"
            values="white;red;red"
            dur="0.5s"
            repeatCount="1"
            begin="click"
            fill="freeze"
        />
    </path>
    <animateTransform
        attributeName="transform"
        type="scale"
        values="1;1.25;1;1;1"
        dur="0.5s"
        repeatCount="1"
        additive="sum"
        begin="click"
    />
</g>

Infine creiamo l'immagine del profilo dell'utente, tuttavia per questo progetto ci serve un immagine circolare anche se quella fornita da twitter è spesso quadrata, per questo usiamo il tag <clipPath> che crea una forma che andrà a tagliare in modo corretto l'immagine del profilo.

<!--! PFP -->
<circle cx="500" cy="60" r="50" fill="gray" />
<clipPath id="clipCircle">
    <circle r="50" cx="500" cy="60"/>
</clipPath>
<image href="http://pbs.twimg.com/profile_images/1503591435324563456/foUrqiEw_normal.jpg" height="100" width="100" x="450" y="10" clip-path="url(#clipCircle)" />
</svg>

💬 CSV

Il file CSV viene generato dal programma Python, è un formato di file estremamente chiaro e semplice, creato per raccogliere in modo ordinato dei dati:

data_creazione¬Fri Apr 29 12:28:10 +0000 2022
testo_completo¬The far left hates everyone, themselves included!
hashtags¬[]
symbols¬[]
user_mentions¬[]
client¬"<a href=""http://twitter.com/download/iphone"" rel=""nofollow"">Twitter for iPhone</a>"
nome¬Elon Musk
screen_nome¬elonmusk
verified¬True
profile_image_url¬http://pbs.twimg.com/profile_images/1503591435324563456/foUrqiEw_normal.jpg
numero_retweet¬121099
numero_like¬1110242

In questo esempio è usato come separatore tra i dati il carattere '¬' in modo da non incontrare problemi con la virgola (simbolo standard per la separazione dei campi).


💬 Supporto

Nel caso sia necessario dell'supporto potete contattarci attraverso questi link:

Badge Link o Contatto
[Invito](<placeholder
Profilo
Profilo

👨‍💻 Autori

Collaborazione al progetto: TODO:

GitHub o Nome Profilo
Znaidi Rayan rznaidi@fermimn.edu.it
Bini Matteo mail@matteobini.me , binim@fermimn.edu.it
Tardiani Simone stardiani@fermimn.edu.it

About

This are the projects of this summer

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published