Автоматично подновяване на коментарите в блогът ми

След като направих прегледа на коментари ми хрумна, че нещо липсва. Вчера вечерта и днес ми се случи на няколко пъти да пиша дълъг коментар в отговор на някой друг не по-малко къс. Това отнема между 5 и 10 мин., през което време някой друг пише още нещо. Досега просто пусках коментара, виждах, че има развитие по темата и пусках нов. Има случаи обаче, в които е имало уточнение и моят току-що пуснат текст стои тъпо или е излишен. Това се случи със статията за българските стоки, както и с тази за образованието. При последната имаше такава оживена дискусия, че се наложи да напиша отделен пост с обобщени мнения.



Мисля, че проблемът е ясен. Реших да заема подхода на GMail и да направя автоматично подновяване на коментарите. Така докато някой е отворил страницата и я чете или пише нов коментар, тя автоматично ще му казва когато някой друг е написал нещо междувременно. Ако натиснете снимката горе, ще видите как изглежда този случай. Новите въведения работят без проблем с прегледа на коментари, както е видно тук. Важното в случая е, че не се изисква нищо от потребителите. Няма да забележите никаква промяна в сайта, освен в случай, че има един или повече непрочетени коментари. Тогава те ще се показват под останалите и ще се появява съобщение, че този и този са написали толкова и толкова коментари. Новите мнения могат да се разпознаят по това, че номера до тях не е сив, а бледо червен.

Всичко това го написах на javascript за няколко часа. Подобно на другите допълнения към сайта, няма да ги правя на plugin-и. Ще отнеме твърде много време, а и е трудно да се адаптират за всеки стил на блог. Ако все пак искате да ги разгледате или използвате, може да свалите скрипта тук. Не забравяйте, че както всичко в този сайт, кода се разпространява с CC лиценз или иначе казано – ще се радвам да кажете някоя добра дума за мен. Използвал съм prototype за зареждане на RSS емисията за коментарите към конкретен пост. После намирам кои коментари липсват и ги добавям. Ако това се случи няколко пъти, информацията се натрупва до презареждане на страницата. Трябва да се отбележи, че в този случай не се показва линка и снимката на автора на коментара, защото не са включени в RSS емисията, а не ми се щеше да я променям. Също така датата е в по-различен формат и се показва спрямо часовата зона на четящия. Напомням, че всички останали дати са само по българско време.

Надявам се тази добавка да бъде полезна. В основата си я правя за мен, но вярвам, че по-редовните посетители също ще я усетят. А, забравих да кажа – интервала за проверка за нови коментари докато се чете статията е 2 мин. Средната продължителност на престоя е между минута и половина и две, затова ако някой седи повече от две минути, значи се е зачел и ще го интересуват нови мнения. Ако седнете да пишете коментар пък, интервала се намаля на 20 сек. Прецених, че тогава би било по-важно, ако има нови отговори.

Накрая ще ви помоля отново ако видите грешка в сайта, неработещи линкове или функции, да ми пишете кратко съобщение от формата горе. Ще гледам да ги оправя бързо. За сега съм тествал новото допълнение само на Firefox и то под Linux, затова ще се радвам на коментари и предложения.

