LINUX.ORG.RU

Что взять для простого сайта в виде бложика?

 , , , ,


4

6

Надоело мне ковыряться с WordPress’ом и PHP. Чувствую, что забиваю гвозди электронным микроскопом. Слишком увесистый и избыточный он для меня. Я бы давно нагенерировал статических HTML-страничек, если бы не одно но – комментарии. А для них нужна БД, увы. Всякими сторонними сервисами вроде Discuss или IntenseDebate пользоваться не хочу и не буду. Во-первых, там куча подгружающейся Boilerplate-ерунды, а во-вторых, руководствуюсь принципом «всё своё ношу с собой».

Собственно, хочу соорудить нечто подобное тому, что у меня есть сейчас на WordPress’е:

https://exlmoto.ru/gish-droid/

Мне нужно немногое, пару служебных страничек, да посты в виде привычной всем ленты на главной. В постах нужна нормальная подсветка кода (наверное заюзаю highlight.js, альтернатив ему не вижу), поддержка Markdown для разметки и, собственно, система комментариев с какой-нибудь там Google Captcha, чтобы спамеры не пролазили. По вкусу ещё кастомные CSS для светлой и тёмной тем. Всякие там загрузчики Media-файлов и продвинутые редакторы статей мне не нужны.

Так вот, что лучше всего выбрать для подобного? Какой фреймворк и стек Web-технологий? Давно поглядываю в сторону Spring и Java, хочу попробовать использовать их, так как ЛОР, например, работает весьма отзывчиво.

На что бы вы перешли, если бы вам надоел WordPress? Буду рад выслушать любые советы.

★★★★★

github.com/bvn13/SpringBlog - там комменты в дискуссе, но можно запилить и локально. приму пулл-реквесты.

bvn13 ★★★★★ ()

Давно поглядываю в сторону Spring и Java, хочу попробовать использовать их, так как ЛОР, например, работает весьма отзывчиво.

Мысль у меня тут как-то проскочила: использование что-то наподобие форумного движка для блога.

Все топики начинаются только тобой. Комментарии есть, поиск есть. Подъем обсуждаемых тем наверх тоже может быть удобен. Прикрепленные посты тоже как бы есть. Ну там добавить возможность комментирования с регистрацией в соцсетях, классификацию по тэгам (если ее нет). В форумах удобно, например, что есть тематические разделы и подразделы. Можно сразу, например, нырнуть в раздел «Про жизнь» и читать только те посты, а в раздел про компьютеры вообще не заходить. И пробираться через них не надо к нужным топикам - сразу к темам.

Zubok ★★★★★ ()
Последнее исправление: Zubok (всего исправлений: 1)
Ответ на: комментарий от Zubok

Мысль у меня тут как-то проскочила: использование что-то наподобие форумного движка для блога.

Да, у меня тоже подобное мелькало в мыслях. Но всё-таки из пушки по воробьям, неудобно. Да и хочу уйти от использования PHP.

Пользователь ЛОРа @h4tr3d, блог которого я читаю, раньше использовал DokiWiki для своих записок, это выглядело интересно, но мне кажется было не слишком удобно.

Но сейчас, похоже, он перешёл на Hugo: https://htrd.su/, вот только комментарии на Disqus, а это для меня неприемлемо.

EXL ★★★★★ ()
Ответ на: комментарий от leave

Интересный проект, спасибо. Но мне страшно хочется забыть про PHP.

EXL ★★★★★ ()
Ответ на: комментарий от bvn13

А фрагменты кода в постах ты чем подсвечиваешь? Highlight.js? Можно ли туда прикрутить линейку строк, как в IDE или как по моей ссылке?

EXL ★★★★★ ()
Ответ на: комментарий от aol

Discourse – это уже полноценный форумный движок на современный лад с бесконечной прокруткой и прочими прелестями Web 2.0; Единственное что там круто сделано – это повсеместное использование Markdown. Но если я начну отпиливать от Discourse части, чтобы превратить его в подобие нужного мне блога, то просто утону в этих современных Web-технологиях. Мне нужно что-то максимально простое, лёгкое и самописное. Я от WordPress хочу уйти по той же причине, что это не фреймворк, а полноценный конструктор.

EXL ★★★★★ ()
Ответ на: комментарий от EXL

нене, я тебе его предлагаю на замену Discuss, только для комментариев.

сам бложек веди на статически сгенерированном сайте.

еще, вроде бы, какая-то замена была для Discuss опенсорсная.. вспомню - напишу, если интересно.

aol ★★★★★ ()
Ответ на: комментарий от bvn13

Спасибо. У highlight.js вроде языков побольше будет. Интересно есть ли годная подсветка на серверной стороне…

EXL ★★★★★ ()
Ответ на: комментарий от aol

нене, я тебе его предлагаю на замену Discuss, только для комментариев.

