← All posts tagged p15

Shura

Понадобился wisiwig редактор для моего проектика, много фич не надо, достаточно конверта в bbcode и отображения картинок в тексте. Я немного потыкался, посмотрел, что может предложить сообщество. Самый популярный редактор это CKEditor, он же самый монструозный. У нас на работе один из сайтов его использует, поэтому от него я отказался, куча раздражающих косяков при вводе текста. Выбор пал на WysiBB, вроде выглядит солидно, не слишком перегружен, поддерживает вывод в bbcode. Начал делать на нём, по ходу дела понадобилось добавить несколько собственных кнопок форматирования и собственных bb кодов. Всё, редактор на выброс, API для расширения функционала есть, но оно настолько тугое, что в половине случаев всё равно приходится лезть в код и править сурсы редактора, сам код настолько монструозен, что хер проссыш что там куда и в каком порядке отрабатывает. Промучился месяц, не выдержали нервы, начал искать альтернативы и о чудо! cleditor! Лёгкий, простой, если что, можно и в код залезть, там кода-то с гулькин нос, всё лаконично и очевидно. Буду использовать его.

Shura

Вод думаю над структурой базы.
Пост, например может выглядеть как-то так:
```
{
tags: ["tag1", "tag2", "tag3"],
track: trackid,
title: "Название",
date: 1262333829,
author: "Иван Иванов",
text: "Тут сам текст поста в html"
}
```
в track можно и сам трек хранить в geojson, но я решил, что leaflet трек наверное будет отдельным запросом дёргать, поэтому его лучше отдельно положить.
Вот что я не решил, так это индексы, не понятно, по какому полю будет идентифицироваться пост. Вроде поле времени для этого подходит, но с другой стороны не соображу как потом сделать паджинацию для общей ленты. Пока оставлю вопрос открытым, в случае чего — добавлю какое нибудь поле с автоинкрементом, в монге с ним не всё так просто, но можно изловчиться.

А еще вопрос с фотками. Хранить отдельными файлами или в базе? Склоняюсь к базе.

Shura

Написал вчера модуль для конвертирования gpx -> geojson, но возникла проблема. Для сопоставления фоток и заметок с местоположением используются отметки времени, присутствующие в gpx треке, но не предусмотренные в geojson. Получается, что при конвертировании я теряю ключевую информацию. Надо что-то придумывать.

Пока попробую хранить массив с временными отметками отдельно, в секции properties, посмотрим, справится ли с таким монга.

Shura

Удивительно, но не нашлось ни одного модуля, который умел бы конвертить gpx в GeoJSON. Вот такая подстава, буду сам писать, на регекспах.

P.S. GPSBabel тоже не умеет в GeoJSON, говно.

Shura

Так, нашёл годный шаблон для блога на bootstrap: prideparrot.com
Выглядит нормально, то, что нужно, однако встаёт вопрос. Скачал я его а там просто парочка страниц, одна для блога в целом, а вторая как пример поста. В html. Надо на шаблоны переводить и вот тут дилемма.
Вариант 1 — сделать на шаблонах mojolicious, он кажется такое позволяет, но получится, что каждая страница будет динамически формироваться на каждый запрос (ну или кешироваться, если через nginx запускать). Все записи будут храниться в базе.
Вариант 2 — сделать на статическом движке, чтобы страницы генирировались раз и навсегда, только на этапе создания, тогда все посты будут храниться в отдельных файлах.

Как поступить?

Shura

Наступила осень, а с ней пришли долгие вечера и противная погода. Это значит, что пришла пора искать себе занятие на выходные, что б не было скучно.

На эту зиму придумал себе проект — сайт, на котором можно было бы удобно размещать отчёты о путешествиях и покатушках на велосипеде (или вообще как угодно). С треком, геопривязанными фотками, текстовыми заметками, с разбиением по датам и отображением информации типа набора высоты и дневного пробега. Попробую сделать так, чтобы это было прежде всего удобно просматривать и готовить свои будущие поездки.

План работ слишком большой, чтобы его можно было сделать за 5 месяцев, оставшихся до весны, но для того, чтобы поковырять некоторые технологии, хватит.

В качестве бэкенда возьму что-то на перле, ибо учить php или python нет никакого желания. Значит это будут либо Dancer, либо Mojolisious, с первым я вообще дела не имел, второй немного ковырял, можно будет углУбить.

Фронтенд нужен попроще, нет желания разбираться с монстрами типа Angular или Ember, я на них сейчас глянул и немного прифигел. Возьму bootstrap, там вроде простенько, мне ничего навороченного не требуется, сайт будет в виде блога.

Остальное в процессе выбора, надо будет чем-то анализировать GPS треки, разбирать фоточки, а потом всё это накладывать на карту, да ещё и интерактивно. Гляжу в сторону leaflet или openlayers, а на них какие-нибудь плагины.

Хранение в mongodb, sql я не знаю, а в ней всё в json, который мне по нраву.

Ну а чтобы закрепить звание говноеда, разберусь с jail во FreeBSD и подниму всё это там.

В путь!