First draft of a set of tools to handle my zettelkasten
This commit is contained in:
commit
4f4afa90d0
5 changed files with 79 additions and 0 deletions
24
Makefile
Normal file
24
Makefile
Normal file
|
@ -0,0 +1,24 @@
|
|||
prefix ?= ~/.local
|
||||
bindir = $(prefix)/bin
|
||||
datadir = $(prefix)/share
|
||||
desktopdir = $(datadir)/applications
|
||||
ifeq ($(prefix), ~/.local)
|
||||
plugindir ?= ~/.vim/plugin
|
||||
else
|
||||
plugindir ?= $(datadir)/vim/addons/autoload
|
||||
endif
|
||||
targets = $(bindir)/titfiche.sh $(desktopdir)/titfiche.desktop $(plugindir)/titfiche.vim
|
||||
|
||||
all: $(targets)
|
||||
|
||||
$(bindir)/titfiche.sh: titfiche.sh
|
||||
mkdir -p $(bindir)
|
||||
install -m 555 $^ $@
|
||||
|
||||
$(desktopdir)/titfiche.desktop: titfiche.desktop
|
||||
mkdir -p $(desktopdir)
|
||||
install -m 444 $^ $@
|
||||
|
||||
$(plugindir)/titfiche.vim: titfiche.vim
|
||||
mkdir -p $(plugindir)
|
||||
install -m 444 $^ $@
|
5
README.md
Normal file
5
README.md
Normal file
|
@ -0,0 +1,5 @@
|
|||
# Titfiche
|
||||
|
||||
Titfiche is the simplest collection of scripts / config files I could devise to handle my [zettelkasten](https://zettelkasten.de/).
|
||||
|
||||
> Toi, tu tombes des arbres, nous… on fait des p'tites fiches.
|
17
titfiche.desktop
Normal file
17
titfiche.desktop
Normal file
|
@ -0,0 +1,17 @@
|
|||
[Desktop Entry]
|
||||
Type=Application
|
||||
Name=Titfiche
|
||||
GenericName=Zettelkasten manager
|
||||
Comment=Edit your zettelkasten
|
||||
Categories=Utility;TextEditor;GTK;
|
||||
Icon=text-editor
|
||||
Keywords=zettel;notes;
|
||||
Exec=titfiche.sh %f
|
||||
TryExec=titfiche.sh
|
||||
StartupNotify=true
|
||||
Terminal=false
|
||||
MimeType=text/markdown;
|
||||
|
||||
Comment[es]=Edite su zettelkasten
|
||||
Comment[fr]=Éditez vos zettelkasten
|
||||
Comment[ja]=ゼッテル札を編む
|
25
titfiche.sh
Executable file
25
titfiche.sh
Executable file
|
@ -0,0 +1,25 @@
|
|||
#!/bin/sh
|
||||
|
||||
[ -n "${TITFICHE_VIM_INSTANCE}" ] || TITFICHE_VIM_INSTANCE="TITFICHE"
|
||||
REMOTE=" --remote"
|
||||
gvim --serverlist | grep -q "${TITFICHE_VIM_INSTANCE}" || REMOTE=''
|
||||
EDITOR="gvim --servername ${TITFICHE_VIM_INSTANCE}${REMOTE}"
|
||||
export TITFICHE_MODE=1
|
||||
|
||||
if [ -z "${TITFICHE_HOME}" ]
|
||||
then
|
||||
export TITFICHE_HOME="${XDG_CONFIG_HOME:-${HOME}/.config}/titfiche"
|
||||
else
|
||||
export TITFICHE_HOME="${TITFICHE_HOME%/}"
|
||||
fi
|
||||
|
||||
if [ -n "${1}" ]
|
||||
then
|
||||
mkdir "${TITFICHE_HOME}"
|
||||
$EDITOR "${1}"
|
||||
else
|
||||
ID="$(date "+%Y/%m/%d/%H:%M")"
|
||||
mkdir -p "${TITFICHE_HOME}/${ID%/*}"
|
||||
|
||||
$EDITOR -c "normal A# /${ID} " -c 'startinsert!' "${TITFICHE_HOME}/${ID}.md"
|
||||
fi
|
8
titfiche.vim
Normal file
8
titfiche.vim
Normal file
|
@ -0,0 +1,8 @@
|
|||
if $TITFICHE_MODE
|
||||
set isfname+=:
|
||||
set includeexpr=substitute(v:fname,'/','','')
|
||||
cd $TITFICHE_HOME
|
||||
nnoremap <C-l> "zciw(/<C-r>#)<Esc>%i[<C-r>z]<Esc>%
|
||||
vnoremap <C-l> "zc(/<C-r>#)<Esc>%i[<C-r>z]<Esc>%
|
||||
inoremap <C-l> (/<C-r>#)<Esc>%i[]<Left>
|
||||
endif
|
Loading…
Reference in a new issue