e-gorren blog pertsonala (komikiak, informatika eta beste)
Nola hobetu zure COREBlog bloga IV: Kolaboratzaileei gure blogeko artikuluak aldatzeko aukera eman
Aurreko artikuluan aipatu nuen nola egin genezakeen COREBlog-ekin egindako blog baten (eibar.org-en daudenak adibidez) artikuluak gehitzeko pantaila bat, blog baten kolaboratzaileek aukera izan zezaten artikuluak gehitzeko. Baina ez nuen azaldu nola egin pantaila bat kolaboratzaile horiek idatzitako artikuluak aldatu ahal izateko (hau memoria!). Ba hona hemen.
Egin beharreko gauza bakarra da gure blogaren erroan DTMLMethod bat sortu, "editEntryForm" izenarekin eta ondoko edukiarekin:
<dtml-var blog_header>
<dtml-var blog_banner>
<div id="content">
<div class="blog">
<h3 class="title">Aldatu artikulua</h3>
<div class="comments-head">Aldatu nahi dituzun eremuak</div>
<div class="comments-body">
<form ACTION="manage_editEntry" METHOD="POST" enctype="multipart/form-data">
<table cellspacing="1" cellpadding="0" border="0">
<tr>
<td align="left" valign="top" class="list-header">
<div class="form-label">
Egilea
</div>
</td>
<td align="left" valign="top">
<input type="text" name="author" size="40" value="<dtml-var "author.replace(_.chr(34),'"').replace('á','á').replace('é','é').replace('í','í').replace('ó','ó').replace('ú','ú').replace('Á','Á').replace('É','É').replace('Í','Í').replace('Ó','Ó').replace('Ú','Ú').replace('ñ','ñ').replace('Ñ','Ñ')">" />
</td>
</tr>
<tr>
<td align="left" valign="top" class="list-header">
<div class="form-label">
Izenburua
</div>
</td>
<td align="left" valign="top">
<input type="text" name="title" size="80" value="<dtml-var "title.replace(_.chr(34),'"').replace('á','á').replace('é','é').replace('í','í').replace('ó','ó').replace('ú','ú').replace('Á','Á').replace('É','É').replace('Í','Í').replace('Ó','Ó').replace('Ú','Ú').replace('ñ','ñ').replace('Ñ','Ñ')">"/> </td>
</tr>
<tr>
<td align="left" valign="top" class="list-header">
<div class="form-optional">
Azpititulua
</div>
</td>
<td align="left" valign="top">
<input type="text" name="subtitle" size="80" value="<dtml-var "subtitle.replace(_.chr(34),'"').replace('á','á').replace('é','é').replace('í','í').replace('ó','ó').replace('ú','ú').replace('Á','Á').replace('É','É').replace('Í','Í').replace('Ó','Ó').replace('Ú','Ú').replace('ñ','ñ').replace('Ñ','Ñ')">"/> </td>
</tr>
<tr>
<td align="left" valign="top" class="list-header">
<div class="form-label">
Atala
</div>
</td>
<td align="left" valign="top">
<dtml-call "REQUEST.set('kategoria',category[0])">
<select name="main_category:int">
<dtml-in category_list>
<option <dtml-if "_.str(id)==_.str(kategoria)">selected</dtml-if> value="<dtml-var id>"><dtml-var name missing="category name is missing"></option>
</dtml-in>
</select>
</td>
</tr>
<tr>
<td align="left" valign="top" class="list-header">
<div class="form-optional">
Azpiatalak
</div>
</td>
<td align="left" valign="top">
<dtml-in category_list>
<input type="checkbox"<dtml-if "mota(entry_category_list)=='list'"><dtml-if "id in entry_category_list"> checked</dtml-if><dtml-else><dtml-if "mota(entry_category_list)=='string'"><dtml-if "id==entry_category_list"> checked</dtml-if></dtml-if></dtml-if> name="sub_category:list" value="<dtml-var id>" /><dtml-var name missing="category name is missing">
</dtml-in>
</td>
</tr>
<input type="hidden" name="format:int" value="1">
<tr>
<td align="left" valign="top" class="list-header">
<div class="form-label">
Sarrera
</div>
</td>
<td align="left" valign="top">
<textarea name="body:text" style="width: 500px; height: 250px; border: 1px solid #000000;"><dtml-var body></textarea>
</td>
</tr>
<tr>
<td align="left" valign="top" class="list-header">
<div class="form-optional">
Gorputza
</div>
</td>
<td align="left" valign="top">
<textarea name="extend:text" cols="60" rows="6"><dtml-var extend></textarea>
</td>
</tr>
<tr>
<td align="left" valign="top" class="list-header">
<div class="form-optional">
Laburpena
</div>
</td>
<td align="left" valign="top">
<textarea name="excerpt:text" cols="60" rows="6"><dtml-var excerpt></textarea>
</td>
</tr>
<tr>
<td align="left" valign="top" class="list-header">
<div class="form-label">
Erantzunak
</div>
</td>
<td align="left" valign="top">
<select name="allow_comment:int">
<option value="0" <dtml-if "allow_comment==0">selected</dtml-if> >Ezer ez (ezin gehitu, ezkutatuta)</option>
<option value="1" <dtml-if "allow_comment==1">selected</dtml-if> >Irekita (gehitu daiteke, agerian)</option>
<option value="2" <dtml-if "allow_comment==2">selected</dtml-if> >Itxita (ezin gehitu, agerian)</option>
</select>
</td>
</tr>
<tr>
<td align="left" valign="top" class="list-header">
<div class="form-label">
Trackback-ak
</div>
</td>
<td align="left" valign="top">
<select name="receive_trackback:int">
<option value="0" <dtml-if "receive_trackback==0">selected</dtml-if> >Ezer ez (ezin gehitu, ezkutatuta)</option>
<option value="1" <dtml-if "receive_trackback==1">selected</dtml-if> >Irekita (gehitu daiteke, agerian)</option>
<option value="2" <dtml-if "receive_trackback==2">selected</dtml-if> >Itxita (ezin gehitu, agerian)</option>
</select>
</td>
</tr>
<tr>
<td align="left" valign="top" class="list-header">
<div class="form-label">Egoera</div>
</td>
<td align="left" valign="top">
<select name="moderated:int">
<option value="0" <dtml-if "moderated==0">selected</dtml-if> >Itxita</option> <option value="1" <dtml-if "moderated==1">selected</dtml-if> >Irekita</option>
</select>
</td>
</tr>
<tr>
<td align="left" valign="top" class="list-header" rowspan="2">
<div class="form-optional">Trackback helbidea(k)</div>
</td>
<td align="left" valign="top">
<textarea name="trackback_url:text" cols="60" rows="4"><dtml-in trackback_url><dtml-var sequence-item></dtml-in></textarea>
</td>
</tr>
<tr>
<td align="left" valign="top">
<input type="checkbox" name="sendnow" checked />Bidali trackback eskaera(k) orain</td>
</tr>
<tr>
<td align="left" valign="top">
</td>
<td align="left" valign="top">
<div class="form-element">
<input class="form-element" type="submit" name="submit" value="Artikulua aldatu" />
</div>
</td>
</tr>
</table>
</form>
</div>
</div>
</div>
<dtml-var blog_footer>
Aurreko artikuluan aipatutako baimenak jarrita badaude, bukatzeko egin beharreko gauza bakarra da metodo honetako baimenetan "View" bakarrik utzi "manager" eta "owner" erabiltzaileei. Orduan, kolaboratzaile batek artikulu bat aldatzeko, nahikoa du artikuluaren helbideari "editEntryForm" gehitzea.
Aurreko artikuluak:
"American Splendor"
AEBko "distiraz" bertoko "galtzaile" batek egindako hausnarketa azidoa, gordina eta ezkorra. American Splendor komikiari buruz izen bereko pelikula Euskal Herriko zinema aretoetan ikusgai deukogu.
Lehengo egunean erdi pelikula erdi komikia dan "American Splendor" ikusi ahal izan neban, eta jatorrizko bertsinoan, geure Bilbao "kosmopolita" honetan (beste baterako utziko ditut bilbotar askoren "kosmopolitismoa" eta "mundukouritartasuna"ren gaiak).
Komiki autobiografiko honen egilea Harvey Pekar da (existitzen dan benetako pertsona baita), Cleveland-ekoa jatorriz, ospitale batean artxibozain hainbat urtez ibilitako "galtzaile" hau. Funtsean, gai nagusia horixe baita: "Cool people" (arrakastatsuak, guapuak, azkarrak, harroputzak,...), "nerd" direnen aurka (baldresak, kokoluak, mokoluak, kankailuak, itsusiak...). Danok ikusi ditugu AEBetako pelikula horiek, non azaltzen diren unibertsitateko arrakastatsuak alde batetik eta kankailuak bestetik, eta zelan lehenengoek bigarrenak krudelki tratatzen dituzten, mesprezu itzelaz. Eta gaur egun ez dogu AEBetara joan behar, berton eduki izan baitogu Hondarribiko Jokin horren kasu tristea, "bullying" fenomeno gupidagabea. Sinestezina emoten badau be, internet-en topau ditut norbera noraino izan daitekeen mozoloa neurtzeko testak. Honako eta honako webgune hauetan, esate baterako.
Baina, komikira bueltauta, pelikulan agertzen dana da zelan jenteak kriston morboa deukon "galtzaileen" kontura barre egiteko. Harvey Pekar bera telebistako kate batean azaltzen zan aurkezle guapo eta harroputz horietako batek alkarrizketatua. Pekar-rek egiten ei eban diruagaitik bakarrik, norberataz besteek txufeatzea ez baijako inorreri gustatzen. Baina alde batetik publikoaren krudeltasuna agerian geratzen da eta bestetik zelan aprobetxa dezakegun sistema gorrotagarria bera geure probetxurako, Harvey Pekar-rek egiten eban legez. Izan be, internet-en buelta bat emonda pelikularen edo egilearen web guneetatik, ikus dezakezue sistemaz ederto baliatzen dabilela Pekar jauna bizi ahal izateko: webguneen bidez "merchandising"-a, pelikula bera,... Sekulako arrakastagaz, dirudienez. Galtzailea irabazle bihurtuta, azken finean.
Laburbilduta, pelikula (DVD) gomendagarria, geure mixeriak nabarmentzen dituen ispilua.
Antonio Zabalak ere egin dau pelikularen iruzkina Goiena.net-eko zinemari buruzko bere blogean.
Agur t'erdi!
"Komikia eta Giza Eskubideak" erakusketa
Donostian martxoaren 11tik 18ra egingo diren Zinea eta Giza Eskubideen III. Topaketen barruan, Komikia eta Giza Eskubideak izeneko erakusketa ikusteko aukera izango da. Besteren artean, Will Eisner, Carlos Giménez, Annie Goetzinger, Luis García edo Pulitzer sariaren irabazle Art Spiegelmanen lanak izango dira ikusgai.
Erakusketa Donostiako Liburutegi Nagusian ikusi ahal izango da, astelehenetik ostiralera 10:00etatik 20:30era eta larunbatean 10:00etatik 13:30era eta 16:30etik 20:30era.
"Cinco fabulosas décadas de comics Marvel" liburuaren iruzkina
Bai, onartzen dut: superheroien komiki amerikarrak gustatzen zaizkit. Superheroien komikiak ez dira nire komikitekan gehiengoa, ezta gutxiago ere. Aldiz, komikiei buruzko liburuei dagokionean, gehiengoa amerikarra daukat. Agian gehiago daudelako? Ziurrenik bai, marketina hobe zaintzen dute. Neskalagunak oparitu didan eta irakurri dudan azkena da Cinco fabulosas décadas de comics Marvel.
Badakit, zineman bezala, askoz kultuagoa gelditzen dela esatea komiki europarra bakarrik irakurtzen dudala, baina ez da horrela. Izan ere, edozein kultur adierazpenetan, ez naiz genero batzuk goratu eta beste batzuk gutxiestearen zale. Nire gustua, generoak baino, kalitateak gidatzen du gehiago, eta genero guztietan daude gauza onak eta txarrak. Eta mainstream amerikarrean ere badaude gauza onak.
Hala ere, ez naiz hain-hain zalea ere, eta ez dut superheroien komiki askorik. Ziurrenik izango da gauzak erdizka uztea ez zaidalako gustatzen (superheroien komiki gehienetan istorioa jarraia izaten da, eta kolekzio osoak izateko pazientzia eta diru asko behar da). Nik nahiago dut beste komiki formatoa, hilabetekaria ez dena, liburu baten istorio bat kontatzen duena, eta kolekzio txikiagoak dituena. Eta agian horregatik ere izango ditut superheroiei buruzko horrenbeste liburu. Nahiz eta komikia izan ez, superheroi baten historia guztia daukat liburu bakarrean. Aipatutakoaz gain, X-Men, Spiderman eta Hulk-i buruzko "La guía definitiva" izenekoak ditut.
Cinco fabulosas décadas de comics Marvel liburua gustura irakurri dut, Marvel-en superheroi guztien historia kontatzen baitu (1991 urtera arte, ordukoa baita liburuaren jatorrizko edizio estatubatuarra). Ez superheroien historia orokorra bakarrik, baizik eta euren komikiena ere bai. Alde horretatik, edozein zaleri atsegin emateko modukoa da liburua. Eta erraz irakurtzen da, ez pentsa liburua izanagatik guztia testua denik. Komikien funtsetako bat irudiak dira, eta ezin da egin komikiei buruzko ganorazko libururik irudirik barik. Honek mordoa ditu, 700dik gora!
Baina horrez gain, komikien historia orokorrari buruz ere hitz egiten du, komiki amerikarraren historiari buruz batipat. Izan ere, Marvel etxearen historia komiki amerikarraren historiaren testuinguruan baino ezin da ulertu, eta horri buruz ere asko ikasten da: pulp fictionaren eta komiki-bandaren aurrekariak, bien nahasketatik comic-bookaren sorrera, Komikien Urrezko Aroa, komikien krisia, Marvel-en garaia, komiki-denden sorrera...
Liburuak bi gauza ditu gustatu ez zaizkidanak. Alde batetik, liburu guztian zehar autobonbo-propaganda kutsua nabari da. Eta bestetik, ez da soilik superheroien eta euren komikien historia kontatzen. Ikuspegi laborala (langileen, hau da, marrazkilari, gidoilari eta editoreen, gorabeherak) eta enpresariala (diru-kontuak, jabe-aldaketak...) ere ematen da, eta niri, ba, zer nahi duzue esatea, ez da hainbeste interesatzen zaidan zerbait.
Edonola ere, superheroi-komikien zaleek gozatzeko moduko liburua da, komiki amerikarraren historiari buruz asko irakasten duena gainera. Komiki baten sortze-prozesu osoa nola den ere azaltzen dute atal baten (beraien etxean behintzat, Marvel metodoa deitzen diotena). Eta liburu guztia txintxo-txintxo irakurtzen duenarentzako sari gisa, amaieran Namor, Spider-Man, The Fantastic Four eta Wolverineren istorio klasiko bana dakar, oso onak guztiak.
Fitxa |
---|
Izenburua: Cinco fabulosas décadas de comics Marvel Egilea: Les Daniels Argitaletxea: Planeta DeAgostini Urtea: 1996 (jatorrizko edizioarena 1991) ISBN: 84-395-3909-6 |
Nola hobetu zure COREBlog bloga III: Kolaboratzaileei gure blogean artikuluak idazteko aukera eman
COREBlog-ekin egindako blogek (eibar.org-en daudenak adibidez) ez daukate artikuluak gehitzeko pantailarik, ez bada kudeatzailearen pasahitzarekin kudeatze-pantailetan sartuta. Eta gure blogean hainbat kolaboratzaileri artikuluak idazteko aukera eman nahi badiegu, ez dugu kudeatzaile baimenak eman beste aukerarik. Baina hau kolaboratzaile batentzat konplikatuegia izan daiteke eta gure blogarentzat arriskutsua. Ikusi hemen nola egin dezakegun artikuluak idazteko pantaila bat, argazkiak gehitzeko aukera eta guzti, eta nola eman baimenak horretarako soilik.
Hasteko, blogaren erroan DTMLMethod bat sortu, "addEntryForm" izenarekin, eta eduki honekin:
<dtml-var blog_header>
<dtml-var blog_banner>
<div id="content">
<div class="blog">
<h3 class="title">Artikulua gehitu</h3>
<div class="comments-head">Bete artikuluaren eremuak. Batzuk aukerakoak dira.</div>
<div class="comments-body">
<form ACTION="manage_addEntry2" METHOD="POST" enctype="multipart/form-data">
<table cellspacing="1" cellpadding="0" border="0">
<tr>
<td align="left" valign="top" class="list-header">
<div class="form-label">Egilea</div>
</td>
<td align="left" valign="top">
<input type="text" name="author" size="40" value="<dtml-var "AUTHENTICATED_USER.getUserName()">" />
</td>
</tr>
<tr>
<td align="left" valign="top" class="list-header">
<div class="form-label">Izenburua</div>
</td>
<td align="left" valign="top">
<input type="text" name="thetitle" size="80" value=""/> </td>
</tr>
<tr>
<td align="left" valign="top" class="list-header">
<div class="form-optional">Azpititulua</div>
</td>
<td align="left" valign="top">
<input type="text" name="subtitle" size="80" value=""/>
</td>
</tr>
<tr>
<td align="left" valign="top" class="list-header">
<div class="form-optional">Noiz</div>
</td>
<td align="left" valign="top">
<input type="text" name="entry_date" size="40" value=""/>
</td>
</tr>
<tr>
<td align="left" valign="top" class="list-header">
<div class="form-label">Atala</div>
</td>
<td align="left" valign="top">
<select name="main_category:int">
<dtml-in category_list>
<option value="<dtml-var id>"><dtml-var name missing="category name is missing"></option>
</dtml-in>
</select>
</td>
</tr>
<tr>
<td align="left" valign="top" class="list-header">
<div class="form-optional">Azpiatalak</div>
</td>
<td align="left" valign="top">
<dtml-in category_list>
<input type="checkbox" name="sub_category:list" value="<dtml-var id>" /><dtml-var name missing="category name is missing">
</dtml-in>
</td>
</tr>
<input type="hidden" name="format:int" value="1">
<tr>
<td align="left" valign="top" class="list-header">
<div class="form-label">Sarrera</div>
</td>
<td align="left" valign="top">
<textarea name="thebody:text" style="width: 500px; height: 250px; border: 1px solid #000000;"></textarea>
</td>
</tr>
<tr>
<td align="left" valign="top" class="list-header">
<div class="form-optional">Gorputza</div>
</td>
<td align="left" valign="top">
<textarea name="extend:text" cols="60" rows="6"></textarea>
</td>
</tr>
<tr>
<td align="left" valign="top" class="list-header">
<div class="form-optional">Laburpena</div>
</td>
<td align="left" valign="top">
<textarea name="excerpt:text" cols="60" rows="6"></textarea>
</td>
</tr>
<tr>
<td align="left" valign="top" class="list-header">
<div class="form-label">Erantzunak</div>
</td>
<td align="left" valign="top">
<select name="allow_comment:int">
<option value="0" >Ezer ez (ezin gehitu, ezkutatuta)</option>
<option value="1" selected>Irekita (gehitu daiteke, agerian)</option>
<option value="2" >Itxita (ezin gehitu, agerian)</option>
</select>
</td>
</tr>
<tr>
<td align="left" valign="top" class="list-header">
<div class="form-label">Trackback-ak</div>
</td>
<td align="left" valign="top">
<select name="receive_trackback:int">
<option value="0" >Ezer ez (ezin gehitu, ezkutatuta)</option>
<option value="1" selected>Irekita (gehitu daiteke, agerian)</option>
<option value="2" >Itxita (ezin gehitu, agerian)</option>
</select>
</td>
</tr>
<tr>
<td align="left" valign="top" class="list-header">
<div class="form-label">Egoera</div>
</td>
<td align="left" valign="top">
<select name="moderated:int">
<option value="0" >Itxita</option>
<option value="1" selected>Irekita</option>
</select>
</td>
</tr>
<tr>
<td align="left" valign="top" class="list-header">
<div class="form-optional">Argazkia</div>
</td>
<td align="left" valign="top">
<input type="file" name="photo">
</td>
</tr>
<tr>
<td align="left" valign="top" class="list-header" rowspan="2">
<div class="form-optional">Trackback helbidea(k)</div>
</td>
<td align="left" valign="top">
<textarea name="trackback_url:text" cols="60" rows="4"></textarea>
</td>
</tr>
<tr>
<td align="left" valign="top">
<input type="checkbox" name="sendnow" checked />Bidali trackback eskaera(k) orain
</td>
</tr>
<tr>
<td align="left" valign="top">
</td>
<td align="left" valign="top">
<div class="form-element">
<input class="form-element" type="submit" name="submit" value="Artikulua gehitu" />
</div>
</td>
</tr>
</table>
</form>
</div>
</div>
</div>
<dtml-var blog_footer>
Metodo honek "manage_addEntry2" izeneko beste bati deitzen dio, honek hainbat gauza egin ditzan (irudia gehitu irudien karpetan, sarreraren hasieran lerro bat gehitu irudia sartzeko, aurrebista erakutsi) COREBlog-en jatorrizko "manage_addEntry" metodoari deitu aurretik. Hau da "manage_addEntry2" metodoaren edukia:
<dtml-var blog_header>
<dtml-var blog_banner>
<dtml-if photo>
<dtml-call "REQUEST.set('numblist',[])">
<dtml-in "images.objectIds()">
<dtml-if "_.getitem('sequence-item')[:4]=='img_'">
<dtml-call "numblist.append(_.int(_.getitem('sequence-item')[4:]))">
</dtml-if>
</dtml-in>
<dtml-if "_.len(numblist)==0">
<dtml-call "REQUEST.set('imgnumber',0)">
<dtml-else>
<dtml-call "REQUEST.set('imgnumber',_.max(numblist)+1)">
</dtml-if>
<dtml-call "images.manage_addImage('img_'+_.str(imgnumber),photo)">
<dtml-call "REQUEST.set('thebody2','<img src="./images/img_'+_.str(imgnumber)+'" border="0"><br>\n')">
<dtml-else>
<dtml-call "REQUEST.set('thebody2','')">
</dtml-if>
<dtml-call "REQUEST.set('thebody2',thebody2+thebody)">
<h3 class="title">Confirm</h3>
<div id="content">
<div class="blog">
<div class="entry">
<div class="blogbody">
<h3 class="title"><dtml-var thetitle></h3>
<dtml-if "_.len(subtitle)>0"><div class="subtitle"><dtml-var subtitle></div></dtml-if>
<dtml-in category_list>
<dtml-if "_.int(id)==main_category">
<dtml-call "REQUEST.set('catname',name)">
</dtml-if>
</dtml-in>
<div class="category">
<a href="<dtml-var blogurl missing="">/categorylist_html?cat_id=<dtml-var main_category>">[<dtml-var catname missing="category name is missing">]</a>
</div>
<p>
<dtml-call "REQUEST.set('thebody3',_.string.replace(_.string.replace(_.string.replace(thebody2,'<','<'),'>','>'),'"',_.chr(34)))">
<dtml-in "_.string.split(thebody3,'\n')">
<dtml-let bodyline="_.getitem('sequence-item')">
<dtml-if "_.getitem('sequence-index')==0">
<dtml-call "REQUEST.set('bodylist',[])">
<dtml-if "bodyline[0:4]=='<img'">
<dtml-let entry_image="bodyline[_.string.find(bodyline,'src=')+5:_.string.find(bodyline,_.chr(34),_.string.find(bodyline,'src=')+5)]">
<dtml-let theheight="images[entry_image[_.string.rfind(entry_image,'/')+1:_.len(entry_image)]].height">
<dtml-let thewidth="images[entry_image[_.string.rfind(entry_image,'/')+1:_.len(entry_image)]].width">
<dtml-if "thewidth>theheight">
<dtml-if "thewidth<300">
<dtml-call "REQUEST.set('imagewidth',thewidth)">
<dtml-else>
<dtml-call "REQUEST.set('imagewidth',300)">
</dtml-if>
<dtml-else>
<dtml-if "theheight<300">
<dtml-call "REQUEST.set('imagewidth',thewidth)">
<dtml-else>
<dtml-call "REQUEST.set('imagewidth',300*thewidth/theheight)">
</dtml-if>
</dtml-if>
</dtml-let>
</dtml-let>
<a href="<dtml-var entry_image>"><dtml-var "bodyline[:_.string.index(bodyline,'>')]"> width="<dtml-var imagewidth>"></a><br>
</dtml-let>
<dtml-else>
<dtml-call "bodylist.append(bodyline)">
</dtml-if>
<dtml-else>
<dtml-call "bodylist.append(bodyline)">
</dtml-if>
</dtml-let>
</dtml-in>
<dtml-call "REQUEST.set('changedbody',_.string.join(bodylist,'\n'))">
<dtml-if "format == 0">
<dtml-var changedbody newline_to_br>
<dtml-elif "format == 1">
<dtml-var changedbody fmt=structured-text>
<dtml-elif "format == 2">
<dtml-var changedbody>
</dtml-if>
</p>
<br clear="all" />
<p>
<a name="more"></a>
<dtml-if "format == 0">
<dtml-var extend newline_to_br>
<dtml-elif "format == 1">
<dtml-var extend fmt=structured-text>
<dtml-elif "format == 2">
<dtml-var extend>
</dtml-if>
</p>
<dtml-if entry_date>
<dtml-call "REQUEST.set('thedate',entry_date)">
<dtml-else>
<dtml-call "REQUEST.set('thedate',_.DateTime())">
</dtml-if>
<div class="posted">Posted by: <b><dtml-var author></b> Time: <dtml-var thedate></div>
<div class="comments-body">
<form ACTION="manage_addEntry" METHOD="POST">
<input type="hidden" name="author" value="<dtml-var author>" />
<input type="hidden" name="title" value="<dtml-var thetitle>" />
<input type="hidden" name="subtitle" value="<dtml-var subtitle>" />
<input type="hidden" name="entry_date" value="<dtml-var thedate>" />
<input type="hidden" name="main_category:int" value="<dtml-var main_category>" />
<dtml-if sub_category>
<dtml-if "objecttype(sub_category)=='list'">
<dtml-in sub_category>
<input type="hidden" name="sub_category:list" value="<dtml-var sequence-item>" />
</dtml-in>
<dtml-elif "objecttype(sub_category)=='string'">
<input type="hidden" name="sub_category:list" value="<dtml-var sub_category>" />
</dtml-if>
</dtml-if>
<input type="hidden" name="format:int" value="<dtml-var format>">
<input type="hidden" name="body" value="<dtml-var "_.string.replace(_.string.replace(_.string.replace(thebody2,'<','<'),'>','>'),_.chr(34),'"')">">
<input type="hidden" name="extend" value="<dtml-var "_.string.replace(_.string.replace(_.string.replace(extend,'<','<'),'>','>'),_.chr(34),'"')">">
<input type="hidden" name="excerpt" value="<dtml-var "_.string.replace(_.string.replace(_.string.replace(excerpt,'<','<'),'>','>'),_.chr(34),'"')">">
<input type="hidden" name="allow_comment:int" value="<dtml-var allow_comment>">
<input type="hidden" name="receive_trackback:int" value="<dtml-var receive_trackback>">
<input type="hidden" name="moderated:int" value="<dtml-var moderated>">
<input type="hidden" name="trackback_url:text" value="<dtml-var trackback_url>">
<input type="hidden" name="sendnow" value="<dtml-var sendnow>"> <input type="submit" name="submit" value="Add Entry" />
</form>
</div>
</div>
</div>
</div>
</div>
<dtml-var blog_footer>
Gero "objecttype" izeneko python script bat gehitu behar da, "object" izeneko parametroa hartzen duena eta eduki hau duena:
if object is None:
return 'None'
s = str(object)
if object==s:
return 'string'
try:
t = object.meta_type
return t
except:
pass
try:
l = len(object)
if s[0]=='[':
return 'list'
if s[0]=='(':
return 'tuple'
if s[0]=='{':
return 'dict'
return 'sequence'
except:
pass
try:
t = object.timeTime()
return 'DateTime'
except:
pass
try:
val = int(object)
if val is object:
return 'integer'
return 'number'
except:
return 'unknown'
Bukatzeko, baimen batzuk aldatu behar dira. "Manager" eta "owner" erabiltzaileei "View" baimena emango diegu hasieran aipatutako "addEntryForm" formularioan, eta "Add COREBlog entries" eta "Add documents, images and files" COREBlog objektuan.
Eta kitto! Orain kolaboratzaile berri bati artikuluak gehitzeko aukera eman nahi diogun bakoitzean, "acl_users" karpetan erabiltzaile berri bat gehituko dugu, "owner" motakoa. Hauek beren pasahitzarekin "addEntryForm" formularioa erabil dezakete artikuluak gehitzeko, hasieran irudi bat ere sartzeko aukerarekin, baina ezin dituzte kudeaketako beste pantailak ikusi.
Bi limitazio ditu oraingoz: gehitutako artikuluak testu egituratua formatuan egon behar dira eta ezin da EPOZ edizio zerbitzua erabili.
Aurreko artikuluak:
Marrazkirri komiki erakusketa
Berriako Eneko Bidegainek lehengo egunean ekarri euskun Tartea gehigarridxan MARRAZKIRRI izeneko erakusketa martxan ipini daualako albistea.
Erakusketa IZURAn (Nafarroa Beherea) egongo da ikusgai martxoaren 20a arte, bertoko Haize Berri kultura etxean, eta handik aurrera BILBOko Kafe Antzokian apirilera arte.
MARRIZKIRRIn Euskal Herri osoko 30 bat marrazkilarik hartuko dabe parte, besteak beste, Asisko Urmenetak (antolatzaileetakoa bera be bai) eta Marko Armspachek. Urtero prestatzen ei dituzte holakoak, eta aurtongo leloa edo "UKAN ALA IZAN" galdera xespirianoa da.
Abisauta zagozie! (Ez dago zergaitik).
Torrentocracy, eduki multimedia libreak banatzeko sarea
MythTV-ren instalazioa oraindik guztiz amaitu ez badut ere (bukatzean jarraituko dut MythTV-ri buruzko artikulu sortarekin), Torrentocracy plugin ez ofizialari buruz hitz egin nahi nuke, Patxi Gaztelumendik bere blogean idatzi duenaren harira. Izan ere, Patxik internet eta P2P sareak aipatzen ditu Korrika 14-ko bideoa zabaltzeko bide posible gisa. Eta Torrentocracy, MythTV-rentzako eduki multimedia libreak jaitsi eta ikusteko plugin bat izateaz gain, eduki multimedia libreak banatzeko sarea ere bada (edo izan nahi du), blog eta bittorrent teknologiak konbinatuz.
Torrentocracy proiektuaren asmoa da eduki multimedia libreak banatzeko sare bat antolatzea. Horretarako blogak erabiliko lirateke. Blog sare bat osatu nahi dute. Ikusentzunezko materialeren bat konpartitu nahiz gero, blog horietako baten artikulu bat gehitzen da, bertan bittorrent esteka txertatuz. Bi adibide, bt.etree.org (beraien musika banatzea libreki banatzea onartzen duten taldeen zuzeneko emanaldiak) eta Legaltorrents.com (musika, liburuak, pelikulak...).
Esan bezala, sare horrez gain MythTV-rekin erabiltzeko plugin bat garatu dute. Horren bidez, sare horretako hainbat blogetara harpidetu gaitezke, berria zer dagoen ikusi, interesatzen bazaigu jaisteko agindu eta jaitsitakoan ikusi.
Baina Torrentocracy MythTV-rako plugina aparte utzita, bere berri izan nuenetik Torrentocracy sarea (edo ideia) euskal mundurako oso interesgarria izan zitekeela iruditu zitzaidan, eta gaur Patxi Gaztelumendiren artikuluak hori baieztatu dit. Blog bat antolatu genezake euskarazko edo Euskal Herriko edo Euskal Herriari buruzko eduki multimedia publikatzeko. Hor jarri ahal izango genituzke MacGyver-en bideoa, Korrika 14-koa eta beste batzuk, beti irratia.com-ekoek (euren banda-zabaleraren kalterako) jartzen ibili beharrik gabe... Eta gero blog hori Torrentocracy sarean integratu daiteke. Aurki berriarentzako ideia izan daiteke?
Nola hobetu zure COREBlog bloga II: Kontaktu orria spam-a ekiditeko
Gure blogean guri idazteko <a href="mailto:emaila@domeinua.com">emaila@domeinua.com</a> motako esteka bat jartzen badugu, ziur egon gaitezke handik gutxira gure postontzian spam-a jasotzen hasiko garela. Irakurri hemen hori nola ekidin kontaktu orri baten bidez.
Spam-a posta elektronikoa duen eta interneten ibiltzen den ia edozeinek jasaten duen lakra da. Gure helbidea spammer-en eskuetara iritsiz gero, akabo! Baina nola lortzen du jendaila horrek gure helbidea?
Gizatxar horiek robotak dituzte uneoro interneta arakatzen (ez robotak zentzu hertsian ulertuta, programa automatikoak esan nahi da) mailto erreferentzien eta @ zeinuaren bila, eta horrela lortzen dituzte helbideak. Horregatik ez da ideia ona gure blogean gurekin kontaktatzeko mailto motako esteka bat jartzea.
Eta nola eman diezaiokegu gure blogaren irakurleari gurekin kontaktatzeko aukera, hori erabili gabe? Kontaktu orri baten bidez. Jarraian azalduko dut nola egin kontaktu orri bat Coreblog erabiltzen duten blogetan (Eibar.org-en ostatatutako edozeinetan, beraz).
Hasteko, gure bloga aldatzeko pantailan sartuko gara gure klabearekin. Hor Mail Host elementu berri bat sortuko dugu eta "MailHost" izena jarri, beste balioak defektuzko balioan utzita.
Gero sortu DTMLMethod elementu berri bat, "kontaktatu" izenarekin, eta bertan eduki hau idatzi:
<dtml-var standard_html_header>
<h3>Kontaktatu</h3>
<form method="post" action="kontaktatu2">
<table>
<tr>
<td align="right" valign="top">Izena:</td>
<td><input type="text" name="izena" value="" size="40"></td>
</tr>
<tr>
<td align="right" valign="top">Posta elektronikoa:</td>
<td><input type="text" name="emaila" value="" size="40"></td>
</tr>
<tr>
<td align="right" valign="top">Gaia:</td>
<td><input type="text" name="gaia" value="" size="40"></td>
</tr>
<tr>
<td align="right" valign="top">Esatekoa:</td>
<td><textarea name="edukia" rows="10" cols="40"></textarea></td>
</tr>
<tr>
<td></td>
<td valign="top"><input type="submit" value="Bidali"></td>
</tr>
</table>
</form>
<dtml-var standard_html_footer>
Ondoren "kontaktatu2" izeneko beste DTMLMethod bat sortu, barruan hau idatziz:
<dtml-var standard_html_header>
<dtml-call "kontaktatu3(izena,emaila,gaia,edukia)">
Zure mezua bidali da<br />
Jarraitzeko, egin klik <a href="<dtml-var blog_url>">hemen</a>.
<dtml-var standard_html_footer>
Jarraian "kontaktatu3" izeneko Script (Python) bat sortu. Parametroetan "izena,emaila,gaia,edukia" jarri eta edukian ondokoa:
try:
mailhost=getattr(context,context.superValues('Mail Host')[0].id)
except:
raise AttributeError, "Mail Host object cant be found."
to_addr = guremaila@guredomeinua.com
mMsg = """To: %s
From: %s
Mime-Version: 1.0
Content-Type: text/plain;
blogetik bidalitako mezua
Bidaltzailea: %s [%s]
Gaia: %s
%s""" % (to_addr , emaila , izena, emaila, gaia, edukia)
mTo = to_addr
mFrom = emaila
mSubj = gaia
mailhost.send(mMsg, mTo, mFrom, mSubj)
Eta listo! Orain gure orri nagusian kontaktu orri horretarako linka jartzea besterik ez da falta.
Hala ere, hau ez da nahikoa. Honekin guri spam-a ez iristea lortuko dugu, baina gure blogera erantzunak idazten dituen jendea spammer-en esku uzten jarraitzen dugu. Izan ere, Coreblog-ek duen (nire ustez) akats bat medio, gure blogera erantzunak idazten dituen jendearen posta helbideak mailto erreferentziekin erakusten dira... eta webgune serioek jada ez dute horrelakorik egiten.
Hori konpontzeko bi gauza egin ditzakegu:
- Aldaketa txiki bat egin e-maila ez erakusteko
- Horrez gain, blogaren irakurleek erantzun duen jendearekin kontaktatu dezaten ahalbidetu kontaktu orriaren bidez
Lehenengoa egitea oso sinplea da. Ireki "comment_body" izeneko metodoa eta <div class="comments-post"><dtml-var "gettext('Posted by:')"><b> jartzen duen tokiaren ondoren eta </b> aurretik datorrena honegatik ordeztu:
<dtml-try>
<dtml-if "_.len(url)>0 or (REQUEST.form.has_key('url') and _.len(REQUEST.form.has_key('url'))>0)">
<a href="<dtml-if "REQUEST.form.has_key('url')"><dtml-var "removeHTML(REQUEST.form['url'])"><dtml-else><dtml-var url missing=""></dtml-if>"><dtml-if "REQUEST.form.has_key('author')"><dtml-var "removeHTML(REQUEST.form['author'])"><dtml-else><dtml-var author missing=""></dtml-if></a>
<dtml-else>
<dtml-if "REQUEST.form.has_key('author')"><dtml-var "removeHTML(REQUEST.form['author'])"><dtml-else><dtml-var author missing=""></dtml-if>
</dtml-if>
<dtml-except>
<dtml-if "REQUEST.form.has_key('author')"><dtml-var "removeHTML(REQUEST.form['author'])"><dtml-else><dtml-var author missing=""></dtml-if>
</dtml-try>
Bigarrena egitea konplikatuxeagoa da. Horretarako kontaktu orria erabili behar da, baina kontaktu orriari jakinarazi behar zaio nori bidali behar dion emaila, helbidea estekan erakutsi gabe, enkriptatuta. Aurrez aipatutako kontaktu orriko metodoak berridatzi behar dira eta beste metodo batzuk sortu. Jarraian azalduko dut prozesu guztia.
Hasteko, "comment_body" metodoan, aurrekoa jarri beharrean beste hau jarriko dugu:
<dtml-try>
<dtml-if "_.len(url)>0 or (REQUEST.form.has_key('url') and _.len(REQUEST.form.has_key('url'))>0)">
<a href="<dtml-if "REQUEST.form.has_key('url')"><dtml-var "removeHTML(REQUEST.form['url'])"><dtml-else><dtml-var url missing=""></dtml-if>"><dtml-if "REQUEST.form.has_key('author')"><dtml-var "removeHTML(REQUEST.form['author'])"><dtml-else><dtml-var author missing=""></dtml-if></a>
<dtml-elif "_.len(email)>0 or (REQUEST.form.has_key('email') and _.len(REQUEST.form.has_key('email'))>0)">
<a href="<dtml-var blog_url>/kontaktatu?norekin=<dtml-if "REQUEST.form.has_key('author')"><dtml-var "removeHTML(REQUEST.form['author'])"><dtml-else><dtml-var author missing=""></dtml-if>&emailanori=<dtml-if "REQUEST.form.has_key('email')"><dtml-var "enkriptatu(removeHTML(REQUEST.form['email']))"><dtml-else><dtml-var "enkriptatu(email)" missing=""></dtml-if>"><dtml-if "REQUEST.form.has_key('author')"><dtml-var "removeHTML(REQUEST.form['author'])"><dtml-else><dtml-var author missing=""></dtml-if></a>
<dtml-else>
<dtml-if "REQUEST.form.has_key('author')"><dtml-var "removeHTML(REQUEST.form['author'])"><dtml-else><dtml-var author missing=""></dtml-if>
</dtml-if>
<dtml-except>
<dtml-if "REQUEST.form.has_key('author')"><dtml-var "removeHTML(REQUEST.form['author'])"><dtml-else><dtml-var author missing=""></dtml-if>
</dtml-try>
Gero "enkriptatu" izeneko Script (Python) bat sortuko dugu, "emaila" parametroa hartzen duena eta hau daukana barruan:
klabea="87hugf9iv"
enkriptatua=""
for ind in range(len(emaila)):
enkriptatua=enkriptatua+str(100+ord(emaila[ind])+ord(klabea[ind % len(klabea)]))
return enkriptatua
Klabea nahi duzuna eta nahi duzun luzerakoa jar dezakezu. Beste script bat egin beharko dugu "dekriptatu" izenekoa, "enkriptatua" parametroa jaso eta eduki hau duena:
klabea="87hugf9iv"
emaila=""
for ind in range(len(enkriptatua)/3):
emaila=emaila+chr(int(enkriptatua[ind*3:ind*3+3])-100-ord(klabea[ind % len(klabea)]))
return emaila
Klabeak aurreko metodoan idatzi dugunaren berdina izan behar du. Eta bukatzeko, lehen sortu ditugun "kontaktatu", "kontaktatu2" eta "kontaktatu3" elementuak aldatu, honela:
kontaktatu:
<dtml-var standard_html_header>
<h3>Kontaktatu <dtml-if norekin><dtml-var norekin>(r)ekin<dtml-else>blogaren egilearekin</dtml-if></h3>
<form method="post" action="kontaktatu2">
<input type="hidden" name="norekin" value="<dtml-if norekin><dtml-var norekin><dtml-else>blogaren egilea</dtml-if>">
<input type="hidden" name="emailanori" value="<dtml-if emailanori><dtml-var emailanori><dtml-else><dtml-var "enkriptatu('guremaila@guredomeinua.com')"></dtml-if>">
<table>
<tr>
<td align="right" valign="top">Izena:</td>
<td><input type="text" name="izena" value="" size="40"></td>
</tr>
<tr>
<td align="right" valign="top">Posta elektronikoa:</td>
<td><input type="text" name="emaila" value="" size="40"></td>
</tr>
<tr>
<td align="right" valign="top">Gaia:</td>
<td><input type="text" name="gaia" value="" size="40"></td>
</tr>
<tr>
<td align="right" valign="top">Esatekoa:</td>
<td><textarea name="edukia" rows="10" cols="40"></textarea></td>
</tr>
<tr>
<td></td>
<td valign="top"><input type="submit" value="Bidali"></td>
</tr>
</table>
</form>
<dtml-var standard_html_footer>
kontaktatu2:
<dtml-var standard_html_header>
<dtml-call "kontaktatu3(norekin,dekriptatu(emailanori),izena,emaila,gaia,edukia)">
Zure mezua bidali da<br />
Jarraitzeko, egin klik <a href="<dtml-var blog_url>">hemen</a>.
<dtml-var standard_html_footer>
kontaktatu3:
Parametroak: norekin,norekinemaila,izena,emaila,gaia,edukia
Edukia:
<try:
mailhost=getattr(context,context.superValues('Mail Host')[0].id)
except:
raise AttributeError, "Mail Host object cant be found."
to_addr = norekinemaila
mMsg = """To: %s
From: %s
Mime-Version: 1.0
Content-Type: text/plain;
blogetik bidalitako mezua
Bidaltzailea: %s [%s]
Gaia: %s %s""" % (to_addr , emaila , izena, emaila, gaia, edukia)
mTo = to_addr
mFrom = emaila
mSubj = gaia
mailhost.send(mMsg, mTo, mFrom, mSubj)
Eta kitto!
Honekin ziurtatuta dugu spammer-ek ez dutela lortuko gure posta helbiderik ez guri erantzuten diguten jendearenik ere. Hala ere, ez da guztiz spama ekiditen. Nik herenegun nire posta helbidean spam-a jaso nuen, blogeko kontaktu orriaren bidez bidalia! Edozein modutan, spammer-ari jende mordo baten kontaktu orriak betetzea askoz zailagoa egiten zaio jende pila bati emaila bidaltzea baino, beraz uste dut (eta espero dut!) asko ez zaidala iritsiko... Baina nork daki, spammer-ak jartzen dizkiegun zailtasunak gainditzen joango dira eta agian laster kontaktu orrien bidez ere erraz bidaliko dute...
Aurreko artikuluak:
Marjane Satrapi, berriz irabazle Angoulêmen
Aste honetan bertan idatzi dut blog honetan Marjane Satrapiren "Persepolis" lanari buruzko artikulu bat, lehenago Angoulêmen gidoi onenaren saria irabazitakoa. Ba oraintxe bertan jakin dut bere azken lanak, "Poulet aux Prunes"-ek, irabazi duela aurtengo sari nagusia, album onenari ematen diotena.
Atzo gauean izandako sari banaketan bertan jakinarazi zuten izendatutakoen artetik nor den irabazlea, Oscarren antzera. Ekitaldiak ere Oscarren itxurakoa dirudi, argazkiaren arabera... Behintzat "Persepolis" komikiko Marjane protagonistaren benetako aurpegia ikusi ahal izateko balio digu!
Irudia: www.bdangouleme.com
Ea noiz dudan aukera lan berri hau irakurtzeko. Ez dut uste oraindik Espainian eta gaztelaniaz argitaratu dutenik, baina Hendaia hortxe bertan daukat, eta bestela eMule hor dago...
"Persepolis", xalotasunaren sakontasuna
Duela gutxi eskuratu nuen Marjane Satrapiren "Persepolis" obraren 4. tomoa, eta serie osoa berrirakurtzeko aprobetxatu dut. Lan ederra eta sakona da oso, haur baten ikuspegi inozentetik Iraneko azken 30 urteotako historia, politika eta gizarte mailako kontu gogorrak ezin hobeto kontatzen dituena. 2002. urtean Angulemako komiki-azokan gidoi onenaren saria irabazi zuen.
"Persepolis" lana Marjane Satrapiren komiki autobiografikoa da. Iraneko kapitalean, Teheranen, jaio zen Marjane, eta bere bizitza ezin da ulertu bere herriaren testuinguru historiko eta politikoan ez bada. Honela, bere bizitza berak gogoratzen duen unetik (6 urte inguru zituenetik edo) kontatuz, Iraneko azken 30 urteen historia gogorra kontatzen du: diktadura, iraultza, errejimen integrista, Irakekiko gerra...
Istorioa, baina, haur baten (bera halaxe baitzen) ikuspegitik kontatzen du, haur batek soilik izan dezakeen ikuspuntu xalotik. Baina xalotasun horretatik gauza sakon eta gogorrak deskubritzen ditu, eta dizkigu. Asko pentsarazten digu eta hausnarketa sakonak eragin. Istorio arras hunkigarria da, une askotan negar eragiten duena.
Irudiak ere gidoia bezalakoxeak dira, sinpleak baina asko gordetzen dutenak. Sinpletasun ikaragarrizkoak, haur batek marraztuak balira bezala, txuri eta beltz hutsean. Ez baita gehiago behar benetako bizitzako istorio errealak kontatzeko, eta agian txuri-beltz hori delako kontakizun krudel horiek kontatzeko modurik onena.
Irudia: Marjane Satrapi
Lehen eta bigarren tomoetan Marjanek bere haurtzaroa kontatzen digu. Marjaneren familia diruduna, ikasia eta modernoa da. 70eko hamarkadako Sha-ren diktaduran errejimenaren aurka daude, ezkerrekoak izaki (horren kontraesan guztiak ere azalerarazten ditu Marjik). Euren ingurukoek jasandako krudelkeriak kontatzen ditu. Iraultzak irabaztean, euren esperantzak zapuztuta ikusten dituzte, errejimen berria erlijioaren integristek osatzen dutela ikustean. Orduan garai are gogorragoak hasten dira, errepresioa eta Irakekiko gerrarekin. Marjane txikiak ez du bere ingurua ulertzen eta bere aurka altxatzen da.
Hirugarren tomoan gurasoek Marji Europara bidaltzen dute, bizimodu duina eta arriskutik librea izan dezan. Austrian pasatuko du bere nerabezaroa, baina bertako bizimodua ere ez zaio erraza egiten. Gure gizartearen kontraesan ugari erakusten ditu. Bere haragitan bizitzen ditu kanpotarrekiko mespretxua batzutan, indiferentzia beste batzuetan eta exotikoarekiko miresmen/adeitasun faltsua bestetan.
Hirugarren tomoaren amaieran Marjane Iranera itzultzen da, eta badirudi hor bukatzen dela serie guztia, lehen tomoa hasi zuen irudi berarekin bukatzen baitu hirugarrena, zapiarekin. Baina laugarren tomo bat dago, non Iranen bere heldu bizitza kontatzen duen, azkenean, bertako egoerak asfixiatuta, betirako Europara bizitzera joatea erabakitzen duen arte.
Nik ez ditut atsegin gurea bezalakoa ez diren gizarteei maiz egiten zaizkien kritikak, euren kontestuan kokatu gabe edo euren egoera ulertu gabe, mundua guztia gure parametroen arabera egon beharko balitz bezala. Eta esan dudanagatik agian irudi luke Satrapik Irani egiten dion kritika gogorra jende okzidentalizatuaren ikuspuntu horretatik egiten duela. Ez da horrela. Berak maite du bere herria. Abertzalea da eta erlijiosa ere bada, integrismoa eta errepresioa da kritikatzen duena. Eta horren froga da Europako bizimodua ere asko kritikatzen duela.
Nik lehen bi tomoak izugarri atsegin ditut. Kalitate itzela dute. Haurraren ikuspegi horretatik erabiltzen duen ironia eta kritika oso orijinalak eta sakonak dira. Hirugarren eta batez ere laugarren tomoetan ikuspegi hori galtzen du (derrigorrez), baina hala ere oso ongi eginak egoten jarraitzen dute, eta seriea bere osotasunean ikusita oso ona da. Nire gusturako hirugarrena da agian eskastxoena, ziur aski niretzat ezaguna den gizarte bat deskribatzen duelako eta ez didalako besteek besteko gizarte baten "deskubrimendua" egiten. Edo agian ni ere, munduko pertsona izan nahi arren, sakonean okzidentalizatu dirudun bat besterik ez naizelako eta nire gizartearen kontraesan, miseria eta okerkeriak erakusten dizkidalako izango da?
Lan borobila Marjane Satrapiren lehen obra hau. Bere egilearen azterketa-gaitasun eta maisutasun sakonaz ohartzeko, bereziki gustatzen zaidan pasartetxo iragarle bat (kontuan izan 1999koa dela): 1979an Sha-ren errejimenaren aurkako iraultzak irabazi eta gero, Marji eta bere ama pozik daude eta aitak dio "Ekialde Ertainean petrolioa daukagun artean, ez dugu bakerik ezagutuko".
Fitxa |
---|
Izenburua: Persepolis Gidoia eta irudiak: Marjane Satrapi Argitaletxea: Norma Urtea: 2002 - 2003 - 2003 - 2004 ISBN: 84-8431-561-4 - 84-8431-562-2 - 84-8431-704-8 - 84-8431-936-9 |