Git hub létrehozása Drupal oldal fejlesztéséhez - vitapost

  • GeSHi library error: sites/all/modules/geshifilter/geshi is not a directory.
  • GeSHi library error: sites/all/modules/geshifilter/geshi is not a directory.
  • GeSHi library error: sites/all/modules/geshifilter/geshi is not a directory.
  • GeSHi library error: sites/all/modules/geshifilter/geshi is not a directory.
  • GeSHi library error: sites/all/modules/geshifilter/geshi is not a directory.
  • GeSHi library error: sites/all/modules/geshifilter/geshi is not a directory.
  • GeSHi library error: sites/all/modules/geshifilter/geshi is not a directory.
  • GeSHi library error: sites/all/modules/geshifilter/geshi is not a directory.
  • GeSHi library error: sites/all/modules/geshifilter/geshi is not a directory.
  • GeSHi library error: sites/all/modules/geshifilter/geshi is not a directory.
  • GeSHi library error: sites/all/modules/geshifilter/geshi is not a directory.
  • GeSHi library error: sites/all/modules/geshifilter/geshi is not a directory.
  • GeSHi library error: sites/all/modules/geshifilter/geshi is not a directory.
  • GeSHi library error: sites/all/modules/geshifilter/geshi is not a directory.
  • GeSHi library error: sites/all/modules/geshifilter/geshi is not a directory.
  • GeSHi library error: sites/all/modules/geshifilter/geshi is not a directory.
  • GeSHi library error: sites/all/modules/geshifilter/geshi is not a directory.
  • GeSHi library error: sites/all/modules/geshifilter/geshi is not a directory.
  • GeSHi library error: sites/all/modules/geshifilter/geshi is not a directory.
  • GeSHi library error: sites/all/modules/geshifilter/geshi is not a directory.
  • GeSHi library error: sites/all/modules/geshifilter/geshi is not a directory.
  • GeSHi library error: sites/all/modules/geshifilter/geshi is not a directory.
  • GeSHi library error: sites/all/modules/geshifilter/geshi is not a directory.
  • GeSHi library error: sites/all/modules/geshifilter/geshi is not a directory.
  • GeSHi library error: sites/all/modules/geshifilter/geshi is not a directory.
  • GeSHi library error: sites/all/modules/geshifilter/geshi is not a directory.
  • GeSHi library error: sites/all/modules/geshifilter/geshi is not a directory.
  • GeSHi library error: sites/all/modules/geshifilter/geshi is not a directory.
  • GeSHi library error: sites/all/modules/geshifilter/geshi is not a directory.
  • GeSHi library error: sites/all/modules/geshifilter/geshi is not a directory.
  • GeSHi library error: sites/all/modules/geshifilter/geshi is not a directory.
  • GeSHi library error: sites/all/modules/geshifilter/geshi is not a directory.
  • GeSHi library error: sites/all/modules/geshifilter/geshi is not a directory.
  • GeSHi library error: sites/all/modules/geshifilter/geshi is not a directory.
  • GeSHi library error: sites/all/modules/geshifilter/geshi is not a directory.
  • GeSHi library error: sites/all/modules/geshifilter/geshi is not a directory.
  • GeSHi library error: sites/all/modules/geshifilter/geshi is not a directory.
  • GeSHi library error: sites/all/modules/geshifilter/geshi is not a directory.
  • GeSHi library error: sites/all/modules/geshifilter/geshi is not a directory.
  • GeSHi library error: sites/all/modules/geshifilter/geshi is not a directory.
  • GeSHi library error: sites/all/modules/geshifilter/geshi is not a directory.
  • GeSHi library error: sites/all/modules/geshifilter/geshi is not a directory.
  • GeSHi library error: sites/all/modules/geshifilter/geshi is not a directory.
  • GeSHi library error: sites/all/modules/geshifilter/geshi is not a directory.
  • GeSHi library error: sites/all/modules/geshifilter/geshi is not a directory.
  • GeSHi library error: sites/all/modules/geshifilter/geshi is not a directory.
  • GeSHi library error: sites/all/modules/geshifilter/geshi is not a directory.
  • GeSHi library error: sites/all/modules/geshifilter/geshi is not a directory.
  • GeSHi library error: sites/all/modules/geshifilter/geshi is not a directory.
  • GeSHi library error: sites/all/modules/geshifilter/geshi is not a directory.
  • GeSHi library error: sites/all/modules/geshifilter/geshi is not a directory.
  • The spam filter installed on this site is currently unavailable. Per site policy, we are unable to accept new submissions until that problem is resolved. Please try resubmitting the form in a couple of minutes.
