Основная задача сборщика выписок - удобно сохранять цитаты из читаемого текста.
Какие действия он предназначен упростить? Создание выписок.
Как мы обычно выписки делаем?
Открыли текст, открыли в текстовом редакторе файл для выписок. Нашли интересующее в читаемом - надо скопировать, переключиться на редактор, вставить скопированное, м.б. добавить какие-то метки, вбить вручную разделитель, велеть сохранить файл, вернуться в прежнее окно. И вгруженность в чтение, само восприятие текста, уже не то :)
Как такой сборщик мог бы работать с точки зрения пользователя?
- Запускаю этот самый сборщик, создаю/открываю файл, в который он будет писать. М.б. устанавливаю разделители между цитатами, ещё какие-то настройки.
- Пишу/не пишу какой-то заголовок со сведениями о тексте, вообще "рамочку". Включаю "режим сбора".
- Перехожу к чтению - в чём угодно. Xpdf, openoffice writer, fbreader, chmview, любимый браузер, любимый текстовый редактор, бог весть что ещё. Читаемый текст на весь экран, ни на что не переключаюсь. Скопированное (или просто выделенное) сразу ложится в файл, заданный на шаге 1, м.б. с указанием места в файле и с разделителем после цитаты.
- Выключаю режим сбора. Возможно, закрываю сборщик.
Как оно может быть?
- Вариант 1. Программа реагирует на попадание нового текста в иксовый буфер, и по этому событию кладёт содержимое буфера, куда ей с самого начала велели. Это, оказывается, просто.
- Вариант 2. Программа реагирует на сочетание клавиш, и по сочетанию клавиш забирает содержимое из буфера и делает, что велено. Это лишнее действие. Это возможность держать сборщик в готовности постоянно - ненужное всё равно в сборщик не попадёт.
Это тоже просто - вот
- Вариант 3. Как-то ещё :)
Обсуждение было начато тут.
-
Просьба модераторов и т.с. все таки оформить пост более "форматировано". Хотя бы для списков использовать соответствующие тэги.
ЗЫ: да, да, я зануда и педант.
-
-
Так лучше?
А теги какие ставить?
Я тоже зануда, я просто ещё не освоилась тут :)
-
-
Отлично!
Тэги я имел в виду для списков, ссылок и прочего. Если имеются в виду метки для поста, то под ними подразумевается слово или словосочетание или даже предложение, разделенные между собой запятыми. Например: тэг1, тэг из четырех слов, C++.
Строго заданных тэгов нету. Сами придумываете :).
-
-
Спасибо.
Да, я именно про метки для поста. Просто пока не придумались :)
-
А вот так ещё лучше.
-
-
Спасибо :)
-
Вариант 2: отчего же лишнее действие, если сбор, к примеру, повесить на нажатие одновременно двух клавиш мышки.
-
-
Ужас какой! А если вместо мышки тачпад, то как? :)
-
-
ааа... ну, если тачпад, тогда конечно сложнее =)
-
У тачпадов тоже есть клавиши :) И как раз по две, обычно.. :)
-
-
И у моей ееешки эти две клавиши - одна металлическая пластинка ;)
-
И как раз по одновременному нажатию происходит третья клавиша мыши ;) у меня на нетбуке так с иксовым буфером работать приходится.
-
Ctrl+E. ;)
-
Тут лучше дать возможность пользователю выбирать. Либо сделать софтину, которая по нажатию на клавишу переводит буфер в режим сбора: все, что туда попадет, занесется в файл без дополнительных телодвижений. Но мне это видится менее удобным.
-
-
ну, это естественно.
я просто указал, что неочевидный на первый взгляд метод может быть более удобным =)
-
KDE'шный Klipper умеет что-то подобное.
-
-
Почитал обсуждение по ссылке, там это уже предлагали. Полагаю, если у ТС не кде и не гном, то что-то на боксах, что никак не мешает установке GTK программ, того же Glipper'a к примеру. И уж точно лучше допилить желаемую функциональность в уже готовых решениях, чем изобретать очередной велосипед.
-
Тут обсудили, что это в общем-то может не подойти.
-
Ага, а для Glipper'а (гномий аналог) можно плагин написать. Но если Qt не стоит, и Гнома нет?
-
-
Ох уж эти нелюбители "лишних" зависимостей. И плагинов не нужно, в Klippere есть действия с буфером обмена, которые включаются по горячим клавишам. И блог называется "Есть идея", а не "Хочу такой же велосипед, как в кде/гном, только без лишних зависимостей". Let the holywar begin!
-
-
Как бы кто ни не любил этих нелюбителей, но они есть и их тоже нужно учитывать.
-
Нелюбители лишних зависимостей временами оказываются ещё и владельцами слабых компов. Например. :)
-
-
Не думаю, что небольшое приложение на Qt сильно повлияет на производительность даже не очень мощного компьютера. Да и памяти вряд ли съест много. это ж не все кеды тянуть, только Qt, а это совсем немного.
-
-
а не только kdelibs...
ldd /usr/bin/klipper
linux-vdso.so.1 => (0x00006878ef403000)
libkdeinit4_klipper.so => /usr/lib/libkdeinit4_klipper.so (0x00006878eefa4000)
libc.so.6 => /lib/libc.so.6 (0x00006878eec37000)
libkdeui.so.5 => /usr/lib/libkdeui.so.5 (0x00006878ee597000)
libX11.so.6 => /usr/lib/libX11.so.6 (0x00006878ee256000)
libz.so.1 => /lib/libz.so.1 (0x00006878ee03e000)
libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0x00006878ede38000)
libkdecore.so.5 => /usr/lib/libkdecore.so.5 (0x00006878ed932000)
libQtDBus.so.4 => /usr/lib64/qt4/libQtDBus.so.4 (0x00006878ed6ad000)
libQtCore.so.4 => /usr/lib64/qt4/libQtCore.so.4 (0x00006878ed1db000)
libQtGui.so.4 => /usr/lib64/qt4/libQtGui.so.4 (0x00006878ec471000)
libstdc++.so.6 => /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.1/libstdc++.so.6 (0x00006878ec14b000)
/lib64/ld-linux-x86-64.so.2 (0x00006878ef1e5000)
libQtSvg.so.4 => /usr/lib64/qt4/libQtSvg.so.4 (0x00006878ebee8000)
libSM.so.6 => /usr/lib/libSM.so.6 (0x00006878ebcdf000)
libICE.so.6 => /usr/lib/libICE.so.6 (0x00006878ebac3000)
libQtXml.so.4 => /usr/lib64/qt4/libQtXml.so.4 (0x00006878eb875000)
libdbusmenu-qt.so.2 => /usr/lib/libdbusmenu-qt.so.2 (0x00006878eb643000)
libXtst.so.6 => /usr/lib/libXtst.so.6 (0x00006878eb43c000)
libXcursor.so.1 => /usr/lib/libXcursor.so.1 (0x00006878eb231000)
libXrender.so.1 => /usr/lib/libXrender.so.1 (0x00006878eb026000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00006878eae09000)
libm.so.6 => /lib/libm.so.6 (0x00006878eab87000)
libxcb.so.1 => /usr/lib/libxcb.so.1 (0x00006878ea969000)
libdl.so.2 => /lib/libdl.so.2 (0x00006878ea765000)
libQtNetwork.so.4 => /usr/lib64/qt4/libQtNetwork.so.4 (0x00006878ea422000)
libbz2.so.1 => /lib/libbz2.so.1 (0x00006878ea212000)
libdbus-1.so.3 => /usr/lib/libdbus-1.so.3 (0x00006878e9fcd000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00006878e9db7000)
libgthread-2.0.so.0 => /usr/lib/libgthread-2.0.so.0 (0x00006878e9bb2000)
librt.so.1 => /lib/librt.so.1 (0x00006878e99a9000)
libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0x00006878e96a9000)
libpng14.so.14 => /usr/lib/libpng14.so.14 (0x00006878e9481000)
libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x00006878e91d9000)
libXrandr.so.2 => /usr/lib/libXrandr.so.2 (0x00006878e8fd0000)
libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0x00006878e8d9a000)
libXext.so.6 => /usr/lib/libXext.so.6 (0x00006878e8b87000)
libuuid.so.1 => /lib/libuuid.so.1 (0x00006878e8982000)
libXau.so.6 => /usr/lib/libXau.so.6 (0x00006878e877e000)
libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x00006878e8577000)
libexpat.so.1 => /usr/lib/libexpat.so.1 (0x00006878e834d000)
особенно удивили зависимости от libQtNetwork и glib
%username% love BDSM!
%username% love BDSM!
-
Не умеет.
-
кстати да =)
цитата:
Объясню для чего мне это понадобилось. Нужно было сохранять ссылки определенной тематики из поисковой выдачи, различных сайтов, возможно еще откуда-нибудь. Наиболее удобным порядоком организации подобной работы мне показался следующий:
1. Я визуально выцепляю нужные ссылки и копирую их в буфер обмена
2. Некоторая программа отлавливает ссылки и сохраняет их в файлик
Таким образом мне не нужно тратить время на создание и редактирование этого файла вручную: одна мысль об этом меня очень утомляет)
Поискал расширение для Firefox - не нашел, решил попробовать коммандную строку. Быстро нашел утилиту xsel - именно то, что мне нужно.
Небольшой скрипт делает все, как я мечтал:
$ while true; do link=`xsel -o -b -c`; if [ -n "$link" ]; then echo $link|tee -a proxy-links.txt; fi; sleep 0.5;done
-
-
Это "вариант 1" или я что-то неправильно поняла? :)
-
-
да, сейчас я его немного допилю....
пока что можно использовать так:
$ while true; do eval 'xsel -o -b -c' >> filename.txt;done
Весь текст из буфера обмена будет собираться в файле filename.txt
из минусов:
- нет разделителя между текстами, даже переноса строки - все лепиться в кучу
- прерывать работу нужно клавишами Ctrl+C
-
-
вот версия, можно указать разделитель.
$ rr="\n";while true; do ff=`xsel -o -b -c`;if [-n "$ff"]; echo "$ff" >> filename.txt;echo -e "$rr" >> filename.txt;fi;done
В первой переменной заноситься разделитель - я поставил разделителем перенос строки (\n).
Имя файла будет "filename.txt". В принципе, не сложно изменить или, если организовать скриптом, указывать при запуске скрипта.
из минусов:
- прервать работу нужно клавишами Ctrl+C
-
-
оформил все это дело в bash-скрипт:
Создаем файл с именем start_collect.sh с содержимым:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
#/usr/bin/sh
rr="\n"; # разделитель
file_name="$1";
if [ -z "$file_name" ]; then
file_name="clipboard.log"; # имя файла по умолчанию
fi;
while true;
do ff=`xsel -o -b -c`;
if [ -n "$ff" ]; then
echo "$ff" >> $file_name;
echo -e "$rr" >> $file_name;
fi;
sleep 0.5;
done |
Ставим файлу признак запуска:
$ chmod 777 ./start_collect.sh
Теперь его можно использовать так:
$ ./start_collect.sh
запускается скрипт сбора буфера обмена, вся собранная информация собирается в файле clipboard.log
$ ./start_collect.sh ~/collect.txt
запускается скрипт сбора буфера обмена, вся собранная информация собирается в файле collect.txt в домашнем каталоге пользователя.
-
Спасибо огромнейшее!
Получается, тут легко изменить разделитель, можно вставить что-то до, можно и фильтровать, что именно собираешь.
-
-
да незачто, собственно =)
я только преобразовал скрипт, найденный в интернетах =)
Да, можно вставлять до и после.
Вот только на счет фильтрования - если сумеешь это в bash-е организовать... моих знаний на такое пока не хватит (
-
-
Для начала, Вы его нашли. Потом - привели в красивый вид. :)
А я что-то такое довольно долго искала, но найти не могла :)
В bash я понимаю сильно меньше Вашего, уверена. Зато немного знаю perl :)
Главное, не увлечься накручиванием рюшечек вокруг прекрасной в своей простоте основы. :)
-
А в чем суть фильтрации? Ну по слову какому-то или что?
-
-
В основном, да. В каких-то случаях выбирать, что именно записывать (например, берём только линки). В других - разные метки прицеплять, в разные файлы раскидывать... Но это сильно не основная часть. :)
-
-
Ну для простого случая, когда фильтрация по слову, скрипт вроде как не сложно доработать.
-
-
Я, честно говоря, пока не очень уверена, как оно лучше :)
Пока с основной частью разбираюсь для себя. Начала пользоваться, смотрю, что получается :) И очень рада уже тому, что оно вообще есть :)))
-
$ while true; do eval 'xsel -o -b -c' >> filename.txt; echo >> filename.txt; done
вот так пустая строка добавиться :)
-
Спасибо!
-
В начале прочитал и тупанул... Вчера посещал налоговую, пенсионный фонд и затем сбербанк как раз за выписками... Бюрократы такие бюрократы.. а тут опять Выписки... не понял про что.
-
Если браузер, предлагаю другие варианты, которыми пользуюсь сам.
1. Использовать Заметки Opera. Есть "папочки".
Выделил текст, нажал Ctrl+Shift+C, profit. Если в боковой панели выделена папка, заметки "складываются" в эту папку.
2. Использовать сервисы GTD. Например, Remember The Milk.
Создал "задачу", и в режиме "Заметки" добавляешь эти самые заметки, ссылки и прочее. Ctrl+Enter и всё сохраняется. При этом видна дата добавления/изменения, можно удалить. Задачу можно закрыть (удалить - тоже), и в последствии можно посмотреть заверёшнные.
Всё быстро и максимально доступно из всех точек планеты, где есть интернет. :-) В первом случае есть синхронизация, в другом - онлайн-сервис.
-
-
для firefox есть подобный Scrapbook. Выделил, сохранил по хоткею. Беда в том, что заметок получается много. тутошний башовый скрипт рулит IMHO - ему бы немножко управления еще: рабочая директория, создать новый файл ну и разделители между заметками
-
-
А зачем рабочая директория?
-
-
а куда сохранять?
-
-
Куда укажу :)
-
-
а там директория будет? ;) хорошо бы файлы по темам разбивать. ищу то, потом это. пишется в файл "то.txt", потом "это.txt". юзерфредли выглядит - хочу новый файл с темой "Это". и он в той же директории сохраняется.
-
-
Подход разный может быть. Если про каталог не спрашивать, это тоже неудобно. Если можно будет решить, как больше нравится - чтоб всё в заданном каталоге или чтоб каждый раз спрашивать, то м.б. и хорошо, да.
-
-
Всё равно все в интернете ищется, так что браузерное решение выглядит наиболее интересно. Кроме того, иногда находишь чо-то на одном компе, а работу потом пишешь на другом. Удобно было бы просто выделить текст, нажать кнопку и сохранить и текст, и ссылку где-то в папочке онлайн.
У хрома дофига таких плагинов, ищите по слову Notes или Save notes в репозитории. У файрфокса наверняка тоже полно.
-
-
А это, кажется, причина, почему сравнительно мало программ для людей, отличных от тех, кто сам их пишет :) Вы таки не поверите, но я даже на нетбуке таскаю библиотеку в пару-тройку гигов, и то читаю её, то ищу по ней. :)))
-
Basket так умеет.
Выделил текст, жмакнул хоткей, и оно автоматом в одну из корзинок добавилось.
-
На ЛОРе недавно публиковали релиз MyTetra
Менеджер накопления информации MyTetra
Программа MyTetra — это несложный кроссплатформенный менеджер накопления информации. Программа предназначена для хранения статей и заметок. Все записи организуются в древовидную структуру (обычно по «основному» признаку), а так же снабжаются ключевыми словами-тегами. Основная задача MyTetra — предоставить естественный, интуитивно-понятный интерфейс для написания заметок, обеспечить возможность быстрой навигации по дереву и удобный поиск.
-
-
Насколько понимаю это просто редактор.
А тут идея что-бы текст автоматически вставлялся из буфера.
-
для веба есть http://fishl.com/ например. выделяешь, жмакаешь и оно запоминает отметку. потом можно почитать, поискать и пр. и на сайте эта отметка сохраняется.
-
Не вижу ничего сложного в реализации. Можно конечно забабахать скрипт на bash, а можно и написать кроссплатформенную прогу. Активировать/деактивировать режим сбора можно, например, кликом по иконке в трее. Все данные можно хранить в древовидной структуре. И то и другое не сложно. Если писать прогу, то за два вечера можно написать.
-
-
Так это. Вы не словами. Делом, делом. Я могу надеяться, что через 3-4 дня мы увидим альфа версию?
-
-
Готов взяться, если кому то надо, как раз пару свободных вечеров будет. Только нужно обсудить основные идеи и дизайн программы.
-
-
Мне нужно!
Чем могу быть полезна? :)
-
А зачем древовидная структура?
-
-
для разграничения по разным темам....
к примеру большой раздел линков, а там уже по темам - история, философия, разное, etc...
-
-
Не нужно древовидную структуру для заметок, сразу получится сложно пользоваться, достаточно разных файлов для разных тем. Или даже одного файла, но с тэгами для каждой заметки. Уже потом, анализируя информацию, можно разложить по древовидным структурам.
-
Для разбивки по тематике. Например создаем корень "welinux", а в нем два подкорня "администрирование" и "программирование". Хотя не знаю, это так, что первое пришло на ум. Предлагайте идеи, объясните, что конкретно вам надо, а я могу попытаться реализовать это.
-
-
Переключение между тематическими файлами (или "страницами"), возможность назначать метки для выписок... причём, вероятно, заранее на всю группу. Типа начала собирать из книжки - чтоб можно было к каждой выписке сразу прилепить библиографическую ссылку на эту книжку и тематические метки (тоже, получается, на всю книжку одинаковые).
В идеале ещё - бросающаяся в глаза возможность менять тоже для некой группы (ситуация - дочитала одну книжку, начала другую, дочитала до середины, заглянула в сборщик, схватилась за голову - на вторую книжку метки не ставила, ко всем выпискам метки прилепились от первой книги. Паника. :) ).
Вообще, надо будет попробовать уже сейчас сделать хоткеи для нескольких вариантов запуска скрипта, чтоб в разные файлы цитаты ложились, и с разными "привесками". И посмотреть, как оно у меня пойдёт...
Если речь идёт уже о чём-то типа помянутого "менеджера накопления информации"... Те же метки как один из видов "папок". Ссылки с заметки на заметку - как связи. И это возможность создавать более сложные структуры, чем дерево :)
Некогда я была в восторге от WikidPad именно потому, что он позволял делать хоть какие кольца. Там настольная wiki, и если со страницы есть ссылка на другую страницу, значит та страница будет отображаться в дереве как "ребёнок" этой. Если с неё есть ссылка обратно, значит на следующем уровне мы снова увидим первую страницу.
Естественно, всё дерево целиком просто никто и никогда не строит и не разворачивает :) Естественно, можно произвольно выбирать главную, и есть отдельное место, где можно найти все страницы-сироты. :)
Когда я готовилась к экзамену по истории литературы, классно было смотреть, кто с кем как взаимоотносился. Собирала на одну страницу всё, что относилось к одной персоналии, каждое имя делала ссылкой, даты и места старалась тоже делать ссылками. Чудо как хорошо! :)
-
-
теги давно рулят вестимо. пользуюсь вовсю в гуглбукмакс. намного удобнее дерева и поиск быстрее в разы.
-
кстати.... как вариант - для тега можно использовать заголовок окна, откуда копируем.... если так, конечно, возможно будет сделать.
-
-
если хорошо поискать, то можно
-
в общих чертах понял, но не до конца ) я так понимаю плдет мысле
-
-
черт, отправилось. Для начала давайте остановимся на базовом функционале. если не затруднит, попробуйте нарисовать интерфейс программы. можете писать в jabber для обсуждения деталей.
-
-
Базовый, по-моему, исчерпывается иконкой в трее, о которой Вы уже говорили :) Немного расширенный - иконка с меню по правой кнопке. :)
Сильно расширенный - это уже "менеджер накопления информации", у которого есть и та функция, с которой всё началось. :)
-
-
ок, я сегодня вечером начну писать. как с вами можно связаться?
-
-
-
Базовый - это демон, который не зависит ни от одного графического тулкита (qt,gtk и т.п.), который отлавливает заданное нажатие комбинации и выполняет действия с буфером обмена. Еще он предоставляет API для возможности написания к нему графического фронтенда.
-
-
по-хорошему, вы правы, но нужно ли в данном случае придерживаться такой "жесткой" юниксовой политики?
-
-
А почему нет?
-
-
Ну я бы хотел иметь кроссплатформенное решение, а чтобы сделать, как вы описали,нужно возиться и с winapi, и с X11. Я хочу для начала сделать все-таки простенькую гуи программку, а потом уже посмотреть в сторону разделения логики на демон и гуи к нему.
-
-
Так с win api, x windows и даже, если быть чертовски оптимистичным на счет вашей будущей программы, с новым wayland все равно придется иметь дело.
Основной смысл в том, чтобы на гуйню переложить все вопросы организации и анализа данных. Задачей демона(win сервиса) же будет являться необходимость забора данных из буфера по внешнему событию(нажата комбинация клавиш, кликнули элемент меню браузера и т.п.), добавлению, по возможности, к ним мета-информации и дальнейшей передачи этих данных уже в гуй через какой-либо подходящий механизм (сокеты, каналы, dbus и т.п.)
-
-
И? Не понимаю зачем для такой программы строить велосипеды, когда это можно реализовать за счет готовых сторонних библиотек за пару дней. Например, программа на Qt будет запускаться везде и выглядеть везде одинаково, и в KDE, и в Gnome, и в MacOS, и в Windows. И не говорите мне, что вам жалко 50 мб свободного места для runtime-библиотеки. А насчет wayland еще рано что-либо говорить.
-
-
Так это мое видение. Вы просили идей. Пожалуйста. А так, я жду вашей реализации
Если писать прогу, то за два вечера можно написать.
через пару дней.
-
-
да уже почти готов базовый функционал, два режима работы: по хоткею и по выделению(на выбор пользователя), работа с несколькими файлами, закрепление за каждым файлом собственных хоткеев. Жду, когда ladykosha отправит мне иконки для трея.
-
-
можно взглянуть на результат?
-
И оно таки в каком-то виде уже было через те два дня :)
-
А симпатично =)
-
Если знакомы с WikidPad, то почему бы не пользоваться его Clipboard Catcher-ом? Делает ровно то же самое, о чем автор поста мечтает.
-
-
Я почему-то перестала пользоваться WikidPad вскоре после перехода на линух. Почему именно, сейчас уже не помню. Как-то оно неудобно стало...
-
-
На всякий случай (если давно не интересовались) сообщаю, что он часто обновляется :) Clipboard Catcher работает и под линуксом, позволяя удобно сбрасывать в WikidPad копируемое в других приложениях. Разделитель задаётся в настройках.
Из-за этой фичи, вики и ещё тудушек (пользуюсь TodoExtensions) считаю его очень удачным инструментом для организации информации.
-
-
А Вы его как используете? В вайне или...?
-
-
Да, использую. В или :)
Качается в виде исходников, распаковывается куда попало, и
1
2
3
4
5
|
#!/bin/sh
cd $HOME/software/WikidPad-2.0rc06/
python WikidPad.py
|
Скрипт удобней всего в ~/bin положить. Хотя куда попало тоже вполне подойдёт :)
Возможно, пару библиотек надо будет доустановить самостоятельно (одну или две). Я уже точно не помню названия (с wxЧегототам связано), но помню, что две поставил, хотя может и одной хватает. В убунту в синаптике поискал по wx, там вариантов немного было, с первого раза попал.
-
-
Ага, я нашла, в чём у меня было дело. Не та версия python-wxgtk. Нашла тут, ссылка со странички викидпада на сорсфордже нерабочая в связи с переносом вики. :)
Кстати, удалять python-wxgtk2.6, как там пишут, даже не понадобилось. :)
Смотрится симпатично, буду снова пробовать :)
-
Мне нужно! :)
Чем могу быть полезна? :)
-
Пользуюсь расширением для FF от Evernote. Выделил текст, ПКМ - add to Evernote.
-
есть няшная доска для гнома, лаконично называется the board project.
пока ещё не ковыряла её, но если судить по этому видео, добавить туда что-то довольно легко.
-
-
Похоже, прекрасная штука, но для немного другой задачи.
Мне на выходе нужен текст, из которого удобно делать текст :)
|
|
|
Последние посты
|
|
Последние комментарии
|
|
Изменения
|
|
Черновики (все)
|
|
Избранное (всё)
|
|
|