Stiglo je novo izdanje. Osvježi stranu.
Pravo na uvid u kod. Otvoren protokol omogućava nezavisne operatere i interoperabilnost. Manifest
Izvor
4d7883a894b3
- server.js
- lib/auth.js
- lib/build.js
- lib/cards.js
- lib/db.js
- lib/gradovi.js
- lib/icons.js
- lib/imena.js
- lib/jezik.js
- lib/kartapodaci.js
- lib/lekcije.js
- lib/md.js
- lib/mehanika.js
- lib/mreza.js
- lib/pages.js
- lib/registar.js
- lib/routes.js
- lib/schema2.js
- lib/views.js
- seed/content.mjs
- seed/seed.mjs
- public/app.js
- public/style.css
1 export const personas = [
2 {
3 "handle": "vesna_s",
4 "display": "Vesna S",
5 "city_id": "novi-sad",
6 "bio": "Pravim, učim i dijelim znanje sa komšijama.",
7 "lang": "sh",
8 "builder": false
9 },
10 {
11 "handle": "ivo_steward",
12 "display": "Ivo Steward",
13 "city_id": "split",
14 "bio": "Pravim, učim i dijelim znanje sa komšijama.",
15 "lang": "sh",
16 "builder": false
17 },
18 {
19 "handle": "galeb_86",
20 "display": "Galeb 86",
21 "city_id": "rijeka",
22 "bio": "Pravim, učim i dijelim znanje sa komšijama.",
23 "lang": "sh",
24 "builder": true
25 },
26 {
27 "handle": "orao_dev",
28 "display": "Orao Dev",
29 "city_id": "zagreb",
30 "bio": "Pravim, učim i dijelim znanje sa komšijama.",
31 "lang": "sh",
32 "builder": true
33 },
34 {
35 "handle": "sarajka_code",
36 "display": "Sarajka Code",
37 "city_id": "sarajevo",
38 "bio": "Pravim, učim i dijelim znanje sa komšijama.",
39 "lang": "sh",
40 "builder": true
41 },
42 {
43 "handle": "nis_radio",
44 "display": "Nis Radio",
45 "city_id": "nis",
46 "bio": "Pravim, učim i dijelim znanje sa komšijama.",
47 "lang": "sh",
48 "builder": false
49 },
50 {
51 "handle": "luthier_mo",
52 "display": "Luthier Mo",
53 "city_id": "mostar",
54 "bio": "Pravim, učim i dijelim znanje sa komšijama.",
55 "lang": "sh",
56 "builder": false
57 },
58 {
59 "handle": "pcela_tuzla",
60 "display": "Pcela Tuzla",
61 "city_id": "tuzla",
62 "bio": "Pravim, učim i dijelim znanje sa komšijama.",
63 "lang": "sh",
64 "builder": false
65 },
66 {
67 "handle": "tipograf_lj",
68 "display": "Tipograf Lj",
69 "city_id": "ljubljana",
70 "bio": "Pravim, učim i dijelim znanje sa komšijama.",
71 "lang": "sl",
72 "builder": true
73 },
74 {
75 "handle": "retro_bgd",
76 "display": "Retro Bgd",
77 "city_id": "beograd",
78 "bio": "Pravim, učim i dijelim znanje sa komšijama.",
79 "lang": "sh",
80 "builder": true
81 },
82 {
83 "handle": "baka_dragica",
84 "display": "Baka Dragica",
85 "city_id": "maribor",
86 "bio": "Pravim, učim i dijelim znanje sa komšijama.",
87 "lang": "sl",
88 "builder": false
89 },
90 {
91 "handle": "ohrid_prevod",
92 "display": "Ohrid Prevod",
93 "city_id": "ohrid",
94 "bio": "Pravim, učim i dijelim znanje sa komšijama.",
95 "lang": "sh",
96 "builder": false
97 },
98 {
99 "handle": "skopje_sec",
100 "display": "Skopje Sec",
101 "city_id": "skopje",
102 "bio": "Pravim, učim i dijelim znanje sa komšijama.",
103 "lang": "sh",
104 "builder": false
105 },
106 {
107 "handle": "kotor_arhitekta",
108 "display": "Kotor Arhitekta",
109 "city_id": "kotor",
110 "bio": "Pravim, učim i dijelim znanje sa komšijama.",
111 "lang": "sh",
112 "builder": false
113 },
114 {
115 "handle": "pula_cook",
116 "display": "Pula Cook",
117 "city_id": "pula",
118 "bio": "Pravim, učim i dijelim znanje sa komšijama.",
119 "lang": "sh",
120 "builder": false
121 },
122 {
123 "handle": "zadar_bas",
124 "display": "Zadar Bas",
125 "city_id": "zadar",
126 "bio": "Pravim, učim i dijelim znanje sa komšijama.",
127 "lang": "sh",
128 "builder": false
129 },
130 {
131 "handle": "prishtina_js",
132 "display": "Prishtina Js",
133 "city_id": "pristina",
134 "bio": "Pravim, učim i dijelim znanje sa komšijama.",
135 "lang": "sh",
136 "builder": true
137 },
138 {
139 "handle": "banja_luka_edu",
140 "display": "Banja Luka Edu",
141 "city_id": "banja-luka",
142 "bio": "Pravim, učim i dijelim znanje sa komšijama.",
143 "lang": "sh",
144 "builder": false
145 },
146 {
147 "handle": "vienna_exp",
148 "display": "Vienna Exp",
149 "city_id": "bec",
150 "bio": "Pravim, učim i dijelim znanje sa komšijama.",
151 "lang": "sh",
152 "builder": false
153 },
154 {
155 "handle": "berlin_rust",
156 "display": "Berlin Rust",
157 "city_id": "berlin",
158 "bio": "Pravim, učim i dijelim znanje sa komšijama.",
159 "lang": "sh",
160 "builder": true
161 },
162 {
163 "handle": "toronto_diaspora",
164 "display": "Toronto Diaspora",
165 "city_id": "toronto",
166 "bio": "Pravim, učim i dijelim znanje sa komšijama.",
167 "lang": "sh",
168 "builder": false
169 },
170 {
171 "handle": "melb_yu",
172 "display": "Melb Yu",
173 "city_id": "melburn",
174 "bio": "Pravim, učim i dijelim znanje sa komšijama.",
175 "lang": "sh",
176 "builder": false
177 },
178 {
179 "handle": "goteborg_ceram",
180 "display": "Goteborg Ceram",
181 "city_id": "geteborg",
182 "bio": "Pravim, učim i dijelim znanje sa komšijama.",
183 "lang": "sh",
184 "builder": false
185 },
186 {
187 "handle": "osijek_student",
188 "display": "Osijek Student",
189 "city_id": "osijek",
190 "bio": "Pravim, učim i dijelim znanje sa komšijama.",
191 "lang": "sh",
192 "builder": false
193 },
194 {
195 "handle": "podgorica_ux",
196 "display": "Podgorica Ux",
197 "city_id": "podgorica",
198 "bio": "Pravim, učim i dijelim znanje sa komšijama.",
199 "lang": "sh",
200 "builder": true
201 },
202 {
203 "handle": "cirilica_nikola",
204 "display": "Cirilica Nikola",
205 "city_id": "beograd",
206 "bio": "Pravim, učim i dijelim znanje sa komšijama.",
207 "lang": "sh",
208 "builder": false
209 },
210 {
211 "handle": "maribor_vino",
212 "display": "Maribor Vino",
213 "city_id": "maribor",
214 "bio": "Pravim, učim i dijelim znanje sa komšijama.",
215 "lang": "sl",
216 "builder": false
217 },
218 {
219 "handle": "bihac_student",
220 "display": "Bihac Student",
221 "city_id": "bihac",
222 "bio": "Pravim, učim i dijelim znanje sa komšijama.",
223 "lang": "sh",
224 "builder": false
225 },
226 {
227 "handle": "split_boat",
228 "display": "Split Boat",
229 "city_id": "split",
230 "bio": "Pravim, učim i dijelim znanje sa komšijama.",
231 "lang": "sh",
232 "builder": false
233 },
234 {
235 "handle": "skopje_tape",
236 "display": "Skopje Tape",
237 "city_id": "skopje",
238 "bio": "Pravim, učim i dijelim znanje sa komšijama.",
239 "lang": "mk",
240 "builder": true
241 },
242 {
243 "handle": "cacak_stolar",
244 "display": "Cacak Stolar",
245 "city_id": "cacak",
246 "bio": "Pravim, učim i dijelim znanje sa komšijama.",
247 "lang": "sh",
248 "builder": false
249 },
250 {
251 "handle": "nova_gorica_film",
252 "display": "Nova Gorica Film",
253 "city_id": "nova-gorica",
254 "bio": "Pravim, učim i dijelim znanje sa komšijama.",
255 "lang": "sl",
256 "builder": false
257 },
258 {
259 "handle": "subotica_most",
260 "display": "Most iz Subotice",
261 "city_id": "subotica",
262 "bio": "Povezujem susjede kroz male radionice i razmjenu znanja.",
263 "lang": "sh",
264 "builder": false
265 },
266 {
267 "handle": "prizren_radionica",
268 "display": "Radionica Prizren",
269 "city_id": "prizren",
270 "bio": "Povezujem susjede kroz male radionice i razmjenu znanja.",
271 "lang": "sh",
272 "builder": false
273 }
274 ];
275 export const titles = [
276 "Forum je ponovo izgrađen: šta donosi izdanje 2",
277 "Dopunski izbori za Savjet: mjesto jezičkih zajednica",
278 "Vježba zamjene ključa registra: izvještaj",
279 "POČNITE OVDJE: prvih šezdeset sekundi",
280 "Predstavite se: ko ste i šta pravite?",
281 "Čemu služi članska karta i zašto se presijava?",
282 "Gost, istraživač, član, graditelj, ustanova: nivoi 0–4 bez magle",
283 "Otišao sam pa se vratio: povratnica radi",
284 "hello.yu se otvorio, a ispod piše pravo porijeklo. Tako treba.",
285 "Zašto nema tihog preusmjeravanja DNS-a, i neka ga nema",
286 "Ime je isteklo i klijent je odbio da ga otvori: zatvaranje pri grešci",
287 "Dodatak za pregledač: pogodnost, a ne obećanje",
288 "Period prednosti je završen: šta su dobila udruženja i mjesne zajednice",
289 "banka.yu i vlada.yu: zašto su zaštićena imena",
290 "Ćirilično а i latinično a: kako radi upozorenje na slična imena",
291 "Spor oko imena studio.yu: postupak korak po korak",
292 "Popis osnivačevih imena: nema trajne povlastice",
293 "Med iz Tuzle na Pijaci: prvi oglas, prva narudžba",
294 "Polog kod posrednika: šta tačno glumi simulacija",
295 "Prenosivi ugled: nosim li ocjene sa sobom kad odem?",
296 "Cijena u evrima kao obavještenje, DINAR samo za probu: zašto tako",
297 "Viola iz Mostara traži kupca koji zna čekati",
298 "Šta je DINAR na ovom forumu, pošteno?",
299 "Mijenjam duple: dva Galeba za jedne Iste obale",
300 "Prvo mreža, pa pijaca, pa novac: na kojoj smo stepenici?",
301 "Album popunjen do pola: koja vam sličica fali?",
302 "Riječ sedmice: fjaka, milina, lušten, убаво",
303 "Latinica i ćirilica jedna uz drugu: pismo kao dugme",
304 "Naslovnice starih računarskih časopisa: čega se sjećate?",
305 "Recept je prvi otvoreni standard: pošaljite svoj",
306 "Potpisani zapis u četrdeset redova: Ed25519 i probni vektori",
307 "Ogledalo registra kod kuće: preuzmi snimak, provjeri lanac",
308 "Galeb i Orao: ko još ima ispravan primjerak?",
309 "Učitavanje s kasete: strpljenje je protokol",
310 "Alat yu iz komandne linije: potpiši, objavi, provjeri",
311 "Javna rasprava: zadruga, udruženje ili nešto treće?",
312 "Mandat od 90 dana: prekratak ili taman?",
313 "Vanredna ovlaštenja osnivača ističu 26.01.2027. Šta poslije?",
314 "Prva usvojena žalba: kako je izgledao nezavisni pregled",
315 "Glas člana i glas stručnjaka: kako ih uravnotežiti",
316 "Čvor Novi Sad: ko je za kafu u subotu?",
317 "Dijaspora na prstenu: Beč, Berlin, Toronto, Melburn",
318 "Koji grad nedostaje na karti?",
319 "Burek: rasprava koja se uvijek završi smijehom",
320 "Šta ste gledali na Teletekstu?",
321 "Prvi računar i prva igra"
322 ];
323 export const bodies=[
324 'Izdanje 2 je na našem jeziku, na papiru i s kartom gradova. Stare probne rasprave iz izdanja 1 su povučene; stvarne poruke ostaju sačuvane. YU Connect, Pijaca i DINAR nose oznaku SIMULACIJA. Potpisi registra, glasanje, album i izvoz rade stvarno. Pogledajte [plan](https://www.yugoslavia.forum/plan).',
325 'Otvoreno je mjesto jezičkih zajednica u Savjetu. Tri kandidata su objavila izjave. Mandat traje 90 dana. [Glasanje](https://www.yugoslavia.forum/izbori) pokazuje zbir, nikada pojedinačni izbor.',
326 'U probnoj vježbi zamijenjen je ključ registra. Stari javni ključ ostaje dostupan radi provjere ranijih potpisa. Vježba je SIMULACIJA; dnevnik i potpisi mogu se provjeriti.',
327 'Pođite od šest koraka na naslovnoj. Provjerite izdanje, otvorite YU Connect i unesite hello.yu. Ispod imena mora stajati pravo HTTPS porijeklo. Upis nije uslov za istraživanje.',
328 'Ja sam Vesna iz Novog Sada. Prikupljam male programe koji ljudima štede vreme. Šta pravite ovih dana? Napišite i šta vam treba, možda neko za susednim stolom zna.',
329 'Članska karta govori samo o učešću u zajednici. Dugme je okreće, a dozvola za naginjanje uključuje senzor telefona. Za sliku možete izabrati polja koja želite podijeliti.',
330 'Gost je nivo 0, istraživač bez naloga nivo 1, član nivo 2. Graditelj objavljuje i prolazi provjeru Kućnog reda; to je SIMULACIJA potvrde kontakta. Nivo 4 važi dok traje mandat ili dok se održava ogledalo.',
331 'Prije odlaska preuzeo sam podatke i sačuvao povratnicu. Pri povratku sam dobio isti članski broj i svoja imena. Rok je 90 dana. Kod se prikazuje jednom; čuvajte ga sami.',
332 'hello.yu je kratko ime zajednice. Prava adresa stranice ostaje vidljiva i može se otvoriti u običnom pregledaču. Potpis potvrđuje izjavu registra, ne kvalitet sadržaja.',
333 'YU Connect u ovom izdanju radi u pregledaču. Ne mijenja DNS računara. Običan internet ostaje netaknut. To je uslov za dobrovoljno učešće, a ne skrivena stavka podešavanja.',
334 'Probajte isteklo.yu, opozvano.yu i sporno.yu. Svaka greška daje posebno objašnjenje i zaustavlja otvaranje. Ako je snimak stariji od već viđenog, klijent ga takođe odbija.',
335 'Dodatak za pregledač tek je u planu. Ovdje nema instalacije dodatka ni promjene sistema. Simulator nam pomaže da provjerimo kako treba prikazati porijeklo i potpis.',
336 'Period prednosti za udruženja završen je 10.11.2026. Za mjesnu zajednicu može se podnijeti zahtjev za pregled. Pravila i svi koraci izdavanja nalaze se u javnom registru.',
337 'Imena javnih službi su zaštićena da se niko ne bi lažno predstavljao. Sistemskim i zaštićenim imenima upravlja se uz dva različita povjerenika. Jedan potpis nije dovoljan.',
338 'Sličnost slova nije dokaz da je ime isto. Miješana pisma u jednom imenu se odbijaju, a pregled provjerava i slična latinična i ćirilična slova. Probajte ime u jednom pismu.',
339 'Spor počinje izjavom, slijedi 72 sata za odgovor, a zatim nezavisan pregled. Povjerenik koji je djelovao u predmetu ne može odlučivati o žalbi. Drugi pregled radi druga osoba.',
340 'Svako osnivačevo ime ima javno navedenu svrhu. Nema trajne povlastice za osnivača. Popis, knjiga prometa i datum isteka mandata nalaze se pod Upravom.',
341 'Na tezgi sam opisao med i broj tegli. Cijena u evrima je samo obavještenje. Probna narudžba koristi DINAR i nosi oznaku SIMULACIJA, bez stvarne isporuke.',
342 'Kad naručite, probni bodovi stoje u pologu. Prodavac označi poslano, kupac primljeno. Spor zamrzava polog. Ovdje taj postupak glumi licenciranog partnera.',
343 'Ugled ima prosječnu ocjenu i broj ocjena zajedno. Izvoz sadrži ocjene i potpis registra. Ko primi datoteku može provjeriti njen potpis na javnoj stranici za provjeru.',
344 'Evri na oglasu su tekstualno obavještenje o robi, ne kurs DINAR-a. DINAR se dobija učešćem i nema zamjene za novac. Najprije gradimo korisnu mrežu.',
345 'Viola je rađena polako, sa pažnjom prema drvetu i zvuku. Opisao sam materijal i način održavanja. U demou se može probati narudžba bez obaveze i stvarnog plaćanja.',
346 'Na početku dobijate 250 probnih bodova. Tema donosi 15, odgovor 5, a prva zahvalnost 2 autoru. Dnevna granica za poruke je 150. Kesica košta 60 i sadrži tri sličice.',
347 'Imam dva Galeba. Na tabli za zamjenu možemo ponuditi do tri sličice sa svake strane. Dodatak je najviše 100 DINAR. Ponuda važi sedam dana, a vlasništvo se provjerava pri prihvatanju.',
348 'Mreža i Pijaca imaju stvarne brojače. Stepenica novca ostaje zatvorena. To traži posebnu pravnu, ekonomsku i finansijsku zaštitu; broj članova sam po sebi nije uslov.',
349 'U albumu su i prazna mjesta, da vidimo šta tražimo. Prva serija ima 24 sličice. Nagradne se dobijaju radom i nisu za poklanjanje. Dvostruki primjerci običnih mogu dalje.',
350 'Fjaka, milina, lušten, убаво. Dodajte riječ i kratko objašnjenje iz svog govora. Ne ispravljamo susjedu ono što nije tražio da mu se ispravi.',
351 'Ћирилица је моје писмо, а латиницу читам сваки дан. Дугме у заглављу мења приказ, не брише ауторов избор. Имена .yu и програмски записи остају онакви какви јесу.',
352 'Čuvam nekoliko brojeva Galaksije. Najviše volim listinge na dvije strane i sitne ispravke u sljedećem broju. Koji ste program prvi prekucali, pa tražili propušteni znak?',
353 'Recept se prenosi, prilagođava i ponovo dijeli. Moj ajvar ima malo više pečene paprike nego što piše u svesci. Pošaljite svoj postupak i objasnite gdje ostavljate prostor za ukus.',
354 'Kanonski JSON ima sortirane ključeve i nema razmake. Ed25519 potpis se provjerava javnim ključem. Dvanaest probnih vektora u protokolu obuhvata i izmijenjene zapise.',
355 'Ogledalo preuzima snimak i dnevnik, provjerava lanac i potpise, pa ih služi drugim čitaocima. URL ogledala je javno upisan; forum ga nikada sam ne otvara.',
356 'Galeb mi radi, ali tastatura traži čišćenje. Rado ću opisati postupak kad završim. Ako imate Orao, napišite kako čuvate kasete i kablove.',
357 'Касетата бара трпение. Го чувам звукот и белешките за секое вчитување. Кога ќе најдам сигурна постапка, ќе ја објавам со сите чекори.',
358 'Alat yu radi bez dodatnih paketa. Napravi ključ, potpiše kanonski zapis i provjeri datoteku. Privatni ključ ne ide u objavu. Objavljujemo samo javni ključ i potpis.',
359 'Pravna forma ostaje predmet rasprave. Zadruga, udruženje ili nešto treće imaju različite obaveze. U ovoj fazi važnije je jasno napisati odgovornost nego izabrati zvučno ime.',
360 'Devedeset dana omogućava smjenu bez čekanja godinama. Da li je dovoljno za održavanje tehničke službe? Predlažem da zajedno sa mandatom ostane i javna predaja poslova.',
361 'Osnivačev mandat i vanredna ovlaštenja ističu 26.01.2027. Sat na stranici operatera pokazuje preostalo vrijeme. Produženje ne treba da se podrazumijeva.',
362 'Prva probna žalba usvojena je jer odluka nije imala dovoljno obrazloženje. Izvještaj prikazuje ishod, a prijavljeni sadržaj nije ponovo objavljen. Učimo na postupku.',
363 'Stručnost pomaže da razumijemo posljedice, a glas člana odlučuje o zajedničkim pravilima. Za izmjenu Povelje treba dvotrećinska većina i kvorum od 20.',
364 'Komšije iz Novog Sada, javite se u mjesnoj zajednici. Predlažem razgovor o starim računarima i pomoć novim članovima. Grad je dobrovoljan podatak, bez adrese.',
365 'Dijaspora je na prstenu karte, ravnopravno sa gradovima unutra. Veze nastaju iz odgovora, narudžbi i zamjena. Linija je znak saradnje, ne granice.',
366 'Ako grad nedostaje, napišite prijedlog ovdje. Spisak se mijenja pregledom koda. Ne skupljamo koordinate korisnika ni lokaciju uređaja.',
367 'Kod nas burek nestane prije nego što rasprava počne. Predlažem da prvo svako donese tepsiju, pa onda razgovaramo o imenima. Sirnica je takođe dobrodošla za stolom.',
368 'Na Teletekstu sam tražio raspored programa i rezultate. Ovdje strana 300 prikazuje mrežu. Volim kako malo prostora natjera čovjeka da napiše suštinu.',
369 'Prvi računar pamtim po zvuku tastature i čekanju kasete. Igra nije uvijek proradila, ali smo zajedno tražili grešku. Koji vas je mali program naučio najviše?'
370 ];
371 export const replyParts=[
372 'Hvala na konkretnom primjeru. Probao sam isti korak i zapisao rezultat, pa možemo uporediti.',
373 'Predlažem da uz ovo ostane kratko uputstvo za novog člana. Tako znanje ne ostaje kod jedne osobe.',
374 'Meni je najvažnije da mogu vidjeti šta se desilo i ponoviti provjeru. Javni dnevnik tome služi.',
375 'Kod nas u radionici bismo ovo rado probali. Javiću šta je bilo jasno, a gdje treba bolji opis.',
376 'Dogovoreno. Dodaću primjer i za drugi način rada, da ne pretpostavimo da svi koriste isti računar.'
377 ];
378