Kategória: 
Leírás

Ez post tipikusan olyan dolgokat tárgyal, amik nincsenek kőbe vésve. NeverGone szerint már maga az, hogy "hub" zavaró a github.com miatt. Ez a rész szerintem ok, hiszen kvázi hidat hozunk létre sok sok developer és a public project között.

Úgyhogy vitassuk meg, hátha kisül belőle valami okosság!

A sztori a következő: Lelkesen belevágtam a git-be néhány héttel ezelőtt. Küzdöttünk rendesen, ilyen workflow, olyan branchelés, így submodule, rengeteg git reset --hard. Szóval szépen összemelegedtünk, gyűltek a linkek del.icio.us-ban, mentek a commitok, egészen követhetővé vált a fejlesztés, és már kétszer is volt, hogy egy bugfixnél a git log segített.

Szóval a git jó. De egy benga állat, ezerfejű szörny, és amikor azt hiszed, hogy már eléggé megszelidítetted, dolgozik, mint egy kezesbárány, megfordul, és a fejedre szarik.

Na valami ilyesmi volt most velem is. Nagyon szépen eldolgozgattam otthon, meg a githubról és a git.drupal.orgról oda-vissza mentek a dolgok, ahogy kell. Aztán egyszer csak ki kellett volna pakolni, ami eddig volt. Az emberfia ugye nem azért használ gitet, hogy utána rsyncel tologassa repóstól commitostól a dolgait, úgyhogy eljött az idő, hogy végre a közös pushnak pull legyen a vége.

Na és akkor itt érdemes tisztázni valamit: Alapdolog, ám sokáig nem volt nyilvánvaló. Olyat sosem csinálunk, hogy egy munkakönyvtárba tolunk fel (git push) dolgokat. Munkakönyvtár az, ahol a file-ok, mappák vannak. Gitben létezik egy olyan csoda, hogy bare repository. Ebben nincs egy deka munkafile sem, csak a githez kapcsolódó dolgokat, commitokat, brancheket, objektumokat tárolja. Ennek a bare repositorynak a feladata az ide-oda szinkronizálgatás.
Edit: Én lépten nyomon azzal találkoztam, hogy nem jó non-bare repositoryba pusholni, NeverGone szerint lehet ez indokolt, illetve praktikus, illetve meg is van rá a megfelelő kezelés.

Szóval röviden néhány fogalom:

Repository (általában): Tároló. Ez egy könyvtár, amiben van maga a drupal, a teljes kódbázis, modulok, képek pucérnőkről, ésatöbbi. A mezei drupal könyvtártól az különbözteti meg, hogy van benne egy .git könyvtár, és ebbe kerül minden varázslat, amit a gittel követünk el.

Bare repository: Ez maga a hub. Ehhez kapcsolódik a product site, a development site, és az összes developermaki (akik szeretik a banánt), akik a kódot gyúrják.

Local repository: Ez az én, te, stb, géped itt az orrod előtt. Letöltöd a drupalt, modulokat, dolgozol, teszel, és azt azt mondod, hogy git push, és huss, már kint is vannak az ügyködéseid. (ez az, ami nem olyan egyszerű)

