The words Under construction in black text on a yellow background with diagonal black stipes surrounding it
I'm in the process of moving my site. It's still a work in progress. Please excuse the mess and broken links.

Emacs Org-Mode Grimoire Setup And Features

TODO: Pull subtitle into page object

I'm moving to Emacs Org-mode (TKTKTKTK link) for my notes taking tool after a decade using nvAlt. nvAlt has been great even as it continued to age. The speed of the search to find something in my collection of 9,000 notes is amazing.

The reason I'm making the jump is that Org-mode offers "literate programmin". Bascially, a way to add code snippets to your notes, run them directly, and have the results output back into the file.

That's the next step in the evoluation of my Grimoire (which is what I've been calling nvAlt for years).

This is my initial list of features to build:

- [x] Search notes using Meilisearch

- [x] Preview notes during the search

- [x] Streamer mode that hides certain results (this is the default)

- [ ] Make the first three results what ever comes out of serach directly instead of consolidating the facet.

- [ ] Add facets to the search engine document loading

- [ ] Add facets to the search engine search

- [ ] Setup search results so you can pass `all-` to get all the results including the ones that are normally hidden by default via the list in `~/.config/grimoire-mode/search-config.json`

- [ ] Ability to create new files from the Grimoire search line

- [ ] Rename resutls_padder to padder for output formatting.

- [ ] Fix the issue where if you have a file open that you've changed and the grimoire preview it, it asks you if you want to close the buffer

- [ ] Use filename for title when inserting into the search engine if there isn't a title.

- [ ] When making a new post, automatically use the file name, but capitalized.

- [ ] Open a new window when opening the grimoire if the buffer you were in has been modified.

- [ ] When opening a new window default to popping up the grimoire search

- [ ] Setup the search bar so the first time you hit escape it just clears it and then hittig it again shuts it down

- [ ] Load the preview as text first then convert to org mode so it loads faster? If you do that, probably want to keep the sizing of all the different fonts the same so there isn't content shift just color updates as org kicks in

- [ ] Preload all files into tmp buffers to make switching between results faster?

- [ ] Figure out how to make it so you can leave the frame/window/buffer and return to it without it locking up

- [ ] Make preview buffer read only?

- [ ] Figure out why saving changes is duplicating entries in meilisearch and stop it

- [ ] Use KSUIDs from files as meilisearch indexes when they exist maybe? There would need to be a fallback so that means it might not be worth doing the KSUID way since whatever else was built would need to be solid enough to handle everything

- [ ] Turn off highlight in empty `[ ]`

- [ ] Setup so there aren't highlights on the individual letters in the helm matches

- [ ] If a buffer is open for a file and the search matches it, but it on top

- [ ] Solve issue where if a search hits an already open file it tries to close the buffer when the search updates to a new file to preview

- [ ] (Possibly the same thing as above) when a buffer for a file is already open, don't try to open it again or close it. (i.e. the Grimoire stuff should happen independently)

- [ ] Commit all changes to git

- [ ] Switch newly created files to org-mode

- [ ] Auto populate new files with default header

- [ ] Auto-save files when switching buffers

- [ ] Auto populate new files with default headers

- [ ] Open and operate in an independend window

