diff options
| author | Hsieh Chin Fan <pham@topo.tw> | 2024-08-15 20:56:51 +0800 |
|---|---|---|
| committer | Hsieh Chin Fan <pham@topo.tw> | 2024-08-15 20:56:51 +0800 |
| commit | 780d2bca89b769bc6a1b8d3dbe22a6bb4616f733 (patch) | |
| tree | 014a7df39f7df78a2bc1f05d861c6d9b03d0db60 | |
| parent | 5053d2e031ed63f4ef4c5fd6f7d18a217e1654b7 (diff) | |
Update
| -rw-r--r-- | snippets/html_script | 1 | ||||
| -rw-r--r-- | snippets/html_template_map_leaderline | 135 | ||||
| -rw-r--r-- | vim/init/config.vim | 2 | ||||
| -rw-r--r-- | vim/init/keymaps.vim | 6 | ||||
| -rw-r--r-- | vim/mini.lua | 102 |
5 files changed, 191 insertions, 55 deletions
diff --git a/snippets/html_script b/snippets/html_script new file mode 100644 index 0000000..f975727 --- /dev/null +++ b/snippets/html_script | |||
| @@ -0,0 +1 @@ | |||
| <script src="./index.js"></script> | |||
diff --git a/snippets/html_template_map_leaderline b/snippets/html_template_map_leaderline new file mode 100644 index 0000000..afcec6d --- /dev/null +++ b/snippets/html_template_map_leaderline | |||
| @@ -0,0 +1,135 @@ | |||
| 1 | <!DOCTYPE html> | ||
| 2 | <html lang="en"> | ||
| 3 | |||
| 4 | <head> | ||
| 5 | <meta charset='utf-8'> | ||
| 6 | <title>Leader Line with Markdown</title> | ||
| 7 | |||
| 8 | <meta property="og:description" content="Add a default marker to the map." /> | ||
| 9 | <meta name="viewport" content="width=device-width, initial-scale=1"> | ||
| 10 | |||
| 11 | <link rel='stylesheet' href='https://unpkg.com/maplibre-gl@4.5.2/dist/maplibre-gl.css' /> | ||
| 12 | |||
| 13 | <script src='https://unpkg.com/maplibre-gl@4.5.2/dist/maplibre-gl.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> | ||
| 16 | <style> | ||
| 17 | body { | ||
| 18 | margin: 0; | ||
| 19 | padding: 0; | ||
| 20 | display: flex; | ||
| 21 | } | ||
| 22 | |||
| 23 | html, | ||
| 24 | body, | ||
| 25 | #map, | ||
| 26 | #markdown { | ||
| 27 | height: 100%; | ||
| 28 | } | ||
| 29 | |||
| 30 | #map, | ||
| 31 | #markdown { | ||
| 32 | flex: 50%; | ||
| 33 | } | ||
| 34 | |||
| 35 | pre { | ||
| 36 | display: none; | ||
| 37 | } | ||
| 38 | </style> | ||
| 39 | </head> | ||
| 40 | |||
| 41 | <body> | ||
| 42 | <div id="map"></div> | ||
| 43 | <div id="markdown"></div> | ||
| 44 | <pre id="markdown-raw"># Some Markdown rendered Content | ||
| 45 | [Place 1] | ||
| 46 | |||
| 47 | ## Title 2 | ||
| 48 | |||
| 49 | - item | ||
| 50 | - subitem | ||
| 51 | - subusb | ||
| 52 | |||
| 53 | Text before link [Place 2] | ||
| 54 |  | ||
| 55 | |||
| 56 | [Place 1]: geo:12.55,55.66 | ||
| 57 | [Place 2]: geo:13,55.8 | ||
| 58 | </pre> | ||
| 59 | |||
| 60 | <script> | ||
| 61 | const map = new maplibregl.Map({ | ||
| 62 | container: 'map', | ||
| 63 | style: | ||
| 64 | 'https://raw.githubusercontent.com/maplibre/demotiles/gh-pages/style.json', | ||
| 65 | center: [12.550343, 55.665957], | ||
| 66 | zoom: 8 | ||
| 67 | }); | ||
| 68 | |||
| 69 | document.getElementById('markdown').innerHTML = marked.parse(document.getElementById('markdown-raw').innerHTML); | ||
| 70 | |||
| 71 | const links = Array.from(document.querySelectorAll('#markdown a')) | ||
| 72 | links.forEach(link => { | ||
| 73 | let location = link.href.split('geo:')[1] | ||
| 74 | let lon = Number(location.split(',')[0]) | ||
| 75 | let lat = Number(location.split(',')[1]) | ||
| 76 | link.marker = new maplibregl.Marker() | ||
| 77 | .setLngLat([lon, lat]) | ||
| 78 | .addTo(map) | ||
| 79 | .getElement() | ||
| 80 | |||
| 81 | link.line = new LeaderLine( | ||
| 82 | link, | ||
| 83 | // LeaderLine.mouseHoverAnchor(link), | ||
| 84 | // line.marker.getElement(), | ||
| 85 | LeaderLine.areaAnchor(link.marker, 'circle'), | ||
| 86 | { | ||
| 87 | middleLabel: LeaderLine.captionLabel('MIDDLE'), | ||
| 88 | offset: [-20, 0], | ||
| 89 | startSocket: 'auto', | ||
| 90 | } | ||
| 91 | ) | ||
| 92 | link.line.hide() | ||
| 93 | |||
| 94 | link.visibility = false | ||
| 95 | |||
| 96 | link.addEventListener("click", (event) => { | ||
| 97 | link.visibility ? link.line.hide() : link.line.show() | ||
| 98 | // if (link.visibility) { | ||
| 99 | // link.line.hide() | ||
| 100 | // } | ||
| 101 | // else { | ||
| 102 | // link.line.show() | ||
| 103 | // } | ||
| 104 | link.visibility = !link.visibility | ||
| 105 | }) | ||
| 106 | }) | ||
| 107 | |||
| 108 | function isChildOutsideParent(childElement, parentElement) { | ||
| 109 | // 获取边界框信息 | ||
| 110 | const childRect = childElement.getBoundingClientRect(); | ||
| 111 | const parentRect = parentElement.getBoundingClientRect(); | ||
| 112 | |||
| 113 | return ( | ||
| 114 | childRect.left < parentRect.left || | ||
| 115 | childRect.right > parentRect.right || | ||
| 116 | childRect.top < parentRect.top || | ||
| 117 | childRect.bottom > parentRect.bottom | ||
| 118 | ); | ||
| 119 | } | ||
| 120 | map.on('move', () => { | ||
| 121 | links.forEach(link => { | ||
| 122 | if (isChildOutsideParent(link.marker, map.getCanvas())) { | ||
| 123 | link.line.hide() | ||
| 124 | return | ||
| 125 | } else { | ||
| 126 | if (link.visibility) link.line.show() | ||
| 127 | } | ||
| 128 | link.line.position() | ||
| 129 | }) | ||
| 130 | }) | ||
| 131 | |||
| 132 | </script> | ||
| 133 | </body> | ||
| 134 | |||
| 135 | </html> | ||
diff --git a/vim/init/config.vim b/vim/init/config.vim index de7ee22..74cbd39 100644 --- a/vim/init/config.vim +++ b/vim/init/config.vim | |||
| @@ -24,7 +24,7 @@ augroup TerminalSize | |||
| 24 | endif | 24 | endif |
| 25 | endfunc | 25 | endfunc |
| 26 | autocmd VimEnter,VimResized * silent call LayoutForSmallTerminal(20) | 26 | autocmd VimEnter,VimResized * silent call LayoutForSmallTerminal(20) |
| 27 | autocmd VimLeave * if g:alacritty_extra_padding | call ToggleWinPadding() | endif | 27 | autocmd VimLeave,VimSuspend * if g:alacritty_extra_padding | silent call ToggleWinPadding(100) | endif |
| 28 | augroup END | 28 | augroup END |
| 29 | 29 | ||
| 30 | " }}} | 30 | " }}} |
diff --git a/vim/init/keymaps.vim b/vim/init/keymaps.vim index a6f75e5..c0af8c8 100644 --- a/vim/init/keymaps.vim +++ b/vim/init/keymaps.vim | |||
| @@ -756,9 +756,9 @@ nnoremap <leader><leader>rtp :Redir echo &rtp<CR>:s/,/\r/g<CR> | |||
| 756 | 756 | ||
| 757 | let g:tig_explorer_keymap_commit_split = '<C-s>' | 757 | let g:tig_explorer_keymap_commit_split = '<C-s>' |
| 758 | let g:tig_explorer_keymap_commit_vsplit = '<C-v>' | 758 | let g:tig_explorer_keymap_commit_vsplit = '<C-v>' |
| 759 | nnoremap <C-t> <Cmd>Tig<CR> | 759 | nnoremap <C-t> <Cmd>silent! Tig<CR> |
| 760 | nnoremap <C-t>s <Cmd>TigStatus<CR> | 760 | nnoremap <C-t>s <Cmd>silent! TigStatus<CR> |
| 761 | nnoremap <C-t>b <Cmd>TigBlame<CR> | 761 | nnoremap <C-t>b <Cmd>silent! TigBlame<CR> |
| 762 | 762 | ||
| 763 | " }}} | 763 | " }}} |
| 764 | " Tmp: Common system command {{{ | 764 | " Tmp: Common system command {{{ |
diff --git a/vim/mini.lua b/vim/mini.lua index 6f7ba57..92f9efe 100644 --- a/vim/mini.lua +++ b/vim/mini.lua | |||
| @@ -983,24 +983,24 @@ require("lazy").setup({ | |||
| 983 | end, | 983 | end, |
| 984 | }, | 984 | }, |
| 985 | -- }}} | 985 | -- }}} |
| 986 | -- markview.nvim {{{ | 986 | -- -- markview.nvim {{{ |
| 987 | { | 987 | -- { |
| 988 | "OXY2DEV/markview.nvim", | 988 | -- "OXY2DEV/markview.nvim", |
| 989 | lazy = false, | 989 | -- lazy = false, |
| 990 | ft = "markdown", | 990 | -- ft = "markdown", |
| 991 | 991 | -- | |
| 992 | dependencies = { | 992 | -- dependencies = { |
| 993 | -- You may not need this if you don't lazy load | 993 | -- -- You may not need this if you don't lazy load |
| 994 | -- Or if the parsers are in your $RUNTIMEPATH | 994 | -- -- Or if the parsers are in your $RUNTIMEPATH |
| 995 | "nvim-treesitter/nvim-treesitter", | 995 | -- "nvim-treesitter/nvim-treesitter", |
| 996 | 996 | -- | |
| 997 | "nvim-tree/nvim-web-devicons" | 997 | -- "nvim-tree/nvim-web-devicons" |
| 998 | }, | 998 | -- }, |
| 999 | config = function() | 999 | -- config = function() |
| 1000 | vim.keymap.set('n', '\\m', ":Markview<CR>", { buffer = bufnr, desc = '' }) | 1000 | -- vim.keymap.set('n', '\\m', ":Markview<CR>", { buffer = bufnr, desc = '' }) |
| 1001 | end | 1001 | -- end |
| 1002 | }, | 1002 | -- }, |
| 1003 | -- }}} | 1003 | -- -- }}} |
| 1004 | 1004 | ||
| 1005 | -- lspconfig {{{ | 1005 | -- lspconfig {{{ |
| 1006 | -- Use :help lspconfig-all to check servers | 1006 | -- Use :help lspconfig-all to check servers |
| @@ -1412,39 +1412,39 @@ require("lazy").setup({ | |||
| 1412 | }, | 1412 | }, |
| 1413 | 1413 | ||
| 1414 | -- }}} | 1414 | -- }}} |
| 1415 | -- lspsaga {{{ | 1415 | -- -- lspsaga {{{ |
| 1416 | { | 1416 | -- { |
| 1417 | 'nvimdev/lspsaga.nvim', | 1417 | -- 'nvimdev/lspsaga.nvim', |
| 1418 | dependencies = { | 1418 | -- dependencies = { |
| 1419 | 'nvim-treesitter/nvim-treesitter', -- optional | 1419 | -- 'nvim-treesitter/nvim-treesitter', -- optional |
| 1420 | 'nvim-tree/nvim-web-devicons', -- optional | 1420 | -- 'nvim-tree/nvim-web-devicons', -- optional |
| 1421 | }, | 1421 | -- }, |
| 1422 | config = function() | 1422 | -- config = function() |
| 1423 | require('lspsaga').setup({ | 1423 | -- require('lspsaga').setup({ |
| 1424 | autochdir = true, | 1424 | -- autochdir = true, |
| 1425 | }) | 1425 | -- }) |
| 1426 | vim.api.nvim_create_autocmd("LspAttach", { | 1426 | -- vim.api.nvim_create_autocmd("LspAttach", { |
| 1427 | group = custom_autocommands, | 1427 | -- group = custom_autocommands, |
| 1428 | pattern = "*", | 1428 | -- pattern = "*", |
| 1429 | callback = function(args) | 1429 | -- callback = function(args) |
| 1430 | local map = vim.api.nvim_buf_set_keymap | 1430 | -- local map = vim.api.nvim_buf_set_keymap |
| 1431 | map(0, "n", "gd", "<cmd>Lspsaga goto_definition<cr>", { silent = true, noremap = true }) | 1431 | -- map(0, "n", "gd", "<cmd>Lspsaga goto_definition<cr>", { silent = true, noremap = true }) |
| 1432 | map(0, "n", "gR", "<cmd>Lspsaga rename<cr>", { silent = true, noremap = true }) | 1432 | -- map(0, "n", "gR", "<cmd>Lspsaga rename<cr>", { silent = true, noremap = true }) |
| 1433 | map(0, "n", "gx", "<cmd>Lspsaga code_action<cr>", { silent = true, noremap = true }) | 1433 | -- map(0, "n", "gx", "<cmd>Lspsaga code_action<cr>", { silent = true, noremap = true }) |
| 1434 | map(0, "x", "gx", ":<c-u>Lspsaga range_code_action<cr>", { silent = true, noremap = true }) | 1434 | -- map(0, "x", "gx", ":<c-u>Lspsaga range_code_action<cr>", { silent = true, noremap = true }) |
| 1435 | map(0, "n", "K", "<cmd>Lspsaga hover_doc<cr>", { silent = true, noremap = true }) | 1435 | -- map(0, "n", "K", "<cmd>Lspsaga hover_doc<cr>", { silent = true, noremap = true }) |
| 1436 | map(0, "n", "go", "<cmd>Lspsaga show_line_diagnostics<cr>", { silent = true, noremap = true }) | 1436 | -- map(0, "n", "go", "<cmd>Lspsaga show_line_diagnostics<cr>", { silent = true, noremap = true }) |
| 1437 | map(0, "n", "gj", "<cmd>Lspsaga diagnostic_jump_next<cr>", { silent = true, noremap = true }) | 1437 | -- map(0, "n", "gj", "<cmd>Lspsaga diagnostic_jump_next<cr>", { silent = true, noremap = true }) |
| 1438 | map(0, "n", "gk", "<cmd>Lspsaga diagnostic_jump_prev<cr>", { silent = true, noremap = true }) | 1438 | -- map(0, "n", "gk", "<cmd>Lspsaga diagnostic_jump_prev<cr>", { silent = true, noremap = true }) |
| 1439 | 1439 | -- | |
| 1440 | -- Don't know why... Everytime when modeline is set and insert a single char | 1440 | -- -- Don't know why... Everytime when modeline is set and insert a single char |
| 1441 | -- while inside a fold, the fold closes. | 1441 | -- -- while inside a fold, the fold closes. |
| 1442 | vim.opt_local.modeline = false | 1442 | -- vim.opt_local.modeline = false |
| 1443 | end, | 1443 | -- end, |
| 1444 | }) | 1444 | -- }) |
| 1445 | end | 1445 | -- end |
| 1446 | }, | 1446 | -- }, |
| 1447 | -- }}} | 1447 | -- -- }}} |
| 1448 | -- -- conform {{{ | 1448 | -- -- conform {{{ |
| 1449 | -- { | 1449 | -- { |
| 1450 | -- "stevearc/conform.nvim", | 1450 | -- "stevearc/conform.nvim", |