Product repository: Ööö.. Hát ez sem így fog elterjedni a magyar nyelvben, de a lényeg a következő, hogyha beütöd a böngészőbe, hogy http://enkezemmunkaja.hu, vagy http://dev.ketkezemunkaja.hu, akkor te az ebben a repositoryban lévő kódbázis alapján látod a dolgokat.

Branch: Fejlesztői ág, ezt tekinthetjük hivatalosnak is magyarul. De ez így elég absztrakt, szóval nézzük meg egy kicsit közelebbről. Elkezdünk egy drupal munkát amiből előbb utóbb éles oldal lesz. De ahhoz fejleszteni kell az oldalt.
Sasszemmel már a tipográfiából kiszúrhattad, hogy meg is van a két branchünk, nevezzük ezeket szépen magyarul masternek, és develnek.
Ahogy töltögeted a modulokat, tekergeted a cckt, views, csinálod a sminket, addig csak fejlesztesz, gitül szólva a devel branchben dolgozol. Amint azt mondod, hogy kösz szépen, ez már itt elég jó, mehet élesbe, azt mondod a devel branchnek, hogy légy master, vagyis amit eddig csináltál a develben, átkerül a masterbe, ezt a folyamatot gitül mergenek hívják.
Ezután visszaválthatsz develbe, kipróbálgathatsz új dolgokat, és ha netán valami szuperjót sikerült összehozni, akkor a devel ágadat megint belemergeled a masterbe, tehát élesíted a fejlesztésedet.

És egy elméleti ábra, amit innen szedtem:

Ahogy elnézem, ez lesz az a post, ahol a bevezető hosszabb, mint a lényeg..

Merthogy ez a párbeszéd nem is olyan egyszerű.

Először kell hozzá ssh hozzáférés a szerveren, és nem árt valami emberi oprendszer a saját gépeden, ebbe a kategóriába a W betűvel kezdődő és indowsra végződő oprendszerek nem tartoznak bele.
Edit: Nem feltétlenül kell hozzá ssh hozzáférés, legalábbis a git parancsok használatához. Viszont a beállításokhoz, inicializáláshoz nem árt, ha van. A gitnek van saját protokollja, ami elmegy HTTP-vel

Tegyük fel, hogy a sajátgépeden itt fogunk dolgozni:
~/public_html/munka - ebben kerül a drupal telepítés.

A szerveren a van egy dev, és egy éles könyvtár

~/dev.munka/public_html
~/live.munka/public_html

Most a leszedjük, branchelünk, stb dologba nem mennék bele: http://drupal.hu/tippek/gitreferenciasitebuild itt szépen van írva minden. A mi szempontunkból az a lényeg, hogy van egy branch, a devel, amiben gyűjtünk mindent, és egy master, ami az éles lesz.

Akkor kezdjük a szerveren.

Csináljunk könyvtárat a hubnak:

[geshifilter-bash]cd ~ mkdir repos //ide fogjuk gyűjteni az összes hub könyvtárat mkdir repos/munka.git //ez a mostani munkánk hubja lesz cd repos/munka.git git --bare init //ezzel meg azt mondjuk meg a gitnek, hogy ez a repo bare lesz[/geshifilter-bash]

Na drupalosok öröm van, mert kéremszépen gitéknél is hookolhatunk kedvünkre! Gitnél a hookat kvázi bash szkriptek jelentik. Nézzünk be a .git/hooks könyvtárba. Ilyenek vannak pl, hogy post-commit.sample. Semmi más dolgunk nincs csak átnevezni a hookot post-commit -ra, és beleírni a bash szkriptünket.

Bare reponál az a célunk, hogyha valamelyik developermaki kommitál, akkor az kerüljön ki szépen a devel, vagy a master oldalra.

Ehhez a post-update hookot kell megvalósítanunk a repos/munka.git/.git/hooks könyvtárban, és hogy zsernonek is kicsit hadd repdessen a szíve, mert ilyeneket meg tőle tanultam, legyen az, hogy

