Povestea
Am încercat odată să creez un articol pe câteva proiecte wiki, dar au fost șterse deoarece nu au avut valoare enciclopedică, și, în general, pare că dacă scrii despre ceva nou și necunoscut — este considerat publicitate. După un timp, articolul meu a fost eliminat. M-am supărat la început, dar în discuție am primit o invitație pentru un alt proiect mic wiki despre orice (apoi mi s-a propus să scriu un articol pentru un alt site). Nu auzisem niciodată de el, dar am fost totuși bucuros să scriu un articol pentru un site de care cineva se ocupa. Apropo, ambele proiecte sunt active, apar în căutări și sunt citite — pentru mine a fost suficient să scriu o recenzie despre proiectul meu. Se pare că ambele site-uri erau pe motorul MediaWiki sau pe un altul asemănător, și arătau ca orice alt popular portal wiki.
De la site-ul wiki la motorul wiki

De atunci, m-a interesat să fac un site wiki axat pe proiecte IT — ar fi fost atrăgător pentru mulți oameni care vor să-și prezinte produsele. De asemenea, am dorit să creez o structură și un design unic pentru site, care să se potrivească multor alte proiecte. După ce site-ul a fost pregătit, am făcut un panou de administrare și am publicat codul pe GitHub. În primul rând, pentru că despre un proiect open source se poate scrie și să-l facă mai mult decât un simplu catalog de site-uri; în plus, m-aș bucura dacă cineva ar dori să facă un site pe motorul meu.
Încercarea de a crea un serviciu de hosting
Din păcate, puțini vor alege un motor wiki pentru node.js, majoritatea webmasterilor preferând ceea ce au folosit deja, adică PHP, iar majoritatea serviciilor de hosting existente sunt configurate pentru PHP. Și pentru node.js ar trebui să închiriezi un VPS.
Mi-aș fi dorit să fac produsul meu mai accesibil. Ideea de hosting wiki a fost propusă de Fandom. Hostingul wiki ar face motorul meu accesibil pentru un public mult mai mare, iar acest lucru l-ar scoate în evidență printre sute de altele (). Am scris un script ghost.sh care ridică portalul pe un nou domeniu (creează un director de lucru pentru site, copiază codul implicit al motorului, creează o bază de date cu utilizator și parolă, setează permisiunile pentru toate acestea), iar în admină am adăugat un link la cloud commander, care oferă acces la fișierele din directorul de lucru al site-ului pentru citire și scriere. Rămâne doar să înregistrezi manual în managerul DNS noul domeniu și să-l adaugi în scriptul principal de lansare. De fapt, găzduirea este încă în faza beta — s-ar putea ca primii clienți să întâmpine unele probleme în prima perioadă de lansare. (De fapt, nu am mai avut experiență în crearea unui astfel de proiect ca găzduire, e posibil să fi făcut câteva lucruri greșit sau prost, dar am început să lansez primul site pe motorul (site pentru găzduire) și funcționează minunat, iar astăzi am încărcat pe el actualizări).

Rezultatul
Dar, în ansamblu, este foarte atrăgător:
- Oricine, chiar și o persoană fără experiență în dezvoltarea web, poate crea un site pe găzduirea mea;
- Monitorizarea activității pe pagina principală;
- Există o imagine preview pentru pagini;
- Design frumos, inclusiv pentru mobil;
- Adaptat pentru motoarele de căutare;
- Complet în limba română;
- Încărcare rapidă a paginilor;
- Admin simplu, inclusiv acces la fișierele motorului din directorul de lucru (direct din browser, CloudCommander);
- Cod server simplu (puțin peste 1000 de linii, codul scripturilor client — circa 500);
- Se pot face modificări în sursele originale;
Voi scrie imediat ce lipsește în prezent, ceea ce ar putea să vă descurajeze, pentru a nu pierde timpul în van. Este posibil ca unele dintre puncte să fie realizate în curând.
- Nu există înregistrare a utilizatorilor și delegarea permisiunilor. Publicarea se face după introducerea CAPTCHA.
- Arborele comentariilor utilizatorilor la pagini ar putea să nu fie disponibil pentru indexare din cauza ajax.
- Dacă aveți nevoie de funcții unice, este posibil să nu existe. Dar funcționalitatea de bază este complet implementată.
P.S.
Motorul se numește WikiClick, site-ul oficial pentru găzduire . Codul proiectului .
Sursa: habr.com
