aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--Makefile11
-rw-r--r--X11/openbox/rc.xml10
-rwxr-xr-xX11/rofi/pass.edit3
-rw-r--r--alias10
-rwxr-xr-xbin/mail/deliver.sh40
-rw-r--r--gitconfig3
-rw-r--r--misc/vconsole.conf2
-rw-r--r--mutt/default5
-rw-r--r--mutt/muttrc.topo33
-rw-r--r--profile1
-rw-r--r--snippets/gitconfig_receive_deny2
-rw-r--r--snippets/html_template_map_leaderline15
-rw-r--r--tigrc4
-rw-r--r--tmux/tmux.conf (renamed from misc/tmux.conf)0
-rw-r--r--web/bookmarklet/contextmenu1
15 files changed, 91 insertions, 49 deletions
diff --git a/Makefile b/Makefile
index aa9cfff..8ab9257 100644
--- a/Makefile
+++ b/Makefile
@@ -59,7 +59,7 @@ mutt: ~/.local/share/application
59 pass mail/mutt.hooks >mutt/hooks.topo 59 pass mail/mutt.hooks >mutt/hooks.topo
60 60
61tmux: 61tmux:
62 ln -sf `pwd`/misc/tmux.conf ~/.tmux.conf 62 ln -sf `pwd`/tmux/tmux.conf ~/.tmux.conf
63 63
64crontab: 64crontab:
65 (crontab -l 2>/dev/null; cat bin/cron/* | sed '/^#/ d') | crontab - 65 (crontab -l 2>/dev/null; cat bin/cron/* | sed '/^#/ d') | crontab -
@@ -73,7 +73,6 @@ console:
73 sudo ln -sf `pwd`/misc/vconsole.conf /etc/vconsole.conf 73 sudo ln -sf `pwd`/misc/vconsole.conf /etc/vconsole.conf
74 sudo systemctl restart systemd-vconsole-setup.service 74 sudo systemctl restart systemd-vconsole-setup.service
75 75
76
77task: 76task:
78 ln -sf $(HOME)/.task/taskrc $(HOME)/.taskrc 77 ln -sf $(HOME)/.task/taskrc $(HOME)/.taskrc
79 if [ ! -d "$(HOME)/.task/.git" ]; then 78 if [ ! -d "$(HOME)/.task/.git" ]; then
@@ -91,6 +90,14 @@ theme:
91 90
92openbox: theme 91openbox: theme
93 ln -sf `pwd`/X11/openbox/rc.xml ~/.config/openbox/ 92 ln -sf `pwd`/X11/openbox/rc.xml ~/.config/openbox/
93 cat <<EOF >~/.xprofile
94 export XMODIFIERS=@im=fcitx
95 export QT_IM_MODULE=fcitx
96 export GTK_IM_MODULE=fcitx
97 fcitx &
98 picom &
99 ~/.fechbg
100 EOF
94 101
95rofi: 102rofi:
96 ln -sf `pwd`/X11/rofi/config.rasi ~/.config/rofi/config.rasi 103 ln -sf `pwd`/X11/rofi/config.rasi ~/.config/rofi/config.rasi
diff --git a/X11/openbox/rc.xml b/X11/openbox/rc.xml
index 256f234..ffc6c67 100644
--- a/X11/openbox/rc.xml
+++ b/X11/openbox/rc.xml
@@ -112,7 +112,7 @@
112 -o "window.dimensions.lines=32" \ 112 -o "window.dimensions.lines=32" \
113 -o "window.dimensions.columns=70" \ 113 -o "window.dimensions.columns=70" \
114 -o 'env.fullrc="false"' \ 114 -o 'env.fullrc="false"' \
115 -e nvim ~/.config/openbox/rc.xml; 115 -e vim ~/.config/openbox/rc.xml;
116 openbox --reconfigure 116 openbox --reconfigure
117 ' 117 '
118 </command> 118 </command>
@@ -543,7 +543,7 @@
543 <action name="Execute"> 543 <action name="Execute">
544 <!-- Copy to CLIPBOARD --> 544 <!-- Copy to CLIPBOARD -->
545 <command> 545 <command>
546 alacritty --title @CLIPBORD -o 'env.fullrc="false"' -e nvim -c 'r !xsel -ob' -c 'normal A' -c 'startinsert' -c 'nmap &lt;C-c&gt; :w !xsel -ib&lt;CR&gt;:qa!&lt;CR&gt;' 546 alacritty --title @CLIPBORD -o 'env.fullrc="false"' -e vim -c 'r !xsel -ob' -c 'normal A' -c 'startinsert' -c 'nmap &lt;C-c&gt; :w !xsel -ib&lt;CR&gt;:qa!&lt;CR&gt;'
547 </command> 547 </command>
548 </action> 548 </action>
549 </keybind> 549 </keybind>
@@ -616,7 +616,7 @@
616 <!-- Rofi --> 616 <!-- Rofi -->
617 <keybind key="A-F1"> 617 <keybind key="A-F1">
618 <action name="Execute"> 618 <action name="Execute">
619 <command>launcher</command> 619 <command>rofi -show drun -modes run</command>
620 </action> 620 </action>
621 </keybind> 621 </keybind>
622 <keybind key="W-n"> 622 <keybind key="W-n">
@@ -702,7 +702,7 @@
702 </keybind> 702 </keybind>
703 <keybind key="W-r"> 703 <keybind key="W-r">
704 <action name="Execute"> 704 <action name="Execute">
705 <command>runner</command> 705 <command>rofi -show run</command>
706 </action> 706 </action>
707 </keybind> 707 </keybind>
708 <keybind key="W-g"> 708 <keybind key="W-g">
@@ -758,7 +758,7 @@
758 </keybind> 758 </keybind>
759 <keybind key="C-A-n"> 759 <keybind key="C-A-n">
760 <action name="Execute"> 760 <action name="Execute">
761 <command>alacritty -e nvim</command> 761 <command>alacritty -e vim</command>
762 </action> 762 </action>
763 </keybind> 763 </keybind>
764 <keybind key="W-S-r"> 764 <keybind key="W-S-r">
diff --git a/X11/rofi/pass.edit b/X11/rofi/pass.edit
index bfbdc31..a1a091d 100755
--- a/X11/rofi/pass.edit
+++ b/X11/rofi/pass.edit
@@ -16,5 +16,6 @@ fi
16 16
17# Use detected terminal emulator to edit password 17# Use detected terminal emulator to edit password
18coproc ( 18coproc (
19 EDITOR=nvim $terminal -e pass edit $1 && $(dirname $0)/pass.get $1 19 terminal=${terminal:-alacritty}
20 EDITOR=vim $terminal -e pass edit $1 && $(dirname $0)/pass.get $1
20) 21)
diff --git a/alias b/alias
index 6706cfd..7e87c88 100644
--- a/alias
+++ b/alias
@@ -55,6 +55,7 @@ alias j='sudo -i journalctl -xeu'
55alias jf='sudo -i journalctl -xfeu' 55alias jf='sudo -i journalctl -xfeu'
56alias fb{.,''}conf='sudo vim /etc/fail2ban/jail.d/jail.local' 56alias fb{.,''}conf='sudo vim /etc/fail2ban/jail.d/jail.local'
57alias fb='sudo -i fail2ban-client' 57alias fb='sudo -i fail2ban-client'
58alias vps.test='curl -sL https://yabs.sh | bash'
58 59
59# }}} 60# }}}
60# Nginx{{{ 61# Nginx{{{
@@ -116,6 +117,7 @@ rm() {
116 /bin/rm $@ 117 /bin/rm $@
117} 118}
118config(){ cd ~/.config/$1; } 119config(){ cd ~/.config/$1; }
120alias cdapp='cd /usr/share/applications/'
119alias sound="echo -ne '\a'" 121alias sound="echo -ne '\a'"
120alias hg='history | grep' 122alias hg='history | grep'
121prompt-vim() { 123prompt-vim() {
@@ -363,9 +365,10 @@ if which nvim &>/dev/null; then
363else 365else
364 alias v='vim' 366 alias v='vim'
365fi 367fi
366alias vu='vim -u NONE' 368alias vu='vim -u NONE "+set nowrap"'
367alias sv='sudo vim' 369alias sv='sudo vim'
368alias vr='vim -R' 370alias vr='vim -R'
371alias vm='vim Makefile'
369# Edit last file 372# Edit last file
370alias vl="vim -c 'norm '" 373alias vl="vim -c 'norm '"
371# Use Telescope to select recent files 374# Use Telescope to select recent files
@@ -607,6 +610,11 @@ fix() { which $1 && grep -Po 'FIXME.*' $(which $1); }
607alias monitor.light='ddcutil --permit-unknown-feature setvcp 10' 610alias monitor.light='ddcutil --permit-unknown-feature setvcp 10'
608alias cdosm='cd /srv/osm' 611alias cdosm='cd /srv/osm'
609alias y='yazi' 612alias y='yazi'
613acme.issue() {
614 acme.sh --issue -d $1 -w $2
615}
616alias recall='cd /srv/recall'
617alias river='rclone mount r2:/river ~/Downloads/river'
610# }}} 618# }}}
611 619
612# vim:fdm=marker fdl=0 620# vim:fdm=marker fdl=0
diff --git a/bin/mail/deliver.sh b/bin/mail/deliver.sh
index d101602..52c5d01 100755
--- a/bin/mail/deliver.sh
+++ b/bin/mail/deliver.sh
@@ -2,6 +2,7 @@
2 2
3# Deliver incoming mail to proper mailbox 3# Deliver incoming mail to proper mailbox
4# TODO image/audio mail part 4# TODO image/audio mail part
5# TODO CJK Subject in index/pager mode: tofo or backslash
5 6
6epoch=$(date +%s) 7epoch=$(date +%s)
7mail_date="$(date --rfc-email -d @${epoch})" 8mail_date="$(date --rfc-email -d @${epoch})"
@@ -106,45 +107,54 @@ done <<<"$header"
106# decide mailbox by vars {{{ 107# decide mailbox by vars {{{
107if [[ "$SENDER" = pham@topo.tw && -n $CHAT_VERSION ]]; then 108if [[ "$SENDER" = pham@topo.tw && -n $CHAT_VERSION ]]; then
108 private_message 109 private_message
110elif [[ "${FROM}" =~ riverbien ]]; then
111 mailbox=river
112elif [[ "${FROM}" =~ MAILER-DAEMON|accounts ]]; then
113 mailbox=
114elif [[ "${FROM}" =~ taiwandreamer|imtaiwanese18741130|recall ]]; then
115 mailbox=recall
109elif [[ "${TO}" =~ '+'|'=' ]]; then 116elif [[ "${TO}" =~ '+'|'=' ]]; then
110 mailbox=${TO#*[+=]} # remove chars before symbol of mailbox 117 mailbox=${TO#*[+=]} # remove chars before symbol of mailbox
111 mailbox=${mailbox%@*} # remove suffix for mail address 118 mailbox=${mailbox%@*} # remove suffix for mail address
112elif [[ "${FROM}${RETURN_PATH}" =~ notifications@github.com|noreply@github.com ]]; then 119elif [[ "${FROM}${RETURN_PATH}" =~ notifications@github.com|noreply@github.com ]]; then
113 mailbox=DEV/github 120 mailbox=zd/github
114elif [[ "${FROM}" =~ jgbsmart.com ]]; then 121elif [[ "${FROM}" =~ jgbsmart.com ]]; then
115 mailbox=rent 122 mailbox=rent
116elif [[ "${SUBJECT}" =~ 帳單|轉帳|對帳|付款|發票|消費|繳費|收據|費用|Invoice|Billing ]]; then 123elif [[ "${SUBJECT}" =~ 帳單|轉帳|對帳|付款|發票|消費|繳費|收據|費用|簽帳|Invoice|Billing ]]; then
117 mailbox=pay 124 mailbox=pay
118elif [[ "${TO}" =~ dmarc@topo.tw ]]; then 125elif [[ "${TO}" =~ dmarc@topo.tw ]]; then
119 mailbox=DEV/dmarc 126 mailbox=zd/dmarc
120elif [[ "${LIST_ID}" =~ ^'Open Street Map Taiwan' ]]; then 127elif [[ "${LIST_ID}" =~ ^'Open Street Map Taiwan' ]]; then
121 mailbox=FOSS/osm 128 mailbox=FOSS/osm
122elif [[ "${TO}" =~ talk-ja@openstreetmap.org ]]; then 129elif [[ "${TO}" =~ talk-ja@openstreetmap.org ]]; then
123 mailbox=LIST/talk-ja 130 mailbox=zl/talk-ja
124elif [[ "${LIST_ID}" =~ ^~rjarry/aerc-discuss ]]; then 131elif [[ "${LIST_ID}" =~ rjarry/aerc-discuss ]]; then
125 mailbox=LIST/aerc 132 mailbox=zl/aerc
126elif [[ "${LIST_ID}" =~ mutt-users.mutt.org ]]; then 133elif [[ "${LIST_ID}" =~ mutt-users.mutt.org ]]; then
127 mailbox=LIST/mutt 134 mailbox=zl/mutt
135elif [[ "${RECEIVED}" =~ lists.archlinux.org ]]; then
136 mailbox=zl/arch
128elif [[ "${SUBJECT}" =~ 啟用 ]]; then 137elif [[ "${SUBJECT}" =~ 啟用 ]]; then
129 mailbox=service 138 mailbox=service
130elif [[ 139elif [[
131 "${SUBJECT}" =~ 電子報|快訊|newsletter || 140 "${SUBJECT}" =~ 電子報|快訊|newsletter ||
132 "${FROM}${TO}" =~ substack|service@kucw.io \ 141 "${FROM}${TO}" =~ substack|service@kucw.io|linuxhandbook
133 ]]; then 142 ]]; then
134 mailbox=news 143 mailbox=news
135elif [[ "${SUBJECT}" =~ 密碼|安全性警示|登入|存取|驗證|login|verify|sign-in ]]; then 144elif [[ "${SUBJECT}" =~ 密碼|安全性警示|登入|存取|驗證|確認|login|verif|sign-in ]]; then
136 mailbox=login 145 mailbox=login
137elif [[ "${TO}" = cloudflare@topo.tw ]]; then 146elif [[ "${TO}" = cloudflare@topo.tw ]]; then
138 mailbox=SRV/cloudflare 147 mailbox=SRV/cloudflare
139elif [[ 148elif [[
140 "${SUBJECT}" =~ 通知|提及|未讀|更新|核對|嘟文|unread|summary|mention|introduc || 149 "${SUBJECT}" =~ 通知|提及|未讀|更新|核對|嘟文|unread|summary|mention|introduc ||
141 "${FROM}" =~ notification[s]?@|no-reply@hackmd.io \ 150 "${FROM}" =~ iservice@narlabs.org.tw ||
151 "${FROM}" =~ notification[s]?@|no-reply@hackmd.io
142 ]]; then 152 ]]; then
143 mailbox=update 153 mailbox=update
144elif [[ 154elif [[
145 "${SUBJECT}${FROM}" =~ 優惠|快訊|願望清單|期待|活動|eDM || 155 "${SUBJECT}${FROM}" =~ 優惠|快訊|願望清單|期待|活動|eDM|invitation ||
146 -n "${LIST_ID}${LIST_UNSUBSCRIBE}" || 156 ${FROM} =~ cora.computer|noreply@steampowered.com ||
147 ${TO} =~ tienling.chou@topo.tw \ 157 -n "${LIST_ID}${LIST_UNSUBSCRIBE}${FEEDBACK_ID}${THREAD_INDEX}${X_MAILGUN_TAG}${X_SFMC_STACK}"
148 ]]; then 158 ]]; then
149 mailbox=promote 159 mailbox=promote
150fi 160fi
diff --git a/gitconfig b/gitconfig
index 51e5478..a7b23a3 100644
--- a/gitconfig
+++ b/gitconfig
@@ -40,3 +40,6 @@
40 40
41[core] 41[core]
42 excludesFile = /srv/git/www/gitignore 42 excludesFile = /srv/git/www/gitignore
43
44[safe]
45 directory = ~/Downloads/recall171
diff --git a/misc/vconsole.conf b/misc/vconsole.conf
index 8a1e7e7..8e118a0 100644
--- a/misc/vconsole.conf
+++ b/misc/vconsole.conf
@@ -1,2 +1,2 @@
1KEYMAP=/usr/share/kbd/keymaps/i386/qwerty/us.map 1KEYMAP=/usr/share/kbd/keymaps/i386/qwerty/us.map
2FONT=ter-218b 2FONT=ter-132b
diff --git a/mutt/default b/mutt/default
index 5d7369b..8a3df31 100644
--- a/mutt/default
+++ b/mutt/default
@@ -10,6 +10,7 @@ set header_cache = ~/.cache/mutt
10set message_cachedir = ~/.cache/mutt.message 10set message_cachedir = ~/.cache/mutt.message
11set edit_headers = yes 11set edit_headers = yes
12set mailcap_path = ~/.config/mutt/mailcap 12set mailcap_path = ~/.config/mutt/mailcap
13set recall = no
13 14
14# This allows to reply with "To: " in header 15# This allows to reply with "To: " in header
15set reverse_name = yes 16set reverse_name = yes
@@ -31,6 +32,7 @@ set my_keep_lines2 = 12
31set pager_index_lines = $my_keep_lines1 32set pager_index_lines = $my_keep_lines1
32set markers = no # Remove '+' for long links with limited terminal width 33set markers = no # Remove '+' for long links with limited terminal width
33# set reply_with_xorig = true 34# set reply_with_xorig = true
35set text_flowed = yes
34 36
35# Index format 37# Index format
36#set index_format = "%4C %8Y %Z %(%b %d) %-15.15L (%?l?%4l&%4c?) %s" 38#set index_format = "%4C %8Y %Z %(%b %d) %-15.15L (%?l?%4l&%4c?) %s"
@@ -51,7 +53,9 @@ macro pager l "v/(html|zip)<Return>xq<Return>" "Open html file"
51# Vim-style key binding, \c means Ctrl 53# Vim-style key binding, \c means Ctrl
52macro index,pager c '<change-folder>=' 54macro index,pager c '<change-folder>='
53macro index q '<change-folder>?' 55macro index q '<change-folder>?'
56bind attach g exit
54bind index o sort-reverse 57bind index o sort-reverse
58bind index R group-chat-reply
55bind index O sort-mailbox 59bind index O sort-mailbox
56bind index,pager <Return> sync-mailbox 60bind index,pager <Return> sync-mailbox
57bind index x tag-entry 61bind index x tag-entry
@@ -195,6 +199,7 @@ color index blue green "~N~v~(~F)" #
195color index yellow red "~v~(~D)" # thread with deleted (doesn't differentiate between all or partial) 199color index yellow red "~v~(~D)" # thread with deleted (doesn't differentiate between all or partial)
196color index magenta black "~h Stay" # marked as Stay 200color index magenta black "~h Stay" # marked as Stay
197color index lightblack black "~h Done" # marked as Done 201color index lightblack black "~h Done" # marked as Done
202color index lightblack black "~y done" # marked as Done
198 203
199# color header 204# color header
200color header green black "^(From)" 205color header green black "^(From)"
diff --git a/mutt/muttrc.topo b/mutt/muttrc.topo
index 9b2d2f1..f3e81bf 100644
--- a/mutt/muttrc.topo
+++ b/mutt/muttrc.topo
@@ -33,16 +33,18 @@ mailboxes -label 'INBOX' -poll + \
33 -poll +act\ 33 -poll +act\
34 -poll +box \ 34 -poll +box \
35 -poll +continue \ 35 -poll +continue \
36 -poll -label '[r]' +river \ 36 -poll -label '[r]iver' +river \
37 -poll -label '[h]' +hiking \ 37 -poll -label '[h]ome' +home \
38 -poll -label '[R]ecall' +recall \
38 "+-- Permanent ---" \ 39 "+-- Permanent ---" \
39 -poll -label 'de[v]' +DEV \ 40 -poll -label '[n]ews' +news \
40 -poll -label '[t]alk 🍺' +talk \ 41 -poll -label '[p]ay' +pay \
41 -poll -label '[n]ews 📰' +news \ 42 -poll -label '[t]alk' +talk \
42 -poll -label '[p]ay 💲' +pay \ 43 -poll -label '[d]ev' +zd \
43 -poll -label '[l]ogin' +login \ 44 -poll -label '[u]pdate' +update \
44 -poll -label '[u]pdate' +update \ 45 -poll -label '[l]ogin' +login \
45 -poll -label '[R]ent' +rent \ 46 -poll -label '[P]romote' +promote \
47 -poll -label '[C]omment' +comment \
46 48
47# Keybinding 49# Keybinding
48macro index,pager <f4> '<sync-mailbox><enter-command>source ~/.config/mutt/muttrc.topo<enter><change-folder>!<enter>' 50macro index,pager <f4> '<sync-mailbox><enter-command>source ~/.config/mutt/muttrc.topo<enter><change-folder>!<enter>'
@@ -58,21 +60,22 @@ macro index,pager gi "<change-folder>+<Return>" "Switch to INBOX folder"
58macro index,pager ga "<change-folder>+act<Return>" 60macro index,pager ga "<change-folder>+act<Return>"
59macro index,pager gb "<change-folder>+box<Return>" 61macro index,pager gb "<change-folder>+box<Return>"
60macro index,pager gc "<change-folder>+continue<Return>" 62macro index,pager gc "<change-folder>+continue<Return>"
61macro index,pager gd "<change-folder>+done<Return>" 63macro index,pager gD "<change-folder>+done<Return>"
62 64
63macro index,pager gt "<change-folder>+talk<Return>" 65macro index,pager gt "<change-folder>+talk<Return>"
64macro index,pager gk "<change-folder>+keep<Return>" 66macro index,pager gk "<change-folder>+keep<Return>"
65macro index,pager gn "<change-folder>+news<Return>" 67macro index,pager gn "<change-folder>+news<Return>"
66macro index,pager gh "<change-folder>+hiking<Return>" 68macro index,pager gH "<change-folder>+hiking<Return>"
67macro index,pager gp "<change-folder>+pay<Return>" 69macro index,pager gp "<change-folder>+pay<Return>"
68macro index,pager gs "<change-folder>+Sent<Return>" 70macro index,pager gs "<change-folder>+Sent<Return>"
69macro index,pager gr "<change-folder>+river<Return>" 71macro index,pager gr "<change-folder>+river<Return>"
70macro index,pager gv "<change-folder>+DEV<Return>" 72macro index,pager gR "<change-folder>+recall<Return>"
73macro index,pager gd "<change-folder>+zd<Return>"
71macro index,pager gu "<change-folder>+update<Return>" 74macro index,pager gu "<change-folder>+update<Return>"
75macro index,pager gh "<change-folder>+home<Return>"
72 76
73macro index,pager gP "<change-folder>+MISC/promote<Return>" 77macro index,pager gP "<change-folder>+promote<Return>"
74macro index,pager gT "<change-folder>+Trash<Return>" 78macro index,pager gT "<change-folder>+Trash<Return>"
75macro index,pager gl "<change-folder>+login<Return>" 79macro index,pager gl "<change-folder>+login<Return>"
76macro index,pager gf "<change-folder>+feedback<Return>" 80macro index,pager gf "<change-folder>+feedback<Return>"
77macro index,pager gR "<change-folder>+rent<Return>" 81macro index,pager gC "<change-folder>+comment<Return>"
78macro index,pager gS "<change-folder>+spam<Return>"
diff --git a/profile b/profile
index 3950fb7..03b8f9b 100644
--- a/profile
+++ b/profile
@@ -1,6 +1,7 @@
1# trap 'exit.sh' EXIT 1# trap 'exit.sh' EXIT
2 2
3export PATH=~/.local/bin:$PATH 3export PATH=~/.local/bin:$PATH
4export PATH=~/go/bin:$PATH
4export SETTING_DIR=${SETTING_DIR:=$HOME/helper} 5export SETTING_DIR=${SETTING_DIR:=$HOME/helper}
5export TERM=xterm-256color 6export TERM=xterm-256color
6export XDG_CONFIG_HOME=~/.config 7export XDG_CONFIG_HOME=~/.config
diff --git a/snippets/gitconfig_receive_deny b/snippets/gitconfig_receive_deny
new file mode 100644
index 0000000..a616427
--- /dev/null
+++ b/snippets/gitconfig_receive_deny
@@ -0,0 +1,2 @@
1[receive]
2 denyCurrentBranch = false
diff --git a/snippets/html_template_map_leaderline b/snippets/html_template_map_leaderline
index afcec6d..02affef 100644
--- a/snippets/html_template_map_leaderline
+++ b/snippets/html_template_map_leaderline
@@ -5,12 +5,12 @@
5 <meta charset='utf-8'> 5 <meta charset='utf-8'>
6 <title>Leader Line with Markdown</title> 6 <title>Leader Line with Markdown</title>
7 7
8 <meta property="og:description" content="Add a default marker to the map." /> 8 <meta property="og:description" content="門牌分布地圖" />
9 <meta name="viewport" content="width=device-width, initial-scale=1"> 9 <meta name="viewport" content="width=device-width, initial-scale=1">
10 10
11 <link rel='stylesheet' href='https://unpkg.com/maplibre-gl@4.5.2/dist/maplibre-gl.css' /> 11 <link rel='stylesheet' href='https://unpkg.com/maplibre-gl@5.4.0/dist/maplibre-gl.css' />
12 12
13 <script src='https://unpkg.com/maplibre-gl@4.5.2/dist/maplibre-gl.js'></script> 13 <script src='https://unpkg.com/maplibre-gl@5.4.0/dist/maplibre-gl.js'></script>
14 <script src='https://cdnjs.cloudflare.com/ajax/libs/leader-line/1.0.7/leader-line.min.js'></script> 14 <script src='https://cdnjs.cloudflare.com/ajax/libs/leader-line/1.0.7/leader-line.min.js'></script>
15 <script src='https://cdnjs.cloudflare.com/ajax/libs/marked/14.0.0/marked.min.js'></script> 15 <script src='https://cdnjs.cloudflare.com/ajax/libs/marked/14.0.0/marked.min.js'></script>
16 <style> 16 <style>
@@ -26,12 +26,13 @@
26 #markdown { 26 #markdown {
27 height: 100%; 27 height: 100%;
28 } 28 }
29 29 #map {
30 #map, 30 flex: 70%;
31 }
31 #markdown { 32 #markdown {
32 flex: 50%; 33 flex: 30%;
34 padding: 0.5em 1em;
33 } 35 }
34
35 pre { 36 pre {
36 display: none; 37 display: none;
37 } 38 }
diff --git a/tigrc b/tigrc
index 1641d2e..2e2863e 100644
--- a/tigrc
+++ b/tigrc
@@ -224,8 +224,8 @@ bind blob m >tig --follow -- %(file)
224 224
225# }}} 225# }}}
226# status view {{{ 226# status view {{{
227bind status j :/^[MCADRUT?] 227bind status j :/^[MADRT?]
228bind status k :?^[MCADRUT?] 228bind status k :?^[MADRT?]
229 229
230# use vscode to edit a file 230# use vscode to edit a file
231bind status E !>code %(file) 231bind status E !>code %(file)
diff --git a/misc/tmux.conf b/tmux/tmux.conf
index 1ddc877..1ddc877 100644
--- a/misc/tmux.conf
+++ b/tmux/tmux.conf
diff --git a/web/bookmarklet/contextmenu b/web/bookmarklet/contextmenu
new file mode 100644
index 0000000..8bdf4c6
--- /dev/null
+++ b/web/bookmarklet/contextmenu
@@ -0,0 +1 @@
javascript:(function(w){ var arr = ['contextmenu','copy','cut','paste','mousedown','mouseup','beforeunload','beforeprint']; for(var i = 0, x; x = arr[i]; i++){ if(w['on' + x])w['on' + x] = null; w.addEventListener(x, function(e){e.stopPropagation()}, true); }; for(var j = 0, f; f = w.frames[j]; j++){try{arguments.callee(f)}catch(e){}}})(window);