[geshifilter-bash]vim post-update[/geshifilter-bash]

És beléje a kód, ami iszonyat randa, de a minimál bash tudásomból kb ennyire futotta, szóval patches are welcome! :)

[geshifilter-bash]branch=$(git symbolic-ref HEAD) if [ "$branch" = "refs/heads/devel" ] then cd $HOME/dev.munka/public_html || exit unset GIT_DIR git pull hub devel else cd $HOME/munka/public_html || exit unset GIT_DIR git pull hub master fi exec git-update-server-info[/geshifilter-bash]



És jöjjen egy update, mert viharba kerültem: Szóval a bare repoban a git symbolic-ref HEAD a repoban aktuális branchet mutatja, nem pedig azt, ahonnan a push jött. Egy tesztkörnyezetben próbáltam a szinkronizálást, és arra a következtetésre jutottam, hogy feltételezve, hogy minden push után szinkronizálás történik, nem lehet gond abból, ha a push branchétől függetlenül mindkét munkakönyvtár frissítve lesz. Max egy Already up to date-et kapunk a másik branchtól.

Tehát ezzel tudunk push branchtól függetlenül frissíteni a repokat, ami nagyon nem tetszik a nyilvánvalóan felesleges pull miatt, szóval jó lenne valami feldolgozható feltételt találni.

[geshifilter-bash] cd $HOME/dev.munka/public_html unset GIT_DIR git pull hub devel cd $HOME/munka/public_html git pull hub master exec git-update-server-info[/geshifilter-bash]




Most állítsuk irányba a fejlesztői oldalunkat:
Ha még tök üres a könyvtár, akkor:

[geshifilter-bash]cd ~/dev.munka/public_html git init touch index.php git add . git commit -am "Initial commit" git checkout -b devel //létrehozzuk a devel branchet és át is lépünk bele git branch -d master // töröljük az eredeti master branchet, mert ide nem kell[/geshifilter-bash]

Ha már dolgoztunk gittel a szerveren, és ugyanúgy össze-vissza, mint én, akkor már van kész repositoryk. Ekkoris törölhetjük a felesleges brancheket, valahogy tisztább, szárazabb, boldogabb érzés.

Folyt:

[geshifilter-bash]git remote add hub ~/repos/munka.git //hozzáadjuk a hubot git remote show hub // nézzük meg, nem csesztünk-e el valamit * remote hub URL: /home/userneved/repos/munka.git git push hub devel // és szépen feltoljuk, amit eddig műveltünk[/geshifilter-bash]

Mivel most a dev könyvtárban vagyunk, lehet olyan igényünk, hogyha valamit közvetlenül a szerveren commitolunk, az kerüljön fel a hub-ra (sosem lehet tudni..) Erre a már emlegetett post-commit hookot használjuk, és legyen az benne, hogy:

[geshifilter-bash]#!/bin/sh git push hub[/geshifilter-bash]

Nos, a szerveren nagyjából készen vagyunk, még dettó ugyanezt meg kell csinálni az éles oldal könyvtárában, csak természetesen odafigyelve a branchekre, hogy devel helyett mastert használjunk, és még véletlenül se a mastert töröljük.

Akkor vissza sajátgépre. (Nekem meg vissza a post elejére, mert pl már gőzöm sincs, hogy hoztunk-e létre repot, stb..)
Aham, meg is van, szóval játszuk azt, hogy van már master, és devel reponk itthon.

Ehhez először tudatnunk kell a gittel, hogy nekünk van ám más helyen is reponk, nem csak itthon.

[geshifilter-bash]git remote add munka ssh://userneved [at] teoldalad [dot] hu/home/userneved/repos/munka.git git fetch munka // Ezzel kérdezzük le, hogy miújság a szerveren, milyen branchek vannak git branch -r // ezzel megnézzük, milyen távoli repokat kaptunk az előbbi git fetch-chel[/geshifilter-bash]