- [ ] If you fire Grimoire in one window it moves to the Grimoire window (opening it if it's not already open)

- [ ] Ability to rename files

- [ ] Add a command to publish the site

- [ ] Ability to send buffer to a new window

- [ ] Ability to scroll in the preview without leaving the serach field

- [ ] Document how to run code externally for languaes that don't have org-mode babel extensions (see post on key codes in osascript)

- [ ] Maybe setup serach results so they filter nonce words at the top of the results first

- [ ] Hot key to close buffer and move back to whatever was before it.

- [ ] Hot key to rotate between grimoire buffers?

- [ ] Format the candidate results list to padd all nonce words the same amount

- [ ] Mission control style view that shows all open Grimoire buffers in small windows and lets you hit a number or arrow keys to select which one to bring to the front

- [ ] Count the number of times pages are opened to use for metadata for a 'most useful' ordering of pages in categories on the site.

- [ ] Setup so most frequently accessed search results are sorted to the top (see if you can pass that to meilisearch?)

- [ ] Create a formatter that wraps code output as an option. (Or add an option to the padder to do it is likely a nicer approach)

- [ ] Figure out what to show in the search results if there are no results for a search

- [ ] Setup so ESC clears the search but keeps it open so you can run another search

Debugging Stuff

I'm moving stuff around right now. All this below is helping me figure out where to put stuff

        -- title

Emacs Org-Mode Grimoire Setup And Features

-- p

I'm moving to Emacs Org-mode (TKTKTKTK link)
for my notes taking tool after a decade using
nvAlt. nvAlt has been great even as it continued
to age. The speed of the search to find something
in my collection of 9,000 notes is amazing.

-- p

The reason I'm making the jump is that Org-mode
offers "literate programmin". Bascially, a way
to add code snippets to your notes, run them
directly, and have the results output back
into the file.

-- p

That's the next step in the evoluation of my
Grimoire (which is what I've been calling
nvAlt for years).

-- p

This is my initial list of features to
build:

-- p

- [x] Search notes using Meilisearch

-- p

- [x] Preview notes during the search

-- p

- [x] Streamer mode that hides certain results
  (this is the default)

-- p

- [ ] Make the first three results what
  ever comes out of serach directly instead
  of consolidating the facet.

-- p

- [ ] Add facets to the search engine
  document loading

-- p

- [ ] Add facets to the search engine search

-- p

- [ ] Setup search results so you can pass
  `all-` to get all the results including the
  ones that are normally hidden by default
  via the list in
  `~/.config/grimoire-mode/search-config.json`

-- p

- [ ] Ability to create new files from the
  Grimoire search line

-- p

- [ ] Rename resutls_padder to padder
  for output formatting.

-- p

- [ ] Fix the issue where if you have a file
  open that you've changed and the grimoire
  preview it, it asks you if you want to close
  the buffer

-- p

- [ ] Use filename for title when inserting
  into the search engine if there isn't a
  title.

-- p

- [ ] When making a new post, automatically
  use the file name, but capitalized.

-- p

- [ ] Open a new window when opening the
  grimoire if the buffer you were in
  has been modified.

-- p

- [ ] When opening a new window default
  to popping up the grimoire search

-- p

- [ ] Setup the search bar so the first
  time you hit escape it just clears it
  and then hittig it again shuts it down

-- p

- [ ] Load the preview as text first then
  convert to org mode so it loads faster?
  If you do that, probably want to keep
  the sizing of all the different fonts
  the same so there isn't content shift
  just color updates as org kicks in

-- p

- [ ] Preload all files into tmp buffers
  to make switching between results faster?

-- p

- [ ] Figure out how to make it so you can leave
  the frame/window/buffer and return to it
  without it locking up

-- p

- [ ] Make preview buffer read only?

-- p

- [ ] Figure out why saving changes is
  duplicating entries in meilisearch and
  stop it

-- p

- [ ] Use KSUIDs from files as meilisearch
  indexes when they exist maybe? There would
  need to be a fallback so that means it might
  not be worth doing the KSUID way since
  whatever else was built would need to be solid
  enough to handle everything

-- p

- [ ] Turn off highlight in empty `[ ]`

-- p

- [ ] Setup so there aren't highlights on the
  individual letters in the helm matches

-- p

- [ ] If a buffer is open for a file and the search
  matches it, but it on top

-- p

- [ ] Solve issue where if a search hits an
  already open file it tries to close the buffer
  when the search updates to a new file to preview

-- p

- [ ] (Possibly the same thing as above) when
  a buffer for a file is already open, don't
  try to open it again or close it. (i.e. the
  Grimoire stuff should happen independently)

-- p

- [ ] Commit all changes to git

-- p

- [ ] Switch newly created files to org-mode

-- p

- [ ] Auto populate new files with default
  header

-- p

- [ ] Auto-save files when switching buffers

-- p

- [ ] Auto populate new files with default headers

-- p

- [ ] Open and operate in an independend window

-- p

- [ ] If you fire Grimoire in one window it moves
  to the Grimoire window (opening it if it's not
  already open)

-- p

- [ ] Ability to rename files

-- p

- [ ] Add a command to publish the site

-- p

- [ ] Ability to send buffer to a new window

-- p

- [ ] Ability to scroll in the preview without
  leaving the serach field

-- p

- [ ] Document how to run code externally
  for languaes that don't have org-mode babel
  extensions (see post on key codes in
  osascript)

-- p

- [ ] Maybe setup serach results so they filter
  nonce words at the top of the results first

-- p

- [ ] Hot key to close buffer and move back to
  whatever was before it.

-- p

- [ ] Hot key to rotate between grimoire buffers?

-- p

- [ ] Format the candidate results list to
  padd all nonce words the same amount

-- p

- [ ] Mission control style view that shows all
  open Grimoire buffers in small windows and
  lets you hit a number or arrow keys to select
  which one to bring to the front

-- p

- [ ] Count the number of times pages are opened
  to use for metadata for a 'most useful' ordering
  of pages in categories on the site.

-- p

- [ ] Setup so most frequently accessed search
  results are sorted to the top (see if you
  can pass that to meilisearch?)

-- p

- [ ] Create a formatter that wraps code output
  as an option. (Or add an option to the padder
  to do it is likely a nicer approach)

-- p

- [ ] Figure out what to show in the search
  results if there are no results for a search

-- p

- [ ] Setup so ESC clears the search but
  keeps it open so you can run another search


-- categories
-- Emacs 
-- Org-mode

-- metadata
-- date: 2022-06-01 14:31:18
-- id: 29zg0ezd
-- status: scratch
-- type: post
-- SCRUBBED_NEO: false
-- site: aws