/pr/ – programming


1b3cc1b3ccca1da79453eb07567a21fae64fe – ``Своя прога для заметок/мыслей/бложика''

@9a2cdc5eb5e241b5bfeced68912fc499 Anonymous 2021-07-03 13:16:13
Решил написать себе простенькую прогу для заметок. Кому-нибудь интересно?
Идея такова: просто директория с текстовыми файлами (возможно по своим поддиректориями расбросанные). Каждый файл имеет формат:
tags: tag1, tag2, ...
Ну и тут дальше markdown. Вот и всё.

Имя файла - это сабжект.
И будет консольная прога notes.
Usage:
notes все записи покажет отсортиванные по дате создания
notes lm
то же самое по дате изменения
notes edit откроет в редакторе последнюю заметку
notes edit 3
редактировать третью запись из последних
notes tags=tag2,tag3 фильтрация по тегам
notes q="Some shit"
поиск
@c236e10344f34889bd91e6d551ee5f5a Anonymous 2021-07-03 13:17:09
notes #все записи покажет отсортиванные по дате создания
notes lm #то же самое по дате изменения
notes edit #откроет в редакторе последнюю заметку
notes edit 3 #редактировать третью запись из последних
notes tags=tag2,tag3 #фильтрация по тегам
notes q="Some shit" #поиск
@9d735e1c835e4ea29f2104bc44e515f7 Anonymous 2021-07-03 17:45:15
Частный случай теговой ФС.
@b80fc52479dd4af193930bfec73cd667 Anonymous 2021-07-03 17:47:20
Теги можно сделать через xattr. Многие фс это поддерживают.
@6e0412d5a2bb4c29acf6c6074302d442 Anonymous 2021-07-03 17:47:39
@dac4c@dac4c9f928f84ecc9f753a96abb7afd8 А не поговорить ли нам еще раз про организацию хранения информации?
@976785d389504d57963be101d9d078f2 Anonymous 2021-07-03 17:48:07
@b80fc@b80fc52479dd4af193930bfec73cd667 Вот только интерфейса к ним нет.
@871880f843064eaeb3f25596f0545c1d Anonymous 2021-07-03 17:48:52
Но как например сделать "взять последний редактируемый файл в директории или подиректориях" без дополнительной тулзы?
@d9b297e6bd4a44fdac1ef30bed41047d Anonymous 2021-07-03 17:50:07
Хотя, это же можно.
@33db3f44bd22420f8edf0f9c4df5cca4 Anonymous 2021-07-03 17:50:31
По времени изменения, да.
@6379ce08f247498aa933b093167e3e2e Anonymous 2021-07-03 17:51:27
ls -Rtr?
@0166caff0014448092abb76f958a7106 Anonymous 2021-07-03 17:53:07
| head -n 1
@74278f2126b04f06b42b0077057eda5d Anonymous 2021-07-03 17:53:25
ls -1Rtr | head -n 1
@6b77fd30ab4d4ea9b32b2b151acb1aa2 Anonymous 2021-07-03 17:55:18
@74278@74278f2126b04f06b42b0077057eda5d Нет, так не выйдет, оно группирует сначала по директориям, а потом внутри них сортирует по дате. Оно не сортирует глобально.
@cf39af08f7dc45cb8b6dac4445ac2302 Anonymous 2021-07-03 17:58:33
На питоне это легко написать, на баше - я бы заебался, наверное.
@cfd5701b6836411d84fdaf269f5bb7a0 Anonymous 2021-07-03 17:59:49
Вообще, сделали бы для фс sql интерфес, было бы намного проще жить.
@ca8f466dd64a4ac4b00a4715af905901 Anonymous 2021-07-03 18:00:03
Воооот!
@024d71097838463fa25ac63c85df374d Anonymous 2021-07-03 18:00:47
find "$1" -type f | ruby -e 'puts STDIN.each_line.sort_by { |f| File.mtime f rescue 0 }[0]'
@3e4b444583e747ff9c99f7fec6295b07 Anonymous 2021-07-03 18:01:41
Только не надо забывать, что SQL - та еще дристня.
@6e54ec384679447abd78dadb78641206 Anonymous 2021-07-03 18:06:31
Не, не так.
find "$1" -type f | ruby -e 'puts STDIN.each_line.max_by { |f| File.mtime f rescue 0 }[0]'
@59708e964bad46f09c47b3fe5193c8dd Anonymous 2021-07-03 18:13:35
@6e041@6e0412d5a2bb4c29acf6c6074302d442 Я бы хотел хардлинки чаще использовать. Потому что часто один и тот же файл должен принадлежать разным директориям. Но нет софта нормально (файл менеджеров) чтобы с ними можно было легко жить и работать. Как минимум, создание хардлинок должно быть таким же лёгким действием как копирование файлов. И надо чтобы гуя подсвечивала хардлинк это или нет. И чтобы если да, то можно было в один клик легко посмотреть в каких ещё директориях этот файл находится.
@8bec116c093c4d5188beafd9022b491c Anonymous 2021-07-03 18:15:19
И "удалить все хардилнки" функция должна быть.
@6346d0cc543d41e9a3f272add22ba51d Anonymous 2021-07-03 18:16:03
@99601@99601a5a049f444e991d9bdb3fcb3f14 тем, что они ломаются. Хардлинки подсвечивать если каунт больше 1.
@0d73805b72dc4415a61ba2afcb3cf638 Anonymous 2021-07-03 18:16:50
@6346d@6346d0cc543d41e9a3f272add22ba51d не ломаются, если исходник именовать по ууид и хранить в фиксированном месте
@c5220b49f90e4412840d97e2964b83c3 Anonymous 2021-07-03 18:17:09
@6346d@6346d0cc543d41e9a3f272add22ba51d оба подсвечивать? или один из двух?
@e3d0fedaa9e2409993b3a2913d7c919a Anonymous 2021-07-03 18:18:08
@0d738@0d73805b72dc4415a61ba2afcb3cf638 И как удалять файл? ФМ должен сам позаботиться?
@6c0fd5b3558942f390a4a39c0c5dfd22 Anonymous 2021-07-03 18:18:55
@c5220@c5220b49f90e4412840d97e2964b83c3 ну, оба. Как индикатор, что этот файл существует ещё и в другом месте.
@c5b7e2ec96774ee18dbfb7c36ae343f0 Anonymous 2021-07-04 18:11:21
@59708@59708e964bad46f09c47b3fe5193c8dd Давно известно, что HFS для организации информации не подходит. Дальше проскипал.
@1c568c1c70884bb9b7e34dbd80428363 abcdef 2021-08-08 06:58:38
@9a2cd@9a2cdc5eb5e241b5bfeced68912fc499 Большую часть работы по иерархическому представлению простых текстовых файлов с метаданными за тебя сделает Pelican или другой генератор статический сайтов, поиск есть (lunr.js), c live reload и хуками версия будет обновляться сразу после редактирования. Осталось только редактирование на месте впилить.
@33d513e29dfa4b08bd03947a5d946a4d chvangus 2021-08-15 21:53:35
Пришёл к тому, что обычный plaintext идеальный вариант. Если хочется маркдауна и музыки с ютуба, то вакаба с парой патчей во вкусу.