Elvileg ilyeneket kéne látnunk:
[geshifilter-bash]remotes/munka/devel remotes/munka/master[/geshifilter-bash]

Akkor passzítsuk őket:
[geshifilter-bash]git branch --set-upstream devel remotes/munka/devel git branch --set-upstream master remotes/munka/master[/geshifilter-bash]

És ezzel készen vagyunk. Mehet a git pull, és a git push, attól függően, hogy melyik branchben vagyunk, oda fog kerülni az oldalon.

Na és akkor a warningok:

Nem győzném felsorolni, hogy milyen forrásokból, honnan szedtem ezeket össze. Az egész gitesdi még nem az stabilan kiforrott dolog drupal körökben, jómagam azért követek pár kezdeményezést.

Jelenleg egy orbitális öntökönszúrást gyógyítottam ezzel a módszerrel, élesben egyelőre csak devel branchet szinkronizálok, azzal szépen működik. A bash szkripteket localhoston kipróbáltam, master szinkronizációt viszont kvázi élesben még nem használok, ez a project nincs még abban a stádiumban.

Szóval csak óvatosan! És akár kommentelni is lehet.

Igazából itt dobnám be azt, hogy akár ki is tárgyalhatnánk ezt a témát keményen. Ahogy már említettem, patches are welcome, a saját tapasztalatokból össze is hozhatnánk valami értélhetőt!

Az utólagos editekért thx NeverGonenak (és majd jönnek sorra a többiek)!


Hozzászólások

It is not my first time to

It is not my first time to visit this web site, i am browsing this
site dailly and take good data from here
every day. ΨΥΧΟΛΟΓΟΙ ΘΕΣΣΑΛΟΝΙΚΗ

Welche Seite die beste für

Welche Seite die beste für dich ist, kannst du nur nach einem persönlichen Test herausfinden.

Gestohlenes Geld und Gut

Gestohlenes Geld und Gut wurde zurückgegeben.

Das extrem abwichsen ließ

Das extrem abwichsen ließ diesen kleinen, dicken Vollpfosten fast wahnsinnig werden, aber schau selbst wie es für ihn endete.

Hey, I think your website

Hey, I think your website might be having browser compatibility issues.
When I look at your website in Ie, it looks fine but
when opening in Internet Explorer, it has some overlapping.
I just wanted to give you a quick heads up! Other then that,
awesome blog! scam

I like looking through a post

I like looking through a post that will make people think.
Also, many thanks for allowing for me to comment! xxx

Es wurde zwar jede

Es wurde zwar jede Anstrengung unternommen damit die enthaltenen Informationen korrekt sind, wir übernehmen jedoch keine Haftung für Irrtümer oder Auslassungen.

Brauchst Du Sexchats mit

Brauchst Du Sexchats mit frischrasierten Huren?

Eines Tages sagte zu ihrem

Eines Tages sagte zu ihrem Mann: Du könntest aber auch mal mit auf die Jagd nehmen.

Ich habe soetwas auch noch

Ich habe soetwas auch noch nicht gemacht, daher haben wir etwas gemeinsam.

ging alles sehr schnell,

ging alles sehr schnell, seine Hose und sein Slip fielen zu Boden und er kniete sich über mich.Dieser Abend war nicht wie ähnliche zuvor.

Die selbstsichere Frau – das

Die selbstsichere Frau – das Ideal heutiger Frauen – weiß, was sie und was durchsetzbar ist.

Auch Videos können Sie mit

Auch Videos können Sie mit dem unverbindlichem Schnupperzugang anschauen, ebenso haben Sie Zugriff auf alle Vorschau Bilder und Filme.

Er suchte jahrelang

Er suchte jahrelang Unterstützung, diesen Fall vor dem Parteitag diesem Mittwoch eine Umfrage, der zufolge Scharons Partei angeschlossen.

