Tło
Kiedyś próbowałem napisać artykuł na kilku projektach wiki, ale został on usunięty, ponieważ nie miał wartości encyklopedycznej, a w ogóle, jeśli piszesz o czymś nowym i nieznanym – to postrzegane jest jako promocja. Po pewnym czasie mój artykuł został usunięty. Na początku byłem zmartwiony, ale w dyskusji zaproszono mnie do innego małego projektu wiki o wszystkim (a później zaproponowano mi napisanie artykułu jeszcze dla jednej strony). Nigdy o nim nie słyszałem, ale i tak cieszyłem się, że mogę napisać artykuł dla strony, którą ktoś prowadzi. Swoją drogą obydwa projekty są aktualizowane, można je znaleźć w wyszukiwarce i są czytane – dla mnie to było wystarczające, aby napisać przegląd mojego projektu. Wydaje się, że obie strony były na silniku MediaWiki lub jakimś podobnym, i zewnętrznie przypominały inne popularne portale wiki.
Od strony wiki do silnika wiki

Od tego czasu zainteresowałem się stworzeniem własnej strony wiki z naciskiem na projekty IT – byłoby to atrakcyjne dla wielu osób, które chcą opowiedzieć o swoim produkcie. Chciałem także stworzyć unikalną strukturę strony i jej wygląd, które mogłyby pasować do wielu innych projektów. Po przygotowaniu strony zrobiłem panel administratora i opublikowałem kod na GitHubie. Przede wszystkim dlatego, że o projekcie open source można napisać i uczynić go czymś więcej niż prosta katalogiem stron; byłem również zadowolony, gdyby ktoś zechciał zrobić stronę na moim silniku.
Próba stworzenia hostingu
Niestety, mało kto wybierze silnik wiki dla node.js, większość webmasterów preferuje to, z czym już mieli do czynienia, a to PHP, przy tym większość istniejących hostingów jest skonfigurowana pod PHP. A dla node.js trzeba by wynajmować VPS.
Bardzo chciałem uczynić swój produkt bardziej dostępnym. Ideę wiki-hostingu podsunął fandom. Wiki-hosting uczyniłby mój silnik dostępnym dla znacznie większej publiczności, a także wyróżniłby go spośród setek innych (). Napisałem skrypt ghost.sh, który uruchamia portal na nowej domenie (tworzy roboczy katalog dla strony, kopiuje do niego domyślny kod silnika, tworzy bazę danych z użytkownikiem i hasłem, ustawia odpowiednie uprawnienia do tego wszystkiego), a także w panelu administracyjnym dodałem link do cloud commander, który umożliwia dostęp do plików z roboczego katalogu strony w trybie odczytu i zapisu. Pozostaje tylko ręcznie wpisać w menedżerze DNS nową domenę i dodać ją do uruchamiania w głównym skrypcie. Sam hosting jest obecnie w fazie beta — być może u pierwszych klientów pojawią się pewne drobne błędy na początku uruchomienia. (W ogóle wcześniej nie miałem doświadczenia w tworzeniu takiego projektu jak hosting, możliwe, że niektóre rzeczy zrobiłem źle lub niedbale, ale uruchomiłem pierwszy serwis na silniku (strona dla hostingu) i działa on doskonale, a nawet dzisiaj przesłałem na niego aktualizacje).

Wynik
Ale ogólnie jest to bardzo atrakcyjne:
- Stworzenie strony na moim hostingu może nawet udać się osobie, która nie ma pojęcia o web development.
- Monitorowanie działalności na stronie głównej;
- Jest obrazek-podgląd dla stron;
- Ładna szata graficzna, w tym dla urządzeń mobilnych;
- Dostosowany do wyszukiwarek;
- Całkowicie w języku polskim;
- Szybkie ładowanie stron;
- Prosty panel administracyjny, w tym dostęp do plików silnika z roboczego katalogu (bezpośrednio z przeglądarki, CloudCommander);
- Prosty kod serwera (nieco ponad 1000 wierszy, kod skryptów klienckich — około 500);
- Można wprowadzać zmiany w źródłach;
Od razu napiszę czego obecnie brakuje, co może Cię zniechęcić, abyś nie marnował czasu. Możliwe, że niektóre z punktów będą zrealizowane w najbliższym czasie.
- Brak rejestracji użytkowników i delegowania praw dostępu. Publikacja po wprowadzeniu CAPTCHA.
- Drzewo komentarzy użytkowników do stron może być niedostępne do indeksowania z powodu ajax.
- Jeśli potrzebujesz jakichś unikalnych funkcji pomocniczych, to możliwe, że ich nie ma. Ale podstawowa funkcjonalność jest w pełni zrealizowana.
P.S.
Silnik nazywa się WikiClick, oficjalna strona z hostingiem . Kod projektu .
Źródło: habr.com
