Tā kā neviens ilgu laiku nav sūdzējies par kādām kļūdām mana stila kodā, tad beidzot nolēmu to publiskot. Tā ID ir 3131 un tas saucas Elisa. (Uzlikt paši tak' mācēsiet, ne?)
Ja nu kāds nesaprot, kas tas ir, tad paskaidrošu, ka tas ir gan mana žūrnāla, gan šīs kopienas S2 stila kods. Tiesa gan, abiem ir nelielas izmaiņas theme slāņos (individualitātei), taču layout kods ir viens un tas pats (3131).
Ar ko tas tik īpašs..? Nu.. Tas ir mans un man tas patīk. :) Tam ir table-less dizains. Tas, manuprāt, ir labs piemērs, ja kāds neko daudz nesaprot no S2, bet noteikti vēlas ar kaut ko sākt. Tā ka, lūdzu! (Ja ir jautājumi, tad arī, lūdzu.)
Divas string
funkcijas, kas jums varētu noderēt. Pārpublicētas no s2layers kopienas
ieraksta "bunches
of string functions". Ja kādu dikti interesē, tur ir vēl dažas.
[2005/03/15] Šis bija specifisks ieraksts konkrētam gadījumam, taču es to pamainīju, lai tas būtu pielietojamāks arī citiem. Cerams, noderēs. Zemāk esošais kods ir Digital Multiplex tēmas slānim, tas izveido jaunu 'kasti' zem navigācijas, atstāju to šeit iepriekšminētā nolūka dēļ.
Par tēmas (Theme) slāņiem.
Sākumpunkts ir SC uzlabotās pielāgošanas sadaļa, manis nosauktajiem linkiem vajadzētu tur atrasties. Dodies uz Your Layers sadaļu. Visticamāk, ka tur neieraudzīsi neko daudz, varbūt pāris User slāņus. Tā kā Tu vēlies izveidot tēmas slāni, tad pie iedaļas Create Layout-Specific Layer kā Type izvēlies Theme. Turpat blakus kā Layout izvēlies to slāni (būtībā Layout ir tas, kas ietver sevī visu nepieciešamo stilam, un pārējie slāņi to tikai paplašina), kuru šobrīd lieto. Click Create. Slāņu sarakstā vajadzētu parādīties jaunam slānim ar nosaukumu (none), tieši zem Child of layer [pamatslāņa ID]: [pamatslāņa nosaukums] rindiņas. OK, slānis ir izveidots. Lai mainītu tā saturu, spied Edit. Kad esi veicis izmaiņas, spied Compile. Ja parādās paziņojums, ka kļūdu nav - No Errors - tad viss kārtībā, slānis ir veiksmīgi mainīts. Ja parādās kādas kļūdas, pārbaudi, vai esi visu sarakstījis vai sakopējis pareizi. Slāni dzēst iespējams Your Layers sadaļā (Delete, ja nu kas).
Jaunā slāņa lietošana.
Tagad jāpiedabū stilu lietot jauno slāni. No sākumpunkta dodies uz Your Styles (šis links pieejams arī Your Layers sadaļā, un, attiecīgi, links uz slāņu sadaļu ir pieejams arī Your Styles sadaļā). Varētu būt, ka tur ieraudzīsi vairākus stilus, kurus esi kādreiz lietojis. Izceltais ir tas, kuru Tu pašlaik lieto, un tas ir vienīgais, kurš Tevi šobrīd interesē (protams, ja vien nevēlies mainīt kādu citu, taču tādā gadījumā šaubos, ka Tev nepieciešama šī pamācība). Ja jūties pietiekami drosmīgs, vari dzēst visus pārējos. Spied Edit tieši blakus savam stilam. Vari smukuma pēc mainīt stila vārdu (neko vairāk gan labāk neaiztikt), bet mūs interesē jaunais tēmas slānis, tāpēc pie Theme sadaļas izvēlies attiecīgo slāni. Ja iedevi vārdu (layerinfo name = "vārds";
), būs vieglāk, taču es domāju, ka saprast anyway varēs. Kad tas ir darīts, spied Save Changes, kas atrodas apakšā (lūdzu, nejaukt ar Change, tas maina Layout slāni). Un viss. vari apskatīt jaunradījumu, atverot saiti, kas ir iekavās aiz stila nosaukuma. Ja kas nepatīk, dodies uz slāņu sadaļu un maini tēmas slāni (atceries tikai, ka slānis jau ir saistīts ar stilu, un Tev nevajag iet visu procesu no sākuma, atliek tikai kompilēt un skatīties, kas sanāk).
tātad, ir iespējams pievienot jebkura sc žurnāla adreses galā argumentu ?s2id=xxxx
, kur xxxx
vietā tiek ierakstīts s2 stila identifikators, šādi panākot jebkura žurnāla atainošanu konkrētajā stilā, ja esi tā īpašnieks un esi iežurnalējies, vai arī panākot tikai stila īpašnieka žurnāla atainošanu konkrētajā stilā, ja neesi iežurnalējies. layerinfo is_public = 1;
neko nemainīs, tā tas ir un paliks, šķiet.
ir iespējams padarīt savus slāņus publiskus, lietojot tieši šim nolūkam paredzēto jau minēto layerinfo is_public = 1;
. pēc šīs rindiņas pievienošanas viss, ko atliek izdarīt, ir publiskot šī slāņa identifikatoru, arī kādu četrciparu skaitli. to pielieto 'uzlabotās pielāgošanas' teritorijā, izveidojot jaunu stilu, pēc stila nosaukuma ievadīšanas 'edit style' lapā izvēloties lietot slāni ar nosaukumu "Other ...", kas ļauj ievadīt publiskotā slāņa identifikatoru. tātad, ir iespējams pat publiskot slāni, nemaz nepubliskojot pašu kodu ar (neuzmanības kļūdas, kā vienmēr. pareizi būtu layerinfo is_viewable = 1;
layerinfo source_viewable = 1;
), un nerakstot garas pamācības par copy paste, kas laikam ir pārāk tehniski un nesaprotami. protams, tas nemaina faktu, ka arī četrciparu skaitli, iespējams, ir parāk grūti un pārāk tehniski ievadīt. bet tas tā. trūkums šim variantam: nav iespējams izveidot pašam savu theme slāni.
ir iespējams padot adresei argumentus, lietojot <form>
. to veic, norādot name
ar vērtību, kas sākas ar punktu (period, acīmredzot), piemēram, <input type='checkbox' name='.$e.journal.username' />
. cik zināms, s2 spēj darboties ar šāda tipa argumentiem. ir arī taustāmāks piemērs (skatīt saidbāru) :) manas māsas žurnāls, par pielietojamību gan nestrīdos.
visbeidzot, ir iespējams pievienot savu draugu un draugu draugu lapu adresēm argumentu ?show=x
, x
vietā ievietojot attiecīgā žurnālu tipa simbolu: sindikācijām Y, kopienām C, personu žurnāliem P. tas ir vienkāršs filtrs, funkcija laikam jau skaidra.
Izveidoju WAP-lapu, lai varētu rakstīt Sviesta Cibas žūrnālā. Lūgums tiem, kam interese, rūpīgi testēt un ieteikt / noteikt, ko vajag, ko var labāk, kas nestrādā un tā tālāk.
Adrese ir šāda – http://x-f.e-net.lv/wap/sc/, tas viss darbībā ir šeit.
Tie, kas zina pareizo atbildi, ir laipni lūgti piedalīties aptaujā.
Ir doma par kādas cibiņiem noderīgas WAP lapas izveidi (gan jau vēlāk pastāstīšu), taču, tā kā ar šo kādu laiku neesmu nodarbojies, tad izrādās, ka šis tas ir diezgan ļoti mainījies. Tātad – vispirms citāts no Wired WebMonkey (by Heidi Pollock 5 Mar 2004), pēc tam aptauja.
Hoop Two: Protocol
The protocol hoop basically comes down to WAP versus HTTP. If you want to reach every single wireless user, you have to code an entirely separate version of your site in WML. WML is a more compact language, and WAP is a faster protocol than HTTP, so you may decide there are benefits to developing a WML version of your site. That said, even though many devices (usually older cell phones) run only WAP/WML browsers, most devices capable of receiving HTML usually have the capacity to support WML as well. Furthermore, the Open Mobile Alliance (formerly wapforum.org) is pushing XHTML now instead of WML, so even if WAP 2.0 gains favor as the wireless protocol of choice, the preferred coding language will be XHTML.
Confused yet? At great personal risk to my inbox, which will likely receive tons of hate mail now, this is my one sentence summation: code in HTML, not WML, and follow the very few basic rules to make your HTML XHTML-compatible.
Kļūdas nepiedod abi standarti, taču skaidrs, ka daudz vieglāk, patīkamāk un smukāk (var arī ar CSS) būtu izmantot XHTML-MP, taču arī tam ir trūkumi. Tad.. Ko labāk?
Poll #5457 techno :)Tavuprāt, labāk būtu izmantot..
Sava pieredze, sakarīgi iebildumi un vienkārši piezīmes pie šī visa ir ļoti vēlams ierakstīt komentāros.
Man nepatīk, ka cibiņi tik reti raksta saviem pukstiem tēmas nosaukumu, tāpēc es izdomāju, ka, lai tam paredzētajā vietā nebūtu tukšums, varētu izvadīt kaut vai paša puksta pirmos vārdus. (Tas pats ir arī komentāriem.) Izdarīts tas tiek ļoti vienkārši – norādot tekstu un nepieciešamo garumu, vienkārši nogriež pārējo nost.
Taču. Daži aizrādīja, ka nav labi tā pārtraukt vārdus, nogriezt tiem pusi nost. Turklāt ir jau vēl arī problēma ar pašu griešanu – tā nenotiek pa simboliem, bet gan pa baitiem, tāpēc latviskos burtus var pārgriezt uz pusēm.
Tāpēc es uzrakstīju (it kā) elementāru funkciju, kas sameklētu, piemēram, pēdējo atstarpi, un tad grieztu no tās. Taču nestrādā. Un es nesaprotu, kur ir tā vaina. Tad te nu ir tās divas funkcijas, kurām būtu automātiski jāveido tēmas nosaukumi:
( funkcijas )Nu? Es saprastu, ja tās vispār nestrādātu, taču kaut kādā dīvainā veidā tās darbojas.
Varat apskatīties manā testu lapā.
Kods, lai izvadītu to sarakstiņu, ir šāds:
var string teststring = "šī ir testa teksta virkne, šī ir testa teksta virkne";
print "\$teststring: " + $teststring + "<br />";
print "20: " + autosubject($teststring, 20) + "<br />";
print "25: " + autosubject($teststring, 25) + "<br />";
print "30: " + autosubject($teststring, 30) + "<br />";
print "35: " + autosubject($teststring, 35) + "<br />";
print "40: " + autosubject($teststring, 40) + "<br />";
print "(3): " + chrpos($teststring, " ", 1) + "<br />";
print "(47): " + chrpos($teststring, " ", -1) + "<br />";
$teststring garums ir 56 (52) simboli, lai nebūtu jāskaita.
Pēdējās divās rindiņās vajadzētu tikt izvadītiem tiem skaitļiem, kas iekavās. Tas tā nenotiek. Kapē?
Nu, tā kā wasted nepieteicās, tad nācās to vien darīt pašam. :) Kaut kādā veidā ierakstu kategorizēšana manā žūrnālā ir iespējama un darbojas. Varat paskatīties. Nekā sarežģīta, tikai tagad, katru reizi rakstot kādu pukstu, jāatceras pielipināt dažus liekus vārdus.
Tātad – kā tas viss darbojas? Tālāk paskaidrošu, kā es to izdarīju, taču galvenais jau ir ideja, ne izpildījums. Manā žūrnālā, lai ierakstus varētu dalīt pa tēmām, tiek izmantoti dažādi fona attēli, taču tas ir tikai viens veids. Man tā patika labāk, taču pilnīgi mierīgi to var izdarīt citā veidā – izvadīt kādu tekstu vai vēl ko.
Manā stilā katrs ieraksts ir savā <div /> tagā ar klasi "ieraksta_teksts", lai to formatētu, kā vajag. Tad, lūk, šim tagam arī tiek pievienota vēl viena klase, kas ir saistīta ar manis izvēlēto kategoriju katram ierakstam. Ja kādu interesē CSS, paskatieties mana žūrnāla HTML kodu. Piemēram lietošu divas kategorijas – "e-music" un "e-fun" ("e" no "entry"), taču to ir vairāk. Nav nekādu grūtību noteikt, cik un kādas vajag.
Kādai kategorijai ieraksts pieder? Es vienkārši katra ieraksta sākumā pierakstu
<span class="e-music"></span>. Tas piemēram. Tā kā šis
elements ir tukšs un <span /> neko nenozīmē, tad draugu lapās tas izskatās
kā parasti. Tālāk, pirms katra ieraksta izvadīšanas, tiek pārbaudīts, kādai
kategorijai tas pieder. To dara šī funkcija: ( dažas rindiņas ) Tur viss elementāri. (Patiesībā tā pārbauda arī, vai klase nav apostrofos,
taču noīsināju, lai saprotamāks.) Ja ieraksts satur vajadzīgo frāzi, tad tiek
atgriezta atbilstoša CSS klase, kas arī nosaka formatējumu – "e-music" -> "cat-music".
Pēc tam šī funkcija tiek izsaukta, piemēram, no funkcijas Page::print_entry(Entry e)
apmēram šādi:
var string kategorija = categorization($e.text); """<div class="ieraksta_teksts$kategorija" id="e$e.itemid">\n""";
Īsumā. Funkcija, izvadot ierakstu, pārbauda, vai tas satur kādu noteiktu frāzi, un atgriež CSS klases nosaukumu, kurš tad tiek pielipināts attiecīgā ieraksta konteinerim. Un uiss. :) Man ir doma par elementāru filtrēšanu, bet tad jau redzēs. Vēl īsti nav, ko filtrēt.
Slinkums, nesaprašana un nevēlēšanās domāt pašam, turklāt – varbūt kādam jau ir gatavs. Man vajadzīgas divas funkcijas.
Pirmā – YearPage klasē, kas izvadītu visu esošo mēnešu sarakstiņu. Ar esošajiem es domāju tādus, kuros ir kāds ieraksts (tur ir pieejams mainīgais $.has_entries). Man nav īsti saprašanas kā pareizi un vispār ir jāsasaista kopā YearPage, YearYear, YearMonth, YearWeek un YearDay. Un kas no tā man vajadzīgs, lai izvadītu vienkāršu sarakstiņu ar pieejamajiem mēnešiem. Gluži tāpat, kā tiek izvadīti visi kāda gada mēneši, taču bez visa liekā – tikai mēnešu nosaukumi.
Otrā – MonthPage klasē, kas vienkārši izvadītu skaitu ar šajā mēnesī esošajiem ierakstiem. Tur man arī ir nesaprašanās ar MonthPage, MonthDay un MonthEntryInfo.
laikam mazliet sasteidzu visu to spamertopa publisko atrādīšanu (ieraksts kaut kad senāk style kopienā), šodien pamanīju, ka daļa koda (pagaidām relatīvi neliela) ir liekvārdīga un bezjēdzīga :) es pat īsti nesapratu savu domu, kāpēc tā rakstīju tad.. kodā šo te garo gabalu:
foreach var Entry ieraksts ($entries) { var string autors = $ieraksts.poster.username; #visi ieraksti tiek pārbaudīti. ja ieraksta autors jau ir 'uzvarētājs', #attiecīgais $rakstnieki elements tiek padarīts par 'neko', tam nav vērtības, #un to vairs neiekļauj nākamā uzvarētāja meklēšanā. if ($lideris == $autors) { $rakstnieki{$autors} = ""; } }
var aizstāt ar citu, mazlietiņ īsāku:
$rakstnieki{$lideris} = "";
un tas joprojām strādās. es gan neveicu ilgus un rūpīgus pētījumus, varbūt tomēr man bija kādi ģeniāli apsvērumi utml. katrā gadījumā, ja kāds no tiem, kas kodu vismaz apskatīja, pamanīja vēl ko tamlīdzīgu, es labprāt uzzinātu, kas tieši tas ir :)
garlaicības mākts, izveidoju vēl vienu vārdadienu funkcijas versiju, gribējās pārskatāmāk un tā, atšķirības jau viņām nekādas. patiesībā publicēju tā paša iemesla dēļ, 'daudzveidīgā s2, s2 iespējas utml'. neķēros klāt formatējumam, pre tagā rindiņas izstieptos tādas pagarākas.
( ... tālāk ... )
Parasti tas tiešām sanāk ne pa' tēmu. Daži par šī iztrūkumu jau ir ieminējušies un tagad arī man, veidojot jaunu žūrnāla stilu, ienāca prātā, ka kaut kādā veidā tomēr ir iespējams kategorizēt sava žūrnāla ierakstus.
Vispirms, kāpēc tas varētu būt vēlams. Cibā ir vairāki cilvēki (kā es), kas reizēm raksta par dzīvi un sevi (un tas ne pārāk interesē citus), reizēm par, piemēram, web'u (kas gan ne pārāk interesē tos, kas mani izvēlējušies kā draugu), reizēm par mūziku (kas interesē mazu daļiņu no tiem, kas mani izvēlējušies kā draugu) un tā tālāk. Nu nedaudz novirzījos no tēmas.
Lai nu kā, par iekavās rakstīto var neuztraukties, jo citu draugu lapas ietekmēt nevar. Taču to var izdarīt ar paša žūrnālu. Piemēram, kaut kā ierāmējot, iekrāsojot vai vēl kā izceļot šos ierakstus. Visvieglāk to izdarīt, izmantojot CSS un īpašas klases. Bet kā atšķirt šos ierakstus?
Pirmā doma bija, ka varētu norādīt kādu īpašu tekstu ("G: ", "M: ", ..) ieraksta tematā vai garastāvokļa lauciņā ("G" no "geek stuff", "M" – "mūzika", ..). Ar īpašu garastāvokli būtu mazāk problēmu, jo tam nepievērš tik lielu uzmanību, kā tematam. Taču abos gadījumos šis dalījums ir redzams. Kaut ko neredzamu varētu norādīt pašā ieraksta tekstā. Tik tālu par filosofisko daļu. Tagad filosofiski tehniskā. :)
Ieraksta sākumā var ierakstīt <span class="par_muziku"></span>
un tikai tad visu pārējo ieraksta tekstu. Neviens to neredzēs, jo <span /> neko nenozīmē un elements
ir tukšs. Tikai nevajag norādīt šai klasei nekādu formatējumu. Drošībai gan var display: none;
Pēc tam S2 kodā var vienkārši
atfiltrēt īpašos ierakstus –
if ($.entry.text->starts_with("<span class="par_muziku"></span>"))
{
piešķirt ieraksta div'am atbilstošu CSS klasi
} elseif { un tā tālāk }
("starts_with" vietā var norādīt arī "contains")
Īsts via-ass risinājums, ne? :) Vēl var pievienot filtrēšanu, papildinot žūrnāla
adresi ar, piemēram, ?.filter=web
un atbilstošu kodu. Un tā tālāk. Protams, ka to visu
ierobežo $*page_recent_items
lielums.
Versija ar neredzamiem <span /> nestrādās mēneša lapā, jo tad nevar piekļūt pie ieraksta teksta.
Neko nevar darīt ar senākiem ierakstiem, ja vien to speciāli neizlabo. Bet kaut kā to tomēr var darīt,
ja ir liela vajadzība un / vai vēlēšanās.
set_content_type(string text)
nav reāli eksistējoša un tas laikam varētu kavēt kaut kā cita, nevis html, (piemēram, draugu lapas rss) izvadīšanu funkcijā..