29 коментара

  1. Ако разрешаваш ще взема скрипта и ще се опитам да го направя като plugin (първо ще се науча 😛 ) Идеята ми се вижда доста добра и задължително ще вкарам твоите данни като автор… аз ще съм само реализатора. Пиши ми на alekseybg(at)gmail(.)com или в някой коментар в блога, който съм дал.

  2. Както споменах горе, няма проблем да го използваш, стига да включиш името и сайта ми в описанието. Много ще се радвам ако успееш да направиш такъв plugin, защото ще е много полезен за всички. Търсих доста за такъв и не успях да намеря.

  3. Сега като се поразгледах из кода, който свалих видях, че всъщност са няколко неща, едно от които проверка за кирилица, което също е много добра идея… Като цяло ще се помъча да сътворя нещо хубаво и ще ти пиша за резултата 🙂

  4. Да, това май забравих да го напиша. В кода е събрана проверката за кирилица, преглеждането на коментари и обновяването им. Последните две си приличат отчасти и могат лесно да се комбинират в едно.

  5. Благодаря. Мисля скоро да преподредя тази част от блога, че сега ми се струва малко хаотична. Добавих много елементи и нещо не ми харесва.

  6. За да стане ти трябват знания за теми на WP. Основното, което трябва да промениш, е това как са форматирани коментарите като се появяват. Мисля, че ще можеш направо да копираш кода от съответната част от темата. Има три важни променливи, които трябва да са инициализирани: yuri_comment_count, yuri_comment_feed_url и yuri_last_comment_id. Мисля, че имената се подразбират. Те се използват от скрипта и могат да бъдат инициализирани лесно чрез информацията в comment.php от текущата ти тема. Аз сложих скрипта да се зарежда точно там, за да не ми се точи на всяка страница, където няма коментари. Питай, ако имаш въпроси.

  7. Впрочем точно заради въпросните промени в темата е сложно да се направи универсален plugin. Едно е да се събере информацията, но съвсем друго е да се покаже във вид, подобен на останалите коментари.

  8. Бояне мерси, ще се пробвам, ако имам въпроси ще питам, ако не успявам пък мързеливо ще изчакам плъгина 🙂

  9. Доста добро хрумване и на място. Браво! А коментарите в статията за бг стоките приличат на самостоятелни постове 🙂 Но така е, като човек иска да обясни нещо, а и е сладкодумен.

  10. Аз нещо не мога да си го сложа на собствения блог това подновяване, пък тръгнах plugin да правя… Дай малко повече инфо кое с кое се замества, че се обърках май :/ Ако ми дадеш точен пример в твоя код как си го вмъкнал ще е най-добре. От там нататък ще си го пригодя и за моята тема и така…

  11. @Виктор Ваклинов – тук често се случва така. Даже мислех да направя статистика за средната продължителност на коментарите в блогът ми. Сигурно ще е повече от 40 думи. Даже веднъж като привърших един коментар, беше толкова описателен и дълъг, че го пуснах и като отделна статия.

    @БАЛТАЗАР ИВАНОВИЧ – много ме съмнява. Теоретично е възможно, но там платформата не е свободна и не знам как стоят нещата с разработването на plugin-и. Както казах, нямам намерение да го оформям като plugin дори за WP, защото има твърде много проблеми около генерализацията.

    @Aleksey – ще намеря време тези дни и ще седна да направя форматиран код от comments.php и скрипта с цветове и повече коментари.

  12. Направих една малка добавка преди малко (хрумна ми в банята). Подобно е на функция от Twitter – когато минете с мишката върху някой коментар, се вижда бутон „отговори“. Когато го натиснете, в полето за коментар се появява удебелено името с @ отпред ето така:

    @Боян Юруков – Простак! Само глупости говориш.

    Отново това е функция, която много използвам и ми се налага всеки път да копирам името и да пиша html таговете за удебеляване. Правя ги удебелени, за да се различават отделните отговори. Така е по-четливо.

  13. @Боян Юруков – btw според мен е добра идея да го направиш да се вижда постоянно, а не само като застанеш с мишката над коментара 🙂

  14. @Боян Юруков – Мога ли да запитам какво стана с обещания comments.php? 🙂

  15. Направих още една малка промяна – бях забравил да сложа бутона „отговори“ на коментарите, които се появяват динамично. Присъстваше на старите коментари, но не и новопоявилите се. Сега вече го има и наистина няма нужда да се презарежда страницата – просто може да я оставите отворена.

  16. Айде още една промяна – когато натиснете въпросния бутон и се добави удебелено името на някой, вече се добавя и номера на коментара, на който сте отговорили. Така когато натиснете върху удебеленото име, предишния коментар потреперва като индикация. Това ще работи само на коментарите от сега нататък и активните имена ще се познават по това, че ще имат ръчичка като при линк. Ето пример:

    @Боян Юруков – Боян явно си няма друга работа.

Вашият коментар

Вашият имейл адрес няма да бъде публикуван.

Този сайт използва Akismet за намаляване на спама. Научете как се обработват данните ви за коментари.