-
Notifications
You must be signed in to change notification settings - Fork 1
Home
Welcome to Gorae (κ³ λ) π β a cozy Vim-inspired TUI librarian. This wiki covers setup, configuration, themes, and the everyday workflow.
- Launch Gorae and point it at your PDF library (
watch_dir). - Browse like Vim/ranger/lf:
j/kto move,h/lto navigate directories. - Open command mode with
:, search with/. - Mark papers as Favorite (
f) or To-read (t), and track your progress with Reading state (r).
On first launch, Gorae creates:
-
~/.config/gorae/config.jsonor${XDG_CONFIG_HOME}/gorae/config.jsonifXDG_CONFIG_HOMEis set.
Edit config inside the app:
-
:configβ open config using your configured editor
Common keys you'll likely set:
-
watch_dirβ root folder Gorae watches (your PDF library) -
meta_dirβ metadata storage (SQLite DB) -
editorβ editor command (e.g.,nvim) -
pdf_viewerβ viewer command (e.g.,zathura) -
notes_dirβ Markdown notes location -
theme_pathβ path to your active theme file -
enable_mouseβ enable mouse inputs (currently support only scroll, double click (left click x2) and go back (right click)).
Gorae can maintain helper folders inside your library so you can browse curated subsets from any file manager (not only inside Gorae):
Favorites/To Read/Recently Added/Recently Read/
Default theme path:
~/.config/gorae/theme.toml
Start from a built-in theme:
cp themes/fancy-dark.toml ~/.config/gorae/theme.tomlTheme TOML is organized like this:
-
[palette]β base colors -
[icons]β glyphs (favorite/to-read/read states, etc.) -
[components.*]β per-component styling (headers, lists, preview, status bar, β¦)
Supported style keys:
-
fg,bg,bold,italic,faint
Palette references are supported:
fg = "palette.accent"
bg = "palette.bg"Common palette keys:
bg, fg, muted, accent, success, warning, danger, selection
-
:theme showβ show active theme path -
:theme reloadβ reload without restarting (or restart Gorae)
Gorae's browsing is inspired by tools like lf and ranger, with Vim-style movement.
| Key | Action |
|---|---|
j / k
|
Move down / up |
l |
Enter directory |
h |
Go to parent directory |
yy |
Yank bibtex |
yt |
Yank in-text citation |
g |
Go to top |
G |
Go to bottom |
a |
Create directory |
R |
Rename directory |
D |
Delete file or directory |
q / Esc
|
Quit |
Arrow keys are also supported.
| Key | Action |
|---|---|
Space |
Toggle selection (current item) |
v |
Toggle selection for all PDFs (select all / clear all) |
| Key | Action |
|---|---|
sy |
Sort by year |
st |
Sort by title |
-
eβ open metadata editor for current PDF Inside the editor:-
eβ open in external editor (editorsetting) -
nβ edit the Markdown note for the current PDF (notes_dir)
-
-
yyβ copy BibTeX for the current file (cursor item) -
ytβ copy in-text citation for the current file (cursor item)
- Commands:
-
:autofetch [files...]scans the current file (or specified files) for identifiers.
-
- Batch apply:
- Select multiple files, then run:
-
:autofetch -vapplies to the current selection.
| Key | Action |
|---|---|
f |
Toggle Favorite |
t |
Toggle To-read |
u |
Clear flags (opens a prompt) |
-
rβ cycle reading state:
Unread β Reading β Read
Press / to open search, then type your query.
You can scope the search with flags:
-
-t <title>search in title -
-a <author>search in author -
-y <year>filter by year -
-c <keyword>search in full text (content) -
--tag <tag>filter by a single tag -
--tag <t1,t2>filter by multiple tags (comma-separated)
Examples
/ -t transformer/ -a "Yoshua Bengio"/ -y 2023 -t diffusion/ -c attention/ --tag llm,graph
| Key | Action |
|---|---|
j/k |
Move |
Enter |
Open selected result |
Esc / q
|
Exit results |
| Key | Action |
|---|---|
F |
Show favorites |
T |
Show to-read |
you can use yy and yt in the quick filter window.
- Status bar shows: mode, current directory, selection summary, last message
-
:β command mode -
:helpβ list available commands
- Use helper folders (
Favorites/,To Read/,Recently Added/,Recently Read/) in your desktop file manager to browse curated subsets outside Gorae.
If you run into issues or have feature ideas, please open a GitHub issue β we'd love to hear from fellow readers. π