' großem bei den Hamburg

' großem bei den Hamburg Hobbyhuren wird gern mit Dir gespielt.

Anfang habe ich meiner

Anfang habe ich meiner Umgebung zu verstehen gegeben, dass ich ein alter Mann bin, der nicht auf der Suche nach einer philippinischen Freundin ist.

Als er die dritte Tür des

Als er die dritte Tür des Spiegelschrankes öffnete, schreckte erotik spielzeug privat ich zusammen.

Ich denke, ich werd´ hier

Ich denke, ich werd´ hier nicht mal 2 Tage aushalten.

Hello my friend! I want to

Hello my friend! I want to say that this post is awesome,
nice written and include almost all significant
infos. I would like to look extra posts like this .
tattoos for women

I'm pretty pleased to uncover

I'm pretty pleased to uncover this website. I need to to thank you for your
time just for this fantastic read!! I definitely liked
every part of it and i also have you saved as a favorite
to check out new information on your website. Patriotic tattoo

I like the valuable

I like the valuable information you provide in your articles.
I'll bookmark your weblog and check again here frequently.
I'm quite certain I'll learn many new stuff right
here! Good luck for the next! Wolf tattoo

Hiya very nice website!! Guy

Hiya very nice website!! Guy .. Beautiful .. Superb ..
I'll bookmark your web site and take the feeds also?
I'm happy to seek out a lot of helpful information right here
in the put up, we want develop extra strategies in this
regard, thanks for sharing. . . . . . Tree tattoo

I think this is one of the

I think this is one of the such a lot important info for
me. And i am glad studying your article. But wanna commentary on few normal things, The site taste
is ideal, the articles is really nice : D. Just right activity, cheers
Maori tattoo

Nice post. I was checking

Nice post. I was checking constantly this blog and I'm impressed!
Very helpful info particularly the last part :) I care for such info much.

I was looking for this certain information for a long time.
Thank you and good luck. Frog tattoo

Write more, thats all I have

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 throw away your intelligence on just posting videos to your weblog when you could be giving us something enlightening to read?
Maori tattoo

Good day! I know this is

Good day! I know this is kinda off topic but I was wondering if you
knew where I could get a captcha plugin for my comment form?
I'm using the same blog platform as yours and I'm having difficulty finding one?
Thanks a lot! tato

When some one searches for

When some one searches for his essential thing,
thus he/she wishes to be available that in detail, so that thing is maintained over here.
tattoo designs

Hi my friend! I want to say

Hi my friend! I want to say that this post is amazing, great written and include approximately
all vital infos. I would like to see more posts like this .
Flowers tattoo

Hi, I believe your website

Hi, I believe your website could possibly be having internet browser compatibility problems.
Whenever I take a look at your website in Safari, it looks
fine however when opening in I.E., it has some overlapping issues.
I merely wanted to provide you with a quick heads up!
Other than that, wonderful site! Butterfly tattoo

Hi everybody, here every

Hi everybody, here every person is sharing these kinds
of experience, thus it's fastidious to read this web site, and I used
to visit this weblog everyday. Dragons tattoo

Wenn bedenkt, dass manche

Wenn bedenkt, dass manche äußerst bekannte deutschsprachige Blogger, für einen Google Adsense Banner unter jedem Artikel, pro Monat um die 200 Euro ergattern, könnte sich schon die Frage stellen, wieso der Chatroulette-Inhaber keine Werbe-Banner zulässt.

Brautunterwäsche ist keine

Brautunterwäsche ist keine gewöhnliche Lingerie, sondern wird speziell für das Tragen unter Brautmode entworfen.

ein individuelles Make-Up,

ein individuelles Make-Up, sollte sich umschauen, wenn unter einer Latexallergie oder unter Platzangst leidet.

Aber jetzt ist erstmal

