WordPress
1. Cos’è un tema di WordPress
Le funzioni dei temi di WordPress
Un tema svolge due macro-funzioni: genera il layout e la componente grafica del sito, e aggiunge funzionalità al core di WordPress. Un tema, quindi, non fornisce solo la veste grafica, ma è anche uno strumento utile a sviluppare la dimensione “comportamentale” di un sito Web, ciò nello stesso modo dei plugin.
Di regola, un tema dovrebbe essere abbastanza generico da poter essere utilizzato per finalità differenti, ma dovrebbe anche offrire alcune funzionalità uniche, cosicché l’utente (o acquirente) possa distinguerlo nella miriade di temi disponibili.
Il file system di WordPress
Dal punto di vista strutturale, WordPress si presenta con una directory principale, contenente file di valenza globale, come il file di configurazione wp-config.php e il file.htaccess, e le tre sub-directory wp-admin, wp-content e wp-includes. Di queste ultime, la prima contiene i file che generano il pannello di amministrazione; la seconda ospita i temi, i plugin, i file lingua e gli allegati ai contenuti del sito; infine, wp-includes contiene una serie corposa di script che aggiungono funzionalità all’istallazione, sia dal lato admin che dal lato front-end.
I temi sono collocati nella directory /wp-content/themes e, nel caso specifico di WordPress, “installare un tema” significa semplicemente caricarlo all’interno di questa directory. Una volta istallato, l’anteprima del tema sarà visualizzata nella pagina denominata “Gestione Temi” del pannello di amministrazione, alla quale si potrà accedere attraverso il percorso di menu “Aspetto > Temi”.
Gli unici file indispensabili perché un tema funzioni sono i file style.css e index.php; di questiil primo non è solo un foglio di stile, ma anche il file in cui vengono memorizzati i metadati necessari al corretto funzionamento del tema stesso. Quella che segue è una parte dell’intestazione del file style.css del magazine theme denominato Twenty Fourteen, il tema predefinito di WordPress per il 2014:
Come anticipato, il secondo file indispensabile per un tema è index.php, questo fornisce il template della pagina iniziale del sito e viene normalmente strutturato in quattro diverse sezioni:
– intestazione;
– contenuti;
– sidebar;
– fondo pagina.
È prassi incorporare il codice che compone le diverse sezioni in file esterni, si avranno così i file header.php, sidebar.php e footer.php. Anche i contenuti della pagina possono essere generati sia all’interno del file index.php, che in template esterni, dipendenti dal formato dell’articolo.
Il file index.php
viene caricato ogni qual volta non esista un template più specifico per il tipo di pagina richiesta, secondo una gerarchia prestabilita, definita Template Hierarchy. In base a questa gerarchia, dei template, quando l’utente accede alla Home Page, WordPress cercherà prima il file home.php
; ma se questo non esiste, sarà caricato il file index.php
. Così, in base alla pagina, un tema potrà essere dotato di un file single.php
, per i singoli articoli,archive.php
, per le pagine di archivio, page.php
, per le pagine statiche, e così via. Mancando questi, sarà sempre caricato index.php
.
WordPress permette anche di creare template pagina, ossia particolari template destinati alle pagine statiche. Sempre all’interno della directory del tema, potranno essere collocati una cartella destinata ai file di lingua, nonché tutti gli script e i fogli di stile necessari allo sviluppo del sito.
La distribuzione dei temi per WorPress
È buona norma progettare un tema avendo come obiettivo la sua distribuzione. Un tema può essere distribuito gratuitamente, al fine di accrescere la reputazione dello sviluppatore o per promuovere una versione a pagamento; oppure può essere distribuito commercialmente e diventare fonte diretta di guadagno. In entrambi i casi, bisogna tener presente che WordPress è rilasciato sotto licenza GPL, la quale prevede che ogni opera derivata venga rilasciata sotto le stesse condizioni.
I temi (e i plugin), quindi, utilizzando le funzioni PHP del framework, vanno considerati come opere derivate, da distribuire secondo la stessa licenza GPL. Se ciò è vero per il codice PHP, non può dirsi altrettanto per il codice CSS e per i file immagine, che non dipendono da WordPress. Questi ultimi tipi di file devono quindi essere considerati opere separate e non derivate.
In conclusione, la licenza GPL non si applica al tema nel suo complesso, ma solo ai file PHP.
2. I template generali in WordPress
Il Codex definisce i template come quei file che controllano il modo in cui vengono rese a video le pagine di WordPress. Ogni pagina viene normalmente strutturata in sezioni, ognuna delle quali è generata da un determinato template, incorporato nella pagina principale grazie a specifiche funzioni del framework, definite template tag.
La struttura di una pagina
In WordPress una pagina si struttura in quattro blocchi: intestazione (header), corpo della pagina (content), una o più aree dedicate ai widget (sidebar), fondo pagina (footer). Nel caso delle pagine dedicate a singoli articoli, va prevista un’area aggiuntiva destinata ai commenti.
In PHP, la funzione include() incorpora all’interno di uno script il contenuto di un file esterno; quando si sviluppa un tema di WordPress, però, al posto di include() è opportuno utilizzare funzioni specifiche del framework che permettono di inserire con maggior sicurezza e semplicità i template che costituiscono le parti della pagina. L’immagine che segue mostra il file index.php del Blank Theme di HTML5 Reset, cui si farà spesso riferimento:
Le funzioni get_header(), get_sidebar() e get_footer() sono Template Tags e hanno lo scopo specifico di includere dinamicamente i template generali header.php, sidebar.php efooter.php. I contenuti della pagina, invece, vengono generati da un ciclo iterativo definito Loop che si presenta in questo modo:
All’interno del Loop vengono invocati altri template tags, tramite i quali si accede al database e si manda l’output a video.
Header
Il template tag get_header() include il template header.php. Se esiste un template più specifico per il tipo di pagina, questo andrà nominato header-{name}.php, e alla funzione andrà passata la stringa name come argomento: get_header( ‘name’ ). La home page del sito, ad esempio, potrebbe avere un’intestazione specifica nel template header-home.php, che andrebbe inclusa con get_header( ‘home’ ).
Il file header.php contiene l’intestazione del documento HTML, con i vari tag meta, link escript. È il file che genera la parte superiore della pagina con il menu di navigazione. Quello che segue è il codice di un header.php notevolmente semplificato:
Come gli altri template generali, il file header.php
utilizza i tag del core per recuperare informazioni dal database e con queste generare la struttura HTML della pagina. Oltre ai template tag, nell’header della pagina andrebbe sempre invocata la funzione wp_head()
, da inserire prima della chiusura del tag head
(ci si riferisca al Codex per i dettagli).
Sidebar
La sidebar è un contenitore di blocchi di codice HTML – definiti widget – che contengono informazioni correlate ai contenuti del sito Web. In una pagina possono essere inserite diverse sidebar, ognuna collocata in un’area diversa. La sidebar viene generata dal file sidebar.php
, o da più specifici file sidebar-{name}.php
, e incorporata nei template del sito grazie al template tag get_sidebar()
(maggiori info nel Codex). Nel caso di template specifici, alla funzione andrà passata la stringa 'name'
. Ecco un generico sidebar.php
:
Footer
Il footer è la parte inferiore della pagina del sito. Questa spesso contiene informazioni aggiuntive, note di copyright, form di ricerca. Vista l’eterogeneità delle informazioni, spesso nel footer trova posto un’ulteriore sidebar, sempre incorporata dal template tag get_sidebar().
Il footer deve sempre contenere un richiamo alla funzione wp_footer(), da collocare subito prima della chiusura del body, come illustrato nel Codex.
Riferimenti del Codex
Il Codex è il riferimento ufficiale e imprescindibile per chiunque voglia sviluppare su WordPress, e al Codex si farà frequente rinvio in questa guida. Qui si troverà l’elenco completo dei template tags e l’indice delle risorse relative ai template. Altra risorsa indispensabile è l’articolo Stepping into templates.
3. I template files di WordPress
Quando l’utente clicca su una voce di menu, il client invia al server una query string in base alla quale WordPress seleziona i contenuti dal database e sceglie il template da utilizzare per generare la pagina, seguendo la rigorosa logica della Template Hierarchy.
Il Loop: introduzione
Sebbene non esistano regole generali sulla struttura che deve avere un template file, generalmente questo non manca dei tag get_header(), get_sidebar() e get_footer(), che includono le parti della pagina e del ciclo iterativo (Loop) che accede al database e lancia a video i contenuti:
Il Loop genera quindi un elenco di articoli, il cui markup dipende dalle decisioni di chi sviluppa il tema. Per ogni articolo potrà essere visualizzato un estratto del contenuto principale o un testo alternativo (excerpt); potrà essere visualizzata o meno un’immagine di anteprima (post thumbnail); potranno essere visualizzate le categorie, i tag, la data di pubblicazione, l’autore e tutti i possibili metadati. Tutte queste opzioni devono essere attentamente vagliate quando si progetta un tema.
Quelli che seguono sono i principali template da tenere in considerazione quando si progetta un tema.
Il file index.php
index.php costituisce il template principale di un tema, sebbene sia allo stesso tempo quel template cui WordPress ricorre solo come soluzione di fallback, ossia quando mancano template specifici per il tipo di richiesta del client.
Proprio per questa sua caratteristica, il file index.php deve essere adatto a generare ogni tipo di pagina, dagli archivi di notizie, agli articoli singoli fino alle pagine statiche.
Gli archivi di notizie
Per WordPress un archivio è un elenco di post. L’utente può chiedere i post pubblicati in un dato periodo, creati da un determinato autore, appartenenti ad una certa categoria, o etichettati con uno specifico tag. In tutti questi casi viene richiesta una pagina d’archivio. Qualora non esista un template più specifico per il tipo di pagina richiesta, WordPress cercherà il generico file di archivio archive.php (in mancanza del quale tornerà al file index.php).
Normalmente il template archive.php è simile al file index.php, avendo anch’esso lo scopo di fornire un elenco di articoli.
I template specifici: categorie, tag, autori
Esistono numerosi tipi di archivi, e WordPress permette di creare una pagina specifica per ognuna delle varie tipologie. Si avranno, quindi, i seguenti template:
author.php
category.php
date.php
tag.php
taxonomy.php
La specificità può essere ancora maggiore: è possibile creare, infatti, template diversi per ogni categoria/autore/tag/tassonomia, aggiungendo un suffisso al nome del file. Così, ad esempio, per le categorie si avranno i seguenti template:
category.php
category-$id.php
category-$slug.php
Allo stesso modo, per i tag si avrà:
tag.php
tag-$id.php
tag-$slug.php
L’elenco dei template è lungo, e si rinvia ancora al Codex per ogni utile approfondimento.
Post singoli e pagine statiche
Oltre che per gli archivi, è possibile creare template adatti alla visualizzazione di singoli contenuti, che possono essere articoli del blog, pagine statiche, attachment, e post personalizzati.
In questo caso la struttura del template sarà sensibilmente diversa dai file di archivio, sebbene in entrambi i casi saranno presenti i tag get_header(), get_sidebar() e get_footer(), oltre che, ovviamente, il Loop, che in questo caso manderà a video un solo elemento.
Per i singoli contenuti, WordPress dispone dei seguenti template:
attachment.php
page.php
single.php
custom.php
Anche questa volta è possibile creare template più specifici. Nel caso dei post, avremo:
single.php
single-$post.php
single-$posttype.php
Come prima, si rinvia al Codex per la descrizione analitica dei template
.
Altri template
WordPress dispone di altri template, che vanno a completare il mosaico permettendo un controllo assoluto dell’aspetto del sito.
I template front-page.php e home.php sono utilizzati per la visualizzazione della pagina iniziale: il primo nel caso di una pagina statica, il secondo nel caso in cui si voglia un template più specifico del file index.php;
Il template 404.php è destinato alle pagine di errore;
search.php mostra i risultati di una ricerca interna al sito;
comments-popup.php genera una finestra di popup per i commenti.
Conclusioni e riferimenti
Si è voluta offrire una panoramica dei template file di WordPress e si è fatto riferimento ai seguenti articoli del Codex:
Stepping into Templates
Templates
Template Hierarchy
Theme Development
4. I file style.css e functions.php nei temi di WordPress
Un tema dispone sempre di un file style.css, richiesto obbligatoriamente da WordPress, e di un file functions.php, che, sebbene non strettamente necessario per i temi, è fondamentale qualora si debbano aggiungere funzionalità al core del CMS.
Il file style.css
È molto di più di un foglio di stile. Il file, infatti, fornisce a WordPress tutte le informazioni necessarie a gestire il tema: nome, autore, descrizione, licenza, e molto altro. L’immagine seguente mostra l’intestazione del file style.css del tema Twenty Fourteen:
I metadati che compongono l’intestazione del file style.css devono essere forniti all’interno di un commento. Particolare attenzione va posta al nome del tema, che deve sempre essere univoco. Nel caso dovessero essere istallati due temi con lo stesso nome, infatti, WordPress non potrebbe gestirli correttamente.
Quello che segue è l’elenco degli Header-Names che possono essere utilizzati nel foglio di stile:
Author
Author URI
Description
Domain Path
Status
Tags
Template
Text Domain
Theme Name
Theme URI
Version
Le intestazioni possono essere estese con l’aggiunta di altri nomi alla lista appena vista, come ad esempio Licence e License URI (a tal proposito si veda come esempio il tema Twenty Fourteen). Non tutti gli Header-Names sono indispensabili; per la corretta gestione del tema, però, è necessario prevedere almeno i nomi che consentano di individuarlo e descriverlo.
È importante ricordare che ogni coppia nome/valore va collocata su un rigo singolo e viene separata dal simbolo dei due punti (“:”), maggiori informazioni sulle regole da seguire per l’intestazione del foglio di stile sono disponibili nel Codex. Nel caso si stia sviluppando unChild Theme, cioè un tema derivato da un tema principale (Parent Theme), il foglio di stile deve contenere anche un riferimento al tema principale, individuato dal nome Template. Nell’immagine che segue, si riporta, a titolo di esempio, l’intestazione del foglio di stile di un Child Theme basato su Twenty Fourteen.
Il file functions.php
Sebbene, come anticipato, non sia strettamente necessario, il file functions.php
è presente nella quasi totalità dei temi. Questo permette di estendere il core di WordPress con quelle funzionalità che spesso vengono aggiunte tramite plugin. Ciò avviene sia attraverso la definizione di nuove funzioni, sia utilizzando le funzioni del framework. Il file consente, inoltre, di attivare tutte quelle funzionalità che sono specifiche dei temi, come i post thumbnail, i menu personalizzati, le aree destinate ai widget. La figura proposta di seguito mostra un estratto del codice del file functions.php
del tema twenty Fourteen:
Una differenza da sottolineare tra il file functions.php di un tema e lo script principale di un plugin è che le funzionalità aggiunte dal primo si applicano solo se il tema è attivo; al contrario, le funzionalità di un plugin vengono aggiunte al core indipendentemente dal tema attivo. Ilfunctions.php è inoltre il file in cui richiamare quelle funzioni dell’API (Application Programming Interface), comunemente definite filtri e azioni, che estendono le funzionalità di WordPress fino al punto di trasformare un normale sito Web in una vera e propria Web application.
La funzione del file rimane la stessa, sia che si sviluppi un tema, sia che si lavori su un Child Theme. In quest’ultimo caso è opportuno precisare che il functions.php è l’unico file del tema derivato che non sovrascrive il corrispondente file del tema originale, ma viene caricato in aggiunta al suo corrispondente. Più precisamente, il functions.php del Child Theme viene caricato prima del file presente nella directory del parent.
Riferimenti online
Abbiamo fatto riferimento alle seguenti risorse:
Sul file style.css
File Header
Theme Development
Child Themes
CSS
Sul file functions.php
Functions File Explained
Child Themes
I’ve been surfing online greater than three hours lately, but I never found any attention-grabbing article like yours. It’s lovely worth enough for me. In my opinion, if all site owners and bloggers made good content as you did, the internet might be much more helpful than ever before.
Outstanding post however , I was wanting to know if you could write a litte more on this subject? I’d be very grateful if you could elaborate a little bit further. Cheers!
I am now not positive where you’re getting your info, however good topic. I must spend some time learning much more or figuring out more. Thank you for excellent info I was looking for this info for my mission.
I love your blog.. very nice colors & theme. Did you make this website yourself or did you hire someone to do it for you? Plz reply as I’m looking to create my own blog and would like to know where u got this from. cheers
Wow! This can be one particular of the most useful blogs We have ever arrive across on this subject. Actually Excellent. I’m also a specialist in this topic therefore I can understand your effort.
Hi there! Someone in my Myspace group shared this website with us so I came to give it a look. I’m definitely loving the information. I’m bookmarking and will be tweeting this to my followers! Superb blog and outstanding design and style.
Whats up! I simply would like to give a huge thumbs up for the good info you have right here on this post. I will likely be coming back to your blog for more soon.
Hi! I’ve been following your site for some time now and finally got the courage to go ahead and give you a shout out from Lubbock Tx! Just wanted to mention keep up the great job!
I have been reading out many of your posts and i can state pretty clever stuff. I will surely bookmark your website.
Its like you read my mind! You appear to know a lot about this, like you wrote the book in it or something. I think that you can do with a few pics to drive the message home a bit, but other than that, this is excellent blog. An excellent read. I’ll definitely be back.
As a Newbie, I am permanently exploring online for articles that can help me. Thank you
Very good blog! Do you have any hints for aspiring writers? I’m planning to start my own website soon but I’m a little lost on everything. Would you suggest starting with a free platform like WordPress or go for a paid option? There are so many choices out there that I’m completely confused .. Any ideas? Thank you!
Excellent article, I hope to see many more .TY
Does your blog have a contact page? I’m having trouble locating it but, I’d like to shoot you an e-mail. I’ve got some ideas for your blog you might be interested in hearing. Either way, great blog and I look forward to seeing it expand over time.
Have you ever thought about creating an ebook or guest authoring on other websites? I have a blog based upon on the same ideas you discuss and would really like to have you share some stories/information. I know my subscribers would appreciate your work. If you are even remotely interested, feel free to shoot me an email.
Hi there to every one, because I am truly keen of reading this webpage’s post
to be updated regularly. It consists of fastidious information.Is very beautifull
Magnificent goods from you, man. I’ve understand your stuff previous to and you’re just extremely fantastic. I actually like what you’ve acquired here, certainly like what you are stating and the way in which you say it. You make it entertaining and you still care for to keep it sensible. I cant wait to read much more from you. This is really a great website.
I love your blog.. very nice colors & theme. Did you design this website yourself or did you hire someone to do it for you? Plz answer back as I’m looking to design my own blog and would like to know where u got this from. many thanks
I take pleasure in, cause I discovered just what I was having a look for. You have ended my 4 day long hunt! God Bless you man. Have a great day. Bye
Super-Duper website! I am loving it!! Will be back later to read some more. I am taking your feeds also.
Hello I am so grateful I found your blog page, I really found you by accident, while I was searching on Google for something else, Anyways I am here now and would just like to say many thanks for a remarkable post and a all round thrilling blog (I also love the theme/design), I don’t have time to look over it all at the moment but I have saved it and also added in your RSS feeds, so when I have time I will be back to read much more, Please do keep up the awesome work.
Good day I am so glad I found your blog page, I really found you by accident, while I was researching on Askjeeve for something else, Anyways I am here now and would just like to say thank you for a marvelous post and a all round exciting blog (I also love the theme/design), I don’t have time to read through it all at the moment but I have book-marked it and also included your RSS feeds, so when I have time I will be back to read a great deal more, Please do keep up the awesome job.
I’m so happy to read this. This is the kind of manual that needs to be given and not the accidental misinformation that is at the other blogs. Appreciate your sharing this best doc.
Excellent way of describing, and good piece of writing to get information regarding my presentation subject
matter, which i am going to convey in academy.
Hi there, I found your website by way of Google while trying to find a relevant topic, your
website came up, it looks fantastic. I have bookmarked it in my
google bookmarks.
Nice to be visiting your blog once again. Great this post.
Many thanks for sharing.
Great site!
posts are well written. I’m wondering how I could be notified whenever a new post has been created.
I have subscribed to your RSS which must do the trick!
Have a great day!
Hello mate, This was an excellent post for such a hard topic to discuss.
I look forward to seeing a lot more fantastic posts like this one.
Thank you.
Hello there! I have to admit, I’m amazed with your website.
I had no trouble navigating through all the information. I discovered what I
needed in no time at all. Pretty amazing. Would appreciate it in case you add forums or something,
it would be a great means for your clients and various other visitors to
interact. Good job.
Thanks for giving outstanding informations. Your web-site is really cool.
I’m amazed by the details that you simply have on this web site.
It shows how nicely someone perceives this subject. Bookmarked this
web site, will keep coming back for more articles.
You, my good friend, ROCK!
It’s actually a nice and helpful piece of information. I am glad that you shared this useful info with us. Please keep us up to date like this. Thanks for sharing.
Spot on with this write-up, I really feel this amazing site needs a lot more attention. I’ll probably be back again to see more, thanks for the information!|
Awesome post.|
Amazing blog! Do you have any tips and hints for aspiring writers? I’m planning to start my own site soon but I’m a little lost on everything. Would you advise starting with a free platform like WordPress or go for a paid option? There are so many options out there that I’m completely confused .. Any tips? Thank you!
Thank you for sharing excellent informations. Your site is so cool. I am impressed by the details that you’ve on this website. It reveals how nicely you understand this subject. Bookmarked this web page, will come back for more articles. You, my friend, ROCK! I found simply the info I already searched everywhere and simply could not come across. What a great web site.
What’s up, its nice piece of writing on the topic of media print, we all be familiar with media is a impressive source of information.|
Wow, that’s what I was looking for, what a data! present here at this webpage, thanks admin of this web page.|
You are so cool! I do not suppose I’ve truly read a single thing like this before. So great to discover another person with some unique thoughts on this issue. Seriously.. thanks for starting this up. This web site is one thing that is needed on the web, someone with some originality!|
Hello I am so glad I found your webpage, I really found you by mistake, while I was searching on Digg for something else, Nonetheless I am here now and would just like to say thanks for a tremendous post and a all round thrilling blog (I also love the theme/design), I don’t have time to go through it all at the moment but I have saved it and also included your RSS feeds, so when I have time I will be back to read a lot more, Please do keep up the great work.
—————————————————————————————
Thank you very much from Italy – Alessio
Outstanding post however , I was wondering if you could write a litte more on this topic? I’d be very grateful if you could elaborate a little bit more. Kudos!
————————————————————————————-
Thanks from Italy – Alessio
Thanks for finally talking about
————————————————————————————–
Thanks from Italy – Alessio
It’s difficult to find well-informed people in this particular subject, however, you seem like you know what you’re talking about! Thanks|
—————————————————————————————–
Thanks from Italy – Alessio
What’s up, its good article about media print, we all be aware of media is a impressive source of facts.|
——————————————————————————————-
Thanks from Italy – Alessio
Awesome blog! Is your theme custom made or did you download it from somewhere? A theme like yours with a few simple adjustements would really make my blog stand out. Please let me know where you got your design. Bless you|
————————————————————————————————-
Thanks from Italy – Alessio
Heya i am for the first time here. I found this board and I find It truly useful & it helped me out much. I hope to give something back and help others like you aided me.
_______________________________________________________________________________________
THANKS FROM ITALY – ALESSIO
Hi i am kavin, its my first occasion to commenting anyplace, when i read this piece of writing i thought i could also make comment due to this sensible article.
__________________________________________________________________________________________
TY Kavin from Alessio Italy
___________________________
My brother recommended I might like this blog. He was totally right. This post actually made my day. You can not imagine simply how much time I had spent for this info! Thanks!
______________________________________________________________________________________________
Thanks from Italy —————————————————————————-
whoah this blog is great i love studying your posts. Stay up the good work! You already know, many persons are hunting round for this information, you could aid them greatly.
____________________________________________________________________________________________
Thanks from Italy ————————————————————————–
Hi mates, its great piece of writing regarding educationand completely explained, keep
it up all the time.
________________________________________________________________________________
Thanks from Italy ————————————————————–
I am extremely impressed with your writing skills as well as with the layout on your weblog.
Is this a paid theme or did you customize it yourself?
Anyway keep up the excellent quality writing, it is rare to
see a great blog like this one today.
____________________________________________________________________________________________
I thank you for the appreciations, too kind, my blog is self-managed, personalized, I’m glad that you like the layout you have created yourself. I love making a writing “creative”!
FROM ITALY – ALESSIO
——————————————————————————————–
Fantastic site. Lots of useful information here. I’m sending it to several pals ans additionally sharing in delicious. And naturally, thanks on your sweat!
________________________________________________________________________________________________
I thank you for the appreciation and I must say that my sweat is well spent for friends who like it like you !!!
Thank you very much – ALESSIO – From Italy
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
Hello There. I found your blog the use of msn. This is a very well written article. I’ll be sure to bookmark it and come back to learn extra of your useful information. Thank you for the post. I will definitely comeback.
_______________________________________________________________________________________________
Thank you FROM ITALY – ALESSIO
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
I like the valuable information you provide in your articles. I will bookmark your weblog and check again here regularly. I’m quite sure I’ll learn lots of new stuff right here! Good luck for the next!
_______________________________________________________________________________
THANK Y. FROM ITALY
<<<<<<<<<<<<<<<<<<<
Hey I know this is off topic but I was wondering if you knew of any widgets I could add to my blog that automatically tweet my newest twitter updates. I’ve been looking for a plug-in like this for quite some time and was hoping maybe you would have some experience with something like this. Please let me know if you run into anything. I truly enjoy reading your blog and I look forward to your new updates.
_____________________________________________________________________________________
THANK Y. FROM ITALY
<<<<<<<<<<<<<<<<<<<
Because the admin of this web page is working, no question very shortly it will be renowned, due to its feature contents.
_________________________________________________________________________________________
THANK YOU FROM ITALY
<<<<<<<<<<<<<<<<<<<<
Great article! That is the kind of info that are meant to be shared across the web. Disgrace on Google for not positioning this put up upper! Come on over and discuss with my site . Thank you =)
____________________________________________________________________________________________
THANK YOU FROM ITALY
<<<<<<<<<<<<<<<<<<<<
My family every time say that I am wasting my time here at web, but I know I am getting know-how all the time by reading such good content.
______________________________________________________________________________________
Thank Y. From Italy
<<<<<<<<<<<<<<<<<<<
Heya i am for the primary time here. I found this board and I find It truly useful & it helped me out a lot. I am hoping to provide one thing again and aid others like you helped me.
_____________________________________________________________________________________________
THANK YOU FROM ITALY – Alessio
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
I think the admin of this site is in fact working hard in favor of his web page, because here every data is quality based information.
_______________________________________________________________________________________
Thank from Italy
<<<<<<<<<<<<<<<<
My brother recommended I would possibly like this web site. He was once entirely right. This publish truly made my day. You can not consider just how so much time I had spent for this info! Thanks!|
____________________________
Thank you from Italy
<<<<<<<<<<<<<<<<<<<<
I got this web site from my friend who informed me about this website and at the moment
this time I am browsing this web page and reading very informative content at this time.
_______________________________________________________________________________________
Thank you from Italy
<<<<<<<<<<<<<<<<<<<<
Have you ever thought about including a little bit more than just your articles? I mean, what you say is valuable and everything. However just imagine if you added some great visuals or videos to give your posts more, “pop”! Your content is excellent but with pics and video clips, this blog could definitely be one of the best in its field. Wonderful blog!
_______________________________________________________________________________________________________________________________________________________________
Thank You from Alessio – Italy
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
I found this site as a best web page for hottest updates.
_________________________________________________________
Thank You from Italy
<<<<<<<<<<<<<<<<<<<<
Is a fantastic source of facts.
________________________________________________
Thank You from Italy
<<<<<<<<<<<<<<<<<<<<
I do not even know how I ended up here, but I thought this post was great. I do not know who you are but certainly you are going to a famous blogger if you are not already 😉 Cheers!
_____________________________________________________________________________________________________________________________________________________________
Thank you very much from Italy – Alessio
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
Hello there, There’s no doubt that your blog might be having browser compatibility issues. Whenever I take a look at your web site in Safari, it looks fine but when opening in Internet Explorer, it has some overlapping issues. I merely wanted to give you a quick heads up! Apart from that, fantastic blog!
____________________________________________________________________________________________
Thank you from Italy
<<<<<<<<<<<<<<<<<<<<
I’m not sure exactly why but this website is loading very slow for me. Is anyone else having this problem or is it a problem on my end? I’ll check back later on and see if the problem still exists.
_________________________________________________________________________________________
The problem is only yours ! Photos are < 100 K ALESSIO <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
Currently it seems like WordPress is the best blogging platform available right now. (from what I’ve read) Is that what you are using on your blog?
____________________________________________________________________________________________
Yes,it’s true!
Alessio
<<<<<<<<<<<<<<
Hi friends, pleasant post and pleasant arguments commented here, I am truly enjoying by these.
It is not my first time to pay a visit this web site, i am visiting this web page dailly and take fastidious data from here daily.
This site certainly has all the info I needed concerning this subject and didn’t know who to ask. |
You really make it seem so easy with your presentation but I find this matter to be really something which I think I would never understand. It seems too complicated and very broad for me. I’m looking forward for your next post.
Hi to every body, it’s my first visit of this blog; this webpage contains amazing and actually good material for readers.
__________________________________________________________________________________________________________________________
TY – Alessio
Good post however , I was wondering if you could write a litte more on this topic? I’d be very thankful if you could elaborate a little bit more. Kudos!
__________________________________________________________________________________________________________________________________
If you want to know more about the topic you have to look on “Informatica – 2°”
Alessio
Keep this going please, great job!
_________________________________
TY.
Nice post. I was checking continuously this blog and I am impressed! Very helpful info specially the last part
I care for such info a lot. I was seeking this particular info for a very long time. Thank you and best of luck.
__________________________________________________________________________________________________________________________________________________________
Thank you from Italy
<<<<<<<<<<<<<<<<<<<<
Hey there, just became alert to your blog through Google, and found that it’s truly informative.
I’ll be grateful if you continue this in future. Loads of folks will be taking advantage of your writing.
All the best!
_____________________________________________________________________________________________________
Thank you very much from Italy – Alessio
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
Fantastic post!
Admiring the persistence you put into your blog and detailed information you provide. It’s good to come across a blog every once in a while that isn’t the same unwanted rehashed material. Great read! I’ve saved your site and I’m adding your RSS feeds to my Google account.
___________________________________________________________________________________________________
Thank you from Italy
<<<<<<<<<<<<<<<<<<<<
Thank you for sharing superb informations. Your website is very cool. I am impressed by the details that you’ve on this blog. It reveals how nicely you perceive this subject. Bookmarked this web page, will come back for extra articles. You, my friend, ROCK! I found simply the information I already searched everywhere and simply couldn’t come across. What a great site.
______________________________________________________________________________________________
Thank you from Italy
<<<<<<<<<<<<<<<<<<<<
A lot of thanks for your own hard work on this web site. My niece loves managing internet research and it’s really easy to understand why. Most of us notice all relating to the lively way you offer vital tactics through the web blog and even improve contribution from others on that theme so my princess is certainly studying so much. Enjoy the remaining portion of the year. Your conducting a stunning job.
__________________________________________________________
Thank you from Italy
<<<<<<<<<<<<<<<<<<<<
Hello, I check your new stuff regularly. Your story-telling style is awesome, keep it up!
____________________________________________________
T.Y.
<<<<<
Thanks on your marvelous posting! I actually enjoyed reading it, you could be a great author. I will make certain to bookmark your blog and will often come back someday. I want to encourage you to definitely continue your great work, have a nice holiday weekend!
________________________________________________________________
Thank You from Italy
<<<<<<<<<<<<<<<<<<<<
Heya i am for the first time here. I found this board and I find It truly useful & it helped me out a lot. I hope to give something back and help others like you helped me.
_____________________________
Thank Y.
<<<<<<<<
Hi! Someone in my Facebook group shared this website with us so I came to give it a look. I’m definitely enjoying the information. I’m book-marking and will be tweeting this to my followers! Wonderful blog and amazing design and style.
_______________________________________________________________________________
Thank You from Italy – Alessio
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
I wanted to thank you for this excellent read!! I certainly loved every little bit of it. I have got you book marked to check out new things you post…
___________________________________________________________________________________
Thank You very much – Alessio
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
Hey! This is my first comment here so I just wanted to give a quick shout out and tell you I truly enjoy reading through your posts. Can you recommend any other blogs/websites/forums that cover the same topics? Appreciate it!
__________________________________________________________________________
THANK YOU from Italy
<<<<<<<<<<<<<<<<<<<<
Hi there, I enjoy reading through your article. I wanted to write a little comment to support you.
___________________________________________________________________
Thank You very much from Alessio – Italy
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
I’m not that much of a online reader to be honest but your blogs really nice, keep it up! I’ll go ahead and bookmark your website to come back in the future. Cheers
____________________________________
Thank Y.
<<<<<<<<
Your way of explaining everything in this post is actually pleasant, all be able to effortlessly understand it, Thanks a lot.
___________________________________________________________
Thank you from Italy
<<<<<<<<<<<<<<<<<<<<
I’m really impressed with your writing skills
as well as with the layout on your weblog. Is this a paid theme or did you modify
it yourself? Either way keep up the nice quality writing, it is rare to see a nice blog like this one these days.
_______________________
T.Y.
<<<
Hi there! I could have sworn I’ve been to this site before but after checking through some of the post I realized it’s new to me. Anyhow, I’m definitely happy I found it and I’ll be bookmarking and checking back often!
_________________________________________________________________
T.Y. – from Italy
<<<<<<<<<<<<<<<<<
What’s up Dear, are you in fact visiting this web page daily, if so then you will absolutely obtain nice know-how.
______________________________________________________________________
Thank You from Italy
<<<<<<<<<<<<<<<<<<<<
It’s difficult to find experienced people on this topic, but you sound like you know what you’re talking about!
Thanks
__________________________________________
Thanks from Italy
<<<<<<<<<<<<<<<<<
Peculiar article, totally what I needed.
_____________________
T.Y.
<<<<
whoah this blog is magnificent i love studying your articles. Stay up the great work! You understand, lots of individuals are searching round for this information, you could aid them greatly.
_________________________________
Thank you
<<<<<<<<<
It’s actually a great and useful piece of info. I am happy that you just shared this useful information with us. Please stay us up to date like this. Thanks for sharing.
___________________________________
Thank you
<<<<<<<<<
This is very interesting, You are an excessively professional blogger. I have joined your feed and look forward to seeking more of your magnificent post. Additionally, I’ve shared your website in my social networks
____________________________________________________________
Thank Y. from Italy
<<<<<<<<<<<<<<<<<<<
Hi, I do believe this is an excellent site. I stumbledupon it 😉 I am going to revisit yet again since I bookmarked it. Money and freedom is the greatest way to change, may you be rich and continue to help other people.
_______________________
Thank you
<<<<<<<<<
That is very interesting, You’re a very professional blogger. I have joined your feed and look forward to searching for extra of your wonderful post. Also, I’ve shared your web site in my social networks
________________________________
T.Y.
<<<<
For latest information you have to visit the web and on the web I found this web site as a most excellent web site for most up-to-date updates.
________________________
T.Y.
<<<<
Hello, after reading this awesome paragraph i am too happy to share my experience here with mates.
______________________________________________
Thank you very much from Italy
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
whoah this blog is magnificent i like reading your articles. Keep up the good work! You realize, a lot of persons are hunting round for this info, you could help them greatly.
____________________________
T.Y.
<<<<<
Hi it’s me, I am also visiting this website regularly, this site is actually fastidious and the people are really sharing good thoughts.
_____________________________
T.Y.
<<<<
Have you ever thought about adding a little bit more than just your articles? I mean, what you say is important and everything. Nevertheless think about if you added some great visuals or videos to give your posts more, “pop”! Your content is excellent but with images and videos, this blog could definitely be one of the most beneficial in its field. Excellent blog!
___________________________________________
Thank you
<<<<<<<<<
Write more, thats all I have to say. Literally, it seems as though you relied on the video to make your point. You definitely know what youre talking about, why waste your intelligence on just posting videos to your blog when you could be giving us something enlightening to read?
________________________________
T.Y.
<<<<
Wonderful blog! I found it while browsing on Yahoo News. Do you have any tips on how to get listed in Yahoo News? I’ve been trying for a while but I never seem to get there! Appreciate it
_______________________
T.Y.
<<<<
Can you recommend a good web hosting provider at a reasonableprice? Kudos, I appreciate it!
______________________________________________________________________________
ARUBA ——
Thank you very much from Italy
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
I am really impressed with your writing skills and also with the layout on your weblog. Is this a paid theme or did you modify it yourself? Anyway keep up the nice quality writing, it’s rare to see a great blog like this one nowadays.
___________________________________________
Thank you
<<<<<<<<<
We are a group of volunteers and starting a new scheme in our community. Your site provided us with valuable information to work on. You have done an impressive job and our entire community will be thankful to you.
___________________________________
Thank you
<<<<<<<<<
If you are going for best contents like myself, simply pay a quick visit this site every day since it offers feature contents, thanks
___________________________
T.Y.
<<<<
I’m extremely inspired together with your writing abilities as well
as with the layout to your blog. Is this a paid subject matter or did you modify it yourself?
Anyway keep up the nice quality writing, it’s rare to see a great blog like this
one nowadays.
________________________________________________
Thank you from Italy
<<<<<<<<<<<<<<<<<<<<
I needed to thank you for this very good read!! I absolutely loved every bit of it.
I have got you book-marked to look at new stuff you post?
___________________________________
Thank you
<<<<<<<<<
Hello there, You have done an incredible job. I will certainly digg it and personally
suggest to my friends. I am confident they’ll be benefited
from this web site.
______________________________–
Thank a lot from Italy
<<<<<<<<<<<<<<<<<<<<<<
You’re so interesting! I do not think I’ve read through
a single thing like that before. So good to discover
somebody with some unique thoughts on this subject matter.
Really.. thanks for starting this up. This web
site is one thing that’s needed on the internet, someone with a bit of originality!
___________________________________
Thanks a lot from Italy
<<<<<<<<<<<<<<<<<<<<<<<
This is a great blog i must say, I usually i don’t post remarks on many other
blogs however would like to say that this post truly forced me
______
TY
I saw your content some time back and saved it to my computer.
Only recently have I got a opportunity to check it and I must tell you great work.really very good content, i definitely adore this website,
continue the good work.
——
TY
Hi! Excellent content articles here. please do keep us posted.
______
TY
I simply want to say I’m new to blogging and site-building and absolutely savored this web site. Almost certainly I’m planning to bookmark your blog post . You absolutely have beneficial articles. Many thanks for sharing your website.
_______
TY
I just want to mention I’m new to blogging and definitely loved this blog site. Probably I’m planning to bookmark your website . You surely have good writings. Thanks a lot for revealing your web site.
great design and style and excellent post.
When I were the one having to write this content, all these
readers would be upset. It’s a good thing you are the writer and you
provide new creative ideas to us all. This is compelling.
—–
TY
Good day! Excellent piece of writing! I really enjoy the way
you outlined WordPress – 1°
Nice one for this one well-arranged guide all-around WordPress – 1°
Wonderful!
Hello, I desire to subscribe for this weblog to obtain latest updates, thus where can i do it please help out.
Complex but well-exposed content
It was fantastic discovering your site the other day. I arrived here nowadays hunting something
totally new. I wasn’t frustrated. Your ideas after new approaches
on this thing have been helpful plus a great help to me personally.
We appreciate you having time to write out these items and then for sharing your thoughts.
What’s up, its pleasant piece of writing concerning media print,
we all be familiar with media is a impressive source of
data.
____
TY
Tenho certeza que isso pedaço de escrita tocou em toda a internet visitantes, sua realmente bom n. na construção
de novos weblog .
____
TY
Wow, marvelous blog layout! How long have you been blogginng
for? you made blogging look easy. Thee overall look of
your web site is wonderful, as well as the content!
____
TY
I will immediately clutch your rss feed as I can not to find your email subscription link or newsletter service.
Do you have any? Please permit me realize so that I could subscribe.
Thanks.
Hello there! Impressive post!
Thank yy᧐u foг the goоd writeup. It in reality
ѡas onbce a enjoyment account it. Glance complex to more introduced agreeable from you!
By the way, how could we keep up a correspondence?
Hi there mɑtes, good post and nice arguments commented here, I am truly enjoying by these.
Hello, I enjoy reading all of your article post. I
like to write a little comment to support you.
I neеded to thank yoou for this wonderful read!!
I certainly enjoyed every little bit of it. I’ve got you book marked
tⲟ check out new things you ρoѕt…
Anyways,
just wanted to say excellent blog!
Way cool! Some very valid points! I appreciate you penning this article plus the rest of the site iss really good.
Eνeryone loves it whеn folks coјe tоgether and share viewѕ.
Great site, keep it up!
Tremendous things here. I’m very happy to see your post.
Thanks a lot and I’m looking ahead to touch you. Will you kindly drop
me a e-mail?
Hello! Terrific blog post! I love the method outlined WordPress – 1° . Awesome!
This article is extremely attractive to people like me.
It’s not just thought-provoking, it attracts you in right away.
This is well-written articles. The views here
are also appealing to me. Thanks.
Thanks so much for sharing all of the amazing
info! I am looking forward to going over more posts!
Thank you for such a fantastic blog. Where else could anyone obtain that kind of info written in such a great way?
I have a presentation that i’m presently working on, and
I happen to be searching for such information.Thanks for blogging and i enjoy
your articles.
I’m blessed that I discovered this web site,
simply the right info that I was searching for!
____
TY
whoah thiѕ blog is fantastiϲ i eally like studying your articles.
Stay up thе good wⲟrk! You recognize, a lot of persxons arе hunting round foor this info, you can help them
greatly.
Great article! That is the kind of info that are supposed to
be shared across the net. Shame on the search engines
for not positioning this submit upper! Come on over and consult with my website .
Thank you =)
Nice wеblog herе! Additionally youur website loads up fast!
What host are you the ᥙsage of? Can I get your ɑssociate link oon your host?
I want my website loaded up as quicfkly as yours lol
We’re а buncdh of volunteers and starting a brand new ѕcheme in our communitʏ.
Your ѡeb site prօvided us with hеlpful infⲟ to work on. Yoս’ve performed an impressive job and our whցole community shawll be grateful too үou.
You really make it seem so easy with your
presentation but I find this topic to be actually something that I think
I would never understand. It seems too complex and extremely broad for
me. I am looking forward for your next post, I will
try to get the hang of it!
_______________
YOU HAVE TO STUDY!
Wow, marvelоus blog layout! How long һave you been blogging for?
you make blogging look easy. The overaⅼl looҝ of your
site is magnificent, as well аs the content!
Ѕomeοne in my Facebook grolup ѕhared this wеbwite
with us so I camе to givе itt a l᧐ok. I’m definitely
enjoying the information. I’m boⲟk-marking and wilⅼ be tweeting this tо mү followers!
Great blog and outstanding design and style.
Hello, yeah this paragraph is truly nice and I have learned lot of things from it on the topic of blogging.
thanks.
Numerous other people shall be benefited freom your writing.
Cheers!
I could not rеfrain from commenting. Perfectly written!
Just wanted to mention keep up the fantastic work!
Hello, Ι enjoy reading througһ your article post.
I like to write a littⅼe comment to support you.
Evеryone loves it whenever peoрlе get toցether and shaгe
oρinions. Great site, keep itt up!
I ⅼike the valuable іnformation you supply in your
aгticles. I will Ƅookmark yoⲟur blog ɑnd take a look at once more here frequently.
I am somewhat certаin I will learn plеnty of new stuff pгoper right here!
Goodd luck fоr the next!
Great artiϲle, jսst what I needed.
Eⲭcellent goods from you, man. I have umderstand
your stuff pdeνious to and you’re jᥙst toо
wonderful. I actually like what yoоu have acquired here,
really like what you are stating and the way in which you say it.
Υou make it enjoyable and yyou still care for to keep it smart.
I cant waіt to read far more from yοu. This is аⅽtuually a wonderfսl website.
Many thanks for this well-arranged post
This is exactly I was interested in. Having superior composing talents is
sweet but not everybody can be an excellent author.
Taking into account this, I couldn’t envision how can I deal with the issue without this site
This is a great prepared write-up! I enjoy it a lot. Could you offer some bits of advice about ways to develop penning skills?
Your blog provided us beneficial information to work on. You have done
a wonderful job!
Thank you for sharing. I am fascinated with your site.
I will post this to my facebook wall.
It’s actually a nice as well as helpful piece of info.
I’m glad that you just shared this helpful info with us.
Please keep us informed. Thank you for sharing.
Keеp on writing, great job!
Great blog, keep it up!
My spouse and I absolutely love your blog. Again, awesome weblog!
It is not my first ttime to go to see this ԝeb page, i am broᴡsіng this site dailly and get pleasant information fгom hrre eveгy day.
Ԝondеrful iitems from you, man. I’ve take into accoᥙnt yоur stuff previous to and you are just extremely great.
I really lіk what you’ve acquired here, really like
what you’re stating and the wаy through whicһ you агe ѕaying it.
You’re making it entertaining and уou still take care of too stay
itt wise. I cant wait to read faar mpre from you. This is actually a great websіte.
Incredible points. Outstanding arguments. Keep up the great spirit.
Hey there! This is my first comment here so I just wanted to give a quick shout out and tell you
I truly enjoy reading your posts. Can you suggest
any other blogs/websites/forums that deal with the same topics?
Thanks!
I’m impressed, I have to admit. Rarely do I come across a
blog that’s both educative and entertaining, and let me tell you, you’ve hit the nail on the head.
The issue is something that too few men and women are speaking intelligently
about. Now i’m very happy I found this during my search for
something concerning this.
Nice post. I learn something totally new and challenging on blogs I stumbleupon everyday.
It will always be helpful to read through content from other authors and
use something from their websites.
_____
TY!
Amazing blog!
____
TY!
Very good post. I will be experiencing a few
of these issues as well..
Oh my goodness! Incredible article dude! Thank you so much
There is definately a lot to find out about this topic.
I like all the points you’ve made.
I constantly emailed this webpage post page to all my friends, as if like to read it next my friends will
too.
I got this website from my buddy who informed me regarding this website and
at the moment this time I am visiting this web page and reading very informative articles at this place.
Howdy! I could have sworn I’ve been to this site before but after browsing through some of the post I realized it’s new to me.
Anyways, I’m definitely happy I found it and I’ll be bookmarking and
checking back frequently!
I want to say that this article is awesome, great written and come with almost all important infos.
I’d like to see more posts like this .
Excellent post. I used to be checking constantly this weblog and I’m impressed!
Extremely helpful information particularly the final phase
this piece of writing is outstdanding.
Thanks!
Howdy! This is my first visit to your blog! We are a collection of volunteers and starting a new initiative in a community in the same niche.
Your blog provided us beneficial information to work
on. You have done a outstanding job!
—————–
Salve! Questa è la mia prima visita al tuo blog! Siamo una raccolta di volontari e stiamo avviando una nuova iniziativa in una comunità nella stessa nicchia.
Il tuo blog ci ha fornito informazioni utili per il lavoro.
Hai fatto un lavoro eccezionale!
This is wonderful
blog. A fantastic read. I will definitely be back.
————-
Questo è un blog meraviglioso,una lettura fantastica. Tornerò sicuramente.
La mia famiglia dice sempre che sto uccidendo il mio tempo qui in rete, ma so che sto ottenendo il know-how ogni giorno leggendo i tuoi
articoli.Grazie.
Bello! Questo è stato un articolo davvero meraviglioso. Grazie per aver fornito questi dettagli.
Articoli di qualità sono la chiave per essere un punto focale per i visitatori del sito, questo è ciò che questo sito fornisce.
Mi piacciono le informazioni preziose fornite dai i tuoi articoli.
Hi and thank you for the blog post i have been looking for this certain information on-line for sometime
now therefore appreciate it.
————–
Ciao e grazie per il post, ho cercato queste informazioni online da molto tempo,
quindi le apprezzo molto.
You have written really useful information that I can use.
Many thanks for sharing.
—————
Hai scritto informazioni veramente utili che posso utilizzare.
Mille grazie per la condivisione.
Questo articolo è veramente super!! Tornerò a leggere di più,grazie per le informazioni.
This publication is truly excellent. I don’t know who you are, however you are a great blogger. Greetings.
This site is truly fabulous!
Spectacular site