Это всё можно слепить в одну страницу вида статически сгенерированный контент + комментарии к записи? Что-то я сомневаюсь что это без костылей можно будет сделать. Да и тянуть тяжеленный Discourse для пары простеньких комментариев опять же, довольно странное решение. Проще примитивную форму комментариев прилепить.

EXL ★★★★★ ()
Ответ на: комментарий от anonymous

Это статический блог с записями в Markdown: https://github.com/skeeto/skeeto.github.com/tree/master/_posts

Примерно такое же я и хочу сделать, проблема лишь в том, что система комментариев находится на стороннем ресурсе, в данном случае это Disqus. Я же хочу БД комментариев таскать с собой, у меня нет подобных ограничений, как на GitHub Pages, и я могу на хосте поднять любую БД.

EXL ★★★★★ ()
Ответ на: комментарий от bvn13

Есть ещё такая интересная штука на Java, как Apache Roller. Пример бложика на нём: https://satishchilukuri.com/blog/

Я попробовал, но для меня слишком много излишней функциональности, хотя тот чувак по ссылке выше, сделал бложик весьма минималистичным. Ещё одна проблема – судя по интенсивности коммитов, этот проект почти мёртв.

И есть ещё Эгея – https://demo.blogengine.ru/, выглядит вкусно, но там PHP.

Похоже лучше всего мне взять какой-нибудь фреймворк типа Spring и начать делать блог под себя на нём.

EXL ★★★★★ ()

Сайт на pelican сам исходник на markdown а каменты на Discuss. Тем оформления полно. Хостить статичный html где только душе угодно. Как выглядит см мой бложик.

init_6 ★★★★★ ()

Надоело мне ковыряться с WordPress’ом и PHP

Где там надо ковыряться в PHP, чтобы вести свой говнобложик?

На что бы вы перешли, если бы вам надоел WordPress?

Ни на что. WP далек от идеала, но другие CMS не лучше.

FilosofeM ★★ ()
Последнее исправление: FilosofeM (всего исправлений: 1)

Не совсем понятно, что ты хочешь. Комменты это 50 строк на пхп и одна табличка в базе. Ты это хочешь услышать?

Legioner ★★★★★ ()
Ответ на: комментарий от FilosofeM

Где там надо ковыряться в PHP, чтобы вести свой говнобложик?

Например, чтобы собственный шаблон запилить.

EXL ★★★★★ ()
Ответ на: комментарий от Legioner

Не совсем понятно, что ты хочешь.

Фреймворк, на котором можно быстренько сделать подобие WordPress-сайта с необходимой функциональностью. Желательно на Java.

Комменты это 50 строк на пхп и одна табличка в базе. Ты это хочешь услышать?

Я хочу не на PHP.

EXL ★★★★★ ()
Ответ на: комментарий от bvn13

на всех ли них ты будешь писать куски кода в блог?

У PrismJS нету, например, QML.

EXL ★★★★★ ()
Ответ на: комментарий от EXL

чтобы собственный шаблон запилить

Зачем пилить свой шаблон, когда их напилено уже и так как собак нерезанных, полностью кастомизированных? WP Astra, например. Легковесный и шустрый.

FilosofeM ★★ ()
Ответ на: комментарий от EXL

Так большинство современных сайтов пилят в виде SPA, где бэкенд - это просто апи, а фронт - React/Angular/Vue. На чем его (бэк) писать? Да на чем угодно. Тут даже большие фреймворки не нужны, микрофреймворков достаточно более чем, потому что ты по сути принимаешь запрос - отдаешь в ответ json. Никакой работы с шаблонами на сервере и т.п. Не знаю, правильно ли, но я в итоге решил апи на го (gin/gonic) запилить. Не могу сказать, что в восторге, но пока идет.

P.s. java не рассматривал, потому что 1) Ее вообще почти не знаю 2) Слышал, что памяти жрет много, а для пет-проектов это критично, если они прибыли не приносят, из-за затрат на хостинг 3) У меня тоже фактически блог, и мне юзать java для таких задач показалось крайне избыточным занятием.

dimuska139 ★★ ()

забиваю гвозди электронным микроскопом.
Давно поглядываю в сторону Spring и Java

Вот это ты знатно поделил на ноль.

hippi90 ★★★★★ ()
Ответ на: комментарий от EXL

Фреймворк, на котором можно быстренько сделать подобие WordPress-сайта с необходимой функциональностью. Желательно на Java.

А зачем усложнять? Ну ладно, сделай на джаве, жсп засунешь в томкат и готово. Нафига тебе «фреймворк» для 50 строк? Оверинжиниринг головного мозга? То ты на HTML хочешь писать, то теперь фреймворк целый нужен.

Legioner ★★★★★ ()
Последнее исправление: Legioner (всего исправлений: 1)

Не хочу PHP, хочу жрать говно