Aber jetzt ist erstmal offizielle Pause.

I think the admin of this web

I think the admin of this web page is truly working hard for his web site, for the
reason that here every information is quality based data.
Shiv Shankaran Nair

This is a topic that is near

This is a topic that is near to my heart... Take care! Where are your contact
details though? Shiv Shankaran Nair

It's amazing in support of me

It's amazing in support of me to have a web page, which is good in support of my experience.
thanks admin Shiv Shankaran Nair

It's remarkable to go to see

It's remarkable to go to see this web site and reading the views of all mates on the topic of this piece of writing,
while I am also zealous of getting know-how. Shiv Shankaran Nair

It's a pity you don't have a

It's a pity you don't have a donate button! I'd certainly donate to this outstanding blog!
I suppose for now i'll settle for bookmarking and adding your RSS feed to my Google account.
I look forward to fresh updates and will share this blog with
my Facebook group. Talk soon! Shiv Shankaran Nair

What's up everyone, it's my

What's up everyone, it's my first pay a quick visit at this site,
and paragraph is truly fruitful for me, keep up posting these articles or reviews.

Shiv Shankaran Nair

Fastidious respond in return

Fastidious respond in return of this query with firm arguments and telling everything regarding that.
Shiv Shankaran Nair

We're a group of volunteers

We're a group of volunteers and starting a new scheme in our community.

Your web site provided us with valuable information to work on. You've done a formidable job and our entire community will
be grateful to you. Shiv Shankaran Nair

Hi there! I'm at work

Hi there! I'm at work browsing your blog from my new apple iphone!
Just wanted to say I love reading your blog and look forward to all your posts!

Carry on the fantastic work! Shiv Shankaran Nair

Hello there, just became

Hello there, just became alert to your blog through Google, and found
that it is truly informative. I'm gonna watch out for brussels.
I'll appreciate if you continue this in future. Many people will be benefited from your
writing. Cheers! Shiv Shankaran Nair

I am actually grateful to the

I am actually grateful to the holder of this site who has shared this fantastic paragraph at at this time.
Shiv Shankaran Nair

I love looking through a post

I love looking through a post that will make men and women think.
Also, many thanks for allowing for me to comment! Shiv Shankaran Nair

I don't know if it's just me

I don't know if it's just me or if everyone else experiencing
problems with your website. It seems like some of the text in your content are running off the screen. Can someone else please comment and
let me know if this is happening to them as well? This may be a issue
with my web browser because I've had this happen previously.

Thank you Shiv Shankaran Nair

Hello to every , because I am

Hello to every , because I am in fact eager of reading
this blog's post to be updated regularly. It contains nice material.
Shiv Shankaran Nair

What's up to all, because I

What's up to all, because I am genuinely eager of reading this
web site's post to be updated regularly. It
carries good information. Shiv Shankaran Nair

I’m not that much of a online

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. Many thanks Shiv Shankaran Nair

Hozzászólás

A mező tartalma nem nyilvános.
  • Internal paths in double quotes, written as "internal:node/99", for example, are replaced with the appropriate absolute URL or relative path.
  • Engedélyezett HTML elemek: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <del> <img>
  • A webcímek és email címek automatikusan linkekké alakulnak.
  • A sorokat és bekezdéseket a rendszer automatikusan felismeri.
  • Engedélyezett HTML elemek: <a> <blockquote> <br> <cite> <code> <dd> <del> <div> <dl> <dt> <em> <li> <ol> <p> <span> <strong> <ul>
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>, <bash>, <c>, <cpp>, <drupal5>, <drupal6>, <java>, <javascript>, <mysql>, <php>, <python>, <ruby>, <sql>. The supported tag styles are: <foo>, [foo].
  • Minden email cím át lesz alakítva ember által olvasható módon, vagy (ha a JavaScript engedélyezett) ki lesz cserélve kattintható, de biztonságos hivatkozásra.