Комментарии 29
Классная идея и реализация) спасибо, с удовольствием читал
Кажется, это Александра Блока современники не признавали поэтом, утверждая, что он занимается имитацией поэзии?
Соблюдает размер, не вкладывая образов.
Как поэт: снимаю шляпу! За алгоритмы я ни хрена не понял, но концептуально — это очень круто!
За алгоритмы я ни хрена не понял
Если так теперь говорят поэты, то мы всё продолбали. Какой нахрен "за алгоритмы"? Вы на каком языке разговариваете вообще?
Судя по всему, Вы приверженец старомодных взглядов на поэзию. а по моему опыту объяснять что-то людям вроде Вас — бессмысленно. Скажу только одно, поэты бывают разные: кто-то — в Вашем вкусе — говорит исключительно высокопарным и академическим языком, а кто-то — как я — пользуется живым, постоянно изменяющимся языком текущего времени со всеми его странными, сиюминутными, противоречивыми языковыми конструкциями и словечками разной степени меметичности.
Вы можете сколько угодно оправдываться "живостью языка" или "меметичностью", но язык вы всё равно портите.
Я — помогаю языку развиваться, вы — помогаете языку консервироваться.
Каждому своё.
Развиваться, заменяя предлоги на неподходящие? Если оглянуться на историю русского языка, то можно только сказать "спасибо, наразвивали". (Уж не говоря об украинском)
Вечный спор новаторов и консерваторов. :)
То есть использовать вместо нескольких предлогов один это для вас новаторство???
А можете конкретно сказать, что не так в "за алгоритмы я не понял", кроме того что это не соответствует академической норме?
Легко пишется, легко понимается, добавляет эмоциональную окраску, да ещё и места занимает меньше, чем "я не разбираюсь в алгоритмах".
Поясните за 3 знака вопроса. Вы на него тон повышаете? Ты шо такой дерзкий?
Уж не говоря об украинском
Какое отношение к украинскому языку вы имеете?
Это довольно распространённый южнорусский и украинский диалектизм русского языка
Спасибо, очень весело
Сделать свой формат файла с подсветкой синтаксиса и lsp сервер для интеграции с любыми редакторами. Очень символично будет писать стихи в neovim :D
Автору респект. Когда-то сам писал стихи и пользовался онлайн сервисами. Не помню, чтобы они когда либо меня подводили.
Ну вот я, увы, с lsp не сталкивался до этого нормально, но я боюсь, что там обязательно будут веселые подводные камни. Как минимум, есть большая потребность в представлении "кода"-стихов в виде одних "квадратиков" (без них подсветка почти бесполезна). Плюс подбор рифмы/подходящего по ритму слова с удобными выпадающими вариантами из любого места (автоподсказки — плохо, не хотим привязываться к положению курсора). Возможно, придется лезть далеко каждый раз, чтобы указать текущие настройки подбора.
Да и не так много, увы, поэтов, у которых стоит приличная IDE. Со своим приложением спокойнее. Надо покопаться, конечно, но вот у меня есть сомнения.
Думаю LSP не реализуемо. LSP включает только следующие возможности:
Автодополнение (в зависимости от положения курсора)
Подсвечивание некторых слов (hover)
Подсветка ошибок
Рефакторинг
Подсказки (lens)
Перескок на место определения функции
И другие вещи применимые только для языков программирования
Ничего из этого не применимо для функций quickpoeter
. Думаю в neovim
писать стихи не получится, используете Emacs
:D
Тут скорее вопрос в том, можно ли накостылять, чтобы оно использовало фишки LSP "не по назначению". Условно говоря, использовать подсказки (которые большие выпадающие блоки для, например, документации функции, если я правильно понимаю) для отображения ритмической структуры текущей строфы. Не знаю, можно ли таким образом удобоваримо встроить поиск. Может, что-нибудь вроде того же автодополнения к слову, к которому ищем рифму (на новой строке вводим слово, требуем автодополнение, выбираем из предложенных вариантов слово-рифму).
Впрочем, подозреваю, пользоваться таким в любом случае будет сложновато.
Да ладно вам, это была шутка) Просто есть больные продвинутые люди (как я), которые любят подобной ерундой заниматься. В случае LSP это действительно больше натягивание совы на глобус. Однако идея с подобным сервером, но со своим протоколом имеет смысл быть. Вместо жесткой связки Rust <-> Tauri, можно дополнительно экспоузить http. И там выдать и структуру стиха, и ударения, и подсказки, и все что душе угодно. А потом всякие больные продвинутые люди (как я) могут написать обвязки для своих любимых редакоторов, и творить без необходимости отказываться от vim motions :D
Кстати, фронтенд тоже можно писать на Rust. Очень недавно появилась библиотека, наподобие React -- leptos. По бенчам он гораздо шутрее, чем реакт и многие другие фронтенд фреймворки. Есть уже статьи, как сдружить его с Tauri. Это если совсем хочется заморочиться)
Есть похожее приложение "Стихотворец". В чём то очень похоже.
Спасибо, никогда не видел, надо будет попробовать поизучать. По краткому описанию и скриншотам хочется сказать, что оно похоже, но всё-таки принципиально с другой идеей. Оно действительно позволяет адекватно смотреть на ритм стихотворения (не очень гибко и красиво, но терпимо) и реализует систему паттернов поиска по ритму глубже, чем я. То есть специализируется на перестраивании структуры предложений.
Но в остальном функционал пересекается всё-таки мало. Рифмы, видимо, там реализованы в функции "найти похожее по звучанию слово", но сомневаюсь, что его можно настроить под себя и так далее. У меня всё-таки упор во многом именно на качество и адаптивность подбора.
Ну и в целом интерфейс и "алгоритм работы с приложением" у "Стихотворца" жутковатые. Мне кажется, у меня должен быть поменьше порог входа, проще, нагляднее, не нужно платить 250 ₽. ) Но в любом случае выглядит интересно, ещё раз спасибо.
Укажет тематику "про любовь", и с меньшей вероятностью будут лезть слова вроде "автоматизация", "канализация" и так далее.
Автоматизация чувств, как канализация буйств,
Параметризация пусть лак анализа уст.
Что любовь только грусть, что мнемоника — хруст
Звук падающих деревьев на необитаемых островах — это чушь)
Не спорю, можно использовать самые неподходящие слова и получить что-то интересное. Но это всё-таки специфичный случай — это намеренный литературный прием, его нужно делать осознанно.
К тому же, я говорил в первую очередь про рифмы, а рифма всегда привлекает к себе дополнительное внимание. Если строчка про любовь закончится "канализацией"... То это будет строчка уже не очень про любовь, акценты сместятся. Это может быть интересной деконструкцией образа, конечно, но, согласитесь, получить такое в качестве автоподсказки достаточно странно.
Круто выглядит. Но было бы веселее, если был бы какой-то доступ через командную строку, например: rifm пакля
печатает список рифм к слову, я бы сделал автодополнение для моего редактора Emacs. Тогда вообще всё идеально стало.
Код подборщика лежит в отдельном репозитории, можно использовать и как библиотеку, и как самостоятельную консольную утилиту.
Я написал в статье, такое как раз очень даже возможно. Я в первую очередь об этом подумал — весь функционал поиска рифмы запрятан в отдельную библиотеку/консольную утилиту. Приложение — просто удобная оболочка. Там сейчас немного сложнее с выбором настроек (оно читает всегда файл по умолчанию), в остальном же функционала даже больше, чем непосредственно встроено в приложение (например, можно фильтровать "неугодные" части речи). Только релизов в репозитории сейчас не лежит, нужно руками собирать, но если кому-то правда интересно — я могу выложить сборки через Github Actions и туда.
Синтаксис почти такой, как Вы сказали — quickpoeter "сло'во"
. ) Ну плюс опции.
А вот подсветка действительно есть только в приложении, но она гораздо проще с точки зрения кода, там ничего гиперумного. Тут уже нужно с lsp развлекаться, как пишут в комментариях выше.
Поэтический редактор: Rust + Tauri