LINUX.ORG.RU

Экспорт кучи текстовых файлов в Markdown + статический блог

 , , , ,


1

4

Уважаемые форумчане!

Вот тут я давече создавал тему «Как перенести все свои шпаргалки из .txt файлов в облако с красивым оформлением»:

За много лет накопилось огромное количество (десятки тысяч) собственных заметок, шпаргалок, туториалов, которые составлял в обычных текстовых (*.txt) файлах, с минимальным форматированием. Хранится все это добро локально диске. Информация структурирована по каталогам, а имена файлов выполняют роль тегов, таким образом поиск нужной информации легко осуществляется через поиск файла, в имени которого содержится нужная информация. В редких случаях помогает поиск по содержимому файлов.

Долгое время такая схема устраивала. Но теперь назрела необходимость переложить это все в интернет (сделать подобие wiki), и отсюда вопросы:

1. Возможно ли сделать пакетную конвертацию огромного количества .txt файлов к хоть какой-то, пусть совсем минимальной, html-верстке, применяемой к технической (компьютерной) документации? Существуют ли специальные языки разметки и парсеры для этого?

2. Сейчас информация структурирована в удобном для поиска виде (каталоги, плюс имена файлов в качестве тегов, плюс поиск по содержанию). Возможно ли сделать так, чтобы перенос всего хозяйства в интернет был без ущерба для быстрого и простого поиска и с минимальными трудозатратами?

3. В данный момент составление заметок происходит путем создания или редактирования обычного текстового файла, то есть очень быстро и просто. Возможно ли сохранить эту простоту и легкость при составлении таких форматированных html-заметок в облаке?

P.S. Уточняю - требуется конвертация текстовых данных к html-разметке и публикация их в общем доступе, а не перенос данных в облачное хранилище (типа Яндекс.Диск, Google Drive, Dropbox)!


И, следуя вашим советам, взялся перелопачивать все свои заметки в Markdown-разметку с последующей их публикацией в статический блог на движке Octopress. Идея очень понравилась, но появилось одно очень неприятное «Но», которое сводит все труды на нет - дело в том, что в Octopress (как и в других аналогичных движках) все посты (точнее их исходники) складываются в один единственный каталог octopress/source/_posts/, и их имена имеют формат «год-мес-чис-тайтл.markdown».

Таким образом:

  1. каталогизация всех моих заметок по тематическим каталогам идет прахом;
  2. легкий поиск нужного файла по его имени (имена заметок выполняли роль тегов) также идет прахом;
  3. и, самое главное - с этими заметками я постоянно работаю, внося в них изменения и дополнения, которые хотелось бы сразу и с минимальными усилиями обновлять и в блоге. С этим, к сожалению, тоже полный провал! :'(


С файлами в markdown-разметке работать одно удовольствие, но вот найти нужный файл в исходниках (когда таких файлов тысячи), геморойно, поскольку все они лежат в одной куче... Получается, что такое решение подходит для буквально статических блогов.

Основной вопрос, как в вышеупомянутом решении (git, markdown, octopress) осуществлять частый поиск и изменение файлов (постов), годится ли оно для этого?
Если нет, то посоветуйте альтернативное легковесное решение. (Всякие wiki-движки не предлагать)

В идеале требуется решение, которое бы не нарушало структуру текстовых (markdown) файлов, а переводило бы их в html и коммитило на хостинг. Ну то есть, создавало бы зеркало, преобразуя markdown в html.

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

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

Предлагали же dokuwiki. Все данные хранятся в файлах, именование строится на основе имён файлов, нужны теги, можно прикрутить плагин с тегами. Файлы на диске хранятся практически в txt формате, добавлена только вики разметка. В общем, имхо, зря прошли мимо.

Сам пользую её для заметок, очень доволен. Киллер фичи для меня - формулы в латех и экспорт страницы в pdf.

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

https://staticsitegenerators.net/

Ещё как вариант, попробовать sphinx-doc. На знаю, подойдёт ли, но попробовать стоит. В придачу куча шаблонов и плагинов. Исходники оформляются в reStructuredText. Никаких ограничений на имена файлов так же нет. Всё, что нужно, чтобы создать новую запись — создать rst файл и выполнить make html. Для html доступен так же поиск. При желании можно сгенерировать epub, man pages и многое другое.