Вам нужен генератор статических сайтов. Сейчас в моде Jekyll. Осталось только что-то с комментариями придумать, раз Discuss — зло.

CryNet ★★★★★ ()
Ответ на: комментарий от EXL

А если хочешь что-то типа WP, но при этом очень простое, качественное, и с возможностью удобно допиливать, то могу посоветовать Wagtail CMS. Правда это не java, а Python.

dimuska139 ★★ ()

нагенерировал статических HTML-страничек, если бы не одно но – комментарии.

Я бы сделал так. Нагенерировал статических страничек, блок комментариев завернул во Vue.js, на бекенде что-нибудь простое, тут по вкусу Python, Go, Rust, базу Postgresql (можно, конечно, попробовать что-нибудь полегче, но на мой взгляд это экономия на спичках). При загрузке страницы Vue делает асинхронный запрос к беку, получает список комментов и рендерит его, добавление комментария аналогично - ajax к бекенду.

hippi90 ★★★★★ ()
Ответ на: комментарий от Deleted

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

Dispetcher14 ★★★★ ()
Последнее исправление: Dispetcher14 (всего исправлений: 1)

«Чувствую, что забиваю гвозди электронным микроскопом»

Но ты при этом хочешь использовать Java для блога, состоящего из новостной ленты и страниц статей. Это не оправдано, если:

  1. У тебя не крайне высокие нагрузки

  2. Ты не собрался использовать Java исключительно для ее изучения

dimuska139 ★★ ()
Ответ на: комментарий от Legioner

Оверинжиниринг головного мозга? То ты на HTML хочешь писать, то теперь фреймворк целый нужен.

Я пока рассматриваю разные варианты. Статика это конечно здорово, но она мне не совсем подходит.

EXL ★★★★★ ()
Ответ на: комментарий от hippi90

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

P.S. Спасибо за идею.

EXL ★★★★★ ()
Последнее исправление: EXL (всего исправлений: 1)
Ответ на: комментарий от dimuska139

Язык и платформа это не окончательный выбор. Спасибо за советы.

Так большинство современных сайтов пилят в виде SPA, где бэкенд - это просто апи, а фронт - React/Angular/Vue. На чем его (бэк) писать? Да на чем угодно. Тут даже большие фреймворки не нужны, микрофреймворков достаточно более чем, потому что ты по сути принимаешь запрос - отдаешь в ответ json. Никакой работы с шаблонами на сервере и т.п. Не знаю, правильно ли, но я в итоге решил апи на го (gin/gonic) запилить. Не могу сказать, что в восторге, но пока идет.

Если у меня довольно объёмные по содержанию статьи (~200 Кb голого текста), оправдано ли будет пихать подобное в JSON? Я что-то сомневаюсь в этом. В идеале мне нужен простой клиент к БД, который рендерил таблицы с текстом и работал с комментариями. Есть ли что-то подобное в экосистеме Go, чтобы оно мне HTML из этого выплёвывало?

EXL ★★★★★ ()

Так ЛОР и возьми. Исходники есть. Форум и галерею выпили, а новости оставь. Он ж тоже на спринге вроде как основан? Можно туда легко social login прикрутить и всё.

Deleted ()

Надоело мне ковыряться с WordPress’ом и PHP

Бери django, там python.

King_Carlo ★★★★★ ()
Ответ на: комментарий от xaizek

Анонимус одобряет

Два чаю этому благородному дону.

anonymous ()
Ответ на: комментарий от xaizek

В шоке от того, что это какого-то х*я делают на клиенте… source-highlight, highlight, pygments.

Ага. У меня вообще закрадывалась мысль «запекать» подсветку в HTML, как это делает, например, pandoc:

$ cat test.md
## Java code

```java
// JNI-method
public static void writeConfiguration(int[] cfg) {
    for (int i = 0; i < AAAASettings.CFG_CNT; ++i) {
        AAAASettings.configuration[i] = cfg[i];
    }
    AAAALauncherActivity.writeConfig();
}
```

End!

$ pandoc -s test.md -o test.html --self-contained --metadata pagetitle="Test"

А потом подобный html класть куда-нибудь в БД.

EXL ★★★★★ ()
Последнее исправление: EXL (всего исправлений: 1)
Ответ на: комментарий от EXL

DokuWiki всем устраивал, при желании и комментарии можно через BlogTNG оставить (они так же в sqlite базе хранятся). По вопросу удобности... Не знаю: в поле вводишь название новой статьи, нажимаешь Создать, редактируешь, и... всё. Мелких суетливых телодвижений нет.

Но пришлось мигрировать и не захотелось связываться с настройками серверной стороны, поэтому перебрался на статику, Hugo взял из-за простоты развёртывания, а тот же gitlab pages поддерживает практически любые генераторы (особым ценителям можно хоть Zim использовать). Чего сейчас нехватает, это удобного «живого» поиска: практически всегда хватало именно его.

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

h4tr3d ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.