diff options
Diffstat (limited to '')
| -rw-r--r-- | .README.md | 121 | ||||
| -rw-r--r-- | .SAMPLE.huge-idea.md | 23 | ||||
| -rw-r--r-- | .SAMPLE.invention.md | 32 | ||||
| -rw-r--r-- | .SAMPLE.knowledge.md | 20 | ||||
| -rw-r--r-- | .SAMPLE.reference.md | 16 | ||||
| -rw-r--r-- | .SAMPLE.rethought.md | 25 | ||||
| -rw-r--r-- | .SAMPLE.tiny-idea.md | 19 | ||||
| -rw-r--r-- | .gitignore | 2 | ||||
| -rw-r--r-- | .zk/config.toml | 210 | ||||
| -rw-r--r-- | .zk/templates/default.md | 14 | ||||
| -rw-r--r-- | .zk/templates/huge-idea.md | 18 | ||||
| -rw-r--r-- | .zk/templates/invention.md | 21 | ||||
| -rw-r--r-- | .zk/templates/knowledge.md | 18 | ||||
| -rw-r--r-- | .zk/templates/reference.md | 18 | ||||
| -rw-r--r-- | .zk/templates/rethought.md | 21 | ||||
| -rw-r--r-- | .zk/templates/tiny-idea.md | 21 |
16 files changed, 599 insertions, 0 deletions
diff --git a/.README.md b/.README.md new file mode 100644 index 0000000..5bfcad8 --- /dev/null +++ b/.README.md @@ -0,0 +1,121 @@ +# Mynd + +## Идея + +Это хранилище направлено на сохранение всех идей и мыслей, что возникают в моей голове. + +## Предыстория + +В течение долгого времени я страдал проблемой забывания собственных идей и мыслей. На то были +попытки сделать свою собственную реализацию хранилища, далее попытки использовать Obsidian. + +К сожалению, каждый из экспериментов ведения хранилищ до этого проваливался, так как я превращал его +в личный дневник, который далее вести не хотел вообще. + +По этой причине это хранилище отныне является полной свалкой, которую я пытаюсь хоть как-то +систематизировать. + +## Принципы + +Для сохранения этого хранилища на долгое время, приняты следующие принципы ведения хранилища знаний: + +1. Создаваемые заметки должны быть настолько мелкими, насколько это возможно. + > [!TIP] + > Если мысль содержит несколько маленьких мыслей, их необходимо разбить на несколько заметок (и + > при необходимости связать их между собой). + +2. Создаваемые заметки обязательно должны иметь ссылку на другую заметку. + > [!NOTE] + > Это правило разрешено нарушать лишь определённым заметкам, роль которых в группировке заметок + > между собой. + +3. Создаваемые заметки должны иметь отметку о том, что её необходимо отсмотреть в конце дня, для + качественного отбора заметок. + +4. Удалять заметки запрещено. + > [!TIP] + > Если хочется, чтобы заметка не появлялась в поисках, можно дать ей какой-нибудь тег для + > отфильтровки + +## Релизация + +Для реализации этого хранилища используется проект `zk`, который позволяет управлять файлами +Markdown как хранилищем. + +1. Имена файлов заметок будут генерироваться рандомно и будут иметь формат 8 alphanumeric символов. + Это позволит избавиться от ненужной зависимости "название файла - содержимое". + > [!TIP] + > Указанная реализация хранилища позволяет искать содержимое внутри карточек, что убирает + > необходимость в "удобных именах файлов". К тому же фиксированная длина файловых имён позволяет + > ссылаться на них удобнее. + +2. В начале каждой заметки генерируется Frontmatter, внутри которого заданы ID карточки и дата + создания. Это позволяет сохранить данные о карточке в момент её создания, не опираясь на + файловую систему. + +3. Каждая новосозданная заметка имеет тег #draft, который позволяет зафиксировать, что эту + карточку необходимо отсмотреть. + +4. Каждая новосозданная заметка имеет ссылку на родительскую заметку. Родительская заметка, в свою + очередь тоже должна иметь ссылку на дочернюю заметку. Таким образом создаётся система + двухнаправленных связей, где к каждой заметке можно попасть с помощью прямых переходов по + ссылкам. + > [!TIP] + > В момент создания заметка может не иметь ссылку на себя, и тогда с помощью `zk` можно + > определить, что она является "сиротой". + + > [!NOTE] + > Одно из условий выхода заметки из #review - заметка не является "сиротой". Это гарантирует, + > что карточка не затеряется среди массы связей. + +### Перечень тегов + +- `draft` - заметка является черновиком. Тег снимается с заметки, когда она является законченой. +- `dead` - заметка, которую я отныне считаю бесполезной. + +- `book` - заметка является ссылкой на книгу. +- `podcast` - заметка является ссылкой на подкаст. +- `video` - заметка является ссылкой на видеоматериал. + +- `snippet` - заметка содержит в себе код, который полезен для раскрытия мысли. С таких заметок + снимается ограничение на количество слов, вследствие наличия кода. Однако рекомендуется сохранять + минимальность каждой заметки. + +- Идейные заметки - используются для высказывания идейный мыслей в моей голове. Подразумевается + использование для сохранения проектов, мысль о которых возникла в голове. + - `huge idea` - заметка является масштабной идеей. Масштабность её заключается в том, что вся + задумка не может быть высказана в рамках одной заметки. + Масштабная идея обязана иметь ссылки на связанные малые идеи. + Масштабная идея также подразумевается как глобальная мысль, которая не имеет родителя. + + - `tiny idea` - заметка является малой идеей. Может являться как частью масштабной идеи, так и + самодостаточной идеей. + +- Информационные заметки: + - `knowledge` - заметка содержит в себе информацию, которая считается мною как факт, но взята из + моей памяти. Создаётся для сохранения мыслительного процесса, с упором на мои знания. + Обязана иметь backlink на идейную заметку. + Не должна иметь прямые ссылки на заметки, за исключением продолжения мысли. + + - `reference` - заметка содержит в себе информацию, которая считается другим человеком как факт. + Является ссылкой на чью-то работу. Может быть ссылкой на книгу, видео или что-то другое. + Обязана иметь backlink на идейную заметку. + Не должна иметь прямые ссылки на заметки, за исключением продолжения мысли. + > [!NOTE] + > Только этому виду заметок разрешено иметь ссылки на источники вне хранилища. + +- Переосмысленные заметки: + - `rethought` - заметка содержит в себе переосмысление информации, которая считается мною или + другим человеком как факт. + Обязана иметь backlink на информационную заметку. + +- Синтезированные заметки: + - `invention` - заметка содержит в себе реализацию идеи/информации/переосмысления. Иными + словами, эта заметка - продукт моих стараний, без упора в результат чужой работы. + +#### Иерархия тегов +- `huge idea` +- `tiny idea` +- `invention` +- `rethought` +- `knowledge`, `reference` diff --git a/.SAMPLE.huge-idea.md b/.SAMPLE.huge-idea.md new file mode 100644 index 0000000..6285cf4 --- /dev/null +++ b/.SAMPLE.huge-idea.md @@ -0,0 +1,23 @@ +--- +id: some_generated_slug +date: 2026-02-04T15:51:53+0300 +languages: [ru] +aliases: + +reviews: +- 2026-02-04T15:55:00+0300 + +tags: +- huge idea +--- +Приложение для заучивания информации += + +Приложение должно помогать заучивать информацию. [^1] + +## Down +- [Какая-то идея для этого приложения](some_link) +- [Какая-то другая идея для этого приложения](some_link) + +## Footnotes +[^1]: По-крайней мере хотя бы мне diff --git a/.SAMPLE.invention.md b/.SAMPLE.invention.md new file mode 100644 index 0000000..76ec4c2 --- /dev/null +++ b/.SAMPLE.invention.md @@ -0,0 +1,32 @@ +--- +id: some_generated_slug +date: 2026-02-04T15:51:53+0300 +languages: [ru] +aliases: + +reviews: +- 2026-02-04T15:55:00+0300 + +tags: +- invention +--- +Способ выйти из приложения на Python += + +Some text blah blah + +```python +import os + +os.exit(1) +``` + +## Up +- [Какое-то приложение, где это используется](some_link) +- [Какой-то источник информации, который направил меня на эту реализацию](some_link) + +## Down +- [Какое-то продолжение мысли о выходе из приложения](some_link) + +## Related +- [Что-то похожее на эту проблему](some_link) diff --git a/.SAMPLE.knowledge.md b/.SAMPLE.knowledge.md new file mode 100644 index 0000000..5b3d2fd --- /dev/null +++ b/.SAMPLE.knowledge.md @@ -0,0 +1,20 @@ +--- +id: some_generated_slug +date: 2026-02-04T15:51:53+0300 +languages: [ru] +aliases: + +reviews: +- 2026-02-04T15:55:00+0300 + +tags: +- knowledge +--- +Питон - лучший язык программирования += + +Я знаю, что это факт! + +## Up +- [Какой язык программирования лучший?](some_link) +- [Может Python не такой прям лучший?](some_link) diff --git a/.SAMPLE.reference.md b/.SAMPLE.reference.md new file mode 100644 index 0000000..4e71e66 --- /dev/null +++ b/.SAMPLE.reference.md @@ -0,0 +1,16 @@ +--- +id: some_generated_slug +date: 2026-02-04T15:51:53+0300 +languages: [ru] +aliases: + +reviews: +- 2026-02-04T15:55:00+0300 + +tags: +- reference +--- +Язык Python и его проблемы += + +[Видосик](some_link) diff --git a/.SAMPLE.rethought.md b/.SAMPLE.rethought.md new file mode 100644 index 0000000..cb8e805 --- /dev/null +++ b/.SAMPLE.rethought.md @@ -0,0 +1,25 @@ +--- +id: some_generated_slug +date: 2026-02-04T15:51:53+0300 +languages: [ru] +aliases: + +reviews: +- 2026-02-04T15:55:00+0300 + +tags: +- rethought +--- +Может Python не такой прям лучший? += + +Блин, а может он и не такой уж и лучший + +## Up +- [Какой язык программирования лучший?](some_link) + +## Down +- [Питон - лучший язык программирования](some_link) +- [Причины, почему Python не лучший](some_link) +- [Язык Python и его проблемы](some_link) + diff --git a/.SAMPLE.tiny-idea.md b/.SAMPLE.tiny-idea.md new file mode 100644 index 0000000..8ca544e --- /dev/null +++ b/.SAMPLE.tiny-idea.md @@ -0,0 +1,19 @@ +--- +id: some_generated_slug +date: 2026-02-04T15:51:53+0300 +languages: [ru] +aliases: + +reviews: +- 2026-02-04T15:55:00+0300 + +tags: +- tiny idea +--- +Приложение для заучивания информации += + +Приложение должно помогать заучивать информацию. [^1] + +## Footnotes +[^1]: По-крайней мере хотя бы мне diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..2df70de --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +# No reason to back it up +.zk/notebook.db diff --git a/.zk/config.toml b/.zk/config.toml new file mode 100644 index 0000000..3a9b19a --- /dev/null +++ b/.zk/config.toml @@ -0,0 +1,210 @@ +# zk configuration file +# +# Uncomment the properties you want to customize. + +# NOTE SETTINGS +# +# Defines the default options used when generating new notes. +[note] + +# Language used when writing notes. +# This is used to generate slugs or with date formats. +#language = "en" + +# The default title used for new note, if no `--title` flag is provided. +#default-title = "Untitled" + +# Template used to generate a note's filename, without extension. +#filename = "{{id}}" + +# The file extension used for the notes. +#extension = "md" + +# Template used to generate a note's content. +# If not an absolute path or "~/unix/path", it's relative to .zk/templates/ +template = "default.md" + +# Path globs ignored while indexing existing notes. +#exclude = [ +# "drafts/*", +# "log.md" +#] + +# Configure random ID generation. + +# The charset used for random IDs. You can use: +# * letters: only letters from a to z. +# * numbers: 0 to 9 +# * alphanum: letters + numbers +# * hex: hexadecimal, from a to f and 0 to 9 +# * custom string: will use any character from the provided value +#id-charset = "alphanum" + +# Length of the generated IDs. +id-length = 6 + +# Letter case for the random IDs, among lower, upper or mixed. +# id-case = "lower" + + +# EXTRA VARIABLES +# +# A dictionary of variables you can use for any custom values when generating +# new notes. They are accessible in templates with {{extra.<key>}} +[extra] + +#key = "value" + + +# GROUP OVERRIDES +# +# You can override global settings from [note] and [extra] for a particular +# group of notes by declaring a [group."<name>"] section. +# +# Specify the list of directories which will automatically belong to the group +# with the optional `paths` property. +# +# Omitting `paths` is equivalent to providing a single path equal to the name of +# the group. This can be useful to quickly declare a group by the name of the +# directory it applies to. + +#[group."<NAME>"] +#paths = ["<DIR1>", "<DIR2>"] +#[group."<NAME>".note] +#filename = "{{format-date now}}" +#[group."<NAME>".extra] +#key = "value" + + +# MARKDOWN SETTINGS +[format.markdown] + +# Format used to generate links between notes. +# Either "wiki", "markdown" or a custom template. Default is "markdown". +#link-format = "wiki" +# Indicates whether a link's path will be percent-encoded. +# Defaults to true for "markdown" format and false for "wiki" format. +link-encode-path = false +# Indicates whether a link's path file extension will be removed. +# Defaults to true. +#link-drop-extension = true + +# Enable support for #hashtags. +hashtags = true +# Enable support for :colon:separated:tags:. +colon-tags = false +# Enable support for Bear's #multi-word tags# +# Hashtags must be enabled for multi-word tags to work. +multiword-tags = false + + +# EXTERNAL TOOLS +[tool] + +# Default editor used to open notes. When not set, the EDITOR or VISUAL +# environment variables are used. +#editor = "vim" + +# Pager used to scroll through long output. If you want to disable paging +# altogether, set it to an empty string "". +#pager = "less -FIRX" + +# Command used to preview a note during interactive fzf mode. +# Set it to an empty string "" to disable preview. + +# bat is a great tool to render Markdown document with syntax highlighting. +#https://github.com/sharkdp/bat +#fzf-preview = "bat -p --color always {-1}" + + +# LSP +# +# Configure basic editor integration for LSP-compatible editors. +# See https://zk-org.github.io/zk/tips/editors-integration.html +# +[lsp] + +[lsp.diagnostics] +# Each diagnostic can have for value: none, hint, info, warning, error + +# Report titles of wiki-links as hints. +#wiki-title = "hint" +# Warn for dead links between notes. +dead-link = "error" +# Warn when a note links to itself. +#self-link = "warning" +# Report missing backlinks +#missing-backlink = { level = "hint", position = "bottom" } + + +[lsp.completion] +# Customize the completion pop-up of your LSP client. + +# Show the note title in the completion pop-up, or fallback on its path if empty. +#note-label = "{{title-or-path}}" +# Filter out the completion pop-up using the note title or its path. +#note-filter-text = "{{title}} {{path}}" +# Show the note filename without extension as detail. +#note-detail = "{{filename-stem}}" + + +# NAMED FILTERS +# +# A named filter is a set of note filtering options used frequently together. +# +[filter] + +# Matches the notes created the last two weeks. For example: +# $ zk list recents --limit 15 +# $ zk edit recents --interactive +#recents = "--sort created- --created-after 'last two weeks'" + + +# COMMAND ALIASES +# +# Aliases are user commands called with `zk <alias> [<flags>] [<args>]`. +# +# The alias will be executed with `$SHELL -c`, please refer to your shell's +# man page to see the available syntax. In most shells: +# * $@ can be used to expand all the provided flags and arguments +# * you can pipe commands together with the usual | character +# +[alias] +# Here are a few aliases to get you started. + +# Shortcut to a command. +#ls = "zk list $@" + +# Default flags for an existing command. +#list = "zk list --quiet $@" + +# Edit the last modified note. +#editlast = "zk edit --limit 1 --sort modified- $@" + +# Edit the notes selected interactively among the notes created the last two weeks. +# This alias doesn't take any argument, so we don't use $@. +#recent = "zk edit --sort created- --created-after 'last two weeks' --interactive" + +# Print paths separated with colons for the notes found with the given +# arguments. This can be useful to expand a complex search query into a flag +# taking only paths. For example: +# zk list --link-to "`zk path -m potatoe`" +#path = "zk list --quiet --format {{path}} --delimiter , $@" + +# Show a random note. +#lucky = "zk list --quiet --format full --sort random --limit 1" + +# Returns the Git history for the notes found with the given arguments. +# Note the use of a pipe and the location of $@. +#hist = "zk list --format path --delimiter0 --quiet $@ | xargs -t -0 git log --patch --" + +# Edit this configuration file. +conf = '$EDITOR "$ZK_NOTEBOOK_DIR/.zk/config.toml"' + +# Creation commands +huge-idea = 'zk new --no-input --template="huge-idea.md"' +tiny-idea = 'zk new --no-input --template="tiny-idea.md"' +invention = 'zk new --no-input --template="invention.md"' +rethought = 'zk new --no-input --template="rethought.md"' +reference = 'zk new --no-input --template="reference.md"' +knowledge = 'zk new --no-input --template="knowledge.md"' diff --git a/.zk/templates/default.md b/.zk/templates/default.md new file mode 100644 index 0000000..90a496c --- /dev/null +++ b/.zk/templates/default.md @@ -0,0 +1,14 @@ +--- +id: {{id}} +date: {{format-date now "%FT%T%z"}} +languages: [] +aliases: + +reviews: + +tags: +- draft +--- +# {{title}} + +{{content}} diff --git a/.zk/templates/huge-idea.md b/.zk/templates/huge-idea.md new file mode 100644 index 0000000..b32ed6a --- /dev/null +++ b/.zk/templates/huge-idea.md @@ -0,0 +1,18 @@ +--- +id: {{id}} +date: {{format-date now "%FT%T%z"}} +languages: [] +aliases: + +reviews: + +tags: +- draft +- huge idea +--- +# {{title}} + +{{content}} + +## Down +- diff --git a/.zk/templates/invention.md b/.zk/templates/invention.md new file mode 100644 index 0000000..b80298f --- /dev/null +++ b/.zk/templates/invention.md @@ -0,0 +1,21 @@ +--- +id: {{id}} +date: {{format-date now "%FT%T%z"}} +languages: [] +aliases: + +reviews: + +tags: +- draft +- invention +--- +# {{title}} + +{{content}} + +## Up +- + +## Down +- diff --git a/.zk/templates/knowledge.md b/.zk/templates/knowledge.md new file mode 100644 index 0000000..ac399cd --- /dev/null +++ b/.zk/templates/knowledge.md @@ -0,0 +1,18 @@ +--- +id: {{id}} +date: {{format-date now "%FT%T%z"}} +languages: [] +aliases: + +reviews: + +tags: +- draft +- knowledge +--- +# {{title}} + +{{content}} + +## Up +- diff --git a/.zk/templates/reference.md b/.zk/templates/reference.md new file mode 100644 index 0000000..9117fb9 --- /dev/null +++ b/.zk/templates/reference.md @@ -0,0 +1,18 @@ +--- +id: {{id}} +date: {{format-date now "%FT%T%z"}} +languages: [] +aliases: + +reviews: + +tags: +- draft +- reference +--- +# {{title}} + +{{content}} + +## Up +- diff --git a/.zk/templates/rethought.md b/.zk/templates/rethought.md new file mode 100644 index 0000000..09ca9a3 --- /dev/null +++ b/.zk/templates/rethought.md @@ -0,0 +1,21 @@ +--- +id: {{id}} +date: {{format-date now "%FT%T%z"}} +languages: [] +aliases: + +reviews: + +tags: +- draft +- rethought +--- +# {{title}} + +{{content}} + +## Up +- + +## Down +- diff --git a/.zk/templates/tiny-idea.md b/.zk/templates/tiny-idea.md new file mode 100644 index 0000000..834db7c --- /dev/null +++ b/.zk/templates/tiny-idea.md @@ -0,0 +1,21 @@ +--- +id: {{id}} +date: {{format-date now "%FT%T%z"}} +languages: [] +aliases: + +reviews: + +tags: +- draft +- tiny idea +--- +# {{title}} + +{{content}} + +## Up +- + +## Down +- |