Пример того, что можно получить: http://flask.readthedocs.org/en/latest/

Kilte ★★★★★ ()

Octopress (как и в других аналогичных движках) все посты (точнее их исходники) складываются в один единственный каталог

У меня такой задачи не было, однако считаю, что это решаемо правкой несколько строчек в коде.

их имена имеют формат «год-мес-чис-тайтл.markdown».

Такой формат используется только, если тебе лень задавать дату поста в шапке файла. Задай дату (и заголовок) и имя файла может быть любым.

--

Под заметки, я лично ушел на Zim (у меня их правда около сотни). Он ближе к твоей модели.

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

Давай я попробую свою телепатию. Ты наверное хочешь генератор статического блога, который умеет в теги и категории. Тебе подойдёт Jekyll, если готов осилить немного ruby. Основное достоинство Jekyll состоит в том, что github умеет сам генерировать из твоего markdown'а при помощи твоего jekyll'а html и отдавать его по адресу username.github.io. Также я думаю можно найти похожий генератор на любом ЯВУ (я например использую Hakyll на Haskell).

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

Давай я попробую свою телепатию. Ты наверное хочешь генератор статического блога, который умеет в теги и категории.

хочу ровно то, что написал: «В идеале требуется решение, которое бы не нарушало структуру текстовых (markdown) файлов, а переводило бы их в html и коммитило на хостинг. Ну то есть, создавало бы зеркало, преобразуя markdown в html». И вообще в идеале было бы реализовать это в octopress.

Тебе подойдёт Jekyll, если готов осилить немного ruby

Дык я и так на нем сейчас - octopress это и есть набор руби скриптов над Jekyll

Основное достоинство Jekyll состоит в том, что github умеет сам генерировать из твоего markdown'а при помощи твоего jekyll'а html и отдавать его по адресу username.github.io.

вот в username.github.io я как раз сейчас и деплою.

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

хочу ровно то, что написал: «В идеале требуется решение, которое бы не нарушало структуру текстовых (markdown) файлов, а переводило бы их в html и коммитило на хостинг. Ну то есть, создавало бы зеркало, преобразуя markdown в html». И вообще в идеале было бы реализовать это в octopress.

Я так понимаю ты не можешь написать скрипт для jekyll'а, который будет собирать markdown из твоей файловой иерархии потому что не умеешь ruby?

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

Я так понимаю ты не можешь написать скрипт для jekyll'а, который будет собирать markdown из твоей файловой иерархии потому что не умеешь ruby?

Да )

vosempopugaev ()
Ответ на: комментарий от KblCb

Я так понимаю ты не можешь написать скрипт для jekyll'а, который будет собирать markdown из твоей файловой иерархии потому что не умеешь ruby?

готовых решений не существует?

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

готовых решений не существует?

Ну тебе же нужно не просто готовое решение (octopress), а специальное готовое решение. Я думаю самым разумным будет либо воспользоваться генератором на своём любимом ЯВУ и компилировать html локально, либо уговорить знакомого рубиста написать тебе конфиг jekyll'а за смузи.

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

умел бы писать свои движки

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

Плюсом получишь новый скилл.

Если файлов не много, то и через find/grep можно искать. Да и если много, тоже можно. Не миллион же у тебя их там.

anonymous ()

Вот тебе рабочее двигло на боттле от доброго анона. Для начала, так сказать.

Список возможностей: * поиск по имени файла (через поиск на странице) * поиск по имени папки * канпеляция markdown в html (через markdown) * просмотр и правка markdown, html, txt, csv, xml, svg и т.п. * встроенный редактор markdown с возможностью дополнить его подсветкой синтаксиса * 100% кастомизируемый интерфейс, иконки, шрифты, шкурки вот это вот всё * нескучные стили оформления markdown в виде отдельных дополнений (not included) * из зависимостей только питон, скрипт боттла и markdown

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

Спасибопожалуйста.

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